@kontur.candy/tools 2.153.0 → 2.155.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 (272) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/distr/Common/AsyncUtils.js +1 -3
  3. package/distr/Common/CandyApiClient/CandyApiClient.js +25 -138
  4. package/distr/Common/CandyApiClient/CandyApiClientContext.js +1 -8
  5. package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +1 -1
  6. package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +1 -1
  7. package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +1 -2
  8. package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +1 -1
  9. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +1 -16
  10. package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +1 -12
  11. package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +1 -12
  12. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +1 -1
  13. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +1 -13
  14. package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +1 -3
  15. package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +1 -1
  16. package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +1 -8
  17. package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +1 -7
  18. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +9 -12
  19. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +1 -1
  20. package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestResponse.js +1 -1
  21. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +4 -72
  22. package/distr/Common/CandyApiClient/ICandyApiClient.js +1 -1
  23. package/distr/Common/CandyApiClient/IsBuffer.js +1 -2
  24. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +1 -1
  25. package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +1 -1
  26. package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +1 -1
  27. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +1 -1
  28. package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +1 -1
  29. package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +12 -7
  30. package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +1 -1
  31. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +1 -1
  32. package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +1 -3
  33. package/distr/Common/CandyApiClient/Types/DraftFullId.js +1 -1
  34. package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +5 -6
  35. package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +9 -12
  36. package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +5 -6
  37. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +1 -1
  38. package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +1 -1
  39. package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +5 -6
  40. package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +1 -1
  41. package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +1 -3
  42. package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +1 -1
  43. package/distr/Common/CandyApiClient/Types/Guid.js +1 -1
  44. package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +1 -1
  45. package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +1 -1
  46. package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +6 -0
  47. package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +5 -6
  48. package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +1 -1
  49. package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +1 -1
  50. package/distr/Common/CandyApiClient/Types/Print/PrintType.js +5 -6
  51. package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +1 -1
  52. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +1 -1
  53. package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +1 -1
  54. package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +1 -1
  55. package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +1 -1
  56. package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +5 -6
  57. package/distr/Common/CandyApiClient/Types/TestClassification.js +1 -1
  58. package/distr/Common/CollectionUtils.js +1 -3
  59. package/distr/Common/CommonConstants/SectionNames.js +1 -3
  60. package/distr/Common/Comparers.js +2 -16
  61. package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +1 -5
  62. package/distr/Common/EndPoints.js +1 -2
  63. package/distr/Common/Enums/ButtonSettingsTypeEnum.js +5 -6
  64. package/distr/Common/Errors.js +1 -19
  65. package/distr/Common/FormActionHandlers/ContextualActionNames.js +1 -3
  66. package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +1 -1
  67. package/distr/Common/Funcs.js +1 -5
  68. package/distr/Common/GFV.js +1 -1
  69. package/distr/Common/Hooks/UseLocalStorage.js +3 -10
  70. package/distr/Common/HttpClient/AuthenticationMode.js +3 -7
  71. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +1 -3
  72. package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +1 -3
  73. package/distr/Common/HttpClient/FetchImplementation/Fetch.js +1 -1
  74. package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +1 -1
  75. package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +6 -11
  76. package/distr/Common/HttpClient/HttpClient.js +9 -80
  77. package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +1 -1
  78. package/distr/Common/HttpClient/IHttpClient.js +1 -1
  79. package/distr/Common/IndentString.js +1 -3
  80. package/distr/Common/IntRangeUtils.js +3 -10
  81. package/distr/Common/IterableUtils.js +3 -76
  82. package/distr/Common/KCLangRuntimeUtils.js +1 -87
  83. package/distr/Common/ModelPath/BuildIterationSequence.js +1 -5
  84. package/distr/Common/ModelPath/EachCurrentCollision.js +5 -6
  85. package/distr/Common/ModelPath/IEquatable.js +1 -1
  86. package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +1 -8
  87. package/distr/Common/ModelPath/Map/Map2.js +2 -24
  88. package/distr/Common/ModelPath/Map/ModelPathMap.js +1 -8
  89. package/distr/Common/ModelPath/ModelPath.js +16 -140
  90. package/distr/Common/ModelPath/ModelPathBuilder.js +1 -14
  91. package/distr/Common/ModelPath/ModelPathHelper.js +1 -2
  92. package/distr/Common/ModelPath/PathMatcher.js +5 -24
  93. package/distr/Common/ModelPath/PathSplitHelper.js +1 -6
  94. package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +1 -10
  95. package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +1 -10
  96. package/distr/Common/ModelPath/Set/ModelPathSet.js +1 -10
  97. package/distr/Common/ModelPath/Set/Set2.js +1 -16
  98. package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +1 -9
  99. package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +1 -1
  100. package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +1 -3
  101. package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +1 -17
  102. package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +1 -30
  103. package/distr/Common/NidusClient/INidusClient.js +1 -3
  104. package/distr/Common/NidusClient/NidusClientContext.js +1 -14
  105. package/distr/Common/NidusClient/NidusClientImpl.js +1 -18
  106. package/distr/Common/PathConstants.js +1 -3
  107. package/distr/Common/StringArrayKey.js +1 -8
  108. package/distr/Common/TypingUtils.js +7 -26
  109. package/distr/Common/UUID.js +1 -4
  110. package/distr/Common/UseAsyncEffect.js +3 -7
  111. package/distr/Common/UseShowOnce.js +1 -17
  112. package/distr/Common/UseTypedSelector.js +1 -3
  113. package/distr/Common/getRngSchemaFilename.js +18 -0
  114. package/distr/Common/hashUtils.js +1 -4
  115. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +1 -23
  116. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +3 -10
  117. package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +1 -10
  118. package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +5 -23
  119. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +1 -27
  120. package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +1 -2
  121. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +3 -10
  122. package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +1 -9
  123. package/distr/Tools/src/BuildTasks/FSTask.js +1 -19
  124. package/distr/Tools/src/BuildTasks/Form/CompileForm.js +1 -19
  125. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +1 -16
  126. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +1 -11
  127. package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +1 -10
  128. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +1 -10
  129. package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +1 -10
  130. package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +5 -26
  131. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +1 -38
  132. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +2 -42
  133. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +4 -39
  134. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +4 -7
  135. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +4 -10
  136. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +9 -17
  137. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +3 -5
  138. package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +1 -13
  139. package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +1 -20
  140. package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +3 -48
  141. package/distr/Tools/src/BuildTasks/ReadFormSource.js +7 -32
  142. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +5 -32
  143. package/distr/Tools/src/BuildTasks/Version.js +1 -10
  144. package/distr/Tools/src/BuildTasks/WriteFormMeta.js +1 -10
  145. package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +5 -9
  146. package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +1 -5
  147. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +22 -71
  148. package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +1 -12
  149. package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +1 -5
  150. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +1 -67
  151. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +3 -28
  152. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +3 -41
  153. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +3 -23
  154. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +3 -20
  155. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +1 -23
  156. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +1 -37
  157. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +1 -13
  158. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +1 -40
  159. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +8 -49
  160. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +1 -13
  161. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +1 -17
  162. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +1 -4
  163. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +10 -19
  164. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +12 -26
  165. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +1 -5
  166. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +1 -1
  167. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +1 -1
  168. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +10 -44
  169. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +1 -17
  170. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +1 -5
  171. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +1 -1
  172. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +1 -27
  173. package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +11 -16
  174. package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +1 -1
  175. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +1 -1
  176. package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +1 -1
  177. package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +1 -4
  178. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +13 -34
  179. package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +1 -4
  180. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +1 -15
  181. package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +3 -19
  182. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/autocalc/{gfv}.calc.js +1 -2
  183. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/helpers/setKppValue.js +1 -2
  184. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +1 -6
  185. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +1 -11
  186. package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/validations/kppValue.js +3 -4
  187. package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +1 -4
  188. package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +1 -23
  189. package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +1 -4
  190. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +7 -23
  191. package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +26 -0
  192. package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +48 -0
  193. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +1 -37
  194. package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +1 -4
  195. package/distr/Tools/src/CandyCLI.js +7 -56
  196. package/distr/Tools/src/CheckNodeJsVersion.js +3 -10
  197. package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +1 -10
  198. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +4 -29
  199. package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +1 -6
  200. package/distr/Tools/src/Commons/ErrorUntyped.js +1 -1
  201. package/distr/Tools/src/Commons/EventObject.js +10 -20
  202. package/distr/Tools/src/Commons/ExecUtils.js +3 -9
  203. package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +1 -7
  204. package/distr/Tools/src/Commons/FormGlobsUtils.js +1 -33
  205. package/distr/Tools/src/Commons/FsUtils.js +1 -12
  206. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +1 -8
  207. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +4 -15
  208. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +1 -4
  209. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +1 -5
  210. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +1 -1
  211. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +1 -4
  212. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +1 -5
  213. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +2 -5
  214. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +1 -5
  215. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +1 -14
  216. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +1 -4
  217. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +1 -5
  218. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +1 -4
  219. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +1 -4
  220. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +1 -1
  221. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +1 -4
  222. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +1 -4
  223. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +1 -36
  224. package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +1 -9
  225. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +5 -35
  226. package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +9 -11
  227. package/distr/Tools/src/Commons/Locks/Lock.js +1 -8
  228. package/distr/Tools/src/Commons/Locks/LockHandle.js +1 -5
  229. package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +1 -9
  230. package/distr/Tools/src/Commons/Logging/ELKLogger.js +17 -22
  231. package/distr/Tools/src/Commons/Logging/ILogger.js +1 -5
  232. package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +3 -21
  233. package/distr/Tools/src/Commons/Logging/Logger.js +9 -29
  234. package/distr/Tools/src/Commons/Logging/StaticLogger.js +11 -15
  235. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +1 -1
  236. package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +3 -37
  237. package/distr/Tools/src/Commons/PathPattern.js +1 -13
  238. package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +1 -4
  239. package/distr/Tools/src/Commons/TasksCore/BuildTask.js +1 -1
  240. package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +13 -200
  241. package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +1 -20
  242. package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +7 -10
  243. package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +1 -15
  244. package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +1 -15
  245. package/distr/Tools/src/Commons/TasksCore/Observe.js +1 -13
  246. package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +5 -11
  247. package/distr/Tools/src/Commons/TimingUtils.js +1 -2
  248. package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +13 -51
  249. package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +4 -14
  250. package/distr/Tools/src/GenerateReadMe.js +1 -13
  251. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
  252. package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +10 -1
  253. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  254. package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +10 -1
  255. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  256. package/distr/Tools/src/Options/CandyToolOptions.js +3 -11
  257. package/distr/Tools/src/ReadFarmConfig.js +1 -5
  258. package/distr/Tools/src/SelfUpdate.js +4 -28
  259. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +1506 -1257
  260. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.LICENSE.txt +1 -0
  261. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
  262. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +843 -623
  263. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.LICENSE.txt +1 -0
  264. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
  265. package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +777 -1117
  266. package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +1665 -2015
  267. package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +9 -55
  268. package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +777 -1117
  269. package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +1665 -2015
  270. package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +9 -55
  271. package/package.json +10 -10
  272. /package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/schemas/{{gfv}.rng.xml → {gfv}.0.rng.xml} +0 -0
@@ -1,30 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.BuildServerClientJsFromResourcesController = void 0;
9
-
10
8
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
11
-
12
9
  var path = _interopRequireWildcard(require("path"));
13
-
14
10
  var _Methods = require("../../../Commons/HttpServer/AttributeRouting/Methods");
15
-
16
11
  var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
17
-
18
12
  var _StreamResultHandler = require("../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler");
19
-
20
13
  var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
