@envive-ai/react-hooks 0.3.62 → 0.3.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/application/utils/elementObserver.d.cts +2 -2
  2. package/dist/application/utils/widgetTextRequestToApiRequest.cjs +1 -0
  3. package/dist/application/utils/widgetTextRequestToApiRequest.js +1 -1
  4. package/dist/atoms/app/index.d.cts +7 -7
  5. package/dist/atoms/chat/chatState.d.cts +19 -19
  6. package/dist/atoms/chat/chatState.d.ts +1 -1
  7. package/dist/atoms/chat/form.d.cts +2 -2
  8. package/dist/atoms/chat/index.d.cts +2 -2
  9. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  10. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  11. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  12. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  13. package/dist/atoms/chat/replies.d.cts +3 -3
  14. package/dist/atoms/chat/replies.d.ts +1 -1
  15. package/dist/atoms/chat/suggestions.d.cts +2 -2
  16. package/dist/atoms/envive/enviveConfig.d.cts +14 -14
  17. package/dist/atoms/envive/enviveConfig.d.ts +1 -1
  18. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  19. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  20. package/dist/atoms/org/customerService.d.cts +6 -6
  21. package/dist/atoms/org/customerService.d.ts +6 -6
  22. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  23. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  24. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  25. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  26. package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
  27. package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
  28. package/dist/atoms/search/chatSearch.d.cts +17 -17
  29. package/dist/atoms/search/chatSearch.d.ts +17 -17
  30. package/dist/atoms/search/searchAPI.d.cts +13 -13
  31. package/dist/atoms/search/types.d.cts +1 -1
  32. package/dist/atoms/search/utils.d.cts +1 -1
  33. package/dist/atoms/search/utils.d.ts +1 -1
  34. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  35. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  36. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  37. package/dist/contexts/types.d.cts +1 -1
  38. package/dist/contexts/types.d.ts +1 -1
  39. package/dist/contexts/typesV3.d.cts +1 -1
  40. package/dist/contexts/typesV3.d.ts +1 -1
  41. package/dist/hooks/utils.d.cts +1 -1
  42. package/dist/hooks/utils.d.ts +1 -1
  43. package/dist/services/enviveConfigService/enviveConfigService.cjs +49 -3
  44. package/dist/services/enviveConfigService/enviveConfigService.d.cts +16 -2
  45. package/dist/services/enviveConfigService/enviveConfigService.d.ts +16 -2
  46. package/dist/services/enviveConfigService/enviveConfigService.js +49 -3
  47. package/dist/services/enviveConfigService/fetchBootstrapConfig.cjs +102 -0
  48. package/dist/services/enviveConfigService/fetchBootstrapConfig.js +102 -0
  49. package/dist/services/enviveConfigService/fetchGraphQLConfig.cjs +2 -1
  50. package/dist/services/enviveConfigService/fetchGraphQLConfig.js +2 -2
  51. package/dist/services/hardcopyService/hardcopyService.cjs +20 -4
  52. package/dist/services/hardcopyService/hardcopyService.d.cts +3 -2
  53. package/dist/services/hardcopyService/hardcopyService.d.ts +3 -2
  54. package/dist/services/hardcopyService/hardcopyService.js +20 -5
  55. package/dist/services/hardcopyService/index.cjs +1 -0
  56. package/dist/services/hardcopyService/index.d.cts +2 -2
  57. package/dist/services/hardcopyService/index.d.ts +2 -2
  58. package/dist/services/hardcopyService/index.js +2 -2
  59. package/dist/services/urlResolverWarmupService/index.cjs +3 -3
  60. package/dist/services/urlResolverWarmupService/index.d.cts +8 -2
  61. package/dist/services/urlResolverWarmupService/index.d.ts +8 -2
  62. package/dist/services/urlResolverWarmupService/index.js +3 -3
  63. package/package.json +1 -1
  64. package/src/services/enviveConfigService/__tests__/enviveConfigService.test.ts +226 -0
  65. package/src/services/enviveConfigService/__tests__/fetchBootstrapConfig.test.ts +271 -0
  66. package/src/services/enviveConfigService/enviveConfigService.ts +124 -5
  67. package/src/services/enviveConfigService/fetchBootstrapConfig.ts +276 -0
  68. package/src/services/enviveConfigService/fetchGraphQLConfig.ts +7 -4
  69. package/src/services/hardcopyService/__tests__/hardcopyService.test.ts +60 -1
  70. package/src/services/hardcopyService/hardcopyService.ts +45 -3
  71. package/src/services/urlResolverWarmupService/__tests__/urlResolverWarmupService.test.ts +55 -0
  72. package/src/services/urlResolverWarmupService/index.ts +18 -1
@@ -362,4 +362,4 @@ interface FullPageSalesAgentWidgetV3Config extends BaseWidgetConfig<WidgetTypeV3
362
362
  type WidgetConfigV3 = PromptCarouselWidgetV3Config | SocialProofWidgetV3Config | TitledPromptCarouselWidgetV3Config | ChatPreviewComparisonWidgetV3Config | ChatPreviewLoadingWidgetV3Config | TypingAnimationWidgetV3Config | ChatPreviewWidgetV3Config | PromptButtonCarouselWithImageWidgetV3Config | FloatingChatWidgetV3Config | ProductCardWidgetV3Config | FullPageSalesAgentWidgetV3Config;
363
363
  //#endregion
364
364
  export { type AddToCartConfig, AspectRatioCSSVar, AutoPopupConfig, AutoPopupTrigger, AutomaticPopupTrigger, BorderRadiusCSSVar, ButtonColorsVars, type ChatPreviewComparisonWidgetV3Config, type ChatPreviewLoadingWidgetV3Config, type ChatPreviewWidgetV3Config, ColorsNamesVars, ConfigVersionEnum, type CustomerServiceIntegration, type FloatingButtonConfig, type FloatingChatConfig, type FloatingChatWidgetV3Config, FontFamilyCSSVar, FontSizeCSSVar, FontWeightCSSVar, type FullPageSalesAgentWidgetV3Config, LetterSpacingCSSVar, LineHeightCSSVar, type LookAndFeelConfig, type OrgUIConfigV3, PopupTrigger, type ProductCardWidgetV3Config, ProductCarouselLayoutV3, type PromptButtonCarouselWithImageWidgetV3Config, type PromptCarouselWidgetV3Config, ReferrerPopupTrigger, type SPASettings, type SocialProofWidgetV3Config, ThemeCSSVar, type TitledPromptCarouselWidgetV3Config, type TypingAnimationWidgetV3Config, type WidgetConfigV3, WidgetTypeV3 };
