@envive-ai/react-hooks 0.3.22 → 0.3.23

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 (90) hide show
  1. package/dist/application/models/featureGates.cjs +2 -1
  2. package/dist/application/models/featureGates.d.cts +2 -1
  3. package/dist/application/models/featureGates.d.ts +2 -1
  4. package/dist/application/models/featureGates.js +2 -1
  5. package/dist/atoms/app/index.d.cts +7 -7
  6. package/dist/atoms/app/index.d.ts +7 -7
  7. package/dist/atoms/app/variant.d.cts +6 -6
  8. package/dist/atoms/app/variant.d.ts +6 -6
  9. package/dist/atoms/chat/chatState.cjs +3 -1
  10. package/dist/atoms/chat/chatState.d.cts +22 -19
  11. package/dist/atoms/chat/chatState.d.ts +5 -2
  12. package/dist/atoms/chat/chatState.js +3 -2
  13. package/dist/atoms/chat/form.d.cts +2 -2
  14. package/dist/atoms/chat/form.d.ts +2 -2
  15. package/dist/atoms/chat/index.cjs +1 -0
  16. package/dist/atoms/chat/index.d.cts +3 -3
  17. package/dist/atoms/chat/index.d.ts +4 -4
  18. package/dist/atoms/chat/index.js +2 -2
  19. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  20. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  21. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  22. package/dist/atoms/chat/messageQueue.d.ts +6 -6
  23. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  24. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  25. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  26. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  27. package/dist/atoms/chat/replies.d.cts +3 -3
  28. package/dist/atoms/chat/suggestions.d.cts +2 -2
  29. package/dist/atoms/chat/suggestions.d.ts +2 -2
  30. package/dist/atoms/envive/enviveConfig.d.cts +13 -13
  31. package/dist/atoms/envive/enviveConfig.d.ts +13 -13
  32. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  33. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  34. package/dist/atoms/org/customerService.d.cts +6 -6
  35. package/dist/atoms/org/customerService.d.ts +6 -6
  36. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  37. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  38. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  39. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  40. package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
  41. package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
  42. package/dist/atoms/search/chatSearch.d.cts +17 -17
  43. package/dist/atoms/search/chatSearch.d.ts +17 -17
  44. package/dist/atoms/search/searchAPI.d.cts +13 -13
  45. package/dist/atoms/search/searchAPI.d.ts +13 -13
  46. package/dist/atoms/search/types.d.cts +1 -1
  47. package/dist/atoms/search/types.d.ts +1 -1
  48. package/dist/atoms/search/utils.d.ts +1 -1
  49. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  50. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  51. package/dist/contexts/enviveContext/enviveContext.cjs +3 -3
  52. package/dist/contexts/enviveContext/enviveContext.js +3 -3
  53. package/dist/contexts/hardcopyContext/hardcopyContext.cjs +5 -3
  54. package/dist/contexts/hardcopyContext/hardcopyContext.js +5 -3
  55. package/dist/contexts/salesAgentContext/chatAPI.cjs +12 -5
  56. package/dist/contexts/salesAgentContext/chatAPI.js +13 -6
  57. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
  58. package/dist/contexts/types.d.cts +1 -1
  59. package/dist/contexts/types.d.ts +1 -1
  60. package/dist/contexts/typesV3.cjs +1 -1
  61. package/dist/contexts/typesV3.d.cts +2 -1
  62. package/dist/contexts/typesV3.d.ts +2 -1
  63. package/dist/contexts/typesV3.js +1 -1
  64. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
  65. package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
  66. package/dist/hooks/Search/useSearchInput.cjs +1 -1
  67. package/dist/hooks/Search/useSearchInput.js +1 -1
  68. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +8 -2
  69. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +8 -2
  70. package/dist/hooks/WidgetInteraction/types.cjs +6 -2
  71. package/dist/hooks/WidgetInteraction/types.d.cts +8 -3
  72. package/dist/hooks/WidgetInteraction/types.d.ts +8 -3
  73. package/dist/hooks/WidgetInteraction/types.js +6 -2
  74. package/dist/hooks/utils.d.cts +1 -1
  75. package/dist/hooks/utils.d.ts +1 -1
  76. package/dist/services/ga4ProjectionService/ga4EventSchema.cjs +31 -27
  77. package/dist/services/ga4ProjectionService/ga4EventSchema.js +31 -27
  78. package/dist/services/ga4ProjectionService/ga4ProjectionService.cjs +31 -5
  79. package/dist/services/ga4ProjectionService/ga4ProjectionService.js +31 -5
  80. package/package.json +1 -1
  81. package/src/application/models/featureGates.ts +1 -0
  82. package/src/atoms/chat/chatState.ts +1 -0
  83. package/src/contexts/hardcopyContext/hardcopyContext.tsx +10 -2
  84. package/src/contexts/salesAgentContext/chatAPI.ts +6 -2
  85. package/src/contexts/typesV3.ts +1 -0
  86. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +10 -2
  87. package/src/hooks/WidgetInteraction/types.ts +10 -1
  88. package/src/services/ga4ProjectionService/__tests__/ga4ProjectionService.test.ts +110 -49
  89. package/src/services/ga4ProjectionService/ga4EventSchema.ts +35 -27
  90. package/src/services/ga4ProjectionService/ga4ProjectionService.ts +60 -6
@@ -57,6 +57,8 @@ declare enum WidgetInteractionType {
57
57
  REVIEW_CARD_CLICKED = "review_card_clicked",
58
58
  MESSAGE_SUBMITTED = "message_submitted",
59
59
  MANUAL_SCROLL_TO_BOTTOM = "manual_scroll_to_bottom",
60
+ VOICE_TRANSCRIPTION_STARTED = "voice_transcription_started",
61
+ VOICE_TRANSCRIPTION_COMPLETED = "voice_transcription_completed",
60
62
  }