21
-
22
14
  var _dec, _dec2, _dec3, _dec4, _class;
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  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; }
27
-
28
17
  const defaultOptions = {
29
18
  frontEndDevMode: false,
30
19
  devServerUrl: "http://localhost:8081"
@@ -35,16 +24,15 @@ let BuildServerClientJsFromResourcesController = (_dec = (0, _Methods.httpGet)("
35
24
  this.options = void 0;
36
25
  this.disableClientOverride = void 0;
37
26
  this.disableClientOverride = disableClientOverride;
38
- this.options = { ...defaultOptions,
27
+ this.options = {
28
+ ...defaultOptions,
39
29
  ...options
40
30
  };
41
31
  }
42
-
43
32
  async getClientJsScript() {
44
33
  if (this.disableClientOverride) {
45
34
  return new _StreamResultHandler.FileStreamResult(path.join(__dirname, "..", "..", "..", "StaticFilesForProductionResourcesDir", "client.js"));
46
35
  }
47
-
48
36
  try {
49
37
  if (this.options.frontEndDevMode) {
50
38
  return new _StreamResultHandler.ProxyGetRequestToResult(`${this.options.devServerUrl}/forms-helper/enhancedClient.js`);
@@ -55,12 +43,10 @@ let BuildServerClientJsFromResourcesController = (_dec = (0, _Methods.httpGet)("
55
43
  return new _StreamResultHandler.FileStreamResult(path.join(__dirname, "..", "..", "..", "StaticFilesForProductionResourcesDir", "client.js"));
56
44
  }
57
45
  }
58
-
59
46
  async getClientMinJsScript() {
60
47
  if (this.disableClientOverride) {
61
48
  return new _StreamResultHandler.FileStreamResult(path.join(__dirname, "..", "..", "..", "StaticFilesForProductionResourcesDir", "client.min.js"));
62
49
  }
63
-
64
50
  try {
65
51
  if (this.options.frontEndDevMode) {
66
52
  return new _StreamResultHandler.ProxyGetRequestToResult(`${this.options.devServerUrl}/forms-helper/enhancedClient.js`);
@@ -71,15 +57,12 @@ let BuildServerClientJsFromResourcesController = (_dec = (0, _Methods.httpGet)("
71
57
  return new _StreamResultHandler.FileStreamResult(path.join(__dirname, "..", "..", "..", "StaticFilesForProductionResourcesDir", "client.min.js"));
72
58
  }
73
59
  }
74
-
75
60
  async getClientJsScriptOriginal() {
76
61
  return new _StreamResultHandler.FileStreamResult(path.join(__dirname, "..", "..", "..", "StaticFilesForProductionResourcesDir", "client.js"));
77
62
  }
78
-
79
63
  async getClientMinJsScriptOriginal() {
80
64
  return new _StreamResultHandler.FileStreamResult(path.join(__dirname, "..", "..", "..", "StaticFilesForProductionResourcesDir", "client.min.js"));
81
65
  }
82
-
83
66
  }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getClientJsScript", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getClientJsScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getClientMinJsScript", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getClientMinJsScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getClientJsScriptOriginal", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getClientJsScriptOriginal"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getClientMinJsScriptOriginal", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getClientMinJsScriptOriginal"), _class.prototype)), _class));
84
67
  exports.BuildServerClientJsFromResourcesController = BuildServerClientJsFromResourcesController;
85
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIudHMiXSwibmFtZXMiOlsiZGVmYXVsdE9wdGlvbnMiLCJmcm9udEVuZERldk1vZGUiLCJkZXZTZXJ2ZXJVcmwiLCJCdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIiLCJodHRwUmV0dXJuIiwiU3RyZWFtV2l0aE1pbWUiLCJTaW5nbGV0b25Db250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJkaXNhYmxlQ2xpZW50T3ZlcnJpZGUiLCJvcHRpb25zIiwiZ2V0Q2xpZW50SnNTY3JpcHQiLCJGaWxlU3RyZWFtUmVzdWx0IiwicGF0aCIsImpvaW4iLCJfX2Rpcm5hbWUiLCJQcm94eUdldFJlcXVlc3RUb1Jlc3VsdCIsImUiLCJnZXRDbGllbnRNaW5Kc1NjcmlwdCIsImdldENsaWVudEpzU2NyaXB0T3JpZ2luYWwiLCJnZXRDbGllbnRNaW5Kc1NjcmlwdE9yaWdpbmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUNBOztBQUtBOzs7Ozs7OztBQVNBLE1BQU1BLGNBQXVELEdBQUc7QUFDNURDLEVBQUFBLGVBQWUsRUFBRSxLQUQyQztBQUU1REMsRUFBQUEsWUFBWSxFQUFFO0FBRjhDLENBQWhFO0lBS2FDLDBDLFdBVVIsc0JBQVEsMkJBQVIsRUFBcUNDLG9CQUFXQyxjQUFYLENBQTBCLHdCQUExQixDQUFyQyxDLFVBc0JBLHNCQUFRLCtCQUFSLEVBQXlDRCxvQkFBV0MsY0FBWCxDQUEwQix3QkFBMUIsQ0FBekMsQyxVQXNCQSxzQkFBUSxvQ0FBUixFQUE4Q0Qsb0JBQVdDLGNBQVgsQ0FBMEIsd0JBQTFCLENBQTlDLEMsVUFPQSxzQkFBUSx1Q0FBUixFQUFpREQsb0JBQVdDLGNBQVgsQ0FBMEIsd0JBQTFCLENB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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7XG4gICAgRmlsZVN0cmVhbVJlc3VsdCxcbiAgICBQcm94eUdldFJlcXVlc3RUb1Jlc3VsdCxcbiAgICBTdHJlYW1SZXR1cm5SZXN1bHQsXG59IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzL1N0cmVhbVJlc3VsdEhhbmRsZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcblxuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXJPcHRpb25zIH0gZnJvbSBcIi4vQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc09wdGlvbnMge1xuICAgIGZyb250RW5kRGV2TW9kZTogYm9vbGVhbjtcbiAgICBkZXZTZXJ2ZXJVcmw6IHN0cmluZztcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IEJ1aWxkU2VydmVyQ2xpZW50SnNGcm9tUmVzb3VyY2VzT3B0aW9ucyA9IHtcbiAgICBmcm9udEVuZERldk1vZGU6IGZhbHNlLFxuICAgIGRldlNlcnZlclVybDogXCJodHRwOi8vbG9jYWxob3N0OjgwODFcIixcbn07XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFBhcnRpYWw8QnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXJPcHRpb25zPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpc2FibGVDbGllbnRPdmVycmlkZTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkaXNhYmxlQ2xpZW50T3ZlcnJpZGU6IGJvb2xlYW4sIG9wdGlvbnM6IFBhcnRpYWw8QnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXJPcHRpb25zPikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRpc2FibGVDbGllbnRPdmVycmlkZSA9IGRpc2FibGVDbGllbnRPdmVycmlkZTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0geyAuLi5kZWZhdWx0T3B0aW9ucywgLi4ub3B0aW9ucyB9O1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9zY3JpcHRzL2NsaWVudC5qc1wiLCBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q2xpZW50SnNTY3JpcHQoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZUNsaWVudE92ZXJyaWRlKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoXG4gICAgICAgICAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCJTdGF0aWNGaWxlc0ZvclByb2R1Y3Rpb25SZXNvdXJjZXNEaXJcIiwgXCJjbGllbnQuanNcIilcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZnJvbnRFbmREZXZNb2RlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm94eUdldFJlcXVlc3RUb1Jlc3VsdChgJHt0aGlzLm9wdGlvbnMuZGV2U2VydmVyVXJsfS9mb3Jtcy1oZWxwZXIvZW5oYW5jZWRDbGllbnQuanNgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KFxuICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIkxvY2FsU2VydmVyRnJvbnRFbmREaXN0XCIsIFwiZW5oYW5jZWRDbGllbnQuanNcIilcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoXG4gICAgICAgICAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCJTdGF0aWNGaWxlc0ZvclByb2R1Y3Rpb25SZXNvdXJjZXNEaXJcIiwgXCJjbGllbnQuanNcIilcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvc2NyaXB0cy9jbGllbnQubWluLmpzXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRDbGllbnRNaW5Kc1NjcmlwdCgpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlQ2xpZW50T3ZlcnJpZGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIlN0YXRpY0ZpbGVzRm9yUHJvZHVjdGlvblJlc291cmNlc0RpclwiLCBcImNsaWVudC5taW4uanNcIilcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuZnJvbnRFbmREZXZNb2RlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm94eUdldFJlcXVlc3RUb1Jlc3VsdChgJHt0aGlzLm9wdGlvbnMuZGV2U2VydmVyVXJsfS9mb3Jtcy1oZWxwZXIvZW5oYW5jZWRDbGllbnQuanNgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KFxuICAgICAgICAgICAgICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIkxvY2FsU2VydmVyRnJvbnRFbmREaXN0XCIsIFwiZW5oYW5jZWRDbGllbnQuanNcIilcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoXG4gICAgICAgICAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCJTdGF0aWNGaWxlc0ZvclByb2R1Y3Rpb25SZXNvdXJjZXNEaXJcIiwgXCJjbGllbnQubWluLmpzXCIpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3NjcmlwdHMvY2xpZW50LW9yaWdpbmFsLmpzXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRDbGllbnRKc1NjcmlwdE9yaWdpbmFsKCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChcbiAgICAgICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiU3RhdGljRmlsZXNGb3JQcm9kdWN0aW9uUmVzb3VyY2VzRGlyXCIsIFwiY2xpZW50LmpzXCIpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCJwdWJsaWMvc2NyaXB0cy9jbGllbnQtb3JpZ2luYWwubWluLmpzXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRDbGllbnRNaW5Kc1NjcmlwdE9yaWdpbmFsKCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChcbiAgICAgICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiU3RhdGljRmlsZXNGb3JQcm9kdWN0aW9uUmVzb3VyY2VzRGlyXCIsIFwiY2xpZW50Lm1pbi5qc1wiKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX01ldGhvZHMiLCJfUmVzdWx0cyIsIl9TdHJlYW1SZXN1bHRIYW5kbGVyIiwiX1NpbmdsZXRvbkNvbnRyb2xsZXIiLCJfZGVjIiwiX2RlYzIiLCJfZGVjMyIsIl9kZWM0IiwiX2NsYXNzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImRlZmF1bHRPcHRpb25zIiwiZnJvbnRFbmREZXZNb2RlIiwiZGV2U2VydmVyVXJsIiwiQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyIiwiaHR0cEdldCIsImh0dHBSZXR1cm4iLCJTdHJlYW1XaXRoTWltZSIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImRpc2FibGVDbGllbnRPdmVycmlkZSIsIm9wdGlvbnMiLCJnZXRDbGllbnRKc1NjcmlwdCIsIkZpbGVTdHJlYW1SZXN1bHQiLCJqb2luIiwiX19kaXJuYW1lIiwiUHJveHlHZXRSZXF1ZXN0VG9SZXN1bHQiLCJlIiwiZ2V0Q2xpZW50TWluSnNTY3JpcHQiLCJnZXRDbGllbnRKc1NjcmlwdE9yaWdpbmFsIiwiZ2V0Q2xpZW50TWluSnNTY3JpcHRPcmlnaW5hbCIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IyIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBodHRwR2V0IH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL01ldGhvZHNcIjtcbmltcG9ydCB7IGh0dHBSZXR1cm4gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUmVzdWx0c1wiO1xuaW1wb3J0IHtcbiAgICBGaWxlU3RyZWFtUmVzdWx0LFxuICAgIFByb3h5R2V0UmVxdWVzdFRvUmVzdWx0LFxuICAgIFN0cmVhbVJldHVyblJlc3VsdCxcbn0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHMvU3RyZWFtUmVzdWx0SGFuZGxlclwiO1xuaW1wb3J0IHsgU2luZ2xldG9uQ29udHJvbGxlciB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvRXhwcmVzc1dyYXBwZXIvU2luZ2xldG9uQ29udHJvbGxlclwiO1xuXG5pbXBvcnQgeyBCdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlck9wdGlvbnMgfSBmcm9tIFwiLi9CdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkU2VydmVyQ2xpZW50SnNGcm9tUmVzb3VyY2VzT3B0aW9ucyB7XG4gICAgZnJvbnRFbmREZXZNb2RlOiBib29sZWFuO1xuICAgIGRldlNlcnZlclVybDogc3RyaW5nO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNPcHRpb25zID0ge1xuICAgIGZyb250RW5kRGV2TW9kZTogZmFsc2UsXG4gICAgZGV2U2VydmVyVXJsOiBcImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MVwiLFxufTtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2VydmVyQ2xpZW50SnNGcm9tUmVzb3VyY2VzQ29udHJvbGxlciBleHRlbmRzIFNpbmdsZXRvbkNvbnRyb2xsZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUGFydGlhbDxCdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlck9wdGlvbnM+O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlzYWJsZUNsaWVudE92ZXJyaWRlOiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGRpc2FibGVDbGllbnRPdmVycmlkZTogYm9vbGVhbiwgb3B0aW9uczogUGFydGlhbDxCdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlck9wdGlvbnM+KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZGlzYWJsZUNsaWVudE92ZXJyaWRlID0gZGlzYWJsZUNsaWVudE92ZXJyaWRlO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLmRlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3NjcmlwdHMvY2xpZW50LmpzXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRDbGllbnRKc1NjcmlwdCgpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlQ2xpZW50T3ZlcnJpZGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIlN0YXRpY0ZpbGVzRm9yUHJvZHVjdGlvblJlc291cmNlc0RpclwiLCBcImNsaWVudC5qc1wiKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5mcm9udEVuZERldk1vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb3h5R2V0UmVxdWVzdFRvUmVzdWx0KGAke3RoaXMub3B0aW9ucy5kZXZTZXJ2ZXJVcmx9L2Zvcm1zLWhlbHBlci9lbmhhbmNlZENsaWVudC5qc2ApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiTG9jYWxTZXJ2ZXJGcm9udEVuZERpc3RcIiwgXCJlbmhhbmNlZENsaWVudC5qc1wiKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIlN0YXRpY0ZpbGVzRm9yUHJvZHVjdGlvblJlc291cmNlc0RpclwiLCBcImNsaWVudC5qc1wiKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9zY3JpcHRzL2NsaWVudC5taW4uanNcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIikpXG4gICAgcHVibGljIGFzeW5jIGdldENsaWVudE1pbkpzU2NyaXB0KCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVDbGllbnRPdmVycmlkZSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KFxuICAgICAgICAgICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiU3RhdGljRmlsZXNGb3JQcm9kdWN0aW9uUmVzb3VyY2VzRGlyXCIsIFwiY2xpZW50Lm1pbi5qc1wiKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5mcm9udEVuZERldk1vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByb3h5R2V0UmVxdWVzdFRvUmVzdWx0KGAke3RoaXMub3B0aW9ucy5kZXZTZXJ2ZXJVcmx9L2Zvcm1zLWhlbHBlci9lbmhhbmNlZENsaWVudC5qc2ApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQoXG4gICAgICAgICAgICAgICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIFwiTG9jYWxTZXJ2ZXJGcm9udEVuZERpc3RcIiwgXCJlbmhhbmNlZENsaWVudC5qc1wiKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZVN0cmVhbVJlc3VsdChcbiAgICAgICAgICAgICAgICBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcIlN0YXRpY0ZpbGVzRm9yUHJvZHVjdGlvblJlc291cmNlc0RpclwiLCBcImNsaWVudC5taW4uanNcIilcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvc2NyaXB0cy9jbGllbnQtb3JpZ2luYWwuanNcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIikpXG4gICAgcHVibGljIGFzeW5jIGdldENsaWVudEpzU2NyaXB0T3JpZ2luYWwoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KFxuICAgICAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCJTdGF0aWNGaWxlc0ZvclByb2R1Y3Rpb25SZXNvdXJjZXNEaXJcIiwgXCJjbGllbnQuanNcIilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcInB1YmxpYy9zY3JpcHRzL2NsaWVudC1vcmlnaW5hbC5taW4uanNcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIikpXG4gICAgcHVibGljIGFzeW5jIGdldENsaWVudE1pbkpzU2NyaXB0T3JpZ2luYWwoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBGaWxlU3RyZWFtUmVzdWx0KFxuICAgICAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiLi5cIiwgXCJTdGF0aWNGaWxlc0ZvclByb2R1Y3Rpb25SZXNvdXJjZXNEaXJcIiwgXCJjbGllbnQubWluLmpzXCIpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLElBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLG9CQUFBLEdBQUFILE9BQUE7QUFLQSxJQUFBSSxvQkFBQSxHQUFBSixPQUFBO0FBQXFHLElBQUFLLElBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsTUFBQTtBQUFBLFNBQUFDLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEs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
@@ -1,32 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.BuildServerFormInfoController = void 0;
9
-
10
8
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
11
-
12
9
  var _EngineVersionUtils = require("../../../BuildTasks/EngineVersionUtils");
13
-
14
10
  var _PublishedVersionUtils = require("../../../BuildTasks/PublishedVersionUtils");
15
-
16
11
  var _ResolveFormInfo = require("../../../BuildTasks/ResolveFormInfo");
17
-
18
12
  var _Methods = require("../../../Commons/HttpServer/AttributeRouting/Methods");
19
-
20
13
  var _Params = require("../../../Commons/HttpServer/AttributeRouting/Params");
21
-
22
14
  var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
23
-
24
15
  var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
25
-
26
16
  var _FarmDirectory = require("./Directories/FarmDirectory");
27
-
28
17
  var _dec, _dec2, _class;
29
-
30
18
  let BuildServerFormInfoController = (_dec = (0, _Methods.httpGet)("/metas", _Results.httpReturn.PlainText), _dec2 = (0, _Methods.httpGet)("/metas/:gfv.metas.json", _Results.httpReturn.PlainText, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), (_class = class BuildServerFormInfoController extends _SingletonController.SingletonController {
31
19
  constructor(allFarmConfig, useEngineFromLocalSources, nightly) {
32
20
  super();
@@ -37,12 +25,10 @@ let BuildServerFormInfoController = (_dec = (0, _Methods.httpGet)("/metas", _Res
37
25
  this.allFarmDirectories = allFarmConfig.map(i => new _FarmDirectory.FarmDirectory(i.farmDirectory));
38
26
  this.useEngineFromLocalSources = useEngineFromLocalSources;
39
27
  }
40
-
41
28
  async getAllFormMetas() {
42
29
  const farmFormJsons = await Promise.all(this.allFarmDirectories.map(i => i.getAllFormJsonFiles()));
43
30
  return [...(await AsyncIterator.from(farmFormJsons.flat()).map(x => `${x.gfv}.metas.json`).toArray())].join("\n");
44
31
  }
45
-
46
32
  async getFormMeta(gfv) {
47
33
  if (this.useEngineFromLocalSources) {
48
34
  const localEngineMetaContent = {
@@ -51,36 +37,28 @@ let BuildServerFormInfoController = (_dec = (0, _Methods.httpGet)("/metas", _Res
51
37
  };
52
38
  return JSON.stringify(localEngineMetaContent, undefined, " ");
53
39
  }
54
-
55
40
  const formJsonFile = (await Promise.all(this.allFarmDirectories.map(i => i.getFormJsonPath(gfv)))).flat().filter(i => i != undefined);
56
-
57
41
  if (formJsonFile[0] == undefined) {
58
42
  throw Error(`${gfv} not found in farm directories`);
59
43
  }
60
-
61
44
  const formInfo = await (0, _ResolveFormInfo.resolveFormInfo)(formJsonFile[0], gfv, undefined);
62
45
  const engineVersion = this.nightly ? {
63
46
  type: "pre",
64
47
  preId: "nightly"
65
48
  } : formInfo.engineVersion;
66
-
67
49
  if (engineVersion == undefined) {
68
50
  throw new Error("!!!!");
69
51
  }
70
-
71
52
  const engineSources = await (0, _PublishedVersionUtils.resolveEngineVersion)(engineVersion);
72
53
  const formMetaContent = {
73
54
  engineName: engineSources.type === "LocalEngineSources" ? "local" : _EngineVersionUtils.EngineVersionUtils.engineVersionToName(engineSources.version),
74
55
  resourcesHash: "local-hash"
75
56
  };
76
-
77
57
  if (formInfo.themes != undefined) {
78
58
  formMetaContent.themes = formInfo.themes;
79
59
  }
80
-
81
60
  return JSON.stringify(formMetaContent, undefined, " ");
82
61
  }
83
-
84
62
  }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllFormMetas", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getAllFormMetas"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormMeta", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getFormMeta"), _class.prototype)), _class));
85
63
  exports.BuildServerFormInfoController = BuildServerFormInfoController;
86
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlci50cyJdLCJuYW1lcyI6WyJCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlciIsImh0dHBSZXR1cm4iLCJQbGFpblRleHQiLCJodHRwVHlwZSIsIlN0cmluZyIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImFsbEZhcm1Db25maWciLCJ1c2VFbmdpbmVGcm9tTG9jYWxTb3VyY2VzIiwibmlnaHRseSIsImFsbEZhcm1EaXJlY3RvcmllcyIsIm1hcCIsImkiLCJGYXJtRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsImdldEFsbEZvcm1NZXRhcyIsImZhcm1Gb3JtSnNvbnMiLCJQcm9taXNlIiwiYWxsIiwiZ2V0QWxsRm9ybUpzb25GaWxlcyIsIkFzeW5jSXRlcmF0b3IiLCJmcm9tIiwiZmxhdCIsIngiLCJnZnYiLCJ0b0FycmF5Iiwiam9pbiIsImdldEZvcm1NZXRhIiwibG9jYWxFbmdpbmVNZXRhQ29udGVudCIsImVuZ2luZU5hbWUiLCJyZXNvdXJjZXNIYXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsInVuZGVmaW5lZCIsImZvcm1Kc29uRmlsZSIsImdldEZvcm1Kc29uUGF0aCIsImZpbHRlciIsIkVycm9yIiwiZm9ybUluZm8iLCJlbmdpbmVWZXJzaW9uIiwidHlwZSIsInByZUlkIiwiZW5naW5lU291cmNlcyIsImZvcm1NZXRhQ29udGVudCIsIkVuZ2luZVZlcnNpb25VdGlscyIsImVuZ2luZVZlcnNpb25Ub05hbWUiLCJ2ZXJzaW9uIiwidGhlbWVzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUdBOzs7O0lBRWFBLDZCLFdBWVIsc0JBQVEsUUFBUixFQUFrQkMsb0JBQVdDLFNBQTdC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QUlRLFFBQVEsQ0FBQ1MsTUFBVCxJQUFtQmQsU0FBdkIsRUFBa0M7QUFDOUJVLE1BQUFBLGVBQWUsQ0FBQ0ksTUFBaEIsR0FBeUJULFFBQVEsQ0FBQ1MsTUFBbEM7QUFDSDs7QUFDRCxXQUFPaEIsSUFBSSxDQUFDQyxTQUFMLENBQWVXLGVBQWYsRUFBZ0NWLFNBQWhDLEVBQTJDLElBQTNDLENBQVA7QUFDSDs7QUF4RGtFLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYXJtQ29uZmlnIH0gZnJvbSBcIlRvb2xzL3NyYy9DYW5keUNMSVwiO1xuXG5pbXBvcnQgeyBFbmdpbmVWZXJzaW9uVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vQnVpbGRUYXNrcy9FbmdpbmVWZXJzaW9uVXRpbHNcIjtcbmltcG9ydCB7IHJlc29sdmVFbmdpbmVWZXJzaW9uIH0gZnJvbSBcIi4uLy4uLy4uL0J1aWxkVGFza3MvUHVibGlzaGVkVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyByZXNvbHZlRm9ybUluZm8gfSBmcm9tIFwiLi4vLi4vLi4vQnVpbGRUYXNrcy9SZXNvbHZlRm9ybUluZm9cIjtcbmltcG9ydCB7IEZvcm1NZXRhQ29udGVudCB9IGZyb20gXCIuLi8uLi8uLi9CdWlsZFRhc2tzL1dyaXRlRm9ybU1ldGFcIjtcbmltcG9ydCB7IGh0dHBHZXQgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvTWV0aG9kc1wiO1xuaW1wb3J0IHsgaHR0cFR5cGUsIGh0dHBVcmxQYXJhbSB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9QYXJhbXNcIjtcbmltcG9ydCB7IGh0dHBSZXR1cm4gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUmVzdWx0c1wiO1xuaW1wb3J0IHsgU2luZ2xldG9uQ29udHJvbGxlciB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvRXhwcmVzc1dyYXBwZXIvU2luZ2xldG9uQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQ2FuZHlWZXJzaW9uU3BlYyB9IGZyb20gXCIuLi8uLi8uLi9CdWlsZFRhc2tzL1ZlcnNpb25cIjtcblxuaW1wb3J0IHsgRmFybURpcmVjdG9yeSB9IGZyb20gXCIuL0RpcmVjdG9yaWVzL0Zhcm1EaXJlY3RvcnlcIjtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyIGV4dGVuZHMgU2luZ2xldG9uQ29udHJvbGxlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGxGYXJtRGlyZWN0b3JpZXM6IEZhcm1EaXJlY3RvcnlbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5pZ2h0bHk6IGJvb2xlYW47XG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VFbmdpbmVGcm9tTG9jYWxTb3VyY2VzOiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGFsbEZhcm1Db25maWc6IEZhcm1Db25maWdbXSwgdXNlRW5naW5lRnJvbUxvY2FsU291cmNlczogYm9vbGVhbiwgbmlnaHRseTogYm9vbGVhbikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm5pZ2h0bHkgPSBuaWdodGx5O1xuICAgICAgICB0aGlzLmFsbEZhcm1EaXJlY3RvcmllcyA9IGFsbEZhcm1Db25maWcubWFwKGkgPT4gbmV3IEZhcm1EaXJlY3RvcnkoaS5mYXJtRGlyZWN0b3J5KSk7XG4gICAgICAgIHRoaXMudXNlRW5naW5lRnJvbUxvY2FsU291cmNlcyA9IHVzZUVuZ2luZUZyb21Mb2NhbFNvdXJjZXM7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvbWV0YXNcIiwgaHR0cFJldHVybi5QbGFpblRleHQpXG4gICAgcHVibGljIGFzeW5jIGdldEFsbEZvcm1NZXRhcygpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmYXJtRm9ybUpzb25zID0gYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMubWFwKGkgPT4gaS5nZXRBbGxGb3JtSnNvbkZpbGVzKCkpKTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLihhd2FpdCBBc3luY0l0ZXJhdG9yLmZyb20oZmFybUZvcm1Kc29ucy5mbGF0KCkpXG4gICAgICAgICAgICAgICAgLm1hcCh4ID0+IGAke3guZ2Z2fS5tZXRhcy5qc29uYClcbiAgICAgICAgICAgICAgICAudG9BcnJheSgpKSxcbiAgICAgICAgXS5qb2luKFwiXFxuXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL21ldGFzLzpnZnYubWV0YXMuanNvblwiLCBodHRwUmV0dXJuLlBsYWluVGV4dCwgaHR0cFVybFBhcmFtKFwiZ2Z2XCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldEZvcm1NZXRhKGdmdjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgaWYgKHRoaXMudXNlRW5naW5lRnJvbUxvY2FsU291cmNlcykge1xuICAgICAgICAgICAgY29uc3QgbG9jYWxFbmdpbmVNZXRhQ29udGVudDogRm9ybU1ldGFDb250ZW50ID0ge1xuICAgICAgICAgICAgICAgIGVuZ2luZU5hbWU6IFwibG9jYWxcIixcbiAgICAgICAgICAgICAgICByZXNvdXJjZXNIYXNoOiBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkobG9jYWxFbmdpbmVNZXRhQ29udGVudCwgdW5kZWZpbmVkLCBcIiAgXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1Kc29uRmlsZSA9IChhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmFsbEZhcm1EaXJlY3Rvcmllcy5tYXAoaSA9PiBpLmdldEZvcm1Kc29uUGF0aChnZnYpKSkpXG4gICAgICAgICAgICAuZmxhdCgpXG4gICAgICAgICAgICAuZmlsdGVyKGkgPT4gaSAhPSB1bmRlZmluZWQpO1xuICAgICAgICBpZiAoZm9ybUpzb25GaWxlWzBdID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYCR7Z2Z2fSBub3QgZm91bmQgaW4gZmFybSBkaXJlY3Rvcmllc2ApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1JbmZvID0gYXdhaXQgcmVzb2x2ZUZvcm1JbmZvKGZvcm1Kc29uRmlsZVswXSwgZ2Z2LCB1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCBlbmdpbmVWZXJzaW9uOiB1bmRlZmluZWQgfCBDYW5keVZlcnNpb25TcGVjID0gdGhpcy5uaWdodGx5XG4gICAgICAgICAgICA/IHsgdHlwZTogXCJwcmVcIiwgcHJlSWQ6IFwibmlnaHRseVwiIH1cbiAgICAgICAgICAgIDogZm9ybUluZm8uZW5naW5lVmVyc2lvbjtcbiAgICAgICAgaWYgKGVuZ2luZVZlcnNpb24gPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCIhISEhXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVuZ2luZVNvdXJjZXMgPSBhd2FpdCByZXNvbHZlRW5naW5lVmVyc2lvbihlbmdpbmVWZXJzaW9uKTtcbiAgICAgICAgY29uc3QgZm9ybU1ldGFDb250ZW50OiBGb3JtTWV0YUNvbnRlbnQgPSB7XG4gICAgICAgICAgICBlbmdpbmVOYW1lOlxuICAgICAgICAgICAgICAgIGVuZ2luZVNvdXJjZXMudHlwZSA9PT0gXCJMb2NhbEVuZ2luZVNvdXJjZXNcIlxuICAgICAgICAgICAgICAgICAgICA/IFwibG9jYWxcIlxuICAgICAgICAgICAgICAgICAgICA6IEVuZ2luZVZlcnNpb25VdGlscy5lbmdpbmVWZXJzaW9uVG9OYW1lKGVuZ2luZVNvdXJjZXMudmVyc2lvbiksXG4gICAgICAgICAgICByZXNvdXJjZXNIYXNoOiBcImxvY2FsLWhhc2hcIixcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGZvcm1JbmZvLnRoZW1lcyAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGZvcm1NZXRhQ29udGVudC50aGVtZXMgPSBmb3JtSW5mby50aGVtZXM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGZvcm1NZXRhQ29udGVudCwgdW5kZWZpbmVkLCBcIiAgXCIpO1xuICAgIH1cbn1cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRW5naW5lVmVyc2lvblV0aWxzIiwicmVxdWlyZSIsIl9QdWJsaXNoZWRWZXJzaW9uVXRpbHMiLCJfUmVzb2x2ZUZvcm1JbmZvIiwiX01ldGhvZHMiLCJfUGFyYW1zIiwiX1Jlc3VsdHMiLCJfU2luZ2xldG9uQ29udHJvbGxlciIsIl9GYXJtRGlyZWN0b3J5IiwiX2RlYyIsIl9kZWMyIiwiX2NsYXNzIiwiQnVpbGRTZXJ2ZXJGb3JtSW5mb0NvbnRyb2xsZXIiLCJodHRwR2V0IiwiaHR0cFJldHVybiIsIlBsYWluVGV4dCIsImh0dHBVcmxQYXJhbSIsImh0dHBUeXBlIiwiU3RyaW5nIiwiU2luZ2xldG9uQ29udHJvbGxlciIsImNvbnN0cnVjdG9yIiwiYWxsRmFybUNvbmZpZyIsInVzZUVuZ2luZUZyb21Mb2NhbFNvdXJjZXMiLCJuaWdodGx5IiwiYWxsRmFybURpcmVjdG9yaWVzIiwibWFwIiwiaSIsIkZhcm1EaXJlY3RvcnkiLCJmYXJtRGlyZWN0b3J5IiwiZ2V0QWxsRm9ybU1ldGFzIiwiZmFybUZvcm1Kc29ucyIsIlByb21pc2UiLCJhbGwiLCJnZXRBbGxGb3JtSnNvbkZpbGVzIiwiQXN5bmNJdGVyYXRvciIsImZyb20iLCJmbGF0IiwieCIsImdmdiIsInRvQXJyYXkiLCJqb2luIiwiZ2V0Rm9ybU1ldGEiLCJsb2NhbEVuZ2luZU1ldGFDb250ZW50IiwiZW5naW5lTmFtZSIsInJlc291cmNlc0hhc2giLCJKU09OIiwic3RyaW5naWZ5IiwidW5kZWZpbmVkIiwiZm9ybUpzb25GaWxlIiwiZ2V0Rm9ybUpzb25QYXRoIiwiZmlsdGVyIiwiRXJyb3IiLCJmb3JtSW5mbyIsInJlc29sdmVGb3JtSW5mbyIsImVuZ2luZVZlcnNpb24iLCJ0eXBlIiwicHJlSWQiLCJlbmdpbmVTb3VyY2VzIiwicmVzb2x2ZUVuZ2luZVZlcnNpb24iLCJmb3JtTWV0YUNvbnRlbnQiLCJFbmdpbmVWZXJzaW9uVXRpbHMiLCJlbmdpbmVWZXJzaW9uVG9OYW1lIiwidmVyc2lvbiIsInRoZW1lcyIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IyIiwiZGVmYXVsdCIsInByb3RvdHlwZSIsIk9iamVjdCIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJGb3JtSW5mb0NvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFybUNvbmZpZyB9IGZyb20gXCJUb29scy9zcmMvQ2FuZHlDTElcIjtcblxuaW1wb3J0IHsgRW5naW5lVmVyc2lvblV0aWxzIH0gZnJvbSBcIi4uLy4uLy4uL0J1aWxkVGFza3MvRW5naW5lVmVyc2lvblV0aWxzXCI7XG5pbXBvcnQgeyByZXNvbHZlRW5naW5lVmVyc2lvbiB9IGZyb20gXCIuLi8uLi8uLi9CdWlsZFRhc2tzL1B1Ymxpc2hlZFZlcnNpb25VdGlsc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUZvcm1JbmZvIH0gZnJvbSBcIi4uLy4uLy4uL0J1aWxkVGFza3MvUmVzb2x2ZUZvcm1JbmZvXCI7XG5pbXBvcnQgeyBGb3JtTWV0YUNvbnRlbnQgfSBmcm9tIFwiLi4vLi4vLi4vQnVpbGRUYXNrcy9Xcml0ZUZvcm1NZXRhXCI7XG5pbXBvcnQgeyBodHRwR2V0IH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL01ldGhvZHNcIjtcbmltcG9ydCB7IGh0dHBUeXBlLCBodHRwVXJsUGFyYW0gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUGFyYW1zXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IENhbmR5VmVyc2lvblNwZWMgfSBmcm9tIFwiLi4vLi4vLi4vQnVpbGRUYXNrcy9WZXJzaW9uXCI7XG5cbmltcG9ydCB7IEZhcm1EaXJlY3RvcnkgfSBmcm9tIFwiLi9EaXJlY3Rvcmllcy9GYXJtRGlyZWN0b3J5XCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlciBleHRlbmRzIFNpbmdsZXRvbkNvbnRyb2xsZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxsRmFybURpcmVjdG9yaWVzOiBGYXJtRGlyZWN0b3J5W107XG4gICAgcHJpdmF0ZSByZWFkb25seSBuaWdodGx5OiBib29sZWFuO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlRW5naW5lRnJvbUxvY2FsU291cmNlczogYm9vbGVhbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW10sIHVzZUVuZ2luZUZyb21Mb2NhbFNvdXJjZXM6IGJvb2xlYW4sIG5pZ2h0bHk6IGJvb2xlYW4pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5uaWdodGx5ID0gbmlnaHRseTtcbiAgICAgICAgdGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMgPSBhbGxGYXJtQ29uZmlnLm1hcChpID0+IG5ldyBGYXJtRGlyZWN0b3J5KGkuZmFybURpcmVjdG9yeSkpO1xuICAgICAgICB0aGlzLnVzZUVuZ2luZUZyb21Mb2NhbFNvdXJjZXMgPSB1c2VFbmdpbmVGcm9tTG9jYWxTb3VyY2VzO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL21ldGFzXCIsIGh0dHBSZXR1cm4uUGxhaW5UZXh0KVxuICAgIHB1YmxpYyBhc3luYyBnZXRBbGxGb3JtTWV0YXMoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgZmFybUZvcm1Kc29ucyA9IGF3YWl0IFByb21pc2UuYWxsKHRoaXMuYWxsRmFybURpcmVjdG9yaWVzLm1hcChpID0+IGkuZ2V0QWxsRm9ybUpzb25GaWxlcygpKSk7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi4oYXdhaXQgQXN5bmNJdGVyYXRvci5mcm9tKGZhcm1Gb3JtSnNvbnMuZmxhdCgpKVxuICAgICAgICAgICAgICAgIC5tYXAoeCA9PiBgJHt4Lmdmdn0ubWV0YXMuanNvbmApXG4gICAgICAgICAgICAgICAgLnRvQXJyYXkoKSksXG4gICAgICAgIF0uam9pbihcIlxcblwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9tZXRhcy86Z2Z2Lm1ldGFzLmpzb25cIiwgaHR0cFJldHVybi5QbGFpblRleHQsIGh0dHBVcmxQYXJhbShcImdmdlwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtTWV0YShnZnY6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGlmICh0aGlzLnVzZUVuZ2luZUZyb21Mb2NhbFNvdXJjZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsRW5naW5lTWV0YUNvbnRlbnQ6IEZvcm1NZXRhQ29udGVudCA9IHtcbiAgICAgICAgICAgICAgICBlbmdpbmVOYW1lOiBcImxvY2FsXCIsXG4gICAgICAgICAgICAgICAgcmVzb3VyY2VzSGFzaDogXCJsb2NhbC1oYXNoXCIsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGxvY2FsRW5naW5lTWV0YUNvbnRlbnQsIHVuZGVmaW5lZCwgXCIgIFwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtSnNvbkZpbGUgPSAoYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5hbGxGYXJtRGlyZWN0b3JpZXMubWFwKGkgPT4gaS5nZXRGb3JtSnNvblBhdGgoZ2Z2KSkpKVxuICAgICAgICAgICAgLmZsYXQoKVxuICAgICAgICAgICAgLmZpbHRlcihpID0+IGkgIT0gdW5kZWZpbmVkKTtcbiAgICAgICAgaWYgKGZvcm1Kc29uRmlsZVswXSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGAke2dmdn0gbm90IGZvdW5kIGluIGZhcm0gZGlyZWN0b3JpZXNgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtSW5mbyA9IGF3YWl0IHJlc29sdmVGb3JtSW5mbyhmb3JtSnNvbkZpbGVbMF0sIGdmdiwgdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgZW5naW5lVmVyc2lvbjogdW5kZWZpbmVkIHwgQ2FuZHlWZXJzaW9uU3BlYyA9IHRoaXMubmlnaHRseVxuICAgICAgICAgICAgPyB7IHR5cGU6IFwicHJlXCIsIHByZUlkOiBcIm5pZ2h0bHlcIiB9XG4gICAgICAgICAgICA6IGZvcm1JbmZvLmVuZ2luZVZlcnNpb247XG4gICAgICAgIGlmIChlbmdpbmVWZXJzaW9uID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiISEhIVwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbmdpbmVTb3VyY2VzID0gYXdhaXQgcmVzb2x2ZUVuZ2luZVZlcnNpb24oZW5naW5lVmVyc2lvbik7XG4gICAgICAgIGNvbnN0IGZvcm1NZXRhQ29udGVudDogRm9ybU1ldGFDb250ZW50ID0ge1xuICAgICAgICAgICAgZW5naW5lTmFtZTpcbiAgICAgICAgICAgICAgICBlbmdpbmVTb3VyY2VzLnR5cGUgPT09IFwiTG9jYWxFbmdpbmVTb3VyY2VzXCJcbiAgICAgICAgICAgICAgICAgICAgPyBcImxvY2FsXCJcbiAgICAgICAgICAgICAgICAgICAgOiBFbmdpbmVWZXJzaW9uVXRpbHMuZW5naW5lVmVyc2lvblRvTmFtZShlbmdpbmVTb3VyY2VzLnZlcnNpb24pLFxuICAgICAgICAgICAgcmVzb3VyY2VzSGFzaDogXCJsb2NhbC1oYXNoXCIsXG4gICAgICAgIH07XG4gICAgICAgIGlmIChmb3JtSW5mby50aGVtZXMgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBmb3JtTWV0YUNvbnRlbnQudGhlbWVzID0gZm9ybUluZm8udGhlbWVzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShmb3JtTWV0YUNvbnRlbnQsIHVuZGVmaW5lZCwgXCIgIFwiKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUEsSUFBQUEsbUJBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLHNCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxnQkFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sb0JBQUEsR0FBQU4sT0FBQTtBQUdBLElBQUFPLGNBQUEsR0FBQVAsT0FBQTtBQUE0RCxJQUFBUSxJQUFBLEVBQUFDLEtBQUEsRUFBQUMsTUFBQTtBQUFBLElBRS9DQyw2QkFBNkIsSUFBQUgsSUFBQSxHQVlyQyxJQUFBSSxnQkFBTyxFQUFDLFFBQVEsRUFBRUMsbUJBQVUsQ0FBQ0MsU0FBUyxDQUFDLEVBQUFMLEtBQUEsR0FVdkMsSUFBQUcsZ0JBQU8sRUFBQyx3QkFBd0IsRUFBRUMsbUJBQVUsQ0FBQ0MsU0FBUyxFQUFFLElBQUFDLG9CQUFZLEVBQUMsS0FBSyxFQUFFQyxnQkFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxHQUFBUCxNQUFBLEdBdEIzRixNQUFNQyw2QkFBNkIsU0FBU08sd0NBQW1CLENBQUM7RUFLNURDLFdBQVdBLENBQUNDLGFBQTJCLEVBQUVDLHlCQUFrQyxFQUFFQyxPQUFnQixFQUFFO0lBQ2xHLEtBQUssQ0FBQyxDQUFDO0lBQUMsS0FMS0Msa0JBQWtCO0lBQUEsS0FDbEJELE9BQU87SUFBQSxLQUNQRCx5QkFBeUI7SUFJdEMsSUFBSSxDQUFDQyxPQUFPLEdBQUdBLE9BQU87SUFDdEIsSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0gs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
@@ -1,32 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.BuildServerLocalSourcesEngineController = void 0;
9
-
10
8
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
11
-
12
9
  var _mimeTypes = _interopRequireDefault(require("mime-types"));
13
-
14
10
  var _Methods = require("../../../Commons/HttpServer/AttributeRouting/Methods");
15
-
16
11
  var _NotFoundWebError = require("../../../Commons/HttpServer/AttributeRouting/NotFoundWebError");
17
-
18
12
  var _Params = require("../../../Commons/HttpServer/AttributeRouting/Params");
19
-
20
13
  var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
21
-
22
14
  var _StreamResultHandler = require("../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler");
23
-
24
15
  var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
25
-
26
16
  var _EngineDevServer = require("./DevServers/EngineDevServer");
27
-
28
17
  var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _class;
29
-
30
18
  let BuildServerLocalSourcesEngineController = (_dec = (0, _Methods.httpGet)("/:update.hot-update.json", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec2 = (0, _Methods.httpGet)("/:update.hot-update.js", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec3 = (0, _Methods.httpGet)("/public/scripts/candy_local.js", _Results.httpReturn.StreamWithMime("application/javascript")), _dec4 = (0, _Methods.httpGet)("/public/styles/candy_local.css", _Results.httpReturn.StreamWithMime("text/css")), _dec5 = (0, _Methods.httpGet)("/public/scripts/candy_local.min.js", _Results.httpReturn.StreamWithMime("application/javascript")), _dec6 = (0, _Methods.httpGet)("/public/styles/candy_local.min.css", _Results.httpReturn.StreamWithMime("text/css")), _dec7 = (0, _Methods.httpGet)("/public/scripts/candy_local.js.map", _Results.httpReturn.StreamWithMime("application/octet-stream")), _dec8 = (0, _Methods.httpGet)("/public/styles/candy_local.css.map", _Results.httpReturn.StreamWithMime("application/octet-stream")), _dec9 = (0, _Methods.httpGet)("/public/scripts/candy_local.min.js.map", _Results.httpReturn.StreamWithMime("application/octet-stream")), _dec10 = (0, _Methods.httpGet)("/public/styles/candy_local.min.css.map", _Results.httpReturn.StreamWithMime("application/octet-stream")), _dec11 = (0, _Methods.httpGet)("/public/scripts/candy_local.:theme.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("theme", _Params.httpType.String)), _dec12 = (0, _Methods.httpGet)("/public/styles/candy_local.:theme.css", _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("theme", _Params.httpType.String)), _dec13 = (0, _Methods.httpGet)("/public/scripts/candy_local.:theme.min.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("theme", _Params.httpType.String)), _dec14 = (0, _Methods.httpGet)("/public/styles/candy_local.:theme.min.css", _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("theme", _Params.httpType.String)), _dec15 = (0, _Methods.httpGet)("/public/scripts/candy_local.:theme.js.map", _Results.httpReturn.StreamWithMime("application/octet-stream"), (0, _Params.httpUrlParam)("theme", _Params.httpType.String)), _dec16 = (0, _Methods.httpGet)("/public/styles/candy_local.:theme.css.map", _Results.httpReturn.StreamWithMime("application/octet-stream"), (0, _Params.httpUrlParam)("theme", _Params.httpType.String)), _dec17 = (0, _Methods.httpGet)("/public/scripts/candy_local.:theme.min.js.map", _Results.httpReturn.StreamWithMime("application/octet-stream"), (0, _Params.httpUrlParam)("theme", _Params.httpType.String)), _dec18 = (0, _Methods.httpGet)("/public/styles/candy_local.:theme.min.css.map", _Results.httpReturn.StreamWithMime("application/octet-stream")), _dec19 = (0, _Methods.httpGet)("/public/fonts/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec20 = (0, _Methods.httpGet)("/public/images/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), (_class = class BuildServerLocalSourcesEngineController extends _SingletonController.SingletonController {
31
19
  constructor(engineDirectory, buildDebugOnly) {
32
20
  super();
@@ -37,79 +25,60 @@ let BuildServerLocalSourcesEngineController = (_dec = (0, _Methods.httpGet)("/:u
37
25
  this.engineDirectory = engineDirectory;
38
26
  this.buildDebugOnly = buildDebugOnly;
39
27
  }
40
-
41
28
  async getDevServerUpdateJson(updateName) {
42
29
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream(`${updateName}.hot-update.json`);
43
30
  }
44
-
45
31
  async getDevServerUpdateJs(updateName) {
46
32
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream(`${updateName}.hot-update.js`);
47
33
  }
48
-
49
34
  async getLocalEngineScript() {
50
35
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream("public/scripts/candy_local.js");
51
36
  }
52
-
53
37
  async getLocalEngineStyles() {
54
38
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream("public/styles/candy_local.css");
55
39
  }
56
-
57
40
  async getLocalEngineScriptMinified() {
58
41
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream("public/scripts/candy_local.min.js");
59
42
  }
60
-
61
43
  async getLocalEngineStylesMinified() {
62
44
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream("public/styles/candy_local.min.css");
63
45
  }
64
-
65
46
  async getLocalEngineScriptSourceMap() {
66
47
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream("public/scripts/candy_local.js.map");
67
48
  }
68
-
69
49
  async getLocalEngineStylesSourceMap() {
70
50
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream("public/styles/candy_local.css.map");
71
51
  }
72
-
73
52
  async getLocalEngineScriptMinifiedSourceMap() {
74
53
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream("public/scripts/candy_local.min.js.map");
75
54
  }
76
-
77
55
  async getLocalEngineStylesMinifiedSourceMap() {
78
56
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream("public/styles/candy_local.min.css.map");
79
57
  }
80
-
81
58
  async getThemedLocalEngineScript(theme) {
82
59
  return (await this.getOrCreateDevServer(undefined)).getFileAsStream("public/scripts/candy_local.js");
83
60
  }
84
-
85
61
  async getThemedLocalEngineStyles(theme) {
86
62
  return (await this.getOrCreateDevServer(theme)).getFileAsStream(`public/styles/candy_local.${theme}.css`);
87
63
  }
88
-
89
64
  async getThemedLocalEngineScriptMinified(theme) {
90
65
  return (await this.getOrCreateDevServer(theme)).getFileAsStream("public/scripts/candy_local.min.js");
91
66
  }
92
-
93
67
  async getThemedLocalEngineStylesMinified(theme) {
94
68
  return (await this.getOrCreateDevServer(theme)).getFileAsStream(`public/styles/candy_local.${theme}.min.css`);
95
69
  }
96
-
97
70
  async getThemedLocalEngineScriptSourceMap(theme) {
98
71
  return (await this.getOrCreateDevServer(theme)).getFileAsStream("public/scripts/candy_local.js.map");
99
72
  }
100
-
101
73
  async getThemedLocalEngineStylesSourceMap(theme) {
102
74
  return (await this.getOrCreateDevServer(theme)).getFileAsStream(`public/styles/candy_local.${theme}.css.map`);
103
75
  }
104
-
105
76
  async getThemedLocalEngineScriptMinifiedSourceMap(theme) {
106
77
  return (await this.getOrCreateDevServer(theme)).getFileAsStream(`public/scripts/candy_local.${theme}.min.js.map`);
107
78
  }
108
-
109
79
  async getThemedLocalEngineStylesMinifiedSourceMap(theme) {
110
80
  return (await this.getOrCreateDevServer(theme)).getFileAsStream(`public/styles/candy_local.${theme}.min.css.map`);
111
81
  }
112
-
113
82
  async getFormFont(fileName) {
114
83
  try {
115
84
  return new _StreamResultHandler.StreamResult(await (await this.getOrCreateDevServer(undefined)).getFileAsStream(`public/fonts/${fileName}`), _mimeTypes.default.lookup(fileName));
@@ -117,7 +86,6 @@ let BuildServerLocalSourcesEngineController = (_dec = (0, _Methods.httpGet)("/:u
117
86
  throw new _NotFoundWebError.NotFoundWebError("File not found", true);
118
87
  }
119
88
  }
120
-
121
89
  async getFormImages(fileName) {
122
90
  try {
123
91
  return new _StreamResultHandler.StreamResult(await (await this.getOrCreateDevServer(undefined)).getFileAsStream(`public/images/${fileName}`), _mimeTypes.default.lookup(fileName));
@@ -125,10 +93,8 @@ let BuildServerLocalSourcesEngineController = (_dec = (0, _Methods.httpGet)("/:u
125
93
  throw new _NotFoundWebError.NotFoundWebError("File not found", true);
126
94
  }
127
95
  }
128
-
129
96
  async getOrCreateDevServer(theme) {
130
97
  let devServer = this.devServers.get(theme !== null && theme !== void 0 ? theme : "Default");
131
-
132
98
  if (devServer == undefined) {
133
99
  devServer = new _EngineDevServer.EngineDevServer(this.portCounter, this.engineDirectory, this.buildDebugOnly, theme);
134
100
  this.portCounter++;
@@ -136,10 +102,8 @@ let BuildServerLocalSourcesEngineController = (_dec = (0, _Methods.httpGet)("/:u
136
102
  await devServer.start();
137
103
  return devServer;
138
104
  }
139
-
140
105
  return devServer;
141
106
  }
142
-
143
107
  }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJson", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJson"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJs", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJs"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLocalEngineScript", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getLocalEngineScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLocalEngineStyles", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getLocalEngineStyles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLocalEngineScriptMinified", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getLocalEngineScriptMinified"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLocalEngineStylesMinified", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getLocalEngineStylesMinified"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLocalEngineScriptSourceMap", [_dec7], Object.getOwnPropertyDescriptor(_class.prototype, "getLocalEngineScriptSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLocalEngineStylesSourceMap", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, "getLocalEngineStylesSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLocalEngineScriptMinifiedSourceMap", [_dec9], Object.getOwnPropertyDescriptor(_class.prototype, "getLocalEngineScriptMinifiedSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getLocalEngineStylesMinifiedSourceMap", [_dec10], Object.getOwnPropertyDescriptor(_class.prototype, "getLocalEngineStylesMinifiedSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getThemedLocalEngineScript", [_dec11], Object.getOwnPropertyDescriptor(_class.prototype, "getThemedLocalEngineScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getThemedLocalEngineStyles", [_dec12], Object.getOwnPropertyDescriptor(_class.prototype, "getThemedLocalEngineStyles"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getThemedLocalEngineScriptMinified", [_dec13], Object.getOwnPropertyDescriptor(_class.prototype, "getThemedLocalEngineScriptMinified"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getThemedLocalEngineStylesMinified", [_dec14], Object.getOwnPropertyDescriptor(_class.prototype, "getThemedLocalEngineStylesMinified"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getThemedLocalEngineScriptSourceMap", [_dec15], Object.getOwnPropertyDescriptor(_class.prototype, "getThemedLocalEngineScriptSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getThemedLocalEngineStylesSourceMap", [_dec16], Object.getOwnPropertyDescriptor(_class.prototype, "getThemedLocalEngineStylesSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getThemedLocalEngineScriptMinifiedSourceMap", [_dec17], Object.getOwnPropertyDescriptor(_class.prototype, "getThemedLocalEngineScriptMinifiedSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getThemedLocalEngineStylesMinifiedSourceMap", [_dec18], Object.getOwnPropertyDescriptor(_class.prototype, "getThemedLocalEngineStylesMinifiedSourceMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormFont", [_dec19], Object.getOwnPropertyDescriptor(_class.prototype, "getFormFont"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormImages", [_dec20], Object.getOwnPropertyDescriptor(_class.prototype, "getFormImages"), _class.prototype)), _class));
144
108
  exports.BuildServerLocalSourcesEngineController = BuildServerLocalSourcesEngineController;
145
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOlsiQnVpbGRTZXJ2ZXJMb2NhbFNvdXJjZXNFbmdpbmVDb250cm9sbGVyIiwiaHR0cFJldHVybiIsIlN0cmVhbVdpdGhNaW1lIiwiaHR0cFR5cGUiLCJTdHJpbmciLCJTdHJlYW0iLCJTaW5nbGV0b25Db250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJlbmdpbmVEaXJlY3RvcnkiLCJidWlsZERlYnVnT25seSIsImRldlNlcnZlcnMiLCJNYXAiLCJwb3J0Q291bnRlciIsImdldERldlNlcnZlclVwZGF0ZUpzb24iLCJ1cGRhdGVOYW1lIiwiZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIiLCJ1bmRlZmluZWQiLCJnZXRGaWxlQXNTdHJlYW0iLCJnZXREZXZTZXJ2ZXJVcGRhdGVKcyIsImdldExvY2FsRW5naW5lU2NyaXB0IiwiZ2V0TG9jYWxFbmdpbmVTdHlsZXMiLCJnZXRMb2NhbEVuZ2luZVNjcmlwdE1pbmlmaWVkIiwiZ2V0TG9jYWxFbmdpbmVTdHlsZXNNaW5pZmllZCIsImdldExvY2FsRW5naW5lU2NyaXB0U291cmNlTWFwIiwiZ2V0TG9jYWxFbmdpbmVTdHlsZXNTb3VyY2VNYXAiLCJnZXRMb2NhbEVuZ2luZVNjcmlwdE1pbmlmaWVkU291cmNlTWFwIiwiZ2V0TG9jYWxFbmdpbmVTdHlsZXNNaW5pZmllZFNvdXJjZU1hcCIsImdldFRoZW1lZExvY2FsRW5naW5lU2NyaXB0IiwidGhlbWUiLCJnZXRUaGVtZWRMb2NhbEVuZ2luZVN0eWxlcyIsImdldFRoZW1lZExvY2FsRW5naW5lU2NyaXB0TWluaWZpZWQiLCJnZXRUaGVtZWRMb2NhbEVuZ2luZVN0eWxlc01pbmlmaWVkIiwiZ2V0VGhlbWVkTG9jYWxFbmdpbmVTY3JpcHRTb3VyY2VNYXAiLCJnZXRUaGVtZWRMb2NhbEVuZ2luZVN0eWxlc1NvdXJjZU1hcCIsImdldFRoZW1lZExvY2FsRW5naW5lU2NyaXB0TWluaWZpZWRTb3VyY2VNYXAiLCJnZXRUaGVtZWRMb2NhbEVuZ2luZVN0eWxlc01pbmlmaWVkU291cmNlTWFwIiwiZ2V0Rm9ybUZvbnQiLCJmaWxlTmFtZSIsIlN0cmVhbVJlc3VsdCIsIm1pbWUiLCJsb29rdXAiLCJlIiwiTm90Rm91bmRXZWJFcnJvciIsImdldEZvcm1JbWFnZXMiLCJkZXZTZXJ2ZXIiLCJnZXQiLCJFbmdpbmVEZXZTZXJ2ZXIiLCJzZXQiLCJzdGFydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFFQTs7OztJQUVhQSx1QyxXQVlSLHNCQUNHLDBCQURILEVBRUdDLG9CQUFXQyxjQUFYLENBQTBCLGtCQUExQixDQUZILEVBR0csMEJBQWEsUUFBYixFQUF1QkMsaUJBQVNDLE1BQWhDLENBSEgsQyxVQVNBLHNCQUNHLHdCQURILEVBRUdILG9CQUFXQyxjQUFYLENBQTBCLGtCQUExQixDQUZILEVBR0csMEJBQWEsUUFBYixFQUF1QkMsaUJBQVNDLE1BQWhDLENBSEgsQyxVQVNBLHNCQUFRLGdDQUFSLEVBQTBDSCxvQkFBV0MsY0FBWCxDQUEwQix3QkFBMUIsQ0FBMUMsQyxVQUtBLHNCQUFRLGdDQUFSLEVBQTBDRCxvQkFBV0MsY0FBWCxDQUEwQixVQUExQixDQUExQyxDLFVBS0Esc0JBQVEsb0NBQVIsRUFBOENELG9CQUFXQyxjQUFYLENBQTBCLHdCQUExQixDQUE5QyxDLFVBS0Esc0JBQVEsb0NBQVIsRUFBOENELG9CQUFXQyxjQUFYLENBQTBCLFVBQTFCLENBQTlDLEMsVUFLQSxzQkFBUSxvQ0FBUixFQUE4Q0Qsb0JBQVdDLGNBQVgsQ0FBMEIsMEJBQTFCLENBQTlDLEMsVUFLQSxzQkFBUSxvQ0FBUixFQUE4Q0Qsb0JBQVdDLGNBQVgsQ0FBMEIsMEJBQTFCLENBQTlDLEMsVUFLQSxzQkFBUSx3Q0FB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LFNBQVMsQ0FBQ0ksS0FBVixFQUFOO0FBQ0EsYUFBT0osU0FBUDtBQUNIOztBQUNELFdBQU9BLFNBQVA7QUFDSDs7QUFoTDRFLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWltZSBmcm9tIFwibWltZS10eXBlc1wiO1xuXG5pbXBvcnQgeyBodHRwR2V0IH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL01ldGhvZHNcIjtcbmltcG9ydCB7IE5vdEZvdW5kV2ViRXJyb3IgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvTm90Rm91bmRXZWJFcnJvclwiO1xuaW1wb3J0IHsgaHR0cFR5cGUsIGh0dHBVcmxQYXJhbSB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9QYXJhbXNcIjtcbmltcG9ydCB7IGh0dHBSZXR1cm4gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUmVzdWx0c1wiO1xuaW1wb3J0IHtcbiAgICBTdHJlYW1SZXN1bHQsXG4gICAgU3RyZWFtUmV0dXJuUmVzdWx0LFxufSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUmVzdWx0cy9TdHJlYW1SZXN1bHRIYW5kbGVyXCI7XG5pbXBvcnQgeyBTaW5nbGV0b25Db250cm9sbGVyIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9FeHByZXNzV3JhcHBlci9TaW5nbGV0b25Db250cm9sbGVyXCI7XG5cbmltcG9ydCB7IEVuZ2luZURldlNlcnZlciB9IGZyb20gXCIuL0RldlNlcnZlcnMvRW5naW5lRGV2U2VydmVyXCI7XG5cbmV4cG9ydCBjbGFzcyBCdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIgZXh0ZW5kcyBTaW5nbGV0b25Db250cm9sbGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZ2luZURpcmVjdG9yeTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGV2U2VydmVyczogTWFwPHN0cmluZywgRW5naW5lRGV2U2VydmVyPiA9IG5ldyBNYXA8c3RyaW5nLCBFbmdpbmVEZXZTZXJ2ZXI+KCk7XG4gICAgcHJpdmF0ZSBwb3J0Q291bnRlciA9IDE0MDAxO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYnVpbGREZWJ1Z09ubHk6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsIGJ1aWxkRGVidWdPbmx5OiBib29sZWFuKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZW5naW5lRGlyZWN0b3J5ID0gZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICB0aGlzLmJ1aWxkRGVidWdPbmx5ID0gYnVpbGREZWJ1Z09ubHk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiLzp1cGRhdGUuaG90LXVwZGF0ZS5qc29uXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qc29uXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJ1cGRhdGVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGV2U2VydmVyVXBkYXRlSnNvbih1cGRhdGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodW5kZWZpbmVkKSkuZ2V0RmlsZUFzU3RyZWFtKGAke3VwZGF0ZU5hbWV9LmhvdC11cGRhdGUuanNvbmApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi86dXBkYXRlLmhvdC11cGRhdGUuanNcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2pzb25cIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInVwZGF0ZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXREZXZTZXJ2ZXJVcGRhdGVKcyh1cGRhdGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodW5kZWZpbmVkKSkuZ2V0RmlsZUFzU3RyZWFtKGAke3VwZGF0ZU5hbWV9LmhvdC11cGRhdGUuanNgKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC5qc1wiLCBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0TG9jYWxFbmdpbmVTY3JpcHQoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLmpzXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuY3NzXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJ0ZXh0L2Nzc1wiKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0TG9jYWxFbmdpbmVTdHlsZXMoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuY3NzXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLm1pbi5qc1wiLCBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0TG9jYWxFbmdpbmVTY3JpcHRNaW5pZmllZCgpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodW5kZWZpbmVkKSkuZ2V0RmlsZUFzU3RyZWFtKFwicHVibGljL3NjcmlwdHMvY2FuZHlfbG9jYWwubWluLmpzXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwubWluLmNzc1wiLCBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwidGV4dC9jc3NcIikpXG4gICAgcHVibGljIGFzeW5jIGdldExvY2FsRW5naW5lU3R5bGVzTWluaWZpZWQoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwubWluLmNzc1wiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC5qcy5tYXBcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0TG9jYWxFbmdpbmVTY3JpcHRTb3VyY2VNYXAoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLmpzLm1hcFwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLmNzcy5tYXBcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0TG9jYWxFbmdpbmVTdHlsZXNTb3VyY2VNYXAoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuY3NzLm1hcFwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC5taW4uanMubWFwXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIikpXG4gICAgcHVibGljIGFzeW5jIGdldExvY2FsRW5naW5lU2NyaXB0TWluaWZpZWRTb3VyY2VNYXAoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLm1pbi5qcy5tYXBcIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3N0eWxlcy9jYW5keV9sb2NhbC5taW4uY3NzLm1hcFwiLCBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRMb2NhbEVuZ2luZVN0eWxlc01pbmlmaWVkU291cmNlTWFwKCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih1bmRlZmluZWQpKS5nZXRGaWxlQXNTdHJlYW0oXCJwdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLm1pbi5jc3MubWFwXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC46dGhlbWUuanNcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInRoZW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldFRoZW1lZExvY2FsRW5naW5lU2NyaXB0KHRoZW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodW5kZWZpbmVkKSkuZ2V0RmlsZUFzU3RyZWFtKFwicHVibGljL3NjcmlwdHMvY2FuZHlfbG9jYWwuanNcIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuOnRoZW1lLmNzc1wiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwidGV4dC9jc3NcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInRoZW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldFRoZW1lZExvY2FsRW5naW5lU3R5bGVzKHRoZW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodGhlbWUpKS5nZXRGaWxlQXNTdHJlYW0oYHB1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuJHt0aGVtZX0uY3NzYCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLjp0aGVtZS5taW4uanNcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInRoZW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldFRoZW1lZExvY2FsRW5naW5lU2NyaXB0TWluaWZpZWQodGhlbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih0aGVtZSkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLm1pbi5qc1wiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3N0eWxlcy9jYW5keV9sb2NhbC46dGhlbWUubWluLmNzc1wiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwidGV4dC9jc3NcIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInRoZW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldFRoZW1lZExvY2FsRW5naW5lU3R5bGVzTWluaWZpZWQodGhlbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih0aGVtZSkpLmdldEZpbGVBc1N0cmVhbShgcHVibGljL3N0eWxlcy9jYW5keV9sb2NhbC4ke3RoZW1lfS5taW4uY3NzYCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLjp0aGVtZS5qcy5tYXBcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwidGhlbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VGhlbWVkTG9jYWxFbmdpbmVTY3JpcHRTb3VyY2VNYXAodGhlbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih0aGVtZSkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLmpzLm1hcFwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3N0eWxlcy9jYW5keV9sb2NhbC46dGhlbWUuY3NzLm1hcFwiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJ0aGVtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRUaGVtZWRMb2NhbEVuZ2luZVN0eWxlc1NvdXJjZU1hcCh0aGVtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHRoZW1lKSkuZ2V0RmlsZUFzU3RyZWFtKGBwdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLiR7dGhlbWV9LmNzcy5tYXBgKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3NjcmlwdHMvY2FuZHlfbG9jYWwuOnRoZW1lLm1pbi5qcy5tYXBcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwidGhlbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VGhlbWVkTG9jYWxFbmdpbmVTY3JpcHRNaW5pZmllZFNvdXJjZU1hcCh0aGVtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHRoZW1lKSkuZ2V0RmlsZUFzU3RyZWFtKFxuICAgICAgICAgICAgYHB1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLiR7dGhlbWV9Lm1pbi5qcy5tYXBgXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3N0eWxlcy9jYW5keV9sb2NhbC46dGhlbWUubWluLmNzcy5tYXBcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VGhlbWVkTG9jYWxFbmdpbmVTdHlsZXNNaW5pZmllZFNvdXJjZU1hcCh0aGVtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHRoZW1lKSkuZ2V0RmlsZUFzU3RyZWFtKFxuICAgICAgICAgICAgYHB1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuJHt0aGVtZX0ubWluLmNzcy5tYXBgXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL2ZvbnRzLzpmaWxlbmFtZVwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybUZvbnQoZmlsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFN0cmVhbVJlc3VsdChcbiAgICAgICAgICAgICAgICBhd2FpdCAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih1bmRlZmluZWQpKS5nZXRGaWxlQXNTdHJlYW0oYHB1YmxpYy9mb250cy8ke2ZpbGVOYW1lfWApLFxuICAgICAgICAgICAgICAgIG1pbWUubG9va3VwKGZpbGVOYW1lKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9pbWFnZXMvOmZpbGVuYW1lXCIsIGh0dHBSZXR1cm4uU3RyZWFtLCBodHRwVXJsUGFyYW0oXCJmaWxlbmFtZVwiLCBodHRwVHlwZS5TdHJpbmcpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRGb3JtSW1hZ2VzKGZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQoXG4gICAgICAgICAgICAgICAgYXdhaXQgKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodW5kZWZpbmVkKSkuZ2V0RmlsZUFzU3RyZWFtKGBwdWJsaWMvaW1hZ2VzLyR7ZmlsZU5hbWV9YCksXG4gICAgICAgICAgICAgICAgbWltZS5sb29rdXAoZmlsZU5hbWUpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRXZWJFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRPckNyZWF0ZURldlNlcnZlcih0aGVtZTogdW5kZWZpbmVkIHwgc3RyaW5nKTogUHJvbWlzZTxFbmdpbmVEZXZTZXJ2ZXI+IHtcbiAgICAgICAgbGV0IGRldlNlcnZlciA9IHRoaXMuZGV2U2VydmVycy5nZXQodGhlbWUgPz8gXCJEZWZhdWx0XCIpO1xuICAgICAgICBpZiAoZGV2U2VydmVyID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZGV2U2VydmVyID0gbmV3IEVuZ2luZURldlNlcnZlcih0aGlzLnBvcnRDb3VudGVyLCB0aGlzLmVuZ2luZURpcmVjdG9yeSwgdGhpcy5idWlsZERlYnVnT25seSwgdGhlbWUpO1xuICAgICAgICAgICAgdGhpcy5wb3J0Q291bnRlcisrO1xuICAgICAgICAgICAgdGhpcy5kZXZTZXJ2ZXJzLnNldCh0aGVtZSA/PyBcIkRlZmF1bHRcIiwgZGV2U2VydmVyKTtcbiAgICAgICAgICAgIGF3YWl0IGRldlNlcnZlci5zdGFydCgpO1xuICAgICAgICAgICAgcmV0dXJuIGRldlNlcnZlcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGV2U2VydmVyO1xuICAgIH1cbn1cbiJdfQ==
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWltZVR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfTWV0aG9kcyIsIl9Ob3RGb3VuZFdlYkVycm9yIiwiX1BhcmFtcyIsIl9SZXN1bHRzIiwiX1N0cmVhbVJlc3VsdEhhbmRsZXIiLCJfU2luZ2xldG9uQ29udHJvbGxlciIsIl9FbmdpbmVEZXZTZXJ2ZXIiLCJfZGVjIiwiX2RlYzIiLCJfZGVjMyIsIl9kZWM0IiwiX2RlYzUiLCJfZGVjNiIsIl9kZWM3IiwiX2RlYzgiLCJfZGVjOSIsIl9kZWMxMCIsIl9kZWMxMSIsIl9kZWMxMiIsIl9kZWMxMyIsIl9kZWMxNCIsIl9kZWMxNSIsIl9kZWMxNiIsIl9kZWMxNyIsIl9kZWMxOCIsIl9kZWMxOSIsIl9kZWMyMCIsIl9jbGFzcyIsIkJ1aWxkU2VydmVyTG9jYWxTb3VyY2VzRW5naW5lQ29udHJvbGxlciIsImh0dHBHZXQiLCJodHRwUmV0dXJuIiwiU3RyZWFtV2l0aE1pbWUiLCJodHRwVXJsUGFyYW0iLCJodHRwVHlwZSIsIlN0cmluZyIsIlN0cmVhbSIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImVuZ2luZURpcmVjdG9yeSIsImJ1aWxkRGVidWdPbmx5IiwiZGV2U2VydmVycyIsIk1hcCIsInBvcnRDb3VudGVyIiwiZ2V0RGV2U2VydmVyVXBkYXRlSnNvbiIsInVwZGF0ZU5hbWUiLCJnZXRPckNyZWF0ZURldlNlcnZlciIsInVuZGVmaW5lZCIsImdldEZpbGVBc1N0cmVhbSIsImdldERldlNlcnZlclVwZGF0ZUpzIiwiZ2V0TG9jYWxFbmdpbmVTY3JpcHQiLCJnZXRMb2NhbEVuZ2luZVN0eWxlcyIsImdldExvY2FsRW5naW5lU2NyaXB0TWluaWZpZWQiLCJnZXRMb2NhbEVuZ2luZVN0eWxlc01pbmlmaWVkIiwiZ2V0TG9jYWxFbmdpbmVTY3JpcHRTb3VyY2VNYXAiLCJnZXRMb2NhbEVuZ2luZVN0eWxlc1NvdXJjZU1hcCIsImdldExvY2FsRW5naW5lU2NyaXB0TWluaWZpZWRTb3VyY2VNYXAiLCJnZXRMb2NhbEVuZ2luZVN0eWxlc01pbmlmaWVkU291cmNlTWFwIiwiZ2V0VGhlbWVkTG9jYWxFbmdpbmVTY3JpcHQiLCJ0aGVtZSIsImdldFRoZW1lZExvY2FsRW5naW5lU3R5bGVzIiwiZ2V0VGhlbWVkTG9jYWxFbmdpbmVTY3JpcHRNaW5pZmllZCIsImdldFRoZW1lZExvY2FsRW5naW5lU3R5bGVzTWluaWZpZWQiLCJnZXRUaGVtZWRMb2NhbEVuZ2luZVNjcmlwdFNvdXJjZU1hcCIsImdldFRoZW1lZExvY2FsRW5naW5lU3R5bGVzU291cmNlTWFwIiwiZ2V0VGhlbWVkTG9jYWxFbmdpbmVTY3JpcHRNaW5pZmllZFNvdXJjZU1hcCIsImdldFRoZW1lZExvY2FsRW5naW5lU3R5bGVzTWluaWZpZWRTb3VyY2VNYXAiLCJnZXRGb3JtRm9udCIsImZpbGVOYW1lIiwiU3RyZWFtUmVzdWx0IiwibWltZSIsImxvb2t1cCIsImUiLCJOb3RGb3VuZFdlYkVycm9yIiwiZ2V0Rm9ybUltYWdlcyIsImRldlNlcnZlciIsImdldCIsIkVuZ2luZURldlNlcnZlciIsInNldCIsInN0YXJ0IiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvcjIiLCJkZWZhdWx0IiwicHJvdG90eXBlIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1pbWUgZnJvbSBcIm1pbWUtdHlwZXNcIjtcblxuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBOb3RGb3VuZFdlYkVycm9yIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL05vdEZvdW5kV2ViRXJyb3JcIjtcbmltcG9ydCB7IGh0dHBUeXBlLCBodHRwVXJsUGFyYW0gfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0F0dHJpYnV0ZVJvdXRpbmcvUGFyYW1zXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7XG4gICAgU3RyZWFtUmVzdWx0LFxuICAgIFN0cmVhbVJldHVyblJlc3VsdCxcbn0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHMvU3RyZWFtUmVzdWx0SGFuZGxlclwiO1xuaW1wb3J0IHsgU2luZ2xldG9uQ29udHJvbGxlciB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvRXhwcmVzc1dyYXBwZXIvU2luZ2xldG9uQ29udHJvbGxlclwiO1xuXG5pbXBvcnQgeyBFbmdpbmVEZXZTZXJ2ZXIgfSBmcm9tIFwiLi9EZXZTZXJ2ZXJzL0VuZ2luZURldlNlcnZlclwiO1xuXG5leHBvcnQgY2xhc3MgQnVpbGRTZXJ2ZXJMb2NhbFNvdXJjZXNFbmdpbmVDb250cm9sbGVyIGV4dGVuZHMgU2luZ2xldG9uQ29udHJvbGxlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmdpbmVEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRldlNlcnZlcnM6IE1hcDxzdHJpbmcsIEVuZ2luZURldlNlcnZlcj4gPSBuZXcgTWFwPHN0cmluZywgRW5naW5lRGV2U2VydmVyPigpO1xuICAgIHByaXZhdGUgcG9ydENvdW50ZXIgPSAxNDAwMTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkRGVidWdPbmx5OiBib29sZWFuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLCBidWlsZERlYnVnT25seTogYm9vbGVhbikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVuZ2luZURpcmVjdG9yeSA9IGVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgdGhpcy5idWlsZERlYnVnT25seSA9IGJ1aWxkRGVidWdPbmx5O1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi86dXBkYXRlLmhvdC11cGRhdGUuanNvblwiLFxuICAgICAgICBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vanNvblwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwidXBkYXRlXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldERldlNlcnZlclVwZGF0ZUpzb24odXBkYXRlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShgJHt1cGRhdGVOYW1lfS5ob3QtdXBkYXRlLmpzb25gKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvOnVwZGF0ZS5ob3QtdXBkYXRlLmpzXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qc29uXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJ1cGRhdGVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGV2U2VydmVyVXBkYXRlSnModXBkYXRlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShgJHt1cGRhdGVOYW1lfS5ob3QtdXBkYXRlLmpzYCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3NjcmlwdHMvY2FuZHlfbG9jYWwuanNcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIikpXG4gICAgcHVibGljIGFzeW5jIGdldExvY2FsRW5naW5lU2NyaXB0KCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih1bmRlZmluZWQpKS5nZXRGaWxlQXNTdHJlYW0oXCJwdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC5qc1wiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLmNzc1wiLCBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwidGV4dC9jc3NcIikpXG4gICAgcHVibGljIGFzeW5jIGdldExvY2FsRW5naW5lU3R5bGVzKCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih1bmRlZmluZWQpKS5nZXRGaWxlQXNTdHJlYW0oXCJwdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLmNzc1wiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC5taW4uanNcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIikpXG4gICAgcHVibGljIGFzeW5jIGdldExvY2FsRW5naW5lU2NyaXB0TWluaWZpZWQoKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLm1pbi5qc1wiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLm1pbi5jc3NcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcInRleHQvY3NzXCIpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRMb2NhbEVuZ2luZVN0eWxlc01pbmlmaWVkKCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih1bmRlZmluZWQpKS5nZXRGaWxlQXNTdHJlYW0oXCJwdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLm1pbi5jc3NcIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3NjcmlwdHMvY2FuZHlfbG9jYWwuanMubWFwXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIikpXG4gICAgcHVibGljIGFzeW5jIGdldExvY2FsRW5naW5lU2NyaXB0U291cmNlTWFwKCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih1bmRlZmluZWQpKS5nZXRGaWxlQXNTdHJlYW0oXCJwdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC5qcy5tYXBcIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3N0eWxlcy9jYW5keV9sb2NhbC5jc3MubWFwXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIikpXG4gICAgcHVibGljIGFzeW5jIGdldExvY2FsRW5naW5lU3R5bGVzU291cmNlTWFwKCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih1bmRlZmluZWQpKS5nZXRGaWxlQXNTdHJlYW0oXCJwdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLmNzcy5tYXBcIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3NjcmlwdHMvY2FuZHlfbG9jYWwubWluLmpzLm1hcFwiLCBodHRwUmV0dXJuLlN0cmVhbVdpdGhNaW1lKFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRMb2NhbEVuZ2luZVNjcmlwdE1pbmlmaWVkU291cmNlTWFwKCk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih1bmRlZmluZWQpKS5nZXRGaWxlQXNTdHJlYW0oXCJwdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC5taW4uanMubWFwXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwubWluLmNzcy5tYXBcIiwgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0TG9jYWxFbmdpbmVTdHlsZXNNaW5pZmllZFNvdXJjZU1hcCgpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodW5kZWZpbmVkKSkuZ2V0RmlsZUFzU3RyZWFtKFwicHVibGljL3N0eWxlcy9jYW5keV9sb2NhbC5taW4uY3NzLm1hcFwiKTtcbiAgICB9XG5cbiAgICBAaHR0cEdldChcbiAgICAgICAgXCIvcHVibGljL3NjcmlwdHMvY2FuZHlfbG9jYWwuOnRoZW1lLmpzXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJ0aGVtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRUaGVtZWRMb2NhbEVuZ2luZVNjcmlwdCh0aGVtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShcInB1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLmpzXCIpO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLjp0aGVtZS5jc3NcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcInRleHQvY3NzXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJ0aGVtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRUaGVtZWRMb2NhbEVuZ2luZVN0eWxlcyh0aGVtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHRoZW1lKSkuZ2V0RmlsZUFzU3RyZWFtKGBwdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLiR7dGhlbWV9LmNzc2ApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC46dGhlbWUubWluLmpzXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJ0aGVtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRUaGVtZWRMb2NhbEVuZ2luZVNjcmlwdE1pbmlmaWVkKHRoZW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodGhlbWUpKS5nZXRGaWxlQXNTdHJlYW0oXCJwdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC5taW4uanNcIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuOnRoZW1lLm1pbi5jc3NcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcInRleHQvY3NzXCIpLFxuICAgICAgICBodHRwVXJsUGFyYW0oXCJ0aGVtZVwiLCBodHRwVHlwZS5TdHJpbmcpXG4gICAgKVxuICAgIHB1YmxpYyBhc3luYyBnZXRUaGVtZWRMb2NhbEVuZ2luZVN0eWxlc01pbmlmaWVkKHRoZW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodGhlbWUpKS5nZXRGaWxlQXNTdHJlYW0oYHB1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuJHt0aGVtZX0ubWluLmNzc2ApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFxuICAgICAgICBcIi9wdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC46dGhlbWUuanMubWFwXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInRoZW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldFRoZW1lZExvY2FsRW5naW5lU2NyaXB0U291cmNlTWFwKHRoZW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodGhlbWUpKS5nZXRGaWxlQXNTdHJlYW0oXCJwdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC5qcy5tYXBcIik7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuOnRoZW1lLmNzcy5tYXBcIixcbiAgICAgICAgaHR0cFJldHVybi5TdHJlYW1XaXRoTWltZShcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiKSxcbiAgICAgICAgaHR0cFVybFBhcmFtKFwidGhlbWVcIiwgaHR0cFR5cGUuU3RyaW5nKVxuICAgIClcbiAgICBwdWJsaWMgYXN5bmMgZ2V0VGhlbWVkTG9jYWxFbmdpbmVTdHlsZXNTb3VyY2VNYXAodGhlbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih0aGVtZSkpLmdldEZpbGVBc1N0cmVhbShgcHVibGljL3N0eWxlcy9jYW5keV9sb2NhbC4ke3RoZW1lfS5jc3MubWFwYCk7XG4gICAgfVxuXG4gICAgQGh0dHBHZXQoXG4gICAgICAgIFwiL3B1YmxpYy9zY3JpcHRzL2NhbmR5X2xvY2FsLjp0aGVtZS5taW4uanMubWFwXCIsXG4gICAgICAgIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIiksXG4gICAgICAgIGh0dHBVcmxQYXJhbShcInRoZW1lXCIsIGh0dHBUeXBlLlN0cmluZylcbiAgICApXG4gICAgcHVibGljIGFzeW5jIGdldFRoZW1lZExvY2FsRW5naW5lU2NyaXB0TWluaWZpZWRTb3VyY2VNYXAodGhlbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih0aGVtZSkpLmdldEZpbGVBc1N0cmVhbShcbiAgICAgICAgICAgIGBwdWJsaWMvc2NyaXB0cy9jYW5keV9sb2NhbC4ke3RoZW1lfS5taW4uanMubWFwYFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9zdHlsZXMvY2FuZHlfbG9jYWwuOnRoZW1lLm1pbi5jc3MubWFwXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIikpXG4gICAgcHVibGljIGFzeW5jIGdldFRoZW1lZExvY2FsRW5naW5lU3R5bGVzTWluaWZpZWRTb3VyY2VNYXAodGhlbWU6IHN0cmluZyk6IFByb21pc2U8U3RyZWFtUmV0dXJuUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXRPckNyZWF0ZURldlNlcnZlcih0aGVtZSkpLmdldEZpbGVBc1N0cmVhbShcbiAgICAgICAgICAgIGBwdWJsaWMvc3R5bGVzL2NhbmR5X2xvY2FsLiR7dGhlbWV9Lm1pbi5jc3MubWFwYFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBodHRwR2V0KFwiL3B1YmxpYy9mb250cy86ZmlsZW5hbWVcIiwgaHR0cFJldHVybi5TdHJlYW0sIGh0dHBVcmxQYXJhbShcImZpbGVuYW1lXCIsIGh0dHBUeXBlLlN0cmluZykpXG4gICAgcHVibGljIGFzeW5jIGdldEZvcm1Gb250KGZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJlYW1SZXN1bHQoXG4gICAgICAgICAgICAgICAgYXdhaXQgKGF3YWl0IHRoaXMuZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodW5kZWZpbmVkKSkuZ2V0RmlsZUFzU3RyZWFtKGBwdWJsaWMvZm9udHMvJHtmaWxlTmFtZX1gKSxcbiAgICAgICAgICAgICAgICBtaW1lLmxvb2t1cChmaWxlTmFtZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZFdlYkVycm9yKFwiRmlsZSBub3QgZm91bmRcIiwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaHR0cEdldChcIi9wdWJsaWMvaW1hZ2VzLzpmaWxlbmFtZVwiLCBodHRwUmV0dXJuLlN0cmVhbSwgaHR0cFVybFBhcmFtKFwiZmlsZW5hbWVcIiwgaHR0cFR5cGUuU3RyaW5nKSlcbiAgICBwdWJsaWMgYXN5bmMgZ2V0Rm9ybUltYWdlcyhmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxTdHJlYW1SZXR1cm5SZXN1bHQ+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU3RyZWFtUmVzdWx0KFxuICAgICAgICAgICAgICAgIGF3YWl0IChhd2FpdCB0aGlzLmdldE9yQ3JlYXRlRGV2U2VydmVyKHVuZGVmaW5lZCkpLmdldEZpbGVBc1N0cmVhbShgcHVibGljL2ltYWdlcy8ke2ZpbGVOYW1lfWApLFxuICAgICAgICAgICAgICAgIG1pbWUubG9va3VwKGZpbGVOYW1lKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kV2ViRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZ2V0T3JDcmVhdGVEZXZTZXJ2ZXIodGhlbWU6IHVuZGVmaW5lZCB8IHN0cmluZyk6IFByb21pc2U8RW5naW5lRGV2U2VydmVyPiB7XG4gICAgICAgIGxldCBkZXZTZXJ2ZXIgPSB0aGlzLmRldlNlcnZlcnMuZ2V0KHRoZW1lID8/IFwiRGVmYXVsdFwiKTtcbiAgICAgICAgaWYgKGRldlNlcnZlciA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRldlNlcnZlciA9IG5ldyBFbmdpbmVEZXZTZXJ2ZXIodGhpcy5wb3J0Q291bnRlciwgdGhpcy5lbmdpbmVEaXJlY3RvcnksIHRoaXMuYnVpbGREZWJ1Z09ubHksIHRoZW1lKTtcbiAgICAgICAgICAgIHRoaXMucG9ydENvdW50ZXIrKztcbiAgICAgICAgICAgIHRoaXMuZGV2U2VydmVycy5zZXQodGhlbWUgPz8gXCJEZWZhdWx0XCIsIGRldlNlcnZlcik7XG4gICAgICAgICAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICAgICAgICAgIHJldHVybiBkZXZTZXJ2ZXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRldlNlcnZlcjtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsUUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLG9CQUFBLEdBQUFMLE9BQUE7QUFJQSxJQUFBTSxvQkFBQSxHQUFBTixPQUFBO0FBRUEsSUFBQU8sZ0JBQUEsR0FBQVAsT0FBQTtBQUErRCxJQUFBUSxJQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxLQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQSxFQUFBQyxNQUFBLEVBQUFDLE1BQUEsRUFBQUMsTUFBQTtBQUFBLElBRWxEQyx1Q0FBdUMsSUFBQXJCLElBQUEsR0FZL0MsSUFBQXNCLGdCQUFPLEVBQ0osMEJBQTBCLEVBQzFCQyxtQkFBVSxDQUFDQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsRUFDN0MsSUFBQUMsb0JBQVksRUFBQyxRQUFRLEVBQUVDLGdCQUFRLENBQUNDLE1BQU0sQ0FDMUMsQ0FBQyxFQUFBMUIsS0FBQSxHQUtBLElBQUFx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
@@ -1,35 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.BuildServerPrebuiltResourcesController = void 0;
9
-
10
8
  var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
11
-
12
9
  var path = _interopRequireWildcard(require("path"));
13
-
14
10
  var _Methods = require("../../../Commons/HttpServer/AttributeRouting/Methods");
15
-
16
11
  var _Results = require("../../../Commons/HttpServer/AttributeRouting/Results");
17
-
18
12
  var _StreamResultHandler = require("../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler");
19
-
20
13
  var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/SingletonController");
21
-
22
14
  var _dec, _class;
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  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; }
27
-
28
17
  let BuildServerPrebuiltResourcesController = (_dec = (0, _Methods.httpGet)("/public/scripts/polyfill.min.js", _Results.httpReturn.StreamWithMime("application/javascript")), (_class = class BuildServerPrebuiltResourcesController extends _SingletonController.SingletonController {
29
18
  async getPolyfillMin() {
30
19
  return new _StreamResultHandler.FileStreamResult(path.join(__dirname, "../../../StaticFilesForResourcesDir/polyfill.min.js"));
31
20
  }
32
-
33
21
  }, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getPolyfillMin", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getPolyfillMin"), _class.prototype)), _class));
34
22
  exports.BuildServerPrebuiltResourcesController = BuildServerPrebuiltResourcesController;
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlclByZWJ1aWx0UmVzb3VyY2VzQ29udHJvbGxlci50cyJdLCJuYW1lcyI6WyJCdWlsZFNlcnZlclByZWJ1aWx0UmVzb3VyY2VzQ29udHJvbGxlciIsImh0dHBSZXR1cm4iLCJTdHJlYW1XaXRoTWltZSIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJnZXRQb2x5ZmlsbE1pbiIsIkZpbGVTdHJlYW1SZXN1bHQiLCJwYXRoIiwiam9pbiIsIl9fZGlybmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFJQTs7Ozs7Ozs7SUFFYUEsc0MsV0FDUixzQkFBUSxpQ0FBUixFQUEyQ0Msb0JBQVdDLGNBQVgsQ0FBMEIsd0JBQTFCLENBQTNDLEMsWUFERSxNQUFNRixzQ0FBTixTQUFxREcsd0NBQXJELENBQXlFO0FBRWpELFFBQWRDLGNBQWMsR0FBZ0M7QUFDdkQsV0FBTyxJQUFJQyxxQ0FBSixDQUFxQkMsSUFBSSxDQUFDQyxJQUFMLENBQVVDLFNBQVYsRUFBcUIscURBQXJCLENBQXJCLENBQVA7QUFDSDs7QUFKMkUsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7XG4gICAgRmlsZVN0cmVhbVJlc3VsdCxcbiAgICBTdHJlYW1SZXR1cm5SZXN1bHQsXG59IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzL1N0cmVhbVJlc3VsdEhhbmRsZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyIGV4dGVuZHMgU2luZ2xldG9uQ29udHJvbGxlciB7XG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3NjcmlwdHMvcG9seWZpbGwubWluLmpzXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRQb2x5ZmlsbE1pbigpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi8uLi8uLi9TdGF0aWNGaWxlc0ZvclJlc291cmNlc0Rpci9wb2x5ZmlsbC5taW4uanNcIikpO1xuICAgIH1cbn1cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRoIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX01ldGhvZHMiLCJfUmVzdWx0cyIsIl9TdHJlYW1SZXN1bHRIYW5kbGVyIiwiX1NpbmdsZXRvbkNvbnRyb2xsZXIiLCJfZGVjIiwiX2NsYXNzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyIiwiaHR0cEdldCIsImh0dHBSZXR1cm4iLCJTdHJlYW1XaXRoTWltZSIsIlNpbmdsZXRvbkNvbnRyb2xsZXIiLCJnZXRQb2x5ZmlsbE1pbiIsIkZpbGVTdHJlYW1SZXN1bHQiLCJqb2luIiwiX19kaXJuYW1lIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvcjIiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL0NMSUNvbW1hbmRzL0J1aWxkU2VydmVyL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgaHR0cEdldCB9IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9NZXRob2RzXCI7XG5pbXBvcnQgeyBodHRwUmV0dXJuIH0gZnJvbSBcIi4uLy4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9BdHRyaWJ1dGVSb3V0aW5nL1Jlc3VsdHNcIjtcbmltcG9ydCB7XG4gICAgRmlsZVN0cmVhbVJlc3VsdCxcbiAgICBTdHJlYW1SZXR1cm5SZXN1bHQsXG59IGZyb20gXCIuLi8uLi8uLi9Db21tb25zL0h0dHBTZXJ2ZXIvQXR0cmlidXRlUm91dGluZy9SZXN1bHRzL1N0cmVhbVJlc3VsdEhhbmRsZXJcIjtcbmltcG9ydCB7IFNpbmdsZXRvbkNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL1NpbmdsZXRvbkNvbnRyb2xsZXJcIjtcblxuZXhwb3J0IGNsYXNzIEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyIGV4dGVuZHMgU2luZ2xldG9uQ29udHJvbGxlciB7XG4gICAgQGh0dHBHZXQoXCIvcHVibGljL3NjcmlwdHMvcG9seWZpbGwubWluLmpzXCIsIGh0dHBSZXR1cm4uU3RyZWFtV2l0aE1pbWUoXCJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0XCIpKVxuICAgIHB1YmxpYyBhc3luYyBnZXRQb2x5ZmlsbE1pbigpOiBQcm9taXNlPFN0cmVhbVJldHVyblJlc3VsdD4ge1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVTdHJlYW1SZXN1bHQocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi8uLi8uLi9TdGF0aWNGaWxlc0ZvclJlc291cmNlc0Rpci9wb2x5ZmlsbC5taW4uanNcIikpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxJQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBSCxPQUFBO0FBSUEsSUFBQUksb0JBQUEsR0FBQUosT0FBQTtBQUFxRyxJQUFBSyxJQUFBLEVBQUFDLE1BQUE7QUFBQSxTQUFBQyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBVCx3QkFBQWEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFYLEdBQUEsUUFBQVcsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZCxHQUFBLEVBQUFXLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFWLEdBQUEsRUFBQVcsR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWCxHQUFBLENBQUFXLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFGLEdBQUEsTUFBQUcsS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWhCLEdBQUEsRUFBQU0sTUFBQSxZQUFBQSxNQUFBO0FBQUEsSUFFeEZXLHNDQUFzQyxJQUFBeEIsSUFBQSxHQUM5QyxJQUFBeUIsZ0JBQU8sRUFBQyxpQ0FBaUMsRUFBRUMsbUJBQVUsQ0FBQ0MsY0FBYyxDQUFDLHdCQUF3QixDQUFDLENBQUMsR0FBQTFCLE1BQUEsR0FEN0YsTUFBTXVCLHNDQUFzQyxTQUFTSSx3Q0FBbUIsQ0FBQztFQUM1RSxNQUNhQyxjQUFjQSxDQUFBLEVBQWdDO0lBQ3ZELE9BQU8sSUFBSUMscUNBQWdCLENBQUNyQyxJQUFJLENBQUNzQyxJQUFJLENBQUNDLFNBQVMsRUFBRSxxREFBcUQsQ0FBQyxDQUFDO0VBQzVHO0FBQ0osQ0FBQyxPQUFBQywwQkFBQSxDQUFBeEIsT0FBQSxFQUFBUixNQUFBLENBQUFrQixTQUFBLHFCQUFBbkIsSUFBQSxHQUFBZSxNQUFBLENBQUFFLHdCQUFBLENBQUFoQixNQUFBLENBQUFrQixTQUFBLHFCQUFBbEIsTUFBQSxDQUFBa0IsU0FBQSxJQUFBbEIsTUFBQTtBQUFBaUMsT0FBQSxDQUFBVixzQ0FBQSxHQUFBQSxzQ0FBQSJ9