365
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNWMy5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy90eXBlc1YzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxvYXRpbmdCdXR0b25Mb2NhdGlvbiB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9GbG9hdGluZ0J1dHRvbic7XG5pbXBvcnQgeyBJbWFnZUdhbGxlcnlJbWFnZSwgSW1hZ2VHYWxsZXJ5TGF5b3V0IH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL0ltYWdlR2FsbGVyeSc7XG5pbXBvcnQgeyBQcm9tcHRCdXR0b25WYXJpYW50IH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1Byb21wdEJ1dHRvbic7XG5pbXBvcnQgeyBBbmltYXRpb25TcGVlZCwgUHJvbXB0Q2Fyb3VzZWxSb3dzIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1Byb21wdENhcm91c2VsJztcbmltcG9ydCB7IER5bmFtaWNMYXlvdXQsIFdpZGdldEtpbmQgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvU29jaWFsUHJvb2YnO1xuaW1wb3J0IHsgVGhlbWUgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvVG9rZW5zJztcbmltcG9ydCB7IFNwYXJrbGVJY29uQ29sb3IgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvV2VsY29tZU1lc3NhZ2UnO1xuaW1wb3J0IHsgV2lkZ2V0V3JhcHBlclZhcmlhbnQgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvV2lkZ2V0V3JhcHBlcic7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VUeXBlIH0gZnJvbSAnLi4vdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgU2VhcmNoQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgZGVjbGFyZSBlbnVtIExldHRlclNwYWNpbmdDU1NWYXIge1xuICAgIFQxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy10MVwiLFxuICAgIFQyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy10MlwiLFxuICAgIFQzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy10M1wiLFxuICAgIEgxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1oMVwiLFxuICAgIEgyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1oMlwiLFxuICAgIEgzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1oM1wiLFxuICAgIEIxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iMVwiLFxuICAgIEIyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iMlwiLFxuICAgIEIzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iM1wiLFxuICAgIEI0ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iNFwiLFxuICAgIEI1ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iNVwiLFxuICAgIEwxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1sMVwiLFxuICAgIEwyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1sMlwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIExpbmVIZWlnaHRDU1NWYXIge1xuICAgIFQxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10MVwiLFxuICAgIFQyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10MlwiLFxuICAgIFQzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10M1wiLFxuICAgIEgxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1oMVwiLFxuICAgIEgyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1oMlwiLFxuICAgIEgzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1oM1wiLFxuICAgIEIxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iMVwiLFxuICAgIEIyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iMlwiLFxuICAgIEIzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iM1wiLFxuICAgIEI0ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iNFwiLFxuICAgIEI1ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iNVwiLFxuICAgIEwxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1sMVwiLFxuICAgIEwyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1sMlwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEZvbnRXZWlnaHRDU1NWYXIge1xuICAgIFRpdGxlID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXdlaWdodC10aXRsZVwiLFxuICAgIEhlYWRlciA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtaGVhZGVyXCIsXG4gICAgQm9keUVtcGhhc2lzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXdlaWdodC1ib2R5LWVtcGhhc2lzXCIsXG4gICAgQm9keVN0YW5kYXJkID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXdlaWdodC1ib2R5LXN0YW5kYXJkXCJcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gRm9udFNpemVDU1NWYXIge1xuICAgIFQxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtdDFcIixcbiAgICBUMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQyXCIsXG4gICAgVDMgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS10M1wiLFxuICAgIEgxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtaDFcIixcbiAgICBIMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgyXCIsXG4gICAgSDMgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1oM1wiLFxuICAgIEIxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtYjFcIixcbiAgICBCMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIyXCIsXG4gICAgQjMgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1iM1wiLFxuICAgIEI0ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtYjRcIixcbiAgICBCNSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWI1XCIsXG4gICAgTDEgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1sMVwiLFxuICAgIEwyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtbDJcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBGb250RmFtaWx5Q1NTVmFyIHtcbiAgICBUaXRsZSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1mYW1pbHktdGl0bGVcIixcbiAgICBIZWFkZXIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LWhlYWRlclwiLFxuICAgIEJvZHkgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LWJvZHlcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBUaGVtZUNTU1ZhciB7XG4gICAgR2xvYmFsQ3VzdG9tID0gXCJlbnZpdmUtZ2xvYmFsLWN1c3RvbS10aGVtZVwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEFzcGVjdFJhdGlvQ1NTVmFyIHtcbiAgICBHbG9iYWxDdXN0b20gPSBcImVudml2ZS1nbG9iYWwtY3VzdG9tLWFzcGVjdC1yYXRpb1wiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEJvcmRlclJhZGl1c0NTU1ZhciB7XG4gICAgR2xvYmFsQ3VzdG9tID0gXCJlbnZpdmUtZ2xvYmFsLWN1c3RvbS1ib3JkZXItcmFkaXVzXCJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGVudW0gQ29sb3JzTmFtZXNWYXJzIHtcbiAgICBUZXh0UHJpbWFyeSA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LXByaW1hcnlcIixcbiAgICBUZXh0U2Vjb25kYXJ5ID0gXCJlbnZpdmUtY29sb3JzLXRleHQtc2Vjb25kYXJ5XCIsXG4gICAgVGV4dEFjY2VudCA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LWFjY2VudFwiLFxuICAgIFRleHRMaW5rID0gXCJlbnZpdmUtY29sb3JzLXRleHQtbGlua1wiLFxuICAgIFRleHRMaWdodCA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LWxpZ2h0XCIsXG4gICAgQmFja2dyb3VuZFByaW1hcnkgPSBcImVudml2ZS1jb2xvcnMtYmFja2dyb3VuZC1wcmltYXJ5XCIsXG4gICAgQmFja2dyb3VuZFNlY29uZGFyeSA9IFwiZW52aXZlLWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeVwiLFxuICAgIEJhY2tncm91bmRUZXJ0aWFyeSA9IFwiZW52aXZlLWNvbG9ycy1iYWNrZ3JvdW5kLXRlcnRpYXJ5XCIsXG4gICAgQmFja2dyb3VuZERhcmsgPSBcImVudml2ZS1jb2xvcnMtYmFja2dyb3VuZC1kYXJrXCIsXG4gICAgQmFja2dyb3VuZExpZ2h0ID0gXCJlbnZpdmUtY29sb3JzLWJhY2tncm91bmQtbGlnaHRcIixcbiAgICBCb3JkZXJMaWdodCA9IFwiZW52aXZlLWNvbG9ycy1ib3JkZXItbGlnaHRcIixcbiAgICBCb3JkZXJNZWRpdW0gPSBcImVudml2ZS1jb2xvcnMtYm9yZGVyLW1lZGl1bVwiLFxuICAgIEJvcmRlckRhcmsgPSBcImVudml2ZS1jb2xvcnMtYm9yZGVyLWRhcmtcIixcbiAgICBBY2NlbnRQcmltYXJ5ID0gXCJlbnZpdmUtY29sb3JzLWFjY2VudC1wcmltYXJ5XCIsXG4gICAgQWNjZW50U2Vjb25kYXJ5ID0gXCJlbnZpdmUtY29sb3JzLWFjY2VudC1zZWNvbmRhcnlcIlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZW51bSBCdXR0b25Db2xvcnNWYXJzIHtcbiAgICBMaWdodEJ1dHRvbkJhY2tncm91bmRDb2xvciA9IFwiZW52aXZlLWNvbG9ycy1idXR0b24tbGlnaHQtYmFja2dyb3VuZC1jb2xvclwiLFxuICAgIExpZ2h0QnV0dG9uQm9yZGVyQ29sb3IgPSBcImVudml2ZS1jb2xvcnMtYnV0dG9uLWxpZ2h0LWJvcmRlci1jb2xvclwiLFxuICAgIExpZ2h0QnV0dG9uSWNvbkNvbG9yID0gXCJlbnZpdmUtY29sb3JzLWJ1dHRvbi1saWdodC1pY29uLWNvbG9yXCIsXG4gICAgRGFya0J1dHRvbkJhY2tncm91bmRDb2xvciA9IFwiZW52aXZlLWNvbG9ycy1idXR0b24tZGFyay1iYWNrZ3JvdW5kLWNvbG9yXCIsXG4gICAgRGFya0J1dHRvbkljb25Db2xvciA9IFwiZW52aXZlLWNvbG9ycy1idXR0b24tZGFyay1pY29uLWNvbG9yXCJcbn1cbnR5cGUgSW1hZ2VBc3BlY3RSYXRpbyA9ICcxLzEnIHwgJzMvNCc7XG50eXBlIEFkZFRvQ2FydENvbmZpZyA9IHtcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgY3RhVGV4dD86IHN0cmluZztcbiAgICBhZGRUb0NhcnRGdW5jdGlvbj86IHN0cmluZztcbn07XG50eXBlIEJ1dHRvbkNvbG9ycyA9IHtcbiAgICBsaWdodEJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGxpZ2h0QnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgbGlnaHRCdXR0b25JY29uQ29sb3I6IHN0cmluZztcbiAgICBkYXJrQnV0dG9uQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgZGFya0J1dHRvbkljb25Db2xvcjogc3RyaW5nO1xufTtcbnR5cGUgVHlwb2dyYXBoeSA9IHtcbiAgICB0aXRsZUZvbnRGYW1pbHk6IHN0cmluZztcbiAgICBoZWFkZXJGb250RmFtaWx5OiBzdHJpbmc7XG4gICAgYm9keUZvbnRGYW1pbHk6IHN0cmluZztcbiAgICBmb250U2l6ZT86IHtcbiAgICAgICAgdDE6IHN0cmluZztcbiAgICAgICAgdDI6IHN0cmluZztcbiAgICAgICAgdDM6IHN0cmluZztcbiAgICAgICAgaDE6IHN0cmluZztcbiAgICAgICAgaDI6IHN0cmluZztcbiAgICAgICAgaDM6IHN0cmluZztcbiAgICAgICAgYjE6IHN0cmluZztcbiAgICAgICAgYjI6IHN0cmluZztcbiAgICAgICAgYjM6IHN0cmluZztcbiAgICAgICAgYjQ6IHN0cmluZztcbiAgICAgICAgYjU6IHN0cmluZztcbiAgICAgICAgbDE6IHN0cmluZztcbiAgICAgICAgbDI6IHN0cmluZztcbiAgICB9O1xuICAgIGZvbnRXZWlnaHQ/OiB7XG4gICAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICAgIGhlYWRlcjogc3RyaW5nO1xuICAgICAgICBib2R5RW1waGFzaXM6IHN0cmluZztcbiAgICAgICAgYm9keVN0YW5kYXJkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBsZXR0ZXJTcGFjaW5nPzoge1xuICAgICAgICB0MTogc3RyaW5nO1xuICAgICAgICB0Mjogc3RyaW5nO1xuICAgICAgICB0Mzogc3RyaW5nO1xuICAgICAgICBoMTogc3RyaW5nO1xuICAgICAgICBoMjogc3RyaW5nO1xuICAgICAgICBoMzogc3RyaW5nO1xuICAgICAgICBiMTogc3RyaW5nO1xuICAgICAgICBiMjogc3RyaW5nO1xuICAgICAgICBiMzogc3RyaW5nO1xuICAgICAgICBiNDogc3RyaW5nO1xuICAgICAgICBiNTogc3RyaW5nO1xuICAgICAgICBsMTogc3RyaW5nO1xuICAgICAgICBsMjogc3RyaW5nO1xuICAgIH07XG4gICAgbGluZUhlaWdodD86IHtcbiAgICAgICAgdDE6IG51bWJlcjtcbiAgICAgICAgdDI6IG51bWJlcjtcbiAgICAgICAgdDM6IG51bWJlcjtcbiAgICAgICAgaDE6IG51bWJlcjtcbiAgICAgICAgaDI6IG51bWJlcjtcbiAgICAgICAgaDM6IG51bWJlcjtcbiAgICAgICAgYjE6IG51bWJlcjtcbiAgICAgICAgYjI6IG51bWJlcjtcbiAgICAgICAgYjM6IG51bWJlcjtcbiAgICAgICAgYjQ6IG51bWJlcjtcbiAgICAgICAgYjU6IG51bWJlcjtcbiAgICAgICAgbDE6IG51bWJlcjtcbiAgICAgICAgbDI6IG51bWJlcjtcbiAgICB9O1xufTtcbnR5cGUgTG9va0FuZEZlZWxDb25maWcgPSB7XG4gICAgdGhlbWU6IFRoZW1lO1xuICAgIGFnZW50TmFtZTogc3RyaW5nO1xuICAgIGNoYXRIZWFkZXJMb2dvRGFya1NyYzogc3RyaW5nO1xuICAgIGNoYXRIZWFkZXJMb2dvTGlnaHRTcmM6IHN0cmluZztcbiAgICB3aWRnZXRMb2dvU3JjOiBzdHJpbmc7XG4gICAgaGlkZVdpZGdldExvZ286IGJvb2xlYW47XG4gICAgdm9pY2VJbnB1dEVuYWJsZWQ/OiBib29sZWFuO1xuICAgIGVsZW1lbnRSYWRpdXM6IG51bWJlcjtcbiAgICBpbWFnZUFzcGVjdFJhdGlvOiBJbWFnZUFzcGVjdFJhdGlvO1xuICAgIGJ1dHRvbkNvbG9yczogQnV0dG9uQ29sb3JzO1xuICAgIHR5cG9ncmFwaHk6IFR5cG9ncmFwaHk7XG4gICAgYWRkVG9DYXJ0PzogQWRkVG9DYXJ0Q29uZmlnO1xufTtcbmV4cG9ydCBkZWNsYXJlIGVudW0gQ29uZmlnVmVyc2lvbkVudW0ge1xuICAgIFYzID0gXCJ2M1wiLFxuICAgIERlcHJlY2F0ZWQgPSBcImRlcHJlY2F0ZWRcIlxufVxudHlwZSBDb25maWdWZXJzaW9uID0gQ29uZmlnVmVyc2lvbkVudW0uVjMgfCBDb25maWdWZXJzaW9uRW51bS5EZXByZWNhdGVkIHwgdW5kZWZpbmVkO1xudHlwZSBNb2RlID0gJ2RhcmsnIHwgJ2xpZ2h0JztcbnR5cGUgU2hvd09wdGlvbnMgPSAnYWx3YXlzJyB8ICdwb3N0SW50ZXJhY3Rpb24nIHwgJ25vbmUnO1xudHlwZSBTdHlsZSA9ICdhdHRhY2hlZCcgfCAnZGV0YWNoZWQnO1xudHlwZSBGbG9hdGluZ0J1dHRvbkNvbmZpZyA9IHtcbiAgICBwb3NpdGlvbjogRmxvYXRpbmdCdXR0b25Mb2NhdGlvbjtcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgbW9kZTogTW9kZTtcbiAgICBzaG93T3B0aW9uOiBTaG93T3B0aW9ucztcbiAgICBpY29uU1ZHU3JjPzogc3RyaW5nO1xuICAgIHN0eWxlOiBTdHlsZTtcbn07XG5leHBvcnQgdHlwZSBSZWZlcnJlclBvcHVwVHJpZ2dlciA9IHtcbiAgICB0eXBlOiAncmVmZXJyZXInO1xuICAgIHJlZmVycmVyczogc3RyaW5nW107XG59O1xuZXhwb3J0IHR5cGUgQXV0b21hdGljUG9wdXBUcmlnZ2VyID0ge1xuICAgIHR5cGU6ICdhdXRvbWF0aWMnO1xufTtcbmV4cG9ydCB0eXBlIFBvcHVwVHJpZ2dlciA9IFJlZmVycmVyUG9wdXBUcmlnZ2VyIHwgQXV0b21hdGljUG9wdXBUcmlnZ2VyO1xuZXhwb3J0IHR5cGUgQXV0b1BvcHVwVHJpZ2dlciA9IHtcbiAgICBkZWxheTogbnVtYmVyO1xuICAgIHRyaWdnZXI6IFBvcHVwVHJpZ2dlcjtcbn07XG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Qb3B1cENvbmZpZyB7XG4gICAgdHJpZ2dlcnM6IEF1dG9Qb3B1cFRyaWdnZXJbXTtcbn1cbnR5cGUgRmxvYXRpbmdDaGF0Q29uZmlnID0ge1xuICAgIGhlYWRlckJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBoZWFkZXJNb2RlOiBNb2RlO1xuICAgIHdlbGNvbWVNZXNzYWdlSWNvbkNvbG9yOiBTcGFya2xlSWNvbkNvbG9yO1xuICAgIHNob3dWZXJpZmllZEJ1eWVyOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBzaG93RW52aXZlTG9nbzogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgd2VsY29tZU1lc3NhZ2VUaXRsZTogc3RyaW5nO1xuICAgIHdlbGNvbWVNZXNzYWdlVGV4dDogc3RyaW5nO1xuICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6IHN0cmluZztcbiAgICBhdXRvUG9wdXBDb25maWc/OiBBdXRvUG9wdXBDb25maWc7XG59O1xudHlwZSBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHN1cHByZXNzTWVyY2hhbnRCdXR0b24/OiBib29sZWFuO1xufTtcbnR5cGUgU1BBU2V0dGluZ3MgPSB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7XG59O1xudHlwZSBPcmdVSUNvbmZpZ1YzID0ge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIHZlcnNpb246IENvbmZpZ1ZlcnNpb247XG4gICAgc2hvcnROYW1lOiBzdHJpbmc7XG4gICAgbG9va0FuZEZlZWw6IExvb2tBbmRGZWVsQ29uZmlnO1xuICAgIGZsb2F0aW5nQnV0dG9uOiBGbG9hdGluZ0J1dHRvbkNvbmZpZztcbiAgICBmbG9hdGluZ0NoYXQ6IEZsb2F0aW5nQ2hhdENvbmZpZztcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuICAgIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uPzogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG4gICAgc2luZ2xlUGFnZUFwcGxpY2F0aW9uU2V0dGluZ3M/OiBTUEFTZXR0aW5ncztcbiAgICBzZWFyY2hDb25maWc/OiBTZWFyY2hDb25maWc7XG59O1xuZXhwb3J0IGRlY2xhcmUgZW51bSBXaWRnZXRUeXBlVjMge1xuICAgIFByb21wdENhcm91c2VsVjMgPSBcIlByb21wdENhcm91c2VsVjNcIixcbiAgICBUaXRsZWRQcm9tcHRDYXJvdXNlbFYzID0gXCJUaXRsZWRQcm9tcHRDYXJvdXNlbFYzXCIsXG4gICAgU29jaWFsUHJvb2ZWMyA9IFwiU29jaWFsUHJvb2ZWM1wiLFxuICAgIFR5cGluZ0FuaW1hdGlvblYzID0gXCJUeXBpbmdBbmltYXRpb25WM1wiLFxuICAgIENoYXRQcmV2aWV3VjMgPSBcIkNoYXRQcmV2aWV3VjNcIixcbiAgICBDaGF0UHJldmlld0NvbXBhcmlzb25WMyA9IFwiQ2hhdFByZXZpZXdDb21wYXJpc29uVjNcIixcbiAgICBDaGF0UHJldmlld0xvYWRpbmdWMyA9IFwiQ2hhdFByZXZpZXdMb2FkaW5nVjNcIixcbiAgICBJbWFnZVByb21wdENhcmRWMyA9IFwiSW1hZ2VQcm9tcHRDYXJkVjNcIixcbiAgICBQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVYzID0gXCJQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVYzXCIsXG4gICAgSW1hZ2VCYW5uZXJWMyA9IFwiSW1hZ2VCYW5uZXJWM1wiLFxuICAgIFNpbmdsZUltYWdlUHJvbXB0VjMgPSBcIlNpbmdsZUltYWdlUHJvbXB0VjNcIixcbiAgICBGbG9hdGluZ0NoYXRWMyA9IFwiRmxvYXRpbmdDaGF0VjNcIixcbiAgICBGbG9hdGluZ0J1dHRvblYzID0gXCJGbG9hdGluZ0J1dHRvblYzXCIsXG4gICAgUHJvZHVjdENhcmRWMyA9IFwiUHJvZHVjdENhcmRWM1wiLFxuICAgIEZ1bGxQYWdlU2FsZXNBZ2VudFYzID0gXCJGdWxsUGFnZVNhbGVzQWdlbnRWM1wiXG59XG5pbnRlcmZhY2UgQmFzZVdpZGdldENvbmZpZzxUIGV4dGVuZHMgV2lkZ2V0VHlwZVYzPiB7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgICB0eXBlOiBUO1xuICAgIGNvbnRlbnRJZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuUHJvbXB0Q2Fyb3VzZWxWMz4ge1xuICAgIHByb21wdEJ1dHRvblR5cGU/OiBQcm9tcHRCdXR0b25WYXJpYW50O1xuICAgIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gICAgcHJvbXB0Q2Fyb3VzZWxSb3dzPzogUHJvbXB0Q2Fyb3VzZWxSb3dzO1xuICAgIGFuaW1hdGlvblNwZWVkPzogQW5pbWF0aW9uU3BlZWQ7XG59XG5pbnRlcmZhY2UgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlRpdGxlZFByb21wdENhcm91c2VsVjM+IHtcbiAgICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICAgIHByb21wdENhcm91c2VsUm93cz86IFByb21wdENhcm91c2VsUm93cztcbiAgICBhbmltYXRpb25TcGVlZD86IEFuaW1hdGlvblNwZWVkO1xufVxuaW50ZXJmYWNlIFNvY2lhbFByb29mV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5Tb2NpYWxQcm9vZlYzPiB7XG4gICAga2luZDogV2lkZ2V0S2luZDtcbiAgICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBoZXhDYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgcHJvbXB0Q2Fyb3VzZWxSb3dzOiBQcm9tcHRDYXJvdXNlbFJvd3M7XG4gICAgaGlkZUltYWdlPzogYm9vbGVhbjtcbiAgICBpbWFnZUdhbGxlcnlMYXlvdXQ6IEV4Y2x1ZGU8SW1hZ2VHYWxsZXJ5TGF5b3V0LCAnVFdPX1NJREUnPjtcbiAgICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbiAgICBwcmltYXJ5QnV0dG9uVmFyaWFudDogRXhjbHVkZTxQcm9tcHRCdXR0b25WYXJpYW50LCAnc3VnZ2VzdGVkUmVzcG9uc2UnIHwgJ2dob3N0Jz47XG4gICAgc2Vjb25kYXJ5QnV0dG9uVmFyaWFudDogRXhjbHVkZTxQcm9tcHRCdXR0b25WYXJpYW50LCAnc3VnZ2VzdGVkUmVzcG9uc2UnIHwgJ2dob3N0Jz47XG4gICAgZHluYW1pY0xheW91dD86IER5bmFtaWNMYXlvdXQ7XG4gICAgaW1hZ2VzPzogSW1hZ2VHYWxsZXJ5SW1hZ2VbXTtcbn1cbmludGVyZmFjZSBUeXBpbmdBbmltYXRpb25XaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlR5cGluZ0FuaW1hdGlvblYzPiB7XG4gICAgd2lkZ2V0VmFyaWFudD86IFdpZGdldFdyYXBwZXJWYXJpYW50O1xuICAgIGNhcmRDb2xvcj86IHN0cmluZztcbiAgICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBwcm9tcHRDYXJvdXNlbFJvd3M/OiBQcm9tcHRDYXJvdXNlbFJvd3M7XG4gICAgc2hvd1RleHRGaWVsZD86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdDb21wYXJpc29uV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5DaGF0UHJldmlld0NvbXBhcmlzb25WMz4ge1xuICAgIHZhcmlhbnQ6IFdpZGdldFdyYXBwZXJWYXJpYW50O1xuICAgIGhleENhcmRDb2xvcj86IHN0cmluZztcbiAgICBoaWRlSW1hZ2U/OiBib29sZWFuO1xuICAgIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3TG9hZGluZ1dpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdMb2FkaW5nVjM+IHtcbiAgICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBoZXhDYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3VjM+IHtcbiAgICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBoZXhDYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlVjM+IHtcbiAgICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBpbWFnZT86IEltYWdlR2FsbGVyeUltYWdlO1xuICAgIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xuICAgIGlzRHluYW1pYz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0V2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5GbG9hdGluZ0NoYXRWMz4ge1xufVxuaW50ZXJmYWNlIFByb2R1Y3RDYXJkV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5Qcm9kdWN0Q2FyZFYzPiB7XG4gICAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgaXRhbGljaXplSGVhZGxpbmU/OiBib29sZWFuO1xuICAgIGZhbGxiYWNrQ29sb3I/OiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gICAgbW9kZT86IE1vZGU7XG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIFByb2R1Y3RDYXJvdXNlbExheW91dFYzIHtcbiAgICBIT1JJWk9OVEFMID0gXCJob3Jpem9udGFsXCIsXG4gICAgR1JJRCA9IFwiZ3JpZFwiLFxuICAgIC8qKiBHcmlkIG9uIG1vYmlsZSwgaG9yaXpvbnRhbCBjYXJvdXNlbCBvbiBkZXNrdG9wLiAqL1xuICAgIEdSSURfTU9CSUxFX0hPUklaT05UQUxfREVTS1RPUCA9IFwiZ3JpZC1tb2JpbGUtaG9yaXpvbnRhbC1kZXNrdG9wXCJcbn1cbmludGVyZmFjZSBGdWxsUGFnZVNhbGVzQWdlbnRXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkZ1bGxQYWdlU2FsZXNBZ2VudFYzPiB7XG4gICAgaGVhZGVyQ29udGFpbmVyPzogc3RyaW5nO1xuICAgIGF1dG9IZWlnaHQ/OiBib29sZWFuO1xuICAgIHNwYXJrbGVDb2xvcj86IHN0cmluZztcbiAgICB1c2VCYWNrZ3JvdW5kSW1hZ2U/OiBib29sZWFuO1xuICAgIG1vYmlsZUJhY2tncm91bmRJbWFnZT86IHN0cmluZztcbiAgICBkZXNrdG9wQmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBjaGF0QmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBwcm9kdWN0Q2Fyb3VzZWxMYXlvdXQ/OiBQcm9kdWN0Q2Fyb3VzZWxMYXlvdXRWMztcbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUgKG9yIHVuc2V0KSwgYXNraW5nIGEgcXVlc3Rpb24gb3BlbnMgdGhlIGNvbnZlcnNhdGlvbiBpbiBhXG4gICAgICogcGFydGlhbC1oZWlnaHQgc2hlZXQgdGhhdCBrZWVwcyB0aGUgd2VsY29tZSBvdmVybGF5J3MgcHJvZHVjdCBncmlkXG4gICAgICogdmlzaWJsZSBhYm92ZSBpdC4gU2V0IHRvIGZhbHNlIHRvIGZhbGwgYmFjayB0byB0aGUgZnVsbC1zY3JlZW4gdGFrZW92ZXIuXG4gICAgICogRGVmYXVsdCB0cnVlICh1bmRlZmluZWQgYW5kIHRydWUgPSBwYXJ0aWFsIHZpZXcgZW5hYmxlZCkuXG4gICAgICovXG4gICAgcGFydGlhbFZpZXdFbmFibGVkPzogYm9vbGVhbjtcbn1cbnR5cGUgV2lkZ2V0Q29uZmlnVjMgPSBQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnIHwgU29jaWFsUHJvb2ZXaWRnZXRWM0NvbmZpZyB8IFRpdGxlZFByb21wdENhcm91c2VsV2lkZ2V0VjNDb25maWcgfCBDaGF0UHJldmlld0NvbXBhcmlzb25XaWRnZXRWM0NvbmZpZyB8IENoYXRQcmV2aWV3TG9hZGluZ1dpZGdldFYzQ29uZmlnIHwgVHlwaW5nQW5pbWF0aW9uV2lkZ2V0VjNDb25maWcgfCBDaGF0UHJldmlld1dpZGdldFYzQ29uZmlnIHwgUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VXaWRnZXRWM0NvbmZpZyB8IEZsb2F0aW5nQ2hhdFdpZGdldFYzQ29uZmlnIHwgUHJvZHVjdENhcmRXaWRnZXRWM0NvbmZpZyB8IEZ1bGxQYWdlU2FsZXNBZ2VudFdpZGdldFYzQ29uZmlnO1xuZXhwb3J0IHR5cGUgeyBBZGRUb0NhcnRDb25maWcsIENoYXRQcmV2aWV3Q29tcGFyaXNvbldpZGdldFYzQ29uZmlnLCBDaGF0UHJldmlld0xvYWRpbmdXaWRnZXRWM0NvbmZpZywgQ2hhdFByZXZpZXdXaWRnZXRWM0NvbmZpZywgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIEZsb2F0aW5nQnV0dG9uQ29uZmlnLCBGbG9hdGluZ0NoYXRDb25maWcsIEZsb2F0aW5nQ2hhdFdpZGdldFYzQ29uZmlnLCBGdWxsUGFnZVNhbGVzQWdlbnRXaWRnZXRWM0NvbmZpZywgTG9va0FuZEZlZWxDb25maWcsIE9yZ1VJQ29uZmlnVjMsIFByb2R1Y3RDYXJkV2lkZ2V0VjNDb25maWcsIFByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlV2lkZ2V0VjNDb25maWcsIFByb21wdENhcm91c2VsV2lkZ2V0VjNDb25maWcsIFNvY2lhbFByb29mV2lkZ2V0VjNDb25maWcsIFNQQVNldHRpbmdzLCBUaXRsZWRQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnLCBUeXBpbmdBbmltYXRpb25XaWRnZXRWM0NvbmZpZywgV2lkZ2V0Q29uZmlnVjMsIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQVVBLElBQVcsc0JBQXNCLENBQUMsRUFBRTtBQUNwQyxJQUFXLG1CQUFtQixDQUFDLEVBQUU7QUFDakMsSUFBVyxtQkFBbUIsQ0FBQyxHQUFHO0FBQ2xDLElBQVcsaUJBQWlCLENBQUMsR0FBRztBQUNoQyxJQUFXLG1CQUFtQixDQUFDLEdBQUc7QUFDbEMsSUFBVyxjQUFjLENBQUMsR0FBRztBQUM3QixJQUFXLG9CQUFvQixDQUFDLEdBQUc7QUFDbkMsSUFBVyxxQkFBcUIsQ0FBQyxHQUFHO0FBQ3BDLElBQVcsa0JBQWtCLENBQUMsR0FBRztBQUNqQyxJQUFXLG1CQUFtQixDQUFDLEdBQUc7QUFDbEMsSUFBSSxtQkFBbUIsQ0FBQyxHQUFHO0FBQzNCLElBQUksa0JBQWtCLENBQUMsR0FBRztBQUMxQixJQUFJLGVBQWUsQ0FBQyxHQUFHO0FBQ3ZCLElBQUksYUFBYSxDQUFDLEdBQUc7QUFDckIsSUFBQSxvQkFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0EsSUFBVyxvQkFBb0IsQ0FBQyxHQUFHO0FBQ25DLElBQUksZ0JBQWdCO0NBQUM7T0FBVSxrQkFBWTtPQUFBLGtCQUFBO0NBQUE7QUFDM0MsSUFBSSxPQUFPLENBQUMsR0FBRztBQUNmLElBQUksY0FBYyxDQUFDLEdBQUc7QUFDdEIsSUFBSSxRQUFRLENBQUMsR0FBRztBQUNoQixJQUFJLHVCQUF1QjtDQUFDO09BQVU7T0FBSztPQUFBO09BQUE7Q0FBQTtBQUMzQyxJQUFXLHVCQUF1QixDQUFDLEdBQUc7QUFDdEMsSUFBVyx3QkFBd0IsQ0FBQyxHQUFHO0FBQ3ZDLElBQVcsZUFBZTtDQUFDO09BQVU7T0FBTTtDQUFBO0FBQzNDLElBQVcsbUJBQW1CLENBQUMsVUFBVSxhQUFFO0FBQzNDLElBQVcsa0JBQWtCLENBQUMsVUFBVSxpQkFBRztBQUMzQyxJQUFJLHFCQUFxQjtDQUFDO09BQVU7T0FBTztPQUFBO0NBQUE7QUFDM0MsSUFBSSw2QkFBNkIsQ0FBQyxVQUFTLG9CQUFBO0FBQzNDLElBQUksY0FBYyxDQUFDLEdBQUc7QUFDdEIsSUFBQSxnQkFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNBLElBQVcsZUFBZSxDQUFDLEdBQUc7QUFDOUIsSUFBSSxtQkFBbUI7Q0FBQztPQUFVO09BQWU7Q0FBQTtBQUNqRCxJQUFJLCtCQUErQjtDQUFDO09BQVUsYUFBSztPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkQsSUFBSSxxQ0FBcUM7Q0FBQztPQUFVLGFBQVk7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2hFLElBQUksNEJBQTRCO0NBQUM7T0FBVSxhQUFhO09BQU87T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDL0QsSUFBQSxnQ0FBQTtDQUFBO09BQUEsYUFBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDQSxJQUFJLHNDQUErQjtDQUFBO09BQUEsYUFBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQyxJQUFJLG1DQUFtQztDQUFDO09BQUMsYUFBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFJLDRCQUE0QjtDQUFDO09BQVEsYUFBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFJLDhDQUFxQztDQUFBO09BQUEsYUFBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3pDLElBQUksNkJBQTZCO0NBQUM7T0FBTyxhQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFJLDRCQUE0QjtDQUFDO09BQVEsYUFBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3pDLElBQVcsMEJBQTBCLENBQUMsR0FBRztBQUN6QyxJQUFJLG1DQUFtQztDQUFDO09BQUMsYUFBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3pDLElBQUksaUJBQWlCO0NBQUM7T0FBVTtPQUFTO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
365
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNWMy5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy90eXBlc1YzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxvYXRpbmdCdXR0b25Mb2NhdGlvbiB9IGZyb20gJ0BlbnZpdmUtYWkvcmVhY3QtdG9vbGtpdC12My9GbG9hdGluZ0J1dHRvbic7XG5pbXBvcnQgeyBJbWFnZUdhbGxlcnlJbWFnZSwgSW1hZ2VHYWxsZXJ5TGF5b3V0IH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL0ltYWdlR2FsbGVyeSc7XG5pbXBvcnQgeyBQcm9tcHRCdXR0b25WYXJpYW50IH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1Byb21wdEJ1dHRvbic7XG5pbXBvcnQgeyBBbmltYXRpb25TcGVlZCwgUHJvbXB0Q2Fyb3VzZWxSb3dzIH0gZnJvbSAnQGVudml2ZS1haS9yZWFjdC10b29sa2l0LXYzL1Byb21wdENhcm91c2VsJztcbmltcG9ydCB7IER5bmFtaWNMYXlvdXQsIFdpZGdldEtpbmQgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvU29jaWFsUHJvb2YnO1xuaW1wb3J0IHsgVGhlbWUgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvVG9rZW5zJztcbmltcG9ydCB7IFNwYXJrbGVJY29uQ29sb3IgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvV2VsY29tZU1lc3NhZ2UnO1xuaW1wb3J0IHsgV2lkZ2V0V3JhcHBlclZhcmlhbnQgfSBmcm9tICdAZW52aXZlLWFpL3JlYWN0LXRvb2xraXQtdjMvV2lkZ2V0V3JhcHBlcic7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VUeXBlIH0gZnJvbSAnLi4vdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB0eXBlIHsgU2VhcmNoQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgZGVjbGFyZSBlbnVtIExldHRlclNwYWNpbmdDU1NWYXIge1xuICAgIFQxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy10MVwiLFxuICAgIFQyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy10MlwiLFxuICAgIFQzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy10M1wiLFxuICAgIEgxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1oMVwiLFxuICAgIEgyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1oMlwiLFxuICAgIEgzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1oM1wiLFxuICAgIEIxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iMVwiLFxuICAgIEIyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iMlwiLFxuICAgIEIzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iM1wiLFxuICAgIEI0ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iNFwiLFxuICAgIEI1ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1iNVwiLFxuICAgIEwxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1sMVwiLFxuICAgIEwyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy1sMlwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIExpbmVIZWlnaHRDU1NWYXIge1xuICAgIFQxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10MVwiLFxuICAgIFQyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10MlwiLFxuICAgIFQzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC10M1wiLFxuICAgIEgxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1oMVwiLFxuICAgIEgyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1oMlwiLFxuICAgIEgzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1oM1wiLFxuICAgIEIxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iMVwiLFxuICAgIEIyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iMlwiLFxuICAgIEIzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iM1wiLFxuICAgIEI0ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iNFwiLFxuICAgIEI1ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1iNVwiLFxuICAgIEwxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1sMVwiLFxuICAgIEwyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1saW5lLWhlaWdodC1sMlwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEZvbnRXZWlnaHRDU1NWYXIge1xuICAgIFRpdGxlID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXdlaWdodC10aXRsZVwiLFxuICAgIEhlYWRlciA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC13ZWlnaHQtaGVhZGVyXCIsXG4gICAgQm9keUVtcGhhc2lzID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXdlaWdodC1ib2R5LWVtcGhhc2lzXCIsXG4gICAgQm9keVN0YW5kYXJkID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXdlaWdodC1ib2R5LXN0YW5kYXJkXCJcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gRm9udFNpemVDU1NWYXIge1xuICAgIFQxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtdDFcIixcbiAgICBUMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLXQyXCIsXG4gICAgVDMgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS10M1wiLFxuICAgIEgxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtaDFcIixcbiAgICBIMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWgyXCIsXG4gICAgSDMgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1oM1wiLFxuICAgIEIxID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtYjFcIixcbiAgICBCMiA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWIyXCIsXG4gICAgQjMgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1iM1wiLFxuICAgIEI0ID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtYjRcIixcbiAgICBCNSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1zaXplLWI1XCIsXG4gICAgTDEgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1sMVwiLFxuICAgIEwyID0gXCJlbnZpdmUtdHlwb2dyYXBoeS1mb250LXNpemUtbDJcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBGb250RmFtaWx5Q1NTVmFyIHtcbiAgICBUaXRsZSA9IFwiZW52aXZlLXR5cG9ncmFwaHktZm9udC1mYW1pbHktdGl0bGVcIixcbiAgICBIZWFkZXIgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LWhlYWRlclwiLFxuICAgIEJvZHkgPSBcImVudml2ZS10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LWJvZHlcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBUaGVtZUNTU1ZhciB7XG4gICAgR2xvYmFsQ3VzdG9tID0gXCJlbnZpdmUtZ2xvYmFsLWN1c3RvbS10aGVtZVwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEFzcGVjdFJhdGlvQ1NTVmFyIHtcbiAgICBHbG9iYWxDdXN0b20gPSBcImVudml2ZS1nbG9iYWwtY3VzdG9tLWFzcGVjdC1yYXRpb1wiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEJvcmRlclJhZGl1c0NTU1ZhciB7XG4gICAgR2xvYmFsQ3VzdG9tID0gXCJlbnZpdmUtZ2xvYmFsLWN1c3RvbS1ib3JkZXItcmFkaXVzXCJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGVudW0gQ29sb3JzTmFtZXNWYXJzIHtcbiAgICBUZXh0UHJpbWFyeSA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LXByaW1hcnlcIixcbiAgICBUZXh0U2Vjb25kYXJ5ID0gXCJlbnZpdmUtY29sb3JzLXRleHQtc2Vjb25kYXJ5XCIsXG4gICAgVGV4dEFjY2VudCA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LWFjY2VudFwiLFxuICAgIFRleHRMaW5rID0gXCJlbnZpdmUtY29sb3JzLXRleHQtbGlua1wiLFxuICAgIFRleHRMaWdodCA9IFwiZW52aXZlLWNvbG9ycy10ZXh0LWxpZ2h0XCIsXG4gICAgQmFja2dyb3VuZFByaW1hcnkgPSBcImVudml2ZS1jb2xvcnMtYmFja2dyb3VuZC1wcmltYXJ5XCIsXG4gICAgQmFja2dyb3VuZFNlY29uZGFyeSA9IFwiZW52aXZlLWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeVwiLFxuICAgIEJhY2tncm91bmRUZXJ0aWFyeSA9IFwiZW52aXZlLWNvbG9ycy1iYWNrZ3JvdW5kLXRlcnRpYXJ5XCIsXG4gICAgQmFja2dyb3VuZERhcmsgPSBcImVudml2ZS1jb2xvcnMtYmFja2dyb3VuZC1kYXJrXCIsXG4gICAgQmFja2dyb3VuZExpZ2h0ID0gXCJlbnZpdmUtY29sb3JzLWJhY2tncm91bmQtbGlnaHRcIixcbiAgICBCb3JkZXJMaWdodCA9IFwiZW52aXZlLWNvbG9ycy1ib3JkZXItbGlnaHRcIixcbiAgICBCb3JkZXJNZWRpdW0gPSBcImVudml2ZS1jb2xvcnMtYm9yZGVyLW1lZGl1bVwiLFxuICAgIEJvcmRlckRhcmsgPSBcImVudml2ZS1jb2xvcnMtYm9yZGVyLWRhcmtcIixcbiAgICBBY2NlbnRQcmltYXJ5ID0gXCJlbnZpdmUtY29sb3JzLWFjY2VudC1wcmltYXJ5XCIsXG4gICAgQWNjZW50U2Vjb25kYXJ5ID0gXCJlbnZpdmUtY29sb3JzLWFjY2VudC1zZWNvbmRhcnlcIlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZW51bSBCdXR0b25Db2xvcnNWYXJzIHtcbiAgICBMaWdodEJ1dHRvbkJhY2tncm91bmRDb2xvciA9IFwiZW52aXZlLWNvbG9ycy1idXR0b24tbGlnaHQtYmFja2dyb3VuZC1jb2xvclwiLFxuICAgIExpZ2h0QnV0dG9uQm9yZGVyQ29sb3IgPSBcImVudml2ZS1jb2xvcnMtYnV0dG9uLWxpZ2h0LWJvcmRlci1jb2xvclwiLFxuICAgIExpZ2h0QnV0dG9uSWNvbkNvbG9yID0gXCJlbnZpdmUtY29sb3JzLWJ1dHRvbi1saWdodC1pY29uLWNvbG9yXCIsXG4gICAgRGFya0J1dHRvbkJhY2tncm91bmRDb2xvciA9IFwiZW52aXZlLWNvbG9ycy1idXR0b24tZGFyay1iYWNrZ3JvdW5kLWNvbG9yXCIsXG4gICAgRGFya0J1dHRvbkljb25Db2xvciA9IFwiZW52aXZlLWNvbG9ycy1idXR0b24tZGFyay1pY29uLWNvbG9yXCJcbn1cbnR5cGUgSW1hZ2VBc3BlY3RSYXRpbyA9ICcxLzEnIHwgJzMvNCc7XG50eXBlIEFkZFRvQ2FydENvbmZpZyA9IHtcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgY3RhVGV4dD86IHN0cmluZztcbiAgICBhZGRUb0NhcnRGdW5jdGlvbj86IHN0cmluZztcbn07XG50eXBlIEJ1dHRvbkNvbG9ycyA9IHtcbiAgICBsaWdodEJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGxpZ2h0QnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgbGlnaHRCdXR0b25JY29uQ29sb3I6IHN0cmluZztcbiAgICBkYXJrQnV0dG9uQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gICAgZGFya0J1dHRvbkljb25Db2xvcjogc3RyaW5nO1xufTtcbnR5cGUgVHlwb2dyYXBoeSA9IHtcbiAgICB0aXRsZUZvbnRGYW1pbHk6IHN0cmluZztcbiAgICBoZWFkZXJGb250RmFtaWx5OiBzdHJpbmc7XG4gICAgYm9keUZvbnRGYW1pbHk6IHN0cmluZztcbiAgICBmb250U2l6ZT86IHtcbiAgICAgICAgdDE6IHN0cmluZztcbiAgICAgICAgdDI6IHN0cmluZztcbiAgICAgICAgdDM6IHN0cmluZztcbiAgICAgICAgaDE6IHN0cmluZztcbiAgICAgICAgaDI6IHN0cmluZztcbiAgICAgICAgaDM6IHN0cmluZztcbiAgICAgICAgYjE6IHN0cmluZztcbiAgICAgICAgYjI6IHN0cmluZztcbiAgICAgICAgYjM6IHN0cmluZztcbiAgICAgICAgYjQ6IHN0cmluZztcbiAgICAgICAgYjU6IHN0cmluZztcbiAgICAgICAgbDE6IHN0cmluZztcbiAgICAgICAgbDI6IHN0cmluZztcbiAgICB9O1xuICAgIGZvbnRXZWlnaHQ/OiB7XG4gICAgICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgICAgIGhlYWRlcjogc3RyaW5nO1xuICAgICAgICBib2R5RW1waGFzaXM6IHN0cmluZztcbiAgICAgICAgYm9keVN0YW5kYXJkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBsZXR0ZXJTcGFjaW5nPzoge1xuICAgICAgICB0MTogc3RyaW5nO1xuICAgICAgICB0Mjogc3RyaW5nO1xuICAgICAgICB0Mzogc3RyaW5nO1xuICAgICAgICBoMTogc3RyaW5nO1xuICAgICAgICBoMjogc3RyaW5nO1xuICAgICAgICBoMzogc3RyaW5nO1xuICAgICAgICBiMTogc3RyaW5nO1xuICAgICAgICBiMjogc3RyaW5nO1xuICAgICAgICBiMzogc3RyaW5nO1xuICAgICAgICBiNDogc3RyaW5nO1xuICAgICAgICBiNTogc3RyaW5nO1xuICAgICAgICBsMTogc3RyaW5nO1xuICAgICAgICBsMjogc3RyaW5nO1xuICAgIH07XG4gICAgbGluZUhlaWdodD86IHtcbiAgICAgICAgdDE6IG51bWJlcjtcbiAgICAgICAgdDI6IG51bWJlcjtcbiAgICAgICAgdDM6IG51bWJlcjtcbiAgICAgICAgaDE6IG51bWJlcjtcbiAgICAgICAgaDI6IG51bWJlcjtcbiAgICAgICAgaDM6IG51bWJlcjtcbiAgICAgICAgYjE6IG51bWJlcjtcbiAgICAgICAgYjI6IG51bWJlcjtcbiAgICAgICAgYjM6IG51bWJlcjtcbiAgICAgICAgYjQ6IG51bWJlcjtcbiAgICAgICAgYjU6IG51bWJlcjtcbiAgICAgICAgbDE6IG51bWJlcjtcbiAgICAgICAgbDI6IG51bWJlcjtcbiAgICB9O1xufTtcbnR5cGUgTG9va0FuZEZlZWxDb25maWcgPSB7XG4gICAgdGhlbWU6IFRoZW1lO1xuICAgIGFnZW50TmFtZTogc3RyaW5nO1xuICAgIGNoYXRIZWFkZXJMb2dvRGFya1NyYzogc3RyaW5nO1xuICAgIGNoYXRIZWFkZXJMb2dvTGlnaHRTcmM6IHN0cmluZztcbiAgICB3aWRnZXRMb2dvU3JjOiBzdHJpbmc7XG4gICAgaGlkZVdpZGdldExvZ286IGJvb2xlYW47XG4gICAgdm9pY2VJbnB1dEVuYWJsZWQ/OiBib29sZWFuO1xuICAgIGVsZW1lbnRSYWRpdXM6IG51bWJlcjtcbiAgICBpbWFnZUFzcGVjdFJhdGlvOiBJbWFnZUFzcGVjdFJhdGlvO1xuICAgIGJ1dHRvbkNvbG9yczogQnV0dG9uQ29sb3JzO1xuICAgIHR5cG9ncmFwaHk6IFR5cG9ncmFwaHk7XG4gICAgYWRkVG9DYXJ0PzogQWRkVG9DYXJ0Q29uZmlnO1xufTtcbmV4cG9ydCBkZWNsYXJlIGVudW0gQ29uZmlnVmVyc2lvbkVudW0ge1xuICAgIFYzID0gXCJ2M1wiLFxuICAgIERlcHJlY2F0ZWQgPSBcImRlcHJlY2F0ZWRcIlxufVxudHlwZSBDb25maWdWZXJzaW9uID0gQ29uZmlnVmVyc2lvbkVudW0uVjMgfCBDb25maWdWZXJzaW9uRW51bS5EZXByZWNhdGVkIHwgdW5kZWZpbmVkO1xudHlwZSBNb2RlID0gJ2RhcmsnIHwgJ2xpZ2h0JztcbnR5cGUgU2hvd09wdGlvbnMgPSAnYWx3YXlzJyB8ICdwb3N0SW50ZXJhY3Rpb24nIHwgJ25vbmUnO1xudHlwZSBTdHlsZSA9ICdhdHRhY2hlZCcgfCAnZGV0YWNoZWQnO1xudHlwZSBGbG9hdGluZ0J1dHRvbkNvbmZpZyA9IHtcbiAgICBwb3NpdGlvbjogRmxvYXRpbmdCdXR0b25Mb2NhdGlvbjtcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgbW9kZTogTW9kZTtcbiAgICBzaG93T3B0aW9uOiBTaG93T3B0aW9ucztcbiAgICBpY29uU1ZHU3JjPzogc3RyaW5nO1xuICAgIHN0eWxlOiBTdHlsZTtcbn07XG5leHBvcnQgdHlwZSBSZWZlcnJlclBvcHVwVHJpZ2dlciA9IHtcbiAgICB0eXBlOiAncmVmZXJyZXInO1xuICAgIHJlZmVycmVyczogc3RyaW5nW107XG59O1xuZXhwb3J0IHR5cGUgQXV0b21hdGljUG9wdXBUcmlnZ2VyID0ge1xuICAgIHR5cGU6ICdhdXRvbWF0aWMnO1xufTtcbmV4cG9ydCB0eXBlIFBvcHVwVHJpZ2dlciA9IFJlZmVycmVyUG9wdXBUcmlnZ2VyIHwgQXV0b21hdGljUG9wdXBUcmlnZ2VyO1xuZXhwb3J0IHR5cGUgQXV0b1BvcHVwVHJpZ2dlciA9IHtcbiAgICBkZWxheTogbnVtYmVyO1xuICAgIHRyaWdnZXI6IFBvcHVwVHJpZ2dlcjtcbn07XG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Qb3B1cENvbmZpZyB7XG4gICAgdHJpZ2dlcnM6IEF1dG9Qb3B1cFRyaWdnZXJbXTtcbn1cbnR5cGUgRmxvYXRpbmdDaGF0Q29uZmlnID0ge1xuICAgIGhlYWRlckJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBoZWFkZXJNb2RlOiBNb2RlO1xuICAgIHdlbGNvbWVNZXNzYWdlSWNvbkNvbG9yOiBTcGFya2xlSWNvbkNvbG9yO1xuICAgIHNob3dWZXJpZmllZEJ1eWVyOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBzaG93RW52aXZlTG9nbzogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgd2VsY29tZU1lc3NhZ2VUaXRsZTogc3RyaW5nO1xuICAgIHdlbGNvbWVNZXNzYWdlVGV4dDogc3RyaW5nO1xuICAgIGNoYXRGb290ZXJUZXh0RmllbGRQbGFjZWhvbGRlclRleHQ6IHN0cmluZztcbiAgICBhdXRvUG9wdXBDb25maWc/OiBBdXRvUG9wdXBDb25maWc7XG59O1xudHlwZSBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICAgIHN1cHByZXNzTWVyY2hhbnRCdXR0b24/OiBib29sZWFuO1xufTtcbnR5cGUgU1BBU2V0dGluZ3MgPSB7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7XG59O1xudHlwZSBPcmdVSUNvbmZpZ1YzID0ge1xuICAgIGlkPzogc3RyaW5nO1xuICAgIHZlcnNpb246IENvbmZpZ1ZlcnNpb247XG4gICAgc2hvcnROYW1lOiBzdHJpbmc7XG4gICAgbG9va0FuZEZlZWw6IExvb2tBbmRGZWVsQ29uZmlnO1xuICAgIGZsb2F0aW5nQnV0dG9uOiBGbG9hdGluZ0J1dHRvbkNvbmZpZztcbiAgICBmbG9hdGluZ0NoYXQ6IEZsb2F0aW5nQ2hhdENvbmZpZztcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuICAgIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uPzogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG4gICAgc2luZ2xlUGFnZUFwcGxpY2F0aW9uU2V0dGluZ3M/OiBTUEFTZXR0aW5ncztcbiAgICBzZWFyY2hDb25maWc/OiBTZWFyY2hDb25maWc7XG59O1xuZXhwb3J0IGRlY2xhcmUgZW51bSBXaWRnZXRUeXBlVjMge1xuICAgIFByb21wdENhcm91c2VsVjMgPSBcIlByb21wdENhcm91c2VsVjNcIixcbiAgICBUaXRsZWRQcm9tcHRDYXJvdXNlbFYzID0gXCJUaXRsZWRQcm9tcHRDYXJvdXNlbFYzXCIsXG4gICAgU29jaWFsUHJvb2ZWMyA9IFwiU29jaWFsUHJvb2ZWM1wiLFxuICAgIFR5cGluZ0FuaW1hdGlvblYzID0gXCJUeXBpbmdBbmltYXRpb25WM1wiLFxuICAgIENoYXRQcmV2aWV3VjMgPSBcIkNoYXRQcmV2aWV3VjNcIixcbiAgICBDaGF0UHJldmlld0NvbXBhcmlzb25WMyA9IFwiQ2hhdFByZXZpZXdDb21wYXJpc29uVjNcIixcbiAgICBDaGF0UHJldmlld0xvYWRpbmdWMyA9IFwiQ2hhdFByZXZpZXdMb2FkaW5nVjNcIixcbiAgICBJbWFnZVByb21wdENhcmRWMyA9IFwiSW1hZ2VQcm9tcHRDYXJkVjNcIixcbiAgICBQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVYzID0gXCJQcm9tcHRCdXR0b25DYXJvdXNlbFdpdGhJbWFnZVYzXCIsXG4gICAgSW1hZ2VCYW5uZXJWMyA9IFwiSW1hZ2VCYW5uZXJWM1wiLFxuICAgIFNpbmdsZUltYWdlUHJvbXB0VjMgPSBcIlNpbmdsZUltYWdlUHJvbXB0VjNcIixcbiAgICBGbG9hdGluZ0NoYXRWMyA9IFwiRmxvYXRpbmdDaGF0VjNcIixcbiAgICBGbG9hdGluZ0J1dHRvblYzID0gXCJGbG9hdGluZ0J1dHRvblYzXCIsXG4gICAgUHJvZHVjdENhcmRWMyA9IFwiUHJvZHVjdENhcmRWM1wiLFxuICAgIEZ1bGxQYWdlU2FsZXNBZ2VudFYzID0gXCJGdWxsUGFnZVNhbGVzQWdlbnRWM1wiXG59XG5pbnRlcmZhY2UgQmFzZVdpZGdldENvbmZpZzxUIGV4dGVuZHMgV2lkZ2V0VHlwZVYzPiB7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgICB0eXBlOiBUO1xuICAgIGNvbnRlbnRJZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuUHJvbXB0Q2Fyb3VzZWxWMz4ge1xuICAgIHByb21wdEJ1dHRvblR5cGU/OiBQcm9tcHRCdXR0b25WYXJpYW50O1xuICAgIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gICAgcHJvbXB0Q2Fyb3VzZWxSb3dzPzogUHJvbXB0Q2Fyb3VzZWxSb3dzO1xuICAgIGFuaW1hdGlvblNwZWVkPzogQW5pbWF0aW9uU3BlZWQ7XG59XG5pbnRlcmZhY2UgVGl0bGVkUHJvbXB0Q2Fyb3VzZWxXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlRpdGxlZFByb21wdENhcm91c2VsVjM+IHtcbiAgICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICAgIHByb21wdENhcm91c2VsUm93cz86IFByb21wdENhcm91c2VsUm93cztcbiAgICBhbmltYXRpb25TcGVlZD86IEFuaW1hdGlvblNwZWVkO1xufVxuaW50ZXJmYWNlIFNvY2lhbFByb29mV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5Tb2NpYWxQcm9vZlYzPiB7XG4gICAga2luZDogV2lkZ2V0S2luZDtcbiAgICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBoZXhDYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgcHJvbXB0Q2Fyb3VzZWxSb3dzOiBQcm9tcHRDYXJvdXNlbFJvd3M7XG4gICAgaGlkZUltYWdlPzogYm9vbGVhbjtcbiAgICBpbWFnZUdhbGxlcnlMYXlvdXQ6IEV4Y2x1ZGU8SW1hZ2VHYWxsZXJ5TGF5b3V0LCAnVFdPX1NJREUnPjtcbiAgICBoaWRlVGV4dEZpZWxkPzogYm9vbGVhbjtcbiAgICBwcmltYXJ5QnV0dG9uVmFyaWFudDogRXhjbHVkZTxQcm9tcHRCdXR0b25WYXJpYW50LCAnc3VnZ2VzdGVkUmVzcG9uc2UnIHwgJ2dob3N0Jz47XG4gICAgc2Vjb25kYXJ5QnV0dG9uVmFyaWFudDogRXhjbHVkZTxQcm9tcHRCdXR0b25WYXJpYW50LCAnc3VnZ2VzdGVkUmVzcG9uc2UnIHwgJ2dob3N0Jz47XG4gICAgZHluYW1pY0xheW91dD86IER5bmFtaWNMYXlvdXQ7XG4gICAgaW1hZ2VzPzogSW1hZ2VHYWxsZXJ5SW1hZ2VbXTtcbn1cbmludGVyZmFjZSBUeXBpbmdBbmltYXRpb25XaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlR5cGluZ0FuaW1hdGlvblYzPiB7XG4gICAgd2lkZ2V0VmFyaWFudD86IFdpZGdldFdyYXBwZXJWYXJpYW50O1xuICAgIGNhcmRDb2xvcj86IHN0cmluZztcbiAgICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBwcm9tcHRDYXJvdXNlbFJvd3M/OiBQcm9tcHRDYXJvdXNlbFJvd3M7XG4gICAgc2hvd1RleHRGaWVsZD86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdDb21wYXJpc29uV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5DaGF0UHJldmlld0NvbXBhcmlzb25WMz4ge1xuICAgIHZhcmlhbnQ6IFdpZGdldFdyYXBwZXJWYXJpYW50O1xuICAgIGhleENhcmRDb2xvcj86IHN0cmluZztcbiAgICBoaWRlSW1hZ2U/OiBib29sZWFuO1xuICAgIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3TG9hZGluZ1dpZGdldFYzQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlVjMuQ2hhdFByZXZpZXdMb2FkaW5nVjM+IHtcbiAgICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBoZXhDYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkNoYXRQcmV2aWV3VjM+IHtcbiAgICB2YXJpYW50OiBXaWRnZXRXcmFwcGVyVmFyaWFudDtcbiAgICBoZXhDYXJkQ29sb3I/OiBzdHJpbmc7XG4gICAgaGlkZVRleHRGaWVsZD86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLlByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlVjM+IHtcbiAgICBwcm9tcHRCdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBpbWFnZT86IEltYWdlR2FsbGVyeUltYWdlO1xuICAgIGhpZGVUZXh0RmllbGQ/OiBib29sZWFuO1xuICAgIGlzRHluYW1pYz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0V2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5GbG9hdGluZ0NoYXRWMz4ge1xufVxuaW50ZXJmYWNlIFByb2R1Y3RDYXJkV2lkZ2V0VjNDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGVWMy5Qcm9kdWN0Q2FyZFYzPiB7XG4gICAgcHJvbXB0QnV0dG9uVHlwZT86IFByb21wdEJ1dHRvblZhcmlhbnQ7XG4gICAgaXRhbGljaXplSGVhZGxpbmU/OiBib29sZWFuO1xuICAgIGZhbGxiYWNrQ29sb3I/OiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gICAgbW9kZT86IE1vZGU7XG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIFByb2R1Y3RDYXJvdXNlbExheW91dFYzIHtcbiAgICBIT1JJWk9OVEFMID0gXCJob3Jpem9udGFsXCIsXG4gICAgR1JJRCA9IFwiZ3JpZFwiLFxuICAgIC8qKiBHcmlkIG9uIG1vYmlsZSwgaG9yaXpvbnRhbCBjYXJvdXNlbCBvbiBkZXNrdG9wLiAqL1xuICAgIEdSSURfTU9CSUxFX0hPUklaT05UQUxfREVTS1RPUCA9IFwiZ3JpZC1tb2JpbGUtaG9yaXpvbnRhbC1kZXNrdG9wXCJcbn1cbmludGVyZmFjZSBGdWxsUGFnZVNhbGVzQWdlbnRXaWRnZXRWM0NvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZVYzLkZ1bGxQYWdlU2FsZXNBZ2VudFYzPiB7XG4gICAgaGVhZGVyQ29udGFpbmVyPzogc3RyaW5nO1xuICAgIGF1dG9IZWlnaHQ/OiBib29sZWFuO1xuICAgIHNwYXJrbGVDb2xvcj86IHN0cmluZztcbiAgICB1c2VCYWNrZ3JvdW5kSW1hZ2U/OiBib29sZWFuO1xuICAgIG1vYmlsZUJhY2tncm91bmRJbWFnZT86IHN0cmluZztcbiAgICBkZXNrdG9wQmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBjaGF0QmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25UeXBlPzogUHJvbXB0QnV0dG9uVmFyaWFudDtcbiAgICBwcm9kdWN0Q2Fyb3VzZWxMYXlvdXQ/OiBQcm9kdWN0Q2Fyb3VzZWxMYXlvdXRWMztcbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUgKG9yIHVuc2V0KSwgYXNraW5nIGEgcXVlc3Rpb24gb3BlbnMgdGhlIGNvbnZlcnNhdGlvbiBpbiBhXG4gICAgICogcGFydGlhbC1oZWlnaHQgc2hlZXQgdGhhdCBrZWVwcyB0aGUgd2VsY29tZSBvdmVybGF5J3MgcHJvZHVjdCBncmlkXG4gICAgICogdmlzaWJsZSBhYm92ZSBpdC4gU2V0IHRvIGZhbHNlIHRvIGZhbGwgYmFjayB0byB0aGUgZnVsbC1zY3JlZW4gdGFrZW92ZXIuXG4gICAgICogRGVmYXVsdCB0cnVlICh1bmRlZmluZWQgYW5kIHRydWUgPSBwYXJ0aWFsIHZpZXcgZW5hYmxlZCkuXG4gICAgICovXG4gICAgcGFydGlhbFZpZXdFbmFibGVkPzogYm9vbGVhbjtcbn1cbnR5cGUgV2lkZ2V0Q29uZmlnVjMgPSBQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnIHwgU29jaWFsUHJvb2ZXaWRnZXRWM0NvbmZpZyB8IFRpdGxlZFByb21wdENhcm91c2VsV2lkZ2V0VjNDb25maWcgfCBDaGF0UHJldmlld0NvbXBhcmlzb25XaWRnZXRWM0NvbmZpZyB8IENoYXRQcmV2aWV3TG9hZGluZ1dpZGdldFYzQ29uZmlnIHwgVHlwaW5nQW5pbWF0aW9uV2lkZ2V0VjNDb25maWcgfCBDaGF0UHJldmlld1dpZGdldFYzQ29uZmlnIHwgUHJvbXB0QnV0dG9uQ2Fyb3VzZWxXaXRoSW1hZ2VXaWRnZXRWM0NvbmZpZyB8IEZsb2F0aW5nQ2hhdFdpZGdldFYzQ29uZmlnIHwgUHJvZHVjdENhcmRXaWRnZXRWM0NvbmZpZyB8IEZ1bGxQYWdlU2FsZXNBZ2VudFdpZGdldFYzQ29uZmlnO1xuZXhwb3J0IHR5cGUgeyBBZGRUb0NhcnRDb25maWcsIENoYXRQcmV2aWV3Q29tcGFyaXNvbldpZGdldFYzQ29uZmlnLCBDaGF0UHJldmlld0xvYWRpbmdXaWRnZXRWM0NvbmZpZywgQ2hhdFByZXZpZXdXaWRnZXRWM0NvbmZpZywgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIEZsb2F0aW5nQnV0dG9uQ29uZmlnLCBGbG9hdGluZ0NoYXRDb25maWcsIEZsb2F0aW5nQ2hhdFdpZGdldFYzQ29uZmlnLCBGdWxsUGFnZVNhbGVzQWdlbnRXaWRnZXRWM0NvbmZpZywgTG9va0FuZEZlZWxDb25maWcsIE9yZ1VJQ29uZmlnVjMsIFByb2R1Y3RDYXJkV2lkZ2V0VjNDb25maWcsIFByb21wdEJ1dHRvbkNhcm91c2VsV2l0aEltYWdlV2lkZ2V0VjNDb25maWcsIFByb21wdENhcm91c2VsV2lkZ2V0VjNDb25maWcsIFNvY2lhbFByb29mV2lkZ2V0VjNDb25maWcsIFNQQVNldHRpbmdzLCBUaXRsZWRQcm9tcHRDYXJvdXNlbFdpZGdldFYzQ29uZmlnLCBUeXBpbmdBbmltYXRpb25XaWRnZXRWM0NvbmZpZywgV2lkZ2V0Q29uZmlnVjMsIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQVVBLElBQVcsc0JBQXNCLENBQUMsSUFBSTtBQUN0QyxJQUFXLG1CQUFtQixDQUFDLElBQUk7QUFDbkMsSUFBVyxtQkFBbUIsQ0FBQyxJQUFJO0FBQ25DLElBQVcsaUJBQWlCLENBQUMsSUFBSTtBQUNqQyxJQUFXLG1CQUFtQixDQUFDLElBQUk7QUFDbkMsSUFBVyxjQUFjLENBQUMsSUFBSTtBQUM5QixJQUFXLG9CQUFvQixDQUFDLElBQUk7QUFDcEMsSUFBVyxxQkFBcUIsQ0FBQyxJQUFJO0FBQ3JDLElBQVcsa0JBQWtCLENBQUMsSUFBSTtBQUNsQyxJQUFXLG1CQUFtQixDQUFDLElBQUk7QUFDbkMsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJO0FBQzVCLElBQUksa0JBQWtCLENBQUMsSUFBSTtBQUMzQixJQUFJLGVBQWUsQ0FBQyxJQUFJO0FBQ3hCLElBQUksYUFBYSxDQUFDLElBQUk7QUFDdEIsSUFBQSxvQkFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0EsSUFBVyxvQkFBb0IsQ0FBQyxJQUFJO0FBQ3BDLElBQUksZ0JBQWdCO0NBQUM7T0FBVyxrQkFBVztPQUFBLGtCQUFBO0NBQUE7QUFDM0MsSUFBSSxPQUFPLENBQUMsSUFBSTtBQUNoQixJQUFJLGNBQWMsQ0FBQyxJQUFJO0FBQ3ZCLElBQUksUUFBUSxDQUFDLElBQUk7QUFDakIsSUFBSSx1QkFBdUI7Q0FBQztPQUFXO09BQUk7T0FBQTtPQUFBO0NBQUE7QUFDM0MsSUFBVyx1QkFBdUIsQ0FBQyxJQUFJO0FBQ3ZDLElBQVcsd0JBQXdCLENBQUMsSUFBSTtBQUN4QyxJQUFXLGVBQWU7Q0FBQztPQUFXO09BQUs7Q0FBQTtBQUMzQyxJQUFXLG1CQUFtQixDQUFDLFdBQVcsYUFBQztBQUMzQyxJQUFXLGtCQUFrQixDQUFDLFdBQVcsaUJBQUU7QUFDM0MsSUFBSSxxQkFBcUI7Q0FBQztPQUFXO09BQU07T0FBQTtDQUFBO0FBQzNDLElBQUksNkJBQTZCLENBQUMsV0FBUyxvQkFBQTtBQUMzQyxJQUFJLGNBQWMsQ0FBQyxJQUFJO0FBQ3ZCLElBQUEsZ0JBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDQSxJQUFXLGVBQWUsQ0FBQyxJQUFJO0FBQy9CLElBQUksbUJBQW1CO0NBQUM7T0FBVztPQUFjO0NBQUE7QUFDakQsSUFBSSwrQkFBK0I7Q0FBQztPQUFXLGFBQUk7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25ELElBQUkscUNBQXFDO0NBQUM7T0FBVyxhQUFXO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNoRSxJQUFJLDRCQUE0QjtDQUFDO09BQVcsYUFBYTtPQUFNO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQy9ELElBQUEsZ0NBQUE7Q0FBQTtPQUFBLGFBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0EsSUFBSSxzQ0FBK0I7Q0FBQTtPQUFBLGFBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkMsSUFBSSxtQ0FBbUM7Q0FBQztPQUFDLGFBQUE7T0FBQTtPQUFBO0NBQUE7QUFDekMsSUFBSSw0QkFBNEI7Q0FBQztPQUFRLGFBQUE7T0FBQTtPQUFBO0NBQUE7QUFDekMsSUFBSSw4Q0FBcUM7Q0FBQTtPQUFBLGFBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFJLDZCQUE2QjtDQUFDO09BQU8sYUFBQTtPQUFBO0NBQUE7QUFDekMsSUFBSSw0QkFBNEI7Q0FBQztPQUFRLGFBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFXLDBCQUEwQixDQUFDLElBQUc7QUFDekMsSUFBSSxtQ0FBbUM7Q0FBQztPQUFDLGFBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QyxJQUFJLGlCQUFpQjtDQUFDO09BQVc7T0FBUTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsU0FBUyxlQUFlO0FBQ2hFLElBQVcsdUJBQXVCLENBQUMsU0FBUyxVQUFVO0FBQ3RELElBQVcsdUJBQXVCO0NBQUM7T0FBUztPQUFrQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxFQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsRUFBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVM7T0FBb0I7Q0FBbUIifQ==
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsVUFBVSxlQUFlO0FBQ2pFLElBQVcsdUJBQXVCLENBQUMsVUFBVSxVQUFVO0FBQ3ZELElBQVcsdUJBQXVCO0NBQUM7T0FBVTtPQUFpQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxHQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsR0FBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVU7T0FBb0I7Q0FBbUIifQ==
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxVQUFVLGVBQWU7QUFDakUsSUFBVyx1QkFBdUIsQ0FBQyxVQUFVLFVBQVU7QUFDdkQsSUFBVyx1QkFBdUI7Q0FBQztPQUFVO09BQWlCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLEdBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxHQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBVTtPQUFvQjtDQUFtQiJ9
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxXQUFXLGVBQWU7QUFDbEUsSUFBVyx1QkFBdUIsQ0FBQyxXQUFXLFVBQVU7QUFDeEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFXO09BQWdCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLElBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxJQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBVztPQUFvQjtDQUFtQiJ9
@@ -1,17 +1,31 @@
1
+ const require_logger = require('../../application/logging/logger.cjs');
1
2
  const require_featureGates = require('../../application/models/featureGates.cjs');