61
63
  declare enum InteractionClass {
62
64
  PASSIVE = "passive",
@@ -114,7 +116,10 @@ type ReviewCardClicked = {
114
116
  type MessageSubmitted = {
115
117
  message_submitted: Request;
116
118
  };
117
- type WidgetInteractionData = SuggestionScrolled | SuggestionClicked | SuggestionHovered | LinkClicked | WidgetCollapsed | TextLinkClicked | ArticleLinkClicked | ProductCardClicked | ReviewCardClicked | MessageSubmitted;
119
+ type VoiceTranscription = {
120
+ transcription: string;
121
+ };
122
+ type WidgetInteractionData = SuggestionScrolled | SuggestionClicked | SuggestionHovered | LinkClicked | WidgetCollapsed | TextLinkClicked | ArticleLinkClicked | ProductCardClicked | ReviewCardClicked | MessageSubmitted | VoiceTranscription;
118
123
  //#endregion
119
- export { ArticleLinkClicked, Collapse, INTERACTION_TYPE_CLASS, InteractionClass, InternalWidgetInteraction, LinkClicked, MessageSubmitted, Product, ProductCardClicked, Request, Review, ReviewCardClicked, Suggestion, SuggestionClicked, SuggestionHovered, SuggestionScrolled, TextLinkClicked, URL, WidgetCollapsed, WidgetInteraction, WidgetInteractionComponent, WidgetInteractionContext, WidgetInteractionData, WidgetInteractionPageType, WidgetInteractionTrigger, WidgetInteractionType };
120
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24vdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgcGFnZV90eXBlOiBXaWRnZXRJbnRlcmFjdGlvblBhZ2VUeXBlO1xuICAgIHBhZ2VfaWQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb25UcmlnZ2VyIHtcbiAgICBpbnRlcmFjdGlvbl9pZD86IHN0cmluZztcbiAgICB3aWRnZXQ6IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50O1xuICAgIHdpZGdldF9pbnRlcmFjdGlvbjogV2lkZ2V0SW50ZXJhY3Rpb25UeXBlO1xuICAgIHdpZGdldF9pbnRlcmFjdGlvbl9kYXRhPzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhIHwgbnVsbDtcbiAgICBpbnRlcmFjdGlvbl9jbGFzcz86IEludGVyYWN0aW9uQ2xhc3M7XG59XG5leHBvcnQgaW50ZXJmYWNlIEludGVybmFsV2lkZ2V0SW50ZXJhY3Rpb24ge1xuICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB8IEVudml2ZU1ldHJpY3NFdmVudE5hbWU7XG4gICAgY29udGV4dDogV2lkZ2V0SW50ZXJhY3Rpb25Db250ZXh0O1xuICAgIHRyaWdnZXI6IFdpZGdldEludGVyYWN0aW9uVHJpZ2dlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb24ge1xuICAgIGV2ZW50TmFtZTogSW50ZXJuYWxXaWRnZXRJbnRlcmFjdGlvblsnZXZlbnROYW1lJ107XG4gICAgdHJpZ2dlcjogSW50ZXJuYWxXaWRnZXRJbnRlcmFjdGlvblsndHJpZ2dlciddO1xufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBXaWRnZXRJbnRlcmFjdGlvblBhZ2VUeXBlIHtcbiAgICBQRFAgPSBcInBkcFwiLFxuICAgIFBMUCA9IFwicGxwXCIsXG4gICAgSE9NRVBBR0UgPSBcImhvbWVwYWdlXCIsXG4gICAgU0VBUkNIID0gXCJzZWFyY2hcIixcbiAgICBPVEhFUiA9IFwib3RoZXJcIixcbiAgICBGVUxMX1BBR0UgPSBcImZ1bGxfcGFnZVwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50IHtcbiAgICBFTUJFRERFRF9XSURHRVQgPSBcImVtYmVkZGVkX3dpZGdldFwiLFxuICAgIFNVR0dFU1RJT05fQkFSID0gXCJzdWdnZXN0aW9uX2JhclwiLFxuICAgIEZMT0FUSU5HX0JVVFRPTiA9IFwiZmxvYXRpbmdfYnV0dG9uXCIsXG4gICAgRlVMTF9QQUdFX1NBTEVTX0FHRU5UID0gXCJmdWxsX3BhZ2Vfc2FsZXNfYWdlbnRcIixcbiAgICBTT0NJQUxfUFJPT0YgPSBcInNvY2lhbF9wcm9vZlwiLFxuICAgIENIQVRfUFJFVklFVyA9IFwiY2hhdF9wcmV2aWV3XCIsXG4gICAgRkxPQVRJTkdfQ0hBVCA9IFwiZmxvYXRpbmdfY2hhdFwiLFxuICAgIFNJTkdMRV9JTUFHRV9QUk9NUFQgPSBcInNpbmdsZV9pbWFnZV9wcm9tcHRcIixcbiAgICBJTUFHRV9QUk9NUFRfQ0FSRCA9IFwiaW1hZ2VfcHJvbXB0X2NhcmRcIixcbiAgICBQT1NUX0lOVEVSQUNUSU9OX0NPTVBBUklTT04gPSBcInBvc3RfaW50ZXJhY3Rpb25fY29tcGFyaXNvblwiLFxuICAgIFBPU1RfSU5URVJBQ1RJT05fRU1CRURERUQgPSBcInBvc3RfaW50ZXJhY3Rpb25fZW1iZWRkZWRcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBXaWRnZXRJbnRlcmFjdGlvblR5cGUge1xuICAgIFFVRVJZX0lOUFVUX0NMSUNLRUQgPSBcInF1ZXJ5X2lucHV0X2NsaWNrZWRcIixcbiAgICBTVUdHRVNUSU9OX0NMSUNLRUQgPSBcInN1Z2dlc3Rpb25fY2xpY2tlZFwiLFxuICAgIFdJREdFVF9DTElDS0VEID0gXCJ3aWRnZXRfY2xpY2tlZFwiLFxuICAgIFdJREdFVF9IT1ZFUkVEID0gXCJ3aWRnZXRfaG92ZXJlZFwiLFxuICAgIFdJREdFVF9FWFBBTkRFRCA9IFwid2lkZ2V0X2V4cGFuZGVkXCIsXG4gICAgV0lER0VUX0NPTExBUFNFRCA9IFwid2lkZ2V0X2NvbGxhcHNlZFwiLFxuICAgIFNVR0dFU1RJT05fU0NST0xMRUQgPSBcInN1Z2dlc3Rpb25fc2Nyb2xsZWRcIixcbiAgICBMSU5LX0NMSUNLRUQgPSBcImxpbmtfY2xpY2tlZFwiLFxuICAgIFBST0RVQ1RfQ0FSRF9DTElDS0VEID0gXCJwcm9kdWN0X2NhcmRfY2xpY2tlZFwiLFxuICAgIFRFWFRfTElOS19DTElDS0VEID0gXCJ0ZXh0X2xpbmtfY2xpY2tlZFwiLFxuICAgIEFSVElDTEVfTElOS19DTElDS0VEID0gXCJhcnRpY2xlX2xpbmtfY2xpY2tlZFwiLFxuICAgIFJFVklFV19DQVJEX0NMSUNLRUQgPSBcInJldmlld19jYXJkX2NsaWNrZWRcIixcbiAgICBNRVNTQUdFX1NVQk1JVFRFRCA9IFwibWVzc2FnZV9zdWJtaXR0ZWRcIixcbiAgICBNQU5VQUxfU0NST0xMX1RPX0JPVFRPTSA9IFwibWFudWFsX3Njcm9sbF90b19ib3R0b21cIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBJbnRlcmFjdGlvbkNsYXNzIHtcbiAgICBQQVNTSVZFID0gXCJwYXNzaXZlXCIsLy8gTm8gdXNlciBjb21taXRtZW50IOKAlCBob3Zlciwgc2Nyb2xsLCB2aXNpYmlsaXR5IHRyaWdnZXJzXG4gICAgTkFWSUdBVElPTkFMID0gXCJuYXZpZ2F0aW9uYWxcIiwvLyBPcGVucy9jbG9zZXMgc29tZXRoaW5nIOKAlCBvZnRlbiBhIHNpZGUgZWZmZWN0IG9mIGludGVudFxuICAgIElOVEVOVElPTkFMID0gXCJpbnRlbnRpb25hbFwiXG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBJTlRFUkFDVElPTl9UWVBFX0NMQVNTOiBSZWNvcmQ8V2lkZ2V0SW50ZXJhY3Rpb25UeXBlLCBJbnRlcmFjdGlvbkNsYXNzPjtcbmV4cG9ydCB0eXBlIFVSTCA9IHtcbiAgICB1cmw6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBQcm9kdWN0ID0ge1xuICAgIHByb2R1Y3RfaWQ6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBSZXZpZXcgPSB7XG4gICAgcmV2aWV3X2lkOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgU3VnZ2VzdGlvbiA9IHtcbiAgICBzdWdnZXN0aW9uX2lkOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgUmVxdWVzdCA9IHtcbiAgICByZXF1ZXN0X3RleHQ6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBDb2xsYXBzZSA9IHtcbiAgICBjb2xsYXBzZV9zb3VyY2U6ICdjbG9zZV9idXR0b24nIHwgJ3N3aXBlJyB8ICdib2R5X2NsaWNrJztcbn07XG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uU2Nyb2xsZWQgPSB7XG4gICAgc3VnZ2VzdGlvbl9zY3JvbGxlZDogU3VnZ2VzdGlvbjtcbn07XG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uQ2xpY2tlZCA9IHtcbiAgICBzdWdnZXN0aW9uX2NsaWNrZWQ6IFN1Z2dlc3Rpb247XG59O1xuZXhwb3J0IHR5cGUgU3VnZ2VzdGlvbkhvdmVyZWQgPSB7XG4gICAgc3VnZ2VzdGlvbl9ob3ZlcmVkOiBTdWdnZXN0aW9uO1xufTtcbmV4cG9ydCB0eXBlIExpbmtDbGlja2VkID0ge1xuICAgIGxpbmtfY2xpY2tlZDogVVJMO1xufTtcbmV4cG9ydCB0eXBlIFdpZGdldENvbGxhcHNlZCA9IHtcbiAgICB3aWRnZXRfY29sbGFwc2VkOiBDb2xsYXBzZTtcbn07XG5leHBvcnQgdHlwZSBUZXh0TGlua0NsaWNrZWQgPSB7XG4gICAgdGV4dF9saW5rX2NsaWNrZWQ6IFVSTDtcbn07XG5leHBvcnQgdHlwZSBBcnRpY2xlTGlua0NsaWNrZWQgPSB7XG4gICAgYXJ0aWNsZV9saW5rX2NsaWNrZWQ6IFVSTDtcbn07XG5leHBvcnQgdHlwZSBQcm9kdWN0Q2FyZENsaWNrZWQgPSB7XG4gICAgcHJvZHVjdF9jYXJkX2NsaWNrZWQ6IFByb2R1Y3Q7XG59O1xuZXhwb3J0IHR5cGUgUmV2aWV3Q2FyZENsaWNrZWQgPSB7XG4gICAgcmV2aWV3X2NhcmRfY2xpY2tlZDogUmV2aWV3O1xufTtcbmV4cG9ydCB0eXBlIE1lc3NhZ2VTdWJtaXR0ZWQgPSB7XG4gICAgbWVzc2FnZV9zdWJtaXR0ZWQ6IFJlcXVlc3Q7XG59O1xuZXhwb3J0IHR5cGUgV2lkZ2V0SW50ZXJhY3Rpb25EYXRhID0gU3VnZ2VzdGlvblNjcm9sbGVkIHwgU3VnZ2VzdGlvbkNsaWNrZWQgfCBTdWdnZXN0aW9uSG92ZXJlZCB8IExpbmtDbGlja2VkIHwgV2lkZ2V0Q29sbGFwc2VkIHwgVGV4dExpbmtDbGlja2VkIHwgQXJ0aWNsZUxpbmtDbGlja2VkIHwgUHJvZHVjdENhcmRDbGlja2VkIHwgUmV2aWV3Q2FyZENsaWNrZWQgfCBNZXNzYWdlU3VibWl0dGVkO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFDQSxJQUFXLDJCQUEyQixDQUFDLFdBQUcsMEJBQUE7QUFDMUMsSUFBVywyQkFBMkI7Q0FBQztPQUFDO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDeEMsSUFBVyw0QkFBUTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFBLG9CQUFBO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDQSxJQUFXLDRCQUE0QixDQUFDLElBQUU7QUFDMUMsSUFBVyw2QkFBZ0IsQ0FBQSxJQUFBO0FBQzNCLElBQVcsd0JBQXdCLENBQUMsSUFBRTtBQUN0QyxJQUFXLG1CQUFtQixDQUFDLElBQUk7QUFDbkMsSUFBVyx5QkFBeUI7Q0FBQztPQUFXO09BQVU7T0FBQTtDQUFBO0FBQzFELElBQVcsTUFBTSxDQUFDLElBQUk7QUFDdEIsSUFBQSxVQUFBLENBQUEsSUFBQTtBQUNBLElBQVcsU0FBUyxDQUFDLElBQUk7QUFDekIsSUFBVyxhQUFhLENBQUMsSUFBSTtBQUM3QixJQUFXLFVBQVUsQ0FBQyxJQUFJO0FBQzFCLElBQVcsV0FBVyxDQUFDLElBQUk7QUFDM0IsSUFBQSxxQkFBQSxDQUFBLFdBQUEsV0FBQTtBQUNBLElBQVcsb0JBQW9CLENBQUMsV0FBRyxXQUFBO0FBQ25DLElBQVcsb0JBQW9CLENBQUMsV0FBVyxXQUFVO0FBQ3JELElBQVcsY0FBYyxDQUFDLFdBQVcsSUFBSTtBQUN6QyxJQUFBLGtCQUFBLENBQUEsV0FBQSxTQUFBO0FBQ0EsSUFBVyxrQkFBa0IsQ0FBQyxXQUFXLElBQUk7QUFDN0MsSUFBVyxxQkFBSSxDQUFBLFdBQUEsSUFBQTtBQUNmLElBQVcscUJBQUksQ0FBQSxXQUFBLFFBQUE7QUFDZixJQUFXLG9CQUFjLENBQUEsV0FBQSxPQUFBO0FBQ3pCLElBQVcsbUJBQVUsQ0FBQSxXQUFBLFFBQUE7QUFDckIsSUFBVyx3QkFBUTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
124
+ export { ArticleLinkClicked, Collapse, INTERACTION_TYPE_CLASS, InteractionClass, InternalWidgetInteraction, LinkClicked, MessageSubmitted, Product, ProductCardClicked, Request, Review, ReviewCardClicked, Suggestion, SuggestionClicked, SuggestionHovered, SuggestionScrolled, TextLinkClicked, URL, VoiceTranscription, WidgetCollapsed, WidgetInteraction, WidgetInteractionComponent, WidgetInteractionContext, WidgetInteractionData, WidgetInteractionPageType, WidgetInteractionTrigger, WidgetInteractionType };
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24vdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgcGFnZV90eXBlOiBXaWRnZXRJbnRlcmFjdGlvblBhZ2VUeXBlO1xuICAgIHBhZ2VfaWQ6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb25UcmlnZ2VyIHtcbiAgICBpbnRlcmFjdGlvbl9pZD86IHN0cmluZztcbiAgICB3aWRnZXQ6IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50O1xuICAgIHdpZGdldF9pbnRlcmFjdGlvbjogV2lkZ2V0SW50ZXJhY3Rpb25UeXBlO1xuICAgIHdpZGdldF9pbnRlcmFjdGlvbl9kYXRhPzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhIHwgbnVsbDtcbiAgICBpbnRlcmFjdGlvbl9jbGFzcz86IEludGVyYWN0aW9uQ2xhc3M7XG59XG5leHBvcnQgaW50ZXJmYWNlIEludGVybmFsV2lkZ2V0SW50ZXJhY3Rpb24ge1xuICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB8IEVudml2ZU1ldHJpY3NFdmVudE5hbWU7XG4gICAgY29udGV4dDogV2lkZ2V0SW50ZXJhY3Rpb25Db250ZXh0O1xuICAgIHRyaWdnZXI6IFdpZGdldEludGVyYWN0aW9uVHJpZ2dlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb24ge1xuICAgIGV2ZW50TmFtZTogSW50ZXJuYWxXaWRnZXRJbnRlcmFjdGlvblsnZXZlbnROYW1lJ107XG4gICAgdHJpZ2dlcjogSW50ZXJuYWxXaWRnZXRJbnRlcmFjdGlvblsndHJpZ2dlciddO1xufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBXaWRnZXRJbnRlcmFjdGlvblBhZ2VUeXBlIHtcbiAgICBQRFAgPSBcInBkcFwiLFxuICAgIFBMUCA9IFwicGxwXCIsXG4gICAgSE9NRVBBR0UgPSBcImhvbWVwYWdlXCIsXG4gICAgU0VBUkNIID0gXCJzZWFyY2hcIixcbiAgICBPVEhFUiA9IFwib3RoZXJcIixcbiAgICBGVUxMX1BBR0UgPSBcImZ1bGxfcGFnZVwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50IHtcbiAgICBFTUJFRERFRF9XSURHRVQgPSBcImVtYmVkZGVkX3dpZGdldFwiLFxuICAgIFNVR0dFU1RJT05fQkFSID0gXCJzdWdnZXN0aW9uX2JhclwiLFxuICAgIEZMT0FUSU5HX0JVVFRPTiA9IFwiZmxvYXRpbmdfYnV0dG9uXCIsXG4gICAgRlVMTF9QQUdFX1NBTEVTX0FHRU5UID0gXCJmdWxsX3BhZ2Vfc2FsZXNfYWdlbnRcIixcbiAgICBTT0NJQUxfUFJPT0YgPSBcInNvY2lhbF9wcm9vZlwiLFxuICAgIENIQVRfUFJFVklFVyA9IFwiY2hhdF9wcmV2aWV3XCIsXG4gICAgRkxPQVRJTkdfQ0hBVCA9IFwiZmxvYXRpbmdfY2hhdFwiLFxuICAgIFNJTkdMRV9JTUFHRV9QUk9NUFQgPSBcInNpbmdsZV9pbWFnZV9wcm9tcHRcIixcbiAgICBJTUFHRV9QUk9NUFRfQ0FSRCA9IFwiaW1hZ2VfcHJvbXB0X2NhcmRcIixcbiAgICBQT1NUX0lOVEVSQUNUSU9OX0NPTVBBUklTT04gPSBcInBvc3RfaW50ZXJhY3Rpb25fY29tcGFyaXNvblwiLFxuICAgIFBPU1RfSU5URVJBQ1RJT05fRU1CRURERUQgPSBcInBvc3RfaW50ZXJhY3Rpb25fZW1iZWRkZWRcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBXaWRnZXRJbnRlcmFjdGlvblR5cGUge1xuICAgIFFVRVJZX0lOUFVUX0NMSUNLRUQgPSBcInF1ZXJ5X2lucHV0X2NsaWNrZWRcIixcbiAgICBTVUdHRVNUSU9OX0NMSUNLRUQgPSBcInN1Z2dlc3Rpb25fY2xpY2tlZFwiLFxuICAgIFdJREdFVF9DTElDS0VEID0gXCJ3aWRnZXRfY2xpY2tlZFwiLFxuICAgIFdJREdFVF9IT1ZFUkVEID0gXCJ3aWRnZXRfaG92ZXJlZFwiLFxuICAgIFdJREdFVF9FWFBBTkRFRCA9IFwid2lkZ2V0X2V4cGFuZGVkXCIsXG4gICAgV0lER0VUX0NPTExBUFNFRCA9IFwid2lkZ2V0X2NvbGxhcHNlZFwiLFxuICAgIFNVR0dFU1RJT05fU0NST0xMRUQgPSBcInN1Z2dlc3Rpb25fc2Nyb2xsZWRcIixcbiAgICBMSU5LX0NMSUNLRUQgPSBcImxpbmtfY2xpY2tlZFwiLFxuICAgIFBST0RVQ1RfQ0FSRF9DTElDS0VEID0gXCJwcm9kdWN0X2NhcmRfY2xpY2tlZFwiLFxuICAgIFRFWFRfTElOS19DTElDS0VEID0gXCJ0ZXh0X2xpbmtfY2xpY2tlZFwiLFxuICAgIEFSVElDTEVfTElOS19DTElDS0VEID0gXCJhcnRpY2xlX2xpbmtfY2xpY2tlZFwiLFxuICAgIFJFVklFV19DQVJEX0NMSUNLRUQgPSBcInJldmlld19jYXJkX2NsaWNrZWRcIixcbiAgICBNRVNTQUdFX1NVQk1JVFRFRCA9IFwibWVzc2FnZV9zdWJtaXR0ZWRcIixcbiAgICBNQU5VQUxfU0NST0xMX1RPX0JPVFRPTSA9IFwibWFudWFsX3Njcm9sbF90b19ib3R0b21cIixcbiAgICBWT0lDRV9UUkFOU0NSSVBUSU9OX1NUQVJURUQgPSBcInZvaWNlX3RyYW5zY3JpcHRpb25fc3RhcnRlZFwiLFxuICAgIFZPSUNFX1RSQU5TQ1JJUFRJT05fQ09NUExFVEVEID0gXCJ2b2ljZV90cmFuc2NyaXB0aW9uX2NvbXBsZXRlZFwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEludGVyYWN0aW9uQ2xhc3Mge1xuICAgIFBBU1NJVkUgPSBcInBhc3NpdmVcIiwvLyBObyB1c2VyIGNvbW1pdG1lbnQg4oCUIGhvdmVyLCBzY3JvbGwsIHZpc2liaWxpdHkgdHJpZ2dlcnNcbiAgICBOQVZJR0FUSU9OQUwgPSBcIm5hdmlnYXRpb25hbFwiLC8vIE9wZW5zL2Nsb3NlcyBzb21ldGhpbmcg4oCUIG9mdGVuIGEgc2lkZSBlZmZlY3Qgb2YgaW50ZW50XG4gICAgSU5URU5USU9OQUwgPSBcImludGVudGlvbmFsXCJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IElOVEVSQUNUSU9OX1RZUEVfQ0xBU1M6IFJlY29yZDxXaWRnZXRJbnRlcmFjdGlvblR5cGUsIEludGVyYWN0aW9uQ2xhc3M+O1xuZXhwb3J0IHR5cGUgVVJMID0ge1xuICAgIHVybDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFByb2R1Y3QgPSB7XG4gICAgcHJvZHVjdF9pZDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFJldmlldyA9IHtcbiAgICByZXZpZXdfaWQ6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uID0ge1xuICAgIHN1Z2dlc3Rpb25faWQ6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBSZXF1ZXN0ID0ge1xuICAgIHJlcXVlc3RfdGV4dDogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIENvbGxhcHNlID0ge1xuICAgIGNvbGxhcHNlX3NvdXJjZTogJ2Nsb3NlX2J1dHRvbicgfCAnc3dpcGUnIHwgJ2JvZHlfY2xpY2snO1xufTtcbmV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25TY3JvbGxlZCA9IHtcbiAgICBzdWdnZXN0aW9uX3Njcm9sbGVkOiBTdWdnZXN0aW9uO1xufTtcbmV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25DbGlja2VkID0ge1xuICAgIHN1Z2dlc3Rpb25fY2xpY2tlZDogU3VnZ2VzdGlvbjtcbn07XG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uSG92ZXJlZCA9IHtcbiAgICBzdWdnZXN0aW9uX2hvdmVyZWQ6IFN1Z2dlc3Rpb247XG59O1xuZXhwb3J0IHR5cGUgTGlua0NsaWNrZWQgPSB7XG4gICAgbGlua19jbGlja2VkOiBVUkw7XG59O1xuZXhwb3J0IHR5cGUgV2lkZ2V0Q29sbGFwc2VkID0ge1xuICAgIHdpZGdldF9jb2xsYXBzZWQ6IENvbGxhcHNlO1xufTtcbmV4cG9ydCB0eXBlIFRleHRMaW5rQ2xpY2tlZCA9IHtcbiAgICB0ZXh0X2xpbmtfY2xpY2tlZDogVVJMO1xufTtcbmV4cG9ydCB0eXBlIEFydGljbGVMaW5rQ2xpY2tlZCA9IHtcbiAgICBhcnRpY2xlX2xpbmtfY2xpY2tlZDogVVJMO1xufTtcbmV4cG9ydCB0eXBlIFByb2R1Y3RDYXJkQ2xpY2tlZCA9IHtcbiAgICBwcm9kdWN0X2NhcmRfY2xpY2tlZDogUHJvZHVjdDtcbn07XG5leHBvcnQgdHlwZSBSZXZpZXdDYXJkQ2xpY2tlZCA9IHtcbiAgICByZXZpZXdfY2FyZF9jbGlja2VkOiBSZXZpZXc7XG59O1xuZXhwb3J0IHR5cGUgTWVzc2FnZVN1Ym1pdHRlZCA9IHtcbiAgICBtZXNzYWdlX3N1Ym1pdHRlZDogUmVxdWVzdDtcbn07XG5leHBvcnQgdHlwZSBWb2ljZVRyYW5zY3JpcHRpb24gPSB7XG4gICAgdHJhbnNjcmlwdGlvbjogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIFdpZGdldEludGVyYWN0aW9uRGF0YSA9IFN1Z2dlc3Rpb25TY3JvbGxlZCB8IFN1Z2dlc3Rpb25DbGlja2VkIHwgU3VnZ2VzdGlvbkhvdmVyZWQgfCBMaW5rQ2xpY2tlZCB8IFdpZGdldENvbGxhcHNlZCB8IFRleHRMaW5rQ2xpY2tlZCB8IEFydGljbGVMaW5rQ2xpY2tlZCB8IFByb2R1Y3RDYXJkQ2xpY2tlZCB8IFJldmlld0NhcmRDbGlja2VkIHwgTWVzc2FnZVN1Ym1pdHRlZCB8IFZvaWNlVHJhbnNjcmlwdGlvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVywyQkFBMkIsQ0FBQyxXQUFHLDBCQUFBO0FBQzFDLElBQVcsMkJBQTJCO0NBQUM7T0FBQztPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3hDLElBQVcsNEJBQVE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBQSxvQkFBQTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0EsSUFBVyw0QkFBNEIsQ0FBQyxJQUFFO0FBQzFDLElBQVcsNkJBQWdCLENBQUEsSUFBQTtBQUMzQixJQUFXLHdCQUF3QixDQUFDLElBQUU7QUFDdEMsSUFBVyxtQkFBbUIsQ0FBQyxJQUFJO0FBQ25DLElBQVcseUJBQXlCO0NBQUM7T0FBVztPQUFVO09BQUE7Q0FBQTtBQUMxRCxJQUFXLE1BQU0sQ0FBQyxJQUFJO0FBQ3RCLElBQUEsVUFBQSxDQUFBLElBQUE7QUFDQSxJQUFXLFNBQVMsQ0FBQyxJQUFJO0FBQ3pCLElBQVcsYUFBYSxDQUFDLElBQUk7QUFDN0IsSUFBVyxVQUFVLENBQUMsSUFBSTtBQUMxQixJQUFXLFdBQVcsQ0FBQyxJQUFJO0FBQzNCLElBQUEscUJBQUEsQ0FBQSxXQUFBLFdBQUE7QUFDQSxJQUFXLG9CQUFvQixDQUFDLFdBQUcsV0FBQTtBQUNuQyxJQUFXLG9CQUFvQixDQUFDLFdBQVcsV0FBVTtBQUNyRCxJQUFXLGNBQWMsQ0FBQyxXQUFXLElBQUk7QUFDekMsSUFBQSxrQkFBQSxDQUFBLFdBQUEsU0FBQTtBQUNBLElBQVcsa0JBQWtCLENBQUMsV0FBVyxJQUFJO0FBQzdDLElBQVcscUJBQUksQ0FBQSxXQUFBLElBQUE7QUFDZixJQUFXLHFCQUFJLENBQUEsV0FBQSxRQUFBO0FBQ2YsSUFBVyxvQkFBYyxDQUFBLFdBQUEsT0FBQTtBQUN6QixJQUFXLG1CQUFVLENBQUEsV0FBQSxRQUFBO0FBQ3JCLElBQVcscUJBQVEsQ0FBQSxJQUFBO0FBQ25CLElBQVcsd0JBQWU7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
@@ -37,6 +37,8 @@ let WidgetInteractionType = /* @__PURE__ */ function(WidgetInteractionType$1) {
37
37
  WidgetInteractionType$1["REVIEW_CARD_CLICKED"] = "review_card_clicked";
38
38
  WidgetInteractionType$1["MESSAGE_SUBMITTED"] = "message_submitted";
39
39
  WidgetInteractionType$1["MANUAL_SCROLL_TO_BOTTOM"] = "manual_scroll_to_bottom";
40
+ WidgetInteractionType$1["VOICE_TRANSCRIPTION_STARTED"] = "voice_transcription_started";
41
+ WidgetInteractionType$1["VOICE_TRANSCRIPTION_COMPLETED"] = "voice_transcription_completed";
40
42
  return WidgetInteractionType$1;
41
43
  }({});
42
44
  let InteractionClass = /* @__PURE__ */ function(InteractionClass$1) {
@@ -59,9 +61,11 @@ const INTERACTION_TYPE_CLASS = {
59
61
  [WidgetInteractionType.ARTICLE_LINK_CLICKED]: InteractionClass.INTENTIONAL,
60
62
  [WidgetInteractionType.REVIEW_CARD_CLICKED]: InteractionClass.INTENTIONAL,
61
63
  [WidgetInteractionType.MESSAGE_SUBMITTED]: InteractionClass.INTENTIONAL,
62
- [WidgetInteractionType.MANUAL_SCROLL_TO_BOTTOM]: InteractionClass.PASSIVE
64
+ [WidgetInteractionType.MANUAL_SCROLL_TO_BOTTOM]: InteractionClass.PASSIVE,
65
+ [WidgetInteractionType.VOICE_TRANSCRIPTION_STARTED]: InteractionClass.INTENTIONAL,
66
+ [WidgetInteractionType.VOICE_TRANSCRIPTION_COMPLETED]: InteractionClass.INTENTIONAL
63
67
  };
64
68
 
65
69
  //#endregion
66
70
  export { INTERACTION_TYPE_CLASS, InteractionClass, WidgetInteractionComponent, WidgetInteractionPageType, WidgetInteractionType };
67
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJuYW1lcyI6WyJJTlRFUkFDVElPTl9UWVBFX0NMQVNTOiBSZWNvcmQ8V2lkZ2V0SW50ZXJhY3Rpb25UeXBlLCBJbnRlcmFjdGlvbkNsYXNzPiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbi90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgcGFnZV90eXBlOiBXaWRnZXRJbnRlcmFjdGlvblBhZ2VUeXBlO1xuICBwYWdlX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb25UcmlnZ2VyIHtcbiAgaW50ZXJhY3Rpb25faWQ/OiBzdHJpbmc7XG4gIHdpZGdldDogV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQ7XG4gIHdpZGdldF9pbnRlcmFjdGlvbjogV2lkZ2V0SW50ZXJhY3Rpb25UeXBlO1xuICB3aWRnZXRfaW50ZXJhY3Rpb25fZGF0YT86IFdpZGdldEludGVyYWN0aW9uRGF0YSB8IG51bGw7XG4gIGludGVyYWN0aW9uX2NsYXNzPzogSW50ZXJhY3Rpb25DbGFzcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcm5hbFdpZGdldEludGVyYWN0aW9uIHtcbiAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIHwgRW52aXZlTWV0cmljc0V2ZW50TmFtZTtcbiAgY29udGV4dDogV2lkZ2V0SW50ZXJhY3Rpb25Db250ZXh0O1xuICB0cmlnZ2VyOiBXaWRnZXRJbnRlcmFjdGlvblRyaWdnZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb24ge1xuICBldmVudE5hbWU6IEludGVybmFsV2lkZ2V0SW50ZXJhY3Rpb25bJ2V2ZW50TmFtZSddO1xuICB0cmlnZ2VyOiBJbnRlcm5hbFdpZGdldEludGVyYWN0aW9uWyd0cmlnZ2VyJ107XG59XG5cbmV4cG9ydCBlbnVtIFdpZGdldEludGVyYWN0aW9uUGFnZVR5cGUge1xuICBQRFAgPSAncGRwJyxcbiAgUExQID0gJ3BscCcsXG4gIEhPTUVQQUdFID0gJ2hvbWVwYWdlJyxcbiAgU0VBUkNIID0gJ3NlYXJjaCcsXG4gIE9USEVSID0gJ290aGVyJyxcbiAgRlVMTF9QQUdFID0gJ2Z1bGxfcGFnZScsXG59XG5cbmV4cG9ydCBlbnVtIFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50IHtcbiAgRU1CRURERURfV0lER0VUID0gJ2VtYmVkZGVkX3dpZGdldCcsXG4gIFNVR0dFU1RJT05fQkFSID0gJ3N1Z2dlc3Rpb25fYmFyJyxcbiAgRkxPQVRJTkdfQlVUVE9OID0gJ2Zsb2F0aW5nX2J1dHRvbicsXG4gIEZVTExfUEFHRV9TQUxFU19BR0VOVCA9ICdmdWxsX3BhZ2Vfc2FsZXNfYWdlbnQnLFxuICBTT0NJQUxfUFJPT0YgPSAnc29jaWFsX3Byb29mJyxcbiAgQ0hBVF9QUkVWSUVXID0gJ2NoYXRfcHJldmlldycsXG4gIEZMT0FUSU5HX0NIQVQgPSAnZmxvYXRpbmdfY2hhdCcsXG4gIFNJTkdMRV9JTUFHRV9QUk9NUFQgPSAnc2luZ2xlX2ltYWdlX3Byb21wdCcsXG4gIElNQUdFX1BST01QVF9DQVJEID0gJ2ltYWdlX3Byb21wdF9jYXJkJyxcbiAgUE9TVF9JTlRFUkFDVElPTl9DT01QQVJJU09OID0gJ3Bvc3RfaW50ZXJhY3Rpb25fY29tcGFyaXNvbicsXG4gIFBPU1RfSU5URVJBQ1RJT05fRU1CRURERUQgPSAncG9zdF9pbnRlcmFjdGlvbl9lbWJlZGRlZCcsXG59XG5cbmV4cG9ydCBlbnVtIFdpZGdldEludGVyYWN0aW9uVHlwZSB7XG4gIFFVRVJZX0lOUFVUX0NMSUNLRUQgPSAncXVlcnlfaW5wdXRfY2xpY2tlZCcsXG4gIFNVR0dFU1RJT05fQ0xJQ0tFRCA9ICdzdWdnZXN0aW9uX2NsaWNrZWQnLFxuICBXSURHRVRfQ0xJQ0tFRCA9ICd3aWRnZXRfY2xpY2tlZCcsXG4gIFdJREdFVF9IT1ZFUkVEID0gJ3dpZGdldF9ob3ZlcmVkJyxcbiAgV0lER0VUX0VYUEFOREVEID0gJ3dpZGdldF9leHBhbmRlZCcsXG4gIFdJREdFVF9DT0xMQVBTRUQgPSAnd2lkZ2V0X2NvbGxhcHNlZCcsXG4gIFNVR0dFU1RJT05fU0NST0xMRUQgPSAnc3VnZ2VzdGlvbl9zY3JvbGxlZCcsXG4gIExJTktfQ0xJQ0tFRCA9ICdsaW5rX2NsaWNrZWQnLFxuICBQUk9EVUNUX0NBUkRfQ0xJQ0tFRCA9ICdwcm9kdWN0X2NhcmRfY2xpY2tlZCcsXG4gIFRFWFRfTElOS19DTElDS0VEID0gJ3RleHRfbGlua19jbGlja2VkJyxcbiAgQVJUSUNMRV9MSU5LX0NMSUNLRUQgPSAnYXJ0aWNsZV9saW5rX2NsaWNrZWQnLFxuICBSRVZJRVdfQ0FSRF9DTElDS0VEID0gJ3Jldmlld19jYXJkX2NsaWNrZWQnLFxuICBNRVNTQUdFX1NVQk1JVFRFRCA9ICdtZXNzYWdlX3N1Ym1pdHRlZCcsXG4gIE1BTlVBTF9TQ1JPTExfVE9fQk9UVE9NID0gJ21hbnVhbF9zY3JvbGxfdG9fYm90dG9tJyxcbn1cblxuZXhwb3J0IGVudW0gSW50ZXJhY3Rpb25DbGFzcyB7XG4gIFBBU1NJVkUgPSAncGFzc2l2ZScsIC8vIE5vIHVzZXIgY29tbWl0bWVudCDigJQgaG92ZXIsIHNjcm9sbCwgdmlzaWJpbGl0eSB0cmlnZ2Vyc1xuICBOQVZJR0FUSU9OQUwgPSAnbmF2aWdhdGlvbmFsJywgLy8gT3BlbnMvY2xvc2VzIHNvbWV0aGluZyDigJQgb2Z0ZW4gYSBzaWRlIGVmZmVjdCBvZiBpbnRlbnRcbiAgSU5URU5USU9OQUwgPSAnaW50ZW50aW9uYWwnLCAvLyBEZWxpYmVyYXRlIHVzZXIgYWN0aW9uIOKAlCBjbGlja3MsIHN1Ym1pdHMsIHR5cGVkIHF1ZXJpZXNcbn1cblxuZXhwb3J0IGNvbnN0IElOVEVSQUNUSU9OX1RZUEVfQ0xBU1M6IFJlY29yZDxXaWRnZXRJbnRlcmFjdGlvblR5cGUsIEludGVyYWN0aW9uQ2xhc3M+ID0ge1xuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlFVRVJZX0lOUFVUX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlNVR0dFU1RJT05fQ0xJQ0tFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuV0lER0VUX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLldJREdFVF9IT1ZFUkVEXTogSW50ZXJhY3Rpb25DbGFzcy5QQVNTSVZFLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLldJREdFVF9FWFBBTkRFRF06IEludGVyYWN0aW9uQ2xhc3MuTkFWSUdBVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLldJREdFVF9DT0xMQVBTRURdOiBJbnRlcmFjdGlvbkNsYXNzLk5BVklHQVRJT05BTCxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5TVUdHRVNUSU9OX1NDUk9MTEVEXTogSW50ZXJhY3Rpb25DbGFzcy5QQVNTSVZFLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLkxJTktfQ0xJQ0tFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuUFJPRFVDVF9DQVJEX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlRFWFRfTElOS19DTElDS0VEXTogSW50ZXJhY3Rpb25DbGFzcy5JTlRFTlRJT05BTCxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5BUlRJQ0xFX0xJTktfQ0xJQ0tFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuUkVWSUVXX0NBUkRfQ0xJQ0tFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuTUVTU0FHRV9TVUJNSVRURURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLk1BTlVBTF9TQ1JPTExfVE9fQk9UVE9NXTogSW50ZXJhY3Rpb25DbGFzcy5QQVNTSVZFLFxufTtcblxuZXhwb3J0IHR5cGUgVVJMID0ge1xuICB1cmw6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3QgPSB7XG4gIHByb2R1Y3RfaWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFJldmlldyA9IHtcbiAgcmV2aWV3X2lkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uID0ge1xuICBzdWdnZXN0aW9uX2lkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSZXF1ZXN0ID0ge1xuICByZXF1ZXN0X3RleHQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENvbGxhcHNlID0ge1xuICBjb2xsYXBzZV9zb3VyY2U6ICdjbG9zZV9idXR0b24nIHwgJ3N3aXBlJyB8ICdib2R5X2NsaWNrJztcbn07XG5cbmV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25TY3JvbGxlZCA9IHtcbiAgc3VnZ2VzdGlvbl9zY3JvbGxlZDogU3VnZ2VzdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25DbGlja2VkID0ge1xuICBzdWdnZXN0aW9uX2NsaWNrZWQ6IFN1Z2dlc3Rpb247XG59O1xuXG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uSG92ZXJlZCA9IHtcbiAgc3VnZ2VzdGlvbl9ob3ZlcmVkOiBTdWdnZXN0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgTGlua0NsaWNrZWQgPSB7XG4gIGxpbmtfY2xpY2tlZDogVVJMO1xufTtcblxuZXhwb3J0IHR5cGUgV2lkZ2V0Q29sbGFwc2VkID0ge1xuICB3aWRnZXRfY29sbGFwc2VkOiBDb2xsYXBzZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRleHRMaW5rQ2xpY2tlZCA9IHtcbiAgdGV4dF9saW5rX2NsaWNrZWQ6IFVSTDtcbn07XG5cbmV4cG9ydCB0eXBlIEFydGljbGVMaW5rQ2xpY2tlZCA9IHtcbiAgYXJ0aWNsZV9saW5rX2NsaWNrZWQ6IFVSTDtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RDYXJkQ2xpY2tlZCA9IHtcbiAgcHJvZHVjdF9jYXJkX2NsaWNrZWQ6IFByb2R1Y3Q7XG59O1xuXG5leHBvcnQgdHlwZSBSZXZpZXdDYXJkQ2xpY2tlZCA9IHtcbiAgcmV2aWV3X2NhcmRfY2xpY2tlZDogUmV2aWV3O1xufTtcblxuZXhwb3J0IHR5cGUgTWVzc2FnZVN1Ym1pdHRlZCA9IHtcbiAgbWVzc2FnZV9zdWJtaXR0ZWQ6IFJlcXVlc3Q7XG59O1xuXG5leHBvcnQgdHlwZSBXaWRnZXRJbnRlcmFjdGlvbkRhdGEgPVxuICB8IFN1Z2dlc3Rpb25TY3JvbGxlZFxuICB8IFN1Z2dlc3Rpb25DbGlja2VkXG4gIHwgU3VnZ2VzdGlvbkhvdmVyZWRcbiAgfCBMaW5rQ2xpY2tlZFxuICB8IFdpZGdldENvbGxhcHNlZFxuICB8IFRleHRMaW5rQ2xpY2tlZFxuICB8IEFydGljbGVMaW5rQ2xpY2tlZFxuICB8IFByb2R1Y3RDYXJkQ2xpY2tlZFxuICB8IFJldmlld0NhcmRDbGlja2VkXG4gIHwgTWVzc2FnZVN1Ym1pdHRlZDtcbiJdLCJtYXBwaW5ncyI6IjtBQTBCQSxJQUFZLGtGQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHRixJQUFZLG9GQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0YsSUFBWSwwRUFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdGLElBQVksZ0VBQUw7QUFDTDtBQUNBO0FBQ0E7OztBQUdGLE1BQWFBLHlCQUEwRTtFQUNwRixzQkFBc0Isc0JBQXNCLGlCQUFpQjtFQUM3RCxzQkFBc0IscUJBQXFCLGlCQUFpQjtFQUM1RCxzQkFBc0IsaUJBQWlCLGlCQUFpQjtFQUN4RCxzQkFBc0IsaUJBQWlCLGlCQUFpQjtFQUN4RCxzQkFBc0Isa0JBQWtCLGlCQUFpQjtFQUN6RCxzQkFBc0IsbUJBQW1CLGlCQUFpQjtFQUMxRCxzQkFBc0Isc0JBQXNCLGlCQUFpQjtFQUM3RCxzQkFBc0IsZUFBZSxpQkFBaUI7RUFDdEQsc0JBQXNCLHVCQUF1QixpQkFBaUI7RUFDOUQsc0JBQXNCLG9CQUFvQixpQkFBaUI7RUFDM0Qsc0JBQXNCLHVCQUF1QixpQkFBaUI7RUFDOUQsc0JBQXNCLHNCQUFzQixpQkFBaUI7RUFDN0Qsc0JBQXNCLG9CQUFvQixpQkFBaUI7RUFDM0Qsc0JBQXNCLDBCQUEwQixpQkFBaUI7Q0FDbkUifQ==
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJuYW1lcyI6WyJJTlRFUkFDVElPTl9UWVBFX0NMQVNTOiBSZWNvcmQ8V2lkZ2V0SW50ZXJhY3Rpb25UeXBlLCBJbnRlcmFjdGlvbkNsYXNzPiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbi90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgcGFnZV90eXBlOiBXaWRnZXRJbnRlcmFjdGlvblBhZ2VUeXBlO1xuICBwYWdlX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb25UcmlnZ2VyIHtcbiAgaW50ZXJhY3Rpb25faWQ/OiBzdHJpbmc7XG4gIHdpZGdldDogV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQ7XG4gIHdpZGdldF9pbnRlcmFjdGlvbjogV2lkZ2V0SW50ZXJhY3Rpb25UeXBlO1xuICB3aWRnZXRfaW50ZXJhY3Rpb25fZGF0YT86IFdpZGdldEludGVyYWN0aW9uRGF0YSB8IG51bGw7XG4gIGludGVyYWN0aW9uX2NsYXNzPzogSW50ZXJhY3Rpb25DbGFzcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcm5hbFdpZGdldEludGVyYWN0aW9uIHtcbiAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIHwgRW52aXZlTWV0cmljc0V2ZW50TmFtZTtcbiAgY29udGV4dDogV2lkZ2V0SW50ZXJhY3Rpb25Db250ZXh0O1xuICB0cmlnZ2VyOiBXaWRnZXRJbnRlcmFjdGlvblRyaWdnZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SW50ZXJhY3Rpb24ge1xuICBldmVudE5hbWU6IEludGVybmFsV2lkZ2V0SW50ZXJhY3Rpb25bJ2V2ZW50TmFtZSddO1xuICB0cmlnZ2VyOiBJbnRlcm5hbFdpZGdldEludGVyYWN0aW9uWyd0cmlnZ2VyJ107XG59XG5cbmV4cG9ydCBlbnVtIFdpZGdldEludGVyYWN0aW9uUGFnZVR5cGUge1xuICBQRFAgPSAncGRwJyxcbiAgUExQID0gJ3BscCcsXG4gIEhPTUVQQUdFID0gJ2hvbWVwYWdlJyxcbiAgU0VBUkNIID0gJ3NlYXJjaCcsXG4gIE9USEVSID0gJ290aGVyJyxcbiAgRlVMTF9QQUdFID0gJ2Z1bGxfcGFnZScsXG59XG5cbmV4cG9ydCBlbnVtIFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50IHtcbiAgRU1CRURERURfV0lER0VUID0gJ2VtYmVkZGVkX3dpZGdldCcsXG4gIFNVR0dFU1RJT05fQkFSID0gJ3N1Z2dlc3Rpb25fYmFyJyxcbiAgRkxPQVRJTkdfQlVUVE9OID0gJ2Zsb2F0aW5nX2J1dHRvbicsXG4gIEZVTExfUEFHRV9TQUxFU19BR0VOVCA9ICdmdWxsX3BhZ2Vfc2FsZXNfYWdlbnQnLFxuICBTT0NJQUxfUFJPT0YgPSAnc29jaWFsX3Byb29mJyxcbiAgQ0hBVF9QUkVWSUVXID0gJ2NoYXRfcHJldmlldycsXG4gIEZMT0FUSU5HX0NIQVQgPSAnZmxvYXRpbmdfY2hhdCcsXG4gIFNJTkdMRV9JTUFHRV9QUk9NUFQgPSAnc2luZ2xlX2ltYWdlX3Byb21wdCcsXG4gIElNQUdFX1BST01QVF9DQVJEID0gJ2ltYWdlX3Byb21wdF9jYXJkJyxcbiAgUE9TVF9JTlRFUkFDVElPTl9DT01QQVJJU09OID0gJ3Bvc3RfaW50ZXJhY3Rpb25fY29tcGFyaXNvbicsXG4gIFBPU1RfSU5URVJBQ1RJT05fRU1CRURERUQgPSAncG9zdF9pbnRlcmFjdGlvbl9lbWJlZGRlZCcsXG59XG5cbmV4cG9ydCBlbnVtIFdpZGdldEludGVyYWN0aW9uVHlwZSB7XG4gIFFVRVJZX0lOUFVUX0NMSUNLRUQgPSAncXVlcnlfaW5wdXRfY2xpY2tlZCcsXG4gIFNVR0dFU1RJT05fQ0xJQ0tFRCA9ICdzdWdnZXN0aW9uX2NsaWNrZWQnLFxuICBXSURHRVRfQ0xJQ0tFRCA9ICd3aWRnZXRfY2xpY2tlZCcsXG4gIFdJREdFVF9IT1ZFUkVEID0gJ3dpZGdldF9ob3ZlcmVkJyxcbiAgV0lER0VUX0VYUEFOREVEID0gJ3dpZGdldF9leHBhbmRlZCcsXG4gIFdJREdFVF9DT0xMQVBTRUQgPSAnd2lkZ2V0X2NvbGxhcHNlZCcsXG4gIFNVR0dFU1RJT05fU0NST0xMRUQgPSAnc3VnZ2VzdGlvbl9zY3JvbGxlZCcsXG4gIExJTktfQ0xJQ0tFRCA9ICdsaW5rX2NsaWNrZWQnLFxuICBQUk9EVUNUX0NBUkRfQ0xJQ0tFRCA9ICdwcm9kdWN0X2NhcmRfY2xpY2tlZCcsXG4gIFRFWFRfTElOS19DTElDS0VEID0gJ3RleHRfbGlua19jbGlja2VkJyxcbiAgQVJUSUNMRV9MSU5LX0NMSUNLRUQgPSAnYXJ0aWNsZV9saW5rX2NsaWNrZWQnLFxuICBSRVZJRVdfQ0FSRF9DTElDS0VEID0gJ3Jldmlld19jYXJkX2NsaWNrZWQnLFxuICBNRVNTQUdFX1NVQk1JVFRFRCA9ICdtZXNzYWdlX3N1Ym1pdHRlZCcsXG4gIE1BTlVBTF9TQ1JPTExfVE9fQk9UVE9NID0gJ21hbnVhbF9zY3JvbGxfdG9fYm90dG9tJyxcbiAgVk9JQ0VfVFJBTlNDUklQVElPTl9TVEFSVEVEID0gJ3ZvaWNlX3RyYW5zY3JpcHRpb25fc3RhcnRlZCcsXG4gIFZPSUNFX1RSQU5TQ1JJUFRJT05fQ09NUExFVEVEID0gJ3ZvaWNlX3RyYW5zY3JpcHRpb25fY29tcGxldGVkJyxcbn1cblxuZXhwb3J0IGVudW0gSW50ZXJhY3Rpb25DbGFzcyB7XG4gIFBBU1NJVkUgPSAncGFzc2l2ZScsIC8vIE5vIHVzZXIgY29tbWl0bWVudCDigJQgaG92ZXIsIHNjcm9sbCwgdmlzaWJpbGl0eSB0cmlnZ2Vyc1xuICBOQVZJR0FUSU9OQUwgPSAnbmF2aWdhdGlvbmFsJywgLy8gT3BlbnMvY2xvc2VzIHNvbWV0aGluZyDigJQgb2Z0ZW4gYSBzaWRlIGVmZmVjdCBvZiBpbnRlbnRcbiAgSU5URU5USU9OQUwgPSAnaW50ZW50aW9uYWwnLCAvLyBEZWxpYmVyYXRlIHVzZXIgYWN0aW9uIOKAlCBjbGlja3MsIHN1Ym1pdHMsIHR5cGVkIHF1ZXJpZXNcbn1cblxuZXhwb3J0IGNvbnN0IElOVEVSQUNUSU9OX1RZUEVfQ0xBU1M6IFJlY29yZDxXaWRnZXRJbnRlcmFjdGlvblR5cGUsIEludGVyYWN0aW9uQ2xhc3M+ID0ge1xuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlFVRVJZX0lOUFVUX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlNVR0dFU1RJT05fQ0xJQ0tFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuV0lER0VUX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLldJREdFVF9IT1ZFUkVEXTogSW50ZXJhY3Rpb25DbGFzcy5QQVNTSVZFLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLldJREdFVF9FWFBBTkRFRF06IEludGVyYWN0aW9uQ2xhc3MuTkFWSUdBVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLldJREdFVF9DT0xMQVBTRURdOiBJbnRlcmFjdGlvbkNsYXNzLk5BVklHQVRJT05BTCxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5TVUdHRVNUSU9OX1NDUk9MTEVEXTogSW50ZXJhY3Rpb25DbGFzcy5QQVNTSVZFLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLkxJTktfQ0xJQ0tFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuUFJPRFVDVF9DQVJEX0NMSUNLRURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlRFWFRfTElOS19DTElDS0VEXTogSW50ZXJhY3Rpb25DbGFzcy5JTlRFTlRJT05BTCxcbiAgW1dpZGdldEludGVyYWN0aW9uVHlwZS5BUlRJQ0xFX0xJTktfQ0xJQ0tFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuUkVWSUVXX0NBUkRfQ0xJQ0tFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuTUVTU0FHRV9TVUJNSVRURURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLk1BTlVBTF9TQ1JPTExfVE9fQk9UVE9NXTogSW50ZXJhY3Rpb25DbGFzcy5QQVNTSVZFLFxuICBbV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlZPSUNFX1RSQU5TQ1JJUFRJT05fU1RBUlRFRF06IEludGVyYWN0aW9uQ2xhc3MuSU5URU5USU9OQUwsXG4gIFtXaWRnZXRJbnRlcmFjdGlvblR5cGUuVk9JQ0VfVFJBTlNDUklQVElPTl9DT01QTEVURURdOiBJbnRlcmFjdGlvbkNsYXNzLklOVEVOVElPTkFMLFxufTtcblxuZXhwb3J0IHR5cGUgVVJMID0ge1xuICB1cmw6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3QgPSB7XG4gIHByb2R1Y3RfaWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFJldmlldyA9IHtcbiAgcmV2aWV3X2lkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uID0ge1xuICBzdWdnZXN0aW9uX2lkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSZXF1ZXN0ID0ge1xuICByZXF1ZXN0X3RleHQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENvbGxhcHNlID0ge1xuICBjb2xsYXBzZV9zb3VyY2U6ICdjbG9zZV9idXR0b24nIHwgJ3N3aXBlJyB8ICdib2R5X2NsaWNrJztcbn07XG5cbmV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25TY3JvbGxlZCA9IHtcbiAgc3VnZ2VzdGlvbl9zY3JvbGxlZDogU3VnZ2VzdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIFN1Z2dlc3Rpb25DbGlja2VkID0ge1xuICBzdWdnZXN0aW9uX2NsaWNrZWQ6IFN1Z2dlc3Rpb247XG59O1xuXG5leHBvcnQgdHlwZSBTdWdnZXN0aW9uSG92ZXJlZCA9IHtcbiAgc3VnZ2VzdGlvbl9ob3ZlcmVkOiBTdWdnZXN0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgTGlua0NsaWNrZWQgPSB7XG4gIGxpbmtfY2xpY2tlZDogVVJMO1xufTtcblxuZXhwb3J0IHR5cGUgV2lkZ2V0Q29sbGFwc2VkID0ge1xuICB3aWRnZXRfY29sbGFwc2VkOiBDb2xsYXBzZTtcbn07XG5cbmV4cG9ydCB0eXBlIFRleHRMaW5rQ2xpY2tlZCA9IHtcbiAgdGV4dF9saW5rX2NsaWNrZWQ6IFVSTDtcbn07XG5cbmV4cG9ydCB0eXBlIEFydGljbGVMaW5rQ2xpY2tlZCA9IHtcbiAgYXJ0aWNsZV9saW5rX2NsaWNrZWQ6IFVSTDtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RDYXJkQ2xpY2tlZCA9IHtcbiAgcHJvZHVjdF9jYXJkX2NsaWNrZWQ6IFByb2R1Y3Q7XG59O1xuXG5leHBvcnQgdHlwZSBSZXZpZXdDYXJkQ2xpY2tlZCA9IHtcbiAgcmV2aWV3X2NhcmRfY2xpY2tlZDogUmV2aWV3O1xufTtcblxuZXhwb3J0IHR5cGUgTWVzc2FnZVN1Ym1pdHRlZCA9IHtcbiAgbWVzc2FnZV9zdWJtaXR0ZWQ6IFJlcXVlc3Q7XG59O1xuXG5leHBvcnQgdHlwZSBWb2ljZVRyYW5zY3JpcHRpb24gPSB7XG4gIHRyYW5zY3JpcHRpb246IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFdpZGdldEludGVyYWN0aW9uRGF0YSA9XG4gIHwgU3VnZ2VzdGlvblNjcm9sbGVkXG4gIHwgU3VnZ2VzdGlvbkNsaWNrZWRcbiAgfCBTdWdnZXN0aW9uSG92ZXJlZFxuICB8IExpbmtDbGlja2VkXG4gIHwgV2lkZ2V0Q29sbGFwc2VkXG4gIHwgVGV4dExpbmtDbGlja2VkXG4gIHwgQXJ0aWNsZUxpbmtDbGlja2VkXG4gIHwgUHJvZHVjdENhcmRDbGlja2VkXG4gIHwgUmV2aWV3Q2FyZENsaWNrZWRcbiAgfCBNZXNzYWdlU3VibWl0dGVkXG4gIHwgVm9pY2VUcmFuc2NyaXB0aW9uO1xuIl0sIm1hcHBpbmdzIjoiO0FBMEJBLElBQVksa0ZBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdGLElBQVksb0ZBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHRixJQUFZLDBFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdGLElBQVksZ0VBQUw7QUFDTDtBQUNBO0FBQ0E7OztBQUdGLE1BQWFBLHlCQUEwRTtFQUNwRixzQkFBc0Isc0JBQXNCLGlCQUFpQjtFQUM3RCxzQkFBc0IscUJBQXFCLGlCQUFpQjtFQUM1RCxzQkFBc0IsaUJBQWlCLGlCQUFpQjtFQUN4RCxzQkFBc0IsaUJBQWlCLGlCQUFpQjtFQUN4RCxzQkFBc0Isa0JBQWtCLGlCQUFpQjtFQUN6RCxzQkFBc0IsbUJBQW1CLGlCQUFpQjtFQUMxRCxzQkFBc0Isc0JBQXNCLGlCQUFpQjtFQUM3RCxzQkFBc0IsZUFBZSxpQkFBaUI7RUFDdEQsc0JBQXNCLHVCQUF1QixpQkFBaUI7RUFDOUQsc0JBQXNCLG9CQUFvQixpQkFBaUI7RUFDM0Qsc0JBQXNCLHVCQUF1QixpQkFBaUI7RUFDOUQsc0JBQXNCLHNCQUFzQixpQkFBaUI7RUFDN0Qsc0JBQXNCLG9CQUFvQixpQkFBaUI7RUFDM0Qsc0JBQXNCLDBCQUEwQixpQkFBaUI7RUFDakUsc0JBQXNCLDhCQUE4QixpQkFBaUI7RUFDckUsc0JBQXNCLGdDQUFnQyxpQkFBaUI7Q0FDekUifQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsV0FBVyxlQUFlO0FBQ2xFLElBQVcsdUJBQXVCLENBQUMsV0FBVyxVQUFVO0FBQ3hELElBQVcsdUJBQXVCO0NBQUM7T0FBVztPQUFnQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxJQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsSUFBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVc7T0FBb0I7Q0FBbUIifQ==
@@ -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+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxTQUFTLGVBQWU7QUFDaEUsSUFBVyx1QkFBdUIsQ0FBQyxTQUFTLFVBQVU7QUFDdEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFTO09BQWtCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLEVBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxFQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBUztPQUFvQjtDQUFtQiJ9
@@ -24,31 +24,34 @@ const require_eventNames = require('../amplitudeService/eventNames.cjs');
24
24
  * IF IN DOUBT, DON'T HESITATE TO REACH OUT TO THE ANALYTICS TEAM!!!
25
25
  */
26
26
  const WIDGET_INTERACTION_DATA_PROJECTIONS = {
27
- widget_collapsed: { trigger_collapse_source: "collapse_source" },
28
- product_card_clicked: { trigger_product_id: "product_id" },
29
- suggestion_scrolled: { trigger_suggestion_id: "suggestion_id" }
27
+ widget_collapsed: { interaction_collapse_source: "widget_collapsed.collapse_source" },
28
+ product_card_clicked: { interaction_product_id: "product_card_clicked.product_id" },
29
+ suggestion_scrolled: { interaction_suggestion_id: "suggestion_scrolled.suggestion_id" }
30
30
  };
31
31
  const GA4_EVENT_SCHEMA = {
32
32
  [require_eventNames.EnviveMetricsEventName.WidgetRendered]: {
33
33
  gaEventName: "envive_widget_rendered",
34
- allowedFields: [
35
- "context.page_type",
36
- "context.page_id",
37
- "trigger.widget",
38
- "trigger.widget_role",
39
- "context.surface"
40
- ]
34
+ allowedFields: [],
35
+ fieldProjections: {
36
+ page_type: "context.page_type",
37
+ page_id: "context.page_id",
38
+ surface: "context.surface",
39
+ widget: "trigger.widget",
40
+ widget_role: "trigger.widget_role"
41
+ }
41
42
  },
42
43
  [require_eventNames.EnviveMetricsEventName.WidgetInteraction]: {
43
44
  gaEventName: "envive_widget_interaction",
44
- allowedFields: [
45
- "context.page_type",
46
- "context.page_id",
47
- "trigger.widget",
48
- "trigger.widget_interaction",
49
- "trigger.entity_role",
50
- "context.surface"
51
- ],
45
+ allowedFields: [],
46
+ fieldProjections: {
47
+ page_type: "context.page_type",
48
+ page_id: "context.page_id",
49
+ surface: "context.surface",
50
+ widget: "trigger.widget",
51
+ interaction_type: "trigger.widget_interaction",
52
+ interaction_class: "trigger.interaction_class",
53
+ widget_role: "trigger.widget_role"
54
+ },
52
55
  widgetInteractionDataProjections: WIDGET_INTERACTION_DATA_PROJECTIONS
53
56
  },
54
57
  [require_eventNames.EnviveMetricsEventName.ChatRequest]: {
@@ -90,14 +93,15 @@ const GA4_EVENT_SCHEMA = {
90
93
  },
91
94
  [require_eventNames.EnviveMetricsEventName.PageViewed]: {
92
95
  gaEventName: "envive_page_context_evaluated",
93
- allowedFields: [
94
- "context.page_type",
95
- "context.page_id",
96
- "context.supported",
97
- "context.ready",
98
- "context.page_variant_id",
99
- "environment.envive_enabled"
100
- ]
96
+ allowedFields: [],
97
+ fieldProjections: {
98
+ page_type: "context.page_type",
99
+ page_id: "context.page_id",
100
+ context_supported: "context.supported",
101
+ context_ready: "context.ready",
102
+ context_page_variant_id: "context.page_variant_id",
103
+ environment_envive_enabled: "environment.envive_enabled"
104
+ }
101
105
  },
102
106
  [require_eventNames.EnviveMetricsEventName.WidgetTextRequest]: { gaEventName: null },
103
107
  [require_eventNames.EnviveMetricsEventName.WidgetTextResponse]: { gaEventName: null },
@@ -106,4 +110,4 @@ const GA4_EVENT_SCHEMA = {
106
110
 
107
111
  //#endregion
108
112
  exports.GA4_EVENT_SCHEMA = GA4_EVENT_SCHEMA;
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0RXZlbnRTY2hlbWEuY2pzIiwibmFtZXMiOlsiV0lER0VUX0lOVEVSQUNUSU9OX0RBVEFfUFJPSkVDVElPTlM6IFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb24iLCJHQTRfRVZFTlRfU0NIRU1BOiBSZWNvcmQ8RW52aXZlTWV0cmljc0V2ZW50TmFtZSwgR0E0RXZlbnRTY2hlbWFFbnRyeT4iLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2dhNFByb2plY3Rpb25TZXJ2aWNlL2dhNEV2ZW50U2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR0E0IEV2ZW50IFNjaGVtYSDigJQgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgRW52aXZlIOKGkiBHQTQgcHJvamVjdGlvbi5cbiAqXG4gKiBFdmVyeSBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIE1VU1QgaGF2ZSBhbiBlbnRyeSBoZXJlLiBUaGUgUmVjb3JkIHR5cGUgZW5mb3JjZXNcbiAqIHRoaXMgYXQgY29tcGlsZSB0aW1lIOKAlCBhZGRpbmcgYSBuZXcgZW51bSBtZW1iZXIgd2l0aG91dCBhIHNjaGVtYSBlbnRyeSB3aWxsXG4gKiBjYXVzZSBhIFR5cGVTY3JpcHQgZXJyb3IuXG4gKlxuICogIyMgSG93IHRvIHVwZGF0ZSB0aGlzIGZpbGVcbiAqXG4gKiBXaGVuIGFkZGluZyBvciBtb2RpZnlpbmcgZXZlbnQgcHJvcGVydGllcywgZGVjaWRlIHdoZXRoZXIgdGhleSBiZWxvbmcgaW4gYGFsbG93ZWRGaWVsZHNgIHVzaW5nIHRoZXNlIGNyaXRlcmlhOlxuICogLSAqKkxvdyBjYXJkaW5hbGl0eSoqIOKAlCBhdm9pZCB1bmJvdW5kZWQgdmFsdWVzIChmcmVlIHRleHQsIElEcywgVVJMcywgdGltZXN0YW1wcykuXG4gKiAtICoqTm9uLXNlbnNpdGl2ZSoqIOKAlCBubyBQSUksIHVzZXIgaW5wdXQgdGV4dCwgb3IgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlscy5cbiAqIC0gKipGbGF0IHNjYWxhcioqIOKAlCBHQTQgY3VzdG9tIGRpbWVuc2lvbnMgYXJlIGZsYXQgc3RyaW5ncy9udW1iZXJzL2Jvb2xlYW5zLlxuICogICBOZXN0ZWQgb2JqZWN0cyBzaG91bGQgTk9UIGJlIGFkZGVkOyBleHRyYWN0IHNwZWNpZmljIHN1Yi1maWVsZHMgaW5zdGVhZC5cbiAqIC0gKipTbmFrZV9jYXNlIGtleSoqIOKAlCBtdXN0IGFscmVhZHkgYmUgZG90LW5vdGF0aW9uIHNuYWtlX2Nhc2UgKGUuZy4gYGNoYXQudXNlcl90eXBlZGApLlxuICogLSAqKkFuYWx5dGljYWxseSB1c2VmdWwqKiDigJQgdGhlIGZpZWxkIHNob3VsZCBlbmFibGUgbWVhbmluZ2Z1bCBmaWx0ZXJpbmcvc2VnbWVudGF0aW9uXG4gKiAgIGZvciBtZXJjaGFudHMgaW4gdGhlaXIgR0E0IGRhc2hib2FyZHMuXG4gKlxuICogSWYgZXhjbHVkZWQgZnJvbSBgYWxsb3dlZEZpZWxkc2AsIHRoZSBwcm9qZWN0aW9uIGxheWVyIHdpbGwgYXV0b21hdGljYWxseSBkcm9wIGl0LlxuICpcbiAqIElGIElOIERPVUJULCBET04nVCBIRVNJVEFURSBUTyBSRUFDSCBPVVQgVE8gVEhFIEFOQUxZVElDUyBURUFNISEhXG4gKi9cbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICcuLi9hbXBsaXR1ZGVTZXJ2aWNlL2V2ZW50TmFtZXMnO1xuXG4vKipcbiAqIERlZmluZXMgd2hpY2ggZmllbGRzIHRvIGV4dHJhY3QgZnJvbSBgdHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25fZGF0YWBcbiAqIGZvciBhIGdpdmVuIGB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbmAgdmFsdWUuXG4gKlxuICogS2V5OiB0aGUgdmFsdWUgb2YgYHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uYCAoZS5nLiBcIndpZGdldF9jb2xsYXBzZWRcIilcbiAqIFZhbHVlOiBtYXBwaW5nIG9mIHsgZ2E0RmxhdEtleTogc291cmNlRmllbGRJbldpZGdldEludGVyYWN0aW9uRGF0YSB9XG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb24gPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcblxuZXhwb3J0IGludGVyZmFjZSBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZyB7XG4gIGdhRXZlbnROYW1lOiBzdHJpbmc7XG4gIGFsbG93ZWRGaWVsZHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuICB3aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9ucz86IFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0E0RXhjbHVkZWRFdmVudENvbmZpZyB7XG4gIGdhRXZlbnROYW1lOiBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBHQTRFdmVudFNjaGVtYUVudHJ5ID0gR0E0UHJvamVjdGVkRXZlbnRDb25maWcgfCBHQTRFeGNsdWRlZEV2ZW50Q29uZmlnO1xuXG5jb25zdCBXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbiA9IHtcbiAgd2lkZ2V0X2NvbGxhcHNlZDogeyB0cmlnZ2VyX2NvbGxhcHNlX3NvdXJjZTogJ2NvbGxhcHNlX3NvdXJjZScgfSxcbiAgcHJvZHVjdF9jYXJkX2NsaWNrZWQ6IHsgdHJpZ2dlcl9wcm9kdWN0X2lkOiAncHJvZHVjdF9pZCcgfSxcbiAgc3VnZ2VzdGlvbl9zY3JvbGxlZDogeyB0cmlnZ2VyX3N1Z2dlc3Rpb25faWQ6ICdzdWdnZXN0aW9uX2lkJyB9LFxufTtcblxuZXhwb3J0IGNvbnN0IEdBNF9FVkVOVF9TQ0hFTUE6IFJlY29yZDxFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBHQTRFdmVudFNjaGVtYUVudHJ5PiA9IHtcbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0UmVuZGVyZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfd2lkZ2V0X3JlbmRlcmVkJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICAndHJpZ2dlci53aWRnZXQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0X3JvbGUnLFxuICAgICAgJ2NvbnRleHQuc3VyZmFjZScsXG4gICAgXSxcbiAgfSxcblxuICAvLyBUaGlzIGV2ZW50IGlzIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0SW50ZXJhY3Rpb25dOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfd2lkZ2V0X2ludGVyYWN0aW9uJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICAndHJpZ2dlci53aWRnZXQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uJyxcbiAgICAgICd0cmlnZ2VyLmVudGl0eV9yb2xlJyxcbiAgICAgICdjb250ZXh0LnN1cmZhY2UnLFxuICAgIF0sXG4gICAgd2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbnM6IFdJREdFVF9JTlRFUkFDVElPTl9EQVRBX1BST0pFQ1RJT05TLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0XToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX2NoYXRfcmVxdWVzdCcsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ3BhZ2VfdHlwZScsXG4gICAgICAncGFnZV9pZCcsXG4gICAgICAndHJpZ2dlci53aWRnZXQnLFxuICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJyxcbiAgICAgIC8vICdjaGF0LnJlcXVlc3RfdGV4dCcsIC8vIFRoaXMgaXMgaGlnaCBjYXJkaW5hbGl0eSBhbmQgcG90ZW50aWFsbHkgUElJIGJ1dCB3ZSBtaWdodCB3YW50IHRvIGluY2x1ZGUgaXQgbGF0ZXJcbiAgICAgICdjaGF0LnVzZXJfdHlwZWQnLFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9pZCcsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY2F0ZWdvcnknLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2NyZWF0ZWRfYXQnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2lzX2Fuc3dlcicsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LmZvcm1fdHlwZScsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICBdLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXNwb25zZV06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV9jaGF0X3Jlc3BvbnNlJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAncGFnZV90eXBlJyxcbiAgICAgICdwYWdlX2lkJyxcbiAgICAgICd0cmlnZ2VyLndpZGdldCcsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWQgKG1heWJlIGl0IHNob3VsZCdudCBiZT8/PylcbiAgICAgICdjaGF0LnVzZXJfdHlwZWQnLFxuICAgICAgJ2NoYXQucmVzcG9uc2VfdGltZV9tcycsXG4gICAgICAnY2hhdC5wcm9kdWN0X2NhcmRzX3JldHVybmVkJyxcbiAgICAgICdjaGF0LnByb2R1Y3RfaWRzX3JldHVybmVkJyxcbiAgICAgICdjaGF0LnJldmlld19jYXJkc19yZXR1cm5lZCcsXG4gICAgXSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5FbnZpdmVJbml0aWFsaXplZF06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV9pbml0aWFsaXplZCcsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ2Vudmlyb25tZW50LnNhbGVzX2FnZW50X2VuYWJsZWQnLFxuICAgICAgJ2Vudmlyb25tZW50LmVudml2ZV9lbmFibGVkJyxcbiAgICAgIC8vICdlbnZpcm9ubWVudC5zZWFyY2hfZW5hYmxlZCcsIC8vIEZvciBub3csIHNlYXJjaCBpcyBub3QgaW1wbGVtZW50ZWQuIFdlIHdpbGwgYWRkIGl0IGxhdGVyLlxuICAgICAgJ3BlcmZvcm1hbmNlLnN0YXJ0X3RpbWVfbXMnLFxuICAgICAgJ3BlcmZvcm1hbmNlLmluaXRpYWxpemVfdGltZV9tcycsXG4gICAgXSxcbiAgfSxcblxuICAvLyBUaGlzIGV2ZW50IGlzIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuUGFnZVZpZXdlZF06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV9wYWdlX2NvbnRleHRfZXZhbHVhdGVkJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICAnY29udGV4dC5zdXBwb3J0ZWQnLFxuICAgICAgJ2NvbnRleHQucmVhZHknLFxuICAgICAgJ2NvbnRleHQucGFnZV92YXJpYW50X2lkJyxcbiAgICAgICdlbnZpcm9ubWVudC5lbnZpdmVfZW5hYmxlZCcsXG4gICAgXSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRUZXh0UmVxdWVzdF06IHtcbiAgICBnYUV2ZW50TmFtZTogbnVsbCxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRUZXh0UmVzcG9uc2VdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dENsaWNrZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkNBLE1BQU1BLHNDQUF1RTtDQUMzRSxrQkFBa0IsRUFBRSx5QkFBeUIsbUJBQW1CO0NBQ2hFLHNCQUFzQixFQUFFLG9CQUFvQixjQUFjO0NBQzFELHFCQUFxQixFQUFFLHVCQUF1QixpQkFBaUI7Q0FDaEU7QUFFRCxNQUFhQyxtQkFBd0U7RUFDbEZDLDBDQUF1QixpQkFBaUI7RUFDdkMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUdBQSwwQ0FBdUIsb0JBQW9CO0VBQzFDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRCxrQ0FBa0M7RUFDbkM7RUFFQUEsMENBQXVCLGNBQWM7RUFDcEMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUVBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNEO0VBQ0Y7RUFFQUEsMENBQXVCLGVBQWU7RUFDckMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUVBQSwwQ0FBdUIsb0JBQW9CO0VBQzFDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUVBO0dBQ0E7R0FDRDtFQUNGO0VBR0FBLDBDQUF1QixhQUFhO0VBQ25DLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUVBQSwwQ0FBdUIsb0JBQW9CLEVBQzFDLGFBQWEsTUFDZDtFQUVBQSwwQ0FBdUIscUJBQXFCLEVBQzNDLGFBQWEsTUFDZDtFQUVBQSwwQ0FBdUIsb0JBQW9CLEVBQzFDLGFBQWEsTUFDZDtDQUNGIn0=
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0RXZlbnRTY2hlbWEuY2pzIiwibmFtZXMiOlsiV0lER0VUX0lOVEVSQUNUSU9OX0RBVEFfUFJPSkVDVElPTlM6IFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb24iLCJHQTRfRVZFTlRfU0NIRU1BOiBSZWNvcmQ8RW52aXZlTWV0cmljc0V2ZW50TmFtZSwgR0E0RXZlbnRTY2hlbWFFbnRyeT4iLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2dhNFByb2plY3Rpb25TZXJ2aWNlL2dhNEV2ZW50U2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR0E0IEV2ZW50IFNjaGVtYSDigJQgc2luZ2xlIHNvdXJjZSBvZiB0cnV0aCBmb3IgRW52aXZlIOKGkiBHQTQgcHJvamVjdGlvbi5cbiAqXG4gKiBFdmVyeSBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIE1VU1QgaGF2ZSBhbiBlbnRyeSBoZXJlLiBUaGUgUmVjb3JkIHR5cGUgZW5mb3JjZXNcbiAqIHRoaXMgYXQgY29tcGlsZSB0aW1lIOKAlCBhZGRpbmcgYSBuZXcgZW51bSBtZW1iZXIgd2l0aG91dCBhIHNjaGVtYSBlbnRyeSB3aWxsXG4gKiBjYXVzZSBhIFR5cGVTY3JpcHQgZXJyb3IuXG4gKlxuICogIyMgSG93IHRvIHVwZGF0ZSB0aGlzIGZpbGVcbiAqXG4gKiBXaGVuIGFkZGluZyBvciBtb2RpZnlpbmcgZXZlbnQgcHJvcGVydGllcywgZGVjaWRlIHdoZXRoZXIgdGhleSBiZWxvbmcgaW4gYGFsbG93ZWRGaWVsZHNgIHVzaW5nIHRoZXNlIGNyaXRlcmlhOlxuICogLSAqKkxvdyBjYXJkaW5hbGl0eSoqIOKAlCBhdm9pZCB1bmJvdW5kZWQgdmFsdWVzIChmcmVlIHRleHQsIElEcywgVVJMcywgdGltZXN0YW1wcykuXG4gKiAtICoqTm9uLXNlbnNpdGl2ZSoqIOKAlCBubyBQSUksIHVzZXIgaW5wdXQgdGV4dCwgb3IgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlscy5cbiAqIC0gKipGbGF0IHNjYWxhcioqIOKAlCBHQTQgY3VzdG9tIGRpbWVuc2lvbnMgYXJlIGZsYXQgc3RyaW5ncy9udW1iZXJzL2Jvb2xlYW5zLlxuICogICBOZXN0ZWQgb2JqZWN0cyBzaG91bGQgTk9UIGJlIGFkZGVkOyBleHRyYWN0IHNwZWNpZmljIHN1Yi1maWVsZHMgaW5zdGVhZC5cbiAqIC0gKipTbmFrZV9jYXNlIGtleSoqIOKAlCBtdXN0IGFscmVhZHkgYmUgZG90LW5vdGF0aW9uIHNuYWtlX2Nhc2UgKGUuZy4gYGNoYXQudXNlcl90eXBlZGApLlxuICogLSAqKkFuYWx5dGljYWxseSB1c2VmdWwqKiDigJQgdGhlIGZpZWxkIHNob3VsZCBlbmFibGUgbWVhbmluZ2Z1bCBmaWx0ZXJpbmcvc2VnbWVudGF0aW9uXG4gKiAgIGZvciBtZXJjaGFudHMgaW4gdGhlaXIgR0E0IGRhc2hib2FyZHMuXG4gKlxuICogSWYgZXhjbHVkZWQgZnJvbSBgYWxsb3dlZEZpZWxkc2AsIHRoZSBwcm9qZWN0aW9uIGxheWVyIHdpbGwgYXV0b21hdGljYWxseSBkcm9wIGl0LlxuICpcbiAqIElGIElOIERPVUJULCBET04nVCBIRVNJVEFURSBUTyBSRUFDSCBPVVQgVE8gVEhFIEFOQUxZVElDUyBURUFNISEhXG4gKi9cbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICcuLi9hbXBsaXR1ZGVTZXJ2aWNlL2V2ZW50TmFtZXMnO1xuXG4vKipcbiAqIERlZmluZXMgd2hpY2ggZmllbGRzIHRvIGV4dHJhY3QgZnJvbSBgdHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25fZGF0YWBcbiAqIGZvciBhIGdpdmVuIGB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbmAgdmFsdWUuXG4gKlxuICogS2V5OiB0aGUgdmFsdWUgb2YgYHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uYCAoZS5nLiBcIndpZGdldF9jb2xsYXBzZWRcIilcbiAqIFZhbHVlOiBtYXBwaW5nIG9mIHsgZ2E0RmxhdEtleTogc291cmNlRmllbGRJbldpZGdldEludGVyYWN0aW9uRGF0YSB9XG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb24gPSBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcblxuZXhwb3J0IGludGVyZmFjZSBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZyB7XG4gIGdhRXZlbnROYW1lOiBzdHJpbmc7XG4gIGFsbG93ZWRGaWVsZHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuICAvKipcbiAgICogV2hlbiBwcmVzZW50LCB1c2VkIGluc3RlYWQgb2YgYGFsbG93ZWRGaWVsZHNgIHRvIGJvdGggZmlsdGVyIGFuZCByZW5hbWUgZmllbGRzLlxuICAgKiBLZXk6IHRoZSBkZXNpcmVkIEdBNCBwYXJhbWV0ZXIgbmFtZS4gVmFsdWU6IHRoZSBzb3VyY2UgZG90LW5vdGF0aW9uIGtleSBpbiBldmVudFByb3BzLlxuICAgKi9cbiAgZmllbGRQcm9qZWN0aW9ucz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb25zPzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHQTRFeGNsdWRlZEV2ZW50Q29uZmlnIHtcbiAgZ2FFdmVudE5hbWU6IG51bGw7XG59XG5cbmV4cG9ydCB0eXBlIEdBNEV2ZW50U2NoZW1hRW50cnkgPSBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZyB8IEdBNEV4Y2x1ZGVkRXZlbnRDb25maWc7XG5cbmNvbnN0IFdJREdFVF9JTlRFUkFDVElPTl9EQVRBX1BST0pFQ1RJT05TOiBXaWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uID0ge1xuICB3aWRnZXRfY29sbGFwc2VkOiB7IGludGVyYWN0aW9uX2NvbGxhcHNlX3NvdXJjZTogJ3dpZGdldF9jb2xsYXBzZWQuY29sbGFwc2Vfc291cmNlJyB9LFxuICBwcm9kdWN0X2NhcmRfY2xpY2tlZDogeyBpbnRlcmFjdGlvbl9wcm9kdWN0X2lkOiAncHJvZHVjdF9jYXJkX2NsaWNrZWQucHJvZHVjdF9pZCcgfSxcbiAgc3VnZ2VzdGlvbl9zY3JvbGxlZDogeyBpbnRlcmFjdGlvbl9zdWdnZXN0aW9uX2lkOiAnc3VnZ2VzdGlvbl9zY3JvbGxlZC5zdWdnZXN0aW9uX2lkJyB9LFxufTtcblxuZXhwb3J0IGNvbnN0IEdBNF9FVkVOVF9TQ0hFTUE6IFJlY29yZDxFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBHQTRFdmVudFNjaGVtYUVudHJ5PiA9IHtcbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0UmVuZGVyZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfd2lkZ2V0X3JlbmRlcmVkJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXSxcbiAgICBmaWVsZFByb2plY3Rpb25zOiB7XG4gICAgICBwYWdlX3R5cGU6ICdjb250ZXh0LnBhZ2VfdHlwZScsXG4gICAgICBwYWdlX2lkOiAnY29udGV4dC5wYWdlX2lkJyxcbiAgICAgIHN1cmZhY2U6ICdjb250ZXh0LnN1cmZhY2UnLFxuICAgICAgd2lkZ2V0OiAndHJpZ2dlci53aWRnZXQnLFxuICAgICAgd2lkZ2V0X3JvbGU6ICd0cmlnZ2VyLndpZGdldF9yb2xlJyxcbiAgICB9LFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldEludGVyYWN0aW9uXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3dpZGdldF9pbnRlcmFjdGlvbicsXG4gICAgYWxsb3dlZEZpZWxkczogW10sXG4gICAgZmllbGRQcm9qZWN0aW9uczoge1xuICAgICAgcGFnZV90eXBlOiAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgcGFnZV9pZDogJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICBzdXJmYWNlOiAnY29udGV4dC5zdXJmYWNlJyxcbiAgICAgIHdpZGdldDogJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgIGludGVyYWN0aW9uX3R5cGU6ICd0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbicsXG4gICAgICBpbnRlcmFjdGlvbl9jbGFzczogJ3RyaWdnZXIuaW50ZXJhY3Rpb25fY2xhc3MnLFxuICAgICAgd2lkZ2V0X3JvbGU6ICd0cmlnZ2VyLndpZGdldF9yb2xlJyxcbiAgICB9LFxuICAgIHdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb25zOiBXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUyxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdF06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV9jaGF0X3JlcXVlc3QnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtcbiAgICAgICdwYWdlX3R5cGUnLFxuICAgICAgJ3BhZ2VfaWQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgICdjaGF0LnJlcXVlc3RfdHlwZScsXG4gICAgICAvLyAnY2hhdC5yZXF1ZXN0X3RleHQnLCAvLyBUaGlzIGlzIGhpZ2ggY2FyZGluYWxpdHkgYW5kIHBvdGVudGlhbGx5IFBJSSBidXQgd2UgbWlnaHQgd2FudCB0byBpbmNsdWRlIGl0IGxhdGVyXG4gICAgICAnY2hhdC51c2VyX3R5cGVkJyxcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25faWQnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2NhdGVnb3J5JywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9jcmVhdGVkX2F0JywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9pc19hbnN3ZXInLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5mb3JtX3R5cGUnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgXSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVzcG9uc2VdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfY2hhdF9yZXNwb25zZScsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ3BhZ2VfdHlwZScsXG4gICAgICAncGFnZV9pZCcsXG4gICAgICAndHJpZ2dlci53aWRnZXQnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkIChtYXliZSBpdCBzaG91bGQnbnQgYmU/Pz8pXG4gICAgICAnY2hhdC51c2VyX3R5cGVkJyxcbiAgICAgICdjaGF0LnJlc3BvbnNlX3RpbWVfbXMnLFxuICAgICAgJ2NoYXQucHJvZHVjdF9jYXJkc19yZXR1cm5lZCcsXG4gICAgICAnY2hhdC5wcm9kdWN0X2lkc19yZXR1cm5lZCcsXG4gICAgICAnY2hhdC5yZXZpZXdfY2FyZHNfcmV0dXJuZWQnLFxuICAgIF0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuRW52aXZlSW5pdGlhbGl6ZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfaW5pdGlhbGl6ZWQnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtcbiAgICAgICdlbnZpcm9ubWVudC5zYWxlc19hZ2VudF9lbmFibGVkJyxcbiAgICAgICdlbnZpcm9ubWVudC5lbnZpdmVfZW5hYmxlZCcsXG4gICAgICAvLyAnZW52aXJvbm1lbnQuc2VhcmNoX2VuYWJsZWQnLCAvLyBGb3Igbm93LCBzZWFyY2ggaXMgbm90IGltcGxlbWVudGVkLiBXZSB3aWxsIGFkZCBpdCBsYXRlci5cbiAgICAgICdwZXJmb3JtYW5jZS5zdGFydF90aW1lX21zJyxcbiAgICAgICdwZXJmb3JtYW5jZS5pbml0aWFsaXplX3RpbWVfbXMnLFxuICAgIF0sXG4gIH0sXG5cbiAgLy8gVGhpcyBldmVudCBpcyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLlBhZ2VWaWV3ZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfcGFnZV9jb250ZXh0X2V2YWx1YXRlZCcsXG4gICAgYWxsb3dlZEZpZWxkczogW10sXG4gICAgZmllbGRQcm9qZWN0aW9uczoge1xuICAgICAgcGFnZV90eXBlOiAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgcGFnZV9pZDogJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICBjb250ZXh0X3N1cHBvcnRlZDogJ2NvbnRleHQuc3VwcG9ydGVkJyxcbiAgICAgIGNvbnRleHRfcmVhZHk6ICdjb250ZXh0LnJlYWR5JyxcbiAgICAgIGNvbnRleHRfcGFnZV92YXJpYW50X2lkOiAnY29udGV4dC5wYWdlX3ZhcmlhbnRfaWQnLFxuICAgICAgZW52aXJvbm1lbnRfZW52aXZlX2VuYWJsZWQ6ICdlbnZpcm9ubWVudC5lbnZpdmVfZW5hYmxlZCcsXG4gICAgfSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRUZXh0UmVxdWVzdF06IHtcbiAgICBnYUV2ZW50TmFtZTogbnVsbCxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRUZXh0UmVzcG9uc2VdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dENsaWNrZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0RBLE1BQU1BLHNDQUF1RTtDQUMzRSxrQkFBa0IsRUFBRSw2QkFBNkIsb0NBQW9DO0NBQ3JGLHNCQUFzQixFQUFFLHdCQUF3QixtQ0FBbUM7Q0FDbkYscUJBQXFCLEVBQUUsMkJBQTJCLHFDQUFxQztDQUN4RjtBQUVELE1BQWFDLG1CQUF3RTtFQUNsRkMsMENBQXVCLGlCQUFpQjtFQUN2QyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULFNBQVM7R0FDVCxRQUFRO0dBQ1IsYUFBYTtHQUNkO0VBQ0Y7RUFFQUEsMENBQXVCLG9CQUFvQjtFQUMxQyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULFNBQVM7R0FDVCxRQUFRO0dBQ1Isa0JBQWtCO0dBQ2xCLG1CQUFtQjtHQUNuQixhQUFhO0dBQ2Q7RUFDRCxrQ0FBa0M7RUFDbkM7RUFFQUEsMENBQXVCLGNBQWM7RUFDcEMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUVBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNEO0VBQ0Y7RUFFQUEsMENBQXVCLGVBQWU7RUFDckMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUVBQSwwQ0FBdUIsb0JBQW9CO0VBQzFDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUVBO0dBQ0E7R0FDRDtFQUNGO0VBR0FBLDBDQUF1QixhQUFhO0VBQ25DLGFBQWE7RUFDYixlQUFlLEVBQUU7RUFDakIsa0JBQWtCO0dBQ2hCLFdBQVc7R0FDWCxTQUFTO0dBQ1QsbUJBQW1CO0dBQ25CLGVBQWU7R0FDZix5QkFBeUI7R0FDekIsNEJBQTRCO0dBQzdCO0VBQ0Y7RUFFQUEsMENBQXVCLG9CQUFvQixFQUMxQyxhQUFhLE1BQ2Q7RUFFQUEsMENBQXVCLHFCQUFxQixFQUMzQyxhQUFhLE1BQ2Q7RUFFQUEsMENBQXVCLG9CQUFvQixFQUMxQyxhQUFhLE1BQ2Q7Q0FDRiJ9
@@ -24,31 +24,34 @@ import { EnviveMetricsEventName } from "../amplitudeService/eventNames.js";
24
24
  * IF IN DOUBT, DON'T HESITATE TO REACH OUT TO THE ANALYTICS TEAM!!!
25
25
  */
26
26
  const WIDGET_INTERACTION_DATA_PROJECTIONS = {
27
- widget_collapsed: { trigger_collapse_source: "collapse_source" },
28
- product_card_clicked: { trigger_product_id: "product_id" },
29
- suggestion_scrolled: { trigger_suggestion_id: "suggestion_id" }
27
+ widget_collapsed: { interaction_collapse_source: "widget_collapsed.collapse_source" },
28
+ product_card_clicked: { interaction_product_id: "product_card_clicked.product_id" },
29
+ suggestion_scrolled: { interaction_suggestion_id: "suggestion_scrolled.suggestion_id" }
30
30
  };
31
31
  const GA4_EVENT_SCHEMA = {
32
32
  [EnviveMetricsEventName.WidgetRendered]: {
33
33
  gaEventName: "envive_widget_rendered",
34
- allowedFields: [
35
- "context.page_type",
36
- "context.page_id",
37
- "trigger.widget",
38
- "trigger.widget_role",
39
- "context.surface"
40
- ]
34
+ allowedFields: [],
35
+ fieldProjections: {
36
+ page_type: "context.page_type",
37
+ page_id: "context.page_id",
38
+ surface: "context.surface",
39
+ widget: "trigger.widget",
40
+ widget_role: "trigger.widget_role"
41
+ }
41
42
  },
42
43
  [EnviveMetricsEventName.WidgetInteraction]: {
43
44
  gaEventName: "envive_widget_interaction",
44
- allowedFields: [
45
- "context.page_type",
46
- "context.page_id",
47
- "trigger.widget",
48
- "trigger.widget_interaction",
49
- "trigger.entity_role",
50
- "context.surface"
51
- ],
45
+ allowedFields: [],
46
+ fieldProjections: {
47
+ page_type: "context.page_type",
48
+ page_id: "context.page_id",
49
+ surface: "context.surface",
50
+ widget: "trigger.widget",
51
+ interaction_type: "trigger.widget_interaction",
52
+ interaction_class: "trigger.interaction_class",
53
+ widget_role: "trigger.widget_role"
54
+ },
52
55
  widgetInteractionDataProjections: WIDGET_INTERACTION_DATA_PROJECTIONS
53
56
  },
54
57
  [EnviveMetricsEventName.ChatRequest]: {
@@ -90,14 +93,15 @@ const GA4_EVENT_SCHEMA = {
90
93
  },
91
94
  [EnviveMetricsEventName.PageViewed]: {
92
95
  gaEventName: "envive_page_context_evaluated",
93
- allowedFields: [
94
- "context.page_type",
95
- "context.page_id",
96
- "context.supported",
97
- "context.ready",
98
- "context.page_variant_id",
99
- "environment.envive_enabled"
100
- ]
96
+ allowedFields: [],
97
+ fieldProjections: {
98
+ page_type: "context.page_type",
99
+ page_id: "context.page_id",
100
+ context_supported: "context.supported",
101
+ context_ready: "context.ready",
102
+ context_page_variant_id: "context.page_variant_id",
103
+ environment_envive_enabled: "environment.envive_enabled"
104
+ }
101
105
  },
102
106
  [EnviveMetricsEventName.WidgetTextRequest]: { gaEventName: null },
103
107
  [EnviveMetricsEventName.WidgetTextResponse]: { gaEventName: null },
@@ -106,4 +110,4 @@ const GA4_EVENT_SCHEMA = {
106
110
 
107
111
  //#endregion
108
112
  export { GA4_EVENT_SCHEMA };
109
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0RXZlbnRTY2hlbWEuanMiLCJuYW1lcyI6WyJXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbiIsIkdBNF9FVkVOVF9TQ0hFTUE6IFJlY29yZDxFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBHQTRFdmVudFNjaGVtYUVudHJ5PiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9nYTRQcm9qZWN0aW9uU2VydmljZS9nYTRFdmVudFNjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdBNCBFdmVudCBTY2hlbWEg4oCUIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIEVudml2ZSDihpIgR0E0IHByb2plY3Rpb24uXG4gKlxuICogRXZlcnkgRW52aXZlTWV0cmljc0V2ZW50TmFtZSBNVVNUIGhhdmUgYW4gZW50cnkgaGVyZS4gVGhlIFJlY29yZCB0eXBlIGVuZm9yY2VzXG4gKiB0aGlzIGF0IGNvbXBpbGUgdGltZSDigJQgYWRkaW5nIGEgbmV3IGVudW0gbWVtYmVyIHdpdGhvdXQgYSBzY2hlbWEgZW50cnkgd2lsbFxuICogY2F1c2UgYSBUeXBlU2NyaXB0IGVycm9yLlxuICpcbiAqICMjIEhvdyB0byB1cGRhdGUgdGhpcyBmaWxlXG4gKlxuICogV2hlbiBhZGRpbmcgb3IgbW9kaWZ5aW5nIGV2ZW50IHByb3BlcnRpZXMsIGRlY2lkZSB3aGV0aGVyIHRoZXkgYmVsb25nIGluIGBhbGxvd2VkRmllbGRzYCB1c2luZyB0aGVzZSBjcml0ZXJpYTpcbiAqIC0gKipMb3cgY2FyZGluYWxpdHkqKiDigJQgYXZvaWQgdW5ib3VuZGVkIHZhbHVlcyAoZnJlZSB0ZXh0LCBJRHMsIFVSTHMsIHRpbWVzdGFtcHMpLlxuICogLSAqKk5vbi1zZW5zaXRpdmUqKiDigJQgbm8gUElJLCB1c2VyIGlucHV0IHRleHQsIG9yIGludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG4gKiAtICoqRmxhdCBzY2FsYXIqKiDigJQgR0E0IGN1c3RvbSBkaW1lbnNpb25zIGFyZSBmbGF0IHN0cmluZ3MvbnVtYmVycy9ib29sZWFucy5cbiAqICAgTmVzdGVkIG9iamVjdHMgc2hvdWxkIE5PVCBiZSBhZGRlZDsgZXh0cmFjdCBzcGVjaWZpYyBzdWItZmllbGRzIGluc3RlYWQuXG4gKiAtICoqU25ha2VfY2FzZSBrZXkqKiDigJQgbXVzdCBhbHJlYWR5IGJlIGRvdC1ub3RhdGlvbiBzbmFrZV9jYXNlIChlLmcuIGBjaGF0LnVzZXJfdHlwZWRgKS5cbiAqIC0gKipBbmFseXRpY2FsbHkgdXNlZnVsKiog4oCUIHRoZSBmaWVsZCBzaG91bGQgZW5hYmxlIG1lYW5pbmdmdWwgZmlsdGVyaW5nL3NlZ21lbnRhdGlvblxuICogICBmb3IgbWVyY2hhbnRzIGluIHRoZWlyIEdBNCBkYXNoYm9hcmRzLlxuICpcbiAqIElmIGV4Y2x1ZGVkIGZyb20gYGFsbG93ZWRGaWVsZHNgLCB0aGUgcHJvamVjdGlvbiBsYXllciB3aWxsIGF1dG9tYXRpY2FsbHkgZHJvcCBpdC5cbiAqXG4gKiBJRiBJTiBET1VCVCwgRE9OJ1QgSEVTSVRBVEUgVE8gUkVBQ0ggT1VUIFRPIFRIRSBBTkFMWVRJQ1MgVEVBTSEhIVxuICovXG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnLi4vYW1wbGl0dWRlU2VydmljZS9ldmVudE5hbWVzJztcblxuLyoqXG4gKiBEZWZpbmVzIHdoaWNoIGZpZWxkcyB0byBleHRyYWN0IGZyb20gYHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uX2RhdGFgXG4gKiBmb3IgYSBnaXZlbiBgdHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25gIHZhbHVlLlxuICpcbiAqIEtleTogdGhlIHZhbHVlIG9mIGB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbmAgKGUuZy4gXCJ3aWRnZXRfY29sbGFwc2VkXCIpXG4gKiBWYWx1ZTogbWFwcGluZyBvZiB7IGdhNEZsYXRLZXk6IHNvdXJjZUZpZWxkSW5XaWRnZXRJbnRlcmFjdGlvbkRhdGEgfVxuICovXG5leHBvcnQgdHlwZSBXaWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uID0gUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0E0UHJvamVjdGVkRXZlbnRDb25maWcge1xuICBnYUV2ZW50TmFtZTogc3RyaW5nO1xuICBhbGxvd2VkRmllbGRzOiByZWFkb25seSBzdHJpbmdbXTtcbiAgd2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbnM/OiBXaWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdBNEV4Y2x1ZGVkRXZlbnRDb25maWcge1xuICBnYUV2ZW50TmFtZTogbnVsbDtcbn1cblxuZXhwb3J0IHR5cGUgR0E0RXZlbnRTY2hlbWFFbnRyeSA9IEdBNFByb2plY3RlZEV2ZW50Q29uZmlnIHwgR0E0RXhjbHVkZWRFdmVudENvbmZpZztcblxuY29uc3QgV0lER0VUX0lOVEVSQUNUSU9OX0RBVEFfUFJPSkVDVElPTlM6IFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb24gPSB7XG4gIHdpZGdldF9jb2xsYXBzZWQ6IHsgdHJpZ2dlcl9jb2xsYXBzZV9zb3VyY2U6ICdjb2xsYXBzZV9zb3VyY2UnIH0sXG4gIHByb2R1Y3RfY2FyZF9jbGlja2VkOiB7IHRyaWdnZXJfcHJvZHVjdF9pZDogJ3Byb2R1Y3RfaWQnIH0sXG4gIHN1Z2dlc3Rpb25fc2Nyb2xsZWQ6IHsgdHJpZ2dlcl9zdWdnZXN0aW9uX2lkOiAnc3VnZ2VzdGlvbl9pZCcgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBHQTRfRVZFTlRfU0NIRU1BOiBSZWNvcmQ8RW52aXZlTWV0cmljc0V2ZW50TmFtZSwgR0E0RXZlbnRTY2hlbWFFbnRyeT4gPSB7XG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFJlbmRlcmVkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3dpZGdldF9yZW5kZXJlZCcsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgICd0cmlnZ2VyLndpZGdldF9yb2xlJyxcbiAgICAgICdjb250ZXh0LnN1cmZhY2UnLFxuICAgIF0sXG4gIH0sXG5cbiAgLy8gVGhpcyBldmVudCBpcyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldEludGVyYWN0aW9uXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3dpZGdldF9pbnRlcmFjdGlvbicsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgICd0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbicsXG4gICAgICAndHJpZ2dlci5lbnRpdHlfcm9sZScsXG4gICAgICAnY29udGV4dC5zdXJmYWNlJyxcbiAgICBdLFxuICAgIHdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb25zOiBXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUyxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdF06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV9jaGF0X3JlcXVlc3QnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtcbiAgICAgICdwYWdlX3R5cGUnLFxuICAgICAgJ3BhZ2VfaWQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgICdjaGF0LnJlcXVlc3RfdHlwZScsXG4gICAgICAvLyAnY2hhdC5yZXF1ZXN0X3RleHQnLCAvLyBUaGlzIGlzIGhpZ2ggY2FyZGluYWxpdHkgYW5kIHBvdGVudGlhbGx5IFBJSSBidXQgd2UgbWlnaHQgd2FudCB0byBpbmNsdWRlIGl0IGxhdGVyXG4gICAgICAnY2hhdC51c2VyX3R5cGVkJyxcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25faWQnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2NhdGVnb3J5JywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9jcmVhdGVkX2F0JywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9pc19hbnN3ZXInLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgICAnY2hhdC5mb3JtX3R5cGUnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gICAgXSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVzcG9uc2VdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfY2hhdF9yZXNwb25zZScsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ3BhZ2VfdHlwZScsXG4gICAgICAncGFnZV9pZCcsXG4gICAgICAndHJpZ2dlci53aWRnZXQnLCAvLyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkIChtYXliZSBpdCBzaG91bGQnbnQgYmU/Pz8pXG4gICAgICAnY2hhdC51c2VyX3R5cGVkJyxcbiAgICAgICdjaGF0LnJlc3BvbnNlX3RpbWVfbXMnLFxuICAgICAgJ2NoYXQucHJvZHVjdF9jYXJkc19yZXR1cm5lZCcsXG4gICAgICAnY2hhdC5wcm9kdWN0X2lkc19yZXR1cm5lZCcsXG4gICAgICAnY2hhdC5yZXZpZXdfY2FyZHNfcmV0dXJuZWQnLFxuICAgIF0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuRW52aXZlSW5pdGlhbGl6ZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfaW5pdGlhbGl6ZWQnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtcbiAgICAgICdlbnZpcm9ubWVudC5zYWxlc19hZ2VudF9lbmFibGVkJyxcbiAgICAgICdlbnZpcm9ubWVudC5lbnZpdmVfZW5hYmxlZCcsXG4gICAgICAvLyAnZW52aXJvbm1lbnQuc2VhcmNoX2VuYWJsZWQnLCAvLyBGb3Igbm93LCBzZWFyY2ggaXMgbm90IGltcGxlbWVudGVkLiBXZSB3aWxsIGFkZCBpdCBsYXRlci5cbiAgICAgICdwZXJmb3JtYW5jZS5zdGFydF90aW1lX21zJyxcbiAgICAgICdwZXJmb3JtYW5jZS5pbml0aWFsaXplX3RpbWVfbXMnLFxuICAgIF0sXG4gIH0sXG5cbiAgLy8gVGhpcyBldmVudCBpcyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLlBhZ2VWaWV3ZWRdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfcGFnZV9jb250ZXh0X2V2YWx1YXRlZCcsXG4gICAgYWxsb3dlZEZpZWxkczogW1xuICAgICAgJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgJ2NvbnRleHQuc3VwcG9ydGVkJyxcbiAgICAgICdjb250ZXh0LnJlYWR5JyxcbiAgICAgICdjb250ZXh0LnBhZ2VfdmFyaWFudF9pZCcsXG4gICAgICAnZW52aXJvbm1lbnQuZW52aXZlX2VuYWJsZWQnLFxuICAgIF0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlcXVlc3RdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlc3BvbnNlXToge1xuICAgIGdhRXZlbnROYW1lOiBudWxsLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRDbGlja2VkXToge1xuICAgIGdhRXZlbnROYW1lOiBudWxsLFxuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZDQSxNQUFNQSxzQ0FBdUU7Q0FDM0Usa0JBQWtCLEVBQUUseUJBQXlCLG1CQUFtQjtDQUNoRSxzQkFBc0IsRUFBRSxvQkFBb0IsY0FBYztDQUMxRCxxQkFBcUIsRUFBRSx1QkFBdUIsaUJBQWlCO0NBQ2hFO0FBRUQsTUFBYUMsbUJBQXdFO0VBQ2xGLHVCQUF1QixpQkFBaUI7RUFDdkMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUdBLHVCQUF1QixvQkFBb0I7RUFDMUMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDRDtFQUNELGtDQUFrQztFQUNuQztFQUVBLHVCQUF1QixjQUFjO0VBQ3BDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUNBO0dBQ0E7R0FFQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDRDtFQUNGO0VBRUEsdUJBQXVCLGVBQWU7RUFDckMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUVBLHVCQUF1QixvQkFBb0I7RUFDMUMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBRUE7R0FDQTtHQUNEO0VBQ0Y7RUFHQSx1QkFBdUIsYUFBYTtFQUNuQyxhQUFhO0VBQ2IsZUFBZTtHQUNiO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNEO0VBQ0Y7RUFFQSx1QkFBdUIsb0JBQW9CLEVBQzFDLGFBQWEsTUFDZDtFQUVBLHVCQUF1QixxQkFBcUIsRUFDM0MsYUFBYSxNQUNkO0VBRUEsdUJBQXVCLG9CQUFvQixFQUMxQyxhQUFhLE1BQ2Q7Q0FDRiJ9
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0RXZlbnRTY2hlbWEuanMiLCJuYW1lcyI6WyJXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbiIsIkdBNF9FVkVOVF9TQ0hFTUE6IFJlY29yZDxFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCBHQTRFdmVudFNjaGVtYUVudHJ5PiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9nYTRQcm9qZWN0aW9uU2VydmljZS9nYTRFdmVudFNjaGVtYS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdBNCBFdmVudCBTY2hlbWEg4oCUIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIEVudml2ZSDihpIgR0E0IHByb2plY3Rpb24uXG4gKlxuICogRXZlcnkgRW52aXZlTWV0cmljc0V2ZW50TmFtZSBNVVNUIGhhdmUgYW4gZW50cnkgaGVyZS4gVGhlIFJlY29yZCB0eXBlIGVuZm9yY2VzXG4gKiB0aGlzIGF0IGNvbXBpbGUgdGltZSDigJQgYWRkaW5nIGEgbmV3IGVudW0gbWVtYmVyIHdpdGhvdXQgYSBzY2hlbWEgZW50cnkgd2lsbFxuICogY2F1c2UgYSBUeXBlU2NyaXB0IGVycm9yLlxuICpcbiAqICMjIEhvdyB0byB1cGRhdGUgdGhpcyBmaWxlXG4gKlxuICogV2hlbiBhZGRpbmcgb3IgbW9kaWZ5aW5nIGV2ZW50IHByb3BlcnRpZXMsIGRlY2lkZSB3aGV0aGVyIHRoZXkgYmVsb25nIGluIGBhbGxvd2VkRmllbGRzYCB1c2luZyB0aGVzZSBjcml0ZXJpYTpcbiAqIC0gKipMb3cgY2FyZGluYWxpdHkqKiDigJQgYXZvaWQgdW5ib3VuZGVkIHZhbHVlcyAoZnJlZSB0ZXh0LCBJRHMsIFVSTHMsIHRpbWVzdGFtcHMpLlxuICogLSAqKk5vbi1zZW5zaXRpdmUqKiDigJQgbm8gUElJLCB1c2VyIGlucHV0IHRleHQsIG9yIGludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG4gKiAtICoqRmxhdCBzY2FsYXIqKiDigJQgR0E0IGN1c3RvbSBkaW1lbnNpb25zIGFyZSBmbGF0IHN0cmluZ3MvbnVtYmVycy9ib29sZWFucy5cbiAqICAgTmVzdGVkIG9iamVjdHMgc2hvdWxkIE5PVCBiZSBhZGRlZDsgZXh0cmFjdCBzcGVjaWZpYyBzdWItZmllbGRzIGluc3RlYWQuXG4gKiAtICoqU25ha2VfY2FzZSBrZXkqKiDigJQgbXVzdCBhbHJlYWR5IGJlIGRvdC1ub3RhdGlvbiBzbmFrZV9jYXNlIChlLmcuIGBjaGF0LnVzZXJfdHlwZWRgKS5cbiAqIC0gKipBbmFseXRpY2FsbHkgdXNlZnVsKiog4oCUIHRoZSBmaWVsZCBzaG91bGQgZW5hYmxlIG1lYW5pbmdmdWwgZmlsdGVyaW5nL3NlZ21lbnRhdGlvblxuICogICBmb3IgbWVyY2hhbnRzIGluIHRoZWlyIEdBNCBkYXNoYm9hcmRzLlxuICpcbiAqIElmIGV4Y2x1ZGVkIGZyb20gYGFsbG93ZWRGaWVsZHNgLCB0aGUgcHJvamVjdGlvbiBsYXllciB3aWxsIGF1dG9tYXRpY2FsbHkgZHJvcCBpdC5cbiAqXG4gKiBJRiBJTiBET1VCVCwgRE9OJ1QgSEVTSVRBVEUgVE8gUkVBQ0ggT1VUIFRPIFRIRSBBTkFMWVRJQ1MgVEVBTSEhIVxuICovXG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnLi4vYW1wbGl0dWRlU2VydmljZS9ldmVudE5hbWVzJztcblxuLyoqXG4gKiBEZWZpbmVzIHdoaWNoIGZpZWxkcyB0byBleHRyYWN0IGZyb20gYHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uX2RhdGFgXG4gKiBmb3IgYSBnaXZlbiBgdHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25gIHZhbHVlLlxuICpcbiAqIEtleTogdGhlIHZhbHVlIG9mIGB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbmAgKGUuZy4gXCJ3aWRnZXRfY29sbGFwc2VkXCIpXG4gKiBWYWx1ZTogbWFwcGluZyBvZiB7IGdhNEZsYXRLZXk6IHNvdXJjZUZpZWxkSW5XaWRnZXRJbnRlcmFjdGlvbkRhdGEgfVxuICovXG5leHBvcnQgdHlwZSBXaWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uID0gUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0E0UHJvamVjdGVkRXZlbnRDb25maWcge1xuICBnYUV2ZW50TmFtZTogc3RyaW5nO1xuICBhbGxvd2VkRmllbGRzOiByZWFkb25seSBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFdoZW4gcHJlc2VudCwgdXNlZCBpbnN0ZWFkIG9mIGBhbGxvd2VkRmllbGRzYCB0byBib3RoIGZpbHRlciBhbmQgcmVuYW1lIGZpZWxkcy5cbiAgICogS2V5OiB0aGUgZGVzaXJlZCBHQTQgcGFyYW1ldGVyIG5hbWUuIFZhbHVlOiB0aGUgc291cmNlIGRvdC1ub3RhdGlvbiBrZXkgaW4gZXZlbnRQcm9wcy5cbiAgICovXG4gIGZpZWxkUHJvamVjdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICB3aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9ucz86IFdpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR0E0RXhjbHVkZWRFdmVudENvbmZpZyB7XG4gIGdhRXZlbnROYW1lOiBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBHQTRFdmVudFNjaGVtYUVudHJ5ID0gR0E0UHJvamVjdGVkRXZlbnRDb25maWcgfCBHQTRFeGNsdWRlZEV2ZW50Q29uZmlnO1xuXG5jb25zdCBXSURHRVRfSU5URVJBQ1RJT05fREFUQV9QUk9KRUNUSU9OUzogV2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbiA9IHtcbiAgd2lkZ2V0X2NvbGxhcHNlZDogeyBpbnRlcmFjdGlvbl9jb2xsYXBzZV9zb3VyY2U6ICd3aWRnZXRfY29sbGFwc2VkLmNvbGxhcHNlX3NvdXJjZScgfSxcbiAgcHJvZHVjdF9jYXJkX2NsaWNrZWQ6IHsgaW50ZXJhY3Rpb25fcHJvZHVjdF9pZDogJ3Byb2R1Y3RfY2FyZF9jbGlja2VkLnByb2R1Y3RfaWQnIH0sXG4gIHN1Z2dlc3Rpb25fc2Nyb2xsZWQ6IHsgaW50ZXJhY3Rpb25fc3VnZ2VzdGlvbl9pZDogJ3N1Z2dlc3Rpb25fc2Nyb2xsZWQuc3VnZ2VzdGlvbl9pZCcgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBHQTRfRVZFTlRfU0NIRU1BOiBSZWNvcmQ8RW52aXZlTWV0cmljc0V2ZW50TmFtZSwgR0E0RXZlbnRTY2hlbWFFbnRyeT4gPSB7XG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFJlbmRlcmVkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3dpZGdldF9yZW5kZXJlZCcsXG4gICAgYWxsb3dlZEZpZWxkczogW10sXG4gICAgZmllbGRQcm9qZWN0aW9uczoge1xuICAgICAgcGFnZV90eXBlOiAnY29udGV4dC5wYWdlX3R5cGUnLFxuICAgICAgcGFnZV9pZDogJ2NvbnRleHQucGFnZV9pZCcsXG4gICAgICBzdXJmYWNlOiAnY29udGV4dC5zdXJmYWNlJyxcbiAgICAgIHdpZGdldDogJ3RyaWdnZXIud2lkZ2V0JyxcbiAgICAgIHdpZGdldF9yb2xlOiAndHJpZ2dlci53aWRnZXRfcm9sZScsXG4gICAgfSxcbiAgfSxcblxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRJbnRlcmFjdGlvbl06IHtcbiAgICBnYUV2ZW50TmFtZTogJ2Vudml2ZV93aWRnZXRfaW50ZXJhY3Rpb24nLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtdLFxuICAgIGZpZWxkUHJvamVjdGlvbnM6IHtcbiAgICAgIHBhZ2VfdHlwZTogJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgIHBhZ2VfaWQ6ICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgc3VyZmFjZTogJ2NvbnRleHQuc3VyZmFjZScsXG4gICAgICB3aWRnZXQ6ICd0cmlnZ2VyLndpZGdldCcsXG4gICAgICBpbnRlcmFjdGlvbl90eXBlOiAndHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb24nLFxuICAgICAgaW50ZXJhY3Rpb25fY2xhc3M6ICd0cmlnZ2VyLmludGVyYWN0aW9uX2NsYXNzJyxcbiAgICAgIHdpZGdldF9yb2xlOiAndHJpZ2dlci53aWRnZXRfcm9sZScsXG4gICAgfSxcbiAgICB3aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uczogV0lER0VUX0lOVEVSQUNUSU9OX0RBVEFfUFJPSkVDVElPTlMsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3RdOiB7XG4gICAgZ2FFdmVudE5hbWU6ICdlbnZpdmVfY2hhdF9yZXF1ZXN0JyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAncGFnZV90eXBlJyxcbiAgICAgICdwYWdlX2lkJyxcbiAgICAgICd0cmlnZ2VyLndpZGdldCcsXG4gICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnLFxuICAgICAgLy8gJ2NoYXQucmVxdWVzdF90ZXh0JywgLy8gVGhpcyBpcyBoaWdoIGNhcmRpbmFsaXR5IGFuZCBwb3RlbnRpYWxseSBQSUkgYnV0IHdlIG1pZ2h0IHdhbnQgdG8gaW5jbHVkZSBpdCBsYXRlclxuICAgICAgJ2NoYXQudXNlcl90eXBlZCcsXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2lkJywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9jYXRlZ29yeScsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY3JlYXRlZF9hdCcsIC8vIG5vdCBjdXJyZW50bHkgaW1wbGVtZW50ZWRcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25faXNfYW5zd2VyJywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgICAgJ2NoYXQuZm9ybV90eXBlJywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICAgIF0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlc3BvbnNlXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX2NoYXRfcmVzcG9uc2UnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtcbiAgICAgICdwYWdlX3R5cGUnLFxuICAgICAgJ3BhZ2VfaWQnLFxuICAgICAgJ3RyaWdnZXIud2lkZ2V0JywgLy8gbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZCAobWF5YmUgaXQgc2hvdWxkJ250IGJlPz8/KVxuICAgICAgJ2NoYXQudXNlcl90eXBlZCcsXG4gICAgICAnY2hhdC5yZXNwb25zZV90aW1lX21zJyxcbiAgICAgICdjaGF0LnByb2R1Y3RfY2FyZHNfcmV0dXJuZWQnLFxuICAgICAgJ2NoYXQucHJvZHVjdF9pZHNfcmV0dXJuZWQnLFxuICAgICAgJ2NoYXQucmV2aWV3X2NhcmRzX3JldHVybmVkJyxcbiAgICBdLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkVudml2ZUluaXRpYWxpemVkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX2luaXRpYWxpemVkJyxcbiAgICBhbGxvd2VkRmllbGRzOiBbXG4gICAgICAnZW52aXJvbm1lbnQuc2FsZXNfYWdlbnRfZW5hYmxlZCcsXG4gICAgICAnZW52aXJvbm1lbnQuZW52aXZlX2VuYWJsZWQnLFxuICAgICAgLy8gJ2Vudmlyb25tZW50LnNlYXJjaF9lbmFibGVkJywgLy8gRm9yIG5vdywgc2VhcmNoIGlzIG5vdCBpbXBsZW1lbnRlZC4gV2Ugd2lsbCBhZGQgaXQgbGF0ZXIuXG4gICAgICAncGVyZm9ybWFuY2Uuc3RhcnRfdGltZV9tcycsXG4gICAgICAncGVyZm9ybWFuY2UuaW5pdGlhbGl6ZV90aW1lX21zJyxcbiAgICBdLFxuICB9LFxuXG4gIC8vIFRoaXMgZXZlbnQgaXMgbm90IGN1cnJlbnRseSBpbXBsZW1lbnRlZFxuICBbRW52aXZlTWV0cmljc0V2ZW50TmFtZS5QYWdlVmlld2VkXToge1xuICAgIGdhRXZlbnROYW1lOiAnZW52aXZlX3BhZ2VfY29udGV4dF9ldmFsdWF0ZWQnLFxuICAgIGFsbG93ZWRGaWVsZHM6IFtdLFxuICAgIGZpZWxkUHJvamVjdGlvbnM6IHtcbiAgICAgIHBhZ2VfdHlwZTogJ2NvbnRleHQucGFnZV90eXBlJyxcbiAgICAgIHBhZ2VfaWQ6ICdjb250ZXh0LnBhZ2VfaWQnLFxuICAgICAgY29udGV4dF9zdXBwb3J0ZWQ6ICdjb250ZXh0LnN1cHBvcnRlZCcsXG4gICAgICBjb250ZXh0X3JlYWR5OiAnY29udGV4dC5yZWFkeScsXG4gICAgICBjb250ZXh0X3BhZ2VfdmFyaWFudF9pZDogJ2NvbnRleHQucGFnZV92YXJpYW50X2lkJyxcbiAgICAgIGVudmlyb25tZW50X2Vudml2ZV9lbmFibGVkOiAnZW52aXJvbm1lbnQuZW52aXZlX2VuYWJsZWQnLFxuICAgIH0sXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlcXVlc3RdOiB7XG4gICAgZ2FFdmVudE5hbWU6IG51bGwsXG4gIH0sXG5cbiAgW0Vudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0VGV4dFJlc3BvbnNlXToge1xuICAgIGdhRXZlbnROYW1lOiBudWxsLFxuICB9LFxuXG4gIFtFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldFRleHRDbGlja2VkXToge1xuICAgIGdhRXZlbnROYW1lOiBudWxsLFxuICB9LFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtEQSxNQUFNQSxzQ0FBdUU7Q0FDM0Usa0JBQWtCLEVBQUUsNkJBQTZCLG9DQUFvQztDQUNyRixzQkFBc0IsRUFBRSx3QkFBd0IsbUNBQW1DO0NBQ25GLHFCQUFxQixFQUFFLDJCQUEyQixxQ0FBcUM7Q0FDeEY7QUFFRCxNQUFhQyxtQkFBd0U7RUFDbEYsdUJBQXVCLGlCQUFpQjtFQUN2QyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULFNBQVM7R0FDVCxRQUFRO0dBQ1IsYUFBYTtHQUNkO0VBQ0Y7RUFFQSx1QkFBdUIsb0JBQW9CO0VBQzFDLGFBQWE7RUFDYixlQUFlLEVBQUU7RUFDakIsa0JBQWtCO0dBQ2hCLFdBQVc7R0FDWCxTQUFTO0dBQ1QsU0FBUztHQUNULFFBQVE7R0FDUixrQkFBa0I7R0FDbEIsbUJBQW1CO0dBQ25CLGFBQWE7R0FDZDtFQUNELGtDQUFrQztFQUNuQztFQUVBLHVCQUF1QixjQUFjO0VBQ3BDLGFBQWE7RUFDYixlQUFlO0dBQ2I7R0FDQTtHQUNBO0dBQ0E7R0FFQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDRDtFQUNGO0VBRUEsdUJBQXVCLGVBQWU7RUFDckMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0E7R0FDQTtHQUNBO0dBQ0Q7RUFDRjtFQUVBLHVCQUF1QixvQkFBb0I7RUFDMUMsYUFBYTtFQUNiLGVBQWU7R0FDYjtHQUNBO0dBRUE7R0FDQTtHQUNEO0VBQ0Y7RUFHQSx1QkFBdUIsYUFBYTtFQUNuQyxhQUFhO0VBQ2IsZUFBZSxFQUFFO0VBQ2pCLGtCQUFrQjtHQUNoQixXQUFXO0dBQ1gsU0FBUztHQUNULG1CQUFtQjtHQUNuQixlQUFlO0dBQ2YseUJBQXlCO0dBQ3pCLDRCQUE0QjtHQUM3QjtFQUNGO0VBRUEsdUJBQXVCLG9CQUFvQixFQUMxQyxhQUFhLE1BQ2Q7RUFFQSx1QkFBdUIscUJBQXFCLEVBQzNDLGFBQWEsTUFDZDtFQUVBLHVCQUF1QixvQkFBb0IsRUFDMUMsYUFBYSxNQUNkO0NBQ0YifQ==
@@ -8,18 +8,39 @@ const filterToSchema = (eventProps, allowedFields) => {
8
8
  for (const field of allowedFields) if (field in eventProps) result[field] = eventProps[field];
9
9
  return result;
10
10
  };
11
+ const flattenOneLevel = (obj) => {
12
+ const result = {};
13
+ for (const [key, value] of Object.entries(obj)) if (!key.includes(".") && value !== null && typeof value === "object" && !Array.isArray(value)) for (const [subKey, subValue] of Object.entries(value)) result[`${key}.${subKey}`] = subValue;
14
+ else result[key] = value;
15
+ return result;
16
+ };
17
+ const filterWithProjections = (eventProps, projections) => {
18
+ const result = {};
19
+ for (const [ga4Key, sourceKey] of Object.entries(projections)) if (sourceKey in eventProps) result[ga4Key] = eventProps[sourceKey];
20
+ return result;
21
+ };
11
22
  const flattenDotKeys = (obj) => {
12
23
  const result = {};
13
24
  for (const [key, value] of Object.entries(obj)) result[key.replace(/\./g, "_")] = value;
14
25
  return result;
15
26
  };
16
27
  const sanitizePageId = (filtered) => {
17
- const pageType = filtered["context.page_type"];
28
+ const pageType = filtered["page_type"] ?? filtered["context.page_type"];
18
29
  if (pageType === "pdp" || pageType === "plp") return filtered;
19
30
  const rest = { ...filtered };
31
+ delete rest["page_id"];
20
32
  delete rest["context.page_id"];
21
33
  return rest;
22
34
  };
35
+ const getNestedValue = (obj, path) => {
36
+ const parts = path.split(".");
37
+ let current = obj;
38
+ for (const part of parts) {
39
+ if (current === null || typeof current !== "object") return void 0;
40
+ current = current[part];
41
+ }
42
+ return current;
43
+ };
23
44
  const projectWidgetInteractionData = (eventProps, config) => {
24
45
  if (!config.widgetInteractionDataProjections) return {};
25
46
  const interaction = eventProps["trigger.widget_interaction"];
@@ -30,7 +51,10 @@ const projectWidgetInteractionData = (eventProps, config) => {
30
51
  if (interactionData === null || interactionData === void 0 || typeof interactionData !== "object") return {};
31
52
  const data = interactionData;
32
53
  const result = {};
33
- for (const [gaKey, sourceField] of Object.entries(projectionMap)) if (sourceField in data) result[gaKey] = data[sourceField];
54
+ for (const [gaKey, sourcePath] of Object.entries(projectionMap)) {
55
+ const value = getNestedValue(data, sourcePath);
56
+ if (value !== void 0) result[gaKey] = value;
57
+ }
34
58
  return result;
35
59
  };
36
60
  const truncateString = (value) => {
@@ -50,8 +74,10 @@ const projectToGA4 = (eventName, eventProps) => {
50
74
  const schemaEntry = require_ga4EventSchema.GA4_EVENT_SCHEMA[eventName];
51
75
  if (schemaEntry.gaEventName === null) return;
52
76
  const config = schemaEntry;
53
- const props = eventProps ?? {};
54
- let filtered = filterToSchema(props, config.allowedFields);
77
+ const props = flattenOneLevel(eventProps ?? {});
78
+ let filtered;
79
+ if (config.fieldProjections) filtered = filterWithProjections(props, config.fieldProjections);
80
+ else filtered = filterToSchema(props, config.allowedFields);
55
81
  filtered = sanitizePageId(filtered);
56
82
  const interactionFields = projectWidgetInteractionData(props, config);
57
83
  const truncatedParams = truncateValues({
@@ -69,4 +95,4 @@ const projectToGA4 = (eventName, eventProps) => {
69
95
 
70
96
  //#endregion
71
97
  exports.projectToGA4 = projectToGA4;
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0UHJvamVjdGlvblNlcnZpY2UuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwicmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiIsIkdBNF9FVkVOVF9TQ0hFTUEiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZ2E0UHJvamVjdGlvblNlcnZpY2UvZ2E0UHJvamVjdGlvblNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJy4uL2FtcGxpdHVkZVNlcnZpY2UvZXZlbnROYW1lcyc7XG5pbXBvcnQgeyBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZywgR0E0X0VWRU5UX1NDSEVNQSB9IGZyb20gJy4vZ2E0RXZlbnRTY2hlbWEnO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdnYTRQcm9qZWN0aW9uU2VydmljZScpO1xuXG5jb25zdCBmaWx0ZXJUb1NjaGVtYSA9IChcbiAgZXZlbnRQcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGFsbG93ZWRGaWVsZHM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGZvciAoY29uc3QgZmllbGQgb2YgYWxsb3dlZEZpZWxkcykge1xuICAgIGlmIChmaWVsZCBpbiBldmVudFByb3BzKSB7XG4gICAgICByZXN1bHRbZmllbGRdID0gZXZlbnRQcm9wc1tmaWVsZF07XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vLyBcImNvbnRleHQucGFnZV90eXBlXCIg4oaSIFwiY29udGV4dF9wYWdlX3R5cGVcIlxuY29uc3QgZmxhdHRlbkRvdEtleXMgPSAob2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhvYmopKSB7XG4gICAgcmVzdWx0W2tleS5yZXBsYWNlKC9cXC4vZywgJ18nKV0gPSB2YWx1ZTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLy8gT21pdCBjb250ZXh0LnBhZ2VfaWQgZm9yIG5vbi1wZHAvcGxwIHBhZ2UgdHlwZXMuIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGZvciBjb250ZXh0LnBhZ2VfaWQgaXM6XG4vLyBQRFA6IHByb2R1Y3RfaWRcbi8vIFBMUDogcGxwX2lkXG4vLyBTZWFyY2g6IHNlYXJjaCBxdWVyeVxuLy8gT3RoZXI6IHBhZ2UgdXJsXG4vLyBXZSB3YW50IHRvIG9taXQgYWxsIGJ1dCBwZHAgYW5kIHBscCBwYWdlIHR5cGVzIHRvIHByb3ZpZGUgYSBjbGVhciwgY29uc2lzdGVudCBpbnRlcmZhY2UgZm9yIG1lcmNoYW50cy5cbmNvbnN0IHNhbml0aXplUGFnZUlkID0gKGZpbHRlcmVkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgY29uc3QgcGFnZVR5cGUgPSBmaWx0ZXJlZFsnY29udGV4dC5wYWdlX3R5cGUnXTtcbiAgaWYgKHBhZ2VUeXBlID09PSAncGRwJyB8fCBwYWdlVHlwZSA9PT0gJ3BscCcpIHtcbiAgICByZXR1cm4gZmlsdGVyZWQ7XG4gIH1cbiAgY29uc3QgcmVzdCA9IHsgLi4uZmlsdGVyZWQgfTtcbiAgZGVsZXRlIHJlc3RbJ2NvbnRleHQucGFnZV9pZCddO1xuICByZXR1cm4gcmVzdDtcbn07XG5cbi8vIEV4dHJhY3Qgd2hpdGVsaXN0ZWQgc3ViLWZpZWxkcyBmcm9tIHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uX2RhdGFcbmNvbnN0IHByb2plY3RXaWRnZXRJbnRlcmFjdGlvbkRhdGEgPSAoXG4gIGV2ZW50UHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBjb25maWc6IEdBNFByb2plY3RlZEV2ZW50Q29uZmlnLFxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBpZiAoIWNvbmZpZy53aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9ucykge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnN0IGludGVyYWN0aW9uID0gZXZlbnRQcm9wc1sndHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb24nXTtcbiAgaWYgKHR5cGVvZiBpbnRlcmFjdGlvbiAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdCBwcm9qZWN0aW9uTWFwID0gY29uZmlnLndpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb25zW2ludGVyYWN0aW9uXTtcbiAgaWYgKCFwcm9qZWN0aW9uTWFwKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3QgaW50ZXJhY3Rpb25EYXRhID0gZXZlbnRQcm9wc1sndHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25fZGF0YSddO1xuICBpZiAoXG4gICAgaW50ZXJhY3Rpb25EYXRhID09PSBudWxsIHx8XG4gICAgaW50ZXJhY3Rpb25EYXRhID09PSB1bmRlZmluZWQgfHxcbiAgICB0eXBlb2YgaW50ZXJhY3Rpb25EYXRhICE9PSAnb2JqZWN0J1xuICApIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdCBkYXRhID0gaW50ZXJhY3Rpb25EYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGZvciAoY29uc3QgW2dhS2V5LCBzb3VyY2VGaWVsZF0gb2YgT2JqZWN0LmVudHJpZXMocHJvamVjdGlvbk1hcCkpIHtcbiAgICBpZiAoc291cmNlRmllbGQgaW4gZGF0YSkge1xuICAgICAgcmVzdWx0W2dhS2V5XSA9IGRhdGFbc291cmNlRmllbGRdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuY29uc3QgdHJ1bmNhdGVTdHJpbmcgPSAodmFsdWU6IHVua25vd24pOiB1bmtub3duID0+IHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID4gMTAwKSB7XG4gICAgcmV0dXJuIGAke3ZhbHVlLnN1YnN0cmluZygwLCA5Nyl9Li4uYDtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59O1xuXG5jb25zdCB0cnVuY2F0ZVZhbHVlcyA9IChvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICByZXN1bHRba2V5XSA9IHRydW5jYXRlU3RyaW5nKHZhbHVlKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuY29uc3QgcHVzaFRvRGF0YUxheWVyID0gKGdhRXZlbnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCA9PiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuZGF0YUxheWVyKSB7XG4gICAgd2luZG93LmRhdGFMYXllci5wdXNoKGdhRXZlbnQpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcHJvamVjdFRvR0E0ID0gKFxuICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUsXG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbik6IHZvaWQgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHNjaGVtYUVudHJ5ID0gR0E0X0VWRU5UX1NDSEVNQVtldmVudE5hbWVdO1xuXG4gICAgaWYgKHNjaGVtYUVudHJ5LmdhRXZlbnROYW1lID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlnID0gc2NoZW1hRW50cnk7XG4gICAgY29uc3QgcHJvcHMgPSBldmVudFByb3BzID8/IHt9O1xuXG4gICAgbGV0IGZpbHRlcmVkID0gZmlsdGVyVG9TY2hlbWEocHJvcHMsIGNvbmZpZy5hbGxvd2VkRmllbGRzKTtcbiAgICBmaWx0ZXJlZCA9IHNhbml0aXplUGFnZUlkKGZpbHRlcmVkKTtcblxuICAgIGNvbnN0IGludGVyYWN0aW9uRmllbGRzID0gcHJvamVjdFdpZGdldEludGVyYWN0aW9uRGF0YShwcm9wcywgY29uZmlnKTtcblxuICAgIGNvbnN0IGZsYXRQYXJhbXMgPSB7XG4gICAgICAuLi5mbGF0dGVuRG90S2V5cyhmaWx0ZXJlZCksXG4gICAgICAuLi5pbnRlcmFjdGlvbkZpZWxkcyxcbiAgICB9O1xuXG4gICAgY29uc3QgdHJ1bmNhdGVkUGFyYW1zID0gdHJ1bmNhdGVWYWx1ZXMoZmxhdFBhcmFtcyk7XG5cbiAgICBwdXNoVG9EYXRhTGF5ZXIoe1xuICAgICAgZXZlbnQ6IGNvbmZpZy5nYUV2ZW50TmFtZSxcbiAgICAgIC4uLnRydW5jYXRlZFBhcmFtcyxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKCdFcnJvciBwcm9qZWN0aW5nIGV2ZW50IHRvIEdBNCcsIGVyciwge1xuICAgICAgZXZlbnROYW1lLFxuICAgIH0pO1xuICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBSUEsTUFBTSxTQUFTLElBQUlBLHVCQUFPLHVCQUF1QjtBQUVqRCxNQUFNLGtCQUNKLFlBQ0Esa0JBQzRCO0NBQzVCLE1BQU1DLFNBQWtDLEVBQUU7QUFDMUMsTUFBSyxNQUFNLFNBQVMsY0FDbEIsS0FBSSxTQUFTLFdBQ1gsUUFBTyxTQUFTLFdBQVc7QUFHL0IsUUFBTzs7QUFJVCxNQUFNLGtCQUFrQixRQUEwRDtDQUNoRixNQUFNQSxTQUFrQyxFQUFFO0FBQzFDLE1BQUssTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLFFBQVEsSUFBSSxDQUM1QyxRQUFPLElBQUksUUFBUSxPQUFPLElBQUksSUFBSTtBQUVwQyxRQUFPOztBQVNULE1BQU0sa0JBQWtCLGFBQStEO0NBQ3JGLE1BQU0sV0FBVyxTQUFTO0FBQzFCLEtBQUksYUFBYSxTQUFTLGFBQWEsTUFDckMsUUFBTztDQUVULE1BQU0sT0FBTyxFQUFFLEdBQUcsVUFBVTtBQUM1QixRQUFPLEtBQUs7QUFDWixRQUFPOztBQUlULE1BQU0sZ0NBQ0osWUFDQSxXQUM0QjtBQUM1QixLQUFJLENBQUMsT0FBTyxpQ0FDVixRQUFPLEVBQUU7Q0FHWCxNQUFNLGNBQWMsV0FBVztBQUMvQixLQUFJLE9BQU8sZ0JBQWdCLFNBQ3pCLFFBQU8sRUFBRTtDQUdYLE1BQU0sZ0JBQWdCLE9BQU8saUNBQWlDO0FBQzlELEtBQUksQ0FBQyxjQUNILFFBQU8sRUFBRTtDQUdYLE1BQU0sa0JBQWtCLFdBQVc7QUFDbkMsS0FDRSxvQkFBb0IsUUFDcEIsb0JBQW9CLFVBQ3BCLE9BQU8sb0JBQW9CLFNBRTNCLFFBQU8sRUFBRTtDQUdYLE1BQU0sT0FBTztDQUNiLE1BQU1BLFNBQWtDLEVBQUU7QUFDMUMsTUFBSyxNQUFNLENBQUMsT0FBTyxnQkFBZ0IsT0FBTyxRQUFRLGNBQWMsQ0FDOUQsS0FBSSxlQUFlLEtBQ2pCLFFBQU8sU0FBUyxLQUFLO0FBR3pCLFFBQU87O0FBR1QsTUFBTSxrQkFBa0IsVUFBNEI7QUFDbEQsS0FBSSxPQUFPLFVBQVUsWUFBWSxNQUFNLFNBQVMsSUFDOUMsUUFBTyxHQUFHLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQztBQUVuQyxRQUFPOztBQUdULE1BQU0sa0JBQWtCLFFBQTBEO0NBQ2hGLE1BQU1BLFNBQWtDLEVBQUU7QUFDMUMsTUFBSyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sUUFBUSxJQUFJLENBQzVDLFFBQU8sT0FBTyxlQUFlLE1BQU07QUFFckMsUUFBTzs7QUFHVCxNQUFNLG1CQUFtQixZQUEyQztBQUNsRSxLQUFJLE9BQU8sV0FBVyxlQUFlLE9BQU8sVUFDMUMsUUFBTyxVQUFVLEtBQUssUUFBUTs7QUFJbEMsTUFBYSxnQkFDWCxXQUNBLGVBQ1M7QUFDVCxLQUFJO0VBQ0YsTUFBTSxjQUFjQyx3Q0FBaUI7QUFFckMsTUFBSSxZQUFZLGdCQUFnQixLQUM5QjtFQUdGLE1BQU0sU0FBUztFQUNmLE1BQU0sUUFBUSxjQUFjLEVBQUU7RUFFOUIsSUFBSSxXQUFXLGVBQWUsT0FBTyxPQUFPLGNBQWM7QUFDMUQsYUFBVyxlQUFlLFNBQVM7RUFFbkMsTUFBTSxvQkFBb0IsNkJBQTZCLE9BQU8sT0FBTztFQU9yRSxNQUFNLGtCQUFrQixlQUxMO0dBQ2pCLEdBQUcsZUFBZSxTQUFTO0dBQzNCLEdBQUc7R0FDSixDQUVpRDtBQUVsRCxrQkFBZ0I7R0FDZCxPQUFPLE9BQU87R0FDZCxHQUFHO0dBQ0osQ0FBQztVQUNLLEtBQUs7QUFDWixTQUFPLFNBQVMsaUNBQWlDLEtBQUssRUFDcEQsV0FDRCxDQUFDIn0=
98
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0UHJvamVjdGlvblNlcnZpY2UuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwicmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiIsImN1cnJlbnQ6IHVua25vd24iLCJHQTRfRVZFTlRfU0NIRU1BIiwiZmlsdGVyZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2dhNFByb2plY3Rpb25TZXJ2aWNlL2dhNFByb2plY3Rpb25TZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICcuLi9hbXBsaXR1ZGVTZXJ2aWNlL2V2ZW50TmFtZXMnO1xuaW1wb3J0IHsgR0E0UHJvamVjdGVkRXZlbnRDb25maWcsIEdBNF9FVkVOVF9TQ0hFTUEgfSBmcm9tICcuL2dhNEV2ZW50U2NoZW1hJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignZ2E0UHJvamVjdGlvblNlcnZpY2UnKTtcblxuY29uc3QgZmlsdGVyVG9TY2hlbWEgPSAoXG4gIGV2ZW50UHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBhbGxvd2VkRmllbGRzOiByZWFkb25seSBzdHJpbmdbXSxcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBmb3IgKGNvbnN0IGZpZWxkIG9mIGFsbG93ZWRGaWVsZHMpIHtcbiAgICBpZiAoZmllbGQgaW4gZXZlbnRQcm9wcykge1xuICAgICAgcmVzdWx0W2ZpZWxkXSA9IGV2ZW50UHJvcHNbZmllbGRdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLy8gRmxhdHRlbiBvbmx5IHRydWUgdG9wLWxldmVsIG5lc3RlZCBvYmplY3RzIChrZXlzIHdpdGggbm8gZG90cykgb25lIGxldmVsIGRlZXAuXG4vLyBLZXlzIHRoYXQgYWxyZWFkeSBjb250YWluIGRvdHMgYXJlIGxlZnQgaW50YWN0IHNvIHRoYXQgZS5nLlxuLy8gYHRyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uX2RhdGE6IHsgLi4uIH1gIGlzIHByZXNlcnZlZCBmb3IgZG93bnN0cmVhbSBleHRyYWN0aW9uLlxuY29uc3QgZmxhdHRlbk9uZUxldmVsID0gKG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgIGlmIChcbiAgICAgICFrZXkuaW5jbHVkZXMoJy4nKSAmJlxuICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAgICFBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICkge1xuICAgICAgZm9yIChjb25zdCBbc3ViS2V5LCBzdWJWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pKSB7XG4gICAgICAgIHJlc3VsdFtgJHtrZXl9LiR7c3ViS2V5fWBdID0gc3ViVmFsdWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vLyBBcHBseSBhIEdBNCBwcm9qZWN0aW9uIG1hcCB7IGdhNEtleTogc291cmNlS2V5IH0gdG8gZXh0cmFjdCBhbmQgcmVuYW1lIGZpZWxkcy5cbmNvbnN0IGZpbHRlcldpdGhQcm9qZWN0aW9ucyA9IChcbiAgZXZlbnRQcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHByb2plY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGZvciAoY29uc3QgW2dhNEtleSwgc291cmNlS2V5XSBvZiBPYmplY3QuZW50cmllcyhwcm9qZWN0aW9ucykpIHtcbiAgICBpZiAoc291cmNlS2V5IGluIGV2ZW50UHJvcHMpIHtcbiAgICAgIHJlc3VsdFtnYTRLZXldID0gZXZlbnRQcm9wc1tzb3VyY2VLZXldO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLy8gXCJjb250ZXh0LnBhZ2VfdHlwZVwiIOKGkiBcImNvbnRleHRfcGFnZV90eXBlXCJcbmNvbnN0IGZsYXR0ZW5Eb3RLZXlzID0gKG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgIHJlc3VsdFtrZXkucmVwbGFjZSgvXFwuL2csICdfJyldID0gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIE9taXQgY29udGV4dC5wYWdlX2lkIGZvciBub24tcGRwL3BscCBwYWdlIHR5cGVzLiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBmb3IgY29udGV4dC5wYWdlX2lkIGlzOlxuLy8gUERQOiBwcm9kdWN0X2lkXG4vLyBQTFA6IHBscF9pZFxuLy8gU2VhcmNoOiBzZWFyY2ggcXVlcnlcbi8vIE90aGVyOiBwYWdlIHVybFxuLy8gV2Ugd2FudCB0byBvbWl0IGFsbCBidXQgcGRwIGFuZCBwbHAgcGFnZSB0eXBlcyB0byBwcm92aWRlIGEgY2xlYXIsIGNvbnNpc3RlbnQgaW50ZXJmYWNlIGZvciBtZXJjaGFudHMuXG4vLyBIYW5kbGVzIGJvdGggZG90LW5vdGF0aW9uIGtleXMgKGFsbG93ZWRGaWVsZHMgcGF0aCkgYW5kIHJlbmFtZWQgR0E0IGtleXMgKGZpZWxkUHJvamVjdGlvbnMgcGF0aCkuXG5jb25zdCBzYW5pdGl6ZVBhZ2VJZCA9IChmaWx0ZXJlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGNvbnN0IHBhZ2VUeXBlID0gZmlsdGVyZWRbJ3BhZ2VfdHlwZSddID8/IGZpbHRlcmVkWydjb250ZXh0LnBhZ2VfdHlwZSddO1xuICBpZiAocGFnZVR5cGUgPT09ICdwZHAnIHx8IHBhZ2VUeXBlID09PSAncGxwJykge1xuICAgIHJldHVybiBmaWx0ZXJlZDtcbiAgfVxuICBjb25zdCByZXN0ID0geyAuLi5maWx0ZXJlZCB9O1xuICBkZWxldGUgcmVzdFsncGFnZV9pZCddO1xuICBkZWxldGUgcmVzdFsnY29udGV4dC5wYWdlX2lkJ107XG4gIHJldHVybiByZXN0O1xufTtcblxuY29uc3QgZ2V0TmVzdGVkVmFsdWUgPSAob2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgcGF0aDogc3RyaW5nKTogdW5rbm93biA9PiB7XG4gIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLicpO1xuICBsZXQgY3VycmVudDogdW5rbm93biA9IG9iajtcbiAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgdHlwZW9mIGN1cnJlbnQgIT09ICdvYmplY3QnKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGN1cnJlbnQgPSAoY3VycmVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilbcGFydF07XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnQ7XG59O1xuXG4vLyBFeHRyYWN0IHdoaXRlbGlzdGVkIHN1Yi1maWVsZHMgZnJvbSB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbl9kYXRhXG5jb25zdCBwcm9qZWN0V2lkZ2V0SW50ZXJhY3Rpb25EYXRhID0gKFxuICBldmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgY29uZmlnOiBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZyxcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgaWYgKCFjb25maWcud2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbnMpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdCBpbnRlcmFjdGlvbiA9IGV2ZW50UHJvcHNbJ3RyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uJ107XG4gIGlmICh0eXBlb2YgaW50ZXJhY3Rpb24gIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3QgcHJvamVjdGlvbk1hcCA9IGNvbmZpZy53aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uc1tpbnRlcmFjdGlvbl07XG4gIGlmICghcHJvamVjdGlvbk1hcCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnN0IGludGVyYWN0aW9uRGF0YSA9IGV2ZW50UHJvcHNbJ3RyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uX2RhdGEnXTtcbiAgaWYgKFxuICAgIGludGVyYWN0aW9uRGF0YSA9PT0gbnVsbCB8fFxuICAgIGludGVyYWN0aW9uRGF0YSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgdHlwZW9mIGludGVyYWN0aW9uRGF0YSAhPT0gJ29iamVjdCdcbiAgKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3QgZGF0YSA9IGludGVyYWN0aW9uRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtnYUtleSwgc291cmNlUGF0aF0gb2YgT2JqZWN0LmVudHJpZXMocHJvamVjdGlvbk1hcCkpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGdldE5lc3RlZFZhbHVlKGRhdGEsIHNvdXJjZVBhdGgpO1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXN1bHRbZ2FLZXldID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5jb25zdCB0cnVuY2F0ZVN0cmluZyA9ICh2YWx1ZTogdW5rbm93bik6IHVua25vd24gPT4ge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGggPiAxMDApIHtcbiAgICByZXR1cm4gYCR7dmFsdWUuc3Vic3RyaW5nKDAsIDk3KX0uLi5gO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn07XG5cbmNvbnN0IHRydW5jYXRlVmFsdWVzID0gKG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgIHJlc3VsdFtrZXldID0gdHJ1bmNhdGVTdHJpbmcodmFsdWUpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5jb25zdCBwdXNoVG9EYXRhTGF5ZXIgPSAoZ2FFdmVudDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkID0+IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5kYXRhTGF5ZXIpIHtcbiAgICB3aW5kb3cuZGF0YUxheWVyLnB1c2goZ2FFdmVudCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwcm9qZWN0VG9HQTQgPSAoXG4gIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZSxcbiAgZXZlbnRQcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuKTogdm9pZCA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3Qgc2NoZW1hRW50cnkgPSBHQTRfRVZFTlRfU0NIRU1BW2V2ZW50TmFtZV07XG5cbiAgICBpZiAoc2NoZW1hRW50cnkuZ2FFdmVudE5hbWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWcgPSBzY2hlbWFFbnRyeTtcbiAgICBjb25zdCBwcm9wcyA9IGZsYXR0ZW5PbmVMZXZlbChldmVudFByb3BzID8/IHt9KTtcblxuICAgIGxldCBmaWx0ZXJlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgaWYgKGNvbmZpZy5maWVsZFByb2plY3Rpb25zKSB7XG4gICAgICBmaWx0ZXJlZCA9IGZpbHRlcldpdGhQcm9qZWN0aW9ucyhwcm9wcywgY29uZmlnLmZpZWxkUHJvamVjdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWx0ZXJlZCA9IGZpbHRlclRvU2NoZW1hKHByb3BzLCBjb25maWcuYWxsb3dlZEZpZWxkcyk7XG4gICAgfVxuICAgIGZpbHRlcmVkID0gc2FuaXRpemVQYWdlSWQoZmlsdGVyZWQpO1xuXG4gICAgY29uc3QgaW50ZXJhY3Rpb25GaWVsZHMgPSBwcm9qZWN0V2lkZ2V0SW50ZXJhY3Rpb25EYXRhKHByb3BzLCBjb25maWcpO1xuXG4gICAgY29uc3QgZmxhdFBhcmFtcyA9IHtcbiAgICAgIC4uLmZsYXR0ZW5Eb3RLZXlzKGZpbHRlcmVkKSxcbiAgICAgIC4uLmludGVyYWN0aW9uRmllbGRzLFxuICAgIH07XG5cbiAgICBjb25zdCB0cnVuY2F0ZWRQYXJhbXMgPSB0cnVuY2F0ZVZhbHVlcyhmbGF0UGFyYW1zKTtcblxuICAgIHB1c2hUb0RhdGFMYXllcih7XG4gICAgICBldmVudDogY29uZmlnLmdhRXZlbnROYW1lLFxuICAgICAgLi4udHJ1bmNhdGVkUGFyYW1zLFxuICAgIH0pO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2dnZXIubG9nRXJyb3IoJ0Vycm9yIHByb2plY3RpbmcgZXZlbnQgdG8gR0E0JywgZXJyLCB7XG4gICAgICBldmVudE5hbWUsXG4gICAgfSk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFJQSxNQUFNLFNBQVMsSUFBSUEsdUJBQU8sdUJBQXVCO0FBRWpELE1BQU0sa0JBQ0osWUFDQSxrQkFDNEI7Q0FDNUIsTUFBTUMsU0FBa0MsRUFBRTtBQUMxQyxNQUFLLE1BQU0sU0FBUyxjQUNsQixLQUFJLFNBQVMsV0FDWCxRQUFPLFNBQVMsV0FBVztBQUcvQixRQUFPOztBQU1ULE1BQU0sbUJBQW1CLFFBQTBEO0NBQ2pGLE1BQU1BLFNBQWtDLEVBQUU7QUFDMUMsTUFBSyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sUUFBUSxJQUFJLENBQzVDLEtBQ0UsQ0FBQyxJQUFJLFNBQVMsSUFBSSxJQUNsQixVQUFVLFFBQ1YsT0FBTyxVQUFVLFlBQ2pCLENBQUMsTUFBTSxRQUFRLE1BQU0sQ0FFckIsTUFBSyxNQUFNLENBQUMsUUFBUSxhQUFhLE9BQU8sUUFBUSxNQUFpQyxDQUMvRSxRQUFPLEdBQUcsSUFBSSxHQUFHLFlBQVk7S0FHL0IsUUFBTyxPQUFPO0FBR2xCLFFBQU87O0FBSVQsTUFBTSx5QkFDSixZQUNBLGdCQUM0QjtDQUM1QixNQUFNQSxTQUFrQyxFQUFFO0FBQzFDLE1BQUssTUFBTSxDQUFDLFFBQVEsY0FBYyxPQUFPLFFBQVEsWUFBWSxDQUMzRCxLQUFJLGFBQWEsV0FDZixRQUFPLFVBQVUsV0FBVztBQUdoQyxRQUFPOztBQUlULE1BQU0sa0JBQWtCLFFBQTBEO0NBQ2hGLE1BQU1BLFNBQWtDLEVBQUU7QUFDMUMsTUFBSyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sUUFBUSxJQUFJLENBQzVDLFFBQU8sSUFBSSxRQUFRLE9BQU8sSUFBSSxJQUFJO0FBRXBDLFFBQU87O0FBVVQsTUFBTSxrQkFBa0IsYUFBK0Q7Q0FDckYsTUFBTSxXQUFXLFNBQVMsZ0JBQWdCLFNBQVM7QUFDbkQsS0FBSSxhQUFhLFNBQVMsYUFBYSxNQUNyQyxRQUFPO0NBRVQsTUFBTSxPQUFPLEVBQUUsR0FBRyxVQUFVO0FBQzVCLFFBQU8sS0FBSztBQUNaLFFBQU8sS0FBSztBQUNaLFFBQU87O0FBR1QsTUFBTSxrQkFBa0IsS0FBOEIsU0FBMEI7Q0FDOUUsTUFBTSxRQUFRLEtBQUssTUFBTSxJQUFJO0NBQzdCLElBQUlDLFVBQW1CO0FBQ3ZCLE1BQUssTUFBTSxRQUFRLE9BQU87QUFDeEIsTUFBSSxZQUFZLFFBQVEsT0FBTyxZQUFZLFNBQVUsUUFBTztBQUM1RCxZQUFXLFFBQW9DOztBQUVqRCxRQUFPOztBQUlULE1BQU0sZ0NBQ0osWUFDQSxXQUM0QjtBQUM1QixLQUFJLENBQUMsT0FBTyxpQ0FDVixRQUFPLEVBQUU7Q0FHWCxNQUFNLGNBQWMsV0FBVztBQUMvQixLQUFJLE9BQU8sZ0JBQWdCLFNBQ3pCLFFBQU8sRUFBRTtDQUdYLE1BQU0sZ0JBQWdCLE9BQU8saUNBQWlDO0FBQzlELEtBQUksQ0FBQyxjQUNILFFBQU8sRUFBRTtDQUdYLE1BQU0sa0JBQWtCLFdBQVc7QUFDbkMsS0FDRSxvQkFBb0IsUUFDcEIsb0JBQW9CLFVBQ3BCLE9BQU8sb0JBQW9CLFNBRTNCLFFBQU8sRUFBRTtDQUdYLE1BQU0sT0FBTztDQUNiLE1BQU1ELFNBQWtDLEVBQUU7QUFDMUMsTUFBSyxNQUFNLENBQUMsT0FBTyxlQUFlLE9BQU8sUUFBUSxjQUFjLEVBQUU7RUFDL0QsTUFBTSxRQUFRLGVBQWUsTUFBTSxXQUFXO0FBQzlDLE1BQUksVUFBVSxPQUNaLFFBQU8sU0FBUzs7QUFHcEIsUUFBTzs7QUFHVCxNQUFNLGtCQUFrQixVQUE0QjtBQUNsRCxLQUFJLE9BQU8sVUFBVSxZQUFZLE1BQU0sU0FBUyxJQUM5QyxRQUFPLEdBQUcsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDO0FBRW5DLFFBQU87O0FBR1QsTUFBTSxrQkFBa0IsUUFBMEQ7Q0FDaEYsTUFBTUEsU0FBa0MsRUFBRTtBQUMxQyxNQUFLLE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxRQUFRLElBQUksQ0FDNUMsUUFBTyxPQUFPLGVBQWUsTUFBTTtBQUVyQyxRQUFPOztBQUdULE1BQU0sbUJBQW1CLFlBQTJDO0FBQ2xFLEtBQUksT0FBTyxXQUFXLGVBQWUsT0FBTyxVQUMxQyxRQUFPLFVBQVUsS0FBSyxRQUFROztBQUlsQyxNQUFhLGdCQUNYLFdBQ0EsZUFDUztBQUNULEtBQUk7RUFDRixNQUFNLGNBQWNFLHdDQUFpQjtBQUVyQyxNQUFJLFlBQVksZ0JBQWdCLEtBQzlCO0VBR0YsTUFBTSxTQUFTO0VBQ2YsTUFBTSxRQUFRLGdCQUFnQixjQUFjLEVBQUUsQ0FBQztFQUUvQyxJQUFJQztBQUNKLE1BQUksT0FBTyxpQkFDVCxZQUFXLHNCQUFzQixPQUFPLE9BQU8saUJBQWlCO01BRWhFLFlBQVcsZUFBZSxPQUFPLE9BQU8sY0FBYztBQUV4RCxhQUFXLGVBQWUsU0FBUztFQUVuQyxNQUFNLG9CQUFvQiw2QkFBNkIsT0FBTyxPQUFPO0VBT3JFLE1BQU0sa0JBQWtCLGVBTEw7R0FDakIsR0FBRyxlQUFlLFNBQVM7R0FDM0IsR0FBRztHQUNKLENBRWlEO0FBRWxELGtCQUFnQjtHQUNkLE9BQU8sT0FBTztHQUNkLEdBQUc7R0FDSixDQUFDO1VBQ0ssS0FBSztBQUNaLFNBQU8sU0FBUyxpQ0FBaUMsS0FBSyxFQUNwRCxXQUNELENBQUMifQ==
@@ -8,18 +8,39 @@ const filterToSchema = (eventProps, allowedFields) => {
8
8
  for (const field of allowedFields) if (field in eventProps) result[field] = eventProps[field];
9
9
  return result;
10
10
  };
11
+ const flattenOneLevel = (obj) => {
12
+ const result = {};
13
+ for (const [key, value] of Object.entries(obj)) if (!key.includes(".") && value !== null && typeof value === "object" && !Array.isArray(value)) for (const [subKey, subValue] of Object.entries(value)) result[`${key}.${subKey}`] = subValue;
14
+ else result[key] = value;
15
+ return result;
16
+ };
17
+ const filterWithProjections = (eventProps, projections) => {
18
+ const result = {};
19
+ for (const [ga4Key, sourceKey] of Object.entries(projections)) if (sourceKey in eventProps) result[ga4Key] = eventProps[sourceKey];
20
+ return result;
21
+ };
11
22
  const flattenDotKeys = (obj) => {
12
23
  const result = {};
13
24
  for (const [key, value] of Object.entries(obj)) result[key.replace(/\./g, "_")] = value;
14
25
  return result;
15
26
  };
16
27
  const sanitizePageId = (filtered) => {
17
- const pageType = filtered["context.page_type"];
28
+ const pageType = filtered["page_type"] ?? filtered["context.page_type"];
18
29
  if (pageType === "pdp" || pageType === "plp") return filtered;
19
30
  const rest = { ...filtered };
31
+ delete rest["page_id"];
20
32
  delete rest["context.page_id"];
21
33
  return rest;
22
34
  };
35
+ const getNestedValue = (obj, path) => {
36
+ const parts = path.split(".");
37
+ let current = obj;
38
+ for (const part of parts) {
39
+ if (current === null || typeof current !== "object") return void 0;
40
+ current = current[part];
41
+ }
42
+ return current;
43
+ };
23
44
  const projectWidgetInteractionData = (eventProps, config) => {
24
45
  if (!config.widgetInteractionDataProjections) return {};
25
46
  const interaction = eventProps["trigger.widget_interaction"];
@@ -30,7 +51,10 @@ const projectWidgetInteractionData = (eventProps, config) => {
30
51
  if (interactionData === null || interactionData === void 0 || typeof interactionData !== "object") return {};
31
52
  const data = interactionData;
32
53
  const result = {};
33
- for (const [gaKey, sourceField] of Object.entries(projectionMap)) if (sourceField in data) result[gaKey] = data[sourceField];
54
+ for (const [gaKey, sourcePath] of Object.entries(projectionMap)) {
55
+ const value = getNestedValue(data, sourcePath);
56
+ if (value !== void 0) result[gaKey] = value;
57
+ }
34
58
  return result;
35
59
  };
36
60
  const truncateString = (value) => {
@@ -50,8 +74,10 @@ const projectToGA4 = (eventName, eventProps) => {
50
74
  const schemaEntry = GA4_EVENT_SCHEMA[eventName];
51
75
  if (schemaEntry.gaEventName === null) return;
52
76
  const config = schemaEntry;
53
- const props = eventProps ?? {};
54
- let filtered = filterToSchema(props, config.allowedFields);
77
+ const props = flattenOneLevel(eventProps ?? {});
78
+ let filtered;
79
+ if (config.fieldProjections) filtered = filterWithProjections(props, config.fieldProjections);
80
+ else filtered = filterToSchema(props, config.allowedFields);
55
81
  filtered = sanitizePageId(filtered);
56
82
  const interactionFields = projectWidgetInteractionData(props, config);
57
83
  const truncatedParams = truncateValues({
@@ -69,4 +95,4 @@ const projectToGA4 = (eventName, eventProps) => {
69
95
 
70
96
  //#endregion
71
97
  export { projectToGA4 };
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0UHJvamVjdGlvblNlcnZpY2UuanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJyZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2dhNFByb2plY3Rpb25TZXJ2aWNlL2dhNFByb2plY3Rpb25TZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICcuLi9hbXBsaXR1ZGVTZXJ2aWNlL2V2ZW50TmFtZXMnO1xuaW1wb3J0IHsgR0E0UHJvamVjdGVkRXZlbnRDb25maWcsIEdBNF9FVkVOVF9TQ0hFTUEgfSBmcm9tICcuL2dhNEV2ZW50U2NoZW1hJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignZ2E0UHJvamVjdGlvblNlcnZpY2UnKTtcblxuY29uc3QgZmlsdGVyVG9TY2hlbWEgPSAoXG4gIGV2ZW50UHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBhbGxvd2VkRmllbGRzOiByZWFkb25seSBzdHJpbmdbXSxcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBmb3IgKGNvbnN0IGZpZWxkIG9mIGFsbG93ZWRGaWVsZHMpIHtcbiAgICBpZiAoZmllbGQgaW4gZXZlbnRQcm9wcykge1xuICAgICAgcmVzdWx0W2ZpZWxkXSA9IGV2ZW50UHJvcHNbZmllbGRdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLy8gXCJjb250ZXh0LnBhZ2VfdHlwZVwiIOKGkiBcImNvbnRleHRfcGFnZV90eXBlXCJcbmNvbnN0IGZsYXR0ZW5Eb3RLZXlzID0gKG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgIHJlc3VsdFtrZXkucmVwbGFjZSgvXFwuL2csICdfJyldID0gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIE9taXQgY29udGV4dC5wYWdlX2lkIGZvciBub24tcGRwL3BscCBwYWdlIHR5cGVzLiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBmb3IgY29udGV4dC5wYWdlX2lkIGlzOlxuLy8gUERQOiBwcm9kdWN0X2lkXG4vLyBQTFA6IHBscF9pZFxuLy8gU2VhcmNoOiBzZWFyY2ggcXVlcnlcbi8vIE90aGVyOiBwYWdlIHVybFxuLy8gV2Ugd2FudCB0byBvbWl0IGFsbCBidXQgcGRwIGFuZCBwbHAgcGFnZSB0eXBlcyB0byBwcm92aWRlIGEgY2xlYXIsIGNvbnNpc3RlbnQgaW50ZXJmYWNlIGZvciBtZXJjaGFudHMuXG5jb25zdCBzYW5pdGl6ZVBhZ2VJZCA9IChmaWx0ZXJlZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGNvbnN0IHBhZ2VUeXBlID0gZmlsdGVyZWRbJ2NvbnRleHQucGFnZV90eXBlJ107XG4gIGlmIChwYWdlVHlwZSA9PT0gJ3BkcCcgfHwgcGFnZVR5cGUgPT09ICdwbHAnKSB7XG4gICAgcmV0dXJuIGZpbHRlcmVkO1xuICB9XG4gIGNvbnN0IHJlc3QgPSB7IC4uLmZpbHRlcmVkIH07XG4gIGRlbGV0ZSByZXN0Wydjb250ZXh0LnBhZ2VfaWQnXTtcbiAgcmV0dXJuIHJlc3Q7XG59O1xuXG4vLyBFeHRyYWN0IHdoaXRlbGlzdGVkIHN1Yi1maWVsZHMgZnJvbSB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbl9kYXRhXG5jb25zdCBwcm9qZWN0V2lkZ2V0SW50ZXJhY3Rpb25EYXRhID0gKFxuICBldmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgY29uZmlnOiBHQTRQcm9qZWN0ZWRFdmVudENvbmZpZyxcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgaWYgKCFjb25maWcud2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbnMpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdCBpbnRlcmFjdGlvbiA9IGV2ZW50UHJvcHNbJ3RyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uJ107XG4gIGlmICh0eXBlb2YgaW50ZXJhY3Rpb24gIT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3QgcHJvamVjdGlvbk1hcCA9IGNvbmZpZy53aWRnZXRJbnRlcmFjdGlvbkRhdGFQcm9qZWN0aW9uc1tpbnRlcmFjdGlvbl07XG4gIGlmICghcHJvamVjdGlvbk1hcCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnN0IGludGVyYWN0aW9uRGF0YSA9IGV2ZW50UHJvcHNbJ3RyaWdnZXIud2lkZ2V0X2ludGVyYWN0aW9uX2RhdGEnXTtcbiAgaWYgKFxuICAgIGludGVyYWN0aW9uRGF0YSA9PT0gbnVsbCB8fFxuICAgIGludGVyYWN0aW9uRGF0YSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgdHlwZW9mIGludGVyYWN0aW9uRGF0YSAhPT0gJ29iamVjdCdcbiAgKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3QgZGF0YSA9IGludGVyYWN0aW9uRGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtnYUtleSwgc291cmNlRmllbGRdIG9mIE9iamVjdC5lbnRyaWVzKHByb2plY3Rpb25NYXApKSB7XG4gICAgaWYgKHNvdXJjZUZpZWxkIGluIGRhdGEpIHtcbiAgICAgIHJlc3VsdFtnYUtleV0gPSBkYXRhW3NvdXJjZUZpZWxkXTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmNvbnN0IHRydW5jYXRlU3RyaW5nID0gKHZhbHVlOiB1bmtub3duKTogdW5rbm93biA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA+IDEwMCkge1xuICAgIHJldHVybiBgJHt2YWx1ZS5zdWJzdHJpbmcoMCwgOTcpfS4uLmA7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufTtcblxuY29uc3QgdHJ1bmNhdGVWYWx1ZXMgPSAob2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhvYmopKSB7XG4gICAgcmVzdWx0W2tleV0gPSB0cnVuY2F0ZVN0cmluZyh2YWx1ZSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmNvbnN0IHB1c2hUb0RhdGFMYXllciA9IChnYUV2ZW50OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHZvaWQgPT4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LmRhdGFMYXllcikge1xuICAgIHdpbmRvdy5kYXRhTGF5ZXIucHVzaChnYUV2ZW50KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHByb2plY3RUb0dBNCA9IChcbiAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLFxuICBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4pOiB2b2lkID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzY2hlbWFFbnRyeSA9IEdBNF9FVkVOVF9TQ0hFTUFbZXZlbnROYW1lXTtcblxuICAgIGlmIChzY2hlbWFFbnRyeS5nYUV2ZW50TmFtZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZyA9IHNjaGVtYUVudHJ5O1xuICAgIGNvbnN0IHByb3BzID0gZXZlbnRQcm9wcyA/PyB7fTtcblxuICAgIGxldCBmaWx0ZXJlZCA9IGZpbHRlclRvU2NoZW1hKHByb3BzLCBjb25maWcuYWxsb3dlZEZpZWxkcyk7XG4gICAgZmlsdGVyZWQgPSBzYW5pdGl6ZVBhZ2VJZChmaWx0ZXJlZCk7XG5cbiAgICBjb25zdCBpbnRlcmFjdGlvbkZpZWxkcyA9IHByb2plY3RXaWRnZXRJbnRlcmFjdGlvbkRhdGEocHJvcHMsIGNvbmZpZyk7XG5cbiAgICBjb25zdCBmbGF0UGFyYW1zID0ge1xuICAgICAgLi4uZmxhdHRlbkRvdEtleXMoZmlsdGVyZWQpLFxuICAgICAgLi4uaW50ZXJhY3Rpb25GaWVsZHMsXG4gICAgfTtcblxuICAgIGNvbnN0IHRydW5jYXRlZFBhcmFtcyA9IHRydW5jYXRlVmFsdWVzKGZsYXRQYXJhbXMpO1xuXG4gICAgcHVzaFRvRGF0YUxheWVyKHtcbiAgICAgIGV2ZW50OiBjb25maWcuZ2FFdmVudE5hbWUsXG4gICAgICAuLi50cnVuY2F0ZWRQYXJhbXMsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZ2dlci5sb2dFcnJvcignRXJyb3IgcHJvamVjdGluZyBldmVudCB0byBHQTQnLCBlcnIsIHtcbiAgICAgIGV2ZW50TmFtZSxcbiAgICB9KTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUlBLE1BQU0sU0FBUyxJQUFJQSxlQUFPLHVCQUF1QjtBQUVqRCxNQUFNLGtCQUNKLFlBQ0Esa0JBQzRCO0NBQzVCLE1BQU1DLFNBQWtDLEVBQUU7QUFDMUMsTUFBSyxNQUFNLFNBQVMsY0FDbEIsS0FBSSxTQUFTLFdBQ1gsUUFBTyxTQUFTLFdBQVc7QUFHL0IsUUFBTzs7QUFJVCxNQUFNLGtCQUFrQixRQUEwRDtDQUNoRixNQUFNQSxTQUFrQyxFQUFFO0FBQzFDLE1BQUssTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLFFBQVEsSUFBSSxDQUM1QyxRQUFPLElBQUksUUFBUSxPQUFPLElBQUksSUFBSTtBQUVwQyxRQUFPOztBQVNULE1BQU0sa0JBQWtCLGFBQStEO0NBQ3JGLE1BQU0sV0FBVyxTQUFTO0FBQzFCLEtBQUksYUFBYSxTQUFTLGFBQWEsTUFDckMsUUFBTztDQUVULE1BQU0sT0FBTyxFQUFFLEdBQUcsVUFBVTtBQUM1QixRQUFPLEtBQUs7QUFDWixRQUFPOztBQUlULE1BQU0sZ0NBQ0osWUFDQSxXQUM0QjtBQUM1QixLQUFJLENBQUMsT0FBTyxpQ0FDVixRQUFPLEVBQUU7Q0FHWCxNQUFNLGNBQWMsV0FBVztBQUMvQixLQUFJLE9BQU8sZ0JBQWdCLFNBQ3pCLFFBQU8sRUFBRTtDQUdYLE1BQU0sZ0JBQWdCLE9BQU8saUNBQWlDO0FBQzlELEtBQUksQ0FBQyxjQUNILFFBQU8sRUFBRTtDQUdYLE1BQU0sa0JBQWtCLFdBQVc7QUFDbkMsS0FDRSxvQkFBb0IsUUFDcEIsb0JBQW9CLFVBQ3BCLE9BQU8sb0JBQW9CLFNBRTNCLFFBQU8sRUFBRTtDQUdYLE1BQU0sT0FBTztDQUNiLE1BQU1BLFNBQWtDLEVBQUU7QUFDMUMsTUFBSyxNQUFNLENBQUMsT0FBTyxnQkFBZ0IsT0FBTyxRQUFRLGNBQWMsQ0FDOUQsS0FBSSxlQUFlLEtBQ2pCLFFBQU8sU0FBUyxLQUFLO0FBR3pCLFFBQU87O0FBR1QsTUFBTSxrQkFBa0IsVUFBNEI7QUFDbEQsS0FBSSxPQUFPLFVBQVUsWUFBWSxNQUFNLFNBQVMsSUFDOUMsUUFBTyxHQUFHLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQztBQUVuQyxRQUFPOztBQUdULE1BQU0sa0JBQWtCLFFBQTBEO0NBQ2hGLE1BQU1BLFNBQWtDLEVBQUU7QUFDMUMsTUFBSyxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sUUFBUSxJQUFJLENBQzVDLFFBQU8sT0FBTyxlQUFlLE1BQU07QUFFckMsUUFBTzs7QUFHVCxNQUFNLG1CQUFtQixZQUEyQztBQUNsRSxLQUFJLE9BQU8sV0FBVyxlQUFlLE9BQU8sVUFDMUMsUUFBTyxVQUFVLEtBQUssUUFBUTs7QUFJbEMsTUFBYSxnQkFDWCxXQUNBLGVBQ1M7QUFDVCxLQUFJO0VBQ0YsTUFBTSxjQUFjLGlCQUFpQjtBQUVyQyxNQUFJLFlBQVksZ0JBQWdCLEtBQzlCO0VBR0YsTUFBTSxTQUFTO0VBQ2YsTUFBTSxRQUFRLGNBQWMsRUFBRTtFQUU5QixJQUFJLFdBQVcsZUFBZSxPQUFPLE9BQU8sY0FBYztBQUMxRCxhQUFXLGVBQWUsU0FBUztFQUVuQyxNQUFNLG9CQUFvQiw2QkFBNkIsT0FBTyxPQUFPO0VBT3JFLE1BQU0sa0JBQWtCLGVBTEw7R0FDakIsR0FBRyxlQUFlLFNBQVM7R0FDM0IsR0FBRztHQUNKLENBRWlEO0FBRWxELGtCQUFnQjtHQUNkLE9BQU8sT0FBTztHQUNkLEdBQUc7R0FDSixDQUFDO1VBQ0ssS0FBSztBQUNaLFNBQU8sU0FBUyxpQ0FBaUMsS0FBSyxFQUNwRCxXQUNELENBQUMifQ==
98
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2E0UHJvamVjdGlvblNlcnZpY2UuanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJyZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IiwiY3VycmVudDogdW5rbm93biIsImZpbHRlcmVkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9nYTRQcm9qZWN0aW9uU2VydmljZS9nYTRQcm9qZWN0aW9uU2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnLi4vYW1wbGl0dWRlU2VydmljZS9ldmVudE5hbWVzJztcbmltcG9ydCB7IEdBNFByb2plY3RlZEV2ZW50Q29uZmlnLCBHQTRfRVZFTlRfU0NIRU1BIH0gZnJvbSAnLi9nYTRFdmVudFNjaGVtYSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ2dhNFByb2plY3Rpb25TZXJ2aWNlJyk7XG5cbmNvbnN0IGZpbHRlclRvU2NoZW1hID0gKFxuICBldmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgYWxsb3dlZEZpZWxkczogcmVhZG9ubHkgc3RyaW5nW10sXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChjb25zdCBmaWVsZCBvZiBhbGxvd2VkRmllbGRzKSB7XG4gICAgaWYgKGZpZWxkIGluIGV2ZW50UHJvcHMpIHtcbiAgICAgIHJlc3VsdFtmaWVsZF0gPSBldmVudFByb3BzW2ZpZWxkXTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIEZsYXR0ZW4gb25seSB0cnVlIHRvcC1sZXZlbCBuZXN0ZWQgb2JqZWN0cyAoa2V5cyB3aXRoIG5vIGRvdHMpIG9uZSBsZXZlbCBkZWVwLlxuLy8gS2V5cyB0aGF0IGFscmVhZHkgY29udGFpbiBkb3RzIGFyZSBsZWZ0IGludGFjdCBzbyB0aGF0IGUuZy5cbi8vIGB0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbl9kYXRhOiB7IC4uLiB9YCBpcyBwcmVzZXJ2ZWQgZm9yIGRvd25zdHJlYW0gZXh0cmFjdGlvbi5cbmNvbnN0IGZsYXR0ZW5PbmVMZXZlbCA9IChvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICBpZiAoXG4gICAgICAha2V5LmluY2x1ZGVzKCcuJykgJiZcbiAgICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICAhQXJyYXkuaXNBcnJheSh2YWx1ZSlcbiAgICApIHtcbiAgICAgIGZvciAoY29uc3QgW3N1YktleSwgc3ViVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSkge1xuICAgICAgICByZXN1bHRbYCR7a2V5fS4ke3N1YktleX1gXSA9IHN1YlZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRba2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLy8gQXBwbHkgYSBHQTQgcHJvamVjdGlvbiBtYXAgeyBnYTRLZXk6IHNvdXJjZUtleSB9IHRvIGV4dHJhY3QgYW5kIHJlbmFtZSBmaWVsZHMuXG5jb25zdCBmaWx0ZXJXaXRoUHJvamVjdGlvbnMgPSAoXG4gIGV2ZW50UHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBwcm9qZWN0aW9uczogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtnYTRLZXksIHNvdXJjZUtleV0gb2YgT2JqZWN0LmVudHJpZXMocHJvamVjdGlvbnMpKSB7XG4gICAgaWYgKHNvdXJjZUtleSBpbiBldmVudFByb3BzKSB7XG4gICAgICByZXN1bHRbZ2E0S2V5XSA9IGV2ZW50UHJvcHNbc291cmNlS2V5XTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vIFwiY29udGV4dC5wYWdlX3R5cGVcIiDihpIgXCJjb250ZXh0X3BhZ2VfdHlwZVwiXG5jb25zdCBmbGF0dGVuRG90S2V5cyA9IChvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICByZXN1bHRba2V5LnJlcGxhY2UoL1xcLi9nLCAnXycpXSA9IHZhbHVlO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vLyBPbWl0IGNvbnRleHQucGFnZV9pZCBmb3Igbm9uLXBkcC9wbHAgcGFnZSB0eXBlcy4gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gZm9yIGNvbnRleHQucGFnZV9pZCBpczpcbi8vIFBEUDogcHJvZHVjdF9pZFxuLy8gUExQOiBwbHBfaWRcbi8vIFNlYXJjaDogc2VhcmNoIHF1ZXJ5XG4vLyBPdGhlcjogcGFnZSB1cmxcbi8vIFdlIHdhbnQgdG8gb21pdCBhbGwgYnV0IHBkcCBhbmQgcGxwIHBhZ2UgdHlwZXMgdG8gcHJvdmlkZSBhIGNsZWFyLCBjb25zaXN0ZW50IGludGVyZmFjZSBmb3IgbWVyY2hhbnRzLlxuLy8gSGFuZGxlcyBib3RoIGRvdC1ub3RhdGlvbiBrZXlzIChhbGxvd2VkRmllbGRzIHBhdGgpIGFuZCByZW5hbWVkIEdBNCBrZXlzIChmaWVsZFByb2plY3Rpb25zIHBhdGgpLlxuY29uc3Qgc2FuaXRpemVQYWdlSWQgPSAoZmlsdGVyZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCBwYWdlVHlwZSA9IGZpbHRlcmVkWydwYWdlX3R5cGUnXSA/PyBmaWx0ZXJlZFsnY29udGV4dC5wYWdlX3R5cGUnXTtcbiAgaWYgKHBhZ2VUeXBlID09PSAncGRwJyB8fCBwYWdlVHlwZSA9PT0gJ3BscCcpIHtcbiAgICByZXR1cm4gZmlsdGVyZWQ7XG4gIH1cbiAgY29uc3QgcmVzdCA9IHsgLi4uZmlsdGVyZWQgfTtcbiAgZGVsZXRlIHJlc3RbJ3BhZ2VfaWQnXTtcbiAgZGVsZXRlIHJlc3RbJ2NvbnRleHQucGFnZV9pZCddO1xuICByZXR1cm4gcmVzdDtcbn07XG5cbmNvbnN0IGdldE5lc3RlZFZhbHVlID0gKG9iajogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIHBhdGg6IHN0cmluZyk6IHVua25vd24gPT4ge1xuICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoJy4nKTtcbiAgbGV0IGN1cnJlbnQ6IHVua25vd24gPSBvYmo7XG4gIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IHR5cGVvZiBjdXJyZW50ICE9PSAnb2JqZWN0JykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjdXJyZW50ID0gKGN1cnJlbnQgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW3BhcnRdO1xuICB9XG4gIHJldHVybiBjdXJyZW50O1xufTtcblxuLy8gRXh0cmFjdCB3aGl0ZWxpc3RlZCBzdWItZmllbGRzIGZyb20gdHJpZ2dlci53aWRnZXRfaW50ZXJhY3Rpb25fZGF0YVxuY29uc3QgcHJvamVjdFdpZGdldEludGVyYWN0aW9uRGF0YSA9IChcbiAgZXZlbnRQcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGNvbmZpZzogR0E0UHJvamVjdGVkRXZlbnRDb25maWcsXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiB7XG4gIGlmICghY29uZmlnLndpZGdldEludGVyYWN0aW9uRGF0YVByb2plY3Rpb25zKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgY29uc3QgaW50ZXJhY3Rpb24gPSBldmVudFByb3BzWyd0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbiddO1xuICBpZiAodHlwZW9mIGludGVyYWN0aW9uICE9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnN0IHByb2plY3Rpb25NYXAgPSBjb25maWcud2lkZ2V0SW50ZXJhY3Rpb25EYXRhUHJvamVjdGlvbnNbaW50ZXJhY3Rpb25dO1xuICBpZiAoIXByb2plY3Rpb25NYXApIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjb25zdCBpbnRlcmFjdGlvbkRhdGEgPSBldmVudFByb3BzWyd0cmlnZ2VyLndpZGdldF9pbnRlcmFjdGlvbl9kYXRhJ107XG4gIGlmIChcbiAgICBpbnRlcmFjdGlvbkRhdGEgPT09IG51bGwgfHxcbiAgICBpbnRlcmFjdGlvbkRhdGEgPT09IHVuZGVmaW5lZCB8fFxuICAgIHR5cGVvZiBpbnRlcmFjdGlvbkRhdGEgIT09ICdvYmplY3QnXG4gICkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBpbnRlcmFjdGlvbkRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgZm9yIChjb25zdCBbZ2FLZXksIHNvdXJjZVBhdGhdIG9mIE9iamVjdC5lbnRyaWVzKHByb2plY3Rpb25NYXApKSB7XG4gICAgY29uc3QgdmFsdWUgPSBnZXROZXN0ZWRWYWx1ZShkYXRhLCBzb3VyY2VQYXRoKTtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVzdWx0W2dhS2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuY29uc3QgdHJ1bmNhdGVTdHJpbmcgPSAodmFsdWU6IHVua25vd24pOiB1bmtub3duID0+IHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID4gMTAwKSB7XG4gICAgcmV0dXJuIGAke3ZhbHVlLnN1YnN0cmluZygwLCA5Nyl9Li4uYDtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59O1xuXG5jb25zdCB0cnVuY2F0ZVZhbHVlcyA9IChvYmo6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICByZXN1bHRba2V5XSA9IHRydW5jYXRlU3RyaW5nKHZhbHVlKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuY29uc3QgcHVzaFRvRGF0YUxheWVyID0gKGdhRXZlbnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCA9PiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuZGF0YUxheWVyKSB7XG4gICAgd2luZG93LmRhdGFMYXllci5wdXNoKGdhRXZlbnQpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcHJvamVjdFRvR0E0ID0gKFxuICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUsXG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbik6IHZvaWQgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHNjaGVtYUVudHJ5ID0gR0E0X0VWRU5UX1NDSEVNQVtldmVudE5hbWVdO1xuXG4gICAgaWYgKHNjaGVtYUVudHJ5LmdhRXZlbnROYW1lID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY29uZmlnID0gc2NoZW1hRW50cnk7XG4gICAgY29uc3QgcHJvcHMgPSBmbGF0dGVuT25lTGV2ZWwoZXZlbnRQcm9wcyA/PyB7fSk7XG5cbiAgICBsZXQgZmlsdGVyZWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAgIGlmIChjb25maWcuZmllbGRQcm9qZWN0aW9ucykge1xuICAgICAgZmlsdGVyZWQgPSBmaWx0ZXJXaXRoUHJvamVjdGlvbnMocHJvcHMsIGNvbmZpZy5maWVsZFByb2plY3Rpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsdGVyZWQgPSBmaWx0ZXJUb1NjaGVtYShwcm9wcywgY29uZmlnLmFsbG93ZWRGaWVsZHMpO1xuICAgIH1cbiAgICBmaWx0ZXJlZCA9IHNhbml0aXplUGFnZUlkKGZpbHRlcmVkKTtcblxuICAgIGNvbnN0IGludGVyYWN0aW9uRmllbGRzID0gcHJvamVjdFdpZGdldEludGVyYWN0aW9uRGF0YShwcm9wcywgY29uZmlnKTtcblxuICAgIGNvbnN0IGZsYXRQYXJhbXMgPSB7XG4gICAgICAuLi5mbGF0dGVuRG90S2V5cyhmaWx0ZXJlZCksXG4gICAgICAuLi5pbnRlcmFjdGlvbkZpZWxkcyxcbiAgICB9O1xuXG4gICAgY29uc3QgdHJ1bmNhdGVkUGFyYW1zID0gdHJ1bmNhdGVWYWx1ZXMoZmxhdFBhcmFtcyk7XG5cbiAgICBwdXNoVG9EYXRhTGF5ZXIoe1xuICAgICAgZXZlbnQ6IGNvbmZpZy5nYUV2ZW50TmFtZSxcbiAgICAgIC4uLnRydW5jYXRlZFBhcmFtcyxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nZ2VyLmxvZ0Vycm9yKCdFcnJvciBwcm9qZWN0aW5nIGV2ZW50IHRvIEdBNCcsIGVyciwge1xuICAgICAgZXZlbnROYW1lLFxuICAgIH0pO1xu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