@kontur.candy/tools 2.184.3 → 2.185.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.
- package/CHANGELOG.md +1659 -0
- package/candy.js +0 -0
- package/distr/Common/AsyncUtils.js +1 -1
- package/distr/Common/AutoValidationUtils.js +3 -2
- package/distr/Common/CandyApiClient/CandyApiClient.js +3 -2
- package/distr/Common/CandyApiClient/CandyApiClientContext.js +5 -4
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js +1 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js +3 -2
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js +3 -2
- package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js +5 -4
- package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js +1 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js +5 -3
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js +1 -1
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js +1 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js +1 -1
- package/distr/Common/CandyApiClient/IsBuffer.js +1 -1
- package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +1 -1
- package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js +1 -1
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js +5 -3
- package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js +1 -1
- package/distr/Common/CandyApiClient/Types/DraftFullId.js +1 -1
- package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js +3 -2
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js +5 -3
- package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js +3 -2
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js +3 -2
- package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Guid.js +1 -1
- package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js +1 -1
- package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js +1 -1
- package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js +1 -1
- package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js +3 -2
- package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js +1 -1
- package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Print/PrintType.js +3 -2
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js +1 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js +1 -1
- package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js +1 -1
- package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js +1 -1
- package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js +3 -2
- package/distr/Common/CandyApiClient/Types/TestClassification.js +1 -1
- package/distr/Common/CollectionUtils.js +1 -1
- package/distr/Common/CommonConstants/SectionNames.js +1 -1
- package/distr/Common/Comparers.js +1 -1
- package/distr/Common/EmotionStorybookWorkaroundViaAliases.js +3 -3
- package/distr/Common/EndPoints.js +11 -6
- package/distr/Common/Enums/ButtonSettingsTypeEnum.js +3 -2
- package/distr/Common/Errors.js +1 -1
- package/distr/Common/ExtractGFVPath/ExtractGFVPath.js +1 -1
- package/distr/Common/FSPrinterClient/FSPrinterClient.js +2 -2
- package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js +1 -1
- package/distr/Common/FSPrinterClient/IFSPrinterClient.js +11 -6
- package/distr/Common/FormActionHandlers/ContextualActionNames.js +1 -1
- package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js +1 -1
- package/distr/Common/FormPathUtils.js +2 -2
- package/distr/Common/Funcs.js +1 -1
- package/distr/Common/GFV.js +1 -1
- package/distr/Common/Hooks/UseLocalStorage.js +3 -3
- package/distr/Common/HttpClient/AuthenticationMode.js +1 -1
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js +3 -2
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js +3 -2
- package/distr/Common/HttpClient/FetchImplementation/Fetch.js +1 -1
- package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js +3 -2
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js +1 -1
- package/distr/Common/HttpClient/HttpClient.js +2 -2
- package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js +1 -1
- package/distr/Common/HttpClient/IHttpClient.js +1 -1
- package/distr/Common/IndentString.js +1 -1
- package/distr/Common/IntRangeUtils.js +1 -1
- package/distr/Common/IterableUtils.js +1 -1
- package/distr/Common/KCLangRuntimeUtils.js +1 -1
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +2 -4
- package/distr/Common/ModelPath/BuildIterationSequence.js +1 -1
- package/distr/Common/ModelPath/EachCurrentCollision.js +3 -2
- package/distr/Common/ModelPath/IEquatable.js +1 -1
- package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js +1 -1
- package/distr/Common/ModelPath/Map/Map2.js +1 -1
- package/distr/Common/ModelPath/Map/ModelPathMap.js +1 -1
- package/distr/Common/ModelPath/ModelPath.js +1 -1
- package/distr/Common/ModelPath/ModelPathBuilder.js +1 -1
- package/distr/Common/ModelPath/ModelPathHelper.js +1 -1
- package/distr/Common/ModelPath/PathMatcher.js +3 -2
- package/distr/Common/ModelPath/PathSplitHelper.js +1 -1
- package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js +1 -1
- package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js +1 -1
- package/distr/Common/ModelPath/Set/ModelPathSet.js +1 -1
- package/distr/Common/ModelPath/Set/Set2.js +1 -1
- package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js +1 -1
- package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js +1 -1
- package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js +1 -1
- package/distr/Common/NidusClient/Fakes/FakeNidusClient.js +1 -1
- package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js +1 -1
- package/distr/Common/NidusClient/INidusClient.js +1 -1
- package/distr/Common/NidusClient/NidusClientContext.js +3 -3
- package/distr/Common/NidusClient/NidusClientImpl.js +3 -3
- package/distr/Common/PathConstants.js +7 -4
- package/distr/Common/PicklistApiClient/IPicklistApiClient.js +1 -1
- package/distr/Common/PicklistApiClient/PicklistApiClient.js +1 -1
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js +1 -1
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js +1 -1
- package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js +1 -1
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js +1 -1
- package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js +1 -1
- package/distr/Common/RngSchemeTypes/types.js +1 -1
- package/distr/Common/StringArrayKey.js +1 -1
- package/distr/Common/TextExtractor/TextExtractorTypes.js +1 -1
- package/distr/Common/TypingUtils.js +1 -1
- package/distr/Common/UUID.js +1 -1
- package/distr/Common/UseAsyncEffect.js +3 -3
- package/distr/Common/UseShowOnce.js +1 -1
- package/distr/Common/UseTypedSelector.js +3 -2
- package/distr/Common/WellKnownDirectories.js +1 -1
- package/distr/Common/getRngSchemaFilename.js +1 -1
- package/distr/Common/hashUtils.js +1 -1
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +4 -9
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +12 -6
- package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js +1 -1
- package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js +3 -3
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +3 -4
- package/distr/Tools/src/BuildTasks/Engine/EngineSource.js +1 -1
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +1 -1
- package/distr/Tools/src/BuildTasks/EngineVersionUtils.js +1 -1
- package/distr/Tools/src/BuildTasks/FSTask.js +1 -1
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js +3 -3
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +3 -3
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +1 -1
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js +1 -1
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +3 -3
- package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js +3 -3
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +3 -4
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +4 -4
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js +1 -1
- package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js +1 -1
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js +5 -5
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js +3 -3
- package/distr/Tools/src/BuildTasks/ReadFormSource.js +1 -1
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +3 -2
- package/distr/Tools/src/BuildTasks/Version.js +3 -3
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js +3 -2
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js +3 -2
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js +3 -3
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +5 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +5 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +6 -5
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +5 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js +3 -2
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js +5 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +5 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js +3 -2
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js +5 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js +5 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +4 -4
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js +3 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js +1 -1
- package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js +3 -2
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js +5 -3
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js +3 -2
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +1 -1
- package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js +3 -2
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +2 -2
- package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js +5 -4
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js +1 -1
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js +3 -2
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js +3 -2
- package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js +3 -2
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js +3 -3
- package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js +3 -2
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +1 -1
- package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js +3 -2
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js +3 -3
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +3 -2
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +1 -1
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +3 -3
- package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js +3 -2
- package/distr/Tools/src/CandyCLI.js +1 -1
- package/distr/Tools/src/CheckNodeJsVersion.js +3 -2
- package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js +1 -1
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js +3 -3
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js +1 -1
- package/distr/Tools/src/Commons/ErrorUntyped.js +1 -1
- package/distr/Tools/src/Commons/EventObject.js +1 -1
- package/distr/Tools/src/Commons/ExecUtils.js +1 -1
- package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js +1 -1
- package/distr/Tools/src/Commons/FormGlobsUtils.js +1 -1
- package/distr/Tools/src/Commons/FormLocationInfo.js +1 -1
- package/distr/Tools/src/Commons/FsUtils.js +7 -5
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js +3 -2
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js +1 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js +3 -3
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js +3 -2
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js +6 -6
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js +1 -1
- package/distr/Tools/src/Commons/Locks/Lock.js +1 -1
- package/distr/Tools/src/Commons/Locks/LockHandle.js +1 -1
- package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js +1 -1
- package/distr/Tools/src/Commons/Logging/ELKLogger.js +3 -2
- package/distr/Tools/src/Commons/Logging/ILogger.js +1 -1
- package/distr/Tools/src/Commons/Logging/InMemoryLogger.js +1 -1
- package/distr/Tools/src/Commons/Logging/Logger.js +1 -1
- package/distr/Tools/src/Commons/Logging/StaticLogger.js +1 -1
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js +1 -1
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js +3 -3
- package/distr/Tools/src/Commons/PathPattern.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/AggregatedError.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/BuildTask.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js +5 -5
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js +3 -3
- package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/Observe.js +1 -1
- package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js +1 -1
- package/distr/Tools/src/Commons/TimingUtils.js +1 -1
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js +3 -3
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js +1 -1
- package/distr/Tools/src/GenerateReadMe.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/enhancedClient.js.LICENSE.txt +3 -5
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.LICENSE.txt +3 -5
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/Options/CandyToolOptions.js +3 -2
- package/distr/Tools/src/ReadFarmConfig.js +1 -1
- package/distr/Tools/src/SelfUpdate.js +3 -3
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +686 -681
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +866 -581
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.LICENSE.txt +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js +1 -1
- package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js +1 -1
- package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js +1 -1
- package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js +1 -1
- package/package.json +24 -24
- package/distr/Common/AsyncUtils.js.map +0 -1
- package/distr/Common/AutoValidationUtils.js.map +0 -1
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +0 -1
- package/distr/Common/CandyApiClient/CandyApiClientContext.js.map +0 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/ClientDraftInfoResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/FnsFormInfo.js.map +0 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/GetClientDraftInfoUrl.js.map +0 -1
- package/distr/Common/CandyApiClient/ClientDraftInfo/PrintInfo.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithCache.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Decorators/DigestApiClientWithDebouncedBatching.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/DigestApiClient.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/Data/TaxRebate1152026.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakeDigestApiClient.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Fakes/FakePicklists.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/IDigestApiClient.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/React/DigestApiClientContext.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/TestDigestApiClient.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestQueryFilter.js.map +0 -1
- package/distr/Common/CandyApiClient/DigestApiClient/Types/DigestRequest.js.map +0 -1
- package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +0 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +0 -1
- package/distr/Common/CandyApiClient/IsBuffer.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Attachments/GetAttachmentsResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/ChangeSet/ServerChangeSet.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/DiagResourcesResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/CombineFufResult.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/ConvertDraftRequest.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/DraftActions/FufSizeTooLargeError.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/DraftFullId.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/ErrorLog/CandyPopdProtocol.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/ExplanatoryNote/CreateExplanatoryNoteResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Focus/FocusServerResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Focus/FocusTypes.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/GetInner/ServerInnerResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRawResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/GetInner/ServerRequisitesResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Guid.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/InstancesDeleting/InstancesDeletingRule.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/MassActions/MassActionParameters.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/MassActions/ValueForInstancesSettingRule.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Presentations/DraftPresentationType.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Presentations/PresentationContent.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Print/PrintResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Print/PrintType.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/AndExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CompareExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/CountCallExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/DecimalConstantExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/InstanceIdCallExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/NotExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/OrExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringConstantExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/StringMatchExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/SumCallExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/TernaryExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/Expressions/ValueReferenceExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryExpression.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryRequest.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/InnerQueryResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SelectClause.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/QueryCollecton/SortingRule.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Staff/EmployeeInfo.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesOptions.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Staff/ImportEmployeesRequest.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Staff/StaffInfo.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Tasks/GetTasksServerResponse.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/Tasks/Tasks.js.map +0 -1
- package/distr/Common/CandyApiClient/Types/TestClassification.js.map +0 -1
- package/distr/Common/CollectionUtils.js.map +0 -1
- package/distr/Common/CommonConstants/SectionNames.js.map +0 -1
- package/distr/Common/Comparers.js.map +0 -1
- package/distr/Common/EmotionStorybookWorkaroundViaAliases.js.map +0 -1
- package/distr/Common/EndPoints.js.map +0 -1
- package/distr/Common/Enums/ButtonSettingsTypeEnum.js.map +0 -1
- package/distr/Common/Errors.js.map +0 -1
- package/distr/Common/ExtractGFVPath/ExtractGFVPath.js.map +0 -1
- package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +0 -1
- package/distr/Common/FSPrinterClient/FakeFSPrinterClient.js.map +0 -1
- package/distr/Common/FSPrinterClient/IFSPrinterClient.js.map +0 -1
- package/distr/Common/FormActionHandlers/ContextualActionNames.js.map +0 -1
- package/distr/Common/FormActionHandlers/ControlNamedContextualAction.js.map +0 -1
- package/distr/Common/FormPathUtils.js.map +0 -1
- package/distr/Common/Funcs.js.map +0 -1
- package/distr/Common/GFV.js.map +0 -1
- package/distr/Common/Hooks/UseLocalStorage.js.map +0 -1
- package/distr/Common/HttpClient/AuthenticationMode.js.map +0 -1
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithOptionalPolyfill.js.map +0 -1
- package/distr/Common/HttpClient/FetchImplementation/BrowserFetchWithPolyfill.js.map +0 -1
- package/distr/Common/HttpClient/FetchImplementation/Fetch.js.map +0 -1
- package/distr/Common/HttpClient/FetchImplementation/NativeBrowserFetch.js.map +0 -1
- package/distr/Common/HttpClient/FetchImplementation/NodeFetch.js.map +0 -1
- package/distr/Common/HttpClient/HttpClient.js.map +0 -1
- package/distr/Common/HttpClient/HttpClientAuthenticationProvider.js.map +0 -1
- package/distr/Common/HttpClient/IHttpClient.js.map +0 -1
- package/distr/Common/IndentString.js.map +0 -1
- package/distr/Common/IntRangeUtils.js.map +0 -1
- package/distr/Common/IterableUtils.js.map +0 -1
- package/distr/Common/KCLangRuntimeUtils.js.map +0 -1
- package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +0 -1
- package/distr/Common/ModelPath/BuildIterationSequence.js.map +0 -1
- package/distr/Common/ModelPath/EachCurrentCollision.js.map +0 -1
- package/distr/Common/ModelPath/IEquatable.js.map +0 -1
- package/distr/Common/ModelPath/Map/AbsoluteModelPathMap.js.map +0 -1
- package/distr/Common/ModelPath/Map/Map2.js.map +0 -1
- package/distr/Common/ModelPath/Map/ModelPathMap.js.map +0 -1
- package/distr/Common/ModelPath/ModelPath.js.map +0 -1
- package/distr/Common/ModelPath/ModelPathBuilder.js.map +0 -1
- package/distr/Common/ModelPath/ModelPathHelper.js.map +0 -1
- package/distr/Common/ModelPath/PathMatcher.js.map +0 -1
- package/distr/Common/ModelPath/PathSplitHelper.js.map +0 -1
- package/distr/Common/ModelPath/Set/AbsoluteModelPathSet.js.map +0 -1
- package/distr/Common/ModelPath/Set/AbsoluteResolvedModelPathSet.js.map +0 -1
- package/distr/Common/ModelPath/Set/ModelPathSet.js.map +0 -1
- package/distr/Common/ModelPath/Set/Set2.js.map +0 -1
- package/distr/Common/NidusClient/ContextualNidusClient/ContextualNidusClient.js.map +0 -1
- package/distr/Common/NidusClient/ContextualNidusClient/IContextualNidusClient.js.map +0 -1
- package/distr/Common/NidusClient/Fakes/CreateUniqueNidusEntryId.js.map +0 -1
- package/distr/Common/NidusClient/Fakes/FakeNidusClient.js.map +0 -1
- package/distr/Common/NidusClient/Fakes/LocalStorageBasedNidusClient.js.map +0 -1
- package/distr/Common/NidusClient/INidusClient.js.map +0 -1
- package/distr/Common/NidusClient/NidusClientContext.js.map +0 -1
- package/distr/Common/NidusClient/NidusClientImpl.js.map +0 -1
- package/distr/Common/PathConstants.js.map +0 -1
- package/distr/Common/PicklistApiClient/IPicklistApiClient.js.map +0 -1
- package/distr/Common/PicklistApiClient/PicklistApiClient.js.map +0 -1
- package/distr/Common/PicklistApiClient/PicklistRequestV2Builder.js.map +0 -1
- package/distr/Common/PicklistApiClient/Serializers/DigestFilterColumnSerializer.js.map +0 -1
- package/distr/Common/PicklistApiClient/Serializers/DigestLogicalFilterSerializer.js.map +0 -1
- package/distr/Common/PicklistApiClient/Types/PicklistRequestV2.js.map +0 -1
- package/distr/Common/PicklistApiClient/Types/PicklistResultV2.js.map +0 -1
- package/distr/Common/RngSchemeTypes/types.js.map +0 -1
- package/distr/Common/StringArrayKey.js.map +0 -1
- package/distr/Common/TextExtractor/TextExtractorTypes.js.map +0 -1
- package/distr/Common/TypingUtils.js.map +0 -1
- package/distr/Common/UUID.js.map +0 -1
- package/distr/Common/UseAsyncEffect.js.map +0 -1
- package/distr/Common/UseShowOnce.js.map +0 -1
- package/distr/Common/UseTypedSelector.js.map +0 -1
- package/distr/Common/WellKnownDirectories.js.map +0 -1
- package/distr/Common/getRngSchemaFilename.js.map +0 -1
- package/distr/Common/hashUtils.js.map +0 -1
- package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +0 -1
- package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Engine/AcquireFormEngine.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Engine/AcquirePublishedEngineTask.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Engine/EngineSource.js.map +0 -1
- package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +0 -1
- package/distr/Tools/src/BuildTasks/EngineVersionUtils.js.map +0 -1
- package/distr/Tools/src/BuildTasks/FSTask.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Form/CompileForm.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Form/WriteAttachmentPathFiles.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/AcquireFormGenerator.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/AcquirePublishedGeneratorTask.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/TypedProcessWorker.js.map +0 -1
- package/distr/Tools/src/BuildTasks/ProcessUtils/ProcessUtils.js.map +0 -1
- package/distr/Tools/src/BuildTasks/ProcessUtils/ShellProcessHandle.js.map +0 -1
- package/distr/Tools/src/BuildTasks/PublishedVersionUtils.js.map +0 -1
- package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +0 -1
- package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +0 -1
- package/distr/Tools/src/BuildTasks/Version.js.map +0 -1
- package/distr/Tools/src/BuildTasks/WriteFormMeta.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildForms/BuildCacheMode.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildForms/BuildFormsOptions.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/BuildLogsWebsocketController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerClientJsFromResourcesController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerLocalSourcesEngineController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPrebuiltResourcesController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerPublishedEngineController.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ReportGeneratorErrorToPageBody.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/RunFormCompilationViaWebpackDevServer.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorker.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackDevServerWorker/WebpackDevServerWorkerFactory.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IInputFileSystem.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/IWatchFileSystem.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/WebpackInMemoryUtils/WebpackHybridFileSystem.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/GlobToRegexp.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/IGeneratedServerSideSourcesProvider.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +0 -1
- package/distr/Tools/src/CLICommands/BuildServer/StdStreamsIntercepter.js.map +0 -1
- package/distr/Tools/src/CLICommands/CommonOptions/BuildDebugOnlyOption.js.map +0 -1
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptionDefintions.js.map +0 -1
- package/distr/Tools/src/CLICommands/CommonOptions/CommonOptions.js.map +0 -1
- package/distr/Tools/src/CLICommands/DevBuild/DevBuildOptions.js.map +0 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +0 -1
- package/distr/Tools/src/CLICommands/FormStats/FormStatsOptions.js.map +0 -1
- package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js.map +0 -1
- package/distr/Tools/src/CLICommands/FormsHelper/FormsHelperController.js.map +0 -1
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/fetchfunctions/{gfv}.fetchfunctions.js.map +0 -1
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/browser/Smoke.test.js.map +0 -1
- package/distr/Tools/src/CLICommands/InitForm/EmptyFormTemplate/test/ui/DemoTest.test.js.map +0 -1
- package/distr/Tools/src/CLICommands/InitForm/InitFormOptions.js.map +0 -1
- package/distr/Tools/src/CLICommands/InitForm/RunInitForm.js.map +0 -1
- package/distr/Tools/src/CLICommands/Localization/LocalizationOptions.js.map +0 -1
- package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +0 -1
- package/distr/Tools/src/CLICommands/RenameFiles/RenameFilesOptions.js.map +0 -1
- package/distr/Tools/src/CLICommands/RenameFiles/RunRenameFiles.js.map +0 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +0 -1
- package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +0 -1
- package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js.map +0 -1
- package/distr/Tools/src/CLICommands/UpgradeForm/UpgradeFormOptions.js.map +0 -1
- package/distr/Tools/src/CandyCLI.js.map +0 -1
- package/distr/Tools/src/CheckNodeJsVersion.js.map +0 -1
- package/distr/Tools/src/Commons/ApiClient/ToolsApiClient.js.map +0 -1
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplication.js.map +0 -1
- package/distr/Tools/src/Commons/ConsoleApplication/ConsoleApplicationContext.js.map +0 -1
- package/distr/Tools/src/Commons/ErrorUntyped.js.map +0 -1
- package/distr/Tools/src/Commons/EventObject.js.map +0 -1
- package/distr/Tools/src/Commons/ExecUtils.js.map +0 -1
- package/distr/Tools/src/Commons/ExtractGfvsFromFileName.js.map +0 -1
- package/distr/Tools/src/Commons/FormGlobsUtils.js.map +0 -1
- package/distr/Tools/src/Commons/FormLocationInfo.js.map +0 -1
- package/distr/Tools/src/Commons/FsUtils.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Actions.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Methods.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/NotFoundWebError.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/CookieParamParamBinder.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/IParamBinder.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/JsonBodyParamBinder.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/StringBodyParamBinder.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlParamBinder.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/ParamBinders/UrlQueryParamBinder.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Params.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomActionResultHandler.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/CustomContentResultHandler.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/EmptyResultHandler.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/HtmlResultHandler.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/IResultHandler.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/JsonResultHandler.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/PlainTextResultHandler.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results/StreamResultHandler.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/AttributeRouting/Results.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/ExpressServerWrapper.js.map +0 -1
- package/distr/Tools/src/Commons/HttpServer/ExpressWrapper/SingletonController.js.map +0 -1
- package/distr/Tools/src/Commons/Locks/Lock.js.map +0 -1
- package/distr/Tools/src/Commons/Locks/LockHandle.js.map +0 -1
- package/distr/Tools/src/Commons/Locks/ReadWriteLockCollection.js.map +0 -1
- package/distr/Tools/src/Commons/Logging/ELKLogger.js.map +0 -1
- package/distr/Tools/src/Commons/Logging/ILogger.js.map +0 -1
- package/distr/Tools/src/Commons/Logging/InMemoryLogger.js.map +0 -1
- package/distr/Tools/src/Commons/Logging/Logger.js.map +0 -1
- package/distr/Tools/src/Commons/Logging/StaticLogger.js.map +0 -1
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.d.js.map +0 -1
- package/distr/Tools/src/Commons/Options/CommandBasedOptionsParser.js.map +0 -1
- package/distr/Tools/src/Commons/PathPattern.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/AggregatedError.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/BuildTask.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/ChainableValueProducer.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/DirectoryEntriesProducer.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/EmptyProducer.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/FileSystemEntriesProducer.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/FileValueProducer.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/FixedDirectoryEntriesProducer.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/Observe.js.map +0 -1
- package/distr/Tools/src/Commons/TasksCore/SingleValueProducer.js.map +0 -1
- package/distr/Tools/src/Commons/TimingUtils.js.map +0 -1
- package/distr/Tools/src/FormWebpackConfiguration/CacheAssetsPlugin.js.map +0 -1
- package/distr/Tools/src/FormWebpackConfiguration/createFormWebpackConfiguration.js.map +0 -1
- package/distr/Tools/src/GenerateReadMe.js.map +0 -1
- package/distr/Tools/src/Options/CandyToolOptions.js.map +0 -1
- package/distr/Tools/src/ReadFarmConfig.js.map +0 -1
- package/distr/Tools/src/SelfUpdate.js.map +0 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/jquery-1.11.3.min.js.map +0 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/polyfill.min.js.map +0 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/testing.min.js.map +0 -1
- package/distr/Tools/src/StaticFilesForResourcesDir/jquery-1.11.3.min.js.map +0 -1
- package/distr/Tools/src/StaticFilesForResourcesDir/polyfill.min.js.map +0 -1
- package/distr/Tools/src/StaticFilesForResourcesDir/testing.min.js.map +0 -1
|
@@ -4,9 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.EachCurrentCollision = void 0;
|
|
7
|
-
let EachCurrentCollision =
|
|
7
|
+
let EachCurrentCollision = /*#__PURE__*/function (EachCurrentCollision) {
|
|
8
8
|
EachCurrentCollision[EachCurrentCollision["AreSame"] = 0] = "AreSame";
|
|
9
9
|
EachCurrentCollision[EachCurrentCollision["AreDifferent"] = 1] = "AreDifferent";
|
|
10
10
|
return EachCurrentCollision;
|
|
11
11
|
}({});
|
|
12
|
-
|
|
12
|
+
exports.EachCurrentCollision = EachCurrentCollision;
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFYWNoQ3VycmVudENvbGxpc2lvbiIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL0VhY2hDdXJyZW50Q29sbGlzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVhY2hDdXJyZW50Q29sbGlzaW9uIHtcbiAgICBBcmVTYW1lLFxuICAgIEFyZURpZmZlcmVudCxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0lBQVlBLG9CQUFvQiwwQkFBcEJBLG9CQUFvQjtFQUFwQkEsb0JBQW9CLENBQXBCQSxvQkFBb0I7RUFBcEJBLG9CQUFvQixDQUFwQkEsb0JBQW9CO0VBQUEsT0FBcEJBLG9CQUFvQjtBQUFBO0FBQUFDLE9BQUEsQ0FBQUQsb0JBQUEsR0FBQUEsb0JBQUEifQ==
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9JRXF1YXRhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUVxdWF0YWJsZTxUPiB7XG4gICAgaXNFcXVhbHMocmlnaHQ6IFQpOiBib29sZWFuO1xuICAgIGdldEhhc2goKTogbnVtYmVyO1xufVxuIl0sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -20,4 +20,4 @@ class AbsoluteModelPathMap extends _Map.Map2 {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.AbsoluteModelPathMap = AbsoluteModelPathMap;
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX01hcCIsIkFic29sdXRlTW9kZWxQYXRoTWFwIiwiTWFwMiIsImNvbnN0cnVjdG9yIiwiZWFjaEN1cnJlbnRDb2xsaXNpb24iLCJFYWNoQ3VycmVudENvbGxpc2lvbiIsIkFyZVNhbWUiLCJhcmVLZXlFcXVhbCIsImxlZnQiLCJyaWdodCIsImlzRXF1YWxzIiwiZ2V0S2V5SGFzaCIsImtleSIsImdldEhhc2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9NYXAvQWJzb2x1dGVNb2RlbFBhdGhNYXAudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzb2x1dGVNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBNYXAyIH0gZnJvbSBcIi4vTWFwMlwiO1xuXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVNb2RlbFBhdGhNYXA8Vj4gZXh0ZW5kcyBNYXAyPEFic29sdXRlTW9kZWxQYXRoLCBWPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb247XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uID0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlU2FtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uID0gZWFjaEN1cnJlbnRDb2xsaXNpb247XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFyZUtleUVxdWFsKGxlZnQ6IEFic29sdXRlTW9kZWxQYXRoLCByaWdodDogQWJzb2x1dGVNb2RlbFBhdGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGxlZnQuaXNFcXVhbHMocmlnaHQsIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRLZXlIYXNoKGtleTogQWJzb2x1dGVNb2RlbFBhdGgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4ga2V5LmdldEhhc2godGhpcy5lYWNoQ3VycmVudENvbGxpc2lvbik7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxxQkFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsSUFBQSxHQUFBRCxPQUFBO0FBRU8sTUFBTUUsb0JBQW9CLFNBQVlDLFNBQUksQ0FBdUI7RUFHN0RDLFdBQVdBLENBQUNDLG9CQUEwQyxHQUFHQywwQ0FBb0IsQ0FBQ0MsT0FBTyxFQUFFO0lBQzFGLEtBQUssQ0FBQyxDQUFDO0lBQUMsS0FIS0Ysb0JBQW9CO0lBSWpDLElBQUksQ0FBQ0Esb0JBQW9CLEdBQUdBLG9CQUFvQjtFQUNwRDtFQUVVRyxXQUFXQSxDQUFDQyxJQUF1QixFQUFFQyxLQUF3QixFQUFXO0lBQzlFLE9BQU9ELElBQUksQ0FBQ0UsUUFBUSxDQUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDTCxvQkFBb0IsQ0FBQztFQUMxRDtFQUVVTyxVQUFVQSxDQUFDQyxHQUFzQixFQUFVO0lBQ2pELE9BQU9BLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ1Qsb0JBQW9CLENBQUM7RUFDakQ7QUFDSjtBQUFDVSxPQUFBLENBQUFiLG9CQUFBLEdBQUFBLG9CQUFBIn0=
|
|
@@ -96,4 +96,4 @@ class Map2 {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
exports.Map2 = Map2;
|
|
99
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwaW5nVXRpbHMiLCJyZXF1aXJlIiwiX0l0ZXJhYmxlVXRpbHMiLCJNYXAyIiwiY29uc3RydWN0b3IiLCJpdGVyYWJsZSIsImhhc2hNYXAiLCJNYXAiLCJ1bmRlZmluZWQiLCJrZXkiLCJ2YWx1ZSIsInNldCIsInNldE9yVXBkYXRlIiwiZ2V0T3JTZXQiLCJkZWZhdWx0VmFsdWVGYWN0b3J5IiwiayIsInYiLCJnZXQiLCJfdGhpcyRnZXRFbnRyeU9yVW5kZWYiLCJnZXRFbnRyeU9yVW5kZWZpbmVkIiwiaGFzIiwicmVtb3ZlIiwiaGFzaCIsImdldEtleUhhc2giLCJsaXN0IiwicmVtb3ZpbmdFbnRyeSIsIkl0ZXJhdG9yIiwiZnJvbSIsIkl0ZXJVdGlscyIsIml0ZXJhdGVFbnRyaWVzIiwiZmluZCIsImluZGV4IiwiaXRlbUtleSIsIml0ZW1WYWx1ZSIsImFyZUtleUVxdWFsIiwic3BsaWNlIiwiaXNFbXB0eSIsInNpemUiLCJuZXdWYWx1ZUZhY3RvcnkiLCJ1cGRhdGVWYWx1ZUZhY3RvcnkiLCJyZXN1bHQiLCJpdGVtSW5kZXgiLCJmaW5kSW5kZXgiLCJ4IiwicHVzaCIsIl9saXN0JGl0ZW1JbmRleCIsImVudHJ5IiwicmVqZWN0Iiwia2V5cyIsImVudHJpZXMiLCJtYXAiLCJlIiwidmFsdWVzIiwiZmxhdE1hcCIsImNsZWFyIiwiZ2V0SGFzaCIsImxlZnQiLCJyaWdodCIsImlzRXF1YWxzIiwiX3RoaXMkaGFzaE1hcCRnZXQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9NYXAvTWFwMi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vLi4vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IElFcXVhdGFibGUgfSBmcm9tIFwiLi4vSUVxdWF0YWJsZVwiO1xuaW1wb3J0IHsgSXRlclV0aWxzIH0gZnJvbSBcIi4uLy4uL0l0ZXJhYmxlVXRpbHNcIjtcblxuZXhwb3J0IGNsYXNzIE1hcDI8SyBleHRlbmRzIElFcXVhdGFibGU8Sz4sIFY+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhc2hNYXAgPSBuZXcgTWFwPG51bWJlciwgQXJyYXk8W0ssIFZdPj4oKTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihpdGVyYWJsZT86IEl0ZXJhYmxlPHJlYWRvbmx5IFtLLCBWXT4pIHtcbiAgICAgICAgaWYgKGl0ZXJhYmxlICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgaXRlcmFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXQoa2V5OiBLLCB2YWx1ZTogVik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE9yVXBkYXRlKFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgKCkgPT4gdmFsdWUsXG4gICAgICAgICAgICAoKSA9PiB2YWx1ZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPclNldChrZXk6IEssIGRlZmF1bHRWYWx1ZUZhY3Rvcnk6ICgpID0+IFYpOiBWIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0T3JVcGRhdGUoa2V5LCBkZWZhdWx0VmFsdWVGYWN0b3J5LCAoaywgdikgPT4gdik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IEspOiBWIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50cnlPclVuZGVmaW5lZChrZXkpPy5bMV07XG4gICAgfVxuXG4gICAgcHVibGljIGhhcyhrZXk6IEspOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50cnlPclVuZGVmaW5lZChrZXkpICE9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogSyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBoYXNoID0gdGhpcy5nZXRLZXlIYXNoKGtleSk7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmhhc2hNYXAuZ2V0KGhhc2gpO1xuICAgICAgICBpZiAobGlzdCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbW92aW5nRW50cnkgPSBJdGVyYXRvci5mcm9tKEl0ZXJVdGlscy5pdGVyYXRlRW50cmllcyhsaXN0KSkuZmluZCgoW2luZGV4LCBbaXRlbUtleSwgaXRlbVZhbHVlXV0pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5hcmVLZXlFcXVhbChpdGVtS2V5LCBrZXkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHJlbW92aW5nRW50cnkgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgbGlzdC5zcGxpY2UocmVtb3ZpbmdFbnRyeVswXSwgMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzaE1hcC5zaXplID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINGB0LvQvtCy0LDRgNC1INC/0L4g0LrQu9GO0YfRjiwg0LXRgdC70Lgg0LfQvdCw0YfQtdC90LjRjyDQvdC10YIgLS0g0YPRgdGC0L3QsNCy0LjRgiDQvdC+0LLQvtC1XG4gICAgICogQHBhcmFtIGtleSDQutC70Y7RhyDRgdC70L7QstCw0YDRjyDQtNC70Y8g0YDQvtCx0L3QvtCy0LvQtdC90LjRj1xuICAgICAqIEBwYXJhbSBuZXdWYWx1ZUZhY3Rvcnkg0JXRgdC70Lgg0LfQvdCw0YfQtdC90LjRjyDQvdC10YIgLS0g0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvSDRgNC10LfRg9C70YzRgtCw0YIg0Y3RgtC+0Lkg0YTRg9C90LrRhtC40LhcbiAgICAgKiBAcGFyYW0gdXBkYXRlVmFsdWVGYWN0b3J5INCV0YHQu9C4INC30L3QsNGH0LXQvdC40LUg0LXRgdGC0YwgLS0g0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvSDRgNC10LfRg9C70YzRgtCw0YIg0Y3RgtC+0Lkg0YTRg9C90LrRhtC40LhcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0T3JVcGRhdGUoa2V5OiBLLCBuZXdWYWx1ZUZhY3Rvcnk6IChrZXk6IEspID0+IFYsIHVwZGF0ZVZhbHVlRmFjdG9yeTogKGtleTogSywgdXBkYXRlOiBWKSA9PiBWKTogViB7XG4gICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmdldEtleUhhc2goa2V5KTtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuaGFzaE1hcC5nZXQoaGFzaCk7XG4gICAgICAgIGlmIChsaXN0ID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3VmFsdWVGYWN0b3J5KGtleSk7XG4gICAgICAgICAgICB0aGlzLmhhc2hNYXAuc2V0KGhhc2gsIFtba2V5LCByZXN1bHRdXSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gbGlzdC5maW5kSW5kZXgoeCA9PiB0aGlzLmFyZUtleUVxdWFsKHhbMF0sIGtleSkpO1xuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCA9PSAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ld1ZhbHVlRmFjdG9yeShrZXkpO1xuICAgICAgICAgICAgICAgIGxpc3QucHVzaChba2V5LCByZXN1bHRdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbnRyeSA9IGxpc3RbaXRlbUluZGV4XSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgICAgICBlbnRyeVsxXSA9IHVwZGF0ZVZhbHVlRmFjdG9yeShrZXksIGVudHJ5WzFdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZW50cnlbMV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMga2V5cygpOiBJdGVyYWJsZTxLPiB7XG4gICAgICAgIHJldHVybiBJdGVyYXRvci5mcm9tKHRoaXMuZW50cmllcygpKS5tYXAoZSA9PiBlWzBdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWVzKCk6IEl0ZXJhYmxlPFY+IHtcbiAgICAgICAgcmV0dXJuIEl0ZXJhdG9yLmZyb20odGhpcy5lbnRyaWVzKCkpLm1hcChlID0+IGVbMV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbnRyaWVzKCk6IEl0ZXJhYmxlPFtrZXk6IEssIHZhbHVlOiBWXT4ge1xuICAgICAgICByZXR1cm4gSXRlcmF0b3IuZnJvbSh0aGlzLmhhc2hNYXAudmFsdWVzKCkpLmZsYXRNYXAoeCA9PiB4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzaE1hcC5jbGVhcigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRLZXlIYXNoKGtleTogSyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBrZXkuZ2V0SGFzaCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhcmVLZXlFcXVhbChsZWZ0OiBLLCByaWdodDogSyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbGVmdC5pc0VxdWFscyhyaWdodCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbnRyeU9yVW5kZWZpbmVkKGtleTogSyk6IFtLLCBWXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmdldEtleUhhc2goa2V5KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzaE1hcC5nZXQoaGFzaCk/LmZpbmQoeCA9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
|
|
99
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHlwaW5nVXRpbHMiLCJyZXF1aXJlIiwiX0l0ZXJhYmxlVXRpbHMiLCJNYXAyIiwiY29uc3RydWN0b3IiLCJpdGVyYWJsZSIsImhhc2hNYXAiLCJNYXAiLCJ1bmRlZmluZWQiLCJrZXkiLCJ2YWx1ZSIsInNldCIsInNldE9yVXBkYXRlIiwiZ2V0T3JTZXQiLCJkZWZhdWx0VmFsdWVGYWN0b3J5IiwiayIsInYiLCJnZXQiLCJfdGhpcyRnZXRFbnRyeU9yVW5kZWYiLCJnZXRFbnRyeU9yVW5kZWZpbmVkIiwiaGFzIiwicmVtb3ZlIiwiaGFzaCIsImdldEtleUhhc2giLCJsaXN0IiwicmVtb3ZpbmdFbnRyeSIsIkl0ZXJhdG9yIiwiZnJvbSIsIkl0ZXJVdGlscyIsIml0ZXJhdGVFbnRyaWVzIiwiZmluZCIsImluZGV4IiwiaXRlbUtleSIsIml0ZW1WYWx1ZSIsImFyZUtleUVxdWFsIiwic3BsaWNlIiwiaXNFbXB0eSIsInNpemUiLCJuZXdWYWx1ZUZhY3RvcnkiLCJ1cGRhdGVWYWx1ZUZhY3RvcnkiLCJyZXN1bHQiLCJpdGVtSW5kZXgiLCJmaW5kSW5kZXgiLCJ4IiwicHVzaCIsIl9saXN0JGl0ZW1JbmRleCIsImVudHJ5IiwicmVqZWN0Iiwia2V5cyIsImVudHJpZXMiLCJtYXAiLCJlIiwidmFsdWVzIiwiZmxhdE1hcCIsImNsZWFyIiwiZ2V0SGFzaCIsImxlZnQiLCJyaWdodCIsImlzRXF1YWxzIiwiX3RoaXMkaGFzaE1hcCRnZXQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9NYXAvTWFwMi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWplY3QgfSBmcm9tIFwiLi4vLi4vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IElFcXVhdGFibGUgfSBmcm9tIFwiLi4vSUVxdWF0YWJsZVwiO1xuaW1wb3J0IHsgSXRlclV0aWxzIH0gZnJvbSBcIi4uLy4uL0l0ZXJhYmxlVXRpbHNcIjtcblxuZXhwb3J0IGNsYXNzIE1hcDI8SyBleHRlbmRzIElFcXVhdGFibGU8Sz4sIFY+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhc2hNYXAgPSBuZXcgTWFwPG51bWJlciwgQXJyYXk8W0ssIFZdPj4oKTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihpdGVyYWJsZT86IEl0ZXJhYmxlPHJlYWRvbmx5IFtLLCBWXT4pIHtcbiAgICAgICAgaWYgKGl0ZXJhYmxlICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgaXRlcmFibGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXQoa2V5OiBLLCB2YWx1ZTogVik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE9yVXBkYXRlKFxuICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgKCkgPT4gdmFsdWUsXG4gICAgICAgICAgICAoKSA9PiB2YWx1ZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPclNldChrZXk6IEssIGRlZmF1bHRWYWx1ZUZhY3Rvcnk6ICgpID0+IFYpOiBWIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0T3JVcGRhdGUoa2V5LCBkZWZhdWx0VmFsdWVGYWN0b3J5LCAoaywgdikgPT4gdik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IEspOiBWIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50cnlPclVuZGVmaW5lZChrZXkpPy5bMV07XG4gICAgfVxuXG4gICAgcHVibGljIGhhcyhrZXk6IEspOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW50cnlPclVuZGVmaW5lZChrZXkpICE9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogSyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBoYXNoID0gdGhpcy5nZXRLZXlIYXNoKGtleSk7XG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmhhc2hNYXAuZ2V0KGhhc2gpO1xuICAgICAgICBpZiAobGlzdCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlbW92aW5nRW50cnkgPSBJdGVyYXRvci5mcm9tKEl0ZXJVdGlscy5pdGVyYXRlRW50cmllcyhsaXN0KSkuZmluZCgoW2luZGV4LCBbaXRlbUtleSwgaXRlbVZhbHVlXV0pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5hcmVLZXlFcXVhbChpdGVtS2V5LCBrZXkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKHJlbW92aW5nRW50cnkgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgbGlzdC5zcGxpY2UocmVtb3ZpbmdFbnRyeVswXSwgMSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzaE1hcC5zaXplID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINGB0LvQvtCy0LDRgNC1INC/0L4g0LrQu9GO0YfRjiwg0LXRgdC70Lgg0LfQvdCw0YfQtdC90LjRjyDQvdC10YIgLS0g0YPRgdGC0L3QsNCy0LjRgiDQvdC+0LLQvtC1XG4gICAgICogQHBhcmFtIGtleSDQutC70Y7RhyDRgdC70L7QstCw0YDRjyDQtNC70Y8g0YDQvtCx0L3QvtCy0LvQtdC90LjRj1xuICAgICAqIEBwYXJhbSBuZXdWYWx1ZUZhY3Rvcnkg0JXRgdC70Lgg0LfQvdCw0YfQtdC90LjRjyDQvdC10YIgLS0g0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvSDRgNC10LfRg9C70YzRgtCw0YIg0Y3RgtC+0Lkg0YTRg9C90LrRhtC40LhcbiAgICAgKiBAcGFyYW0gdXBkYXRlVmFsdWVGYWN0b3J5INCV0YHQu9C4INC30L3QsNGH0LXQvdC40LUg0LXRgdGC0YwgLS0g0LHRg9C00LXRgiDRg9GB0YLQsNC90L7QstC70LXQvSDRgNC10LfRg9C70YzRgtCw0YIg0Y3RgtC+0Lkg0YTRg9C90LrRhtC40LhcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0T3JVcGRhdGUoa2V5OiBLLCBuZXdWYWx1ZUZhY3Rvcnk6IChrZXk6IEspID0+IFYsIHVwZGF0ZVZhbHVlRmFjdG9yeTogKGtleTogSywgdXBkYXRlOiBWKSA9PiBWKTogViB7XG4gICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmdldEtleUhhc2goa2V5KTtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuaGFzaE1hcC5nZXQoaGFzaCk7XG4gICAgICAgIGlmIChsaXN0ID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3VmFsdWVGYWN0b3J5KGtleSk7XG4gICAgICAgICAgICB0aGlzLmhhc2hNYXAuc2V0KGhhc2gsIFtba2V5LCByZXN1bHRdXSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gbGlzdC5maW5kSW5kZXgoeCA9PiB0aGlzLmFyZUtleUVxdWFsKHhbMF0sIGtleSkpO1xuICAgICAgICAgICAgaWYgKGl0ZW1JbmRleCA9PSAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ld1ZhbHVlRmFjdG9yeShrZXkpO1xuICAgICAgICAgICAgICAgIGxpc3QucHVzaChba2V5LCByZXN1bHRdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbnRyeSA9IGxpc3RbaXRlbUluZGV4XSA/PyByZWplY3QoKTtcbiAgICAgICAgICAgICAgICBlbnRyeVsxXSA9IHVwZGF0ZVZhbHVlRmFjdG9yeShrZXksIGVudHJ5WzFdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZW50cnlbMV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMga2V5cygpOiBJdGVyYWJsZTxLPiB7XG4gICAgICAgIHJldHVybiBJdGVyYXRvci5mcm9tKHRoaXMuZW50cmllcygpKS5tYXAoZSA9PiBlWzBdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWVzKCk6IEl0ZXJhYmxlPFY+IHtcbiAgICAgICAgcmV0dXJuIEl0ZXJhdG9yLmZyb20odGhpcy5lbnRyaWVzKCkpLm1hcChlID0+IGVbMV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbnRyaWVzKCk6IEl0ZXJhYmxlPFtrZXk6IEssIHZhbHVlOiBWXT4ge1xuICAgICAgICByZXR1cm4gSXRlcmF0b3IuZnJvbSh0aGlzLmhhc2hNYXAudmFsdWVzKCkpLmZsYXRNYXAoeCA9PiB4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzaE1hcC5jbGVhcigpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRLZXlIYXNoKGtleTogSyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBrZXkuZ2V0SGFzaCgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhcmVLZXlFcXVhbChsZWZ0OiBLLCByaWdodDogSyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbGVmdC5pc0VxdWFscyhyaWdodCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbnRyeU9yVW5kZWZpbmVkKGtleTogSyk6IFtLLCBWXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmdldEtleUhhc2goa2V5KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzaE1hcC5nZXQoaGFzaCk/LmZpbmQoeCA9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
|
|
@@ -20,4 +20,4 @@ class ModelPathMap extends _Map.Map2 {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.ModelPathMap = ModelPathMap;
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX01hcCIsIk1vZGVsUGF0aE1hcCIsIk1hcDIiLCJjb25zdHJ1Y3RvciIsImVhY2hDdXJyZW50Q29sbGlzaW9uIiwiRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJBcmVTYW1lIiwiYXJlS2V5RXF1YWwiLCJsZWZ0IiwicmlnaHQiLCJpc0VxdWFscyIsImdldEtleUhhc2giLCJrZXkiLCJnZXRIYXNoIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Nb2RlbFBhdGgvTWFwL01vZGVsUGF0aE1hcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBNYXAyIH0gZnJvbSBcIi4vTWFwMlwiO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxQYXRoTWFwPFY+IGV4dGVuZHMgTWFwMjxNb2RlbFBhdGgsIFY+
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX01hcCIsIk1vZGVsUGF0aE1hcCIsIk1hcDIiLCJjb25zdHJ1Y3RvciIsImVhY2hDdXJyZW50Q29sbGlzaW9uIiwiRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJBcmVTYW1lIiwiYXJlS2V5RXF1YWwiLCJsZWZ0IiwicmlnaHQiLCJpc0VxdWFscyIsImdldEtleUhhc2giLCJrZXkiLCJnZXRIYXNoIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Nb2RlbFBhdGgvTWFwL01vZGVsUGF0aE1hcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBNYXAyIH0gZnJvbSBcIi4vTWFwMlwiO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxQYXRoTWFwPFY+IGV4dGVuZHMgTWFwMjxNb2RlbFBhdGgsIFY+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVhY2hDdXJyZW50Q29sbGlzaW9uOiBFYWNoQ3VycmVudENvbGxpc2lvbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb24gPSBFYWNoQ3VycmVudENvbGxpc2lvbi5BcmVTYW1lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24gPSBlYWNoQ3VycmVudENvbGxpc2lvbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXJlS2V5RXF1YWwobGVmdDogTW9kZWxQYXRoLCByaWdodDogTW9kZWxQYXRoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBsZWZ0LmlzRXF1YWxzKHJpZ2h0LCB0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0S2V5SGFzaChrZXk6IE1vZGVsUGF0aCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBrZXkuZ2V0SGFzaCh0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLHFCQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxJQUFBLEdBQUFELE9BQUE7QUFFTyxNQUFNRSxZQUFZLFNBQVlDLFNBQUksQ0FBZTtFQUc3Q0MsV0FBV0EsQ0FBQ0Msb0JBQTBDLEdBQUdDLDBDQUFvQixDQUFDQyxPQUFPLEVBQUU7SUFDMUYsS0FBSyxDQUFDLENBQUM7SUFBQyxLQUhLRixvQkFBb0I7SUFJakMsSUFBSSxDQUFDQSxvQkFBb0IsR0FBR0Esb0JBQW9CO0VBQ3BEO0VBRVVHLFdBQVdBLENBQUNDLElBQWUsRUFBRUMsS0FBZ0IsRUFBVztJQUM5RCxPQUFPRCxJQUFJLENBQUNFLFFBQVEsQ0FBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQ0wsb0JBQW9CLENBQUM7RUFDMUQ7RUFFVU8sVUFBVUEsQ0FBQ0MsR0FBYyxFQUFVO0lBQ3pDLE9BQU9BLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ1Qsb0JBQW9CLENBQUM7RUFDakQ7QUFDSjtBQUFDVSxPQUFBLENBQUFiLFlBQUEsR0FBQUEsWUFBQSJ9
|
|
@@ -459,4 +459,4 @@ class ModelPathImpl {
|
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
461
|
exports.ModelPathImpl = ModelPathImpl;
|
|
462
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSXRlcmFibGVVdGlscyIsInJlcXVpcmUiLCJfVHlwaW5nVXRpbHMiLCJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJfTW9kZWxQYXRoQnVpbGRlciIsIl9QYXRoTWF0Y2hlciIsIkVhY2hTeW1ib2wiLCJTeW1ib2wiLCJmb3IiLCJDdXJyZW50U3ltYm9sIiwiUGF0aFRva2VucyIsImlzTXVsdGlUb2tlbiIsInBhcnQiLCJlYWNoIiwiY3VycmVudCIsImlzU2ltcGxlVG9rZW4iLCJpc0luc3RhbmNlVG9rZW4iLCJ0ZXN0IiwiaXNJbnN0YW5jZVRva2VuT3JJbnN0YW5jZXNTcGVjIiwiZXhwb3J0cyIsImlzTW9kZWxQYXRoIiwicGF0aCIsIk1vZGVsUGF0aEltcGwiLCJjb252ZXJ0VG9MZWdhY3lQYXRoIiwidG9MZWdhY3lQYXRoIiwiY29udmVydFRvQWJzb2x1dGVNb2RlbFBhdGgiLCJjcmVhdGVBYnNvbHV0ZUZyb21NYXNrIiwiZW1wdHlNb2RlbFBhdGgiLCJlbXB0eUFic29sdXRlTW9kZWxQYXRoIiwiY3JlYXRlTW9kZWxQYXRoIiwiYWJzb2x1dGUiLCJwYXJ0UGFydFN0cmluZ3MiLCJzcGxpdCIsImVuc3VyZVBsYWluUGF0aFBhcnRzRG9lc05vdENvbnRhaW5NdWx0aXBsaWNpdHkiLCJzdGFydHNXaXRoIiwic2xpY2UiLCJjcmVhdGVGcm9tTWFzayIsIm11bHRpcGxpY2l0eVN5bWJvbCIsIm1hcCIsIngiLCJwYXJ0cyIsInNvbWUiLCJFcnJvciIsImNyZWF0ZUFic29sdXRlIiwiY3JlYXRlUmVsYXRpdmVSZXNvbHZlZE1vZGVsUGF0aCIsImNyZWF0ZUFic29sdXRlRnJvbVRva2VucyIsInRva2VucyIsImNyZWF0ZUFic29sdXRlUmVzb2x2ZWRGcm9tVG9rZW5zIiwiY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zIiwiam9pbk1vZGVsUGF0aHMiLCJyZXN1bHRQYXJ0cyIsImpvaW5JdGVtIiwicHVzaCIsImlzQWJzb2x1dGUiLCJnZXRQYXRoUGFydHNBc0FycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiaXNBbGxUb2tlbnNSZXNvbHZlZCIsImV2ZXJ5IiwiY29uc3RydWN0b3IiLCJwYXRoUGFydHMiLCJsZWdhY3lQYXRoIiwiY2FjaGVkSGFzaCIsImZpbHRlciIsInJlc29sdmVkIiwiZ2V0UGF0aFBhcnRzIiwiZ2V0U2ltcGxlVG9rZW5zU3RyaWN0IiwidG9rZW4iLCJnZXRTaW1wbGVUb2tlbnNBc0FycmF5U3RyaWN0Iiwiam9pbldpdGgiLCJpc1Jlc29sdmVkIiwicmVzb2x2ZUFsbCIsImluc3RhbmNlIiwiaXNDb250YWluSXRlcmF0aW9uIiwiaXNDb250YWluQ3VycmVudEl0ZXJhdGlvbiIsImlzQ29udGFpbkN1cnJlbnRPckVhY2hJdGVyYXRpb24iLCJnZXRMYXN0TGlzdFBhdGgiLCJsYXN0SXRlcmF0aW9uSW5kZXgiLCJsYXN0SW5kZXhPZiIsImlzRW5kc1dpdGhJdGVyYXRpb24iLCJsYXN0SXRlbSIsIkl0ZXJVdGlscyIsImxhc3QiLCJpc0VuZHNXaXRoQ3VycmVudEl0ZXJhdGlvbiIsInRvU3RyaW5nIiwibGVuZ3RoIiwicGF0aFBhcnRUb1N0cmluZyIsImpvaW4iLCJfdGhpcyRsZWdhY3lQYXRoIiwiaXNFcXVhbHMiLCJtb2RlbFBhdGgiLCJlYWNoQ3VycmVudENvbGxpc2lvbiIsIkVhY2hDdXJyZW50Q29sbGlzaW9uIiwiQXJlU2FtZSIsIkl0ZXJhdG9yIiwiZnJvbSIsInppcCIsInQxIiwidDIiLCJnZXRIYXNoIiwidW5kZWZpbmVkIiwiaGFzaCIsInJldmVyc2VBcnJheSIsImN1cnJlbnRTdHIiLCJBcmVEaWZmZXJlbnQiLCJzdHJpbmdJbmRleCIsImNoYXJDb2RlQXQiLCJpc0luY2x1ZGVzIiwidGFyZ2V0VG9rZW5zIiwiaSIsImxlZnRQYXJ0IiwicmlnaHRQYXJ0IiwiaXNGaW5pdGUiLCJOdW1iZXIiLCJnZXRJdGVyYXRpb25SYW5rIiwiY291bnQiLCJpc0VtcHR5IiwibWF0Y2hGb3IiLCJQYXRoTWF0Y2hlciIsIm1hdGNoIiwidGhpc1BhcnRzIiwib3RoZXJQYXJ0cyIsInZhbHVlIiwiaW5kZXgiLCJzcGxpdEJ5TXVsdGlwbGljaXR5IiwibGFzdFNpbXBsZVBhcnRzIiwiTW9kZWxQYXRoQnVpbGRlciIsImFwcGVuZCIsImVtcHR5IiwidG9SZXNvbHZlZFBhdGgiLCJub3JtYWxpemUiLCJyZXN1bHRUb2tlbnMiLCJwYXRoUGFydCIsInBvcCIsInRvQ3VycmVudEl0ZXJhdGlvbiIsInRvRWFjaEl0ZXJhdGlvbiIsInRvQWJzb2x1dGUiLCJnZXRBbGxQYXJlbnRQYXRocyIsInJlc3VsdCIsInNraXBMYXN0IiwidG9QYXRoIiwidHJpbUxhc3RTdGFySWZMYXN0VG9rZW4iLCJnZXRQYXJlbnRQYXRoIiwiYXBwbHlJbnN0YW5jZXNEaXJ0eSIsImluc3RhbmNlcyIsImZpbGxXaXRoTXVsdGlwbGljaXR5SWZIYXNOb0luc3RhbmNlIiwiaW5zdGFuY2VDb3VudGVyIiwiX2luc3RhbmNlcyRpbnN0YW5jZUNvIiwiaW5zdGFuY2VPckVhY2giLCJyZWplY3QiLCJlbnN1cmVBbmRHZXRTdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL01vZGVsUGF0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaW5kaW5nUGF0aCB9IGZyb20gXCIuLi8uLi9FbmdpbmUvc3JjL0VuZ2luZS9Db3JlL0NvcmVUeXBlc1wiO1xuaW1wb3J0IHsgY291bnQsIEl0ZXJVdGlscywgcmV2ZXJzZUFycmF5IH0gZnJvbSBcIi4uL0l0ZXJhYmxlVXRpbHNcIjtcbmltcG9ydCB7IGVuc3VyZUFuZEdldFN0cmluZywgcmVqZWN0IH0gZnJvbSBcIi4uL1R5cGluZ1V0aWxzXCI7XG5cbmltcG9ydCB7IEVhY2hDdXJyZW50Q29sbGlzaW9uIH0gZnJvbSBcIi4vRWFjaEN1cnJlbnRDb2xsaXNpb25cIjtcbmltcG9ydCB7IE1vZGVsUGF0aEJ1aWxkZXIgfSBmcm9tIFwiLi9Nb2RlbFBhdGhCdWlsZGVyXCI7XG5pbXBvcnQgeyBQYXRoTWF0Y2hlciwgUGF0aE1hdGNoaW5nIH0gZnJvbSBcIi4vUGF0aE1hdGNoZXJcIjtcbmltcG9ydCB7IElFcXVhdGFibGUgfSBmcm9tIFwiLi9JRXF1YXRhYmxlXCI7XG5cbmNvbnN0IEVhY2hTeW1ib2wgPSBTeW1ib2wuZm9yKFwiX19FQUNIX19cIik7XG5jb25zdCBDdXJyZW50U3ltYm9sID0gU3ltYm9sLmZvcihcIl9fQ1VSUkVOVF9fXCIpO1xuXG5leHBvcnQgY2xhc3MgUGF0aFRva2VucyB7XG4gICAgcHVibGljIHN0YXRpYyBlYWNoOiB0eXBlb2YgRWFjaFN5bWJvbCA9IEVhY2hTeW1ib2w7XG4gICAgcHVibGljIHN0YXRpYyBjdXJyZW50OiB0eXBlb2YgQ3VycmVudFN5bWJvbCA9IEN1cnJlbnRTeW1ib2w7XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzTXVsdGlUb2tlbihwYXJ0OiB1bmRlZmluZWQgfCBQYXRoVG9rZW4pOiBwYXJ0IGlzIHR5cGVvZiBFYWNoU3ltYm9sIHwgdHlwZW9mIEN1cnJlbnRTeW1ib2wge1xuICAgICAgICByZXR1cm4gcGFydCA9PT0gUGF0aFRva2Vucy5lYWNoIHx8IHBhcnQgPT09IFBhdGhUb2tlbnMuY3VycmVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzU2ltcGxlVG9rZW4ocGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuKTogcGFydCBpcyBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHBhcnQgPT09IFwic3RyaW5nXCI7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0luc3RhbmNlVG9rZW4ocGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuKTogcGFydCBpcyBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHBhcnQgPT09IFwic3RyaW5nXCIgJiYgL15cXGQrJC9pLnRlc3QocGFydCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0luc3RhbmNlVG9rZW5Pckluc3RhbmNlc1NwZWMocGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuKTogcGFydCBpcyBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHBhcnQgPT09IFwic3RyaW5nXCIgJiYgKC9eXFxkKyQvaS50ZXN0KHBhcnQpIHx8IC9eXFxbKFxcZCtcXCw/KStcXF0kL2kudGVzdChwYXJ0KSk7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBTaW1wbGVQYXRoVG9rZW4gPSBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIFBhdGhUb2tlbiA9IFNpbXBsZVBhdGhUb2tlbiB8IHR5cGVvZiBFYWNoU3ltYm9sIHwgdHlwZW9mIEN1cnJlbnRTeW1ib2w7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01vZGVsUGF0aChwYXRoOiBCaW5kaW5nUGF0aCB8IE1vZGVsUGF0aCB8IHVua25vd24pOiBwYXRoIGlzIE1vZGVsUGF0aCB7XG4gICAgcmV0dXJuIHR5cGVvZiBwYXRoICE9PSBcInN0cmluZ1wiICYmIHBhdGggaW5zdGFuY2VvZiBNb2RlbFBhdGhJbXBsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvTGVnYWN5UGF0aChwYXRoOiBCaW5kaW5nUGF0aCB8IE1vZGVsUGF0aCk6IEJpbmRpbmdQYXRoIHtcbiAgICByZXR1cm4gaXNNb2RlbFBhdGgocGF0aCkgPyBwYXRoLnRvTGVnYWN5UGF0aCgpIDogcGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb0Fic29sdXRlTW9kZWxQYXRoPFIgZXh0ZW5kcyBib29sZWFuLCBBIGV4dGVuZHMgYm9vbGVhbj4oXG4gICAgcGF0aDogQmluZGluZ1BhdGggfCBJTW9kZWxQYXRoPFIsIEE+XG4pOiBJTW9kZWxQYXRoPFIsIHRydWU+O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb0Fic29sdXRlTW9kZWxQYXRoKHBhdGg6IEJpbmRpbmdQYXRoIHwgQWJzb2x1dGVNb2RlbFBhdGgpOiBBYnNvbHV0ZU1vZGVsUGF0aCB7XG4gICAgcmV0dXJuIGlzTW9kZWxQYXRoKHBhdGgpID8gcGF0aCA6IGNyZWF0ZUFic29sdXRlRnJvbU1hc2socGF0aCwgUGF0aFRva2Vucy5lYWNoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5TW9kZWxQYXRoKCk6IFJlbGF0aXZlUmVzb2x2ZWRNb2RlbFBhdGgge1xuICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCBmYWxzZT4oW10sIGZhbHNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5QWJzb2x1dGVNb2RlbFBhdGgoKTogQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPHRydWUsIHRydWU+KFtdLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vZGVsUGF0aChwYXRoOiBzdHJpbmcsIGFic29sdXRlOiB0cnVlKTogQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aDtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2RlbFBhdGgocGF0aDogc3RyaW5nLCBhYnNvbHV0ZTogZmFsc2UpOiBSZWxhdGl2ZVJlc29sdmVkTW9kZWxQYXRoO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vZGVsUGF0aChwYXRoOiBzdHJpbmcsIGFic29sdXRlOiBcImF1dG9cIik6IFJlc29sdmVkTW9kZWxQYXRoO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vZGVsUGF0aChwYXRoOiBzdHJpbmcsIGFic29sdXRlOiBib29sZWFuIHwgXCJhdXRvXCIpOiBSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIik7XG4gICAgZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eShwYXJ0UGFydFN0cmluZ3MpO1xuICAgIGlmIChhYnNvbHV0ZSA9PT0gXCJhdXRvXCIpIHtcbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCB0cnVlPihwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPHRydWUsIGZhbHNlPihwYXJ0UGFydFN0cmluZ3MsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWJzb2x1dGUgJiYgcGF0aC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGw8dHJ1ZSwgdHJ1ZT4ocGFydFBhcnRTdHJpbmdzLnNsaWNlKDEpLCB0cnVlKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPHRydWUsIGJvb2xlYW4+KHBhcnRQYXJ0U3RyaW5ncywgYWJzb2x1dGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJvbU1hc2socGF0aDogc3RyaW5nLCBhYnNvbHV0ZTogdHJ1ZSwgbXVsdGlwbGljaXR5U3ltYm9sOiBQYXRoVG9rZW4pOiBBYnNvbHV0ZU1vZGVsUGF0aDtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGcm9tTWFzayhwYXRoOiBzdHJpbmcsIGFic29sdXRlOiBmYWxzZSwgbXVsdGlwbGljaXR5U3ltYm9sOiBQYXRoVG9rZW4pOiBSZXNvbHZlZE1vZGVsUGF0aDtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGcm9tTWFzayhwYXRoOiBzdHJpbmcsIGFic29sdXRlOiBcImF1dG9cIiwgbXVsdGlwbGljaXR5U3ltYm9sOiBQYXRoVG9rZW4pOiBNb2RlbFBhdGg7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJvbU1hc2socGF0aDogc3RyaW5nLCBhYnNvbHV0ZTogYm9vbGVhbiB8IFwiYXV0b1wiLCBtdWx0aXBsaWNpdHlTeW1ib2w6IFBhdGhUb2tlbik6IE1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIikubWFwKHggPT4gKHggPT09IFwiKlwiID8gbXVsdGlwbGljaXR5U3ltYm9sIDogeCkpO1xuICAgIGlmIChhYnNvbHV0ZSA9PT0gXCJhdXRvXCIpIHtcbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbChwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsKHBhcnRQYXJ0U3RyaW5ncywgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChhYnNvbHV0ZSAmJiBwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbChwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGwocGFydFBhcnRTdHJpbmdzLCBhYnNvbHV0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBYnNvbHV0ZUZyb21NYXNrKHBhdGg6IHN0cmluZywgbXVsdGlwbGljaXR5U3ltYm9sOiBQYXRoVG9rZW4pOiBBYnNvbHV0ZU1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIikubWFwKHggPT4gKHggPT09IFwiKlwiID8gbXVsdGlwbGljaXR5U3ltYm9sIDogeCkpO1xuICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbChwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGwocGFydFBhcnRTdHJpbmdzLCB0cnVlKTtcbn1cblxuZnVuY3Rpb24gZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eShwYXJ0czogcmVhZG9ubHkgc3RyaW5nW10pOiB2b2lkIHtcbiAgICBpZiAocGFydHMuc29tZSh4ID0+IHggPT09IFwiKlwiKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXRoIG11c3Qgbm90IGNvbnRhaW4gKiBzeW1ib2xcIik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWJzb2x1dGUocGF0aDogc3RyaW5nKTogQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIik7XG4gICAgZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eShwYXJ0UGFydFN0cmluZ3MpO1xuICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCB0cnVlPihwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGw8dHJ1ZSwgdHJ1ZT4ocGFydFBhcnRTdHJpbmdzLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGF0aXZlUmVzb2x2ZWRNb2RlbFBhdGgocGF0aDogc3RyaW5nKTogUmVsYXRpdmVSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIik7XG4gICAgZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eShwYXJ0UGFydFN0cmluZ3MpO1xuICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCBmYWxzZT4ocGFydFBhcnRTdHJpbmdzLCBmYWxzZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBYnNvbHV0ZUZyb21Ub2tlbnModG9rZW5zOiBQYXRoVG9rZW5bXSk6IEFic29sdXRlTW9kZWxQYXRoIHtcbiAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGw8ZmFsc2UsIHRydWU+KHRva2VucywgdHJ1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBYnNvbHV0ZVJlc29sdmVkRnJvbVRva2Vucyh0b2tlbnM6IHJlYWRvbmx5IHN0cmluZ1tdKTogQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eSh0b2tlbnMpO1xuICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCB0cnVlPih0b2tlbnMsIHRydWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zKHRva2VuczogcmVhZG9ubHkgc3RyaW5nW10pOiBSZWxhdGl2ZVJlc29sdmVkTW9kZWxQYXRoO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGF0aXZlRnJvbVRva2Vucyh0b2tlbnM6IHJlYWRvbmx5IFBhdGhUb2tlbltdKTogUmVsYXRpdmVNb2RlbFBhdGg7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zKHRva2VuczogcmVhZG9ubHkgUGF0aFRva2VuW10pOiBSZWxhdGl2ZU1vZGVsUGF0aCB7XG4gICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPGZhbHNlLCBmYWxzZT4odG9rZW5zLCBmYWxzZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqb2luTW9kZWxQYXRocyguLi5wYXJ0czogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuIHwgUGF0aFRva2VuW10+KTogTW9kZWxQYXRoIHtcbiAgICBsZXQgYWJzb2x1dGUgPSBmYWxzZTtcbiAgICBsZXQgcmVzdWx0UGFydHM6IFBhdGhUb2tlbltdID0gW107XG4gICAgZm9yIChjb25zdCBqb2luSXRlbSBvZiBwYXJ0cykge1xuICAgICAgICBpZiAodHlwZW9mIGpvaW5JdGVtID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXN1bHRQYXJ0cy5wdXNoKGpvaW5JdGVtKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc01vZGVsUGF0aChqb2luSXRlbSkpIHtcbiAgICAgICAgICAgIGlmIChqb2luSXRlbS5pc0Fic29sdXRlKCkpIHtcbiAgICAgICAgICAgICAgICBhYnNvbHV0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmVzdWx0UGFydHMgPSBbLi4uam9pbkl0ZW0uZ2V0UGF0aFBhcnRzQXNBcnJheSgpXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0UGFydHMucHVzaCguLi5qb2luSXRlbS5nZXRQYXRoUGFydHNBc0FycmF5KCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoam9pbkl0ZW0pKSB7XG4gICAgICAgICAgICByZXN1bHRQYXJ0cy5wdXNoKC4uLmpvaW5JdGVtKTtcbiAgICAgICAgfSBlbHNlIGlmIChQYXRoVG9rZW5zLmlzTXVsdGlUb2tlbihqb2luSXRlbSkpIHtcbiAgICAgICAgICAgIHJlc3VsdFBhcnRzLnB1c2goam9pbkl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsKHJlc3VsdFBhcnRzLCBhYnNvbHV0ZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsUGF0aDxUUmVzb2x2ZWQgZXh0ZW5kcyBib29sZWFuLCBUQWJzb2x1dGUgZXh0ZW5kcyBib29sZWFuPlxuICAgIGV4dGVuZHMgSUVxdWF0YWJsZTxJTW9kZWxQYXRoPGJvb2xlYW4sIGJvb2xlYW4+PiB7XG4gICAgcmVhZG9ubHkgcmVzb2x2ZWQ6IFRSZXNvbHZlZDtcbiAgICByZWFkb25seSBhYnNvbHV0ZTogVEFic29sdXRlO1xuXG4gICAgaXNFcXVhbHMobW9kZWxQYXRoOiBNb2RlbFBhdGgsIGVhY2hDdXJyZW50Q29sbGlzaW9uPzogRWFjaEN1cnJlbnRDb2xsaXNpb24pOiBib29sZWFuO1xuICAgIGdldEhhc2goZWFjaEN1cnJlbnRDb2xsaXNpb24/OiBFYWNoQ3VycmVudENvbGxpc2lvbik6IG51bWJlcjtcblxuICAgIGlzUmVzb2x2ZWQoKTogdGhpcyBpcyBJTW9kZWxQYXRoPHRydWUsIFRBYnNvbHV0ZT47XG4gICAgaXNBYnNvbHV0ZSgpOiB0aGlzIGlzIElNb2RlbFBhdGg8VFJlc29sdmVkLCB0cnVlPjtcbiAgICB0b0Fic29sdXRlKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCB0cnVlPjtcblxuICAgIGpvaW5XaXRoKC4uLnBhdGg6IHN0cmluZ1tdKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT47XG4gICAgam9pbldpdGgoLi4ucGF0aDogUGF0aFRva2VuW10pOiBJTW9kZWxQYXRoPGJvb2xlYW4sIFRBYnNvbHV0ZT47XG4gICAgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8UmVzb2x2ZWRNb2RlbFBhdGggfCBzdHJpbmc+KTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT47XG4gICAgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8QWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCB8IHN0cmluZz4pOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgdHJ1ZT47XG4gICAgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuPik6IElNb2RlbFBhdGg8Ym9vbGVhbiwgVEFic29sdXRlPjtcblxuICAgIGdldFBhdGhQYXJ0cygpOiBJdGVyYWJsZTxQYXRoVG9rZW5TcGVjPFRSZXNvbHZlZD4+O1xuICAgIGdldFBhdGhQYXJ0c0FzQXJyYXkoKTogUmVhZG9ubHlBcnJheTxQYXRoVG9rZW5TcGVjPFRSZXNvbHZlZD4+O1xuICAgIGdldFNpbXBsZVRva2Vuc1N0cmljdCgpOiBJdGVyYWJsZTxTaW1wbGVQYXRoVG9rZW4+O1xuICAgIGdldFNpbXBsZVRva2Vuc0FzQXJyYXlTdHJpY3QoKTogcmVhZG9ubHkgU2ltcGxlUGF0aFRva2VuW107XG5cbiAgICByZXNvbHZlQWxsKGluc3RhbmNlOiBzdHJpbmcpOiBNb2RlbFBhdGg7XG4gICAgaXNDb250YWluSXRlcmF0aW9uKCk6IGJvb2xlYW47XG4gICAgaXNDb250YWluQ3VycmVudEl0ZXJhdGlvbigpOiBib29sZWFuO1xuICAgIGlzQ29udGFpbkN1cnJlbnRPckVhY2hJdGVyYXRpb24oKTogYm9vbGVhbjtcbiAgICBnZXRMYXN0TGlzdFBhdGgoKTogUGF0aFRva2VuW107XG4gICAgaXNFbmRzV2l0aEl0ZXJhdGlvbigpOiBib29sZWFuO1xuICAgIGlzRW5kc1dpdGhDdXJyZW50SXRlcmF0aW9uKCk6IGJvb2xlYW47XG4gICAgaXNJbmNsdWRlcyhtb2RlbFBhdGg6IE1vZGVsUGF0aCk6IGJvb2xlYW47XG4gICAgZ2V0SXRlcmF0aW9uUmFuayhlYWNoQ3VycmVudENvbGxpc2lvbj86IEVhY2hDdXJyZW50Q29sbGlzaW9uKTogbnVtYmVyO1xuICAgIGlzRW1wdHkoKTogYm9vbGVhbjtcbiAgICBtYXRjaEZvcihtb2RlbFBhdGg6IE1vZGVsUGF0aCk6IFBhdGhNYXRjaGluZztcbiAgICBzdGFydHNXaXRoKG1vZGVsUGF0aDogTW9kZWxQYXRoKTogYm9vbGVhbjtcbiAgICBzcGxpdEJ5TXVsdGlwbGljaXR5KCk6IEl0ZXJhYmxlPFJlc29sdmVkTW9kZWxQYXRoIHwgdHlwZW9mIEVhY2hTeW1ib2wgfCB0eXBlb2YgQ3VycmVudFN5bWJvbD47XG4gICAgbm9ybWFsaXplKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+O1xuICAgIHRvQ3VycmVudEl0ZXJhdGlvbigpOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPjtcbiAgICB0b0VhY2hJdGVyYXRpb24oKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT47XG4gICAgZ2V0QWxsUGFyZW50UGF0aHMoKTogSXRlcmFibGU8TW9kZWxQYXRoPjtcbiAgICB0cmltTGFzdFN0YXJJZkxhc3RUb2tlbigpOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPjtcbiAgICBnZXRQYXJlbnRQYXRoKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+O1xuICAgIGFwcGx5SW5zdGFuY2VzRGlydHkoXG4gICAgICAgIGluc3RhbmNlczogU2ltcGxlUGF0aFRva2VuW10sXG4gICAgICAgIGZpbGxXaXRoTXVsdGlwbGljaXR5SWZIYXNOb0luc3RhbmNlPzogYm9vbGVhblxuICAgICk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+O1xuXG4gICAgdG9TdHJpbmcoKTogc3RyaW5nO1xuICAgIHRvTGVnYWN5UGF0aCgpOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIE1vZGVsUGF0aCA9IElNb2RlbFBhdGg8Ym9vbGVhbiwgYm9vbGVhbj47XG5leHBvcnQgdHlwZSBSZXNvbHZlZE1vZGVsUGF0aCA9IElNb2RlbFBhdGg8dHJ1ZSwgYm9vbGVhbj47XG5leHBvcnQgdHlwZSBBYnNvbHV0ZU1vZGVsUGF0aCA9IElNb2RlbFBhdGg8Ym9vbGVhbiwgdHJ1ZT47XG5leHBvcnQgdHlwZSBBYnNvbHV0ZVJlc29sdmVkTW9kZWxQYXRoID0gSU1vZGVsUGF0aDx0cnVlLCB0cnVlPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpdmVNb2RlbFBhdGggPSBJTW9kZWxQYXRoPGJvb2xlYW4sIGZhbHNlPjtcbmV4cG9ydCB0eXBlIFJlbGF0aXZlUmVzb2x2ZWRNb2RlbFBhdGggPSBJTW9kZWxQYXRoPHRydWUsIGZhbHNlPjtcblxudHlwZSBQYXRoVG9rZW5TcGVjPFRSZXNvbHZlZCBleHRlbmRzIGJvb2xlYW4+ID0gVFJlc29sdmVkIGV4dGVuZHMgdHJ1ZSA/IHN0cmluZyA6IFBhdGhUb2tlbjtcblxudHlwZSBQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQgZXh0ZW5kcyBib29sZWFuPiA9IEFycmF5PFBhdGhUb2tlblNwZWM8VFJlc29sdmVkPj47XG5cbnR5cGUgUmVhZG9ubHlQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQgZXh0ZW5kcyBib29sZWFuPiA9IFJlYWRvbmx5QXJyYXk8UGF0aFRva2VuU3BlYzxUUmVzb2x2ZWQ+PjtcblxuZnVuY3Rpb24gaXNBbGxUb2tlbnNSZXNvbHZlZDxUUmVzb2x2ZWQgZXh0ZW5kcyBib29sZWFuPih0b2tlbnM6IFJlYWRvbmx5UGF0aFRva2Vuc1NwZWM8VFJlc29sdmVkPik6IFRSZXNvbHZlZCB7XG4gICAgLy8g0K8g0YfRgtC+LdGC0L4g0L3QtdC80L7Qs9GDINGB0L7QvtCx0YDQsNC30LjRgtGMINC60LDQuiDRgtGD0YIg0LLRgdGRINGB0YLRgNC+0LPQviDQvdCw0L/QuNGB0LDRgtGMLi4uXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHJldHVybiB0b2tlbnMuZXZlcnkoUGF0aFRva2Vucy5pc1NpbXBsZVRva2VuKTtcbn1cblxuZXhwb3J0IGNsYXNzIE1vZGVsUGF0aEltcGw8VFJlc29sdmVkIGV4dGVuZHMgYm9vbGVhbiwgVEFic29sdXRlIGV4dGVuZHMgYm9vbGVhbj5cbiAgICBpbXBsZW1lbnRzIElFcXVhdGFibGU8TW9kZWxQYXRoPiwgSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT5cbntcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRva2VuczogUmVhZG9ubHlQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQ+O1xuICAgIHB1YmxpYyByZWFkb25seSBhYnNvbHV0ZTogVEFic29sdXRlO1xuICAgIHByaXZhdGUgbGVnYWN5UGF0aDogdW5kZWZpbmVkIHwgc3RyaW5nO1xuICAgIHByaXZhdGUgY2FjaGVkSGFzaDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBhdGhQYXJ0czogUmVhZG9ubHlQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQ+LCBhYnNvbHV0ZTogVEFic29sdXRlKSB7XG4gICAgICAgIHRoaXMudG9rZW5zID0gcGF0aFBhcnRzLmZpbHRlcih4ID0+IHggIT09IFwiXCIpO1xuICAgICAgICB0aGlzLmFic29sdXRlID0gYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXNvbHZlZCgpOiBUUmVzb2x2ZWQge1xuICAgICAgICByZXR1cm4gaXNBbGxUb2tlbnNSZXNvbHZlZCh0aGlzLnRva2Vucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhdGhQYXJ0cygpOiBJdGVyYWJsZTxQYXRoVG9rZW5TcGVjPFRSZXNvbHZlZD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYXRoUGFydHNBc0FycmF5KCk6IFJlYWRvbmx5QXJyYXk8UGF0aFRva2VuU3BlYzxUUmVzb2x2ZWQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2VucztcbiAgICB9XG5cbiAgICBwdWJsaWMgKmdldFNpbXBsZVRva2Vuc1N0cmljdCgpOiBJdGVyYWJsZTxTaW1wbGVQYXRoVG9rZW4+IHtcbiAgICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiB0aGlzLnRva2Vucykge1xuICAgICAgICAgICAgaWYgKCFQYXRoVG9rZW5zLmlzU2ltcGxlVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUGF0aCBtdXN0IG5vdCBjb250YWluIHNwZWMgdG9rZW5zXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgeWllbGQgdG9rZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2ltcGxlVG9rZW5zQXNBcnJheVN0cmljdCgpOiByZWFkb25seSBTaW1wbGVQYXRoVG9rZW5bXSB7XG4gICAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdGhpcy50b2tlbnMpIHtcbiAgICAgICAgICAgIGlmICghUGF0aFRva2Vucy5pc1NpbXBsZVRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhdGggbXVzdCBub3QgY29udGFpbiBzcGVjIHRva2Vuc1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyDQn9GA0L7QstC10YDQutCwINCy0YvRiNC1INCz0LDRgNCw0LXQvdGC0LjRgNGD0LXRgiDRh9GC0L4g0LHRg9C00YPRgiDRgtC+0LvRjNC60L4gU2ltcGxlUGF0aFRva2VuLlxuICAgICAgICAvLyDQktGB0LUgbWFwINC4IGZpbHRlciDRg9Cx0YDQsNC90Ysg0LTQu9GPINC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9GM0L3QvtGB0YLQuFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiB0aGlzLnRva2VucztcbiAgICB9XG5cbiAgICBwdWJsaWMgam9pbldpdGgoLi4ucGF0aDogc3RyaW5nW10pOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPjtcbiAgICBwdWJsaWMgam9pbldpdGgoLi4ucGF0aDogUGF0aFRva2VuW10pOiBJTW9kZWxQYXRoPGJvb2xlYW4sIFRBYnNvbHV0ZT47XG4gICAgcHVibGljIGpvaW5XaXRoKC4uLnBhdGg6IEFycmF5PFJlc29sdmVkTW9kZWxQYXRoIHwgc3RyaW5nPik6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+O1xuICAgIHB1YmxpYyBqb2luV2l0aCguLi5wYXRoOiBBcnJheTxBYnNvbHV0ZVJlc29sdmVkTW9kZWxQYXRoIHwgc3RyaW5nPik6IElNb2RlbFBhdGg8VFJlc29sdmVkLCB0cnVlPjtcbiAgICBwdWJsaWMgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuPik6IElNb2RlbFBhdGg8Ym9vbGVhbiwgVEFic29sdXRlPjtcbiAgICBwdWJsaWMgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuPik6IElNb2RlbFBhdGg8Ym9vbGVhbiwgYm9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gam9pbk1vZGVsUGF0aHModGhpcywgLi4ucGF0aCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUmVzb2x2ZWQoKTogdGhpcyBpcyBJTW9kZWxQYXRoPHRydWUsIFRBYnNvbHV0ZT4ge1xuICAgICAgICByZXR1cm4gaXNBbGxUb2tlbnNSZXNvbHZlZCh0aGlzLnRva2Vucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmVBbGwoaW5zdGFuY2U6IHN0cmluZyk6IE1vZGVsUGF0aCB7XG4gICAgICAgIGNvbnN0IHRva2VucyA9IHRoaXMudG9rZW5zLm1hcCh0b2tlbiA9PiB7XG4gICAgICAgICAgICBpZiAoUGF0aFRva2Vucy5pc1NpbXBsZVRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGwodG9rZW5zLCB0aGlzLmFic29sdXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNDb250YWluSXRlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbnMuc29tZSh4ID0+IHggPT09IFBhdGhUb2tlbnMuZWFjaCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ29udGFpbkN1cnJlbnRJdGVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2Vucy5zb21lKHggPT4geCA9PT0gUGF0aFRva2Vucy5jdXJyZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNDb250YWluQ3VycmVudE9yRWFjaEl0ZXJhdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5zLnNvbWUoeCA9PiB4ID09PSBQYXRoVG9rZW5zLmN1cnJlbnQgfHwgeCA9PT0gUGF0aFRva2Vucy5lYWNoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFzdExpc3RQYXRoKCk6IFBhdGhUb2tlbltdIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ29udGFpbkl0ZXJhdGlvbigpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXRoIG11c3QgY29udGFpbiBpdGVyYXRpb25cIik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyDQn9GA0L7QstC10YDQutCwINCy0YvRiNC1INCz0LDRgNCw0L3RgtC40YDRg9C10YIsINGH0YLQviDQsdGD0LTQtdGCIFBhdGhUb2tlbnMuZWFjaFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGxhc3RJdGVyYXRpb25JbmRleCA9IHRoaXMudG9rZW5zLmxhc3RJbmRleE9mKFBhdGhUb2tlbnMuZWFjaCk7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2Vucy5zbGljZSgwLCBsYXN0SXRlcmF0aW9uSW5kZXgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0VuZHNXaXRoSXRlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBsYXN0SXRlbSA9IEl0ZXJVdGlscy5sYXN0KHRoaXMudG9rZW5zKTtcbiAgICAgICAgcmV0dXJuIGxhc3RJdGVtID09IFBhdGhUb2tlbnMuZWFjaDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFbmRzV2l0aEN1cnJlbnRJdGVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGxhc3RJdGVtID0gSXRlclV0aWxzLmxhc3QodGhpcy50b2tlbnMpO1xuICAgICAgICByZXR1cm4gbGFzdEl0ZW0gPT0gUGF0aFRva2Vucy5jdXJyZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0Fic29sdXRlKCk6IHRoaXMgaXMgSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIHRydWU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAodGhpcy5hYnNvbHV0ZSA/IFwiL1wiIDogXCJcIikgKyB0aGlzLnRva2Vucy5tYXAoeCA9PiB0aGlzLnBhdGhQYXJ0VG9TdHJpbmcoeCkpLmpvaW4oXCIvXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b0xlZ2FjeVBhdGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGVnYWN5UGF0aCA/PyAodGhpcy5sZWdhY3lQYXRoID0gdGhpcy50b2tlbnMubWFwKHggPT4gdGhpcy5wYXRoUGFydFRvU3RyaW5nKHgpKS5qb2luKFwiL1wiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRXF1YWxzKFxuICAgICAgICBtb2RlbFBhdGg6IE1vZGVsUGF0aCxcbiAgICAgICAgZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uID0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlU2FtZVxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoZWFjaEN1cnJlbnRDb2xsaXNpb24gPT09IEVhY2hDdXJyZW50Q29sbGlzaW9uLkFyZVNhbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvTGVnYWN5UGF0aCgpID09PSBtb2RlbFBhdGgudG9MZWdhY3lQYXRoKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIHRoaXMuaXNBYnNvbHV0ZSgpID09PSBtb2RlbFBhdGguaXNBYnNvbHV0ZSgpICYmXG4gICAgICAgICAgICAgICAgSXRlcmF0b3IuZnJvbShJdGVyVXRpbHMuemlwKHRoaXMuZ2V0UGF0aFBhcnRzKCksIG1vZGVsUGF0aC5nZXRQYXRoUGFydHMoKSkpLmV2ZXJ5KFxuICAgICAgICAgICAgICAgICAgICAoW3QxLCB0Ml0pID0+IHQxID09PSB0MlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGB0LXQs9C00LAg0YbQtdC70L7QtSDQv9C+0LvQvtC20LjRgtC10LvRjNC90L7QtSDQsdC10LfQt9C90LDQutC+0LLQvtC1IDMyLdCx0LjRgtC90L7QtSDRh9C40YHQu9C+XG4gICAgICovXG4gICAgcHVibGljIGdldEhhc2goZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uID0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlU2FtZSk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLmNhY2hlZEhhc2ggPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsZXQgaGFzaCA9IDUzODE7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHJldmVyc2VBcnJheSh0aGlzLnRva2VucykpIHtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFN0cjogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGlmIChQYXRoVG9rZW5zLmlzU2ltcGxlVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTdHIgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZWFjaEN1cnJlbnRDb2xsaXNpb24gPT09IEVhY2hDdXJyZW50Q29sbGlzaW9uLkFyZURpZmZlcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ciA9IHRva2VuID09PSBQYXRoVG9rZW5zLmVhY2ggPyBcIipcIiA6IFwiIVwiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ciA9IFwiKlwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxldCBzdHJpbmdJbmRleCA9IGN1cnJlbnRTdHIubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChzdHJpbmdJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxuICAgICAgICAgICAgICAgICAgICBoYXNoID0gKGhhc2ggKiAzMykgXiBjdXJyZW50U3RyLmNoYXJDb2RlQXQoLS1zdHJpbmdJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICAgICAgSmF2YVNjcmlwdCBkb2VzIGJpdHdpc2Ugb3BlcmF0aW9ucyAobGlrZSBYT1IsIGFib3ZlKSBvbiAzMi1iaXQgc2lnbmVkXG4gICAgICAgICAgICAgICAgaW50ZWdlcnMuIFNpbmNlIHdlIHdhbnQgdGhlIHJlc3VsdHMgdG8gYmUgYWx3YXlzIHBvc2l0aXZlLCBjb252ZXJ0IHRoZVxuICAgICAgICAgICAgICAgIHNpZ25lZCBpbnQgdG8gYW4gdW5zaWduZWQgYnkgZG9pbmcgYW4gdW5zaWduZWQgYml0c2hpZnQuXG4gICAgICAgICAgKi9cbiAgICAgICAgICAgIHRoaXMuY2FjaGVkSGFzaCA9IGhhc2ggPj4+IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkSGFzaDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNJbmNsdWRlcyhtb2RlbFBhdGg6IE1vZGVsUGF0aCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB0YXJnZXRUb2tlbnMgPSBtb2RlbFBhdGguZ2V0UGF0aFBhcnRzQXNBcnJheSgpO1xuICAgICAgICBpZiAodGhpcy50b2tlbnMubGVuZ3RoICE9PSB0YXJnZXRUb2tlbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbGVmdFBhcnQgPSB0aGlzLnRva2Vuc1tpXTtcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0UGFydCA9IHRhcmdldFRva2Vuc1tpXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbGVmdFBhcnQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJpZ2h0UGFydCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGVmdFBhcnQgIT09IHJpZ2h0UGFydCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGxlZnRQYXJ0ID09PSBQYXRoVG9rZW5zLmN1cnJlbnQgfHwgbGVmdFBhcnQgPT09IFBhdGhUb2tlbnMuZWFjaCkge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmlnaHRQYXJ0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNGaW5pdGUoTnVtYmVyKHJpZ2h0UGFydCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJpZ2h0UGFydCAhPT0gUGF0aFRva2Vucy5jdXJyZW50ICYmIHJpZ2h0UGFydCAhPT0gUGF0aFRva2Vucy5lYWNoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVyYXRpb25SYW5rKGVhY2hDdXJyZW50Q29sbGlzaW9uOiBFYWNoQ3VycmVudENvbGxpc2lvbiA9IEVhY2hDdXJyZW50Q29sbGlzaW9uLkFyZURpZmZlcmVudCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBjb3VudChcbiAgICAgICAgICAgIEl0ZXJhdG9yLmZyb20odGhpcy50b2tlbnMpLmZpbHRlcih4ID0+XG4gICAgICAgICAgICAgICAgZWFjaEN1cnJlbnRDb2xsaXNpb24gPT0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlRGlmZmVyZW50XG4gICAgICAgICAgICAgICAgICAgID8geCA9PT0gUGF0aFRva2Vucy5lYWNoXG4gICAgICAgICAgICAgICAgICAgIDogUGF0aFRva2Vucy5pc011bHRpVG9rZW4oeClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5zLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWF0Y2hGb3IobW9kZWxQYXRoOiBNb2RlbFBhdGgpOiBQYXRoTWF0Y2hpbmcge1xuICAgICAgICBpZiAoIXRoaXMuaXNBYnNvbHV0ZSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBtYXRjaCBub24gYWJzb2x1dGUgcGF0aCAnJHt0aGlzLnRvU3RyaW5nKCl9J2ApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbW9kZWxQYXRoLmlzQWJzb2x1dGUoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgbWF0Y2ggbm9uIGFic29sdXRlIHBhdGggJyR7bW9kZWxQYXRoLnRvU3RyaW5nKCl9J2ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQYXRoTWF0Y2hlci5tYXRjaCh0aGlzLnRva2VucywgbW9kZWxQYXRoLmdldFBhdGhQYXJ0c0FzQXJyYXkoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXJ0c1dpdGgobW9kZWxQYXRoOiBNb2RlbFBhdGgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdGhpc1BhcnRzID0gdGhpcy5nZXRQYXRoUGFydHNBc0FycmF5KCk7XG4gICAgICAgIGNvbnN0IG90aGVyUGFydHMgPSBtb2RlbFBhdGguZ2V0UGF0aFBhcnRzQXNBcnJheSgpO1xuICAgICAgICByZXR1cm4gb3RoZXJQYXJ0cy5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PT0gdGhpc1BhcnRzW2luZGV4XSk7XG4gICAgfVxuXG4gICAgcHVibGljICpzcGxpdEJ5TXVsdGlwbGljaXR5KCk6IEl0ZXJhYmxlPFJlc29sdmVkTW9kZWxQYXRoIHwgdHlwZW9mIEVhY2hTeW1ib2wgfCB0eXBlb2YgQ3VycmVudFN5bWJvbD4ge1xuICAgICAgICBsZXQgbGFzdFNpbXBsZVBhcnRzID0gbmV3IE1vZGVsUGF0aEJ1aWxkZXIodGhpcy5pc0Fic29sdXRlKCkpO1xuICAgICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRoaXMudG9rZW5zKSB7XG4gICAgICAgICAgICBpZiAoUGF0aFRva2Vucy5pc1NpbXBsZVRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgIGxhc3RTaW1wbGVQYXJ0cy5hcHBlbmQodG9rZW4pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIWxhc3RTaW1wbGVQYXJ0cy5lbXB0eSkge1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCBsYXN0U2ltcGxlUGFydHMudG9SZXNvbHZlZFBhdGgoKTtcbiAgICAgICAgICAgICAgICAgICAgbGFzdFNpbXBsZVBhcnRzID0gbmV3IE1vZGVsUGF0aEJ1aWxkZXIoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB5aWVsZCB0b2tlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxhc3RTaW1wbGVQYXJ0cy5lbXB0eSkge1xuICAgICAgICAgICAgeWllbGQgbGFzdFNpbXBsZVBhcnRzLnRvUmVzb2x2ZWRQYXRoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbm9ybWFsaXplKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0VG9rZW5zOiBQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQ+ID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcGF0aFBhcnQgb2YgdGhpcy50b2tlbnMpIHtcbiAgICAgICAgICAgIGlmIChwYXRoUGFydCA9PT0gXCIuLlwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXN1bHRUb2tlbnMucG9wKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBYnNvbHV0ZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggaXMgaW52YWxpZCAnJHt0aGlzLnRvU3RyaW5nKCl9J2ApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0VG9rZW5zLnB1c2goXCIuLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhdGhQYXJ0ID09PSBcIi5cIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0VG9rZW5zLnB1c2gocGF0aFBhcnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT4ocmVzdWx0VG9rZW5zLCB0aGlzLmFic29sdXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSDQodC/0LXRhtC40YTQuNC60LDRgtC+0YDRiyDQvNC90L7QttC10YHRgtCy0LXQvdC90L7RgdGC0LggRWFjaCDQt9Cw0LzQtdC90Y/QtdGCINC90LAgQ3VycmVudFxuICAgICAqL1xuICAgIHB1YmxpYyB0b0N1cnJlbnRJdGVyYXRpb24oKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT4ge1xuICAgICAgICBpZiAodGhpcy5pc1Jlc29sdmVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gTk9URSDQotGD0YIg0L3QtSDQv9C+0LvRg9GH0LDQtdGC0YHRjyDQvdCw0LvQvtC20LjRgtGMINC00LjRgdC60YDQuNC80LjQvdCw0YLQvtGAXG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICBjb25zdCBwYXRoUGFydHM6IFBhdGhUb2tlbnNTcGVjPFRSZXNvbHZlZD4gPSB0aGlzLnRva2Vucy5tYXAoeCA9PlxuICAgICAgICAgICAgICAgIHggPT09IFBhdGhUb2tlbnMuZWFjaCA/IFBhdGhUb2tlbnMuY3VycmVudCA6IHhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGw8VFJlc29sdmVkLCBUQWJzb2x1dGU+KHBhdGhQYXJ0cywgdGhpcy5hYnNvbHV0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9FYWNoSXRlcmF0aW9uKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNSZXNvbHZlZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIE5PVEUg0KLRg9GCINC90LUg0L/QvtC70YPRh9Cw0LXRgtGB0Y8g0L3QsNC70L7QttC40YLRjCDQtNC40YHQutGA0LjQvNC40L3QsNGC0L7RgFxuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgY29uc3QgcGF0aFBhcnRzOiBQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQ+ID0gdGhpcy50b2tlbnMubWFwKHggPT5cbiAgICAgICAgICAgICAgICB4ID09PSBQYXRoVG9rZW5zLmN1cnJlbnQgPyBQYXRoVG9rZW5zLmVhY2ggOiB4XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPFRSZXNvbHZlZCwgVEFic29sdXRlPihwYXRoUGFydHMsIHRoaXMuYWJzb2x1dGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRvQWJzb2x1dGUoKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIHRydWU+IHtcbiAgICAgICAgaWYgKCF0aGlzLmFic29sdXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggJyR7dGhpcy50b0xlZ2FjeVBhdGgoKX0gaXMgbm90IGFic29sdXRlJ2ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDxUUmVzb2x2ZWQsIHRydWU+KHRoaXMudG9rZW5zLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgKmdldEFsbFBhcmVudFBhdGhzKCk6IEl0ZXJhYmxlPE1vZGVsUGF0aD4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgTW9kZWxQYXRoQnVpbGRlcih0aGlzLmlzQWJzb2x1dGUoKSk7XG4gICAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgSXRlclV0aWxzLnNraXBMYXN0KHRoaXMuZ2V0UGF0aFBhcnRzKCksIDEpKSB7XG4gICAgICAgICAgICByZXN1bHQuYXBwZW5kKHRva2VuKTtcbiAgICAgICAgICAgIHlpZWxkIHJlc3VsdC50b1BhdGgoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0cmltTGFzdFN0YXJJZkxhc3RUb2tlbigpOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPiB7XG4gICAgICAgIGNvbnN0IGxhc3RJdGVtID0gSXRlclV0aWxzLmxhc3QodGhpcy50b2tlbnMpO1xuICAgICAgICBpZiAobGFzdEl0ZW0gIT0gdW5kZWZpbmVkICYmIFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKGxhc3RJdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsKHRoaXMudG9rZW5zLnNsaWNlKDAsIC0xKSwgdGhpcy5hYnNvbHV0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhcmVudFBhdGgoKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgTW9kZWxQYXRoQnVpbGRlcih0aGlzLmFic29sdXRlKTtcbiAgICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiBJdGVyVXRpbHMuc2tpcExhc3QodGhpcy5nZXRQYXRoUGFydHMoKSwgMSkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQodG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIC8vINCi0YPRgiDQv9C+0LvRg9GH0LDQtdGC0YHRjyDRgtCw0LosINGH0YLQviDQv9C+INC00YDRg9Cz0L7QvNGDINC90LjQutCw0LpcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICByZXR1cm4gcmVzdWx0LnRvUGF0aCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcHBseUluc3RhbmNlc0RpcnR5KFxuICAgICAgICBpbnN0YW5jZXM6IFNpbXBsZVBhdGhUb2tlbltdLFxuICAgICAgICBmaWxsV2l0aE11bHRpcGxpY2l0eUlmSGFzTm9JbnN0YW5jZT86IGJvb2xlYW5cbiAgICApOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPiB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVzb2x2ZWQoKSB8fCBpbnN0YW5jZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW5zdGFuY2VDb3VudGVyID0gMDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IE1vZGVsUGF0aEJ1aWxkZXIodHJ1ZSk7XG4gICAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdGhpcy5nZXRQYXRoUGFydHMoKSkge1xuICAgICAgICAgICAgaWYgKFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHRva2VuKSAmJiBpbnN0YW5jZUNvdW50ZXIgPCBpbnN0YW5jZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5zdGFuY2VPckVhY2ggPVxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZXNbaW5zdGFuY2VDb3VudGVyXSA/P1xuICAgICAgICAgICAgICAgICAgICAoZmlsbFdpdGhNdWx0aXBsaWNpdHlJZkhhc05vSW5zdGFuY2UgPT0gdHJ1ZSA/IFBhdGhUb2tlbnMuZWFjaCA6IHJlamVjdCgpKTtcbiAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGluc3RhbmNlT3JFYWNoKTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZUNvdW50ZXIrKztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCh0b2tlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8g0KLRg9GCINC/0L7Qu9GD0YfQsNC10YLRgdGPINGC0LDQuiwg0YfRgtC+INC/0L4g0LTRgNGD0LPQvtC80YMg0L3QuNC60LDQulxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIHJldHVybiByZXN1bHQudG9QYXRoKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXRoUGFydFRvU3RyaW5nKHBhdGhQYXJ0OiBQYXRoVG9rZW4pOiBzdHJpbmcge1xuICAgICAgICBpZiAodHlwZW9mIHBhdGhQYXJ0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aFBhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGhQYXJ0ID09PSBQYXRoVG9rZW5zLmVhY2gpIHtcbiAgICAgICAgICAgIHJldHVybiBcIipcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGF0aFBhcnQgPT09IFBhdGhUb2tlbnMuY3VycmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIFwiKlwiO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBwYXRoIHBhcnQgc3BlY2lmaWVkOiAke2Vuc3VyZUFuZEdldFN0cmluZyhwYXRoUGFydCl9YCk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLElBQUFBLGNBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFlBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLHFCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxpQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBR0EsTUFBTUssVUFBVSxHQUFHQyxNQUFNLENBQUNDLEdBQUcsQ0FBQyxVQUFVLENBQUM7QUFDekMsTUFBTUMsYUFBYSxHQUFHRixNQUFNLENBQUNDLEdBQUcsQ0FBQyxhQUFhLENBQUM7QUFFeEMsTUFBTUUsVUFBVSxDQUFDO0VBSXBCLE9BQWNDLFlBQVlBLENBQUNDLElBQTJCLEVBQW9EO0lBQ3RHLE9BQU9BLElBQUksS0FBS0YsVUFBVSxDQUFDRyxJQUFJLElBQUlELElBQUksS0FBS0YsVUFBVSxDQUFDSSxPQUFPO0VBQ2xFO0VBRUEsT0FBY0MsYUFBYUEsQ0FBQ0gsSUFBMkIsRUFBa0I7SUFDckUsT0FBTyxPQUFPQSxJQUFJLEtBQUssUUFBUTtFQUNuQztFQUVBLE9BQWNJLGVBQWVBLENBQUNKLElBQTJCLEVBQWtCO0lBQ3ZFLE9BQU8sT0FBT0EsSUFBSSxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUNLLElBQUksQ0FBQ0wsSUFBSSxDQUFDO0VBQzFEO0VBRUEsT0FBY00sOEJBQThCQSxDQUFDTixJQUEyQixFQUFr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
|
|
462
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSXRlcmFibGVVdGlscyIsInJlcXVpcmUiLCJfVHlwaW5nVXRpbHMiLCJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJfTW9kZWxQYXRoQnVpbGRlciIsIl9QYXRoTWF0Y2hlciIsIkVhY2hTeW1ib2wiLCJTeW1ib2wiLCJmb3IiLCJDdXJyZW50U3ltYm9sIiwiUGF0aFRva2VucyIsImlzTXVsdGlUb2tlbiIsInBhcnQiLCJlYWNoIiwiY3VycmVudCIsImlzU2ltcGxlVG9rZW4iLCJpc0luc3RhbmNlVG9rZW4iLCJ0ZXN0IiwiaXNJbnN0YW5jZVRva2VuT3JJbnN0YW5jZXNTcGVjIiwiZXhwb3J0cyIsImlzTW9kZWxQYXRoIiwicGF0aCIsIk1vZGVsUGF0aEltcGwiLCJjb252ZXJ0VG9MZWdhY3lQYXRoIiwidG9MZWdhY3lQYXRoIiwiY29udmVydFRvQWJzb2x1dGVNb2RlbFBhdGgiLCJjcmVhdGVBYnNvbHV0ZUZyb21NYXNrIiwiZW1wdHlNb2RlbFBhdGgiLCJlbXB0eUFic29sdXRlTW9kZWxQYXRoIiwiY3JlYXRlTW9kZWxQYXRoIiwiYWJzb2x1dGUiLCJwYXJ0UGFydFN0cmluZ3MiLCJzcGxpdCIsImVuc3VyZVBsYWluUGF0aFBhcnRzRG9lc05vdENvbnRhaW5NdWx0aXBsaWNpdHkiLCJzdGFydHNXaXRoIiwic2xpY2UiLCJjcmVhdGVGcm9tTWFzayIsIm11bHRpcGxpY2l0eVN5bWJvbCIsIm1hcCIsIngiLCJwYXJ0cyIsInNvbWUiLCJFcnJvciIsImNyZWF0ZUFic29sdXRlIiwiY3JlYXRlUmVsYXRpdmVSZXNvbHZlZE1vZGVsUGF0aCIsImNyZWF0ZUFic29sdXRlRnJvbVRva2VucyIsInRva2VucyIsImNyZWF0ZUFic29sdXRlUmVzb2x2ZWRGcm9tVG9rZW5zIiwiY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zIiwiam9pbk1vZGVsUGF0aHMiLCJyZXN1bHRQYXJ0cyIsImpvaW5JdGVtIiwicHVzaCIsImlzQWJzb2x1dGUiLCJnZXRQYXRoUGFydHNBc0FycmF5IiwiQXJyYXkiLCJpc0FycmF5IiwiaXNBbGxUb2tlbnNSZXNvbHZlZCIsImV2ZXJ5IiwiY29uc3RydWN0b3IiLCJwYXRoUGFydHMiLCJsZWdhY3lQYXRoIiwiY2FjaGVkSGFzaCIsImZpbHRlciIsInJlc29sdmVkIiwiZ2V0UGF0aFBhcnRzIiwiZ2V0U2ltcGxlVG9rZW5zU3RyaWN0IiwidG9rZW4iLCJnZXRTaW1wbGVUb2tlbnNBc0FycmF5U3RyaWN0Iiwiam9pbldpdGgiLCJpc1Jlc29sdmVkIiwicmVzb2x2ZUFsbCIsImluc3RhbmNlIiwiaXNDb250YWluSXRlcmF0aW9uIiwiaXNDb250YWluQ3VycmVudEl0ZXJhdGlvbiIsImlzQ29udGFpbkN1cnJlbnRPckVhY2hJdGVyYXRpb24iLCJnZXRMYXN0TGlzdFBhdGgiLCJsYXN0SXRlcmF0aW9uSW5kZXgiLCJsYXN0SW5kZXhPZiIsImlzRW5kc1dpdGhJdGVyYXRpb24iLCJsYXN0SXRlbSIsIkl0ZXJVdGlscyIsImxhc3QiLCJpc0VuZHNXaXRoQ3VycmVudEl0ZXJhdGlvbiIsInRvU3RyaW5nIiwibGVuZ3RoIiwicGF0aFBhcnRUb1N0cmluZyIsImpvaW4iLCJfdGhpcyRsZWdhY3lQYXRoIiwiaXNFcXVhbHMiLCJtb2RlbFBhdGgiLCJlYWNoQ3VycmVudENvbGxpc2lvbiIsIkVhY2hDdXJyZW50Q29sbGlzaW9uIiwiQXJlU2FtZSIsIkl0ZXJhdG9yIiwiZnJvbSIsInppcCIsInQxIiwidDIiLCJnZXRIYXNoIiwidW5kZWZpbmVkIiwiaGFzaCIsInJldmVyc2VBcnJheSIsImN1cnJlbnRTdHIiLCJBcmVEaWZmZXJlbnQiLCJzdHJpbmdJbmRleCIsImNoYXJDb2RlQXQiLCJpc0luY2x1ZGVzIiwidGFyZ2V0VG9rZW5zIiwiaSIsImxlZnRQYXJ0IiwicmlnaHRQYXJ0IiwiaXNGaW5pdGUiLCJOdW1iZXIiLCJnZXRJdGVyYXRpb25SYW5rIiwiY291bnQiLCJpc0VtcHR5IiwibWF0Y2hGb3IiLCJQYXRoTWF0Y2hlciIsIm1hdGNoIiwidGhpc1BhcnRzIiwib3RoZXJQYXJ0cyIsInZhbHVlIiwiaW5kZXgiLCJzcGxpdEJ5TXVsdGlwbGljaXR5IiwibGFzdFNpbXBsZVBhcnRzIiwiTW9kZWxQYXRoQnVpbGRlciIsImFwcGVuZCIsImVtcHR5IiwidG9SZXNvbHZlZFBhdGgiLCJub3JtYWxpemUiLCJyZXN1bHRUb2tlbnMiLCJwYXRoUGFydCIsInBvcCIsInRvQ3VycmVudEl0ZXJhdGlvbiIsInRvRWFjaEl0ZXJhdGlvbiIsInRvQWJzb2x1dGUiLCJnZXRBbGxQYXJlbnRQYXRocyIsInJlc3VsdCIsInNraXBMYXN0IiwidG9QYXRoIiwidHJpbUxhc3RTdGFySWZMYXN0VG9rZW4iLCJnZXRQYXJlbnRQYXRoIiwiYXBwbHlJbnN0YW5jZXNEaXJ0eSIsImluc3RhbmNlcyIsImZpbGxXaXRoTXVsdGlwbGljaXR5SWZIYXNOb0luc3RhbmNlIiwiaW5zdGFuY2VDb3VudGVyIiwiX2luc3RhbmNlcyRpbnN0YW5jZUNvIiwiaW5zdGFuY2VPckVhY2giLCJyZWplY3QiLCJlbnN1cmVBbmRHZXRTdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL01vZGVsUGF0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaW5kaW5nUGF0aCB9IGZyb20gXCIuLi8uLi9FbmdpbmUvc3JjL0VuZ2luZS9Db3JlL0NvcmVUeXBlc1wiO1xuaW1wb3J0IHsgY291bnQsIEl0ZXJVdGlscywgcmV2ZXJzZUFycmF5IH0gZnJvbSBcIi4uL0l0ZXJhYmxlVXRpbHNcIjtcbmltcG9ydCB7IGVuc3VyZUFuZEdldFN0cmluZywgcmVqZWN0IH0gZnJvbSBcIi4uL1R5cGluZ1V0aWxzXCI7XG5cbmltcG9ydCB7IEVhY2hDdXJyZW50Q29sbGlzaW9uIH0gZnJvbSBcIi4vRWFjaEN1cnJlbnRDb2xsaXNpb25cIjtcbmltcG9ydCB7IE1vZGVsUGF0aEJ1aWxkZXIgfSBmcm9tIFwiLi9Nb2RlbFBhdGhCdWlsZGVyXCI7XG5pbXBvcnQgeyBQYXRoTWF0Y2hlciwgUGF0aE1hdGNoaW5nIH0gZnJvbSBcIi4vUGF0aE1hdGNoZXJcIjtcbmltcG9ydCB7IElFcXVhdGFibGUgfSBmcm9tIFwiLi9JRXF1YXRhYmxlXCI7XG5cbmNvbnN0IEVhY2hTeW1ib2wgPSBTeW1ib2wuZm9yKFwiX19FQUNIX19cIik7XG5jb25zdCBDdXJyZW50U3ltYm9sID0gU3ltYm9sLmZvcihcIl9fQ1VSUkVOVF9fXCIpO1xuXG5leHBvcnQgY2xhc3MgUGF0aFRva2VucyB7XG4gICAgcHVibGljIHN0YXRpYyBlYWNoOiB0eXBlb2YgRWFjaFN5bWJvbCA9IEVhY2hTeW1ib2w7XG4gICAgcHVibGljIHN0YXRpYyBjdXJyZW50OiB0eXBlb2YgQ3VycmVudFN5bWJvbCA9IEN1cnJlbnRTeW1ib2w7XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzTXVsdGlUb2tlbihwYXJ0OiB1bmRlZmluZWQgfCBQYXRoVG9rZW4pOiBwYXJ0IGlzIHR5cGVvZiBFYWNoU3ltYm9sIHwgdHlwZW9mIEN1cnJlbnRTeW1ib2wge1xuICAgICAgICByZXR1cm4gcGFydCA9PT0gUGF0aFRva2Vucy5lYWNoIHx8IHBhcnQgPT09IFBhdGhUb2tlbnMuY3VycmVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzU2ltcGxlVG9rZW4ocGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuKTogcGFydCBpcyBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHBhcnQgPT09IFwic3RyaW5nXCI7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0luc3RhbmNlVG9rZW4ocGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuKTogcGFydCBpcyBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHBhcnQgPT09IFwic3RyaW5nXCIgJiYgL15cXGQrJC9pLnRlc3QocGFydCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0luc3RhbmNlVG9rZW5Pckluc3RhbmNlc1NwZWMocGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuKTogcGFydCBpcyBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHBhcnQgPT09IFwic3RyaW5nXCIgJiYgKC9eXFxkKyQvaS50ZXN0KHBhcnQpIHx8IC9eXFxbKFxcZCtcXCw/KStcXF0kL2kudGVzdChwYXJ0KSk7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBTaW1wbGVQYXRoVG9rZW4gPSBzdHJpbmc7XG5cbmV4cG9ydCB0eXBlIFBhdGhUb2tlbiA9IFNpbXBsZVBhdGhUb2tlbiB8IHR5cGVvZiBFYWNoU3ltYm9sIHwgdHlwZW9mIEN1cnJlbnRTeW1ib2w7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01vZGVsUGF0aChwYXRoOiBCaW5kaW5nUGF0aCB8IE1vZGVsUGF0aCB8IHVua25vd24pOiBwYXRoIGlzIE1vZGVsUGF0aCB7XG4gICAgcmV0dXJuIHR5cGVvZiBwYXRoICE9PSBcInN0cmluZ1wiICYmIHBhdGggaW5zdGFuY2VvZiBNb2RlbFBhdGhJbXBsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvTGVnYWN5UGF0aChwYXRoOiBCaW5kaW5nUGF0aCB8IE1vZGVsUGF0aCk6IEJpbmRpbmdQYXRoIHtcbiAgICByZXR1cm4gaXNNb2RlbFBhdGgocGF0aCkgPyBwYXRoLnRvTGVnYWN5UGF0aCgpIDogcGF0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb0Fic29sdXRlTW9kZWxQYXRoPFIgZXh0ZW5kcyBib29sZWFuLCBBIGV4dGVuZHMgYm9vbGVhbj4oXG4gICAgcGF0aDogQmluZGluZ1BhdGggfCBJTW9kZWxQYXRoPFIsIEE+XG4pOiBJTW9kZWxQYXRoPFIsIHRydWU+O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb0Fic29sdXRlTW9kZWxQYXRoKHBhdGg6IEJpbmRpbmdQYXRoIHwgQWJzb2x1dGVNb2RlbFBhdGgpOiBBYnNvbHV0ZU1vZGVsUGF0aCB7XG4gICAgcmV0dXJuIGlzTW9kZWxQYXRoKHBhdGgpID8gcGF0aCA6IGNyZWF0ZUFic29sdXRlRnJvbU1hc2socGF0aCwgUGF0aFRva2Vucy5lYWNoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5TW9kZWxQYXRoKCk6IFJlbGF0aXZlUmVzb2x2ZWRNb2RlbFBhdGgge1xuICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCBmYWxzZT4oW10sIGZhbHNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5QWJzb2x1dGVNb2RlbFBhdGgoKTogQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPHRydWUsIHRydWU+KFtdLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vZGVsUGF0aChwYXRoOiBzdHJpbmcsIGFic29sdXRlOiB0cnVlKTogQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aDtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVNb2RlbFBhdGgocGF0aDogc3RyaW5nLCBhYnNvbHV0ZTogZmFsc2UpOiBSZWxhdGl2ZVJlc29sdmVkTW9kZWxQYXRoO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vZGVsUGF0aChwYXRoOiBzdHJpbmcsIGFic29sdXRlOiBcImF1dG9cIik6IFJlc29sdmVkTW9kZWxQYXRoO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vZGVsUGF0aChwYXRoOiBzdHJpbmcsIGFic29sdXRlOiBib29sZWFuIHwgXCJhdXRvXCIpOiBSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIik7XG4gICAgZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eShwYXJ0UGFydFN0cmluZ3MpO1xuICAgIGlmIChhYnNvbHV0ZSA9PT0gXCJhdXRvXCIpIHtcbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCB0cnVlPihwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPHRydWUsIGZhbHNlPihwYXJ0UGFydFN0cmluZ3MsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYWJzb2x1dGUgJiYgcGF0aC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGw8dHJ1ZSwgdHJ1ZT4ocGFydFBhcnRTdHJpbmdzLnNsaWNlKDEpLCB0cnVlKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPHRydWUsIGJvb2xlYW4+KHBhcnRQYXJ0U3RyaW5ncywgYWJzb2x1dGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJvbU1hc2socGF0aDogc3RyaW5nLCBhYnNvbHV0ZTogdHJ1ZSwgbXVsdGlwbGljaXR5U3ltYm9sOiBQYXRoVG9rZW4pOiBBYnNvbHV0ZU1vZGVsUGF0aDtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGcm9tTWFzayhwYXRoOiBzdHJpbmcsIGFic29sdXRlOiBmYWxzZSwgbXVsdGlwbGljaXR5U3ltYm9sOiBQYXRoVG9rZW4pOiBSZXNvbHZlZE1vZGVsUGF0aDtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGcm9tTWFzayhwYXRoOiBzdHJpbmcsIGFic29sdXRlOiBcImF1dG9cIiwgbXVsdGlwbGljaXR5U3ltYm9sOiBQYXRoVG9rZW4pOiBNb2RlbFBhdGg7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJvbU1hc2socGF0aDogc3RyaW5nLCBhYnNvbHV0ZTogYm9vbGVhbiB8IFwiYXV0b1wiLCBtdWx0aXBsaWNpdHlTeW1ib2w6IFBhdGhUb2tlbik6IE1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIikubWFwKHggPT4gKHggPT09IFwiKlwiID8gbXVsdGlwbGljaXR5U3ltYm9sIDogeCkpO1xuICAgIGlmIChhYnNvbHV0ZSA9PT0gXCJhdXRvXCIpIHtcbiAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbChwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsKHBhcnRQYXJ0U3RyaW5ncywgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChhYnNvbHV0ZSAmJiBwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbChwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGwocGFydFBhcnRTdHJpbmdzLCBhYnNvbHV0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBYnNvbHV0ZUZyb21NYXNrKHBhdGg6IHN0cmluZywgbXVsdGlwbGljaXR5U3ltYm9sOiBQYXRoVG9rZW4pOiBBYnNvbHV0ZU1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIikubWFwKHggPT4gKHggPT09IFwiKlwiID8gbXVsdGlwbGljaXR5U3ltYm9sIDogeCkpO1xuICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbChwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGwocGFydFBhcnRTdHJpbmdzLCB0cnVlKTtcbn1cblxuZnVuY3Rpb24gZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eShwYXJ0czogcmVhZG9ubHkgc3RyaW5nW10pOiB2b2lkIHtcbiAgICBpZiAocGFydHMuc29tZSh4ID0+IHggPT09IFwiKlwiKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXRoIG11c3Qgbm90IGNvbnRhaW4gKiBzeW1ib2xcIik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWJzb2x1dGUocGF0aDogc3RyaW5nKTogQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIik7XG4gICAgZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eShwYXJ0UGFydFN0cmluZ3MpO1xuICAgIGlmIChwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCB0cnVlPihwYXJ0UGFydFN0cmluZ3Muc2xpY2UoMSksIHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGw8dHJ1ZSwgdHJ1ZT4ocGFydFBhcnRTdHJpbmdzLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGF0aXZlUmVzb2x2ZWRNb2RlbFBhdGgocGF0aDogc3RyaW5nKTogUmVsYXRpdmVSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgY29uc3QgcGFydFBhcnRTdHJpbmdzID0gcGF0aC5zcGxpdChcIi9cIik7XG4gICAgZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eShwYXJ0UGFydFN0cmluZ3MpO1xuICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCBmYWxzZT4ocGFydFBhcnRTdHJpbmdzLCBmYWxzZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBYnNvbHV0ZUZyb21Ub2tlbnModG9rZW5zOiBQYXRoVG9rZW5bXSk6IEFic29sdXRlTW9kZWxQYXRoIHtcbiAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGw8ZmFsc2UsIHRydWU+KHRva2VucywgdHJ1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBYnNvbHV0ZVJlc29sdmVkRnJvbVRva2Vucyh0b2tlbnM6IHJlYWRvbmx5IHN0cmluZ1tdKTogQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCB7XG4gICAgZW5zdXJlUGxhaW5QYXRoUGFydHNEb2VzTm90Q29udGFpbk11bHRpcGxpY2l0eSh0b2tlbnMpO1xuICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDx0cnVlLCB0cnVlPih0b2tlbnMsIHRydWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zKHRva2VuczogcmVhZG9ubHkgc3RyaW5nW10pOiBSZWxhdGl2ZVJlc29sdmVkTW9kZWxQYXRoO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGF0aXZlRnJvbVRva2Vucyh0b2tlbnM6IHJlYWRvbmx5IFBhdGhUb2tlbltdKTogUmVsYXRpdmVNb2RlbFBhdGg7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVsYXRpdmVGcm9tVG9rZW5zKHRva2VuczogcmVhZG9ubHkgUGF0aFRva2VuW10pOiBSZWxhdGl2ZU1vZGVsUGF0aCB7XG4gICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPGZhbHNlLCBmYWxzZT4odG9rZW5zLCBmYWxzZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqb2luTW9kZWxQYXRocyguLi5wYXJ0czogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuIHwgUGF0aFRva2VuW10+KTogTW9kZWxQYXRoIHtcbiAgICBsZXQgYWJzb2x1dGUgPSBmYWxzZTtcbiAgICBsZXQgcmVzdWx0UGFydHM6IFBhdGhUb2tlbltdID0gW107XG4gICAgZm9yIChjb25zdCBqb2luSXRlbSBvZiBwYXJ0cykge1xuICAgICAgICBpZiAodHlwZW9mIGpvaW5JdGVtID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXN1bHRQYXJ0cy5wdXNoKGpvaW5JdGVtKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc01vZGVsUGF0aChqb2luSXRlbSkpIHtcbiAgICAgICAgICAgIGlmIChqb2luSXRlbS5pc0Fic29sdXRlKCkpIHtcbiAgICAgICAgICAgICAgICBhYnNvbHV0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmVzdWx0UGFydHMgPSBbLi4uam9pbkl0ZW0uZ2V0UGF0aFBhcnRzQXNBcnJheSgpXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0UGFydHMucHVzaCguLi5qb2luSXRlbS5nZXRQYXRoUGFydHNBc0FycmF5KCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoam9pbkl0ZW0pKSB7XG4gICAgICAgICAgICByZXN1bHRQYXJ0cy5wdXNoKC4uLmpvaW5JdGVtKTtcbiAgICAgICAgfSBlbHNlIGlmIChQYXRoVG9rZW5zLmlzTXVsdGlUb2tlbihqb2luSXRlbSkpIHtcbiAgICAgICAgICAgIHJlc3VsdFBhcnRzLnB1c2goam9pbkl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsKHJlc3VsdFBhcnRzLCBhYnNvbHV0ZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1vZGVsUGF0aDxUUmVzb2x2ZWQgZXh0ZW5kcyBib29sZWFuLCBUQWJzb2x1dGUgZXh0ZW5kcyBib29sZWFuPlxuICAgIGV4dGVuZHMgSUVxdWF0YWJsZTxJTW9kZWxQYXRoPGJvb2xlYW4sIGJvb2xlYW4+PiB7XG4gICAgcmVhZG9ubHkgcmVzb2x2ZWQ6IFRSZXNvbHZlZDtcbiAgICByZWFkb25seSBhYnNvbHV0ZTogVEFic29sdXRlO1xuXG4gICAgaXNFcXVhbHMobW9kZWxQYXRoOiBNb2RlbFBhdGgsIGVhY2hDdXJyZW50Q29sbGlzaW9uPzogRWFjaEN1cnJlbnRDb2xsaXNpb24pOiBib29sZWFuO1xuICAgIGdldEhhc2goZWFjaEN1cnJlbnRDb2xsaXNpb24/OiBFYWNoQ3VycmVudENvbGxpc2lvbik6IG51bWJlcjtcblxuICAgIGlzUmVzb2x2ZWQoKTogdGhpcyBpcyBJTW9kZWxQYXRoPHRydWUsIFRBYnNvbHV0ZT47XG4gICAgaXNBYnNvbHV0ZSgpOiB0aGlzIGlzIElNb2RlbFBhdGg8VFJlc29sdmVkLCB0cnVlPjtcbiAgICB0b0Fic29sdXRlKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCB0cnVlPjtcblxuICAgIGpvaW5XaXRoKC4uLnBhdGg6IHN0cmluZ1tdKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT47XG4gICAgam9pbldpdGgoLi4ucGF0aDogUGF0aFRva2VuW10pOiBJTW9kZWxQYXRoPGJvb2xlYW4sIFRBYnNvbHV0ZT47XG4gICAgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8UmVzb2x2ZWRNb2RlbFBhdGggfCBzdHJpbmc+KTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT47XG4gICAgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8QWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCB8IHN0cmluZz4pOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgdHJ1ZT47XG4gICAgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuPik6IElNb2RlbFBhdGg8Ym9vbGVhbiwgVEFic29sdXRlPjtcblxuICAgIGdldFBhdGhQYXJ0cygpOiBJdGVyYWJsZTxQYXRoVG9rZW5TcGVjPFRSZXNvbHZlZD4+O1xuICAgIGdldFBhdGhQYXJ0c0FzQXJyYXkoKTogUmVhZG9ubHlBcnJheTxQYXRoVG9rZW5TcGVjPFRSZXNvbHZlZD4+O1xuICAgIGdldFNpbXBsZVRva2Vuc1N0cmljdCgpOiBJdGVyYWJsZTxTaW1wbGVQYXRoVG9rZW4+O1xuICAgIGdldFNpbXBsZVRva2Vuc0FzQXJyYXlTdHJpY3QoKTogcmVhZG9ubHkgU2ltcGxlUGF0aFRva2VuW107XG5cbiAgICByZXNvbHZlQWxsKGluc3RhbmNlOiBzdHJpbmcpOiBNb2RlbFBhdGg7XG4gICAgaXNDb250YWluSXRlcmF0aW9uKCk6IGJvb2xlYW47XG4gICAgaXNDb250YWluQ3VycmVudEl0ZXJhdGlvbigpOiBib29sZWFuO1xuICAgIGlzQ29udGFpbkN1cnJlbnRPckVhY2hJdGVyYXRpb24oKTogYm9vbGVhbjtcbiAgICBnZXRMYXN0TGlzdFBhdGgoKTogUGF0aFRva2VuW107XG4gICAgaXNFbmRzV2l0aEl0ZXJhdGlvbigpOiBib29sZWFuO1xuICAgIGlzRW5kc1dpdGhDdXJyZW50SXRlcmF0aW9uKCk6IGJvb2xlYW47XG4gICAgaXNJbmNsdWRlcyhtb2RlbFBhdGg6IE1vZGVsUGF0aCk6IGJvb2xlYW47XG4gICAgZ2V0SXRlcmF0aW9uUmFuayhlYWNoQ3VycmVudENvbGxpc2lvbj86IEVhY2hDdXJyZW50Q29sbGlzaW9uKTogbnVtYmVyO1xuICAgIGlzRW1wdHkoKTogYm9vbGVhbjtcbiAgICBtYXRjaEZvcihtb2RlbFBhdGg6IE1vZGVsUGF0aCk6IFBhdGhNYXRjaGluZztcbiAgICBzdGFydHNXaXRoKG1vZGVsUGF0aDogTW9kZWxQYXRoKTogYm9vbGVhbjtcbiAgICBzcGxpdEJ5TXVsdGlwbGljaXR5KCk6IEl0ZXJhYmxlPFJlc29sdmVkTW9kZWxQYXRoIHwgdHlwZW9mIEVhY2hTeW1ib2wgfCB0eXBlb2YgQ3VycmVudFN5bWJvbD47XG4gICAgbm9ybWFsaXplKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+O1xuICAgIHRvQ3VycmVudEl0ZXJhdGlvbigpOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPjtcbiAgICB0b0VhY2hJdGVyYXRpb24oKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT47XG4gICAgZ2V0QWxsUGFyZW50UGF0aHMoKTogSXRlcmFibGU8TW9kZWxQYXRoPjtcbiAgICB0cmltTGFzdFN0YXJJZkxhc3RUb2tlbigpOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPjtcbiAgICBnZXRQYXJlbnRQYXRoKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+O1xuICAgIGFwcGx5SW5zdGFuY2VzRGlydHkoXG4gICAgICAgIGluc3RhbmNlczogU2ltcGxlUGF0aFRva2VuW10sXG4gICAgICAgIGZpbGxXaXRoTXVsdGlwbGljaXR5SWZIYXNOb0luc3RhbmNlPzogYm9vbGVhblxuICAgICk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+O1xuXG4gICAgdG9TdHJpbmcoKTogc3RyaW5nO1xuICAgIHRvTGVnYWN5UGF0aCgpOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIE1vZGVsUGF0aCA9IElNb2RlbFBhdGg8Ym9vbGVhbiwgYm9vbGVhbj47XG5leHBvcnQgdHlwZSBSZXNvbHZlZE1vZGVsUGF0aCA9IElNb2RlbFBhdGg8dHJ1ZSwgYm9vbGVhbj47XG5leHBvcnQgdHlwZSBBYnNvbHV0ZU1vZGVsUGF0aCA9IElNb2RlbFBhdGg8Ym9vbGVhbiwgdHJ1ZT47XG5leHBvcnQgdHlwZSBBYnNvbHV0ZVJlc29sdmVkTW9kZWxQYXRoID0gSU1vZGVsUGF0aDx0cnVlLCB0cnVlPjtcblxuZXhwb3J0IHR5cGUgUmVsYXRpdmVNb2RlbFBhdGggPSBJTW9kZWxQYXRoPGJvb2xlYW4sIGZhbHNlPjtcbmV4cG9ydCB0eXBlIFJlbGF0aXZlUmVzb2x2ZWRNb2RlbFBhdGggPSBJTW9kZWxQYXRoPHRydWUsIGZhbHNlPjtcblxudHlwZSBQYXRoVG9rZW5TcGVjPFRSZXNvbHZlZCBleHRlbmRzIGJvb2xlYW4+ID0gVFJlc29sdmVkIGV4dGVuZHMgdHJ1ZSA/IHN0cmluZyA6IFBhdGhUb2tlbjtcblxudHlwZSBQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQgZXh0ZW5kcyBib29sZWFuPiA9IEFycmF5PFBhdGhUb2tlblNwZWM8VFJlc29sdmVkPj47XG5cbnR5cGUgUmVhZG9ubHlQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQgZXh0ZW5kcyBib29sZWFuPiA9IFJlYWRvbmx5QXJyYXk8UGF0aFRva2VuU3BlYzxUUmVzb2x2ZWQ+PjtcblxuZnVuY3Rpb24gaXNBbGxUb2tlbnNSZXNvbHZlZDxUUmVzb2x2ZWQgZXh0ZW5kcyBib29sZWFuPih0b2tlbnM6IFJlYWRvbmx5UGF0aFRva2Vuc1NwZWM8VFJlc29sdmVkPik6IFRSZXNvbHZlZCB7XG4gICAgLy8g0K8g0YfRgtC+LdGC0L4g0L3QtdC80L7Qs9GDINGB0L7QvtCx0YDQsNC30LjRgtGMINC60LDQuiDRgtGD0YIg0LLRgdGRINGB0YLRgNC+0LPQviDQvdCw0L/QuNGB0LDRgtGMLi4uXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHJldHVybiB0b2tlbnMuZXZlcnkoUGF0aFRva2Vucy5pc1NpbXBsZVRva2VuKTtcbn1cblxuZXhwb3J0IGNsYXNzIE1vZGVsUGF0aEltcGw8VFJlc29sdmVkIGV4dGVuZHMgYm9vbGVhbiwgVEFic29sdXRlIGV4dGVuZHMgYm9vbGVhbj5cbiAgICBpbXBsZW1lbnRzIElFcXVhdGFibGU8TW9kZWxQYXRoPiwgSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT5cbntcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRva2VuczogUmVhZG9ubHlQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQ+O1xuICAgIHB1YmxpYyByZWFkb25seSBhYnNvbHV0ZTogVEFic29sdXRlO1xuICAgIHByaXZhdGUgbGVnYWN5UGF0aDogdW5kZWZpbmVkIHwgc3RyaW5nO1xuICAgIHByaXZhdGUgY2FjaGVkSGFzaDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHBhdGhQYXJ0czogUmVhZG9ubHlQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQ+LCBhYnNvbHV0ZTogVEFic29sdXRlKSB7XG4gICAgICAgIHRoaXMudG9rZW5zID0gcGF0aFBhcnRzLmZpbHRlcih4ID0+IHggIT09IFwiXCIpO1xuICAgICAgICB0aGlzLmFic29sdXRlID0gYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXNvbHZlZCgpOiBUUmVzb2x2ZWQge1xuICAgICAgICByZXR1cm4gaXNBbGxUb2tlbnNSZXNvbHZlZCh0aGlzLnRva2Vucyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhdGhQYXJ0cygpOiBJdGVyYWJsZTxQYXRoVG9rZW5TcGVjPFRSZXNvbHZlZD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYXRoUGFydHNBc0FycmF5KCk6IFJlYWRvbmx5QXJyYXk8UGF0aFRva2VuU3BlYzxUUmVzb2x2ZWQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2VucztcbiAgICB9XG5cbiAgICBwdWJsaWMgKmdldFNpbXBsZVRva2Vuc1N0cmljdCgpOiBJdGVyYWJsZTxTaW1wbGVQYXRoVG9rZW4+IHtcbiAgICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiB0aGlzLnRva2Vucykge1xuICAgICAgICAgICAgaWYgKCFQYXRoVG9rZW5zLmlzU2ltcGxlVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUGF0aCBtdXN0IG5vdCBjb250YWluIHNwZWMgdG9rZW5zXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgeWllbGQgdG9rZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2ltcGxlVG9rZW5zQXNBcnJheVN0cmljdCgpOiByZWFkb25seSBTaW1wbGVQYXRoVG9rZW5bXSB7XG4gICAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdGhpcy50b2tlbnMpIHtcbiAgICAgICAgICAgIGlmICghUGF0aFRva2Vucy5pc1NpbXBsZVRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhdGggbXVzdCBub3QgY29udGFpbiBzcGVjIHRva2Vuc1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyDQn9GA0L7QstC10YDQutCwINCy0YvRiNC1INCz0LDRgNCw0LXQvdGC0LjRgNGD0LXRgiDRh9GC0L4g0LHRg9C00YPRgiDRgtC+0LvRjNC60L4gU2ltcGxlUGF0aFRva2VuLlxuICAgICAgICAvLyDQktGB0LUgbWFwINC4IGZpbHRlciDRg9Cx0YDQsNC90Ysg0LTQu9GPINC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9GM0L3QvtGB0YLQuFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiB0aGlzLnRva2VucztcbiAgICB9XG5cbiAgICBwdWJsaWMgam9pbldpdGgoLi4ucGF0aDogc3RyaW5nW10pOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPjtcbiAgICBwdWJsaWMgam9pbldpdGgoLi4ucGF0aDogUGF0aFRva2VuW10pOiBJTW9kZWxQYXRoPGJvb2xlYW4sIFRBYnNvbHV0ZT47XG4gICAgcHVibGljIGpvaW5XaXRoKC4uLnBhdGg6IEFycmF5PFJlc29sdmVkTW9kZWxQYXRoIHwgc3RyaW5nPik6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+O1xuICAgIHB1YmxpYyBqb2luV2l0aCguLi5wYXRoOiBBcnJheTxBYnNvbHV0ZVJlc29sdmVkTW9kZWxQYXRoIHwgc3RyaW5nPik6IElNb2RlbFBhdGg8VFJlc29sdmVkLCB0cnVlPjtcbiAgICBwdWJsaWMgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuPik6IElNb2RlbFBhdGg8Ym9vbGVhbiwgVEFic29sdXRlPjtcbiAgICBwdWJsaWMgam9pbldpdGgoLi4ucGF0aDogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuPik6IElNb2RlbFBhdGg8Ym9vbGVhbiwgYm9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gam9pbk1vZGVsUGF0aHModGhpcywgLi4ucGF0aCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUmVzb2x2ZWQoKTogdGhpcyBpcyBJTW9kZWxQYXRoPHRydWUsIFRBYnNvbHV0ZT4ge1xuICAgICAgICByZXR1cm4gaXNBbGxUb2tlbnNSZXNvbHZlZCh0aGlzLnRva2Vucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmVBbGwoaW5zdGFuY2U6IHN0cmluZyk6IE1vZGVsUGF0aCB7XG4gICAgICAgIGNvbnN0IHRva2VucyA9IHRoaXMudG9rZW5zLm1hcCh0b2tlbiA9PiB7XG4gICAgICAgICAgICBpZiAoUGF0aFRva2Vucy5pc1NpbXBsZVRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGwodG9rZW5zLCB0aGlzLmFic29sdXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNDb250YWluSXRlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbnMuc29tZSh4ID0+IHggPT09IFBhdGhUb2tlbnMuZWFjaCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ29udGFpbkN1cnJlbnRJdGVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2Vucy5zb21lKHggPT4geCA9PT0gUGF0aFRva2Vucy5jdXJyZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNDb250YWluQ3VycmVudE9yRWFjaEl0ZXJhdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5zLnNvbWUoeCA9PiB4ID09PSBQYXRoVG9rZW5zLmN1cnJlbnQgfHwgeCA9PT0gUGF0aFRva2Vucy5lYWNoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGFzdExpc3RQYXRoKCk6IFBhdGhUb2tlbltdIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQ29udGFpbkl0ZXJhdGlvbigpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXRoIG11c3QgY29udGFpbiBpdGVyYXRpb25cIik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyDQn9GA0L7QstC10YDQutCwINCy0YvRiNC1INCz0LDRgNCw0L3RgtC40YDRg9C10YIsINGH0YLQviDQsdGD0LTQtdGCIFBhdGhUb2tlbnMuZWFjaFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGxhc3RJdGVyYXRpb25JbmRleCA9IHRoaXMudG9rZW5zLmxhc3RJbmRleE9mKFBhdGhUb2tlbnMuZWFjaCk7XG4gICAgICAgIHJldHVybiB0aGlzLnRva2Vucy5zbGljZSgwLCBsYXN0SXRlcmF0aW9uSW5kZXgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0VuZHNXaXRoSXRlcmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBsYXN0SXRlbSA9IEl0ZXJVdGlscy5sYXN0KHRoaXMudG9rZW5zKTtcbiAgICAgICAgcmV0dXJuIGxhc3RJdGVtID09IFBhdGhUb2tlbnMuZWFjaDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFbmRzV2l0aEN1cnJlbnRJdGVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGxhc3RJdGVtID0gSXRlclV0aWxzLmxhc3QodGhpcy50b2tlbnMpO1xuICAgICAgICByZXR1cm4gbGFzdEl0ZW0gPT0gUGF0aFRva2Vucy5jdXJyZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0Fic29sdXRlKCk6IHRoaXMgaXMgSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIHRydWU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnRva2Vucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAodGhpcy5hYnNvbHV0ZSA/IFwiL1wiIDogXCJcIikgKyB0aGlzLnRva2Vucy5tYXAoeCA9PiB0aGlzLnBhdGhQYXJ0VG9TdHJpbmcoeCkpLmpvaW4oXCIvXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b0xlZ2FjeVBhdGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGVnYWN5UGF0aCA/PyAodGhpcy5sZWdhY3lQYXRoID0gdGhpcy50b2tlbnMubWFwKHggPT4gdGhpcy5wYXRoUGFydFRvU3RyaW5nKHgpKS5qb2luKFwiL1wiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRXF1YWxzKFxuICAgICAgICBtb2RlbFBhdGg6IE1vZGVsUGF0aCxcbiAgICAgICAgZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uID0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlU2FtZVxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoZWFjaEN1cnJlbnRDb2xsaXNpb24gPT09IEVhY2hDdXJyZW50Q29sbGlzaW9uLkFyZVNhbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRvTGVnYWN5UGF0aCgpID09PSBtb2RlbFBhdGgudG9MZWdhY3lQYXRoKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIHRoaXMuaXNBYnNvbHV0ZSgpID09PSBtb2RlbFBhdGguaXNBYnNvbHV0ZSgpICYmXG4gICAgICAgICAgICAgICAgSXRlcmF0b3IuZnJvbShJdGVyVXRpbHMuemlwKHRoaXMuZ2V0UGF0aFBhcnRzKCksIG1vZGVsUGF0aC5nZXRQYXRoUGFydHMoKSkpLmV2ZXJ5KFxuICAgICAgICAgICAgICAgICAgICAoW3QxLCB0Ml0pID0+IHQxID09PSB0MlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktGB0LXQs9C00LAg0YbQtdC70L7QtSDQv9C+0LvQvtC20LjRgtC10LvRjNC90L7QtSDQsdC10LfQt9C90LDQutC+0LLQvtC1IDMyLdCx0LjRgtC90L7QtSDRh9C40YHQu9C+XG4gICAgICovXG4gICAgcHVibGljIGdldEhhc2goZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uID0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlU2FtZSk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLmNhY2hlZEhhc2ggPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsZXQgaGFzaCA9IDUzODE7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHJldmVyc2VBcnJheSh0aGlzLnRva2VucykpIHtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFN0cjogc3RyaW5nO1xuICAgICAgICAgICAgICAgIGlmIChQYXRoVG9rZW5zLmlzU2ltcGxlVG9rZW4odG9rZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTdHIgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZWFjaEN1cnJlbnRDb2xsaXNpb24gPT09IEVhY2hDdXJyZW50Q29sbGlzaW9uLkFyZURpZmZlcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ciA9IHRva2VuID09PSBQYXRoVG9rZW5zLmVhY2ggPyBcIipcIiA6IFwiIVwiO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ciA9IFwiKlwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxldCBzdHJpbmdJbmRleCA9IGN1cnJlbnRTdHIubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHdoaWxlIChzdHJpbmdJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxuICAgICAgICAgICAgICAgICAgICBoYXNoID0gKGhhc2ggKiAzMykgXiBjdXJyZW50U3RyLmNoYXJDb2RlQXQoLS1zdHJpbmdJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXG4gICAgICAgICAgICAgICAgSmF2YVNjcmlwdCBkb2VzIGJpdHdpc2Ugb3BlcmF0aW9ucyAobGlrZSBYT1IsIGFib3ZlKSBvbiAzMi1iaXQgc2lnbmVkXG4gICAgICAgICAgICAgICAgaW50ZWdlcnMuIFNpbmNlIHdlIHdhbnQgdGhlIHJlc3VsdHMgdG8gYmUgYWx3YXlzIHBvc2l0aXZlLCBjb252ZXJ0IHRoZVxuICAgICAgICAgICAgICAgIHNpZ25lZCBpbnQgdG8gYW4gdW5zaWduZWQgYnkgZG9pbmcgYW4gdW5zaWduZWQgYml0c2hpZnQuXG4gICAgICAgICAgKi9cbiAgICAgICAgICAgIHRoaXMuY2FjaGVkSGFzaCA9IGhhc2ggPj4+IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkSGFzaDtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNJbmNsdWRlcyhtb2RlbFBhdGg6IE1vZGVsUGF0aCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB0YXJnZXRUb2tlbnMgPSBtb2RlbFBhdGguZ2V0UGF0aFBhcnRzQXNBcnJheSgpO1xuICAgICAgICBpZiAodGhpcy50b2tlbnMubGVuZ3RoICE9PSB0YXJnZXRUb2tlbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbGVmdFBhcnQgPSB0aGlzLnRva2Vuc1tpXTtcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0UGFydCA9IHRhcmdldFRva2Vuc1tpXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbGVmdFBhcnQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJpZ2h0UGFydCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGVmdFBhcnQgIT09IHJpZ2h0UGFydCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGxlZnRQYXJ0ID09PSBQYXRoVG9rZW5zLmN1cnJlbnQgfHwgbGVmdFBhcnQgPT09IFBhdGhUb2tlbnMuZWFjaCkge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmlnaHRQYXJ0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNGaW5pdGUoTnVtYmVyKHJpZ2h0UGFydCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJpZ2h0UGFydCAhPT0gUGF0aFRva2Vucy5jdXJyZW50ICYmIHJpZ2h0UGFydCAhPT0gUGF0aFRva2Vucy5lYWNoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVyYXRpb25SYW5rKGVhY2hDdXJyZW50Q29sbGlzaW9uOiBFYWNoQ3VycmVudENvbGxpc2lvbiA9IEVhY2hDdXJyZW50Q29sbGlzaW9uLkFyZURpZmZlcmVudCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBjb3VudChcbiAgICAgICAgICAgIEl0ZXJhdG9yLmZyb20odGhpcy50b2tlbnMpLmZpbHRlcih4ID0+XG4gICAgICAgICAgICAgICAgZWFjaEN1cnJlbnRDb2xsaXNpb24gPT0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlRGlmZmVyZW50XG4gICAgICAgICAgICAgICAgICAgID8geCA9PT0gUGF0aFRva2Vucy5lYWNoXG4gICAgICAgICAgICAgICAgICAgIDogUGF0aFRva2Vucy5pc011bHRpVG9rZW4oeClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW5zLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWF0Y2hGb3IobW9kZWxQYXRoOiBNb2RlbFBhdGgpOiBQYXRoTWF0Y2hpbmcge1xuICAgICAgICBpZiAoIXRoaXMuaXNBYnNvbHV0ZSgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBtYXRjaCBub24gYWJzb2x1dGUgcGF0aCAnJHt0aGlzLnRvU3RyaW5nKCl9J2ApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbW9kZWxQYXRoLmlzQWJzb2x1dGUoKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgbWF0Y2ggbm9uIGFic29sdXRlIHBhdGggJyR7bW9kZWxQYXRoLnRvU3RyaW5nKCl9J2ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQYXRoTWF0Y2hlci5tYXRjaCh0aGlzLnRva2VucywgbW9kZWxQYXRoLmdldFBhdGhQYXJ0c0FzQXJyYXkoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXJ0c1dpdGgobW9kZWxQYXRoOiBNb2RlbFBhdGgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdGhpc1BhcnRzID0gdGhpcy5nZXRQYXRoUGFydHNBc0FycmF5KCk7XG4gICAgICAgIGNvbnN0IG90aGVyUGFydHMgPSBtb2RlbFBhdGguZ2V0UGF0aFBhcnRzQXNBcnJheSgpO1xuICAgICAgICByZXR1cm4gb3RoZXJQYXJ0cy5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSA9PT0gdGhpc1BhcnRzW2luZGV4XSk7XG4gICAgfVxuXG4gICAgcHVibGljICpzcGxpdEJ5TXVsdGlwbGljaXR5KCk6IEl0ZXJhYmxlPFJlc29sdmVkTW9kZWxQYXRoIHwgdHlwZW9mIEVhY2hTeW1ib2wgfCB0eXBlb2YgQ3VycmVudFN5bWJvbD4ge1xuICAgICAgICBsZXQgbGFzdFNpbXBsZVBhcnRzID0gbmV3IE1vZGVsUGF0aEJ1aWxkZXIodGhpcy5pc0Fic29sdXRlKCkpO1xuICAgICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIHRoaXMudG9rZW5zKSB7XG4gICAgICAgICAgICBpZiAoUGF0aFRva2Vucy5pc1NpbXBsZVRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgIGxhc3RTaW1wbGVQYXJ0cy5hcHBlbmQodG9rZW4pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIWxhc3RTaW1wbGVQYXJ0cy5lbXB0eSkge1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCBsYXN0U2ltcGxlUGFydHMudG9SZXNvbHZlZFBhdGgoKTtcbiAgICAgICAgICAgICAgICAgICAgbGFzdFNpbXBsZVBhcnRzID0gbmV3IE1vZGVsUGF0aEJ1aWxkZXIoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB5aWVsZCB0b2tlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxhc3RTaW1wbGVQYXJ0cy5lbXB0eSkge1xuICAgICAgICAgICAgeWllbGQgbGFzdFNpbXBsZVBhcnRzLnRvUmVzb2x2ZWRQYXRoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbm9ybWFsaXplKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0VG9rZW5zOiBQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQ+ID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcGF0aFBhcnQgb2YgdGhpcy50b2tlbnMpIHtcbiAgICAgICAgICAgIGlmIChwYXRoUGFydCA9PT0gXCIuLlwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXN1bHRUb2tlbnMucG9wKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBYnNvbHV0ZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggaXMgaW52YWxpZCAnJHt0aGlzLnRvU3RyaW5nKCl9J2ApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0VG9rZW5zLnB1c2goXCIuLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhdGhQYXJ0ID09PSBcIi5cIikge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0VG9rZW5zLnB1c2gocGF0aFBhcnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT4ocmVzdWx0VG9rZW5zLCB0aGlzLmFic29sdXRlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAc3VtbWFyeSDQodC/0LXRhtC40YTQuNC60LDRgtC+0YDRiyDQvNC90L7QttC10YHRgtCy0LXQvdC90L7RgdGC0LggRWFjaCDQt9Cw0LzQtdC90Y/QtdGCINC90LAgQ3VycmVudFxuICAgICAqL1xuICAgIHB1YmxpYyB0b0N1cnJlbnRJdGVyYXRpb24oKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT4ge1xuICAgICAgICBpZiAodGhpcy5pc1Jlc29sdmVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gTk9URSDQotGD0YIg0L3QtSDQv9C+0LvRg9GH0LDQtdGC0YHRjyDQvdCw0LvQvtC20LjRgtGMINC00LjRgdC60YDQuNC80LjQvdCw0YLQvtGAXG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICBjb25zdCBwYXRoUGFydHM6IFBhdGhUb2tlbnNTcGVjPFRSZXNvbHZlZD4gPSB0aGlzLnRva2Vucy5tYXAoeCA9PlxuICAgICAgICAgICAgICAgIHggPT09IFBhdGhUb2tlbnMuZWFjaCA/IFBhdGhUb2tlbnMuY3VycmVudCA6IHhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IE1vZGVsUGF0aEltcGw8VFJlc29sdmVkLCBUQWJzb2x1dGU+KHBhdGhQYXJ0cywgdGhpcy5hYnNvbHV0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdG9FYWNoSXRlcmF0aW9uKCk6IElNb2RlbFBhdGg8VFJlc29sdmVkLCBUQWJzb2x1dGU+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNSZXNvbHZlZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIE5PVEUg0KLRg9GCINC90LUg0L/QvtC70YPRh9Cw0LXRgtGB0Y8g0L3QsNC70L7QttC40YLRjCDQtNC40YHQutGA0LjQvNC40L3QsNGC0L7RgFxuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgY29uc3QgcGF0aFBhcnRzOiBQYXRoVG9rZW5zU3BlYzxUUmVzb2x2ZWQ+ID0gdGhpcy50b2tlbnMubWFwKHggPT5cbiAgICAgICAgICAgICAgICB4ID09PSBQYXRoVG9rZW5zLmN1cnJlbnQgPyBQYXRoVG9rZW5zLmVhY2ggOiB4XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsPFRSZXNvbHZlZCwgVEFic29sdXRlPihwYXRoUGFydHMsIHRoaXMuYWJzb2x1dGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHRvQWJzb2x1dGUoKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIHRydWU+IHtcbiAgICAgICAgaWYgKCF0aGlzLmFic29sdXRlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFBhdGggJyR7dGhpcy50b0xlZ2FjeVBhdGgoKX0gaXMgbm90IGFic29sdXRlJ2ApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxQYXRoSW1wbDxUUmVzb2x2ZWQsIHRydWU+KHRoaXMudG9rZW5zLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgKmdldEFsbFBhcmVudFBhdGhzKCk6IEl0ZXJhYmxlPE1vZGVsUGF0aD4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgTW9kZWxQYXRoQnVpbGRlcih0aGlzLmlzQWJzb2x1dGUoKSk7XG4gICAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgSXRlclV0aWxzLnNraXBMYXN0KHRoaXMuZ2V0UGF0aFBhcnRzKCksIDEpKSB7XG4gICAgICAgICAgICByZXN1bHQuYXBwZW5kKHRva2VuKTtcbiAgICAgICAgICAgIHlpZWxkIHJlc3VsdC50b1BhdGgoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0cmltTGFzdFN0YXJJZkxhc3RUb2tlbigpOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPiB7XG4gICAgICAgIGNvbnN0IGxhc3RJdGVtID0gSXRlclV0aWxzLmxhc3QodGhpcy50b2tlbnMpO1xuICAgICAgICBpZiAobGFzdEl0ZW0gIT0gdW5kZWZpbmVkICYmIFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKGxhc3RJdGVtKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBNb2RlbFBhdGhJbXBsKHRoaXMudG9rZW5zLnNsaWNlKDAsIC0xKSwgdGhpcy5hYnNvbHV0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhcmVudFBhdGgoKTogSU1vZGVsUGF0aDxUUmVzb2x2ZWQsIFRBYnNvbHV0ZT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgTW9kZWxQYXRoQnVpbGRlcih0aGlzLmFic29sdXRlKTtcbiAgICAgICAgZm9yIChjb25zdCB0b2tlbiBvZiBJdGVyVXRpbHMuc2tpcExhc3QodGhpcy5nZXRQYXRoUGFydHMoKSwgMSkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQodG9rZW4pO1xuICAgICAgICB9XG4gICAgICAgIC8vINCi0YPRgiDQv9C+0LvRg9GH0LDQtdGC0YHRjyDRgtCw0LosINGH0YLQviDQv9C+INC00YDRg9Cz0L7QvNGDINC90LjQutCw0LpcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICByZXR1cm4gcmVzdWx0LnRvUGF0aCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcHBseUluc3RhbmNlc0RpcnR5KFxuICAgICAgICBpbnN0YW5jZXM6IFNpbXBsZVBhdGhUb2tlbltdLFxuICAgICAgICBmaWxsV2l0aE11bHRpcGxpY2l0eUlmSGFzTm9JbnN0YW5jZT86IGJvb2xlYW5cbiAgICApOiBJTW9kZWxQYXRoPFRSZXNvbHZlZCwgVEFic29sdXRlPiB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVzb2x2ZWQoKSB8fCBpbnN0YW5jZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICBsZXQgaW5zdGFuY2VDb3VudGVyID0gMDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IE1vZGVsUGF0aEJ1aWxkZXIodHJ1ZSk7XG4gICAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdGhpcy5nZXRQYXRoUGFydHMoKSkge1xuICAgICAgICAgICAgaWYgKFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHRva2VuKSAmJiBpbnN0YW5jZUNvdW50ZXIgPCBpbnN0YW5jZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5zdGFuY2VPckVhY2ggPVxuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZXNbaW5zdGFuY2VDb3VudGVyXSA/P1xuICAgICAgICAgICAgICAgICAgICAoZmlsbFdpdGhNdWx0aXBsaWNpdHlJZkhhc05vSW5zdGFuY2UgPT0gdHJ1ZSA/IFBhdGhUb2tlbnMuZWFjaCA6IHJlamVjdCgpKTtcbiAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGluc3RhbmNlT3JFYWNoKTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZUNvdW50ZXIrKztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCh0b2tlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8g0KLRg9GCINC/0L7Qu9GD0YfQsNC10YLRgdGPINGC0LDQuiwg0YfRgtC+INC/0L4g0LTRgNGD0LPQvtC80YMg0L3QuNC60LDQulxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgIHJldHVybiByZXN1bHQudG9QYXRoKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXRoUGFydFRvU3RyaW5nKHBhdGhQYXJ0OiBQYXRoVG9rZW4pOiBzdHJpbmcge1xuICAgICAgICBpZiAodHlwZW9mIHBhdGhQYXJ0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aFBhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGhQYXJ0ID09PSBQYXRoVG9rZW5zLmVhY2gpIHtcbiAgICAgICAgICAgIHJldHVybiBcIipcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGF0aFBhcnQgPT09IFBhdGhUb2tlbnMuY3VycmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIFwiKlwiO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBwYXRoIHBhcnQgc3BlY2lmaWVkOiAke2Vuc3VyZUFuZEdldFN0cmluZyhwYXRoUGFydCl9YCk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLElBQUFBLGNBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFlBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLHFCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxpQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBR0EsTUFBTUssVUFBVSxHQUFHQyxNQUFNLENBQUNDLEdBQUcsQ0FBQyxVQUFVLENBQUM7QUFDekMsTUFBTUMsYUFBYSxHQUFHRixNQUFNLENBQUNDLEdBQUcsQ0FBQyxhQUFhLENBQUM7QUFFeEMsTUFBTUUsVUFBVSxDQUFDO0VBSXBCLE9BQWNDLFlBQVlBLENBQUNDLElBQTJCLEVBQW9EO0lBQ3RHLE9BQU9BLElBQUksS0FBS0YsVUFBVSxDQUFDRyxJQUFJLElBQUlELElBQUksS0FBS0YsVUFBVSxDQUFDSSxPQUFPO0VBQ2xFO0VBRUEsT0FBY0MsYUFBYUEsQ0FBQ0gsSUFBMkIsRUFBa0I7SUFDckUsT0FBTyxPQUFPQSxJQUFJLEtBQUssUUFBUTtFQUNuQztFQUVBLE9BQWNJLGVBQWVBLENBQUNKLElBQTJCLEVBQWtCO0lBQ3ZFLE9BQU8sT0FBT0EsSUFBSSxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUNLLElBQUksQ0FBQ0wsSUFBSSxDQUFDO0VBQzFEO0VBRUEsT0FBY00sOEJBQThCQSxDQUFDTixJQUEyQixFQUFr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
|
|
@@ -39,4 +39,4 @@ class ModelPathBuilder {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
exports.ModelPathBuilder = ModelPathBuilder;
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTW9kZWxQYXRoIiwicmVxdWlyZSIsIk1vZGVsUGF0aEJ1aWxkZXIiLCJjb25zdHJ1Y3RvciIsImZvcmNlQWJzb2x1dGUiLCJwYXJ0cyIsImVtcHR5QWJzb2x1dGVNb2RlbFBhdGgiLCJlbXB0eSIsImxlbmd0aCIsImFwcGVuZCIsInBhdGhQYXJ0IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInRvUGF0aCIsImpvaW5Nb2RlbFBhdGhzIiwidG9SZXNvbHZlZFBhdGgiLCJyZXN1bHQiLCJpc1Jlc29sdmVkIiwiRXJyb3IiLCJ0b0Fic29sdXRlUGF0aCIsInRvQWJzb2x1dGUiLCJ0b1N0cmluZyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL01vZGVsUGF0aEJ1aWxkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBYnNvbHV0ZU1vZGVsUGF0aCxcbiAgICBlbXB0eUFic29sdXRlTW9kZWxQYXRoLFxuICAgIGpvaW5Nb2RlbFBhdGhzLFxuICAgIE1vZGVsUGF0aCxcbiAgICBQYXRoVG9rZW4sXG4gICAgUmVzb2x2ZWRNb2RlbFBhdGgsXG59IGZyb20gXCIuL01vZGVsUGF0aFwiO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxQYXRoQnVpbGRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXJ0czogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihmb3JjZUFic29sdXRlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5wYXJ0cyA9IGZvcmNlQWJzb2x1dGUgPyBbZW1wdHlBYnNvbHV0ZU1vZGVsUGF0aCgpXSA6IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnRzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXBwZW5kKHBhdGhQYXJ0OiBNb2RlbFBhdGggfCBQYXRoVG9rZW4gfCBBcnJheTxNb2RlbFBhdGggfCBQYXRoVG9rZW4+
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTW9kZWxQYXRoIiwicmVxdWlyZSIsIk1vZGVsUGF0aEJ1aWxkZXIiLCJjb25zdHJ1Y3RvciIsImZvcmNlQWJzb2x1dGUiLCJwYXJ0cyIsImVtcHR5QWJzb2x1dGVNb2RlbFBhdGgiLCJlbXB0eSIsImxlbmd0aCIsImFwcGVuZCIsInBhdGhQYXJ0IiwiQXJyYXkiLCJpc0FycmF5IiwicHVzaCIsInRvUGF0aCIsImpvaW5Nb2RlbFBhdGhzIiwidG9SZXNvbHZlZFBhdGgiLCJyZXN1bHQiLCJpc1Jlc29sdmVkIiwiRXJyb3IiLCJ0b0Fic29sdXRlUGF0aCIsInRvQWJzb2x1dGUiLCJ0b1N0cmluZyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL01vZGVsUGF0aEJ1aWxkZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBYnNvbHV0ZU1vZGVsUGF0aCxcbiAgICBlbXB0eUFic29sdXRlTW9kZWxQYXRoLFxuICAgIGpvaW5Nb2RlbFBhdGhzLFxuICAgIE1vZGVsUGF0aCxcbiAgICBQYXRoVG9rZW4sXG4gICAgUmVzb2x2ZWRNb2RlbFBhdGgsXG59IGZyb20gXCIuL01vZGVsUGF0aFwiO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxQYXRoQnVpbGRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXJ0czogQXJyYXk8TW9kZWxQYXRoIHwgUGF0aFRva2VuPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihmb3JjZUFic29sdXRlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5wYXJ0cyA9IGZvcmNlQWJzb2x1dGUgPyBbZW1wdHlBYnNvbHV0ZU1vZGVsUGF0aCgpXSA6IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnRzLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXBwZW5kKHBhdGhQYXJ0OiBNb2RlbFBhdGggfCBQYXRoVG9rZW4gfCBBcnJheTxNb2RlbFBhdGggfCBQYXRoVG9rZW4+KTogdGhpcyB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHBhdGhQYXJ0KSkge1xuICAgICAgICAgICAgdGhpcy5wYXJ0cy5wdXNoKC4uLnBhdGhQYXJ0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucGFydHMucHVzaChwYXRoUGFydCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHRvUGF0aCgpOiBNb2RlbFBhdGgge1xuICAgICAgICByZXR1cm4gam9pbk1vZGVsUGF0aHMoLi4udGhpcy5wYXJ0cyk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvUmVzb2x2ZWRQYXRoKCk6IFJlc29sdmVkTW9kZWxQYXRoIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy50b1BhdGgoKTtcbiAgICAgICAgaWYgKCFyZXN1bHQuaXNSZXNvbHZlZCgpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXRoIGNhbm5vdCBiZSBjYXN0ZWQgdG8gcmVzb2x2ZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9BYnNvbHV0ZVBhdGgoKTogQWJzb2x1dGVNb2RlbFBhdGgge1xuICAgICAgICByZXR1cm4gdGhpcy50b1BhdGgoKS50b0Fic29sdXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvUGF0aCgpLnRvU3RyaW5nKCk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLE9BQUE7QUFTTyxNQUFNQyxnQkFBZ0IsQ0FBQztFQUduQkMsV0FBV0EsQ0FBQ0MsYUFBc0IsR0FBRyxLQUFLLEVBQUU7SUFBQSxLQUZsQ0MsS0FBSztJQUdsQixJQUFJLENBQUNBLEtBQUssR0FBR0QsYUFBYSxHQUFHLENBQUMsSUFBQUUsaUNBQXNCLEVBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRTtFQUNoRTtFQUVBLElBQVdDLEtBQUtBLENBQUEsRUFBWTtJQUN4QixPQUFPLElBQUksQ0FBQ0YsS0FBSyxDQUFDRyxNQUFNLEtBQUssQ0FBQztFQUNsQztFQUVPQyxNQUFNQSxDQUFDQyxRQUE4RCxFQUFRO0lBQ2hGLElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixRQUFRLENBQUMsRUFBRTtNQUN6QixJQUFJLENBQUNMLEtBQUssQ0FBQ1EsSUFBSSxDQUFDLEdBQUdILFFBQVEsQ0FBQztJQUNoQyxDQUFDLE1BQU07TUFDSCxJQUFJLENBQUNMLEtBQUssQ0FBQ1EsSUFBSSxDQUFDSCxRQUFRLENBQUM7SUFDN0I7SUFDQSxPQUFPLElBQUk7RUFDZjtFQUVPSSxNQUFNQSxDQUFBLEVBQWM7SUFDdkIsT0FBTyxJQUFBQyx5QkFBYyxFQUFDLEdBQUcsSUFBSSxDQUFDVixLQUFLLENBQUM7RUFDeEM7RUFFT1csY0FBY0EsQ0FBQSxFQUFzQjtJQUN2QyxNQUFNQyxNQUFNLEdBQUcsSUFBSSxDQUFDSCxNQUFNLENBQUMsQ0FBQztJQUM1QixJQUFJLENBQUNHLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDLENBQUMsRUFBRTtNQUN0QixNQUFNLElBQUlDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQztJQUN4RDtJQUNBLE9BQU9GLE1BQU07RUFDakI7RUFFT0csY0FBY0EsQ0FBQSxFQUFzQjtJQUN2QyxPQUFPLElBQUksQ0FBQ04sTUFBTSxDQUFDLENBQUMsQ0FBQ08sVUFBVSxDQUFDLENBQUM7RUFDckM7RUFFT0MsUUFBUUEsQ0FBQSxFQUFXO0lBQ3RCLE9BQU8sSUFBSSxDQUFDUixNQUFNLENBQUMsQ0FBQyxDQUFDUSxRQUFRLENBQUMsQ0FBQztFQUNuQztBQUNKO0FBQUNDLE9BQUEsQ0FBQXJCLGdCQUFBLEdBQUFBLGdCQUFBIn0=
|
|
@@ -31,4 +31,4 @@ function getMaskWithInstances(exactPath) {
|
|
|
31
31
|
instances: reduceResult.instances
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTW9kZWxQYXRoIiwicmVxdWlyZSIsImlzQWdncmVnYXRpb25QYXRoIiwibW9kZWxQYXRoIiwidG9rZW5zIiwiZ2V0UGF0aFBhcnRzQXNBcnJheSIsImxhc3RUb2tlbiIsImxlbmd0aCIsImdldE1hc2siLCJleGFjdFBhdGgiLCJjcmVhdGVBYnNvbHV0ZUZyb21Ub2tlbnMiLCJJdGVyYXRvciIsImZyb20iLCJnZXRQYXRoUGFydHMiLCJtYXAiLCJ4IiwiUGF0aFRva2VucyIsImlzSW5zdGFuY2VUb2tlbiIsImVhY2giLCJ0b0FycmF5IiwiZ2V0TWFza1dpdGhJbnN0YW5jZXMiLCJyZWR1Y2VSZXN1bHQiLCJyZWR1Y2UiLCJyZXN1bHQiLCJ0b2tlbiIsImlzTXVsdGlUb2tlbiIsImluc3RhbmNlcyIsInB1c2giLCJtYXNrIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9Nb2RlbFBhdGhIZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzb2x1dGVNb2RlbFBhdGgsIGNyZWF0ZUFic29sdXRlRnJvbVRva2VucywgTW9kZWxQYXRoLCBQYXRoVG9rZW4sIFBhdGhUb2tlbnMgfSBmcm9tIFwiLi9Nb2RlbFBhdGhcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWdncmVnYXRpb25QYXRoKG1vZGVsUGF0aDogTW9kZWxQYXRoKSB7XG4gICAgY29uc3QgdG9rZW5zID0gbW9kZWxQYXRoLmdldFBhdGhQYXJ0c0FzQXJyYXkoKTtcbiAgICBjb25zdCBsYXN0VG9rZW4gPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdO1xuICAgIHJldHVybiBsYXN0VG9rZW4gPT09IFwiU3VtXCIgfHwgbGFzdFRva2VuID09PSBcIkNvdW50XCI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXNrKGV4YWN0UGF0aDogQWJzb2x1dGVNb2RlbFBhdGgpOiBBYnNvbHV0ZU1vZGVsUGF0aCB7XG4gICAgcmV0dXJuIGNyZWF0ZUFic29sdXRlRnJvbVRva2VucyhcbiAgICAgICAgSXRlcmF0b3IuZnJvbShleGFjdFBhdGguZ2V0UGF0aFBhcnRzKCkpXG4gICAgICAgICAgICAubWFwKHggPT4gKFBhdGhUb2tlbnMuaXNJbnN0YW5jZVRva2VuKHgpID8gUGF0aFRva2Vucy5lYWNoIDogeCkpXG4gICAgICAgICAgICAudG9BcnJheSgpXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hc2tXaXRoSW5zdGFuY2VzKGV4YWN0UGF0aDogQWJzb2x1dGVNb2RlbFBhdGgpOiB7XG4gICAgbWFzazogQWJzb2x1dGVNb2RlbFBhdGg7XG4gICAgaW5zdGFuY2VzOiBQYXRoVG9rZW5bXTtcbn0ge1xuICAgIGNvbnN0IHJlZHVjZVJlc3VsdCA9IEl0ZXJhdG9yLmZyb20oZXhhY3RQYXRoLmdldFBhdGhQYXJ0cygpKS5yZWR1Y2UoXG4gICAgICAgIChyZXN1bHQsIHRva2VuKSA9PiB7XG4gICAgICAgICAgICBpZiAoUGF0aFRva2Vucy5pc0luc3RhbmNlVG9rZW4odG9rZW4pIHx8IFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHRva2VuKSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5pbnN0YW5jZXMucHVzaCh0b2tlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN1bHQudG9rZW5zLnB1c2goUGF0aFRva2Vucy5pc0luc3RhbmNlVG9rZW4odG9rZW4pID8gUGF0aFRva2Vucy5lYWNoIDogdG9rZW4pO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdG9rZW5zOiBbXSBhcyBQYXRoVG9rZW5bXSxcbiAgICAgICAgICAgIGluc3RhbmNlczogW10gYXMgUGF0aFRva2VuW10sXG4gICAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICAgIG1hc2s6IGNyZWF0ZUFic29sdXRlRnJvbVRva2VucyhyZWR1Y2VSZXN1bHQudG9rZW5zKSxcbiAgICAgICAgaW5zdGFuY2VzOiByZWR1Y2VSZXN1bHQuaW5zdGFuY2VzLFxuICAgIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBRU8sU0FBU0MsaUJBQWlCQSxDQUFDQyxTQUFvQixFQUFFO0VBQ3BELE1BQU1DLE1BQU0sR0FBR0QsU0FBUyxDQUFDRSxtQkFBbUIsQ0FBQyxDQUFDO0VBQzlDLE1BQU1DLFNBQVMsR0FBR0YsTUFBTSxDQUFDQSxNQUFNLENBQUNHLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDM0MsT0FBT0QsU0FBUyxLQUFLLEtBQUssSUFBSUEsU0FBUyxLQUFLLE9BQU87QUFDdkQ7QUFFTyxTQUFTRSxPQUFPQSxDQUFDQyxTQUE0QixFQUFxQjtFQUNyRSxPQUFPLElBQUFDLG1DQUF3QixFQUMzQkMsUUFBUSxDQUFDQyxJQUFJLENBQUNILFNBQVMsQ0FBQ0ksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUNsQ0MsR0FBRyxDQUFDQyxDQUFDLElBQUtDLHFCQUFVLENBQUNDLGVBQWUsQ0FBQ0YsQ0FBQyxDQUFDLEdBQUdDLHFCQUFVLENBQUNFLElBQUksR0FBR0gsQ0FBRSxDQUFDLENBQy9ESSxPQUFPLENBQUMsQ0FDakIsQ0FBQztBQUNMO0FBRU8sU0FBU0Msb0JBQW9CQSxDQUFDWCxTQUE0QixFQUcvRDtFQUNFLE1BQU1ZLFlBQVksR0FBR1YsUUFBUSxDQUFDQyxJQUFJLENBQUNILFNBQVMsQ0FBQ0ksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDUyxNQUFNLENBQy9ELENBQUNDLE1BQU0sRUFBRUMsS0FBSyxLQUFLO0lBQ2YsSUFBSVIscUJBQVUsQ0FBQ0MsZUFBZSxDQUFDTyxLQUFLLENBQUMsSUFBSVIscUJBQVUsQ0FBQ1MsWUFBWSxDQUFDRCxLQUFLLENBQUMsRUFBRTtNQUNyRUQsTUFBTSxDQUFDRyxTQUFTLENBQUNDLElBQUksQ0FBQ0gsS0FBSyxDQUFDO0lBQ2hDO0lBQ0FELE1BQU0sQ0FBQ25CLE1BQU0sQ0FBQ3VCLElBQUksQ0FBQ1gscUJBQVUsQ0FBQ0MsZUFBZSxDQUFDTyxLQUFLLENBQUMsR0FBR1IscUJBQVUsQ0FBQ0UsSUFBSSxHQUFHTSxLQUFLLENBQUM7SUFDL0UsT0FBT0QsTUFBTTtFQUNqQixDQUFDLEVBQ0Q7SUFDSW5CLE1BQU0sRUFBRSxFQUFpQjtJQUN6QnNCLFNBQVMsRUFBRTtFQUNmLENBQ0osQ0FBQztFQUNELE9BQU87SUFDSEUsSUFBSSxFQUFFLElBQUFsQixtQ0FBd0IsRUFBQ1csWUFBWSxDQUFDakIsTUFBTSxDQUFDO0lBQ25Ec0IsU0FBUyxFQUFFTCxZQUFZLENBQUNLO0VBQzVCLENBQUM7QUFDTCJ9
|
|
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.PathMatcher = exports.MatchKind = void 0;
|
|
7
7
|
var _ModelPath = require("./ModelPath");
|
|
8
8
|
var _ModelPathBuilder = require("./ModelPathBuilder");
|
|
9
|
-
let MatchKind =
|
|
9
|
+
let MatchKind = /*#__PURE__*/function (MatchKind) {
|
|
10
10
|
MatchKind["MatchedPath"] = "MatchedPath";
|
|
11
11
|
MatchKind["DifferentSuffix"] = "DifferentSuffix";
|
|
12
12
|
MatchKind["MatchedMultiplicity"] = "MatchedMultiplicity";
|
|
13
13
|
return MatchKind;
|
|
14
14
|
}({});
|
|
15
|
+
exports.MatchKind = MatchKind;
|
|
15
16
|
class PathMatcher {
|
|
16
17
|
static match(leftParts, rightParts) {
|
|
17
18
|
const result = [];
|
|
@@ -92,4 +93,4 @@ class PathMatcher {
|
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
exports.PathMatcher = PathMatcher;
|
|
95
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTW9kZWxQYXRoIiwicmVxdWlyZSIsIl9Nb2RlbFBhdGhCdWlsZGVyIiwiTWF0Y2hLaW5kIiwiZXhwb3J0cyIsIlBhdGhNYXRjaGVyIiwibWF0Y2giLCJsZWZ0UGFydHMiLCJyaWdodFBhcnRzIiwicmVzdWx0Iiwic2FtZVByZWZpeCIsIk1vZGVsUGF0aEJ1aWxkZXIiLCJkaWZmZXJlbnRTdWZmaXgiLCJwYXJ0Q291bnQiLCJNYXRoIiwibWF4IiwibGVuZ3RoIiwiaSIsInNvdXJjZVBhcnQiLCJ0YXJnZXRQYXJ0IiwiUGF0aFRva2VucyIsImlzU2ltcGxlVG9rZW4iLCJhcHBlbmQiLCJpc011bHRpVG9rZW4iLCJlbXB0eSIsInB1c2giLCJraW5kIiwiTWF0Y2hlZFBhdGgiLCJwcmVmaXgiLCJ0b1BhdGgiLCJNYXRjaGVkTXVsdGlwbGljaXR5Iiwic291cmNlIiwidGFyZ2V0IiwiaXNJbnN0YW5jZVRva2VuIiwic291cmNlUGFydERpZmZlcmVuY2UiLCJzbGljZSIsInRhcmdldFBhcnREaWZmZXJlbmNlIiwiRGlmZmVyZW50U3VmZml4IiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9QYXRoTWF0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbFBhdGgsIFBhdGhUb2tlbiwgUGF0aFRva2VucyB9IGZyb20gXCIuL01vZGVsUGF0aFwiO1xuaW1wb3J0IHsgTW9kZWxQYXRoQnVpbGRlciB9IGZyb20gXCIuL01vZGVsUGF0aEJ1aWxkZXJcIjtcblxuZXhwb3J0IHR5cGUgUGF0aE1hdGNoaW5nID0gUGF0aE1hdGNoaW5nUGFydFtdO1xuXG5leHBvcnQgdHlwZSBQYXRoTWF0Y2hpbmdQYXJ0ID1cbiAgICB8IHtcbiAgICAgICAgICBraW5kOiBNYXRjaEtpbmQuTWF0Y2hlZFBhdGg7XG4gICAgICAgICAgcHJlZml4OiBNb2RlbFBhdGg7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAga2luZDogTWF0Y2hLaW5kLkRpZmZlcmVudFN1ZmZpeDtcbiAgICAgICAgICBzb3VyY2U6IE1vZGVsUGF0aCB8IHVuZGVmaW5lZDtcbiAgICAgICAgICB0YXJnZXQ6IE1vZGVsUGF0aCB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgICBraW5kOiBNYXRjaEtpbmQuTWF0Y2hlZE11bHRpcGxpY2l0eTtcbiAgICAgICAgICBzb3VyY2U6IFBhdGhUb2tlbjtcbiAgICAgICAgICB0YXJnZXQ6IFBhdGhUb2tlbjtcbiAgICAgIH07XG5cbmV4cG9ydCBlbnVtIE1hdGNoS2luZCB7XG4gICAgTWF0Y2hlZFBhdGggPSBcIk1hdGNoZWRQYXRoXCIsXG4gICAgRGlmZmVyZW50U3VmZml4ID0gXCJEaWZmZXJlbnRTdWZmaXhcIixcbiAgICBNYXRjaGVkTXVsdGlwbGljaXR5ID0gXCJNYXRjaGVkTXVsdGlwbGljaXR5XCIsXG59XG5cbmV4cG9ydCBjbGFzcyBQYXRoTWF0Y2hlciB7XG4gICAgcHVibGljIHN0YXRpYyBtYXRjaChsZWZ0UGFydHM6IHJlYWRvbmx5IFBhdGhUb2tlbltdLCByaWdodFBhcnRzOiByZWFkb25seSBQYXRoVG9rZW5bXSk6IFBhdGhNYXRjaGluZyB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUGF0aE1hdGNoaW5nID0gW107XG5cbiAgICAgICAgbGV0IHNhbWVQcmVmaXggPSBuZXcgTW9kZWxQYXRoQnVpbGRlcih0cnVlKTtcbiAgICAgICAgbGV0IGRpZmZlcmVudFN1ZmZpeDogUGF0aE1hdGNoaW5nUGFydCB8IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBwYXJ0Q291bnQgPSBNYXRoLm1heChsZWZ0UGFydHMubGVuZ3RoLCByaWdodFBhcnRzLmxlbmd0aCk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0Q291bnQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlUGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuID0gbGVmdFBhcnRzW2ldO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuID0gcmlnaHRQYXJ0c1tpXTtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIFBhdGhUb2tlbnMuaXNTaW1wbGVUb2tlbihzb3VyY2VQYXJ0KSAmJlxuICAgICAgICAgICAgICAgIFBhdGhUb2tlbnMuaXNTaW1wbGVUb2tlbih0YXJnZXRQYXJ0KSAmJlxuICAgICAgICAgICAgICAgIHNvdXJjZVBhcnQgPT09IHRhcmdldFBhcnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHNhbWVQcmVmaXguYXBwZW5kKHRhcmdldFBhcnQpO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHNvdXJjZVBhcnQpICYmIFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHRhcmdldFBhcnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzYW1lUHJlZml4LmVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IE1hdGNoS2luZC5NYXRjaGVkUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDogc2FtZVByZWZpeC50b1BhdGgoKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNhbWVQcmVmaXggPSBuZXcgTW9kZWxQYXRoQnVpbGRlcihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAga2luZDogTWF0Y2hLaW5kLk1hdGNoZWRNdWx0aXBsaWNpdHksXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogc291cmNlUGFydCxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXRQYXJ0LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHNvdXJjZVBhcnQpICYmIFBhdGhUb2tlbnMuaXNJbnN0YW5jZVRva2VuKHRhcmdldFBhcnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzYW1lUHJlZml4LmVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IE1hdGNoS2luZC5NYXRjaGVkUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDogc2FtZVByZWZpeC50b1BhdGgoKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNhbWVQcmVmaXggPSBuZXcgTW9kZWxQYXRoQnVpbGRlcihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAga2luZDogTWF0Y2hLaW5kLk1hdGNoZWRNdWx0aXBsaWNpdHksXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogc291cmNlUGFydCxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXRQYXJ0LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFBhdGhUb2tlbnMuaXNJbnN0YW5jZVRva2VuKHNvdXJjZVBhcnQpICYmIFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHRhcmdldFBhcnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzYW1lUHJlZml4LmVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IE1hdGNoS2luZC5NYXRjaGVkUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDogc2FtZVByZWZpeC50b1BhdGgoKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNhbWVQcmVmaXggPSBuZXcgTW9kZWxQYXRoQnVpbGRlcihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAga2luZDogTWF0Y2hLaW5kLk1hdGNoZWRNdWx0aXBsaWNpdHksXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogc291cmNlUGFydCxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXRQYXJ0LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzb3VyY2VQYXJ0RGlmZmVyZW5jZSA9IG5ldyBNb2RlbFBhdGhCdWlsZGVyKGZhbHNlKS5hcHBlbmQobGVmdFBhcnRzLnNsaWNlKGkpKTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFBhcnREaWZmZXJlbmNlID0gbmV3IE1vZGVsUGF0aEJ1aWxkZXIoZmFsc2UpLmFwcGVuZChyaWdodFBhcnRzLnNsaWNlKGkpKTtcbiAgICAgICAgICAgIGRpZmZlcmVudFN1ZmZpeCA9IHtcbiAgICAgICAgICAgICAgICBraW5kOiBNYXRjaEtpbmQuRGlmZmVyZW50U3VmZml4LFxuICAgICAgICAgICAgICAgIHNvdXJjZTogIXNvdXJjZVBhcnREaWZmZXJlbmNlLmVtcHR5ID8gc291cmNlUGFydERpZmZlcmVuY2UudG9QYXRoKCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiAhdGFyZ2V0UGFydERpZmZlcmVuY2UuZW1wdHkgPyB0YXJnZXRQYXJ0RGlmZmVyZW5jZS50b1BhdGgoKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNhbWVQcmVmaXguZW1wdHkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBraW5kOiBNYXRjaEtpbmQuTWF0Y2hlZFBhdGgsXG4gICAgICAgICAgICAgICAgcHJlZml4OiBzYW1lUHJlZml4LnRvUGF0aCgpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRpZmZlcmVudFN1ZmZpeCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGRpZmZlcmVudFN1ZmZpeCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFBc0QsSUFvQjFDRSxTQUFTLEdBQUFDLE9BQUEsQ0FBQUQsU0FBQSwwQkFBVEEsU0FBUztFQUFUQSxTQUFTO0VBQVRBLFNBQVM7RUFBVEEsU0FBUztFQUFBLE9BQVRBLFNBQVM7QUFBQTtBQU1kLE1BQU1FLFdBQVcsQ0FBQztFQUNyQixPQUFjQyxLQUFLQSxDQUFDQyxTQUErQixFQUFFQyxVQUFnQyxFQUFnQjtJQUNqRyxNQUFNQyxNQUFvQixHQUFHLEVBQUU7SUFFL0IsSUFBSUMsVUFBVSxHQUFHLElBQUlDLGtDQUFnQixDQUFDLElBQUksQ0FBQztJQUMzQyxJQUFJQyxlQUE2QztJQUVqRCxNQUFNQyxTQUFTLEdBQUdDLElBQUksQ0FBQ0MsR0FBRyxDQUFDUixTQUFTLENBQUNTLE1BQU0sRUFBRVIsVUFBVSxDQUFDUSxNQUFNLENBQUM7SUFFL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdKLFNBQVMsRUFBRUksQ0FBQyxFQUFFLEVBQUU7TUFDaEMsTUFBTUMsVUFBaUMsR0FB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
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTW9kZWxQYXRoIiwicmVxdWlyZSIsIl9Nb2RlbFBhdGhCdWlsZGVyIiwiTWF0Y2hLaW5kIiwiZXhwb3J0cyIsIlBhdGhNYXRjaGVyIiwibWF0Y2giLCJsZWZ0UGFydHMiLCJyaWdodFBhcnRzIiwicmVzdWx0Iiwic2FtZVByZWZpeCIsIk1vZGVsUGF0aEJ1aWxkZXIiLCJkaWZmZXJlbnRTdWZmaXgiLCJwYXJ0Q291bnQiLCJNYXRoIiwibWF4IiwibGVuZ3RoIiwiaSIsInNvdXJjZVBhcnQiLCJ0YXJnZXRQYXJ0IiwiUGF0aFRva2VucyIsImlzU2ltcGxlVG9rZW4iLCJhcHBlbmQiLCJpc011bHRpVG9rZW4iLCJlbXB0eSIsInB1c2giLCJraW5kIiwiTWF0Y2hlZFBhdGgiLCJwcmVmaXgiLCJ0b1BhdGgiLCJNYXRjaGVkTXVsdGlwbGljaXR5Iiwic291cmNlIiwidGFyZ2V0IiwiaXNJbnN0YW5jZVRva2VuIiwic291cmNlUGFydERpZmZlcmVuY2UiLCJzbGljZSIsInRhcmdldFBhcnREaWZmZXJlbmNlIiwiRGlmZmVyZW50U3VmZml4IiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9QYXRoTWF0Y2hlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbFBhdGgsIFBhdGhUb2tlbiwgUGF0aFRva2VucyB9IGZyb20gXCIuL01vZGVsUGF0aFwiO1xuaW1wb3J0IHsgTW9kZWxQYXRoQnVpbGRlciB9IGZyb20gXCIuL01vZGVsUGF0aEJ1aWxkZXJcIjtcblxuZXhwb3J0IHR5cGUgUGF0aE1hdGNoaW5nID0gUGF0aE1hdGNoaW5nUGFydFtdO1xuXG5leHBvcnQgdHlwZSBQYXRoTWF0Y2hpbmdQYXJ0ID1cbiAgICB8IHtcbiAgICAgICAgICBraW5kOiBNYXRjaEtpbmQuTWF0Y2hlZFBhdGg7XG4gICAgICAgICAgcHJlZml4OiBNb2RlbFBhdGg7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgICAga2luZDogTWF0Y2hLaW5kLkRpZmZlcmVudFN1ZmZpeDtcbiAgICAgICAgICBzb3VyY2U6IE1vZGVsUGF0aCB8IHVuZGVmaW5lZDtcbiAgICAgICAgICB0YXJnZXQ6IE1vZGVsUGF0aCB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgICBraW5kOiBNYXRjaEtpbmQuTWF0Y2hlZE11bHRpcGxpY2l0eTtcbiAgICAgICAgICBzb3VyY2U6IFBhdGhUb2tlbjtcbiAgICAgICAgICB0YXJnZXQ6IFBhdGhUb2tlbjtcbiAgICAgIH07XG5cbmV4cG9ydCBlbnVtIE1hdGNoS2luZCB7XG4gICAgTWF0Y2hlZFBhdGggPSBcIk1hdGNoZWRQYXRoXCIsXG4gICAgRGlmZmVyZW50U3VmZml4ID0gXCJEaWZmZXJlbnRTdWZmaXhcIixcbiAgICBNYXRjaGVkTXVsdGlwbGljaXR5ID0gXCJNYXRjaGVkTXVsdGlwbGljaXR5XCIsXG59XG5cbmV4cG9ydCBjbGFzcyBQYXRoTWF0Y2hlciB7XG4gICAgcHVibGljIHN0YXRpYyBtYXRjaChsZWZ0UGFydHM6IHJlYWRvbmx5IFBhdGhUb2tlbltdLCByaWdodFBhcnRzOiByZWFkb25seSBQYXRoVG9rZW5bXSk6IFBhdGhNYXRjaGluZyB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUGF0aE1hdGNoaW5nID0gW107XG5cbiAgICAgICAgbGV0IHNhbWVQcmVmaXggPSBuZXcgTW9kZWxQYXRoQnVpbGRlcih0cnVlKTtcbiAgICAgICAgbGV0IGRpZmZlcmVudFN1ZmZpeDogUGF0aE1hdGNoaW5nUGFydCB8IHVuZGVmaW5lZDtcblxuICAgICAgICBjb25zdCBwYXJ0Q291bnQgPSBNYXRoLm1heChsZWZ0UGFydHMubGVuZ3RoLCByaWdodFBhcnRzLmxlbmd0aCk7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0Q291bnQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlUGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuID0gbGVmdFBhcnRzW2ldO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0UGFydDogdW5kZWZpbmVkIHwgUGF0aFRva2VuID0gcmlnaHRQYXJ0c1tpXTtcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIFBhdGhUb2tlbnMuaXNTaW1wbGVUb2tlbihzb3VyY2VQYXJ0KSAmJlxuICAgICAgICAgICAgICAgIFBhdGhUb2tlbnMuaXNTaW1wbGVUb2tlbih0YXJnZXRQYXJ0KSAmJlxuICAgICAgICAgICAgICAgIHNvdXJjZVBhcnQgPT09IHRhcmdldFBhcnRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHNhbWVQcmVmaXguYXBwZW5kKHRhcmdldFBhcnQpO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHNvdXJjZVBhcnQpICYmIFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHRhcmdldFBhcnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzYW1lUHJlZml4LmVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IE1hdGNoS2luZC5NYXRjaGVkUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDogc2FtZVByZWZpeC50b1BhdGgoKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNhbWVQcmVmaXggPSBuZXcgTW9kZWxQYXRoQnVpbGRlcihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAga2luZDogTWF0Y2hLaW5kLk1hdGNoZWRNdWx0aXBsaWNpdHksXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogc291cmNlUGFydCxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXRQYXJ0LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHNvdXJjZVBhcnQpICYmIFBhdGhUb2tlbnMuaXNJbnN0YW5jZVRva2VuKHRhcmdldFBhcnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzYW1lUHJlZml4LmVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IE1hdGNoS2luZC5NYXRjaGVkUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDogc2FtZVByZWZpeC50b1BhdGgoKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNhbWVQcmVmaXggPSBuZXcgTW9kZWxQYXRoQnVpbGRlcihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAga2luZDogTWF0Y2hLaW5kLk1hdGNoZWRNdWx0aXBsaWNpdHksXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogc291cmNlUGFydCxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXRQYXJ0LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKFBhdGhUb2tlbnMuaXNJbnN0YW5jZVRva2VuKHNvdXJjZVBhcnQpICYmIFBhdGhUb2tlbnMuaXNNdWx0aVRva2VuKHRhcmdldFBhcnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFzYW1lUHJlZml4LmVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IE1hdGNoS2luZC5NYXRjaGVkUGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDogc2FtZVByZWZpeC50b1BhdGgoKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHNhbWVQcmVmaXggPSBuZXcgTW9kZWxQYXRoQnVpbGRlcihmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAga2luZDogTWF0Y2hLaW5kLk1hdGNoZWRNdWx0aXBsaWNpdHksXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogc291cmNlUGFydCxcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiB0YXJnZXRQYXJ0LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzb3VyY2VQYXJ0RGlmZmVyZW5jZSA9IG5ldyBNb2RlbFBhdGhCdWlsZGVyKGZhbHNlKS5hcHBlbmQobGVmdFBhcnRzLnNsaWNlKGkpKTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFBhcnREaWZmZXJlbmNlID0gbmV3IE1vZGVsUGF0aEJ1aWxkZXIoZmFsc2UpLmFwcGVuZChyaWdodFBhcnRzLnNsaWNlKGkpKTtcbiAgICAgICAgICAgIGRpZmZlcmVudFN1ZmZpeCA9IHtcbiAgICAgICAgICAgICAgICBraW5kOiBNYXRjaEtpbmQuRGlmZmVyZW50U3VmZml4LFxuICAgICAgICAgICAgICAgIHNvdXJjZTogIXNvdXJjZVBhcnREaWZmZXJlbmNlLmVtcHR5ID8gc291cmNlUGFydERpZmZlcmVuY2UudG9QYXRoKCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiAhdGFyZ2V0UGFydERpZmZlcmVuY2UuZW1wdHkgPyB0YXJnZXRQYXJ0RGlmZmVyZW5jZS50b1BhdGgoKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNhbWVQcmVmaXguZW1wdHkpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBraW5kOiBNYXRjaEtpbmQuTWF0Y2hlZFBhdGgsXG4gICAgICAgICAgICAgICAgcHJlZml4OiBzYW1lUHJlZml4LnRvUGF0aCgpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRpZmZlcmVudFN1ZmZpeCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGRpZmZlcmVudFN1ZmZpeCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFBc0QsSUFvQjFDRSxTQUFTLDBCQUFUQSxTQUFTO0VBQVRBLFNBQVM7RUFBVEEsU0FBUztFQUFUQSxTQUFTO0VBQUEsT0FBVEEsU0FBUztBQUFBO0FBQUFDLE9BQUEsQ0FBQUQsU0FBQSxHQUFBQSxTQUFBO0FBTWQsTUFBTUUsV0FBVyxDQUFDO0VBQ3JCLE9BQWNDLEtBQUtBLENBQUNDLFNBQStCLEVBQUVDLFVBQWdDLEVBQWdCO0lBQ2pHLE1BQU1DLE1BQW9CLEdBQUcsRUFBRTtJQUUvQixJQUFJQyxVQUFVLEdBQUcsSUFBSUMsa0NBQWdCLENBQUMsSUFBSSxDQUFDO0lBQzNDLElBQUlDLGVBQTZDO0lBRWpELE1BQU1DLFNBQVMsR0FBR0MsSUFBSSxDQUFDQyxHQUFHLENBQUNSLFNBQVMsQ0FBQ1MsTUFBTSxFQUFFUixVQUFVLENBQUNRLE1BQU0sQ0FBQztJQUUvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0osU0FBUyxFQUFFSSxDQUFDLEVBQUUsRUFBRTtNQUNoQyxNQUFN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
|
|
@@ -18,4 +18,4 @@ function getMatchedAndDifferentModelPaths(baseModelPath, splittingModelPath) {
|
|
|
18
18
|
differentPath: restPart
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTW9kZWxQYXRoIiwicmVxdWlyZSIsIl9QYXRoTWF0Y2hlciIsIl9Nb2RlbFBhdGhCdWlsZGVyIiwiZ2V0TWF0Y2hlZEFuZERpZmZlcmVudE1vZGVsUGF0aHMiLCJiYXNlTW9kZWxQYXRoIiwic3BsaXR0aW5nTW9kZWxQYXRoIiwiX3BhdGhNYXRjaCRtYXAkZmluZCIsInBhdGhNYXRjaCIsIm1hdGNoRm9yIiwiY29tbW9uUGFydFRva2VucyIsIm1hcCIsIngiLCJraW5kIiwiTWF0Y2hLaW5kIiwiTWF0Y2hlZFBhdGgiLCJwcmVmaXgiLCJNYXRjaGVkTXVsdGlwbGljaXR5IiwidGFyZ2V0IiwiZW1wdHlNb2RlbFBhdGgiLCJjb21tb25QYXJ0IiwiTW9kZWxQYXRoQnVpbGRlciIsImFwcGVuZCIsInRvQWJzb2x1dGVQYXRoIiwicmVzdFBhcnQiLCJEaWZmZXJlbnRTdWZmaXgiLCJ1bmRlZmluZWQiLCJmaW5kIiwibWF0Y2hlZFBhdGgiLCJkaWZmZXJlbnRQYXRoIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9QYXRoU3BsaXRIZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzb2x1dGVNb2RlbFBhdGgsIGVtcHR5TW9kZWxQYXRoIH0gZnJvbSBcIi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBNYXRjaEtpbmQgfSBmcm9tIFwiLi9QYXRoTWF0Y2hlclwiO1xuaW1wb3J0IHsgTW9kZWxQYXRoQnVpbGRlciB9IGZyb20gXCIuL01vZGVsUGF0aEJ1aWxkZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoZWRBbmREaWZmZXJlbnRNb2RlbFBhdGhzKFxuICAgIGJhc2VNb2RlbFBhdGg6IEFic29sdXRlTW9kZWxQYXRoLFxuICAgIHNwbGl0dGluZ01vZGVsUGF0aDogQWJzb2x1dGVNb2RlbFBhdGhcbikge1xuICAgIGNvbnN0IHBhdGhNYXRjaCA9IGJhc2VNb2RlbFBhdGgubWF0Y2hGb3Ioc3BsaXR0aW5nTW9kZWxQYXRoKTtcbiAgICBjb25zdCBjb21tb25QYXJ0VG9rZW5zID0gcGF0aE1hdGNoLm1hcCh4ID0+XG4gICAgICAgIHgua2luZCA9PT0gTWF0Y2hLaW5kLk1hdGNoZWRQYXRoXG4gICAgICAgICAgICA/IHgucHJlZml4XG4gICAgICAgICAgICA6IHgua2luZCA9PT0gTWF0Y2hLaW5kLk1hdGNoZWRNdWx0aXBsaWNpdHlcbiAgICAgICAgICAgID8geC50YXJnZXRcbiAgICAgICAgICAgIDogZW1wdHlNb2RlbFBhdGgoKVxuICAgICk7XG4gICAgY29uc3QgY29tbW9uUGFydCA9IG5ldyBNb2RlbFBhdGhCdWlsZGVyKHRydWUpLmFwcGVuZChjb21tb25QYXJ0VG9rZW5zKS50b0Fic29sdXRlUGF0aCgpO1xuICAgIGNvbnN0IHJlc3RQYXJ0ID1cbiAgICAgICAgcGF0aE1hdGNoLm1hcCh4ID0+
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfTW9kZWxQYXRoIiwicmVxdWlyZSIsIl9QYXRoTWF0Y2hlciIsIl9Nb2RlbFBhdGhCdWlsZGVyIiwiZ2V0TWF0Y2hlZEFuZERpZmZlcmVudE1vZGVsUGF0aHMiLCJiYXNlTW9kZWxQYXRoIiwic3BsaXR0aW5nTW9kZWxQYXRoIiwiX3BhdGhNYXRjaCRtYXAkZmluZCIsInBhdGhNYXRjaCIsIm1hdGNoRm9yIiwiY29tbW9uUGFydFRva2VucyIsIm1hcCIsIngiLCJraW5kIiwiTWF0Y2hLaW5kIiwiTWF0Y2hlZFBhdGgiLCJwcmVmaXgiLCJNYXRjaGVkTXVsdGlwbGljaXR5IiwidGFyZ2V0IiwiZW1wdHlNb2RlbFBhdGgiLCJjb21tb25QYXJ0IiwiTW9kZWxQYXRoQnVpbGRlciIsImFwcGVuZCIsInRvQWJzb2x1dGVQYXRoIiwicmVzdFBhcnQiLCJEaWZmZXJlbnRTdWZmaXgiLCJ1bmRlZmluZWQiLCJmaW5kIiwibWF0Y2hlZFBhdGgiLCJkaWZmZXJlbnRQYXRoIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9QYXRoU3BsaXRIZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzb2x1dGVNb2RlbFBhdGgsIGVtcHR5TW9kZWxQYXRoIH0gZnJvbSBcIi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBNYXRjaEtpbmQgfSBmcm9tIFwiLi9QYXRoTWF0Y2hlclwiO1xuaW1wb3J0IHsgTW9kZWxQYXRoQnVpbGRlciB9IGZyb20gXCIuL01vZGVsUGF0aEJ1aWxkZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoZWRBbmREaWZmZXJlbnRNb2RlbFBhdGhzKFxuICAgIGJhc2VNb2RlbFBhdGg6IEFic29sdXRlTW9kZWxQYXRoLFxuICAgIHNwbGl0dGluZ01vZGVsUGF0aDogQWJzb2x1dGVNb2RlbFBhdGhcbikge1xuICAgIGNvbnN0IHBhdGhNYXRjaCA9IGJhc2VNb2RlbFBhdGgubWF0Y2hGb3Ioc3BsaXR0aW5nTW9kZWxQYXRoKTtcbiAgICBjb25zdCBjb21tb25QYXJ0VG9rZW5zID0gcGF0aE1hdGNoLm1hcCh4ID0+XG4gICAgICAgIHgua2luZCA9PT0gTWF0Y2hLaW5kLk1hdGNoZWRQYXRoXG4gICAgICAgICAgICA/IHgucHJlZml4XG4gICAgICAgICAgICA6IHgua2luZCA9PT0gTWF0Y2hLaW5kLk1hdGNoZWRNdWx0aXBsaWNpdHlcbiAgICAgICAgICAgID8geC50YXJnZXRcbiAgICAgICAgICAgIDogZW1wdHlNb2RlbFBhdGgoKVxuICAgICk7XG4gICAgY29uc3QgY29tbW9uUGFydCA9IG5ldyBNb2RlbFBhdGhCdWlsZGVyKHRydWUpLmFwcGVuZChjb21tb25QYXJ0VG9rZW5zKS50b0Fic29sdXRlUGF0aCgpO1xuICAgIGNvbnN0IHJlc3RQYXJ0ID1cbiAgICAgICAgcGF0aE1hdGNoLm1hcCh4ID0+ICh4LmtpbmQgPT09IE1hdGNoS2luZC5EaWZmZXJlbnRTdWZmaXggPyB4LnRhcmdldCA6IHVuZGVmaW5lZCkpLmZpbmQoeCA9PiB4ICE9IHVuZGVmaW5lZCkgPz9cbiAgICAgICAgZW1wdHlNb2RlbFBhdGgoKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBtYXRjaGVkUGF0aDogY29tbW9uUGFydCxcbiAgICAgICAgZGlmZmVyZW50UGF0aDogcmVzdFBhcnQsXG4gICAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUYsT0FBQTtBQUVPLFNBQVNHLGdDQUFnQ0EsQ0FDNUNDLGFBQWdDLEVBQ2hDQyxrQkFBcUMsRUFDdkM7RUFBQSxJQUFBQyxtQkFBQTtFQUNFLE1BQU1DLFNBQVMsR0FBR0gsYUFBYSxDQUFDSSxRQUFRLENBQUNILGtCQUFrQixDQUFDO0VBQzVELE1BQU1JLGdCQUFnQixHQUFHRixTQUFTLENBQUNHLEdBQUcsQ0FBQ0MsQ0FBQyxJQUNwQ0EsQ0FBQyxDQUFDQyxJQUFJLEtBQUtDLHNCQUFTLENBQUNDLFdBQVcsR0FDMUJILENBQUMsQ0FBQ0ksTUFBTSxHQUNSSixDQUFDLENBQUNDLElBQUksS0FBS0Msc0JBQVMsQ0FBQ0csbUJBQW1CLEdBQ3hDTCxDQUFDLENBQUNNLE1BQU0sR0FDUixJQUFBQyx5QkFBYyxFQUFDLENBQ3pCLENBQUM7RUFDRCxNQUFNQyxVQUFVLEdBQUcsSUFBSUMsa0NBQWdCLENBQUMsSUFBSSxDQUFDLENBQUNDLE1BQU0sQ0FBQ1osZ0JBQWdCLENBQUMsQ0FBQ2EsY0FBYyxDQUFDLENBQUM7RUFDdkYsTUFBTUMsUUFBUSxJQUFBakIsbUJBQUEsR0FDVkMsU0FBUyxDQUFDRyxHQUFHLENBQUNDLENBQUMsSUFBS0EsQ0FBQyxDQUFDQyxJQUFJLEtBQUtDLHNCQUFTLENBQUNXLGVBQWUsR0FBR2IsQ0FBQyxDQUFDTSxNQUFNLEdBQUdRLFNBQVUsQ0FBQyxDQUFDQyxJQUFJLENBQUNmLENBQUMsSUFBSUEsQ0FBQyxJQUFJYyxTQUFTLENBQUMsY0FBQW5CLG1CQUFBLGNBQUFBLG1CQUFBLEdBQzNHLElBQUFZLHlCQUFjLEVBQUMsQ0FBQztFQUNwQixPQUFPO0lBQ0hTLFdBQVcsRUFBRVIsVUFBVTtJQUN2QlMsYUFBYSxFQUFFTDtFQUNuQixDQUFDO0FBQ0wifQ==
|
|
@@ -28,4 +28,4 @@ class AbsoluteModelPathSet extends _Set.Set2 {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.AbsoluteModelPathSet = AbsoluteModelPathSet;
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX1NldCIsIkFic29sdXRlTW9kZWxQYXRoU2V0IiwiU2V0MiIsImNvbnN0cnVjdG9yIiwiZWFjaEN1cnJlbnRDb2xsaXNpb24iLCJFYWNoQ3VycmVudENvbGxpc2lvbiIsIkFyZVNhbWUiLCJ1bmlxdWUiLCJwYXRocyIsInNldCIsInBhdGgiLCJhZGQiLCJhcmVJdGVtc0VxdWFsIiwibGVmdCIsInJpZ2h0IiwiaXNFcXVhbHMiLCJnZXRJdGVtSGFzaCIsImtleSIsImdldEhhc2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9TZXQvQWJzb2x1dGVNb2RlbFBhdGhTZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzb2x1dGVNb2RlbFBhdGgsIElNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBTZXQyIH0gZnJvbSBcIi4vU2V0MlwiO1xuXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVNb2RlbFBhdGhTZXQgZXh0ZW5kcyBTZXQyPEFic29sdXRlTW9kZWxQYXRoPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb247XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uID0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlU2FtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uID0gZWFjaEN1cnJlbnRDb2xsaXNpb247XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyAqdW5pcXVlPFIgZXh0ZW5kcyBib29sZWFuPihwYXRoczogSXRlcmFibGU8SU1vZGVsUGF0aDxSLCB0cnVlPj4pOiBJdGVyYWJsZTxJTW9kZWxQYXRoPFIsIHRydWU+
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX1NldCIsIkFic29sdXRlTW9kZWxQYXRoU2V0IiwiU2V0MiIsImNvbnN0cnVjdG9yIiwiZWFjaEN1cnJlbnRDb2xsaXNpb24iLCJFYWNoQ3VycmVudENvbGxpc2lvbiIsIkFyZVNhbWUiLCJ1bmlxdWUiLCJwYXRocyIsInNldCIsInBhdGgiLCJhZGQiLCJhcmVJdGVtc0VxdWFsIiwibGVmdCIsInJpZ2h0IiwiaXNFcXVhbHMiLCJnZXRJdGVtSGFzaCIsImtleSIsImdldEhhc2giLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQ29tbW9uL01vZGVsUGF0aC9TZXQvQWJzb2x1dGVNb2RlbFBhdGhTZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzb2x1dGVNb2RlbFBhdGgsIElNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBTZXQyIH0gZnJvbSBcIi4vU2V0MlwiO1xuXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVNb2RlbFBhdGhTZXQgZXh0ZW5kcyBTZXQyPEFic29sdXRlTW9kZWxQYXRoPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb247XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uID0gRWFjaEN1cnJlbnRDb2xsaXNpb24uQXJlU2FtZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmVhY2hDdXJyZW50Q29sbGlzaW9uID0gZWFjaEN1cnJlbnRDb2xsaXNpb247XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyAqdW5pcXVlPFIgZXh0ZW5kcyBib29sZWFuPihwYXRoczogSXRlcmFibGU8SU1vZGVsUGF0aDxSLCB0cnVlPj4pOiBJdGVyYWJsZTxJTW9kZWxQYXRoPFIsIHRydWU+PiB7XG4gICAgICAgIGNvbnN0IHNldCA9IG5ldyBBYnNvbHV0ZU1vZGVsUGF0aFNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IHBhdGggb2YgcGF0aHMpIHtcbiAgICAgICAgICAgIGlmIChzZXQuYWRkKHBhdGgpKSB7XG4gICAgICAgICAgICAgICAgeWllbGQgcGF0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhcmVJdGVtc0VxdWFsKGxlZnQ6IEFic29sdXRlTW9kZWxQYXRoLCByaWdodDogQWJzb2x1dGVNb2RlbFBhdGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGxlZnQuaXNFcXVhbHMocmlnaHQsIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRJdGVtSGFzaChrZXk6IEFic29sdXRlTW9kZWxQYXRoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGtleS5nZXRIYXNoKHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24pO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEscUJBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLElBQUEsR0FBQUQsT0FBQTtBQUVPLE1BQU1FLG9CQUFvQixTQUFTQyxTQUFJLENBQW9CO0VBR3ZEQyxXQUFXQSxDQUFDQyxvQkFBMEMsR0FBR0MsMENBQW9CLENBQUNDLE9BQU8sRUFBRTtJQUMxRixLQUFLLENBQUMsQ0FBQztJQUFDLEtBSEtGLG9CQUFvQjtJQUlqQyxJQUFJLENBQUNBLG9CQUFvQixHQUFHQSxvQkFBb0I7RUFDcEQ7RUFFQSxRQUFlRyxNQUFNQSxDQUFvQkMsS0FBb0MsRUFBaUM7SUFDMUcsTUFBTUMsR0FBRyxHQUFHLElBQUlSLG9CQUFvQixDQUFDLENBQUM7SUFDdEMsS0FBSyxNQUFNUyxJQUFJLElBQUlGLEtBQUssRUFBRTtNQUN0QixJQUFJQyxHQUFHLENBQUNFLEdBQUcsQ0FBQ0QsSUFBSSxDQUFDLEVBQUU7UUFDZixNQUFNQSxJQUFJO01BQ2Q7SUFDSjtFQUNKO0VBRVVFLGFBQWFBLENBQUNDLElBQXVCLEVBQUVDLEtBQXdCLEVBQVc7SUFDaEYsT0FBT0QsSUFBSSxDQUFDRSxRQUFRLENBQUNELEtBQUssRUFBRSxJQUFJLENBQUNWLG9CQUFvQixDQUFDO0VBQzFEO0VBRVVZLFdBQVdBLENBQUNDLEdBQXNCLEVBQVU7SUFDbEQsT0FBT0EsR0FBRyxDQUFDQyxPQUFPLENBQUMsSUFBSSxDQUFDZCxvQkFBb0IsQ0FBQztFQUNqRDtBQUNKO0FBQUNlLE9BQUEsQ0FBQWxCLG9CQUFBLEdBQUFBLG9CQUFBIn0=
|
|
@@ -28,4 +28,4 @@ class AbsoluteResolvedModelPathSet extends _Set.Set2 {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.AbsoluteResolvedModelPathSet = AbsoluteResolvedModelPathSet;
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX1NldCIsIkFic29sdXRlUmVzb2x2ZWRNb2RlbFBhdGhTZXQiLCJTZXQyIiwiY29uc3RydWN0b3IiLCJlYWNoQ3VycmVudENvbGxpc2lvbiIsIkVhY2hDdXJyZW50Q29sbGlzaW9uIiwiQXJlU2FtZSIsInVuaXF1ZSIsInBhdGhzIiwic2V0IiwicGF0aCIsImFkZCIsImFyZUl0ZW1zRXF1YWwiLCJsZWZ0IiwicmlnaHQiLCJpc0VxdWFscyIsImdldEl0ZW1IYXNoIiwia2V5IiwiZ2V0SGFzaCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9Db21tb24vTW9kZWxQYXRoL1NldC9BYnNvbHV0ZVJlc29sdmVkTW9kZWxQYXRoU2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic29sdXRlUmVzb2x2ZWRNb2RlbFBhdGggfSBmcm9tIFwiLi4vTW9kZWxQYXRoXCI7XG5pbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuXG5pbXBvcnQgeyBTZXQyIH0gZnJvbSBcIi4vU2V0MlwiO1xuXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aFNldCBleHRlbmRzIFNldDI8QWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWFjaEN1cnJlbnRDb2xsaXNpb246IEVhY2hDdXJyZW50Q29sbGlzaW9uO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGVhY2hDdXJyZW50Q29sbGlzaW9uOiBFYWNoQ3VycmVudENvbGxpc2lvbiA9IEVhY2hDdXJyZW50Q29sbGlzaW9uLkFyZVNhbWUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lYWNoQ3VycmVudENvbGxpc2lvbiA9IGVhY2hDdXJyZW50Q29sbGlzaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgKnVuaXF1ZShwYXRoczogSXRlcmFibGU8QWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aD4pOiBJdGVyYWJsZTxBYnNvbHV0ZVJlc29sdmVkTW9kZWxQYXRoPiB7XG4gICAgICAgIGNvbnN0IHNldCA9IG5ldyBBYnNvbHV0ZVJlc29sdmVkTW9kZWxQYXRoU2V0KCk7XG4gICAgICAgIGZvciAoY29uc3QgcGF0aCBvZiBwYXRocykge1xuICAgICAgICAgICAgaWYgKHNldC5hZGQocGF0aCkpIHtcbiAgICAgICAgICAgICAgICB5aWVsZCBwYXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFyZUl0ZW1zRXF1YWwobGVmdDogQWJzb2x1dGVSZXNvbHZlZE1vZGVsUGF0aCwgcmlnaHQ6IEFic29sdXRlUmVzb2x2ZWRNb2RlbFBhdGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGxlZnQuaXNFcXVhbHMocmlnaHQsIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRJdGVtSGFzaChrZXk6IEFic29sdXRlUmVzb2x2ZWRNb2RlbFBhdGgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4ga2V5LmdldEhhc2godGhpcy5lYWNoQ3VycmVudENvbGxpc2lvbik7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxxQkFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsSUFBQSxHQUFBRCxPQUFBO0FBRU8sTUFBTUUsNEJBQTRCLFNBQVNDLFNBQUksQ0FBNEI7RUFHdkVDLFdBQVdBLENBQUNDLG9CQUEwQyxHQUFHQywwQ0FBb0IsQ0FBQ0MsT0FBTyxFQUFFO0lBQzFGLEtBQUssQ0FBQyxDQUFDO0lBQUMsS0FIS0Ysb0JBQW9CO0lBSWpDLElBQUksQ0FBQ0Esb0JBQW9CLEdBQUdBLG9CQUFvQjtFQUNwRDtFQUVBLFFBQWVHLE1BQU1BLENBQUNDLEtBQTBDLEVBQXVDO0lBQ25HLE1BQU1DLEdBQUcsR0FBRyxJQUFJUiw0QkFBNEIsQ0FBQyxDQUFDO0lBQzlDLEtBQUssTUFBTVMsSUFBSSxJQUFJRixLQUFLLEVBQUU7TUFDdEIsSUFBSUMsR0FBRyxDQUFDRSxHQUFHLENBQUNELElBQUksQ0FBQyxFQUFFO1FBQ2YsTUFBTUEsSUFBSTtNQUNkO0lBQ0o7RUFDSjtFQUVVRSxhQUFhQSxDQUFDQyxJQUErQixFQUFFQyxLQUFnQyxFQUFXO0lBQ2hHLE9BQU9ELElBQUksQ0FBQ0UsUUFBUSxDQUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDVixvQkFBb0IsQ0FBQztFQUMxRDtFQUVVWSxXQUFXQSxDQUFDQyxHQUE4QixFQUFVO0lBQzFELE9BQU9BLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ2Qsb0JBQW9CLENBQUM7RUFDakQ7QUFDSjtBQUFDZSxPQUFBLENBQUFsQiw0QkFBQSxHQUFBQSw0QkFBQSJ9
|
|
@@ -28,4 +28,4 @@ class ModelPathSet extends _Set.Set2 {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.ModelPathSet = ModelPathSet;
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX1NldCIsIk1vZGVsUGF0aFNldCIsIlNldDIiLCJjb25zdHJ1Y3RvciIsImVhY2hDdXJyZW50Q29sbGlzaW9uIiwiRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJBcmVTYW1lIiwidW5pcXVlIiwicGF0aHMiLCJzZXQiLCJwYXRoIiwiYWRkIiwiYXJlSXRlbXNFcXVhbCIsImxlZnQiLCJyaWdodCIsImlzRXF1YWxzIiwiZ2V0SXRlbUhhc2giLCJrZXkiLCJnZXRIYXNoIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Nb2RlbFBhdGgvU2V0L01vZGVsUGF0aFNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuaW1wb3J0IHsgTW9kZWxQYXRoIH0gZnJvbSBcIi4uL01vZGVsUGF0aFwiO1xuXG5pbXBvcnQgeyBTZXQyIH0gZnJvbSBcIi4vU2V0MlwiO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxQYXRoU2V0IGV4dGVuZHMgU2V0MjxNb2RlbFBhdGg+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVhY2hDdXJyZW50Q29sbGlzaW9uOiBFYWNoQ3VycmVudENvbGxpc2lvbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb24gPSBFYWNoQ3VycmVudENvbGxpc2lvbi5BcmVTYW1lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24gPSBlYWNoQ3VycmVudENvbGxpc2lvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljICp1bmlxdWUocGF0aHM6IEl0ZXJhYmxlPE1vZGVsUGF0aD4pOiBJdGVyYWJsZTxNb2RlbFBhdGg+
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJyZXF1aXJlIiwiX1NldCIsIk1vZGVsUGF0aFNldCIsIlNldDIiLCJjb25zdHJ1Y3RvciIsImVhY2hDdXJyZW50Q29sbGlzaW9uIiwiRWFjaEN1cnJlbnRDb2xsaXNpb24iLCJBcmVTYW1lIiwidW5pcXVlIiwicGF0aHMiLCJzZXQiLCJwYXRoIiwiYWRkIiwiYXJlSXRlbXNFcXVhbCIsImxlZnQiLCJyaWdodCIsImlzRXF1YWxzIiwiZ2V0SXRlbUhhc2giLCJrZXkiLCJnZXRIYXNoIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL0NvbW1vbi9Nb2RlbFBhdGgvU2V0L01vZGVsUGF0aFNldC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFYWNoQ3VycmVudENvbGxpc2lvbiB9IGZyb20gXCIuLi9FYWNoQ3VycmVudENvbGxpc2lvblwiO1xuaW1wb3J0IHsgTW9kZWxQYXRoIH0gZnJvbSBcIi4uL01vZGVsUGF0aFwiO1xuXG5pbXBvcnQgeyBTZXQyIH0gZnJvbSBcIi4vU2V0MlwiO1xuXG5leHBvcnQgY2xhc3MgTW9kZWxQYXRoU2V0IGV4dGVuZHMgU2V0MjxNb2RlbFBhdGg+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVhY2hDdXJyZW50Q29sbGlzaW9uOiBFYWNoQ3VycmVudENvbGxpc2lvbjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihlYWNoQ3VycmVudENvbGxpc2lvbjogRWFjaEN1cnJlbnRDb2xsaXNpb24gPSBFYWNoQ3VycmVudENvbGxpc2lvbi5BcmVTYW1lKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24gPSBlYWNoQ3VycmVudENvbGxpc2lvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljICp1bmlxdWUocGF0aHM6IEl0ZXJhYmxlPE1vZGVsUGF0aD4pOiBJdGVyYWJsZTxNb2RlbFBhdGg+IHtcbiAgICAgICAgY29uc3Qgc2V0ID0gbmV3IE1vZGVsUGF0aFNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IHBhdGggb2YgcGF0aHMpIHtcbiAgICAgICAgICAgIGlmIChzZXQuYWRkKHBhdGgpKSB7XG4gICAgICAgICAgICAgICAgeWllbGQgcGF0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhcmVJdGVtc0VxdWFsKGxlZnQ6IE1vZGVsUGF0aCwgcmlnaHQ6IE1vZGVsUGF0aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbGVmdC5pc0VxdWFscyhyaWdodCwgdGhpcy5lYWNoQ3VycmVudENvbGxpc2lvbik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEl0ZW1IYXNoKGtleTogTW9kZWxQYXRoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGtleS5nZXRIYXNoKHRoaXMuZWFjaEN1cnJlbnRDb2xsaXNpb24pO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEscUJBQUEsR0FBQUMsT0FBQTtBQUdBLElBQUFDLElBQUEsR0FBQUQsT0FBQTtBQUVPLE1BQU1FLFlBQVksU0FBU0MsU0FBSSxDQUFZO0VBR3ZDQyxXQUFXQSxDQUFDQyxvQkFBMEMsR0FBR0MsMENBQW9CLENBQUNDLE9BQU8sRUFBRTtJQUMxRixLQUFLLENBQUMsQ0FBQztJQUFDLEtBSEtGLG9CQUFvQjtJQUlqQyxJQUFJLENBQUNBLG9CQUFvQixHQUFHQSxvQkFBb0I7RUFDcEQ7RUFFQSxRQUFlRyxNQUFNQSxDQUFDQyxLQUEwQixFQUF1QjtJQUNuRSxNQUFNQyxHQUFHLEdBQUcsSUFBSVIsWUFBWSxDQUFDLENBQUM7SUFDOUIsS0FBSyxNQUFNUyxJQUFJLElBQUlGLEtBQUssRUFBRTtNQUN0QixJQUFJQyxHQUFHLENBQUNFLEdBQUcsQ0FBQ0QsSUFBSSxDQUFDLEVBQUU7UUFDZixNQUFNQSxJQUFJO01BQ2Q7SUFDSjtFQUNKO0VBRVVFLGFBQWFBLENBQUNDLElBQWUsRUFBRUMsS0FBZ0IsRUFBVztJQUNoRSxPQUFPRCxJQUFJLENBQUNFLFFBQVEsQ0FBQ0QsS0FBSyxFQUFFLElBQUksQ0FBQ1Ysb0JBQW9CLENBQUM7RUFDMUQ7RUFFVVksV0FBV0EsQ0FBQ0MsR0FBYyxFQUFVO0lBQzFDLE9BQU9BLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDLElBQUksQ0FBQ2Qsb0JBQW9CLENBQUM7RUFDakQ7QUFDSjtBQUFDZSxPQUFBLENBQUFsQixZQUFBLEdBQUFBLFlBQUEifQ==
|