3
+ const require_atomStore = require('../../atoms/atomStore/atomStore.cjs');
4
+ const require_atoms_app_index = require('../../atoms/app/index.cjs');
5
+ const require_services_featureFlagService_index = require('../featureFlagService/index.cjs');
2
6
  const require_config_versions = require('../../types/config-versions.cjs');
3
7
  const require_fetchGraphQLConfig = require('./fetchGraphQLConfig.cjs');
8
+ const require_fetchBootstrapConfig = require('./fetchBootstrapConfig.cjs');
4
9
 
5
10
  //#region src/services/enviveConfigService/enviveConfigService.ts
11
+ const logger = new require_logger.default("enviveConfigService");
6
12
  const CONFIG_CACHE_TTL_MS = 300 * 1e3;
7
13
  var EnviveConfigService = class {
8
- constructor({ baseUrl, apiKey, userId, namespace, source }) {
14
+ constructor({ baseUrl, apiKey, userId, namespace, source, env, contextSource }) {
9
15
  this.response = null;
16
+ this.bootstrapUrlResolving = null;
10
17
  this.baseUrl = baseUrl;
11
18
  this.apiKey = apiKey;
12
19
  this.userId = userId;
13
20
  this.namespace = namespace;
14
21
  this.source = source;
22
+ this.env = env;
23
+ this.contextSource = contextSource;
24
+ }
25
+ takeBootstrapUrlResolving() {
26
+ const value = this.bootstrapUrlResolving;
27
+ this.bootstrapUrlResolving = null;
28
+ return value;
15
29
  }
16
30
  getCacheKey() {
17
31
  return `envive-config-cache:${this.baseUrl}:${this.apiKey}:${this.userId}:${this.namespace}:${this.source}`;
@@ -46,10 +60,42 @@ var EnviveConfigService = class {
46
60
  return this.response;
47
61
  }
48
62
  const gateNames = Object.values(require_featureGates.FeatureGates).map((featureGate) => featureGate.toString());
49
- this.response = await require_fetchGraphQLConfig.fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
63
+ const widgetConfig = await require_fetchGraphQLConfig.fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
64
+ this.response = await this.maybeUpgradeToBootstrap(widgetConfig, gateNames);
50
65
  this.writeCachedConfig(this.response);
51
66
  return this.response;
52
67
  }
68
+ async maybeUpgradeToBootstrap(widgetConfig, gateNames) {
69
+ if (this.env === void 0 || this.contextSource === void 0) return widgetConfig;
70
+ const featureFlagService = new require_services_featureFlagService_index.FeatureFlagService(widgetConfig.gates);
71
+ if (!featureFlagService.isFeatureGateEnabled(require_featureGates.FeatureGates.UseUnifiedConfig)) return widgetConfig;
72
+ const cleansedUrl = window.location.href.toLowerCase().trim();
73
+ try {
74
+ const { config, urlResolving } = await require_fetchBootstrapConfig.fetchBootstrapConfig({
75
+ baseUrl: this.baseUrl,
76
+ apiKey: this.apiKey,
77
+ userId: this.userId,
78
+ source: this.source,
79
+ namespace: this.namespace,
80
+ gateNames,
81
+ url: cleansedUrl,
82
+ orgId: widgetConfig.org.org.id,
83
+ orgShortName: widgetConfig.org.org.short_name,
84
+ contextSource: this.contextSource,
85
+ env: this.env,
86
+ featureGates: featureFlagService.getFeatureFlags(),
87
+ chatId: require_atomStore.getAtomStore().get(require_atoms_app_index.chatIdAtom)
88
+ });
89
+ this.bootstrapUrlResolving = urlResolving ? {
90
+ url: cleansedUrl,
91
+ response: urlResolving
92
+ } : null;
93
+ return config;
94
+ } catch (err) {
95
+ logger.logError("getEnviveConfig | bootstrap upgrade failed, using getWidgetConfig", err);
96
+ return widgetConfig;
97
+ }
98
+ }
53
99
  };
54
100
  /**
55
101
  * Returns static mock data from its constructor arguments. Passes empty baseUrl/apiKey
@@ -70,4 +116,4 @@ var MockEnviveConfigService = class {
70
116
  //#endregion
71
117
  exports.EnviveConfigService = EnviveConfigService;
72
118
  exports.MockEnviveConfigService = MockEnviveConfigService;
73
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5janMiLCJuYW1lcyI6WyJjb25maWdWZXJzaW9uT3ZlcnJpZGUiLCJlbnRyeTogQ2FjaGVkQ29uZmlnRW50cnkiLCJGZWF0dXJlR2F0ZXMiLCJmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIiwibW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xuaW1wb3J0IHsgY29uZmlnVmVyc2lvbk92ZXJyaWRlIH0gZnJvbSAnc3JjL3R5cGVzL2NvbmZpZy12ZXJzaW9ucyc7XG5pbXBvcnQgeyBmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIH0gZnJvbSAnLi9mZXRjaEdyYXBoUUxDb25maWcnO1xuXG4vLyBTaG9ydC1saXZlZCBzbyBjb25maWcgY2hhbmdlcyAoZ2F0ZXMsIGV4cGVyaW1lbnRzKSBzdGlsbCBwcm9wYWdhdGUgd2l0aGluXG4vLyBhIHNlc3Npb24sIHdoaWxlIHNwYXJpbmcgZXZlcnkgcGFnZSBuYXZpZ2F0aW9uIGZyb20gcmUtZmV0Y2hpbmcgb3JnXG4vLyBjb25maWcgKyBHcmFwaFFMIGNvbmZpZywgYm90aCBvZiB3aGljaCBzaXQgb24gdGhlIGNyaXRpY2FsIHBhdGggYmVmb3JlXG4vLyBmaXJzdCBwYWludC5cbmNvbnN0IENPTkZJR19DQUNIRV9UVExfTVMgPSA1ICogNjAgKiAxMDAwO1xuXG50eXBlIENhY2hlZENvbmZpZ0VudHJ5ID0ge1xuICB2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZztcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG59O1xuXG50eXBlIEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcyA9IHtcbiAgYmFzZVVybDogc3RyaW5nO1xuICBhcGlLZXk6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEVudml2ZVNlcnZpY2VDb25maWcgPSB7XG4gIG9yZzoge1xuICAgIG9yZzoge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIHNob3J0X25hbWU6IHN0cmluZztcbiAgICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICAgICAgZG9tYWluOiBzdHJpbmc7XG4gICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBnYXRlczogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgLy8gUG9wdWxhdGVkIGJ5IHRoZSBiYWNrZW5kIHdoZW4gdGhlIGB1c2VfdW5pZmllZF9jb25maWdgIFN0YXRzaWcgZ2F0ZVxuICAvLyBldmFsdWF0ZXMgdHJ1ZS4gYW1wbGl0dWRlU2VydmljZSByZWFkcyB0aGVzZSB0byBlbnJpY2ggZXZlbnRzIHdpdGhcbiAgLy8gYGV4cGVyaW1lbnQue25zfS4qYCBwcm9wZXJ0aWVzLlxuICBleHBlcmltZW50X2Fzc2lnbm1lbnRzPzogT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnRbXTtcbiAgLy8gb3JnQ29uZmlnLnJlc29sdXRpb24gaXMgcG9wdWxhdGVkIG9ubHkgb24gdGhlIHVuaWZpZWQgcGF0aCAoc291cmNlZCBmcm9tXG4gIC8vIGdldFdpZGdldENvbmZpZy5yZXNvbHV0aW9uLCBub3QgL3YxL29yZy9jb25maWcucmVzb2x1dGlvbikgc28gdGhlIHZlcnNpb25cbiAgLy8gdGhyZWFkZWQgaW50byBpbmZlcmVuY2UgcmVxdWVzdHMgbWF0Y2hlcyB0aGUgdmVyc2lvbiB0aGF0IHByb2R1Y2VkIHRoZVxuICAvLyByZW5kZXJlZCB3aWRnZXRzLlxuICBvcmdDb25maWc/OiBHcmFwaFFsQ29uZmlnVmFsdWVzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xufVxuXG5leHBvcnQgY2xhc3MgRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1c2VySWQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZXNwb25zZTogRW52aXZlU2VydmljZUNvbmZpZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHsgYmFzZVVybCwgYXBpS2V5LCB1c2VySWQsIG5hbWVzcGFjZSwgc291cmNlIH06IEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcykge1xuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gICAgdGhpcy5hcGlLZXkgPSBhcGlLZXk7XG4gICAgdGhpcy51c2VySWQgPSB1c2VySWQ7XG4gICAgdGhpcy5uYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG4gICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gIH1cblxuICBwcml2YXRlIGdldENhY2hlS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBlbnZpdmUtY29uZmlnLWNhY2hlOiR7dGhpcy5iYXNlVXJsfToke3RoaXMuYXBpS2V5fToke3RoaXMudXNlcklkfToke3RoaXMubmFtZXNwYWNlfToke3RoaXMuc291cmNlfWA7XG4gIH1cblxuICAvLyBgZW52aXZlX2NvbmZpZ192ZXJzaW9uYCAvIGBzcGlmZnlfY29uZmlnX3ZlcnNpb25gIHBpbiBhIHNwZWNpZmljIGNvbmZpZ1xuICAvLyB2ZXJzaW9uIGZvciBkZWJ1Z2dpbmcvcm9sbGJhY2suIEFueSB1c2Ugb2YgdGhhdCBvdmVycmlkZSBtdXN0IGFsd2F5c1xuICAvLyBieXBhc3MgdGhlIGNhY2hlIGJlbG93IOKAlCBib3RoIHJlYWRpbmcgYSBzdGFsZSBlbnRyeSBhbmQgd3JpdGluZyBvbmVcbiAgLy8gdW5kZXIgdGhlIHNoYXJlZCBrZXkgd291bGQgZGVmZWF0IHRoZSBvdmVycmlkZSdzIHB1cnBvc2UuXG4gIHByaXZhdGUgcmVhZENhY2hlZENvbmZpZygpOiBFbnZpdmVTZXJ2aWNlQ29uZmlnIHwgbnVsbCB7XG4gICAgaWYgKGNvbmZpZ1ZlcnNpb25PdmVycmlkZSgpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJhdyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy5nZXRDYWNoZUtleSgpKTtcbiAgICAgIGlmICghcmF3KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgZW50cnkgPSBKU09OLnBhcnNlKHJhdykgYXMgQ2FjaGVkQ29uZmlnRW50cnk7XG4gICAgICBpZiAoRGF0ZS5ub3coKSA+PSBlbnRyeS5leHBpcmVzQXQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gZW50cnkudmFsdWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHdyaXRlQ2FjaGVkQ29uZmlnKHZhbHVlOiBFbnZpdmVTZXJ2aWNlQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZ1ZlcnNpb25PdmVycmlkZSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbnRyeTogQ2FjaGVkQ29uZmlnRW50cnkgPSB7IHZhbHVlLCBleHBpcmVzQXQ6IERhdGUubm93KCkgKyBDT05GSUdfQ0FDSEVfVFRMX01TIH07XG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuZ2V0Q2FjaGVLZXkoKSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIFN0b3JhZ2UgZGlzYWJsZWQsIGZ1bGwsIG9yIHVuYXZhaWxhYmxlIChwcml2YXRlIGJyb3dzaW5nLCBldGMuKSAtXG4gICAgICAvLyBmYWlsIG9wZW4gYW5kIGxldCB0aGUgbmV4dCBjYWxsIHJlLWZldGNoIGluc3RlYWQgb2YgY2FjaGluZy5cbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPiB7XG4gICAgaWYgKHRoaXMucmVzcG9uc2UgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICAgIH1cblxuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMucmVhZENhY2hlZENvbmZpZygpO1xuICAgIGlmIChjYWNoZWQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMucmVzcG9uc2UgPSBjYWNoZWQ7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgICB9XG5cbiAgICAvLyBnZXRXaWRnZXRDb25maWcgaXMgdGhlIHNpbmdsZSBzb3VyY2Ugb2Ygc2Vzc2lvbiBjb25maWc6IGl0IHJldHVybnMgb3JnXG4gICAgLy8gaWRlbnRpdHkgKyBmZWF0dXJlIGdhdGVzICsgZXhwZXJpbWVudCBhc3NpZ25tZW50cyAod2hpY2ggdXNlZCB0byBiZSBhXG4gICAgLy8gc2VwYXJhdGUgR0VUIC92MS9vcmcvY29uZmlnIGNhbGwpIGFsb25nc2lkZSBwcm9kdWN0c0NvbmZpZyArIHRoZVxuICAgIC8vIHJlc29sdXRpb24gbWV0YWRhdGEgdGhyZWFkZWQgaW50byBkb3duc3RyZWFtIGluZmVyZW5jZS4gYGdhdGVOYW1lc2AgaXMgdGhlXG4gICAgLy8gbGlzdCBvZiBnYXRlcyB0aGUgYXBwIGNoZWNrcywgc28gdGhlIHJlc29sdmVyIGV2YWx1YXRlcyBhbmQgcmV0dXJucyB0aGVtLlxuICAgIGNvbnN0IGdhdGVOYW1lcyA9IE9iamVjdC52YWx1ZXMoRmVhdHVyZUdhdGVzKS5tYXAoZmVhdHVyZUdhdGUgPT4gZmVhdHVyZUdhdGUudG9TdHJpbmcoKSk7XG5cbiAgICB0aGlzLnJlc3BvbnNlID0gYXdhaXQgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyhcbiAgICAgIHRoaXMuYmFzZVVybCxcbiAgICAgIHRoaXMuYXBpS2V5LFxuICAgICAgdGhpcy51c2VySWQsXG4gICAgICBnYXRlTmFtZXMsXG4gICAgICB0aGlzLnNvdXJjZSxcbiAgICApO1xuICAgIHRoaXMud3JpdGVDYWNoZWRDb25maWcodGhpcy5yZXNwb25zZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHN0YXRpYyBtb2NrIGRhdGEgZnJvbSBpdHMgY29uc3RydWN0b3IgYXJndW1lbnRzLiBQYXNzZXMgZW1wdHkgYmFzZVVybC9hcGlLZXlcbiAqIHNvIGFueSBjb2RlIGNoZWNraW5nIGlzUmVhZHkgZG9lcyBub3QgZmlyZSByZWFsIG5ldHdvcmsgcmVxdWVzdHMuIFRoZSBvcmdDb25maWcgZmllbGRcbiAqIGNvdmVycyBjb2xvcnMsIGZyb250ZW5kQ29uZmlnLCBhbmQgcGFnZS93aWRnZXQvbW91bnRpbmcgY29uZmlncyB3aXRob3V0IGFueSBuZXR3b3JrIGNhbGxzLlxuICovXG5leHBvcnQgY2xhc3MgTW9ja0Vudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWcpIHt9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLm1vY2tDb25maWc7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFVQSxNQUFNLHNCQUFzQixNQUFTO0FBNkNyQyxJQUFhLHNCQUFiLE1BQWlFO0NBYS9ELFlBQVksRUFBRSxTQUFTLFFBQVEsUUFBUSxXQUFXLFVBQW9DO2tCQUZ2QztBQUc3QyxPQUFLLFVBQVU7QUFDZixPQUFLLFNBQVM7QUFDZCxPQUFLLFNBQVM7QUFDZCxPQUFLLFlBQVk7QUFDakIsT0FBSyxTQUFTOztDQUdoQixBQUFRLGNBQXNCO0FBQzVCLFNBQU8sdUJBQXVCLEtBQUssUUFBUSxHQUFHLEtBQUssT0FBTyxHQUFHLEtBQUssT0FBTyxHQUFHLEtBQUssVUFBVSxHQUFHLEtBQUs7O0NBT3JHLEFBQVEsbUJBQStDO0FBQ3JELE1BQUlBLCtDQUF1QixDQUN6QixRQUFPO0FBRVQsTUFBSTtHQUNGLE1BQU0sTUFBTSxlQUFlLFFBQVEsS0FBSyxhQUFhLENBQUM7QUFDdEQsT0FBSSxDQUFDLElBQ0gsUUFBTztHQUVULE1BQU0sUUFBUSxLQUFLLE1BQU0sSUFBSTtBQUM3QixPQUFJLEtBQUssS0FBSyxJQUFJLE1BQU0sVUFDdEIsUUFBTztBQUVULFVBQU8sTUFBTTtVQUNQO0FBQ04sVUFBTzs7O0NBSVgsQUFBUSxrQkFBa0IsT0FBa0M7QUFDMUQsTUFBSUEsK0NBQXVCLENBQ3pCO0FBRUYsTUFBSTtHQUNGLE1BQU1DLFFBQTJCO0lBQUU7SUFBTyxXQUFXLEtBQUssS0FBSyxHQUFHO0lBQXFCO0FBQ3ZGLGtCQUFlLFFBQVEsS0FBSyxhQUFhLEVBQUUsS0FBSyxVQUFVLE1BQU0sQ0FBQztVQUMzRDs7Q0FNVixNQUFNLGtCQUFnRDtBQUNwRCxNQUFJLEtBQUssYUFBYSxLQUNwQixRQUFPLEtBQUs7RUFHZCxNQUFNLFNBQVMsS0FBSyxrQkFBa0I7QUFDdEMsTUFBSSxXQUFXLE1BQU07QUFDbkIsUUFBSyxXQUFXO0FBQ2hCLFVBQU8sS0FBSzs7RUFRZCxNQUFNLFlBQVksT0FBTyxPQUFPQyxrQ0FBYSxDQUFDLEtBQUksZ0JBQWUsWUFBWSxVQUFVLENBQUM7QUFFeEYsT0FBSyxXQUFXLE1BQU1DLHFEQUNwQixLQUFLLFNBQ0wsS0FBSyxRQUNMLEtBQUssUUFDTCxXQUNBLEtBQUssT0FDTjtBQUNELE9BQUssa0JBQWtCLEtBQUssU0FBUztBQUNyQyxTQUFPLEtBQUs7Ozs7Ozs7O0FBU2hCLElBQWEsMEJBQWIsTUFBcUU7Q0FLbkUsWUFBWSxBQUFpQkMsWUFBaUM7RUFBakM7aUJBSks7Z0JBRUQ7O0NBSWpDLE1BQU0sa0JBQWdEO0FBQ3BELFNBQU8sS0FBSyJ9
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5janMiLCJuYW1lcyI6WyJMb2dnZXIiLCJjb25maWdWZXJzaW9uT3ZlcnJpZGUiLCJlbnRyeTogQ2FjaGVkQ29uZmlnRW50cnkiLCJGZWF0dXJlR2F0ZXMiLCJmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIiwiRmVhdHVyZUZsYWdTZXJ2aWNlIiwiZmV0Y2hCb290c3RyYXBDb25maWciLCJnZXRBdG9tU3RvcmUiLCJjaGF0SWRBdG9tIiwibW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xuaW1wb3J0IHsgY29uZmlnVmVyc2lvbk92ZXJyaWRlIH0gZnJvbSAnc3JjL3R5cGVzL2NvbmZpZy12ZXJzaW9ucyc7XG5pbXBvcnQgeyBGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tICdzcmMvc2VydmljZXMvZmVhdHVyZUZsYWdTZXJ2aWNlJztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB0eXBlIHsgVXJsUmVzb2x2ZXJSZXNwb25zZSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5pbXBvcnQgeyBnZXRBdG9tU3RvcmUgfSBmcm9tICdzcmMvYXRvbXMvYXRvbVN0b3JlL2F0b21TdG9yZSc7XG5pbXBvcnQgeyBjaGF0SWRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcCc7XG5pbXBvcnQgeyBmZXRjaFVuaWZpZWRHcmFwaFFMQ29uZmlnIH0gZnJvbSAnLi9mZXRjaEdyYXBoUUxDb25maWcnO1xuaW1wb3J0IHsgZmV0Y2hCb290c3RyYXBDb25maWcgfSBmcm9tICcuL2ZldGNoQm9vdHN0cmFwQ29uZmlnJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignZW52aXZlQ29uZmlnU2VydmljZScpO1xuXG4vLyBTaG9ydC1saXZlZCBzbyBjb25maWcgY2hhbmdlcyAoZ2F0ZXMsIGV4cGVyaW1lbnRzKSBzdGlsbCBwcm9wYWdhdGUgd2l0aGluXG4vLyBhIHNlc3Npb24sIHdoaWxlIHNwYXJpbmcgZXZlcnkgcGFnZSBuYXZpZ2F0aW9uIGZyb20gcmUtZmV0Y2hpbmcgb3JnXG4vLyBjb25maWcgKyBHcmFwaFFMIGNvbmZpZywgYm90aCBvZiB3aGljaCBzaXQgb24gdGhlIGNyaXRpY2FsIHBhdGggYmVmb3JlXG4vLyBmaXJzdCBwYWludC5cbmNvbnN0IENPTkZJR19DQUNIRV9UVExfTVMgPSA1ICogNjAgKiAxMDAwO1xuXG50eXBlIENhY2hlZENvbmZpZ0VudHJ5ID0ge1xuICB2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZztcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG59O1xuXG50eXBlIEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcyA9IHtcbiAgYmFzZVVybDogc3RyaW5nO1xuICBhcGlLZXk6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgLy8gVGhlIHVybF9yZXNvbHZpbmcgY29udGV4dCBiaXRzIHRoZSBob29rcyBsYXllciBjYW4ndCBkZXJpdmUgaXRzZWxmLCBzdXBwbGllZFxuICAvLyBieSB0aGUgaW5qZWN0aW9uIGJ1bmRsZSBzbyBnZXRFbnZpdmVDb25maWcgY2FuIGNhbGwgL3YxL3Nlc3Npb24vYm9vdHN0cmFwIG9uXG4gIC8vIHRoZSB1c2VfdW5pZmllZF9jb25maWcgZ2F0ZS1PTiBwYXRoLiBPcHRpb25hbDogd2hlbiBhYnNlbnQgKG1vY2tzLCBub24tYnVuZGxlXG4gIC8vIGNhbGxlcnMpIHRoZSBib290c3RyYXAgYnJhbmNoIGlzIHNraXBwZWQgYW5kIGdldFdpZGdldENvbmZpZyBzdGFuZHMuXG4gIGVudj86IHN0cmluZztcbiAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEVudml2ZVNlcnZpY2VDb25maWcgPSB7XG4gIG9yZzoge1xuICAgIG9yZzoge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIHNob3J0X25hbWU6IHN0cmluZztcbiAgICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICAgICAgZG9tYWluOiBzdHJpbmc7XG4gICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBnYXRlczogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgLy8gVGhlIHVzZXIncyBTdGF0c2lnIGV4cGVyaW1lbnQtbGF5ZXIgYXNzaWdubWVudHMsIGZyb20gdGhlIHdpZGdldCBjb25maWcnc1xuICAvLyByZXNvbHZlZCBleHBlcmltZW50cyDigJQgZ2V0V2lkZ2V0Q29uZmlnLCBvciBib290c3RyYXAncyBgd2lkZ2V0X2NvbmZpZ2BcbiAgLy8gKGJvdGggdW5nYXRlZCBieSB1c2VfdW5pZmllZF9jb25maWc7IGVtcHR5IG9ubHkgdW5kZXIgYSB2ZXJzaW9uIHBpbikuXG4gIC8vIGFtcGxpdHVkZVNlcnZpY2UgcmVhZHMgdGhlc2UgdG8gZW5yaWNoIGV2ZW50cyB3aXRoIGBleHBlcmltZW50Lntuc30uKmAgcHJvcHMuXG4gIGV4cGVyaW1lbnRfYXNzaWdubWVudHM/OiBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudFtdO1xuICAvLyBvcmdDb25maWcucmVzb2x1dGlvbiBpcyBwb3B1bGF0ZWQgb25seSBvbiB0aGUgdW5pZmllZCBwYXRoIChzb3VyY2VkIGZyb21cbiAgLy8gZ2V0V2lkZ2V0Q29uZmlnLnJlc29sdXRpb24sIG5vdCAvdjEvb3JnL2NvbmZpZy5yZXNvbHV0aW9uKSBzbyB0aGUgdmVyc2lvblxuICAvLyB0aHJlYWRlZCBpbnRvIGluZmVyZW5jZSByZXF1ZXN0cyBtYXRjaGVzIHRoZSB2ZXJzaW9uIHRoYXQgcHJvZHVjZWQgdGhlXG4gIC8vIHJlbmRlcmVkIHdpZGdldHMuXG4gIG9yZ0NvbmZpZz86IEdyYXBoUWxDb25maWdWYWx1ZXM7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG4gIC8vIE5COiBgdGFrZUJvb3RzdHJhcFVybFJlc29sdmluZ2AgaXMgaW50ZW50aW9uYWxseSBOT1Qgb24gdGhpcyBpbnRlcmZhY2UuIEl0J3NcbiAgLy8gYSBib290c3RyYXAtb25seSBkZXRhaWwgY29uc3VtZWQgc29sZWx5IGJ5IHRoZSBpbmplY3Rpb24gYnVuZGxlIHZpYSB0aGVcbiAgLy8gY29uY3JldGUgRW52aXZlQ29uZmlnU2VydmljZTsga2VlcGluZyBpdCBvZmYgdGhlIHB1YmxpYyBESSBjb250cmFjdCBhdm9pZHMgYVxuICAvLyBicmVha2luZyBjaGFuZ2UgZm9yIGV4dGVybmFsIGNvbnN1bWVycyB0aGF0IHN1cHBseSB0aGVpciBvd24gY29uZmlnIHNlcnZpY2VcbiAgLy8gKEVudml2ZVByb3ZpZGVyIG9ubHkgZXZlciBjYWxscyBnZXRFbnZpdmVDb25maWcgLyBiYXNlVXJsIC8gYXBpS2V5KS5cbn1cblxuLy8gVGhlIGJvb3RzdHJhcCB1cmxfcmVzb2x2aW5nIHBheWxvYWQgcGx1cyB0aGUgVVJMIGl0IHdhcyByZXNvbHZlZCBmb3IsIHNvIHRoZVxuLy8gd2FybS11cCBjYW4gdmVyaWZ5IHRoZSBVUkwgc3RpbGwgbWF0Y2hlcyBiZWZvcmUgc2VlZGluZyAoc2VlIEYxOiBhIFNQQSBuYXZcbi8vIGR1cmluZyB0aGUgYm9vdHN0cmFwIHJvdW5kIHRyaXAgbXVzdCBub3QgY2FjaGUgVVJMIEEncyByZXN1bHQgdW5kZXIgVVJMIEIpLlxudHlwZSBCb290c3RyYXBVcmxSZXNvbHZpbmcgPSB7IHVybDogc3RyaW5nOyByZXNwb25zZTogVXJsUmVzb2x2ZXJSZXNwb25zZSB9O1xuXG5leHBvcnQgY2xhc3MgRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1c2VySWQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbnY/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVzcG9uc2U6IEVudml2ZVNlcnZpY2VDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGJvb3RzdHJhcFVybFJlc29sdmluZzogQm9vdHN0cmFwVXJsUmVzb2x2aW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGJhc2VVcmwsXG4gICAgYXBpS2V5LFxuICAgIHVzZXJJZCxcbiAgICBuYW1lc3BhY2UsXG4gICAgc291cmNlLFxuICAgIGVudixcbiAgICBjb250ZXh0U291cmNlLFxuICB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xuICAgIHRoaXMuYXBpS2V5ID0gYXBpS2V5O1xuICAgIHRoaXMudXNlcklkID0gdXNlcklkO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICAgIHRoaXMuZW52ID0gZW52O1xuICAgIHRoaXMuY29udGV4dFNvdXJjZSA9IGNvbnRleHRTb3VyY2U7XG4gIH1cblxuICAvLyBIYW5kcyBvZmYgKG9uY2UpIHRoZSB1cmxfcmVzb2x2aW5nIHBheWxvYWQgdGhhdCAvdjEvc2Vzc2lvbi9ib290c3RyYXBcbiAgLy8gcmV0dXJuZWQgYWxvbmdzaWRlIHRoZSBjb25maWcg4oCUIHBhaXJlZCB3aXRoIHRoZSBVUkwgaXQgd2FzIHJlc29sdmVkIGZvciDigJQgc29cbiAgLy8gdGhlIHdhcm0tdXAgc2VlZHMgdXJsUmVzb2x2ZXJBdG9tIHdpdGggaXQgaW5zdGVhZCBvZiBmaXJpbmcgYSBzZXBhcmF0ZVxuICAvLyAvdjEvdXJsX3Jlc29sdmluZy4gbnVsbCBvbiB0aGUgZ2V0V2lkZ2V0Q29uZmlnIC8gY2FjaGVkIHBhdGguXG4gIHRha2VCb290c3RyYXBVcmxSZXNvbHZpbmcoKTogQm9vdHN0cmFwVXJsUmVzb2x2aW5nIHwgbnVsbCB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmJvb3RzdHJhcFVybFJlc29sdmluZztcbiAgICB0aGlzLmJvb3RzdHJhcFVybFJlc29sdmluZyA9IG51bGw7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYWNoZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgZW52aXZlLWNvbmZpZy1jYWNoZToke3RoaXMuYmFzZVVybH06JHt0aGlzLmFwaUtleX06JHt0aGlzLnVzZXJJZH06JHt0aGlzLm5hbWVzcGFjZX06JHt0aGlzLnNvdXJjZX1gO1xuICB9XG5cbiAgLy8gYGVudml2ZV9jb25maWdfdmVyc2lvbmAgLyBgc3BpZmZ5X2NvbmZpZ192ZXJzaW9uYCBwaW4gYSBzcGVjaWZpYyBjb25maWdcbiAgLy8gdmVyc2lvbiBmb3IgZGVidWdnaW5nL3JvbGxiYWNrLiBBbnkgdXNlIG9mIHRoYXQgb3ZlcnJpZGUgbXVzdCBhbHdheXNcbiAgLy8gYnlwYXNzIHRoZSBjYWNoZSBiZWxvdyDigJQgYm90aCByZWFkaW5nIGEgc3RhbGUgZW50cnkgYW5kIHdyaXRpbmcgb25lXG4gIC8vIHVuZGVyIHRoZSBzaGFyZWQga2V5IHdvdWxkIGRlZmVhdCB0aGUgb3ZlcnJpZGUncyBwdXJwb3NlLlxuICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWcoKTogRW52aXZlU2VydmljZUNvbmZpZyB8IG51bGwge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXcgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuZ2V0Q2FjaGVLZXkoKSk7XG4gICAgICBpZiAoIXJhdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVudHJ5ID0gSlNPTi5wYXJzZShyYXcpIGFzIENhY2hlZENvbmZpZ0VudHJ5O1xuICAgICAgaWYgKERhdGUubm93KCkgPj0gZW50cnkuZXhwaXJlc0F0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGVudHJ5LnZhbHVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZyh2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZyk6IHZvaWQge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgZW50cnk6IENhY2hlZENvbmZpZ0VudHJ5ID0geyB2YWx1ZSwgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ORklHX0NBQ0hFX1RUTF9NUyB9O1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmdldENhY2hlS2V5KCksIEpTT04uc3RyaW5naWZ5KGVudHJ5KSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTdG9yYWdlIGRpc2FibGVkLCBmdWxsLCBvciB1bmF2YWlsYWJsZSAocHJpdmF0ZSBicm93c2luZywgZXRjLikgLVxuICAgICAgLy8gZmFpbCBvcGVuIGFuZCBsZXQgdGhlIG5leHQgY2FsbCByZS1mZXRjaCBpbnN0ZWFkIG9mIGNhY2hpbmcuXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIGlmICh0aGlzLnJlc3BvbnNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgICB9XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnJlYWRDYWNoZWRDb25maWcoKTtcbiAgICBpZiAoY2FjaGVkICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc3BvbnNlID0gY2FjaGVkO1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLy8gZ2V0V2lkZ2V0Q29uZmlnIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHNlc3Npb24gY29uZmlnOiBpdCByZXR1cm5zIG9yZ1xuICAgIC8vIGlkZW50aXR5ICsgZmVhdHVyZSBnYXRlcyArIGV4cGVyaW1lbnQgYXNzaWdubWVudHMgKHdoaWNoIHVzZWQgdG8gYmUgYVxuICAgIC8vIHNlcGFyYXRlIEdFVCAvdjEvb3JnL2NvbmZpZyBjYWxsKSBhbG9uZ3NpZGUgcHJvZHVjdHNDb25maWcgKyB0aGVcbiAgICAvLyByZXNvbHV0aW9uIG1ldGFkYXRhIHRocmVhZGVkIGludG8gZG93bnN0cmVhbSBpbmZlcmVuY2UuIGBnYXRlTmFtZXNgIGlzIHRoZVxuICAgIC8vIGxpc3Qgb2YgZ2F0ZXMgdGhlIGFwcCBjaGVja3MsIHNvIHRoZSByZXNvbHZlciBldmFsdWF0ZXMgYW5kIHJldHVybnMgdGhlbS5cbiAgICBjb25zdCBnYXRlTmFtZXMgPSBPYmplY3QudmFsdWVzKEZlYXR1cmVHYXRlcykubWFwKGZlYXR1cmVHYXRlID0+IGZlYXR1cmVHYXRlLnRvU3RyaW5nKCkpO1xuXG4gICAgY29uc3Qgd2lkZ2V0Q29uZmlnID0gYXdhaXQgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyhcbiAgICAgIHRoaXMuYmFzZVVybCxcbiAgICAgIHRoaXMuYXBpS2V5LFxuICAgICAgdGhpcy51c2VySWQsXG4gICAgICBnYXRlTmFtZXMsXG4gICAgICB0aGlzLnNvdXJjZSxcbiAgICApO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IGF3YWl0IHRoaXMubWF5YmVVcGdyYWRlVG9Cb290c3RyYXAod2lkZ2V0Q29uZmlnLCBnYXRlTmFtZXMpO1xuICAgIHRoaXMud3JpdGVDYWNoZWRDb25maWcodGhpcy5yZXNwb25zZSk7XG4gICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gIH1cblxuICAvLyBUaGUgdW5pZmllZC1jb25maWcgcmFtcCAoYHVzZV91bmlmaWVkX2NvbmZpZ2AgU3RhdHNpZyBnYXRlKS4gV2hlbiB0aGUgZ2F0ZVxuICAvLyBpcyBPTiBmb3IgdGhpcyB1c2VyLCBzd2FwIHRoZSBnZXRXaWRnZXRDb25maWcgcmVzdWx0IGZvciBNYXR0J3NcbiAgLy8gL3YxL3Nlc3Npb24vYm9vdHN0cmFwIOKAlCB0aGUgc2FtZSBjb25maWcgUExVUyB0aGUgaW5pdGlhbCB1cmxfcmVzb2x2aW5nIGluXG4gIC8vIE9ORSByb3VuZCB0cmlwICh0aGUgY29uc29saWRhdGlvbiB0aGlzIG1pZ3JhdGlvbiBpcyBhYm91dCkuIFRoZSBnYXRlIGlzIHJlYWRcbiAgLy8gb2ZmIHRoZSBnZXRXaWRnZXRDb25maWcgcmVzcG9uc2UganVzdCBmZXRjaGVkLCBiZWNhdXNlIHRoZSBGRSBoYXMgbm8gU3RhdHNpZ1xuICAvLyBTREs6IHB5bW9ubyBldmFsdWF0ZXMgdGhlIGdhdGUgc2VydmVyLXNpZGUgYW5kIHJldHVybnMgaXQuIGBGZWF0dXJlRmxhZ1NlcnZpY2VgXG4gIC8vIGFsc28gaG9ub3JzIGEgYD91c2VfdW5pZmllZF9jb25maWc9dHJ1ZWAgb3ZlcnJpZGUsIHNvIHRoZSBib290c3RyYXAgcGF0aCBpc1xuICAvLyB0ZXN0YWJsZSBiZWZvcmUgdGhlIGdhdGUgcmFtcHMuXG4gIC8vXG4gIC8vIE9ubHkgcnVucyBvbiB0aGUgY2FjaGUtbWlzcyBwYXRoIChib290c3RyYXAncyBjb25maWcgaXMgdGhlbiBjYWNoZWQgbGlrZSBhbnlcbiAgLy8gb3RoZXIpLCBzbyBhIGNhY2hlZCBsb2FkIG5ldmVyIHJlLWZldGNoZXMuIE5lZWRzIGVudiArIGNvbnRleHRTb3VyY2UgZm9yIHRoZVxuICAvLyB1cmxfcmVzb2x2aW5nIGNvbnRleHQg4oCUIGFic2VudCBmb3IgbW9ja3MgLyBub24tYnVuZGxlIGNhbGxlcnMsIHdoZXJlIHRoZVxuICAvLyBicmFuY2ggaXMgc2tpcHBlZC4gQSBib290c3RyYXAgZmFpbHVyZSBmYWxscyBiYWNrIHRvIHRoZSBnZXRXaWRnZXRDb25maWdcbiAgLy8gY29uZmlnIGFscmVhZHkgaW4gaGFuZDogYSBib290c3RyYXAgcHJvYmxlbSBkZWdyYWRlcyB0byB0aGUgcHJvdmVuIHBhdGhcbiAgLy8gaW5zdGVhZCBvZiBhYm9ydGluZyBpbmplY3Rpb24uIEF0IDEwMCUgdGhlIGdldFdpZGdldENvbmZpZyBjYWxsIGFib3ZlIGlzXG4gIC8vIGRyb3BwZWQgYW5kIGJvb3RzdHJhcCBiZWNvbWVzIHRoZSBzb2xlIGNvbmZpZyBjYWxsIChzdGVwIDgpLlxuICBwcml2YXRlIGFzeW5jIG1heWJlVXBncmFkZVRvQm9vdHN0cmFwKFxuICAgIHdpZGdldENvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyxcbiAgICBnYXRlTmFtZXM6IHN0cmluZ1tdLFxuICApOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+IHtcbiAgICBpZiAodGhpcy5lbnYgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmNvbnRleHRTb3VyY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHdpZGdldENvbmZpZztcbiAgICB9XG4gICAgLy8gQnVpbHQgb25jZTogcmVhZHMgdGhlIGdhdGUgKG92ZXJyaWRlLWF3YXJlKSBBTkQgc3VwcGxpZXMgdGhlIG92ZXJyaWRlLWF3YXJlXG4gICAgLy8gZ2F0ZSBtYXAgYm9vdHN0cmFwJ3MgdXJsX3Jlc29sdmluZyBuZWVkcyAobWF0Y2hlcyB0aGUgbGVnYWN5IHJlc29sdmVVcmwgcGF0aCkuXG4gICAgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlID0gbmV3IEZlYXR1cmVGbGFnU2VydmljZSh3aWRnZXRDb25maWcuZ2F0ZXMpO1xuICAgIGlmICghZmVhdHVyZUZsYWdTZXJ2aWNlLmlzRmVhdHVyZUdhdGVFbmFibGVkKEZlYXR1cmVHYXRlcy5Vc2VVbmlmaWVkQ29uZmlnKSkge1xuICAgICAgcmV0dXJuIHdpZGdldENvbmZpZztcbiAgICB9XG5cbiAgICAvLyBDYXB0dXJlZCBvbmNlIGFuZCByZXVzZWQgZm9yIGJvdGggdGhlIGJvb3RzdHJhcCByZXF1ZXN0IGFuZCB0aGUgc3Rhc2gsIHNvXG4gICAgLy8gdGhlIFVSTCBjYXJyaWVkIHRvIHRoZSB3YXJtLXVwIGlzIHByb3ZhYmx5IHRoZSBvbmUgYm9vdHN0cmFwIHJlc29sdmVkLiBUaGVcbiAgICAvLyB3YXJtLXVwIG9ubHkgc2VlZHMgaXQgaWYgdGhpcyBzdGlsbCBtYXRjaGVzIHRoZSBjdXJyZW50IFVSTCAoYSBTUEEgbmF2XG4gICAgLy8gZHVyaW5nIHRoZSByb3VuZCB0cmlwIHdvdWxkIG90aGVyd2lzZSBjYWNoZSB0aGlzIHJlc3VsdCB1bmRlciBhIGxhdGVyIFVSTCkuXG4gICAgLy8gU2FtZSBjbGVhbnNpbmcgYXMgd2FybVVybFJlc29sdmVyIHNvIHRoZSB1cmxSZXNvbHZlckF0b20ga2V5IGxpbmVzIHVwLlxuICAgIGNvbnN0IGNsZWFuc2VkVXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgY29uZmlnLCB1cmxSZXNvbHZpbmcgfSA9IGF3YWl0IGZldGNoQm9vdHN0cmFwQ29uZmlnKHtcbiAgICAgICAgYmFzZVVybDogdGhpcy5iYXNlVXJsLFxuICAgICAgICBhcGlLZXk6IHRoaXMuYXBpS2V5LFxuICAgICAgICB1c2VySWQ6IHRoaXMudXNlcklkLFxuICAgICAgICBzb3VyY2U6IHRoaXMuc291cmNlLFxuICAgICAgICAvLyBTY29wZSBvcmdfY29uZmlnLmNvbmZpZ3MgdG8gdGhpcyBuYW1lc3BhY2Ugc28gYm9vdHN0cmFwIGRvZXNuJ3QgcmV0dXJuXG4gICAgICAgIC8vIGludGVybmFsLW9ubHkgb3JnIGNvbmZpZ3MgdG8gdGhlIGJyb3dzZXIgKG1hdGNoZXMgdGhlIGxlZ2FjeSAvdjEvb3JnL2NvbmZpZykuXG4gICAgICAgIG5hbWVzcGFjZTogdGhpcy5uYW1lc3BhY2UsXG4gICAgICAgIGdhdGVOYW1lcyxcbiAgICAgICAgdXJsOiBjbGVhbnNlZFVybCxcbiAgICAgICAgb3JnSWQ6IHdpZGdldENvbmZpZy5vcmcub3JnLmlkLFxuICAgICAgICBvcmdTaG9ydE5hbWU6IHdpZGdldENvbmZpZy5vcmcub3JnLnNob3J0X25hbWUsXG4gICAgICAgIGNvbnRleHRTb3VyY2U6IHRoaXMuY29udGV4dFNvdXJjZSxcbiAgICAgICAgZW52OiB0aGlzLmVudixcbiAgICAgICAgZmVhdHVyZUdhdGVzOiBmZWF0dXJlRmxhZ1NlcnZpY2UuZ2V0RmVhdHVyZUZsYWdzKCksXG4gICAgICAgIC8vIFRoZSBwZXJzaXN0ZW50IGNoYXQgc2Vzc2lvbiBpZCAoc2FtZSBzb3VyY2UgcmVzb2x2ZVVybCByZWFkcykgc29cbiAgICAgICAgLy8gYm9vdHN0cmFwJ3MgdXJsX3Jlc29sdmluZyBjYXJyaWVzIGl0IGluc3RlYWQgb2YgYW4gZW1wdHkgc3RyaW5nLlxuICAgICAgICBjaGF0SWQ6IGdldEF0b21TdG9yZSgpLmdldChjaGF0SWRBdG9tKSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5ib290c3RyYXBVcmxSZXNvbHZpbmcgPSB1cmxSZXNvbHZpbmdcbiAgICAgICAgPyB7IHVybDogY2xlYW5zZWRVcmwsIHJlc3BvbnNlOiB1cmxSZXNvbHZpbmcgfVxuICAgICAgICA6IG51bGw7XG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbG9nZ2VyLmxvZ0Vycm9yKCdnZXRFbnZpdmVDb25maWcgfCBib290c3RyYXAgdXBncmFkZSBmYWlsZWQsIHVzaW5nIGdldFdpZGdldENvbmZpZycsIGVycik7XG4gICAgICByZXR1cm4gd2lkZ2V0Q29uZmlnO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgc3RhdGljIG1vY2sgZGF0YSBmcm9tIGl0cyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuIFBhc3NlcyBlbXB0eSBiYXNlVXJsL2FwaUtleVxuICogc28gYW55IGNvZGUgY2hlY2tpbmcgaXNSZWFkeSBkb2VzIG5vdCBmaXJlIHJlYWwgbmV0d29yayByZXF1ZXN0cy4gVGhlIG9yZ0NvbmZpZyBmaWVsZFxuICogY292ZXJzIGNvbG9ycywgZnJvbnRlbmRDb25maWcsIGFuZCBwYWdlL3dpZGdldC9tb3VudGluZyBjb25maWdzIHdpdGhvdXQgYW55IG5ldHdvcmsgY2FsbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2NrRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyByZWFkb25seSBhcGlLZXk6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZykge31cblxuICBhc3luYyBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMubW9ja0NvbmZpZztcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBWUEsTUFBTSxTQUFTLElBQUlBLHVCQUFPLHNCQUFzQjtBQU1oRCxNQUFNLHNCQUFzQixNQUFTO0FBOERyQyxJQUFhLHNCQUFiLE1BQWlFO0NBbUIvRCxZQUFZLEVBQ1YsU0FDQSxRQUNBLFFBQ0EsV0FDQSxRQUNBLEtBQ0EsaUJBQzJCO2tCQVprQjsrQkFFZTtBQVc1RCxPQUFLLFVBQVU7QUFDZixPQUFLLFNBQVM7QUFDZCxPQUFLLFNBQVM7QUFDZCxPQUFLLFlBQVk7QUFDakIsT0FBSyxTQUFTO0FBQ2QsT0FBSyxNQUFNO0FBQ1gsT0FBSyxnQkFBZ0I7O0NBT3ZCLDRCQUEwRDtFQUN4RCxNQUFNLFFBQVEsS0FBSztBQUNuQixPQUFLLHdCQUF3QjtBQUM3QixTQUFPOztDQUdULEFBQVEsY0FBc0I7QUFDNUIsU0FBTyx1QkFBdUIsS0FBSyxRQUFRLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxVQUFVLEdBQUcsS0FBSzs7Q0FPckcsQUFBUSxtQkFBK0M7QUFDckQsTUFBSUMsK0NBQXVCLENBQ3pCLFFBQU87QUFFVCxNQUFJO0dBQ0YsTUFBTSxNQUFNLGVBQWUsUUFBUSxLQUFLLGFBQWEsQ0FBQztBQUN0RCxPQUFJLENBQUMsSUFDSCxRQUFPO0dBRVQsTUFBTSxRQUFRLEtBQUssTUFBTSxJQUFJO0FBQzdCLE9BQUksS0FBSyxLQUFLLElBQUksTUFBTSxVQUN0QixRQUFPO0FBRVQsVUFBTyxNQUFNO1VBQ1A7QUFDTixVQUFPOzs7Q0FJWCxBQUFRLGtCQUFrQixPQUFrQztBQUMxRCxNQUFJQSwrQ0FBdUIsQ0FDekI7QUFFRixNQUFJO0dBQ0YsTUFBTUMsUUFBMkI7SUFBRTtJQUFPLFdBQVcsS0FBSyxLQUFLLEdBQUc7SUFBcUI7QUFDdkYsa0JBQWUsUUFBUSxLQUFLLGFBQWEsRUFBRSxLQUFLLFVBQVUsTUFBTSxDQUFDO1VBQzNEOztDQU1WLE1BQU0sa0JBQWdEO0FBQ3BELE1BQUksS0FBSyxhQUFhLEtBQ3BCLFFBQU8sS0FBSztFQUdkLE1BQU0sU0FBUyxLQUFLLGtCQUFrQjtBQUN0QyxNQUFJLFdBQVcsTUFBTTtBQUNuQixRQUFLLFdBQVc7QUFDaEIsVUFBTyxLQUFLOztFQVFkLE1BQU0sWUFBWSxPQUFPLE9BQU9DLGtDQUFhLENBQUMsS0FBSSxnQkFBZSxZQUFZLFVBQVUsQ0FBQztFQUV4RixNQUFNLGVBQWUsTUFBTUMscURBQ3pCLEtBQUssU0FDTCxLQUFLLFFBQ0wsS0FBSyxRQUNMLFdBQ0EsS0FBSyxPQUNOO0FBRUQsT0FBSyxXQUFXLE1BQU0sS0FBSyx3QkFBd0IsY0FBYyxVQUFVO0FBQzNFLE9BQUssa0JBQWtCLEtBQUssU0FBUztBQUNyQyxTQUFPLEtBQUs7O0NBbUJkLE1BQWMsd0JBQ1osY0FDQSxXQUM4QjtBQUM5QixNQUFJLEtBQUssUUFBUSxVQUFhLEtBQUssa0JBQWtCLE9BQ25ELFFBQU87RUFJVCxNQUFNLHFCQUFxQixJQUFJQyw2REFBbUIsYUFBYSxNQUFNO0FBQ3JFLE1BQUksQ0FBQyxtQkFBbUIscUJBQXFCRixrQ0FBYSxpQkFBaUIsQ0FDekUsUUFBTztFQVFULE1BQU0sY0FBYyxPQUFPLFNBQVMsS0FBSyxhQUFhLENBQUMsTUFBTTtBQUM3RCxNQUFJO0dBQ0YsTUFBTSxFQUFFLFFBQVEsaUJBQWlCLE1BQU1HLGtEQUFxQjtJQUMxRCxTQUFTLEtBQUs7SUFDZCxRQUFRLEtBQUs7SUFDYixRQUFRLEtBQUs7SUFDYixRQUFRLEtBQUs7SUFHYixXQUFXLEtBQUs7SUFDaEI7SUFDQSxLQUFLO0lBQ0wsT0FBTyxhQUFhLElBQUksSUFBSTtJQUM1QixjQUFjLGFBQWEsSUFBSSxJQUFJO0lBQ25DLGVBQWUsS0FBSztJQUNwQixLQUFLLEtBQUs7SUFDVixjQUFjLG1CQUFtQixpQkFBaUI7SUFHbEQsUUFBUUMsZ0NBQWMsQ0FBQyxJQUFJQyxtQ0FBVztJQUN2QyxDQUFDO0FBQ0YsUUFBSyx3QkFBd0IsZUFDekI7SUFBRSxLQUFLO0lBQWEsVUFBVTtJQUFjLEdBQzVDO0FBQ0osVUFBTztXQUNBLEtBQUs7QUFDWixVQUFPLFNBQVMscUVBQXFFLElBQUk7QUFDekYsVUFBTzs7Ozs7Ozs7O0FBVWIsSUFBYSwwQkFBYixNQUFxRTtDQUtuRSxZQUFZLEFBQWlCQyxZQUFpQztFQUFqQztpQkFKSztnQkFFRDs7Q0FJakMsTUFBTSxrQkFBZ0Q7QUFDcEQsU0FBTyxLQUFLIn0=
@@ -1,4 +1,5 @@
1
1
  import { OrgConfigExperimentAssignment, OrgConfigFeatureGate } from "../../application/models/api/orgConfigResults.cjs";
2
+ import { UrlResolverResponse } from "../../atoms/app/variant.cjs";
2
3
  import { GraphQlConfigValues } from "../../contexts/graphqlContext/graphqlContext.cjs";
3
4
 
4
5
  //#region src/services/enviveConfigService/enviveConfigService.d.ts
@@ -8,6 +9,8 @@ type EnviveConfigServiceProps = {
8
9
  userId: string;
9
10
  namespace: string;
10
11
  source: string;
12
+ env?: string;
13
+ contextSource?: string;
11
14
  };
12
15
  type EnviveServiceConfig = {
13
16
  org: {
@@ -30,24 +33,35 @@ interface IEnviveConfigService {
30
33
  readonly apiKey: string;
31
34
  getEnviveConfig(): Promise<EnviveServiceConfig>;
32
35
  }
36
+ type BootstrapUrlResolving = {
37
+ url: string;
38
+ response: UrlResolverResponse;
39
+ };
33
40
  declare class EnviveConfigService implements IEnviveConfigService {
34
41
  readonly baseUrl: string;
35
42
  readonly apiKey: string;
36
43
  private readonly userId;
37
44
  private readonly namespace;
38
45
  private readonly source;
46
+ private readonly env?;
47
+ private readonly contextSource?;
39
48
  private response;
49
+ private bootstrapUrlResolving;
40
50
  constructor({
41
51
  baseUrl,
42
52
  apiKey,
43
53
  userId,
44
54
  namespace,
45
- source
55
+ source,
56
+ env,
57
+ contextSource
46
58
  }: EnviveConfigServiceProps);
59
+ takeBootstrapUrlResolving(): BootstrapUrlResolving | null;
47
60
  private getCacheKey;
48
61
  private readCachedConfig;
49
62
  private writeCachedConfig;
50
63
  getEnviveConfig(): Promise<EnviveServiceConfig>;
64
+ private maybeUpgradeToBootstrap;
51
65
  }
52
66
  /**
53
67
  * Returns static mock data from its constructor arguments. Passes empty baseUrl/apiKey
@@ -63,4 +77,4 @@ declare class MockEnviveConfigService implements IEnviveConfigService {
63
77
  }
64
78
  //#endregion
65
79
  export { EnviveConfigService, EnviveServiceConfig, IEnviveConfigService, MockEnviveConfigService };
66
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gICAgYmFzZVVybDogc3RyaW5nO1xuICAgIGFwaUtleTogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEVudml2ZVNlcnZpY2VDb25maWcgPSB7XG4gICAgb3JnOiB7XG4gICAgICAgIG9yZzoge1xuICAgICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICAgIHNob3J0X25hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZG9tYWluOiBzdHJpbmc7XG4gICAgICAgICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICAgICAgICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIGdhdGVzOiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICAgIGV4cGVyaW1lbnRfYXNzaWdubWVudHM/OiBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudFtdO1xuICAgIG9yZ0NvbmZpZz86IEdyYXBoUWxDb25maWdWYWx1ZXM7XG59O1xuZXhwb3J0IGludGVyZmFjZSBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gICAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICAgIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xufVxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VySWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U7XG4gICAgcHJpdmF0ZSByZXNwb25zZTtcbiAgICBjb25zdHJ1Y3Rvcih7IGJhc2VVcmwsIGFwaUtleSwgdXNlcklkLCBuYW1lc3BhY2UsIHNvdXJjZSB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpO1xuICAgIHByaXZhdGUgZ2V0Q2FjaGVLZXk7XG4gICAgcHJpdmF0ZSByZWFkQ2FjaGVkQ29uZmlnO1xuICAgIHByaXZhdGUgd3JpdGVDYWNoZWRDb25maWc7XG4gICAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG59XG4vKipcbiAqIFJldHVybnMgc3RhdGljIG1vY2sgZGF0YSBmcm9tIGl0cyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuIFBhc3NlcyBlbXB0eSBiYXNlVXJsL2FwaUtleVxuICogc28gYW55IGNvZGUgY2hlY2tpbmcgaXNSZWFkeSBkb2VzIG5vdCBmaXJlIHJlYWwgbmV0d29yayByZXF1ZXN0cy4gVGhlIG9yZ0NvbmZpZyBmaWVsZFxuICogY292ZXJzIGNvbG9ycywgZnJvbnRlbmRDb25maWcsIGFuZCBwYWdlL3dpZGdldC9tb3VudGluZyBjb25maWdzIHdpdGhvdXQgYW55IG5ldHdvcmsgY2FsbHMuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE1vY2tFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9ja0NvbmZpZztcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IobW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyk7XG4gICAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG59XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxJQUFJLDJCQUEyQixDQUFDLElBQUE7QUFDaEMsSUFBVyxzQkFBUTtDQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBVyx1QkFBTztDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2xCLElBQVcsc0JBQU87Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2xCLElBQVcsMEJBQVU7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnQsIE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IEdyYXBoUWxDb25maWdWYWx1ZXMgfSBmcm9tICdzcmMvY29udGV4dHMvZ3JhcGhxbENvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBVcmxSZXNvbHZlclJlc3BvbnNlIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbnR5cGUgRW52aXZlQ29uZmlnU2VydmljZVByb3BzID0ge1xuICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICBhcGlLZXk6IHN0cmluZztcbiAgICB1c2VySWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IHN0cmluZztcbiAgICBzb3VyY2U6IHN0cmluZztcbiAgICBlbnY/OiBzdHJpbmc7XG4gICAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBFbnZpdmVTZXJ2aWNlQ29uZmlnID0ge1xuICAgIG9yZzoge1xuICAgICAgICBvcmc6IHtcbiAgICAgICAgICAgIGlkOiBzdHJpbmc7XG4gICAgICAgICAgICBzaG9ydF9uYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRvbWFpbjogc3RyaW5nO1xuICAgICAgICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICAgICAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgICAgICAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgfTtcbiAgICBnYXRlczogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgICBleHBlcmltZW50X2Fzc2lnbm1lbnRzPzogT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnRbXTtcbiAgICBvcmdDb25maWc/OiBHcmFwaFFsQ29uZmlnVmFsdWVzO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICAgIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cbnR5cGUgQm9vdHN0cmFwVXJsUmVzb2x2aW5nID0ge1xuICAgIHVybDogc3RyaW5nO1xuICAgIHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNsYXNzIEVudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gICAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlcklkO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmFtZXNwYWNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc291cmNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZW52PztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHRTb3VyY2U/O1xuICAgIHByaXZhdGUgcmVzcG9uc2U7XG4gICAgcHJpdmF0ZSBib290c3RyYXBVcmxSZXNvbHZpbmc7XG4gICAgY29uc3RydWN0b3IoeyBiYXNlVXJsLCBhcGlLZXksIHVzZXJJZCwgbmFtZXNwYWNlLCBzb3VyY2UsIGVudiwgY29udGV4dFNvdXJjZSwgfTogRW52aXZlQ29uZmlnU2VydmljZVByb3BzKTtcbiAgICB0YWtlQm9vdHN0cmFwVXJsUmVzb2x2aW5nKCk6IEJvb3RzdHJhcFVybFJlc29sdmluZyB8IG51bGw7XG4gICAgcHJpdmF0ZSBnZXRDYWNoZUtleTtcbiAgICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWc7XG4gICAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZztcbiAgICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbiAgICBwcml2YXRlIG1heWJlVXBncmFkZVRvQm9vdHN0cmFwO1xufVxuLyoqXG4gKiBSZXR1cm5zIHN0YXRpYyBtb2NrIGRhdGEgZnJvbSBpdHMgY29uc3RydWN0b3IgYXJndW1lbnRzLiBQYXNzZXMgZW1wdHkgYmFzZVVybC9hcGlLZXlcbiAqIHNvIGFueSBjb2RlIGNoZWNraW5nIGlzUmVhZHkgZG9lcyBub3QgZmlyZSByZWFsIG5ldHdvcmsgcmVxdWVzdHMuIFRoZSBvcmdDb25maWcgZmllbGRcbiAqIGNvdmVycyBjb2xvcnMsIGZyb250ZW5kQ29uZmlnLCBhbmQgcGFnZS93aWRnZXQvbW91bnRpbmcgY29uZmlncyB3aXRob3V0IGFueSBuZXR3b3JrIGNhbGxzLlxuICovXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBNb2NrRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vY2tDb25maWc7XG4gICAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKG1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWcpO1xuICAgIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xufVxuZXhwb3J0IHt9O1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUdBLElBQUksMkJBQTJCLENBQUMsSUFBQTtBQUNoQyxJQUFXLHNCQUFRO0NBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFXLHVCQUFPO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEIsSUFBSSx3QkFBYyxDQUFBLFdBQUEsb0JBQUE7QUFDbEIsSUFBVyxzQkFBVTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDckIsSUFBVywwQkFBTztDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
@@ -1,4 +1,5 @@
1
1
  import { OrgConfigExperimentAssignment, OrgConfigFeatureGate } from "../../application/models/api/orgConfigResults.js";
2
+ import { UrlResolverResponse } from "../../atoms/app/variant.js";
2
3
  import { GraphQlConfigValues } from "../../contexts/graphqlContext/graphqlContext.js";
3
4
 
4
5
  //#region src/services/enviveConfigService/enviveConfigService.d.ts
@@ -8,6 +9,8 @@ type EnviveConfigServiceProps = {
8
9
  userId: string;
9
10
  namespace: string;
10
11
  source: string;
12
+ env?: string;
13
+ contextSource?: string;
11
14
  };
12
15
  type EnviveServiceConfig = {
13
16
  org: {
@@ -30,24 +33,35 @@ interface IEnviveConfigService {
30
33
  readonly apiKey: string;
31
34
  getEnviveConfig(): Promise<EnviveServiceConfig>;
32
35
  }
36
+ type BootstrapUrlResolving = {
37
+ url: string;
38
+ response: UrlResolverResponse;
39
+ };
33
40
  declare class EnviveConfigService implements IEnviveConfigService {
34
41
  readonly baseUrl: string;
35
42
  readonly apiKey: string;
36
43
  private readonly userId;
37
44
  private readonly namespace;
38
45
  private readonly source;
46
+ private readonly env?;
47
+ private readonly contextSource?;
39
48
  private response;
49
+ private bootstrapUrlResolving;
40
50
  constructor({
41
51
  baseUrl,
42
52
  apiKey,
43
53
  userId,
44
54
  namespace,
45
- source
55
+ source,
56
+ env,
57
+ contextSource
46
58
  }: EnviveConfigServiceProps);
59
+ takeBootstrapUrlResolving(): BootstrapUrlResolving | null;
47
60
  private getCacheKey;
48
61
  private readCachedConfig;
49
62
  private writeCachedConfig;
50
63
  getEnviveConfig(): Promise<EnviveServiceConfig>;
64
+ private maybeUpgradeToBootstrap;
51
65
  }
52
66
  /**
53
67
  * Returns static mock data from its constructor arguments. Passes empty baseUrl/apiKey
@@ -63,4 +77,4 @@ declare class MockEnviveConfigService implements IEnviveConfigService {
63
77
  }
64
78
  //#endregion
65
79
  export { EnviveConfigService, EnviveServiceConfig, IEnviveConfigService, MockEnviveConfigService };
66
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudCwgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB0eXBlIHsgR3JhcGhRbENvbmZpZ1ZhbHVlcyB9IGZyb20gJ3NyYy9jb250ZXh0cy9ncmFwaHFsQ29udGV4dCc7XG50eXBlIEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcyA9IHtcbiAgICBiYXNlVXJsOiBzdHJpbmc7XG4gICAgYXBpS2V5OiBzdHJpbmc7XG4gICAgdXNlcklkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgc291cmNlOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgRW52aXZlU2VydmljZUNvbmZpZyA9IHtcbiAgICBvcmc6IHtcbiAgICAgICAgb3JnOiB7XG4gICAgICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICAgICAgc2hvcnRfbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZGlzcGxheV9uYW1lOiBzdHJpbmc7XG4gICAgICAgICAgICBkb21haW46IHN0cmluZztcbiAgICAgICAgICAgIHN0YXR1czogc3RyaW5nO1xuICAgICAgICAgICAgY3JlYXRlZF9hdDogc3RyaW5nO1xuICAgICAgICAgICAgdXBkYXRlZF9hdDogc3RyaW5nO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgZ2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gICAgZXhwZXJpbWVudF9hc3NpZ25tZW50cz86IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50W107XG4gICAgb3JnQ29uZmlnPzogR3JhcGhRbENvbmZpZ1ZhbHVlcztcbn07XG5leHBvcnQgaW50ZXJmYWNlIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG59XG5leHBvcnQgZGVjbGFyZSBjbGFzcyBFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICAgIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJJZDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hbWVzcGFjZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTtcbiAgICBwcml2YXRlIHJlc3BvbnNlO1xuICAgIGNvbnN0cnVjdG9yKHsgYmFzZVVybCwgYXBpS2V5LCB1c2VySWQsIG5hbWVzcGFjZSwgc291cmNlIH06IEVudml2ZUNvbmZpZ1NlcnZpY2VQcm9wcyk7XG4gICAgcHJpdmF0ZSBnZXRDYWNoZUtleTtcbiAgICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWc7XG4gICAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZztcbiAgICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cbi8qKlxuICogUmV0dXJucyBzdGF0aWMgbW9jayBkYXRhIGZyb20gaXRzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gUGFzc2VzIGVtcHR5IGJhc2VVcmwvYXBpS2V5XG4gKiBzbyBhbnkgY29kZSBjaGVja2luZyBpc1JlYWR5IGRvZXMgbm90IGZpcmUgcmVhbCBuZXR3b3JrIHJlcXVlc3RzLiBUaGUgb3JnQ29uZmlnIGZpZWxkXG4gKiBjb3ZlcnMgY29sb3JzLCBmcm9udGVuZENvbmZpZywgYW5kIHBhZ2Uvd2lkZ2V0L21vdW50aW5nIGNvbmZpZ3Mgd2l0aG91dCBhbnkgbmV0d29yayBjYWxscy5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY2xhc3MgTW9ja0Vudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2NrQ29uZmlnO1xuICAgIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgICByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgICBjb25zdHJ1Y3Rvcihtb2NrQ29uZmlnOiBFbnZpdmVTZXJ2aWNlQ29uZmlnKTtcbiAgICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQUksMkJBQTJCLENBQUMsSUFBQTtBQUNoQyxJQUFXLHNCQUFRO0NBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFXLHVCQUFPO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEIsSUFBVyxzQkFBTztDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEIsSUFBVywwQkFBVTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9lbnZpdmVDb25maWdTZXJ2aWNlL2Vudml2ZUNvbmZpZ1NlcnZpY2UuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudCwgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB0eXBlIHsgR3JhcGhRbENvbmZpZ1ZhbHVlcyB9IGZyb20gJ3NyYy9jb250ZXh0cy9ncmFwaHFsQ29udGV4dCc7XG5pbXBvcnQgdHlwZSB7IFVybFJlc29sdmVyUmVzcG9uc2UgfSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gICAgYmFzZVVybDogc3RyaW5nO1xuICAgIGFwaUtleTogc3RyaW5nO1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIHNvdXJjZTogc3RyaW5nO1xuICAgIGVudj86IHN0cmluZztcbiAgICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIEVudml2ZVNlcnZpY2VDb25maWcgPSB7XG4gICAgb3JnOiB7XG4gICAgICAgIG9yZzoge1xuICAgICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICAgIHNob3J0X25hbWU6IHN0cmluZztcbiAgICAgICAgICAgIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICAgICAgICAgICAgZG9tYWluOiBzdHJpbmc7XG4gICAgICAgICAgICBzdGF0dXM6IHN0cmluZztcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgICAgICAgICAgIHVwZGF0ZWRfYXQ6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIGdhdGVzOiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICAgIGV4cGVyaW1lbnRfYXNzaWdubWVudHM/OiBPcmdDb25maWdFeHBlcmltZW50QXNzaWdubWVudFtdO1xuICAgIG9yZ0NvbmZpZz86IEdyYXBoUWxDb25maWdWYWx1ZXM7XG59O1xuZXhwb3J0IGludGVyZmFjZSBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gICAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICAgIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xufVxudHlwZSBCb290c3RyYXBVcmxSZXNvbHZpbmcgPSB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgcmVzcG9uc2U6IFVybFJlc29sdmVyUmVzcG9uc2U7XG59O1xuZXhwb3J0IGRlY2xhcmUgY2xhc3MgRW52aXZlQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElFbnZpdmVDb25maWdTZXJ2aWNlIHtcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VySWQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbnY/O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dFNvdXJjZT87XG4gICAgcHJpdmF0ZSByZXNwb25zZTtcbiAgICBwcml2YXRlIGJvb3RzdHJhcFVybFJlc29sdmluZztcbiAgICBjb25zdHJ1Y3Rvcih7IGJhc2VVcmwsIGFwaUtleSwgdXNlcklkLCBuYW1lc3BhY2UsIHNvdXJjZSwgZW52LCBjb250ZXh0U291cmNlLCB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpO1xuICAgIHRha2VCb290c3RyYXBVcmxSZXNvbHZpbmcoKTogQm9vdHN0cmFwVXJsUmVzb2x2aW5nIHwgbnVsbDtcbiAgICBwcml2YXRlIGdldENhY2hlS2V5O1xuICAgIHByaXZhdGUgcmVhZENhY2hlZENvbmZpZztcbiAgICBwcml2YXRlIHdyaXRlQ2FjaGVkQ29uZmlnO1xuICAgIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xuICAgIHByaXZhdGUgbWF5YmVVcGdyYWRlVG9Cb290c3RyYXA7XG59XG4vKipcbiAqIFJldHVybnMgc3RhdGljIG1vY2sgZGF0YSBmcm9tIGl0cyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuIFBhc3NlcyBlbXB0eSBiYXNlVXJsL2FwaUtleVxuICogc28gYW55IGNvZGUgY2hlY2tpbmcgaXNSZWFkeSBkb2VzIG5vdCBmaXJlIHJlYWwgbmV0d29yayByZXF1ZXN0cy4gVGhlIG9yZ0NvbmZpZyBmaWVsZFxuICogY292ZXJzIGNvbG9ycywgZnJvbnRlbmRDb25maWcsIGFuZCBwYWdlL3dpZGdldC9tb3VudGluZyBjb25maWdzIHdpdGhvdXQgYW55IG5ldHdvcmsgY2FsbHMuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIE1vY2tFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9ja0NvbmZpZztcbiAgICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gICAgY29uc3RydWN0b3IobW9ja0NvbmZpZzogRW52aXZlU2VydmljZUNvbmZpZyk7XG4gICAgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz47XG59XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsSUFBSSwyQkFBMkIsQ0FBQyxJQUFBO0FBQ2hDLElBQVcsc0JBQVE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQVcsdUJBQU87Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNsQixJQUFJLHdCQUFjLENBQUEsV0FBQSxvQkFBQTtBQUNsQixJQUFXLHNCQUFVO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFXLDBCQUFPO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
@@ -1,17 +1,31 @@
1
+ import logger_default from "../../application/logging/logger.js";
1
2
  import { FeatureGates } from "../../application/models/featureGates.js";
3
+ import { getAtomStore } from "../../atoms/atomStore/atomStore.js";
4
+ import { chatIdAtom } from "../../atoms/app/index.js";
5
+ import { FeatureFlagService } from "../featureFlagService/index.js";
2
6
  import { configVersionOverride } from "../../types/config-versions.js";
3
7
  import { fetchUnifiedGraphQLConfig } from "./fetchGraphQLConfig.js";
8
+ import { fetchBootstrapConfig } from "./fetchBootstrapConfig.js";
4
9
 
5
10
  //#region src/services/enviveConfigService/enviveConfigService.ts
11
+ const logger = new logger_default("enviveConfigService");
6
12
  const CONFIG_CACHE_TTL_MS = 300 * 1e3;
7
13
  var EnviveConfigService = class {
8
- constructor({ baseUrl, apiKey, userId, namespace, source }) {
14
+ constructor({ baseUrl, apiKey, userId, namespace, source, env, contextSource }) {
9
15
  this.response = null;
16
+ this.bootstrapUrlResolving = null;
10
17
  this.baseUrl = baseUrl;
11
18
  this.apiKey = apiKey;
12
19
  this.userId = userId;
13
20
  this.namespace = namespace;
14
21
  this.source = source;
22
+ this.env = env;
23
+ this.contextSource = contextSource;
24
+ }
25
+ takeBootstrapUrlResolving() {
26
+ const value = this.bootstrapUrlResolving;
27
+ this.bootstrapUrlResolving = null;
28
+ return value;
15
29
  }
16
30
  getCacheKey() {
17
31
  return `envive-config-cache:${this.baseUrl}:${this.apiKey}:${this.userId}:${this.namespace}:${this.source}`;
@@ -46,10 +60,42 @@ var EnviveConfigService = class {
46
60
  return this.response;
47
61
  }
48
62
  const gateNames = Object.values(FeatureGates).map((featureGate) => featureGate.toString());
49
- this.response = await fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
63
+ const widgetConfig = await fetchUnifiedGraphQLConfig(this.baseUrl, this.apiKey, this.userId, gateNames, this.source);
64
+ this.response = await this.maybeUpgradeToBootstrap(widgetConfig, gateNames);
50
65
  this.writeCachedConfig(this.response);
51
66
  return this.response;
52
67
  }
68
+ async maybeUpgradeToBootstrap(widgetConfig, gateNames) {
69
+ if (this.env === void 0 || this.contextSource === void 0) return widgetConfig;
70
+ const featureFlagService = new FeatureFlagService(widgetConfig.gates);
71
+ if (!featureFlagService.isFeatureGateEnabled(FeatureGates.UseUnifiedConfig)) return widgetConfig;
72
+ const cleansedUrl = window.location.href.toLowerCase().trim();
73
+ try {
74
+ const { config, urlResolving } = await fetchBootstrapConfig({
75
+ baseUrl: this.baseUrl,
76
+ apiKey: this.apiKey,
77
+ userId: this.userId,
78
+ source: this.source,
79
+ namespace: this.namespace,
80
+ gateNames,
81
+ url: cleansedUrl,
82
+ orgId: widgetConfig.org.org.id,
83
+ orgShortName: widgetConfig.org.org.short_name,
84
+ contextSource: this.contextSource,
85
+ env: this.env,
86
+ featureGates: featureFlagService.getFeatureFlags(),
87
+ chatId: getAtomStore().get(chatIdAtom)
88
+ });
89
+ this.bootstrapUrlResolving = urlResolving ? {
90
+ url: cleansedUrl,
91
+ response: urlResolving
92
+ } : null;
93
+ return config;
94
+ } catch (err) {
95
+ logger.logError("getEnviveConfig | bootstrap upgrade failed, using getWidgetConfig", err);
96
+ return widgetConfig;
97
+ }
98
+ }
53
99
  };
54
100
  /**
55
101
  * Returns static mock data from its constructor arguments. Passes empty baseUrl/apiKey
@@ -69,4 +115,4 @@ var MockEnviveConfigService = class {
69
115
 
70
116
  //#endregion
71
117
  export { EnviveConfigService, MockEnviveConfigService };
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5qcyIsIm5hbWVzIjpbImVudHJ5OiBDYWNoZWRDb25maWdFbnRyeSIsIm1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50LCBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mZWF0dXJlR2F0ZXMnO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFsQ29uZmlnVmFsdWVzIH0gZnJvbSAnc3JjL2NvbnRleHRzL2dyYXBocWxDb250ZXh0JztcbmltcG9ydCB7IGNvbmZpZ1ZlcnNpb25PdmVycmlkZSB9IGZyb20gJ3NyYy90eXBlcy9jb25maWctdmVyc2lvbnMnO1xuaW1wb3J0IHsgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyB9IGZyb20gJy4vZmV0Y2hHcmFwaFFMQ29uZmlnJztcblxuLy8gU2hvcnQtbGl2ZWQgc28gY29uZmlnIGNoYW5nZXMgKGdhdGVzLCBleHBlcmltZW50cykgc3RpbGwgcHJvcGFnYXRlIHdpdGhpblxuLy8gYSBzZXNzaW9uLCB3aGlsZSBzcGFyaW5nIGV2ZXJ5IHBhZ2UgbmF2aWdhdGlvbiBmcm9tIHJlLWZldGNoaW5nIG9yZ1xuLy8gY29uZmlnICsgR3JhcGhRTCBjb25maWcsIGJvdGggb2Ygd2hpY2ggc2l0IG9uIHRoZSBjcml0aWNhbCBwYXRoIGJlZm9yZVxuLy8gZmlyc3QgcGFpbnQuXG5jb25zdCBDT05GSUdfQ0FDSEVfVFRMX01TID0gNSAqIDYwICogMTAwMDtcblxudHlwZSBDYWNoZWRDb25maWdFbnRyeSA9IHtcbiAgdmFsdWU6IEVudml2ZVNlcnZpY2VDb25maWc7XG4gIGV4cGlyZXNBdDogbnVtYmVyO1xufTtcblxudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gIGJhc2VVcmw6IHN0cmluZztcbiAgYXBpS2V5OiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBFbnZpdmVTZXJ2aWNlQ29uZmlnID0ge1xuICBvcmc6IHtcbiAgICBvcmc6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBzaG9ydF9uYW1lOiBzdHJpbmc7XG4gICAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgICAgIGRvbWFpbjogc3RyaW5nO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgZ2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gIC8vIFBvcHVsYXRlZCBieSB0aGUgYmFja2VuZCB3aGVuIHRoZSBgdXNlX3VuaWZpZWRfY29uZmlnYCBTdGF0c2lnIGdhdGVcbiAgLy8gZXZhbHVhdGVzIHRydWUuIGFtcGxpdHVkZVNlcnZpY2UgcmVhZHMgdGhlc2UgdG8gZW5yaWNoIGV2ZW50cyB3aXRoXG4gIC8vIGBleHBlcmltZW50Lntuc30uKmAgcHJvcGVydGllcy5cbiAgZXhwZXJpbWVudF9hc3NpZ25tZW50cz86IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50W107XG4gIC8vIG9yZ0NvbmZpZy5yZXNvbHV0aW9uIGlzIHBvcHVsYXRlZCBvbmx5IG9uIHRoZSB1bmlmaWVkIHBhdGggKHNvdXJjZWQgZnJvbVxuICAvLyBnZXRXaWRnZXRDb25maWcucmVzb2x1dGlvbiwgbm90IC92MS9vcmcvY29uZmlnLnJlc29sdXRpb24pIHNvIHRoZSB2ZXJzaW9uXG4gIC8vIHRocmVhZGVkIGludG8gaW5mZXJlbmNlIHJlcXVlc3RzIG1hdGNoZXMgdGhlIHZlcnNpb24gdGhhdCBwcm9kdWNlZCB0aGVcbiAgLy8gcmVuZGVyZWQgd2lkZ2V0cy5cbiAgb3JnQ29uZmlnPzogR3JhcGhRbENvbmZpZ1ZhbHVlcztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuICBnZXRFbnZpdmVDb25maWcoKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPjtcbn1cblxuZXhwb3J0IGNsYXNzIEVudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVzcG9uc2U6IEVudml2ZVNlcnZpY2VDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcih7IGJhc2VVcmwsIGFwaUtleSwgdXNlcklkLCBuYW1lc3BhY2UsIHNvdXJjZSB9OiBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMpIHtcbiAgICB0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xuICAgIHRoaXMuYXBpS2V5ID0gYXBpS2V5O1xuICAgIHRoaXMudXNlcklkID0gdXNlcklkO1xuICAgIHRoaXMubmFtZXNwYWNlID0gbmFtZXNwYWNlO1xuICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYWNoZUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgZW52aXZlLWNvbmZpZy1jYWNoZToke3RoaXMuYmFzZVVybH06JHt0aGlzLmFwaUtleX06JHt0aGlzLnVzZXJJZH06JHt0aGlzLm5hbWVzcGFjZX06JHt0aGlzLnNvdXJjZX1gO1xuICB9XG5cbiAgLy8gYGVudml2ZV9jb25maWdfdmVyc2lvbmAgLyBgc3BpZmZ5X2NvbmZpZ192ZXJzaW9uYCBwaW4gYSBzcGVjaWZpYyBjb25maWdcbiAgLy8gdmVyc2lvbiBmb3IgZGVidWdnaW5nL3JvbGxiYWNrLiBBbnkgdXNlIG9mIHRoYXQgb3ZlcnJpZGUgbXVzdCBhbHdheXNcbiAgLy8gYnlwYXNzIHRoZSBjYWNoZSBiZWxvdyDigJQgYm90aCByZWFkaW5nIGEgc3RhbGUgZW50cnkgYW5kIHdyaXRpbmcgb25lXG4gIC8vIHVuZGVyIHRoZSBzaGFyZWQga2V5IHdvdWxkIGRlZmVhdCB0aGUgb3ZlcnJpZGUncyBwdXJwb3NlLlxuICBwcml2YXRlIHJlYWRDYWNoZWRDb25maWcoKTogRW52aXZlU2VydmljZUNvbmZpZyB8IG51bGwge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByYXcgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHRoaXMuZ2V0Q2FjaGVLZXkoKSk7XG4gICAgICBpZiAoIXJhdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVudHJ5ID0gSlNPTi5wYXJzZShyYXcpIGFzIENhY2hlZENvbmZpZ0VudHJ5O1xuICAgICAgaWYgKERhdGUubm93KCkgPj0gZW50cnkuZXhwaXJlc0F0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGVudHJ5LnZhbHVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZUNhY2hlZENvbmZpZyh2YWx1ZTogRW52aXZlU2VydmljZUNvbmZpZyk6IHZvaWQge1xuICAgIGlmIChjb25maWdWZXJzaW9uT3ZlcnJpZGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgZW50cnk6IENhY2hlZENvbmZpZ0VudHJ5ID0geyB2YWx1ZSwgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ORklHX0NBQ0hFX1RUTF9NUyB9O1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmdldENhY2hlS2V5KCksIEpTT04uc3RyaW5naWZ5KGVudHJ5KSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBTdG9yYWdlIGRpc2FibGVkLCBmdWxsLCBvciB1bmF2YWlsYWJsZSAocHJpdmF0ZSBicm93c2luZywgZXRjLikgLVxuICAgICAgLy8gZmFpbCBvcGVuIGFuZCBsZXQgdGhlIG5leHQgY2FsbCByZS1mZXRjaCBpbnN0ZWFkIG9mIGNhY2hpbmcuXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIGlmICh0aGlzLnJlc3BvbnNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNwb25zZTtcbiAgICB9XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnJlYWRDYWNoZWRDb25maWcoKTtcbiAgICBpZiAoY2FjaGVkICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlc3BvbnNlID0gY2FjaGVkO1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gICAgfVxuXG4gICAgLy8gZ2V0V2lkZ2V0Q29uZmlnIGlzIHRoZSBzaW5nbGUgc291cmNlIG9mIHNlc3Npb24gY29uZmlnOiBpdCByZXR1cm5zIG9yZ1xuICAgIC8vIGlkZW50aXR5ICsgZmVhdHVyZSBnYXRlcyArIGV4cGVyaW1lbnQgYXNzaWdubWVudHMgKHdoaWNoIHVzZWQgdG8gYmUgYVxuICAgIC8vIHNlcGFyYXRlIEdFVCAvdjEvb3JnL2NvbmZpZyBjYWxsKSBhbG9uZ3NpZGUgcHJvZHVjdHNDb25maWcgKyB0aGVcbiAgICAvLyByZXNvbHV0aW9uIG1ldGFkYXRhIHRocmVhZGVkIGludG8gZG93bnN0cmVhbSBpbmZlcmVuY2UuIGBnYXRlTmFtZXNgIGlzIHRoZVxuICAgIC8vIGxpc3Qgb2YgZ2F0ZXMgdGhlIGFwcCBjaGVja3MsIHNvIHRoZSByZXNvbHZlciBldmFsdWF0ZXMgYW5kIHJldHVybnMgdGhlbS5cbiAgICBjb25zdCBnYXRlTmFtZXMgPSBPYmplY3QudmFsdWVzKEZlYXR1cmVHYXRlcykubWFwKGZlYXR1cmVHYXRlID0+IGZlYXR1cmVHYXRlLnRvU3RyaW5nKCkpO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IGF3YWl0IGZldGNoVW5pZmllZEdyYXBoUUxDb25maWcoXG4gICAgICB0aGlzLmJhc2VVcmwsXG4gICAgICB0aGlzLmFwaUtleSxcbiAgICAgIHRoaXMudXNlcklkLFxuICAgICAgZ2F0ZU5hbWVzLFxuICAgICAgdGhpcy5zb3VyY2UsXG4gICAgKTtcbiAgICB0aGlzLndyaXRlQ2FjaGVkQ29uZmlnKHRoaXMucmVzcG9uc2UpO1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBzdGF0aWMgbW9jayBkYXRhIGZyb20gaXRzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gUGFzc2VzIGVtcHR5IGJhc2VVcmwvYXBpS2V5XG4gKiBzbyBhbnkgY29kZSBjaGVja2luZyBpc1JlYWR5IGRvZXMgbm90IGZpcmUgcmVhbCBuZXR3b3JrIHJlcXVlc3RzLiBUaGUgb3JnQ29uZmlnIGZpZWxkXG4gKiBjb3ZlcnMgY29sb3JzLCBmcm9udGVuZENvbmZpZywgYW5kIHBhZ2Uvd2lkZ2V0L21vdW50aW5nIGNvbmZpZ3Mgd2l0aG91dCBhbnkgbmV0d29yayBjYWxscy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tFbnZpdmVDb25maWdTZXJ2aWNlIGltcGxlbWVudHMgSUVudml2ZUNvbmZpZ1NlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBtb2NrQ29uZmlnOiBFbnZpdmVTZXJ2aWNlQ29uZmlnKSB7fVxuXG4gIGFzeW5jIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+IHtcbiAgICByZXR1cm4gdGhpcy5tb2NrQ29uZmlnO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsTUFBTSxzQkFBc0IsTUFBUztBQTZDckMsSUFBYSxzQkFBYixNQUFpRTtDQWEvRCxZQUFZLEVBQUUsU0FBUyxRQUFRLFFBQVEsV0FBVyxVQUFvQztrQkFGdkM7QUFHN0MsT0FBSyxVQUFVO0FBQ2YsT0FBSyxTQUFTO0FBQ2QsT0FBSyxTQUFTO0FBQ2QsT0FBSyxZQUFZO0FBQ2pCLE9BQUssU0FBUzs7Q0FHaEIsQUFBUSxjQUFzQjtBQUM1QixTQUFPLHVCQUF1QixLQUFLLFFBQVEsR0FBRyxLQUFLLE9BQU8sR0FBRyxLQUFLLE9BQU8sR0FBRyxLQUFLLFVBQVUsR0FBRyxLQUFLOztDQU9yRyxBQUFRLG1CQUErQztBQUNyRCxNQUFJLHVCQUF1QixDQUN6QixRQUFPO0FBRVQsTUFBSTtHQUNGLE1BQU0sTUFBTSxlQUFlLFFBQVEsS0FBSyxhQUFhLENBQUM7QUFDdEQsT0FBSSxDQUFDLElBQ0gsUUFBTztHQUVULE1BQU0sUUFBUSxLQUFLLE1BQU0sSUFBSTtBQUM3QixPQUFJLEtBQUssS0FBSyxJQUFJLE1BQU0sVUFDdEIsUUFBTztBQUVULFVBQU8sTUFBTTtVQUNQO0FBQ04sVUFBTzs7O0NBSVgsQUFBUSxrQkFBa0IsT0FBa0M7QUFDMUQsTUFBSSx1QkFBdUIsQ0FDekI7QUFFRixNQUFJO0dBQ0YsTUFBTUEsUUFBMkI7SUFBRTtJQUFPLFdBQVcsS0FBSyxLQUFLLEdBQUc7SUFBcUI7QUFDdkYsa0JBQWUsUUFBUSxLQUFLLGFBQWEsRUFBRSxLQUFLLFVBQVUsTUFBTSxDQUFDO1VBQzNEOztDQU1WLE1BQU0sa0JBQWdEO0FBQ3BELE1BQUksS0FBSyxhQUFhLEtBQ3BCLFFBQU8sS0FBSztFQUdkLE1BQU0sU0FBUyxLQUFLLGtCQUFrQjtBQUN0QyxNQUFJLFdBQVcsTUFBTTtBQUNuQixRQUFLLFdBQVc7QUFDaEIsVUFBTyxLQUFLOztFQVFkLE1BQU0sWUFBWSxPQUFPLE9BQU8sYUFBYSxDQUFDLEtBQUksZ0JBQWUsWUFBWSxVQUFVLENBQUM7QUFFeEYsT0FBSyxXQUFXLE1BQU0sMEJBQ3BCLEtBQUssU0FDTCxLQUFLLFFBQ0wsS0FBSyxRQUNMLFdBQ0EsS0FBSyxPQUNOO0FBQ0QsT0FBSyxrQkFBa0IsS0FBSyxTQUFTO0FBQ3JDLFNBQU8sS0FBSzs7Ozs7Ozs7QUFTaEIsSUFBYSwwQkFBYixNQUFxRTtDQUtuRSxZQUFZLEFBQWlCQyxZQUFpQztFQUFqQztpQkFKSztnQkFFRDs7Q0FJakMsTUFBTSxrQkFBZ0Q7QUFDcEQsU0FBTyxLQUFLIn0=
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnU2VydmljZS5qcyIsIm5hbWVzIjpbIkxvZ2dlciIsImVudHJ5OiBDYWNoZWRDb25maWdFbnRyeSIsIm1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZW52aXZlQ29uZmlnU2VydmljZS9lbnZpdmVDb25maWdTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZ0NvbmZpZ0V4cGVyaW1lbnRBc3NpZ25tZW50LCBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9mZWF0dXJlR2F0ZXMnO1xuaW1wb3J0IHR5cGUgeyBHcmFwaFFsQ29uZmlnVmFsdWVzIH0gZnJvbSAnc3JjL2NvbnRleHRzL2dyYXBocWxDb250ZXh0JztcbmltcG9ydCB7IGNvbmZpZ1ZlcnNpb25PdmVycmlkZSB9IGZyb20gJ3NyYy90eXBlcy9jb25maWctdmVyc2lvbnMnO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2ZlYXR1cmVGbGFnU2VydmljZSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgdHlwZSB7IFVybFJlc29sdmVyUmVzcG9uc2UgfSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSAnc3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmUnO1xuaW1wb3J0IHsgY2hhdElkQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IHsgZmV0Y2hVbmlmaWVkR3JhcGhRTENvbmZpZyB9IGZyb20gJy4vZmV0Y2hHcmFwaFFMQ29uZmlnJztcbmltcG9ydCB7IGZldGNoQm9vdHN0cmFwQ29uZmlnIH0gZnJvbSAnLi9mZXRjaEJvb3RzdHJhcENvbmZpZyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ2Vudml2ZUNvbmZpZ1NlcnZpY2UnKTtcblxuLy8gU2hvcnQtbGl2ZWQgc28gY29uZmlnIGNoYW5nZXMgKGdhdGVzLCBleHBlcmltZW50cykgc3RpbGwgcHJvcGFnYXRlIHdpdGhpblxuLy8gYSBzZXNzaW9uLCB3aGlsZSBzcGFyaW5nIGV2ZXJ5IHBhZ2UgbmF2aWdhdGlvbiBmcm9tIHJlLWZldGNoaW5nIG9yZ1xuLy8gY29uZmlnICsgR3JhcGhRTCBjb25maWcsIGJvdGggb2Ygd2hpY2ggc2l0IG9uIHRoZSBjcml0aWNhbCBwYXRoIGJlZm9yZVxuLy8gZmlyc3QgcGFpbnQuXG5jb25zdCBDT05GSUdfQ0FDSEVfVFRMX01TID0gNSAqIDYwICogMTAwMDtcblxudHlwZSBDYWNoZWRDb25maWdFbnRyeSA9IHtcbiAgdmFsdWU6IEVudml2ZVNlcnZpY2VDb25maWc7XG4gIGV4cGlyZXNBdDogbnVtYmVyO1xufTtcblxudHlwZSBFbnZpdmVDb25maWdTZXJ2aWNlUHJvcHMgPSB7XG4gIGJhc2VVcmw6IHN0cmluZztcbiAgYXBpS2V5OiBzdHJpbmc7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG4gIC8vIFRoZSB1cmxfcmVzb2x2aW5nIGNvbnRleHQgYml0cyB0aGUgaG9va3MgbGF5ZXIgY2FuJ3QgZGVyaXZlIGl0c2VsZiwgc3VwcGxpZWRcbiAgLy8gYnkgdGhlIGluamVjdGlvbiBidW5kbGUgc28gZ2V0RW52aXZlQ29uZmlnIGNhbiBjYWxsIC92MS9zZXNzaW9uL2Jvb3RzdHJhcCBvblxuICAvLyB0aGUgdXNlX3VuaWZpZWRfY29uZmlnIGdhdGUtT04gcGF0aC4gT3B0aW9uYWw6IHdoZW4gYWJzZW50IChtb2Nrcywgbm9uLWJ1bmRsZVxuICAvLyBjYWxsZXJzKSB0aGUgYm9vdHN0cmFwIGJyYW5jaCBpcyBza2lwcGVkIGFuZCBnZXRXaWRnZXRDb25maWcgc3RhbmRzLlxuICBlbnY/OiBzdHJpbmc7XG4gIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBFbnZpdmVTZXJ2aWNlQ29uZmlnID0ge1xuICBvcmc6IHtcbiAgICBvcmc6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBzaG9ydF9uYW1lOiBzdHJpbmc7XG4gICAgICBkaXNwbGF5X25hbWU6IHN0cmluZztcbiAgICAgIGRvbWFpbjogc3RyaW5nO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gICAgICB1cGRhdGVkX2F0OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgZ2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gIC8vIFRoZSB1c2VyJ3MgU3RhdHNpZyBleHBlcmltZW50LWxheWVyIGFzc2lnbm1lbnRzLCBmcm9tIHRoZSB3aWRnZXQgY29uZmlnJ3NcbiAgLy8gcmVzb2x2ZWQgZXhwZXJpbWVudHMg4oCUIGdldFdpZGdldENvbmZpZywgb3IgYm9vdHN0cmFwJ3MgYHdpZGdldF9jb25maWdgXG4gIC8vIChib3RoIHVuZ2F0ZWQgYnkgdXNlX3VuaWZpZWRfY29uZmlnOyBlbXB0eSBvbmx5IHVuZGVyIGEgdmVyc2lvbiBwaW4pLlxuICAvLyBhbXBsaXR1ZGVTZXJ2aWNlIHJlYWRzIHRoZXNlIHRvIGVucmljaCBldmVudHMgd2l0aCBgZXhwZXJpbWVudC57bnN9LipgIHByb3BzLlxuICBleHBlcmltZW50X2Fzc2lnbm1lbnRzPzogT3JnQ29uZmlnRXhwZXJpbWVudEFzc2lnbm1lbnRbXTtcbiAgLy8gb3JnQ29uZmlnLnJlc29sdXRpb24gaXMgcG9wdWxhdGVkIG9ubHkgb24gdGhlIHVuaWZpZWQgcGF0aCAoc291cmNlZCBmcm9tXG4gIC8vIGdldFdpZGdldENvbmZpZy5yZXNvbHV0aW9uLCBub3QgL3YxL29yZy9jb25maWcucmVzb2x1dGlvbikgc28gdGhlIHZlcnNpb25cbiAgLy8gdGhyZWFkZWQgaW50byBpbmZlcmVuY2UgcmVxdWVzdHMgbWF0Y2hlcyB0aGUgdmVyc2lvbiB0aGF0IHByb2R1Y2VkIHRoZVxuICAvLyByZW5kZXJlZCB3aWRnZXRzLlxuICBvcmdDb25maWc/OiBHcmFwaFFsQ29uZmlnVmFsdWVzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmc7XG4gIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+O1xuICAvLyBOQjogYHRha2VCb290c3RyYXBVcmxSZXNvbHZpbmdgIGlzIGludGVudGlvbmFsbHkgTk9UIG9uIHRoaXMgaW50ZXJmYWNlLiBJdCdzXG4gIC8vIGEgYm9vdHN0cmFwLW9ubHkgZGV0YWlsIGNvbnN1bWVkIHNvbGVseSBieSB0aGUgaW5qZWN0aW9uIGJ1bmRsZSB2aWEgdGhlXG4gIC8vIGNvbmNyZXRlIEVudml2ZUNvbmZpZ1NlcnZpY2U7IGtlZXBpbmcgaXQgb2ZmIHRoZSBwdWJsaWMgREkgY29udHJhY3QgYXZvaWRzIGFcbiAgLy8gYnJlYWtpbmcgY2hhbmdlIGZvciBleHRlcm5hbCBjb25zdW1lcnMgdGhhdCBzdXBwbHkgdGhlaXIgb3duIGNvbmZpZyBzZXJ2aWNlXG4gIC8vIChFbnZpdmVQcm92aWRlciBvbmx5IGV2ZXIgY2FsbHMgZ2V0RW52aXZlQ29uZmlnIC8gYmFzZVVybCAvIGFwaUtleSkuXG59XG5cbi8vIFRoZSBib290c3RyYXAgdXJsX3Jlc29sdmluZyBwYXlsb2FkIHBsdXMgdGhlIFVSTCBpdCB3YXMgcmVzb2x2ZWQgZm9yLCBzbyB0aGVcbi8vIHdhcm0tdXAgY2FuIHZlcmlmeSB0aGUgVVJMIHN0aWxsIG1hdGNoZXMgYmVmb3JlIHNlZWRpbmcgKHNlZSBGMTogYSBTUEEgbmF2XG4vLyBkdXJpbmcgdGhlIGJvb3RzdHJhcCByb3VuZCB0cmlwIG11c3Qgbm90IGNhY2hlIFVSTCBBJ3MgcmVzdWx0IHVuZGVyIFVSTCBCKS5cbnR5cGUgQm9vdHN0cmFwVXJsUmVzb2x2aW5nID0geyB1cmw6IHN0cmluZzsgcmVzcG9uc2U6IFVybFJlc29sdmVyUmVzcG9uc2UgfTtcblxuZXhwb3J0IGNsYXNzIEVudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZW52Pzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dFNvdXJjZT86IHN0cmluZztcblxuICBwcml2YXRlIHJlc3BvbnNlOiBFbnZpdmVTZXJ2aWNlQ29uZmlnIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBib290c3RyYXBVcmxSZXNvbHZpbmc6IEJvb3RzdHJhcFVybFJlc29sdmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBiYXNlVXJsLFxuICAgIGFwaUtleSxcbiAgICB1c2VySWQsXG4gICAgbmFtZXNwYWNlLFxuICAgIHNvdXJjZSxcbiAgICBlbnYsXG4gICAgY29udGV4dFNvdXJjZSxcbiAgfTogRW52aXZlQ29uZmlnU2VydmljZVByb3BzKSB7XG4gICAgdGhpcy5iYXNlVXJsID0gYmFzZVVybDtcbiAgICB0aGlzLmFwaUtleSA9IGFwaUtleTtcbiAgICB0aGlzLnVzZXJJZCA9IHVzZXJJZDtcbiAgICB0aGlzLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcbiAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICB0aGlzLmVudiA9IGVudjtcbiAgICB0aGlzLmNvbnRleHRTb3VyY2UgPSBjb250ZXh0U291cmNlO1xuICB9XG5cbiAgLy8gSGFuZHMgb2ZmIChvbmNlKSB0aGUgdXJsX3Jlc29sdmluZyBwYXlsb2FkIHRoYXQgL3YxL3Nlc3Npb24vYm9vdHN0cmFwXG4gIC8vIHJldHVybmVkIGFsb25nc2lkZSB0aGUgY29uZmlnIOKAlCBwYWlyZWQgd2l0aCB0aGUgVVJMIGl0IHdhcyByZXNvbHZlZCBmb3Ig4oCUIHNvXG4gIC8vIHRoZSB3YXJtLXVwIHNlZWRzIHVybFJlc29sdmVyQXRvbSB3aXRoIGl0IGluc3RlYWQgb2YgZmlyaW5nIGEgc2VwYXJhdGVcbiAgLy8gL3YxL3VybF9yZXNvbHZpbmcuIG51bGwgb24gdGhlIGdldFdpZGdldENvbmZpZyAvIGNhY2hlZCBwYXRoLlxuICB0YWtlQm9vdHN0cmFwVXJsUmVzb2x2aW5nKCk6IEJvb3RzdHJhcFVybFJlc29sdmluZyB8IG51bGwge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5ib290c3RyYXBVcmxSZXNvbHZpbmc7XG4gICAgdGhpcy5ib290c3RyYXBVcmxSZXNvbHZpbmcgPSBudWxsO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FjaGVLZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGVudml2ZS1jb25maWctY2FjaGU6JHt0aGlzLmJhc2VVcmx9OiR7dGhpcy5hcGlLZXl9OiR7dGhpcy51c2VySWR9OiR7dGhpcy5uYW1lc3BhY2V9OiR7dGhpcy5zb3VyY2V9YDtcbiAgfVxuXG4gIC8vIGBlbnZpdmVfY29uZmlnX3ZlcnNpb25gIC8gYHNwaWZmeV9jb25maWdfdmVyc2lvbmAgcGluIGEgc3BlY2lmaWMgY29uZmlnXG4gIC8vIHZlcnNpb24gZm9yIGRlYnVnZ2luZy9yb2xsYmFjay4gQW55IHVzZSBvZiB0aGF0IG92ZXJyaWRlIG11c3QgYWx3YXlzXG4gIC8vIGJ5cGFzcyB0aGUgY2FjaGUgYmVsb3cg4oCUIGJvdGggcmVhZGluZyBhIHN0YWxlIGVudHJ5IGFuZCB3cml0aW5nIG9uZVxuICAvLyB1bmRlciB0aGUgc2hhcmVkIGtleSB3b3VsZCBkZWZlYXQgdGhlIG92ZXJyaWRlJ3MgcHVycG9zZS5cbiAgcHJpdmF0ZSByZWFkQ2FjaGVkQ29uZmlnKCk6IEVudml2ZVNlcnZpY2VDb25maWcgfCBudWxsIHtcbiAgICBpZiAoY29uZmlnVmVyc2lvbk92ZXJyaWRlKCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmF3ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmdldENhY2hlS2V5KCkpO1xuICAgICAgaWYgKCFyYXcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBlbnRyeSA9IEpTT04ucGFyc2UocmF3KSBhcyBDYWNoZWRDb25maWdFbnRyeTtcbiAgICAgIGlmIChEYXRlLm5vdygpID49IGVudHJ5LmV4cGlyZXNBdCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlbnRyeS52YWx1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgd3JpdGVDYWNoZWRDb25maWcodmFsdWU6IEVudml2ZVNlcnZpY2VDb25maWcpOiB2b2lkIHtcbiAgICBpZiAoY29uZmlnVmVyc2lvbk92ZXJyaWRlKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVudHJ5OiBDYWNoZWRDb25maWdFbnRyeSA9IHsgdmFsdWUsIGV4cGlyZXNBdDogRGF0ZS5ub3coKSArIENPTkZJR19DQUNIRV9UVExfTVMgfTtcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5nZXRDYWNoZUtleSgpLCBKU09OLnN0cmluZ2lmeShlbnRyeSkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU3RvcmFnZSBkaXNhYmxlZCwgZnVsbCwgb3IgdW5hdmFpbGFibGUgKHByaXZhdGUgYnJvd3NpbmcsIGV0Yy4pIC1cbiAgICAgIC8vIGZhaWwgb3BlbiBhbmQgbGV0IHRoZSBuZXh0IGNhbGwgcmUtZmV0Y2ggaW5zdGVhZCBvZiBjYWNoaW5nLlxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldEVudml2ZUNvbmZpZygpOiBQcm9taXNlPEVudml2ZVNlcnZpY2VDb25maWc+IHtcbiAgICBpZiAodGhpcy5yZXNwb25zZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVzcG9uc2U7XG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5yZWFkQ2FjaGVkQ29uZmlnKCk7XG4gICAgaWYgKGNhY2hlZCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5yZXNwb25zZSA9IGNhY2hlZDtcbiAgICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICAgIH1cblxuICAgIC8vIGdldFdpZGdldENvbmZpZyBpcyB0aGUgc2luZ2xlIHNvdXJjZSBvZiBzZXNzaW9uIGNvbmZpZzogaXQgcmV0dXJucyBvcmdcbiAgICAvLyBpZGVudGl0eSArIGZlYXR1cmUgZ2F0ZXMgKyBleHBlcmltZW50IGFzc2lnbm1lbnRzICh3aGljaCB1c2VkIHRvIGJlIGFcbiAgICAvLyBzZXBhcmF0ZSBHRVQgL3YxL29yZy9jb25maWcgY2FsbCkgYWxvbmdzaWRlIHByb2R1Y3RzQ29uZmlnICsgdGhlXG4gICAgLy8gcmVzb2x1dGlvbiBtZXRhZGF0YSB0aHJlYWRlZCBpbnRvIGRvd25zdHJlYW0gaW5mZXJlbmNlLiBgZ2F0ZU5hbWVzYCBpcyB0aGVcbiAgICAvLyBsaXN0IG9mIGdhdGVzIHRoZSBhcHAgY2hlY2tzLCBzbyB0aGUgcmVzb2x2ZXIgZXZhbHVhdGVzIGFuZCByZXR1cm5zIHRoZW0uXG4gICAgY29uc3QgZ2F0ZU5hbWVzID0gT2JqZWN0LnZhbHVlcyhGZWF0dXJlR2F0ZXMpLm1hcChmZWF0dXJlR2F0ZSA9PiBmZWF0dXJlR2F0ZS50b1N0cmluZygpKTtcblxuICAgIGNvbnN0IHdpZGdldENvbmZpZyA9IGF3YWl0IGZldGNoVW5pZmllZEdyYXBoUUxDb25maWcoXG4gICAgICB0aGlzLmJhc2VVcmwsXG4gICAgICB0aGlzLmFwaUtleSxcbiAgICAgIHRoaXMudXNlcklkLFxuICAgICAgZ2F0ZU5hbWVzLFxuICAgICAgdGhpcy5zb3VyY2UsXG4gICAgKTtcblxuICAgIHRoaXMucmVzcG9uc2UgPSBhd2FpdCB0aGlzLm1heWJlVXBncmFkZVRvQm9vdHN0cmFwKHdpZGdldENvbmZpZywgZ2F0ZU5hbWVzKTtcbiAgICB0aGlzLndyaXRlQ2FjaGVkQ29uZmlnKHRoaXMucmVzcG9uc2UpO1xuICAgIHJldHVybiB0aGlzLnJlc3BvbnNlO1xuICB9XG5cbiAgLy8gVGhlIHVuaWZpZWQtY29uZmlnIHJhbXAgKGB1c2VfdW5pZmllZF9jb25maWdgIFN0YXRzaWcgZ2F0ZSkuIFdoZW4gdGhlIGdhdGVcbiAgLy8gaXMgT04gZm9yIHRoaXMgdXNlciwgc3dhcCB0aGUgZ2V0V2lkZ2V0Q29uZmlnIHJlc3VsdCBmb3IgTWF0dCdzXG4gIC8vIC92MS9zZXNzaW9uL2Jvb3RzdHJhcCDigJQgdGhlIHNhbWUgY29uZmlnIFBMVVMgdGhlIGluaXRpYWwgdXJsX3Jlc29sdmluZyBpblxuICAvLyBPTkUgcm91bmQgdHJpcCAodGhlIGNvbnNvbGlkYXRpb24gdGhpcyBtaWdyYXRpb24gaXMgYWJvdXQpLiBUaGUgZ2F0ZSBpcyByZWFkXG4gIC8vIG9mZiB0aGUgZ2V0V2lkZ2V0Q29uZmlnIHJlc3BvbnNlIGp1c3QgZmV0Y2hlZCwgYmVjYXVzZSB0aGUgRkUgaGFzIG5vIFN0YXRzaWdcbiAgLy8gU0RLOiBweW1vbm8gZXZhbHVhdGVzIHRoZSBnYXRlIHNlcnZlci1zaWRlIGFuZCByZXR1cm5zIGl0LiBgRmVhdHVyZUZsYWdTZXJ2aWNlYFxuICAvLyBhbHNvIGhvbm9ycyBhIGA/dXNlX3VuaWZpZWRfY29uZmlnPXRydWVgIG92ZXJyaWRlLCBzbyB0aGUgYm9vdHN0cmFwIHBhdGggaXNcbiAgLy8gdGVzdGFibGUgYmVmb3JlIHRoZSBnYXRlIHJhbXBzLlxuICAvL1xuICAvLyBPbmx5IHJ1bnMgb24gdGhlIGNhY2hlLW1pc3MgcGF0aCAoYm9vdHN0cmFwJ3MgY29uZmlnIGlzIHRoZW4gY2FjaGVkIGxpa2UgYW55XG4gIC8vIG90aGVyKSwgc28gYSBjYWNoZWQgbG9hZCBuZXZlciByZS1mZXRjaGVzLiBOZWVkcyBlbnYgKyBjb250ZXh0U291cmNlIGZvciB0aGVcbiAgLy8gdXJsX3Jlc29sdmluZyBjb250ZXh0IOKAlCBhYnNlbnQgZm9yIG1vY2tzIC8gbm9uLWJ1bmRsZSBjYWxsZXJzLCB3aGVyZSB0aGVcbiAgLy8gYnJhbmNoIGlzIHNraXBwZWQuIEEgYm9vdHN0cmFwIGZhaWx1cmUgZmFsbHMgYmFjayB0byB0aGUgZ2V0V2lkZ2V0Q29uZmlnXG4gIC8vIGNvbmZpZyBhbHJlYWR5IGluIGhhbmQ6IGEgYm9vdHN0cmFwIHByb2JsZW0gZGVncmFkZXMgdG8gdGhlIHByb3ZlbiBwYXRoXG4gIC8vIGluc3RlYWQgb2YgYWJvcnRpbmcgaW5qZWN0aW9uLiBBdCAxMDAlIHRoZSBnZXRXaWRnZXRDb25maWcgY2FsbCBhYm92ZSBpc1xuICAvLyBkcm9wcGVkIGFuZCBib290c3RyYXAgYmVjb21lcyB0aGUgc29sZSBjb25maWcgY2FsbCAoc3RlcCA4KS5cbiAgcHJpdmF0ZSBhc3luYyBtYXliZVVwZ3JhZGVUb0Jvb3RzdHJhcChcbiAgICB3aWRnZXRDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWcsXG4gICAgZ2F0ZU5hbWVzOiBzdHJpbmdbXSxcbiAgKTogUHJvbWlzZTxFbnZpdmVTZXJ2aWNlQ29uZmlnPiB7XG4gICAgaWYgKHRoaXMuZW52ID09PSB1bmRlZmluZWQgfHwgdGhpcy5jb250ZXh0U291cmNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB3aWRnZXRDb25maWc7XG4gICAgfVxuICAgIC8vIEJ1aWx0IG9uY2U6IHJlYWRzIHRoZSBnYXRlIChvdmVycmlkZS1hd2FyZSkgQU5EIHN1cHBsaWVzIHRoZSBvdmVycmlkZS1hd2FyZVxuICAgIC8vIGdhdGUgbWFwIGJvb3RzdHJhcCdzIHVybF9yZXNvbHZpbmcgbmVlZHMgKG1hdGNoZXMgdGhlIGxlZ2FjeSByZXNvbHZlVXJsIHBhdGgpLlxuICAgIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZSA9IG5ldyBGZWF0dXJlRmxhZ1NlcnZpY2Uod2lkZ2V0Q29uZmlnLmdhdGVzKTtcbiAgICBpZiAoIWZlYXR1cmVGbGFnU2VydmljZS5pc0ZlYXR1cmVHYXRlRW5hYmxlZChGZWF0dXJlR2F0ZXMuVXNlVW5pZmllZENvbmZpZykpIHtcbiAgICAgIHJldHVybiB3aWRnZXRDb25maWc7XG4gICAgfVxuXG4gICAgLy8gQ2FwdHVyZWQgb25jZSBhbmQgcmV1c2VkIGZvciBib3RoIHRoZSBib290c3RyYXAgcmVxdWVzdCBhbmQgdGhlIHN0YXNoLCBzb1xuICAgIC8vIHRoZSBVUkwgY2FycmllZCB0byB0aGUgd2FybS11cCBpcyBwcm92YWJseSB0aGUgb25lIGJvb3RzdHJhcCByZXNvbHZlZC4gVGhlXG4gICAgLy8gd2FybS11cCBvbmx5IHNlZWRzIGl0IGlmIHRoaXMgc3RpbGwgbWF0Y2hlcyB0aGUgY3VycmVudCBVUkwgKGEgU1BBIG5hdlxuICAgIC8vIGR1cmluZyB0aGUgcm91bmQgdHJpcCB3b3VsZCBvdGhlcndpc2UgY2FjaGUgdGhpcyByZXN1bHQgdW5kZXIgYSBsYXRlciBVUkwpLlxuICAgIC8vIFNhbWUgY2xlYW5zaW5nIGFzIHdhcm1VcmxSZXNvbHZlciBzbyB0aGUgdXJsUmVzb2x2ZXJBdG9tIGtleSBsaW5lcyB1cC5cbiAgICBjb25zdCBjbGVhbnNlZFVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGNvbmZpZywgdXJsUmVzb2x2aW5nIH0gPSBhd2FpdCBmZXRjaEJvb3RzdHJhcENvbmZpZyh7XG4gICAgICAgIGJhc2VVcmw6IHRoaXMuYmFzZVVybCxcbiAgICAgICAgYXBpS2V5OiB0aGlzLmFwaUtleSxcbiAgICAgICAgdXNlcklkOiB0aGlzLnVzZXJJZCxcbiAgICAgICAgc291cmNlOiB0aGlzLnNvdXJjZSxcbiAgICAgICAgLy8gU2NvcGUgb3JnX2NvbmZpZy5jb25maWdzIHRvIHRoaXMgbmFtZXNwYWNlIHNvIGJvb3RzdHJhcCBkb2Vzbid0IHJldHVyblxuICAgICAgICAvLyBpbnRlcm5hbC1vbmx5IG9yZyBjb25maWdzIHRvIHRoZSBicm93c2VyIChtYXRjaGVzIHRoZSBsZWdhY3kgL3YxL29yZy9jb25maWcpLlxuICAgICAgICBuYW1lc3BhY2U6IHRoaXMubmFtZXNwYWNlLFxuICAgICAgICBnYXRlTmFtZXMsXG4gICAgICAgIHVybDogY2xlYW5zZWRVcmwsXG4gICAgICAgIG9yZ0lkOiB3aWRnZXRDb25maWcub3JnLm9yZy5pZCxcbiAgICAgICAgb3JnU2hvcnROYW1lOiB3aWRnZXRDb25maWcub3JnLm9yZy5zaG9ydF9uYW1lLFxuICAgICAgICBjb250ZXh0U291cmNlOiB0aGlzLmNvbnRleHRTb3VyY2UsXG4gICAgICAgIGVudjogdGhpcy5lbnYsXG4gICAgICAgIGZlYXR1cmVHYXRlczogZmVhdHVyZUZsYWdTZXJ2aWNlLmdldEZlYXR1cmVGbGFncygpLFxuICAgICAgICAvLyBUaGUgcGVyc2lzdGVudCBjaGF0IHNlc3Npb24gaWQgKHNhbWUgc291cmNlIHJlc29sdmVVcmwgcmVhZHMpIHNvXG4gICAgICAgIC8vIGJvb3RzdHJhcCdzIHVybF9yZXNvbHZpbmcgY2FycmllcyBpdCBpbnN0ZWFkIG9mIGFuIGVtcHR5IHN0cmluZy5cbiAgICAgICAgY2hhdElkOiBnZXRBdG9tU3RvcmUoKS5nZXQoY2hhdElkQXRvbSksXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYm9vdHN0cmFwVXJsUmVzb2x2aW5nID0gdXJsUmVzb2x2aW5nXG4gICAgICAgID8geyB1cmw6IGNsZWFuc2VkVXJsLCByZXNwb25zZTogdXJsUmVzb2x2aW5nIH1cbiAgICAgICAgOiBudWxsO1xuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dlci5sb2dFcnJvcignZ2V0RW52aXZlQ29uZmlnIHwgYm9vdHN0cmFwIHVwZ3JhZGUgZmFpbGVkLCB1c2luZyBnZXRXaWRnZXRDb25maWcnLCBlcnIpO1xuICAgICAgcmV0dXJuIHdpZGdldENvbmZpZztcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHN0YXRpYyBtb2NrIGRhdGEgZnJvbSBpdHMgY29uc3RydWN0b3IgYXJndW1lbnRzLiBQYXNzZXMgZW1wdHkgYmFzZVVybC9hcGlLZXlcbiAqIHNvIGFueSBjb2RlIGNoZWNraW5nIGlzUmVhZHkgZG9lcyBub3QgZmlyZSByZWFsIG5ldHdvcmsgcmVxdWVzdHMuIFRoZSBvcmdDb25maWcgZmllbGRcbiAqIGNvdmVycyBjb2xvcnMsIGZyb250ZW5kQ29uZmlnLCBhbmQgcGFnZS93aWRnZXQvbW91bnRpbmcgY29uZmlncyB3aXRob3V0IGFueSBuZXR3b3JrIGNhbGxzLlxuICovXG5leHBvcnQgY2xhc3MgTW9ja0Vudml2ZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBJRW52aXZlQ29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlVXJsOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgcmVhZG9ubHkgYXBpS2V5OiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1vY2tDb25maWc6IEVudml2ZVNlcnZpY2VDb25maWcpIHt9XG5cbiAgYXN5bmMgZ2V0RW52aXZlQ29uZmlnKCk6IFByb21pc2U8RW52aXZlU2VydmljZUNvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLm1vY2tDb25maWc7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVlBLE1BQU0sU0FBUyxJQUFJQSxlQUFPLHNCQUFzQjtBQU1oRCxNQUFNLHNCQUFzQixNQUFTO0FBOERyQyxJQUFhLHNCQUFiLE1BQWlFO0NBbUIvRCxZQUFZLEVBQ1YsU0FDQSxRQUNBLFFBQ0EsV0FDQSxRQUNBLEtBQ0EsaUJBQzJCO2tCQVprQjsrQkFFZTtBQVc1RCxPQUFLLFVBQVU7QUFDZixPQUFLLFNBQVM7QUFDZCxPQUFLLFNBQVM7QUFDZCxPQUFLLFlBQVk7QUFDakIsT0FBSyxTQUFTO0FBQ2QsT0FBSyxNQUFNO0FBQ1gsT0FBSyxnQkFBZ0I7O0NBT3ZCLDRCQUEwRDtFQUN4RCxNQUFNLFFBQVEsS0FBSztBQUNuQixPQUFLLHdCQUF3QjtBQUM3QixTQUFPOztDQUdULEFBQVEsY0FBc0I7QUFDNUIsU0FBTyx1QkFBdUIsS0FBSyxRQUFRLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxPQUFPLEdBQUcsS0FBSyxVQUFVLEdBQUcsS0FBSzs7Q0FPckcsQUFBUSxtQkFBK0M7QUFDckQsTUFBSSx1QkFBdUIsQ0FDekIsUUFBTztBQUVULE1BQUk7R0FDRixNQUFNLE1BQU0sZUFBZSxRQUFRLEtBQUssYUFBYSxDQUFDO0FBQ3RELE9BQUksQ0FBQyxJQUNILFFBQU87R0FFVCxNQUFNLFFBQVEsS0FBSyxNQUFNLElBQUk7QUFDN0IsT0FBSSxLQUFLLEtBQUssSUFBSSxNQUFNLFVBQ3RCLFFBQU87QUFFVCxVQUFPLE1BQU07VUFDUDtBQUNOLFVBQU87OztDQUlYLEFBQVEsa0JBQWtCLE9BQWtDO0FBQzFELE1BQUksdUJBQXVCLENBQ3pCO0FBRUYsTUFBSTtHQUNGLE1BQU1DLFFBQTJCO0lBQUU7SUFBTyxXQUFXLEtBQUssS0FBSyxHQUFHO0lBQXFCO0FBQ3ZGLGtCQUFlLFFBQVEsS0FBSyxhQUFhLEVBQUUsS0FBSyxVQUFVLE1BQU0sQ0FBQztVQUMzRDs7Q0FNVixNQUFNLGtCQUFnRDtBQUNwRCxNQUFJLEtBQUssYUFBYSxLQUNwQixRQUFPLEtBQUs7RUFHZCxNQUFNLFNBQVMsS0FBSyxrQkFBa0I7QUFDdEMsTUFBSSxXQUFXLE1BQU07QUFDbkIsUUFBSyxXQUFXO0FBQ2hCLFVBQU8sS0FBSzs7RUFRZCxNQUFNLFlBQVksT0FBTyxPQUFPLGFBQWEsQ0FBQyxLQUFJLGdCQUFlLFlBQVksVUFBVSxDQUFDO0VBRXhGLE1BQU0sZUFBZSxNQUFNLDBCQUN6QixLQUFLLFNBQ0wsS0FBSyxRQUNMLEtBQUssUUFDTCxXQUNBLEtBQUssT0FDTjtBQUVELE9BQUssV0FBVyxNQUFNLEtBQUssd0JBQXdCLGNBQWMsVUFBVTtBQUMzRSxPQUFLLGtCQUFrQixLQUFLLFNBQVM7QUFDckMsU0FBTyxLQUFLOztDQW1CZCxNQUFjLHdCQUNaLGNBQ0EsV0FDOEI7QUFDOUIsTUFBSSxLQUFLLFFBQVEsVUFBYSxLQUFLLGtCQUFrQixPQUNuRCxRQUFPO0VBSVQsTUFBTSxxQkFBcUIsSUFBSSxtQkFBbUIsYUFBYSxNQUFNO0FBQ3JFLE1BQUksQ0FBQyxtQkFBbUIscUJBQXFCLGFBQWEsaUJBQWlCLENBQ3pFLFFBQU87RUFRVCxNQUFNLGNBQWMsT0FBTyxTQUFTLEtBQUssYUFBYSxDQUFDLE1BQU07QUFDN0QsTUFBSTtHQUNGLE1BQU0sRUFBRSxRQUFRLGlCQUFpQixNQUFNLHFCQUFxQjtJQUMxRCxTQUFTLEtBQUs7SUFDZCxRQUFRLEtBQUs7SUFDYixRQUFRLEtBQUs7SUFDYixRQUFRLEtBQUs7SUFHYixXQUFXLEtBQUs7SUFDaEI7SUFDQSxLQUFLO0lBQ0wsT0FBTyxhQUFhLElBQUksSUFBSTtJQUM1QixjQUFjLGFBQWEsSUFBSSxJQUFJO0lBQ25DLGVBQWUsS0FBSztJQUNwQixLQUFLLEtBQUs7SUFDVixjQUFjLG1CQUFtQixpQkFBaUI7SUFHbEQsUUFBUSxjQUFjLENBQUMsSUFBSSxXQUFXO0lBQ3ZDLENBQUM7QUFDRixRQUFLLHdCQUF3QixlQUN6QjtJQUFFLEtBQUs7SUFBYSxVQUFVO0lBQWMsR0FDNUM7QUFDSixVQUFPO1dBQ0EsS0FBSztBQUNaLFVBQU8sU0FBUyxxRUFBcUUsSUFBSTtBQUN6RixVQUFPOzs7Ozs7Ozs7QUFVYixJQUFhLDBCQUFiLE1BQXFFO0NBS25FLFlBQVksQUFBaUJDLFlBQWlDO0VBQWpDO2lCQUpLO2dCQUVEOztDQUlqQyxNQUFNLGtCQUFnRDtBQUNwRCxTQUFPLEtBQUsifQ==