@envive-ai/react-hooks 0.3.68 → 0.3.70

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 (94) hide show
  1. package/dist/atoms/app/index.d.cts +7 -7
  2. package/dist/atoms/app/index.d.ts +7 -7
  3. package/dist/atoms/app/variant.d.ts +6 -6
  4. package/dist/atoms/chat/chatState.d.cts +19 -19
  5. package/dist/atoms/chat/chatState.d.ts +19 -19
  6. package/dist/atoms/chat/form.d.cts +2 -2
  7. package/dist/atoms/chat/form.d.ts +3 -3
  8. package/dist/atoms/chat/index.cjs +1 -1
  9. package/dist/atoms/chat/index.d.cts +2 -2
  10. package/dist/atoms/chat/index.d.ts +3 -3
  11. package/dist/atoms/chat/index.js +1 -1
  12. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  13. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  14. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  15. package/dist/atoms/chat/messageQueue.d.ts +7 -7
  16. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  17. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  18. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  19. package/dist/atoms/chat/renderedWidgetRefs.d.ts +3 -3
  20. package/dist/atoms/chat/replies.d.cts +3 -3
  21. package/dist/atoms/chat/replies.d.ts +3 -3
  22. package/dist/atoms/chat/suggestions.d.cts +2 -2
  23. package/dist/atoms/chat/suggestions.d.ts +3 -3
  24. package/dist/atoms/envive/enviveConfig.d.cts +14 -14
  25. package/dist/atoms/envive/enviveConfig.d.ts +14 -14
  26. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  27. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  28. package/dist/atoms/org/customerService.d.cts +6 -6
  29. package/dist/atoms/org/customerService.d.ts +6 -6
  30. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  31. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  32. package/dist/atoms/org/index.cjs +1 -1
  33. package/dist/atoms/org/index.js +1 -1
  34. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  35. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  36. package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
  37. package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
  38. package/dist/atoms/search/chatSearch.cjs +1 -1
  39. package/dist/atoms/search/chatSearch.d.cts +17 -17
  40. package/dist/atoms/search/chatSearch.js +1 -1
  41. package/dist/atoms/search/searchAPI.cjs +1 -1
  42. package/dist/atoms/search/searchAPI.d.cts +13 -13
  43. package/dist/atoms/search/searchAPI.d.ts +13 -13
  44. package/dist/atoms/search/searchAPI.js +1 -1
  45. package/dist/atoms/search/types.cjs +1 -1
  46. package/dist/atoms/search/types.d.cts +4 -2
  47. package/dist/atoms/search/types.d.ts +4 -2
  48. package/dist/atoms/search/types.js +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/pageContext/index.cjs +2 -0
  52. package/dist/contexts/pageContext/index.d.cts +2 -1
  53. package/dist/contexts/pageContext/index.d.ts +2 -1
  54. package/dist/contexts/pageContext/index.js +2 -1
  55. package/dist/contexts/pageContext/pageContext.cjs +12 -34
  56. package/dist/contexts/pageContext/pageContext.js +12 -34
  57. package/dist/contexts/pageContext/pageViewedContext.cjs +42 -0
  58. package/dist/contexts/pageContext/pageViewedContext.d.cts +16 -0
  59. package/dist/contexts/pageContext/pageViewedContext.d.ts +16 -0
  60. package/dist/contexts/pageContext/pageViewedContext.js +42 -0
  61. package/dist/contexts/salesAgentContext/chatAPI.cjs +2 -2
  62. package/dist/contexts/salesAgentContext/chatAPI.js +2 -2
  63. package/dist/contexts/salesAgentContext/salesAgentService.cjs +1 -1
  64. package/dist/contexts/salesAgentContext/salesAgentService.js +1 -1
  65. package/dist/contexts/searchContext/searchContext.cjs +1 -1
  66. package/dist/contexts/searchContext/searchContext.js +1 -1
  67. package/dist/contexts/types.d.cts +1 -1
  68. package/dist/contexts/types.d.ts +1 -1
  69. package/dist/contexts/typesV3.cjs +1 -1
  70. package/dist/contexts/typesV3.d.cts +3 -1
  71. package/dist/contexts/typesV3.d.ts +3 -1
  72. package/dist/contexts/typesV3.js +1 -1
  73. package/dist/hooks/ChatToggle/useChatToggle.cjs +1 -1
  74. package/dist/hooks/ChatToggle/useChatToggle.js +1 -1
  75. package/dist/hooks/PageViewedEvent/index.cjs +2 -1
  76. package/dist/hooks/PageViewedEvent/index.d.cts +2 -1
  77. package/dist/hooks/PageViewedEvent/index.d.ts +2 -1
  78. package/dist/hooks/PageViewedEvent/index.js +2 -1
  79. package/dist/hooks/PageViewedEvent/usePageViewedEvent.cjs +8 -34
  80. package/dist/hooks/PageViewedEvent/usePageViewedEvent.d.cts +9 -8
  81. package/dist/hooks/PageViewedEvent/usePageViewedEvent.d.ts +9 -8
  82. package/dist/hooks/PageViewedEvent/usePageViewedEvent.js +8 -33
  83. package/dist/hooks/Search/useSearch.cjs +3 -3
  84. package/dist/hooks/Search/useSearch.js +3 -3
  85. package/dist/hooks/utils.d.cts +1 -1
  86. package/dist/hooks/utils.d.ts +1 -1
  87. package/package.json +1 -1
  88. package/src/atoms/search/types.ts +2 -1
  89. package/src/contexts/pageContext/__tests__/pageContext.test.tsx +92 -14
  90. package/src/contexts/pageContext/index.ts +1 -0
  91. package/src/contexts/pageContext/pageContext.tsx +26 -33
  92. package/src/contexts/pageContext/pageViewedContext.ts +59 -0
  93. package/src/contexts/typesV3.ts +2 -0
  94. package/src/hooks/PageViewedEvent/usePageViewedEvent.ts +8 -53
@@ -1,6 +1,6 @@
1
1
  import { ChatSearchFilter, ProductSorting } from "./types.cjs";
2
2
  import { SearchParams, SearchResult } from "../../application/models/api/search.cjs";
3
- import * as jotai35 from "jotai";
3
+ import * as jotai50 from "jotai";
4
4
 
5
5
  //#region src/atoms/search/searchAPI.d.ts
6
6
  type SelectedFilterOption = {
@@ -15,28 +15,28 @@ interface SearchState {
15
15
  error: string | null;
16
16
  lastQuery: string | null;
17
17
  }
18
- declare const searchAtom: jotai35.PrimitiveAtom<SearchState> & {
18
+ declare const searchAtom: jotai50.PrimitiveAtom<SearchState> & {
19
19
  init: SearchState;
20
20
  };
21
- declare const searchProductSortingAtom: jotai35.PrimitiveAtom<ProductSorting> & {
21
+ declare const searchProductSortingAtom: jotai50.PrimitiveAtom<ProductSorting> & {
22
22
  init: ProductSorting;
23
23
  };
24
- declare const searchSelectedFiltersAtom: jotai35.PrimitiveAtom<SelectedFilterOption[]> & {
24
+ declare const searchSelectedFiltersAtom: jotai50.PrimitiveAtom<SelectedFilterOption[]> & {
25
25
  init: SelectedFilterOption[];
26
26
  };
27
27
  declare const createFilterOption: (filterId: string, filterItemId: string, displayName: string) => SelectedFilterOption;
28
- declare const searchParamsAtom: jotai35.WritableAtom<{
28
+ declare const searchParamsAtom: jotai50.WritableAtom<{
29
29
  id: string | null;
30
30
  query: string | null;
31
31
  }, [value: {
32
32
  id: string | null;
33
33
  query: string | null;
34
34
  }], void>;
35
- declare const internalSearchSystemStateAtom: jotai35.PrimitiveAtom<boolean> & {
35
+ declare const internalSearchSystemStateAtom: jotai50.PrimitiveAtom<boolean> & {
36
36
  init: boolean;
37
37
  };
38
- declare const searchSystemAtom: jotai35.WritableAtom<boolean, [value: boolean], void>;
39
- declare const filteredSearchProductsAtom: jotai35.Atom<{
38
+ declare const searchSystemAtom: jotai50.WritableAtom<boolean, [value: boolean], void>;
39
+ declare const filteredSearchProductsAtom: jotai50.Atom<{
40
40
  averageRating?: number | undefined;
41
41
  colors?: string[] | undefined;
42
42
  description?: string | undefined;
@@ -59,17 +59,17 @@ declare const filteredSearchProductsAtom: jotai35.Atom<{
59
59
  title: string;
60
60
  url: string;
61
61
  }[]>;
62
- declare const searchFiltersAtom: jotai35.Atom<ChatSearchFilter[]>;
63
- declare const addSearchFilterAtom: jotai35.WritableAtom<null, [filter: SelectedFilterOption], void> & {
62
+ declare const searchFiltersAtom: jotai50.Atom<ChatSearchFilter[]>;
63
+ declare const addSearchFilterAtom: jotai50.WritableAtom<null, [filter: SelectedFilterOption], void> & {
64
64
  init: null;
65
65
  };
66
- declare const removeSearchFilterAtom: jotai35.WritableAtom<null, [filterId: string], void> & {
66
+ declare const removeSearchFilterAtom: jotai50.WritableAtom<null, [filterId: string], void> & {
67
67
  init: null;
68
68
  };
69
- declare const clearSearchFiltersAtom: jotai35.WritableAtom<null, [], void> & {
69
+ declare const clearSearchFiltersAtom: jotai50.WritableAtom<null, [], void> & {
70
70
  init: null;
71
71
  };
72
- declare const performSearchAtom: jotai35.WritableAtom<null, [params: SearchParams, allowRedirect?: unknown], Promise<void>> & {
72
+ declare const performSearchAtom: jotai50.WritableAtom<null, [params: SearchParams, allowRedirect?: unknown], Promise<void>> & {
73
73
  init: null;
74
74
  };
75
75
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { ChatSearchFilter, ProductSorting } from "./types.js";
2
2
  import { SearchParams, SearchResult } from "../../application/models/api/search.js";
3
- import * as jotai68 from "jotai";
3
+ import * as jotai40 from "jotai";
4
4
 
5
5
  //#region src/atoms/search/searchAPI.d.ts
6
6
  type SelectedFilterOption = {
@@ -15,28 +15,28 @@ interface SearchState {
15
15
  error: string | null;
16
16
  lastQuery: string | null;
17
17
  }
18
- declare const searchAtom: jotai68.PrimitiveAtom<SearchState> & {
18
+ declare const searchAtom: jotai40.PrimitiveAtom<SearchState> & {
19
19
  init: SearchState;
20
20
  };
21
- declare const searchProductSortingAtom: jotai68.PrimitiveAtom<ProductSorting> & {
21
+ declare const searchProductSortingAtom: jotai40.PrimitiveAtom<ProductSorting> & {
22
22
  init: ProductSorting;
23
23
  };
24
- declare const searchSelectedFiltersAtom: jotai68.PrimitiveAtom<SelectedFilterOption[]> & {
24
+ declare const searchSelectedFiltersAtom: jotai40.PrimitiveAtom<SelectedFilterOption[]> & {
25
25
  init: SelectedFilterOption[];
26
26
  };
27
27
  declare const createFilterOption: (filterId: string, filterItemId: string, displayName: string) => SelectedFilterOption;
28
- declare const searchParamsAtom: jotai68.WritableAtom<{
28
+ declare const searchParamsAtom: jotai40.WritableAtom<{
29
29
  id: string | null;
30
30
  query: string | null;
31
31
  }, [value: {
32
32
  id: string | null;
33
33
  query: string | null;
34
34
  }], void>;
35
- declare const internalSearchSystemStateAtom: jotai68.PrimitiveAtom<boolean> & {
35
+ declare const internalSearchSystemStateAtom: jotai40.PrimitiveAtom<boolean> & {
36
36
  init: boolean;
37
37
  };
38
- declare const searchSystemAtom: jotai68.WritableAtom<boolean, [value: boolean], void>;
39
- declare const filteredSearchProductsAtom: jotai68.Atom<{
38
+ declare const searchSystemAtom: jotai40.WritableAtom<boolean, [value: boolean], void>;
39
+ declare const filteredSearchProductsAtom: jotai40.Atom<{
40
40
  averageRating?: number | undefined;
41
41
  colors?: string[] | undefined;
42
42
  description?: string | undefined;
@@ -59,17 +59,17 @@ declare const filteredSearchProductsAtom: jotai68.Atom<{
59
59
  title: string;
60
60
  url: string;
61
61
  }[]>;
62
- declare const searchFiltersAtom: jotai68.Atom<ChatSearchFilter[]>;
63
- declare const addSearchFilterAtom: jotai68.WritableAtom<null, [filter: SelectedFilterOption], void> & {
62
+ declare const searchFiltersAtom: jotai40.Atom<ChatSearchFilter[]>;
63
+ declare const addSearchFilterAtom: jotai40.WritableAtom<null, [filter: SelectedFilterOption], void> & {
64
64
  init: null;
65
65
  };
66
- declare const removeSearchFilterAtom: jotai68.WritableAtom<null, [filterId: string], void> & {
66
+ declare const removeSearchFilterAtom: jotai40.WritableAtom<null, [filterId: string], void> & {
67
67
  init: null;
68
68
  };
69
- declare const clearSearchFiltersAtom: jotai68.WritableAtom<null, [], void> & {
69
+ declare const clearSearchFiltersAtom: jotai40.WritableAtom<null, [], void> & {
70
70
  init: null;
71
71
  };
72
- declare const performSearchAtom: jotai68.WritableAtom<null, [params: SearchParams, allowRedirect?: unknown], Promise<void>> & {
72
+ declare const performSearchAtom: jotai40.WritableAtom<null, [params: SearchParams, allowRedirect?: unknown], Promise<void>> & {
73
73
  init: null;
74
74
  };
75
75
  //#endregion
@@ -1,9 +1,9 @@
1
1
  import { newOrgConfigAtom } from "../org/newOrgConfigAtom.js";
2
+ import { getSearchServiceFunction } from "./searchServiceAdapter.js";
2
3
  import "../org/index.js";
3
4
  import { ProductFilters } from "./productFilters.js";
4
5
  import { ProductSorting } from "./types.js";
5
6
  import { ProductSorter } from "./productSorter.js";
6
- import { getSearchServiceFunction } from "./searchServiceAdapter.js";
7
7
  import { atom } from "jotai";
8
8
 
9
9
  //#region src/atoms/search/searchAPI.ts
@@ -30,4 +30,4 @@ let ChatSearchSortOverrides = /* @__PURE__ */ function(ChatSearchSortOverrides$1
30
30
  exports.ChatSearchSortOverrides = ChatSearchSortOverrides;
31
31
  exports.ProductSorting = ProductSorting;
32
32
  exports.ProductSortingNames = ProductSortingNames;
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdG9tcy9zZWFyY2gvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlJztcblxuZXhwb3J0IGVudW0gUHJvZHVjdFNvcnRpbmcge1xuICBGRUFUVVJFRCA9ICdmZWF0dXJlZCcsXG4gIFBSSUNFX0FTQyA9ICdwcmljZV9hc2MnLFxuICBQUklDRV9ERVNDID0gJ3ByaWNlX2Rlc2MnLFxufVxuXG5leHBvcnQgY29uc3QgUHJvZHVjdFNvcnRpbmdOYW1lcyA9IHtcbiAgW1Byb2R1Y3RTb3J0aW5nLkZFQVRVUkVEXTogJ0ZlYXR1cmVkJyxcbiAgW1Byb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQ106ICdQcmljZSBMb3cgdG8gSGlnaCcsXG4gIFtQcm9kdWN0U29ydGluZy5QUklDRV9ERVNDXTogJ1ByaWNlIEhpZ2ggdG8gTG93Jyxcbn07XG5cbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hTdGF0ZVR5cGUgPSAnZW50cnlwb2ludCcgfCAnaW5pdGlhbGl6aW5nLXNlYXJjaCcgfCAncHJvZHVjdC1wYWdlJztcblxuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlciA9IHtcbiAgZmlsdGVySWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgaXRlbXM6IENoYXRTZWFyY2hGaWx0ZXJJdGVtW107XG59O1xuXG5leHBvcnQgdHlwZSBDaGF0U2VhcmNoRmlsdGVySXRlbSA9IHtcbiAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHByb2R1Y3RDb3VudDogbnVtYmVyO1xuICBpc1NlbGVjdGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0U2VhcmNoU29ydFByb3BzIHtcbiAgb3B0aW9uczogUHJvZHVjdFNvcnRpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGF0U2VhcmNoU29ydE1vZGFsUHJvcHMgZXh0ZW5kcyBDaGF0U2VhcmNoU29ydFByb3BzIHtcbiAgb3BlbjogYm9vbGVhbjtcbiAgaGFuZGxlUG9wdXBTdGF0ZTogKHN0YXRlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb24ge1xuICB2YWx1ZTogUHJvZHVjdFNvcnRpbmc7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIG9uU2VsZWN0OiAob3B0aW9uOiBQcm9kdWN0U29ydGluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGVudW0gQ2hhdFNlYXJjaFNvcnRPdmVycmlkZXMge1xuICBERVNLVE9QX0ZJTFRFUl9DT05UQUlORVIgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1jb250YWluZXInLFxuICBERVNLVE9QX0ZJTFRFUl9TRUxFQ1RfQ09NUE9ORU5UID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWNvbXBvbmVudCcsXG4gIERFU0tUT1BfRklMVEVSX1NFTEVDVF9JQ09OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWljb24nLFxuICBNT0JJTEVfRklMVEVSX0JVVFRPTiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLWJ1dHRvbicsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfQ09OVEFJTkVSID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtY29udGFpbmVyJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9IRUFERVIgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1oZWFkZXInLFxuICBNT0JJTEVfRklMVEVSX01PREFMX1NFTEVDVElPTiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLXNlbGVjdGlvbicsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fUElMTCA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1waWxsJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fREVTQ1JJUFRJT04gPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb24tZGVzYycsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfQVBQTFlfQlVUVE9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtYXBwbHktYnV0dG9uJyxcbn1cblxuLy8gQ3VzdG9tIHByb2R1Y3QgcmV0cmlldmFsIHJlc3VsdCBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFJldHJpZXZhbFJlc3VsdCB7XG4gIHByb2R1Y3RzOiBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ11bXTtcbiAgdG90YWxQcm9kdWN0Q291bnQ6IG51bWJlcjtcbn1cblxuLy8gUHJvZHVjdCByZXRyaWV2YWwgcGFyYW1ldGVycyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFJldHJpZXZhbFBhcmFtcyB7XG4gIHByb2R1Y3RJZHM6IHN0cmluZ1tdO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUVBLElBQVksNERBQUw7QUFDTDtBQUNBO0FBQ0E7OztBQUdGLE1BQWEsc0JBQXNCO0VBQ2hDLGVBQWUsV0FBVztFQUMxQixlQUFlLFlBQVk7RUFDM0IsZUFBZSxhQUFhO0NBQzlCO0FBZ0NELElBQVksOEVBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIn0=
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdG9tcy9zZWFyY2gvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlJztcblxuZXhwb3J0IGVudW0gUHJvZHVjdFNvcnRpbmcge1xuICBGRUFUVVJFRCA9ICdmZWF0dXJlZCcsXG4gIFBSSUNFX0FTQyA9ICdwcmljZV9hc2MnLFxuICBQUklDRV9ERVNDID0gJ3ByaWNlX2Rlc2MnLFxufVxuXG5leHBvcnQgY29uc3QgUHJvZHVjdFNvcnRpbmdOYW1lcyA9IHtcbiAgW1Byb2R1Y3RTb3J0aW5nLkZFQVRVUkVEXTogJ0ZlYXR1cmVkJyxcbiAgW1Byb2R1Y3RTb3J0aW5nLlBSSUNFX0FTQ106ICdQcmljZSBMb3cgdG8gSGlnaCcsXG4gIFtQcm9kdWN0U29ydGluZy5QUklDRV9ERVNDXTogJ1ByaWNlIEhpZ2ggdG8gTG93Jyxcbn07XG5cbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hTdGF0ZVR5cGUgPSAnZW50cnlwb2ludCcgfCAnaW5pdGlhbGl6aW5nLXNlYXJjaCcgfCAncHJvZHVjdC1wYWdlJztcblxuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlciA9IHtcbiAgZmlsdGVySWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgaXRlbXM6IENoYXRTZWFyY2hGaWx0ZXJJdGVtW107XG59O1xuXG5leHBvcnQgdHlwZSBDaGF0U2VhcmNoRmlsdGVySXRlbSA9IHtcbiAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIHByb2R1Y3RDb3VudDogbnVtYmVyO1xuICBpc1NlbGVjdGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0U2VhcmNoU29ydFByb3BzIHtcbiAgb3B0aW9uczogUHJvZHVjdFNvcnRpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGF0U2VhcmNoU29ydE1vZGFsUHJvcHMgZXh0ZW5kcyBDaGF0U2VhcmNoU29ydFByb3BzIHtcbiAgb3BlbjogYm9vbGVhbjtcbiAgaGFuZGxlUG9wdXBTdGF0ZTogKHN0YXRlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb24ge1xuICB2YWx1ZTogUHJvZHVjdFNvcnRpbmc7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIG9uU2VsZWN0OiAob3B0aW9uOiBQcm9kdWN0U29ydGluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGVudW0gQ2hhdFNlYXJjaFNvcnRPdmVycmlkZXMge1xuICBERVNLVE9QX0ZJTFRFUl9DT05UQUlORVIgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1jb250YWluZXInLFxuICBERVNLVE9QX0ZJTFRFUl9TRUxFQ1RfQ09NUE9ORU5UID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWNvbXBvbmVudCcsXG4gIERFU0tUT1BfRklMVEVSX1NFTEVDVF9JQ09OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWljb24nLFxuICBNT0JJTEVfRklMVEVSX0JVVFRPTiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLWJ1dHRvbicsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfQ09OVEFJTkVSID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtY29udGFpbmVyJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9IRUFERVIgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1oZWFkZXInLFxuICBNT0JJTEVfRklMVEVSX01PREFMX1NFTEVDVElPTiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLXNlbGVjdGlvbicsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fUElMTCA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1waWxsJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fREVTQ1JJUFRJT04gPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb24tZGVzYycsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfQVBQTFlfQlVUVE9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtYXBwbHktYnV0dG9uJyxcbn1cblxuLy8gQ3VzdG9tIHByb2R1Y3QgcmV0cmlldmFsIHJlc3VsdCBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFJldHJpZXZhbFJlc3VsdCB7XG4gIC8vIHZhcmlhbnRJZCBpcyBzZXQgd2hlbiB0aGUgcmVxdWVzdGVkIGlkIHdhcyBvbmUgb2YgdGhlIHByb2R1Y3QncyB2YXJpYW50czsgaWQgc3RheXMgdGhlIHBhcmVudCBwcm9kdWN0IGlkLlxuICBwcm9kdWN0czogKFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXSAmIHsgdmFyaWFudElkPzogc3RyaW5nIH0pW107XG4gIHRvdGFsUHJvZHVjdENvdW50OiBudW1iZXI7XG59XG5cbi8vIFByb2R1Y3QgcmV0cmlldmFsIHBhcmFtZXRlcnMgaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RSZXRyaWV2YWxQYXJhbXMge1xuICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFFQSxJQUFZLDREQUFMO0FBQ0w7QUFDQTtBQUNBOzs7QUFHRixNQUFhLHNCQUFzQjtFQUNoQyxlQUFlLFdBQVc7RUFDMUIsZUFBZSxZQUFZO0VBQzNCLGVBQWUsYUFBYTtDQUM5QjtBQWdDRCxJQUFZLDhFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSJ9
@@ -49,7 +49,9 @@ declare enum ChatSearchSortOverrides {
49
49
  MOBILE_FILTER_MODAL_APPLY_BUTTON = "spiffy-chat-search-filter-modal-apply-button",
50
50
  }
51
51
  interface ProductRetrievalResult {
52
- products: SearchResponseProductAttributes['attributes'][];
52
+ products: (SearchResponseProductAttributes['attributes'] & {
53
+ variantId?: string;
54
+ })[];
53
55
  totalProductCount: number;
54
56
  }
55
57
  interface ProductRetrievalParams {
@@ -57,4 +59,4 @@ interface ProductRetrievalParams {
57
59
  }
58
60
  //#endregion
59
61
  export { ChatSearchFilter, ChatSearchFilterItem, ChatSearchSortModalProps, ChatSearchSortOverrides, ChatSearchSortProps, ChatSearchStateType, ProductRetrievalParams, ProductRetrievalResult, ProductSorting, ProductSortingNames, SortOption };
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC90eXBlcy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZSc7XG5leHBvcnQgZGVjbGFyZSBlbnVtIFByb2R1Y3RTb3J0aW5nIHtcbiAgICBGRUFUVVJFRCA9IFwiZmVhdHVyZWRcIixcbiAgICBQUklDRV9BU0MgPSBcInByaWNlX2FzY1wiLFxuICAgIFBSSUNFX0RFU0MgPSBcInByaWNlX2Rlc2NcIlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgUHJvZHVjdFNvcnRpbmdOYW1lczoge1xuICAgIGZlYXR1cmVkOiBzdHJpbmc7XG4gICAgcHJpY2VfYXNjOiBzdHJpbmc7XG4gICAgcHJpY2VfZGVzYzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hTdGF0ZVR5cGUgPSAnZW50cnlwb2ludCcgfCAnaW5pdGlhbGl6aW5nLXNlYXJjaCcgfCAncHJvZHVjdC1wYWdlJztcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXIgPSB7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGl0ZW1zOiBDaGF0U2VhcmNoRmlsdGVySXRlbVtdO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXJJdGVtID0ge1xuICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbn07XG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICAgIG9wdGlvbnM6IFByb2R1Y3RTb3J0aW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0TW9kYWxQcm9wcyBleHRlbmRzIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICAgIG9wZW46IGJvb2xlYW47XG4gICAgaGFuZGxlUG9wdXBTdGF0ZTogKHN0YXRlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuZXhwb3J0IGludGVyZmFjZSBTb3J0T3B0aW9uIHtcbiAgICB2YWx1ZTogUHJvZHVjdFNvcnRpbmc7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBvblNlbGVjdDogKG9wdGlvbjogUHJvZHVjdFNvcnRpbmcpID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIENoYXRTZWFyY2hTb3J0T3ZlcnJpZGVzIHtcbiAgICBERVNLVE9QX0ZJTFRFUl9DT05UQUlORVIgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItY29udGFpbmVyXCIsXG4gICAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0NPTVBPTkVOVCA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtY29tcG9uZW50XCIsXG4gICAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0lDT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWljb25cIixcbiAgICBNT0JJTEVfRklMVEVSX0JVVFRPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1idXR0b25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0NPTlRBSU5FUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1jb250YWluZXJcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0hFQURFUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1oZWFkZXJcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX1NFTEVDVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1zZWxlY3Rpb25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9QSUxMID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1waWxsXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fREVTQ1JJUFRJT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uLWRlc2NcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0FQUExZX0JVVFRPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1hcHBseS1idXR0b25cIlxufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUmVzdWx0IHtcbiAgICBwcm9kdWN0czogU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1snYXR0cmlidXRlcyddW107XG4gICAgdG90YWxQcm9kdWN0Q291bnQ6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFJldHJpZXZhbFBhcmFtcyB7XG4gICAgcHJvZHVjdElkczogc3RyaW5nW107XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcsaUJBQWlCLENBQUMsSUFBSTtBQUNqQyxJQUFXLHNCQUFjLENBQUEsSUFBQTtBQUN6QixJQUFXLHNCQUFnQixDQUFBLElBQUE7QUFDM0IsSUFBVyxtQkFBaUIsQ0FBQSxXQUFBLHFCQUFBO0FBQzVCLElBQUEsdUJBQUEsQ0FBQSxJQUFBO0FBQ0EsSUFBVyxzQkFBc0IsQ0FBQyxXQUFRLGVBQUE7QUFDMUMsSUFBVywyQkFBUyxDQUFBLFdBQUEsb0JBQUE7QUFDcEIsSUFBVyxhQUFVO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDckIsSUFBVywwQkFBVyxDQUFBLElBQUE7QUFDdEIsSUFBQyx5QkFBQSxDQUFBLFdBQUEsZ0NBQUE7QUFDRCxJQUFXLHlCQUF5QixDQUFDLElBQUkifQ==
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC90eXBlcy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9yZXNwb25zZSc7XG5leHBvcnQgZGVjbGFyZSBlbnVtIFByb2R1Y3RTb3J0aW5nIHtcbiAgICBGRUFUVVJFRCA9IFwiZmVhdHVyZWRcIixcbiAgICBQUklDRV9BU0MgPSBcInByaWNlX2FzY1wiLFxuICAgIFBSSUNFX0RFU0MgPSBcInByaWNlX2Rlc2NcIlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgUHJvZHVjdFNvcnRpbmdOYW1lczoge1xuICAgIGZlYXR1cmVkOiBzdHJpbmc7XG4gICAgcHJpY2VfYXNjOiBzdHJpbmc7XG4gICAgcHJpY2VfZGVzYzogc3RyaW5nO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hTdGF0ZVR5cGUgPSAnZW50cnlwb2ludCcgfCAnaW5pdGlhbGl6aW5nLXNlYXJjaCcgfCAncHJvZHVjdC1wYWdlJztcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXIgPSB7XG4gICAgZmlsdGVySWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGl0ZW1zOiBDaGF0U2VhcmNoRmlsdGVySXRlbVtdO1xufTtcbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXJJdGVtID0ge1xuICAgIGZpbHRlckl0ZW1JZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbn07XG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICAgIG9wdGlvbnM6IFByb2R1Y3RTb3J0aW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0TW9kYWxQcm9wcyBleHRlbmRzIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICAgIG9wZW46IGJvb2xlYW47XG4gICAgaGFuZGxlUG9wdXBTdGF0ZTogKHN0YXRlOiBib29sZWFuKSA9PiB2b2lkO1xufVxuZXhwb3J0IGludGVyZmFjZSBTb3J0T3B0aW9uIHtcbiAgICB2YWx1ZTogUHJvZHVjdFNvcnRpbmc7XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBvblNlbGVjdDogKG9wdGlvbjogUHJvZHVjdFNvcnRpbmcpID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIENoYXRTZWFyY2hTb3J0T3ZlcnJpZGVzIHtcbiAgICBERVNLVE9QX0ZJTFRFUl9DT05UQUlORVIgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItY29udGFpbmVyXCIsXG4gICAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0NPTVBPTkVOVCA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtY29tcG9uZW50XCIsXG4gICAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0lDT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWljb25cIixcbiAgICBNT0JJTEVfRklMVEVSX0JVVFRPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1idXR0b25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0NPTlRBSU5FUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1jb250YWluZXJcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0hFQURFUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1oZWFkZXJcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX1NFTEVDVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1zZWxlY3Rpb25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb25cIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9QSUxMID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1waWxsXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fREVTQ1JJUFRJT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uLWRlc2NcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX0FQUExZX0JVVFRPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1hcHBseS1idXR0b25cIlxufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUmVzdWx0IHtcbiAgICBwcm9kdWN0czogKFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXSAmIHtcbiAgICAgICAgdmFyaWFudElkPzogc3RyaW5nO1xuICAgIH0pW107XG4gICAgdG90YWxQcm9kdWN0Q291bnQ6IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFJldHJpZXZhbFBhcmFtcyB7XG4gICAgcHJvZHVjdElkczogc3RyaW5nW107XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLElBQVcsaUJBQWlCLENBQUMsSUFBSTtBQUNqQyxJQUFXLHNCQUFjLENBQUEsSUFBQTtBQUN6QixJQUFXLHNCQUFnQixDQUFBLElBQUE7QUFDM0IsSUFBVyxtQkFBaUIsQ0FBQSxXQUFBLHFCQUFBO0FBQzVCLElBQUEsdUJBQUEsQ0FBQSxJQUFBO0FBQ0EsSUFBVyxzQkFBc0IsQ0FBQyxXQUFRLGVBQUE7QUFDMUMsSUFBVywyQkFBUyxDQUFBLFdBQUEsb0JBQUE7QUFDcEIsSUFBVyxhQUFVO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDckIsSUFBVywwQkFBVyxDQUFBLElBQUE7QUFDdEIsSUFBQyx5QkFBQSxDQUFBLFdBQUEsZ0NBQUE7QUFDRCxJQUFXLHlCQUF5QixDQUFDLElBQUkifQ==
@@ -49,7 +49,9 @@ declare enum ChatSearchSortOverrides {
49
49
  MOBILE_FILTER_MODAL_APPLY_BUTTON = "spiffy-chat-search-filter-modal-apply-button",
50
50
  }
51
51
  interface ProductRetrievalResult {
52
- products: SearchResponseProductAttributes['attributes'][];
52
+ products: (SearchResponseProductAttributes['attributes'] & {
53
+ variantId?: string;
54
+ })[];
53
55
  totalProductCount: number;
54
56
  }
55
57
  interface ProductRetrievalParams {
@@ -57,4 +59,4 @@ interface ProductRetrievalParams {
57
59
  }
58
60
  //#endregion
59
61
  export { ChatSearchFilter, ChatSearchFilterItem, ChatSearchSortModalProps, ChatSearchSortOverrides, ChatSearchSortProps, ChatSearchStateType, ProductRetrievalParams, ProductRetrievalResult, ProductSorting, ProductSortingNames, SortOption };
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvc2VhcmNoL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlJztcbmV4cG9ydCBkZWNsYXJlIGVudW0gUHJvZHVjdFNvcnRpbmcge1xuICAgIEZFQVRVUkVEID0gXCJmZWF0dXJlZFwiLFxuICAgIFBSSUNFX0FTQyA9IFwicHJpY2VfYXNjXCIsXG4gICAgUFJJQ0VfREVTQyA9IFwicHJpY2VfZGVzY1wiXG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBQcm9kdWN0U29ydGluZ05hbWVzOiB7XG4gICAgZmVhdHVyZWQ6IHN0cmluZztcbiAgICBwcmljZV9hc2M6IHN0cmluZztcbiAgICBwcmljZV9kZXNjOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaFN0YXRlVHlwZSA9ICdlbnRyeXBvaW50JyB8ICdpbml0aWFsaXppbmctc2VhcmNoJyB8ICdwcm9kdWN0LXBhZ2UnO1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlciA9IHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgaXRlbXM6IENoYXRTZWFyY2hGaWx0ZXJJdGVtW107XG59O1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlckl0ZW0gPSB7XG4gICAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBwcm9kdWN0Q291bnQ6IG51bWJlcjtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFNlYXJjaFNvcnRQcm9wcyB7XG4gICAgb3B0aW9uczogUHJvZHVjdFNvcnRpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFNlYXJjaFNvcnRNb2RhbFByb3BzIGV4dGVuZHMgQ2hhdFNlYXJjaFNvcnRQcm9wcyB7XG4gICAgb3BlbjogYm9vbGVhbjtcbiAgICBoYW5kbGVQb3B1cFN0YXRlOiAoc3RhdGU6IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb24ge1xuICAgIHZhbHVlOiBQcm9kdWN0U29ydGluZztcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIG9uU2VsZWN0OiAob3B0aW9uOiBQcm9kdWN0U29ydGluZykgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gQ2hhdFNlYXJjaFNvcnRPdmVycmlkZXMge1xuICAgIERFU0tUT1BfRklMVEVSX0NPTlRBSU5FUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1jb250YWluZXJcIixcbiAgICBERVNLVE9QX0ZJTFRFUl9TRUxFQ1RfQ09NUE9ORU5UID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLXNlbGVjdC1jb21wb25lbnRcIixcbiAgICBERVNLVE9QX0ZJTFRFUl9TRUxFQ1RfSUNPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtaWNvblwiLFxuICAgIE1PQklMRV9GSUxURVJfQlVUVE9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLWJ1dHRvblwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfQ09OVEFJTkVSID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWNvbnRhaW5lclwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfSEVBREVSID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWhlYWRlclwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfU0VMRUNUSU9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLXNlbGVjdGlvblwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvblwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OX1BJTEwgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uLXBpbGxcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9ERVNDUklQVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb24tZGVzY1wiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfQVBQTFlfQlVUVE9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWFwcGx5LWJ1dHRvblwiXG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQge1xuICAgIHByb2R1Y3RzOiBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzWydhdHRyaWJ1dGVzJ11bXTtcbiAgICB0b3RhbFByb2R1Y3RDb3VudDogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUGFyYW1zIHtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVyxpQkFBaUIsQ0FBQyxJQUFJO0FBQ2pDLElBQVcsc0JBQWMsQ0FBQSxJQUFBO0FBQ3pCLElBQVcsc0JBQWdCLENBQUEsSUFBQTtBQUMzQixJQUFXLG1CQUFpQixDQUFBLFdBQUEscUJBQUE7QUFDNUIsSUFBQSx1QkFBQSxDQUFBLElBQUE7QUFDQSxJQUFXLHNCQUFzQixDQUFDLFdBQVEsZUFBQTtBQUMxQyxJQUFXLDJCQUFTLENBQUEsV0FBQSxvQkFBQTtBQUNwQixJQUFXLGFBQVU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFXLDBCQUFXLENBQUEsSUFBQTtBQUN0QixJQUFDLHlCQUFBLENBQUEsV0FBQSxnQ0FBQTtBQUNELElBQVcseUJBQXlCLENBQUMsSUFBSSJ9
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXRvbXMvc2VhcmNoL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3Jlc3BvbnNlJztcbmV4cG9ydCBkZWNsYXJlIGVudW0gUHJvZHVjdFNvcnRpbmcge1xuICAgIEZFQVRVUkVEID0gXCJmZWF0dXJlZFwiLFxuICAgIFBSSUNFX0FTQyA9IFwicHJpY2VfYXNjXCIsXG4gICAgUFJJQ0VfREVTQyA9IFwicHJpY2VfZGVzY1wiXG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBQcm9kdWN0U29ydGluZ05hbWVzOiB7XG4gICAgZmVhdHVyZWQ6IHN0cmluZztcbiAgICBwcmljZV9hc2M6IHN0cmluZztcbiAgICBwcmljZV9kZXNjOiBzdHJpbmc7XG59O1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaFN0YXRlVHlwZSA9ICdlbnRyeXBvaW50JyB8ICdpbml0aWFsaXppbmctc2VhcmNoJyB8ICdwcm9kdWN0LXBhZ2UnO1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlciA9IHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgaXRlbXM6IENoYXRTZWFyY2hGaWx0ZXJJdGVtW107XG59O1xuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaEZpbHRlckl0ZW0gPSB7XG4gICAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBwcm9kdWN0Q291bnQ6IG51bWJlcjtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFNlYXJjaFNvcnRQcm9wcyB7XG4gICAgb3B0aW9uczogUHJvZHVjdFNvcnRpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdFNlYXJjaFNvcnRNb2RhbFByb3BzIGV4dGVuZHMgQ2hhdFNlYXJjaFNvcnRQcm9wcyB7XG4gICAgb3BlbjogYm9vbGVhbjtcbiAgICBoYW5kbGVQb3B1cFN0YXRlOiAoc3RhdGU6IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb24ge1xuICAgIHZhbHVlOiBQcm9kdWN0U29ydGluZztcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIG9uU2VsZWN0OiAob3B0aW9uOiBQcm9kdWN0U29ydGluZykgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGVudW0gQ2hhdFNlYXJjaFNvcnRPdmVycmlkZXMge1xuICAgIERFU0tUT1BfRklMVEVSX0NPTlRBSU5FUiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1jb250YWluZXJcIixcbiAgICBERVNLVE9QX0ZJTFRFUl9TRUxFQ1RfQ09NUE9ORU5UID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLXNlbGVjdC1jb21wb25lbnRcIixcbiAgICBERVNLVE9QX0ZJTFRFUl9TRUxFQ1RfSUNPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtaWNvblwiLFxuICAgIE1PQklMRV9GSUxURVJfQlVUVE9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLWJ1dHRvblwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfQ09OVEFJTkVSID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWNvbnRhaW5lclwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfSEVBREVSID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWhlYWRlclwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfU0VMRUNUSU9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLXNlbGVjdGlvblwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvblwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OX1BJTEwgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uLXBpbGxcIixcbiAgICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9ERVNDUklQVElPTiA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb24tZGVzY1wiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfQVBQTFlfQlVUVE9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWFwcGx5LWJ1dHRvblwiXG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RSZXRyaWV2YWxSZXN1bHQge1xuICAgIHByb2R1Y3RzOiAoU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1snYXR0cmlidXRlcyddICYge1xuICAgICAgICB2YXJpYW50SWQ/OiBzdHJpbmc7XG4gICAgfSlbXTtcbiAgICB0b3RhbFByb2R1Y3RDb3VudDogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUGFyYW1zIHtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsSUFBVyxpQkFBaUIsQ0FBQyxJQUFJO0FBQ2pDLElBQVcsc0JBQWMsQ0FBQSxJQUFBO0FBQ3pCLElBQVcsc0JBQWdCLENBQUEsSUFBQTtBQUMzQixJQUFXLG1CQUFpQixDQUFBLFdBQUEscUJBQUE7QUFDNUIsSUFBQSx1QkFBQSxDQUFBLElBQUE7QUFDQSxJQUFXLHNCQUFzQixDQUFDLFdBQVEsZUFBQTtBQUMxQyxJQUFXLDJCQUFTLENBQUEsV0FBQSxvQkFBQTtBQUNwQixJQUFXLGFBQVU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFXLDBCQUFXLENBQUEsSUFBQTtBQUN0QixJQUFDLHlCQUFBLENBQUEsV0FBQSxnQ0FBQTtBQUNELElBQVcseUJBQXlCLENBQUMsSUFBSSJ9
@@ -27,4 +27,4 @@ let ChatSearchSortOverrides = /* @__PURE__ */ function(ChatSearchSortOverrides$1
27
27
 
28
28
  //#endregion
29
29
  export { ChatSearchSortOverrides, ProductSorting, ProductSortingNames };
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2UnO1xuXG5leHBvcnQgZW51bSBQcm9kdWN0U29ydGluZyB7XG4gIEZFQVRVUkVEID0gJ2ZlYXR1cmVkJyxcbiAgUFJJQ0VfQVNDID0gJ3ByaWNlX2FzYycsXG4gIFBSSUNFX0RFU0MgPSAncHJpY2VfZGVzYycsXG59XG5cbmV4cG9ydCBjb25zdCBQcm9kdWN0U29ydGluZ05hbWVzID0ge1xuICBbUHJvZHVjdFNvcnRpbmcuRkVBVFVSRURdOiAnRmVhdHVyZWQnLFxuICBbUHJvZHVjdFNvcnRpbmcuUFJJQ0VfQVNDXTogJ1ByaWNlIExvdyB0byBIaWdoJyxcbiAgW1Byb2R1Y3RTb3J0aW5nLlBSSUNFX0RFU0NdOiAnUHJpY2UgSGlnaCB0byBMb3cnLFxufTtcblxuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaFN0YXRlVHlwZSA9ICdlbnRyeXBvaW50JyB8ICdpbml0aWFsaXppbmctc2VhcmNoJyB8ICdwcm9kdWN0LXBhZ2UnO1xuXG5leHBvcnQgdHlwZSBDaGF0U2VhcmNoRmlsdGVyID0ge1xuICBmaWx0ZXJJZDogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBpdGVtczogQ2hhdFNlYXJjaEZpbHRlckl0ZW1bXTtcbn07XG5cbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXJJdGVtID0ge1xuICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICBvcHRpb25zOiBQcm9kdWN0U29ydGluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0TW9kYWxQcm9wcyBleHRlbmRzIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICBvcGVuOiBib29sZWFuO1xuICBoYW5kbGVQb3B1cFN0YXRlOiAoc3RhdGU6IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydE9wdGlvbiB7XG4gIHZhbHVlOiBQcm9kdWN0U29ydGluZztcbiAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgb25TZWxlY3Q6IChvcHRpb246IFByb2R1Y3RTb3J0aW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBDaGF0U2VhcmNoU29ydE92ZXJyaWRlcyB7XG4gIERFU0tUT1BfRklMVEVSX0NPTlRBSU5FUiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLWNvbnRhaW5lcicsXG4gIERFU0tUT1BfRklMVEVSX1NFTEVDVF9DT01QT05FTlQgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtY29tcG9uZW50JyxcbiAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0lDT04gPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtaWNvbicsXG4gIE1PQklMRV9GSUxURVJfQlVUVE9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItYnV0dG9uJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9DT05UQUlORVIgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1jb250YWluZXInLFxuICBNT0JJTEVfRklMVEVSX01PREFMX0hFQURFUiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWhlYWRlcicsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfU0VMRUNUSU9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtc2VsZWN0aW9uJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT04gPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb24nLFxuICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9QSUxMID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uLXBpbGwnLFxuICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9ERVNDUklQVElPTiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1kZXNjJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9BUFBMWV9CVVRUT04gPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1hcHBseS1idXR0b24nLFxufVxuXG4vLyBDdXN0b20gcHJvZHVjdCByZXRyaWV2YWwgcmVzdWx0IGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUmVzdWx0IHtcbiAgcHJvZHVjdHM6IFNlYXJjaFJlc3BvbnNlUHJvZHVjdEF0dHJpYnV0ZXNbJ2F0dHJpYnV0ZXMnXVtdO1xuICB0b3RhbFByb2R1Y3RDb3VudDogbnVtYmVyO1xufVxuXG4vLyBQcm9kdWN0IHJldHJpZXZhbCBwYXJhbWV0ZXJzIGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUGFyYW1zIHtcbiAgcHJvZHVjdElkczogc3RyaW5nW107XG59XG4iXSwibWFwcGluZ3MiOiI7QUFFQSxJQUFZLDREQUFMO0FBQ0w7QUFDQTtBQUNBOzs7QUFHRixNQUFhLHNCQUFzQjtFQUNoQyxlQUFlLFdBQVc7RUFDMUIsZUFBZSxZQUFZO0VBQzNCLGVBQWUsYUFBYTtDQUM5QjtBQWdDRCxJQUFZLDhFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSJ9
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F0b21zL3NlYXJjaC90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXNwb25zZVByb2R1Y3RBdHRyaWJ1dGVzIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvcmVzcG9uc2UnO1xuXG5leHBvcnQgZW51bSBQcm9kdWN0U29ydGluZyB7XG4gIEZFQVRVUkVEID0gJ2ZlYXR1cmVkJyxcbiAgUFJJQ0VfQVNDID0gJ3ByaWNlX2FzYycsXG4gIFBSSUNFX0RFU0MgPSAncHJpY2VfZGVzYycsXG59XG5cbmV4cG9ydCBjb25zdCBQcm9kdWN0U29ydGluZ05hbWVzID0ge1xuICBbUHJvZHVjdFNvcnRpbmcuRkVBVFVSRURdOiAnRmVhdHVyZWQnLFxuICBbUHJvZHVjdFNvcnRpbmcuUFJJQ0VfQVNDXTogJ1ByaWNlIExvdyB0byBIaWdoJyxcbiAgW1Byb2R1Y3RTb3J0aW5nLlBSSUNFX0RFU0NdOiAnUHJpY2UgSGlnaCB0byBMb3cnLFxufTtcblxuZXhwb3J0IHR5cGUgQ2hhdFNlYXJjaFN0YXRlVHlwZSA9ICdlbnRyeXBvaW50JyB8ICdpbml0aWFsaXppbmctc2VhcmNoJyB8ICdwcm9kdWN0LXBhZ2UnO1xuXG5leHBvcnQgdHlwZSBDaGF0U2VhcmNoRmlsdGVyID0ge1xuICBmaWx0ZXJJZDogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBpdGVtczogQ2hhdFNlYXJjaEZpbHRlckl0ZW1bXTtcbn07XG5cbmV4cG9ydCB0eXBlIENoYXRTZWFyY2hGaWx0ZXJJdGVtID0ge1xuICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgcHJvZHVjdENvdW50OiBudW1iZXI7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICBvcHRpb25zOiBQcm9kdWN0U29ydGluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRTZWFyY2hTb3J0TW9kYWxQcm9wcyBleHRlbmRzIENoYXRTZWFyY2hTb3J0UHJvcHMge1xuICBvcGVuOiBib29sZWFuO1xuICBoYW5kbGVQb3B1cFN0YXRlOiAoc3RhdGU6IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydE9wdGlvbiB7XG4gIHZhbHVlOiBQcm9kdWN0U29ydGluZztcbiAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgb25TZWxlY3Q6IChvcHRpb246IFByb2R1Y3RTb3J0aW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBDaGF0U2VhcmNoU29ydE92ZXJyaWRlcyB7XG4gIERFU0tUT1BfRklMVEVSX0NPTlRBSU5FUiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLWNvbnRhaW5lcicsXG4gIERFU0tUT1BfRklMVEVSX1NFTEVDVF9DT01QT05FTlQgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtY29tcG9uZW50JyxcbiAgREVTS1RPUF9GSUxURVJfU0VMRUNUX0lDT04gPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1zZWxlY3QtaWNvbicsXG4gIE1PQklMRV9GSUxURVJfQlVUVE9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItYnV0dG9uJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9DT05UQUlORVIgPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1jb250YWluZXInLFxuICBNT0JJTEVfRklMVEVSX01PREFMX0hFQURFUiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLWhlYWRlcicsXG4gIE1PQklMRV9GSUxURVJfTU9EQUxfU0VMRUNUSU9OID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtc2VsZWN0aW9uJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT04gPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb24nLFxuICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9QSUxMID0gJ3NwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uLXBpbGwnLFxuICBNT0JJTEVfRklMVEVSX01PREFMX09QVElPTl9ERVNDUklQVElPTiA9ICdzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1kZXNjJyxcbiAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9BUFBMWV9CVVRUT04gPSAnc3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1hcHBseS1idXR0b24nLFxufVxuXG4vLyBDdXN0b20gcHJvZHVjdCByZXRyaWV2YWwgcmVzdWx0IGludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0UmV0cmlldmFsUmVzdWx0IHtcbiAgLy8gdmFyaWFudElkIGlzIHNldCB3aGVuIHRoZSByZXF1ZXN0ZWQgaWQgd2FzIG9uZSBvZiB0aGUgcHJvZHVjdCdzIHZhcmlhbnRzOyBpZCBzdGF5cyB0aGUgcGFyZW50IHByb2R1Y3QgaWQuXG4gIHByb2R1Y3RzOiAoU2VhcmNoUmVzcG9uc2VQcm9kdWN0QXR0cmlidXRlc1snYXR0cmlidXRlcyddICYgeyB2YXJpYW50SWQ/OiBzdHJpbmcgfSlbXTtcbiAgdG90YWxQcm9kdWN0Q291bnQ6IG51bWJlcjtcbn1cblxuLy8gUHJvZHVjdCByZXRyaWV2YWwgcGFyYW1ldGVycyBpbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFJldHJpZXZhbFBhcmFtcyB7XG4gIHByb2R1Y3RJZHM6IHN0cmluZ1tdO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBRUEsSUFBWSw0REFBTDtBQUNMO0FBQ0E7QUFDQTs7O0FBR0YsTUFBYSxzQkFBc0I7RUFDaEMsZUFBZSxXQUFXO0VBQzFCLGVBQWUsWUFBWTtFQUMzQixlQUFlLGFBQWE7Q0FDOUI7QUFnQ0QsSUFBWSw4RUFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EifQ==
@@ -1,4 +1,4 @@
1
- import * as jotai63 from "jotai";
1
+ import * as jotai49 from "jotai";
2
2
  import { WidgetWrapperVariant } from "@envive-ai/react-toolkit-v3/WidgetWrapper";
3
3
 
4
4
  //#region src/atoms/widget/chatPreviewLoading.d.ts
@@ -17,7 +17,7 @@ type ChatPreviewLoadingData = {
17
17
  /**
18
18
  * Atom to read ChatPreviewLoading data for a specific widgetConfigId.
19
19
  */
20
- declare const chatPreviewLoadingDataAtom: jotai63.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
20
+ declare const chatPreviewLoadingDataAtom: jotai49.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
21
21
  widgetConfigId: string;
22
22
  data: ChatPreviewLoadingData;
23
23
  }], void>;
@@ -1,4 +1,4 @@
1
- import * as jotai47 from "jotai";
1
+ import * as jotai35 from "jotai";
2
2
  import { WidgetWrapperVariant } from "@envive-ai/react-toolkit-v3/WidgetWrapper";
3
3
 
4
4
  //#region src/atoms/widget/chatPreviewLoading.d.ts
@@ -17,7 +17,7 @@ type ChatPreviewLoadingData = {
17
17
  /**
18
18
  * Atom to read ChatPreviewLoading data for a specific widgetConfigId.
19
19
  */
20
- declare const chatPreviewLoadingDataAtom: jotai47.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
20
+ declare const chatPreviewLoadingDataAtom: jotai35.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
21
21
  widgetConfigId: string;
22
22
  data: ChatPreviewLoadingData;
23
23
  }], void>;
@@ -1,7 +1,9 @@
1
1
  const require_mapping = require('./mapping.cjs');
2
+ const require_pageViewedContext = require('./pageViewedContext.cjs');
2
3
  const require_pageContext = require('./pageContext.cjs');
3
4
 
4
5
  exports.PageProvider = require_pageContext.PageProvider;
6
+ exports.extractPageViewedContext = require_pageViewedContext.extractPageViewedContext;
5
7
  exports.mapApiUserEventToUserEvent = require_mapping.mapApiUserEventToUserEvent;
6
8
  exports.mapUrlResolverResponseToVariantInfo = require_mapping.mapUrlResolverResponseToVariantInfo;
7
9
  exports.usePage = require_pageContext.usePage;
@@ -1,3 +1,4 @@
1
1
  import { PageProvider, usePage } from "./pageContext.cjs";
2
2
  import { mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo } from "./mapping.cjs";
3
- export { PageProvider, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
3
+ import { PageViewedContext, extractPageViewedContext } from "./pageViewedContext.cjs";
4
+ export { PageProvider, PageViewedContext, extractPageViewedContext, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
@@ -1,3 +1,4 @@
1
1
  import { PageProvider, usePage } from "./pageContext.js";
2
2
  import { mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo } from "./mapping.js";
3
- export { PageProvider, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
3
+ import { PageViewedContext, extractPageViewedContext } from "./pageViewedContext.js";
4
+ export { PageProvider, PageViewedContext, extractPageViewedContext, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
@@ -1,4 +1,5 @@
1
1
  import { mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo } from "./mapping.js";
2
+ import { extractPageViewedContext } from "./pageViewedContext.js";
2
3
  import { PageProvider, usePage } from "./pageContext.js";
3
4
 
4
- export { PageProvider, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
5
+ export { PageProvider, extractPageViewedContext, mapApiUserEventToUserEvent, mapUrlResolverResponseToVariantInfo, usePage };
@@ -3,11 +3,13 @@ const require_logger = require('../../application/logging/logger.cjs');
3
3
  const require_variantInfo = require('../../application/models/variantInfo/variantInfo.cjs');
4
4
  require('../../application/models/index.cjs');
5
5
  const require_eventNames = require('../../services/amplitudeService/eventNames.cjs');
6
+ const require_urlsParser = require('../../application/utils/urlsParser.cjs');
6
7
  const require_variant = require('../../atoms/app/variant.cjs');
7
8
  const require_application_commerce_api = require('../../application/commerce-api.cjs');
8
9
  const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
9
10
  require('../amplitudeContext/index.cjs');
10
11
  const require_mapping = require('./mapping.cjs');
12
+ const require_pageViewedContext = require('./pageViewedContext.cjs');
11
13
  let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
12
14
  let react = require("react");
13
15
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -18,6 +20,7 @@ const logger = new require_logger.default("pageContext");
18
20
  const PageContext = (0, react.createContext)(void 0);
19
21
  const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady }) => {
20
22
  const [pageUrl, setPageUrl] = (0, react.useState)(void 0);
23
+ const [initialEnvivePlacement] = (0, react.useState)(() => require_urlsParser.parseHref(typeof window !== "undefined" ? window.location.href : "").urlSearchParams?.get("envive_placement") || void 0);
21
24
  const [urlResolverResponse, setUrlResolverResponse] = (0, jotai.useAtom)(require_variant.urlResolverAtom);
22
25
  const [isLoading, setIsLoading] = (0, react.useState)(false);
23
26
  const [variantInfo, setVariantInfo] = (0, jotai.useAtom)(require_variant.pageVariantInfoAtom);
@@ -130,44 +133,18 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
130
133
  const pageViewedFired = (0, react.useRef)(false);
131
134
  (0, react.useEffect)(() => {
132
135
  if (pageViewedFired.current || isLoading || !hasParsedVariantInfo || !variantInfo) return;
133
- let pageType;
134
- let pageId;
135
- switch (variantInfo.variantType) {
136
- case require_variantInfo.VariantTypeEnum.Pdp:
137
- pageType = "pdp";
138
- pageId = variantInfo.productId;
139
- break;
140
- case require_variantInfo.VariantTypeEnum.Plp:
141
- pageType = "plp";
142
- pageId = variantInfo.plpId;
143
- break;
144
- case require_variantInfo.VariantTypeEnum.Home:
145
- pageType = "homepage";
146
- pageId = variantInfo.url;
147
- break;
148
- case require_variantInfo.VariantTypeEnum.Other:
149
- pageType = "other";
150
- pageId = variantInfo.url;
151
- break;
152
- case require_variantInfo.VariantTypeEnum.PageVisit:
153
- pageType = "other";
154
- pageId = variantInfo.url;
155
- break;
156
- case require_variantInfo.VariantTypeEnum.FullPageSalesAgent:
157
- pageType = "adaptive_storefront";
158
- pageId = variantInfo.url;
159
- break;
160
- default: return;
161
- }
136
+ const pageViewedContext = require_pageViewedContext.extractPageViewedContext(variantInfo);
137
+ if (!pageViewedContext) return;
162
138
  pageViewedFired.current = true;
163
139
  trackEvent({
164
140
  eventName: require_eventNames.EnviveMetricsEventName.PageViewed,
165
141
  eventProps: {
166
- "context.page_type": pageType,
167
- "context.page_id": pageId,
142
+ "context.page_type": pageViewedContext.page_type,
143
+ "context.page_id": pageViewedContext.page_id,
168
144
  "context.supported": isSupported,
169
145
  "context.ready": isSupported,
170
- "context.page_variant_id": resolvedVariantInfo.variantId
146
+ "context.page_variant_id": resolvedVariantInfo.variantId,
147
+ ...initialEnvivePlacement ? { "context.envive_placement": initialEnvivePlacement } : {}
171
148
  }
172
149
  });
173
150
  }, [
@@ -176,7 +153,8 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
176
153
  hasParsedVariantInfo,
177
154
  variantInfo,
178
155
  resolvedVariantInfo,
179
- trackEvent
156
+ trackEvent,
157
+ initialEnvivePlacement
180
158
  ]);
181
159
  const setPageUrlStable = (0, react.useCallback)((url) => {
182
160
  setPageUrl(url);
@@ -210,4 +188,4 @@ const usePage = () => {
210
188
  //#endregion
211
189
  exports.PageProvider = PageProvider;
212
190
  exports.usePage = usePage;
213
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiIsInVybFJlc29sdmVyQXRvbSIsInBhZ2VWYXJpYW50SW5mb0F0b20iLCJwYWdlVXNlckV2ZW50QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwiUGFnZVZpc2l0Q2F0ZWdvcnkiLCJWYXJpYW50VHlwZUVudW0iLCJtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyIsIm1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJ1c2VBbXBsaXR1ZGUiLCJ2YXJpYW50SW5mb0F0b20iLCJoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20iLCJwYWdlVHlwZTogc3RyaW5nIiwicGFnZUlkOiBzdHJpbmciLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZWFjdE5vZGUsXG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIFVybFJlc29sdmVyUmVzcG9uc2UsXG4gIGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSxcbiAgcGFnZVVzZXJFdmVudEF0b20sXG4gIHBhZ2VWYXJpYW50SW5mb0F0b20sXG4gIHVybFJlc29sdmVyQXRvbSxcbiAgdmFyaWFudEluZm9BdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgdXNlQXRvbSwgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgVmFyaWFudFR5cGVFbnVtIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQsIG1hcFVybFJlc29sdmVyUmVzcG9uc2VUb1ZhcmlhbnRJbmZvIH0gZnJvbSAnLi9tYXBwaW5nJztcbmltcG9ydCB7IFBhZ2VEZXRhaWxzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3BhZ2VDb250ZXh0Jyk7XG5cbmNvbnN0IFBhZ2VDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxcbiAgfCAoUGFnZURldGFpbHMgJiB7XG4gICAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gICAgICBpc1N1cHBvcnRlZDogYm9vbGVhbjtcbiAgICAgIHNldFBhZ2VVcmw6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgICB9KVxuICB8IHVuZGVmaW5lZFxuPih1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiA9ICh7IGNoaWxkcmVuLCBwcmV2aWV3TW9kZSA9IGZhbHNlLCBvblVybFJlc29sdmVyTm90UmVhZHkgfSkgPT4ge1xuICBjb25zdCBbcGFnZVVybCwgc2V0UGFnZVVybF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFt1cmxSZXNvbHZlclJlc3BvbnNlLCBzZXRVcmxSZXNvbHZlclJlc3BvbnNlXSA9IHVzZUF0b20odXJsUmVzb2x2ZXJBdG9tKTtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3ZhcmlhbnRJbmZvLCBzZXRWYXJpYW50SW5mb10gPSB1c2VBdG9tKHBhZ2VWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBbdXNlckV2ZW50LCBzZXRVc2VyRXZlbnRdID0gdXNlQXRvbShwYWdlVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IFtpc1N1cHBvcnRlZCwgc2V0SXNTdXBwb3J0ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBsYXN0Tm90UmVhZHlVcmxSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIC8vIFRyYWNrcyB0aGUgbGFzdCBVUkwgd2UgcmFuIHRocm91Z2ggdGhlIHJlc29sdmVyIChkZWR1cGUga2V5KS4gTGV0cyB1cyByZS1yZXNvbHZlIHdoZW4gdGhlXG4gIC8vIHBhZ2UgVVJMIGNoYW5nZXMgY2xpZW50LXNpZGUgKGUuZy4gYSBQRFAgY29sb3IvdmFyaWFudCBzd2FwIHRoYXQgcHVzaGVzIGEgbmV3IFVSTCB3aXRob3V0XG4gIC8vIGEgZnVsbCByZWxvYWQpIGluc3RlYWQgb2Ygc2hvcnQtY2lyY3VpdGluZyBvbiB0aGUgc3RhbGUgdmFyaWFudC91c2VyRXZlbnQgYXRvbXMuIENsZWFyZWRcbiAgLy8gb24gZmFpbHVyZSBzbyB0aGUgVVJMIGNhbiBiZSByZXRyaWVkLlxuICBjb25zdCBsYXN0UmVzb2x2ZWRVcmxSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIC8vIFdoZXRoZXIgd2UgaGF2ZSBldmVyIGRyaXZlbiBhIHJlc29sdXRpb24gb3Vyc2VsdmVzLiBLZXB0IHNlcGFyYXRlIGZyb21cbiAgLy8gYGxhc3RSZXNvbHZlZFVybFJlZmAgKHdoaWNoIGEgZmFpbHVyZSBjbGVhcnMpIHNvIGEgZmFpbGVkIHJlc29sdmUgY2FuIHJldHJ5IHdpdGhvdXQgdGhlXG4gIC8vIG5leHQgbmF2aWdhdGlvbiBtaXNyZWFkaW5nIGl0IGFzIFwiYXRvbXMgd2VyZSBzZWVkZWQgZXh0ZXJuYWxseVwiIGFuZCBza2lwcGluZyB0aGUgQVBJIGNhbGwuXG4gIGNvbnN0IGhhc1Jlc29sdmVkT25jZVJlZiA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRQYWdlVXJsKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgfSwgW10pO1xuXG4gIC8vIEF1dG8taW5pdGlhbGl6ZSBhdG9tcyBmb3IgcHJldmlldyBtb2RlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByZXZpZXdNb2RlICYmICF1c2VyRXZlbnQgJiYgIXZhcmlhbnRJbmZvKSB7XG4gICAgICBjb25zdCB1cmwgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmIDogJyc7XG4gICAgICBzZXRVc2VyRXZlbnQoe1xuICAgICAgICBldmVudF9pZDogJ3ByZXZpZXctdXNlci1ldmVudCcsXG4gICAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHBhZ2VfdmlzaXRfY2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5Lk90aGVyLFxuICAgICAgICAgIHVybCxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgYW55KTtcblxuICAgICAgc2V0VmFyaWFudEluZm8oe1xuICAgICAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLlBhZ2VWaXNpdCxcbiAgICAgICAgdXJsLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJldmlld01vZGUsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIHNldFVzZXJFdmVudCwgc2V0VmFyaWFudEluZm9dKTtcblxuICBjb25zdCBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyID0gdXNlQ2FsbGJhY2soXG4gICAgKHVybDogc3RyaW5nLCByZXNwb25zZTogVXJsUmVzb2x2ZXJSZXNwb25zZSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhcmlhbnRJbmZvID0gbWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8odXJsLCByZXNwb25zZSk7XG4gICAgICAgIGNvbnN0IG5ld1VzZXJFdmVudCA9IG1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50KHJlc3BvbnNlLnVzZXJfZXZlbnQgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdzZXR0aW5nIHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCcsIHsgbmV3VmFyaWFudEluZm8sIG5ld1VzZXJFdmVudCB9KTtcbiAgICAgICAgc2V0VmFyaWFudEluZm8obmV3VmFyaWFudEluZm8pO1xuICAgICAgICBzZXRVc2VyRXZlbnQobmV3VXNlckV2ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFVzZXJFdmVudCh1bmRlZmluZWQpO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyh1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldCB2YXJpYW50IGluZm8gYW5kIHVzZXIgZXZlbnQgdG8gdW5kZWZpbmVkJywgeyB2YXJpYW50SW5mbywgdXNlckV2ZW50IH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFZhcmlhbnRJbmZvLCBzZXRVc2VyRXZlbnRdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZVBhZ2VVcmwgPSBhc3luYyAoKSA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoIXBhZ2VVcmwpIHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsZWFuc2VkVXJsID0gcGFnZVVybC50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcblxuICAgICAgICAvLyBSZS1yZXNvbHZlIHdoZW4gdGhlIFVSTCBjaGFuZ2VzIHNvIGEgY2xpZW50LXNpZGUgUERQIHZhcmlhbnQgc3dhcCBmb2xsb3dzIHRvIHRoZSBuZXdcbiAgICAgICAgLy8gcHJvZHVjdC5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gQWxyZWFkeSByZXNvbHZlZCB0aGlzIGV4YWN0IFVSTCDigJQgZ3VhcmRzIGFnYWluc3QgdGhlIGVmZmVjdCByZS1ydW5uaW5nIG9uY2UgdGhlXG4gICAgICAgIC8vIHJlc29sdmVyIHdyaXRlcyB0aGUgdmFyaWFudC91c2VyRXZlbnQgYXRvbXMgKHRoZXkgYXJlIGVmZmVjdCBkZXBlbmRlbmNpZXMpLlxuICAgICAgICBpZiAobGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPT09IGNsZWFuc2VkVXJsKSB7XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gSW4gcHJldmlldyBtb2RlLCBvciB3aGVuIHRoZSBhdG9tcyB3ZXJlIHNlZWRlZCBleHRlcm5hbGx5IChlLmcuIGJ5IHN0b3J5Ym9vaylcbiAgICAgICAgLy8gYmVmb3JlIHdlIG91cnNlbHZlcyByZXNvbHZlZCBhbnl0aGluZywgaG9ub3IgdGhvc2UgYXRvbXMgYW5kIHNraXAgdGhlIEFQSSBjYWxsLlxuICAgICAgICAvLyBPbmNlIHdlIGhhdmUgcmVzb2x2ZWQgYXQgbGVhc3Qgb25jZSAoYGhhc1Jlc29sdmVkT25jZVJlZmApLCBhIGNoYW5nZWQgVVJMIHNob3VsZFxuICAgICAgICAvLyByZS1yZXNvbHZlIGV2ZW4gdGhvdWdoIHRoZSBwcmV2aW91cyB2YXJpYW50L3VzZXJFdmVudCBhdG9tcyBhcmUgc2V0LlxuICAgICAgICBpZiAocHJldmlld01vZGUgfHwgKCh1c2VyRXZlbnQgfHwgdmFyaWFudEluZm8pICYmICFoYXNSZXNvbHZlZE9uY2VSZWYuY3VycmVudCkpIHtcbiAgICAgICAgICBoYXNSZXNvbHZlZE9uY2VSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBjbGVhbnNlZFVybDtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBoYXNSZXNvbHZlZE9uY2VSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID0gY2xlYW5zZWRVcmw7XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPVxuICAgICAgICAgIHVybFJlc29sdmVyUmVzcG9uc2VbY2xlYW5zZWRVcmxdID8/XG4gICAgICAgICAgKChhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5yZXNvbHZlVXJsKGNsZWFuc2VkVXJsKSkgYXMgVXJsUmVzb2x2ZXJSZXNwb25zZSk7XG5cbiAgICAgICAgLy8gQSBuZXdlciBuYXZpZ2F0aW9uIHN0YXJ0ZWQgcmVzb2x2aW5nIHdoaWxlIHdlIGF3YWl0ZWQgKGUuZy4gdGhlIHNob3BwZXIgY2xpY2tlZFxuICAgICAgICAvLyB0aHJvdWdoIHNldmVyYWwgdmFyaWFudCBzd2F0Y2hlcyBxdWlja2x5KS4gRHJvcCB0aGlzIG5vdy1zdGFsZSByZXNwb25zZSBzbyBhblxuICAgICAgICAvLyBvdXQtb2Ytb3JkZXIgcmVzb2x1dGlvbiBjYW4ndCBvdmVyd3JpdGUgdGhlIGxhdGVzdCB2YXJpYW50LiBEbyBOT1QgY2xlYXIgaXNMb2FkaW5nXG4gICAgICAgIC8vIGhlcmU6IHRoZSBuZXdlciBpbi1mbGlnaHQgcmVxdWVzdCBvd25zIHRoZSBsb2FkaW5nIHN0YXRlLCBhbmQgY2xlYXJpbmcgaXQgd291bGRcbiAgICAgICAgLy8gb3BlbiBhIHdpbmRvdyB3aGVyZSBpc0xvYWRpbmc9ZmFsc2Ugd2hpbGUgdmFyaWFudEluZm8vaXNTdXBwb3J0ZWQgc3RpbGwgYmVsb25nIHRvXG4gICAgICAgIC8vIHRoZSBwcmV2aW91cyBwcm9kdWN0IChjYXVzaW5nIHdpZGdldCBmbGFzaGVzIGFuZCBhIGZpcmUtb25jZSBzdWNjZXNzIHJlZiDigJQgc2VlXG4gICAgICAgIC8vIFdpZGdldHMudHN4IOKAlCB0byBsYXRjaCBvbnRvIHRoZSB3cm9uZyBwcm9kdWN0J3Mgc3RhdGUpLlxuICAgICAgICBpZiAobGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgIT09IGNsZWFuc2VkVXJsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcihjbGVhbnNlZFVybCwgcmVzcG9uc2UpO1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBzZXRJc1N1cHBvcnRlZChyZXNwb25zZS5yZWFkeSk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgICAgbGFzdE5vdFJlYWR5VXJsUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSAmJiBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCAhPT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcihgVVJMIHJlc29sdmVyIHJldHVybmVkIHJlYWR5PWZhbHNlIGZvciAke2NsZWFuc2VkVXJsfWApO1xuICAgICAgICAgIFByb21pc2UucmVzb2x2ZShvblVybFJlc29sdmVyTm90UmVhZHkoZXJyKSkuY2F0Y2goY2FsbGJhY2tFcnJvciA9PiB7XG4gICAgICAgICAgICBsb2dnZXIubG9nRGVidWcoJ29uVXJsUmVzb2x2ZXJOb3RSZWFkeSBjYWxsYmFjayBmYWlsZWQnLCBjYWxsYmFja0Vycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBBbGxvdyB0aGlzIFVSTCB0byBiZSByZXRyaWVkIG9uIGEgc3Vic2VxdWVudCB0cmlnZ2VyIOKAlCBidXQgb25seSBpZiBhIG5ld2VyXG4gICAgICAgIC8vIG5hdmlnYXRpb24gaGFzbid0IGFscmVhZHkgc3VwZXJzZWRlZCBpdCwgc28gYSBzdGFsZSBmYWlsdXJlIGNhbid0IGRpc2NhcmQgYSBuZXdlclxuICAgICAgICAvLyBpbi1mbGlnaHQgcmVzb2x1dGlvbi4gYGhhc1Jlc29sdmVkT25jZVJlZmAgaXMgaW50ZW50aW9uYWxseSBsZWZ0IHNldCwgc28gcmV0cnlpbmdcbiAgICAgICAgLy8gbmV2ZXIgZmFsbHMgaW50byB0aGUgc2VlZGVkLWF0b21zIGJyYW5jaCBhYm92ZS5cbiAgICAgICAgY29uc3QgZmFpbGVkVXJsID0gcGFnZVVybD8udG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgICAgIGlmIChmYWlsZWRVcmwgJiYgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPT09IGZhaWxlZFVybCkge1xuICAgICAgICAgIGxhc3RSZXNvbHZlZFVybFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBsb2dnZXIubG9nRXJyb3IoJ0ZhaWxlZCB0byByZXNvbHZlIHBhZ2UgVVJMJywgZSwgeyBwYWdlVXJsIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgcmVzb2x2ZVBhZ2VVcmwoKTtcbiAgfSwgW1xuICAgIHBhZ2VVcmwsXG4gICAgdXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgICBzZXRVcmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIsXG4gICAgdXNlckV2ZW50LFxuICAgIHZhcmlhbnRJbmZvLFxuICAgIHByZXZpZXdNb2RlLFxuICAgIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSxcbiAgXSk7XG5cbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgcmVzb2x2ZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZSh2YXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZShoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBwYWdlVmlld2VkRmlyZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50IHx8IGlzTG9hZGluZyB8fCAhaGFzUGFyc2VkVmFyaWFudEluZm8gfHwgIXZhcmlhbnRJbmZvKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHBhZ2VUeXBlOiBzdHJpbmc7XG4gICAgbGV0IHBhZ2VJZDogc3RyaW5nO1xuXG4gICAgc3dpdGNoICh2YXJpYW50SW5mby52YXJpYW50VHlwZSkge1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGRwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwZHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wcm9kdWN0SWQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGxwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwbHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wbHBJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5Ib21lOlxuICAgICAgICBwYWdlVHlwZSA9ICdob21lcGFnZSc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5PdGhlcjpcbiAgICAgICAgcGFnZVR5cGUgPSAnb3RoZXInO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0OlxuICAgICAgICBwYWdlVHlwZSA9ICdvdGhlcic7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5GdWxsUGFnZVNhbGVzQWdlbnQ6XG4gICAgICAgIHBhZ2VUeXBlID0gJ2FkYXB0aXZlX3N0b3JlZnJvbnQnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50ID0gdHJ1ZTtcblxuICAgIHRyYWNrRXZlbnQoe1xuICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLlBhZ2VWaWV3ZWQsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICdjb250ZXh0LnBhZ2VfdHlwZSc6IHBhZ2VUeXBlLFxuICAgICAgICAnY29udGV4dC5wYWdlX2lkJzogcGFnZUlkLFxuICAgICAgICAnY29udGV4dC5zdXBwb3J0ZWQnOiBpc1N1cHBvcnRlZCxcbiAgICAgICAgJ2NvbnRleHQucmVhZHknOiBpc1N1cHBvcnRlZCxcbiAgICAgICAgJ2NvbnRleHQucGFnZV92YXJpYW50X2lkJzogcmVzb2x2ZWRWYXJpYW50SW5mby52YXJpYW50SWQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9LCBbaXNMb2FkaW5nLCBpc1N1cHBvcnRlZCwgaGFzUGFyc2VkVmFyaWFudEluZm8sIHZhcmlhbnRJbmZvLCByZXNvbHZlZFZhcmlhbnRJbmZvLCB0cmFja0V2ZW50XSk7XG5cbiAgY29uc3Qgc2V0UGFnZVVybFN0YWJsZSA9IHVzZUNhbGxiYWNrKCh1cmw6IHN0cmluZykgPT4ge1xuICAgIHNldFBhZ2VVcmwodXJsKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgcGFnZVVybCxcbiAgICAgIHZhcmlhbnRJbmZvLFxuICAgICAgdXNlckV2ZW50LFxuICAgICAgaXNMb2FkaW5nLFxuICAgICAgaXNTdXBwb3J0ZWQsXG4gICAgICBzZXRQYWdlVXJsOiBzZXRQYWdlVXJsU3RhYmxlLFxuICAgIH0pLFxuICAgIFtwYWdlVXJsLCB1c2VyRXZlbnQsIHZhcmlhbnRJbmZvLCBpc0xvYWRpbmcsIGlzU3VwcG9ydGVkLCBzZXRQYWdlVXJsU3RhYmxlXSxcbiAgKTtcblxuICByZXR1cm4gPFBhZ2VDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvUGFnZUNvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVBhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFBhZ2VDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VQYWdlIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBQYWdlUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsTUFBTSxTQUFTLElBQUlBLHVCQUFPLGNBQWM7QUFFeEMsTUFBTSx1Q0FPSixPQUFVO0FBRVosTUFBYUMsZ0JBS1AsRUFBRSxVQUFVLGNBQWMsT0FBTyw0QkFBNEI7Q0FDakUsTUFBTSxDQUFDLFNBQVMsa0NBQTJDLE9BQVU7Q0FDckUsTUFBTSxDQUFDLHFCQUFxQiw2Q0FBa0NDLGdDQUFnQjtDQUM5RSxNQUFNLENBQUMsV0FBVyxvQ0FBeUIsTUFBTTtDQUNqRCxNQUFNLENBQUMsYUFBYSxxQ0FBMEJDLG9DQUFvQjtDQUNsRSxNQUFNLENBQUMsV0FBVyxtQ0FBd0JDLGtDQUFrQjtDQUM1RCxNQUFNLENBQUMsYUFBYSxzQ0FBMkIsTUFBTTtDQUNyRCxNQUFNLHVDQUEyQyxLQUFLO0NBS3RELE1BQU0sdUNBQTJDLEtBQUs7Q0FJdEQsTUFBTSx1Q0FBNEIsTUFBTTtBQUV4Qyw0QkFBZ0I7QUFDZCxhQUFXLE9BQU8sU0FBUyxLQUFLO0lBQy9CLEVBQUUsQ0FBQztBQUdOLDRCQUFnQjtBQUNkLE1BQUksZUFBZSxDQUFDLGFBQWEsQ0FBQyxhQUFhO0dBQzdDLE1BQU0sTUFBTSxPQUFPLFdBQVcsY0FBYyxPQUFPLFNBQVMsT0FBTztBQUNuRSxnQkFBYTtJQUNYLFVBQVU7SUFDViw2QkFBWSxJQUFJLE1BQU0sRUFBQyxhQUFhO0lBQ3BDLFVBQVVDLGtEQUFrQjtJQUM1QixZQUFZO0tBQ1YscUJBQXFCQyxrREFBa0I7S0FDdkM7S0FDRDtJQUNGLENBQVE7QUFFVCxrQkFBZTtJQUNiLGFBQWFDLG9DQUFnQjtJQUM3QjtJQUNELENBQUM7O0lBRUg7RUFBQztFQUFhO0VBQVc7RUFBYTtFQUFjO0VBQWUsQ0FBQztDQUV2RSxNQUFNLG9EQUNILEtBQWEsYUFBa0M7QUFDOUMsTUFBSSxTQUFTLE9BQU87R0FDbEIsTUFBTSxpQkFBaUJDLG9EQUFvQyxLQUFLLFNBQVM7R0FDekUsTUFBTSxlQUFlQywyQ0FBMkIsU0FBUyxjQUFjLE9BQVU7QUFDakYsVUFBTyxTQUFTLHVDQUF1QztJQUFFO0lBQWdCO0lBQWMsQ0FBQztBQUN4RixrQkFBZSxlQUFlO0FBQzlCLGdCQUFhLGFBQWE7U0FDckI7QUFDTCxnQkFBYSxPQUFVO0FBQ3ZCLGtCQUFlLE9BQVU7QUFDekIsVUFBTyxTQUFTLGdEQUFnRDtJQUFFO0lBQWE7SUFBVyxDQUFDOztJQUcvRixDQUFDLGdCQUFnQixhQUFhLENBQy9CO0FBRUQsNEJBQWdCO0VBQ2QsTUFBTSxpQkFBaUIsWUFBWTtBQUNqQyxnQkFBYSxLQUFLO0FBQ2xCLE9BQUk7QUFDRixRQUFJLENBQUMsU0FBUztBQUNaLGtCQUFhLE1BQU07QUFDbkI7O0lBR0YsTUFBTSxjQUFjLFFBQVEsYUFBYSxDQUFDLE1BQU07QUFPaEQsUUFBSSxtQkFBbUIsWUFBWSxhQUFhO0FBQzlDLGtCQUFhLE1BQU07QUFDbkI7O0FBTUYsUUFBSSxnQkFBaUIsYUFBYSxnQkFBZ0IsQ0FBQyxtQkFBbUIsU0FBVTtBQUM5RSx3QkFBbUIsVUFBVTtBQUM3Qix3QkFBbUIsVUFBVTtBQUM3QixrQkFBYSxNQUFNO0FBQ25COztBQUVGLHVCQUFtQixVQUFVO0FBQzdCLHVCQUFtQixVQUFVO0lBRTdCLE1BQU0sV0FDSixvQkFBb0IsZ0JBQ2xCLE1BQU1DLHlDQUFrQixXQUFXLFlBQVk7QUFTbkQsUUFBSSxtQkFBbUIsWUFBWSxZQUNqQztBQUdGLDhCQUEwQixhQUFhLFNBQVM7QUFDaEQsaUJBQWEsTUFBTTtBQUNuQixtQkFBZSxTQUFTLE1BQU07QUFFOUIsUUFBSSxTQUFTLE1BQ1gsb0JBQW1CLFVBQVU7YUFDcEIseUJBQXlCLG1CQUFtQixZQUFZLGFBQWE7QUFDOUUsd0JBQW1CLFVBQVU7S0FDN0IsTUFBTSxzQkFBTSxJQUFJLE1BQU0seUNBQXlDLGNBQWM7QUFDN0UsYUFBUSxRQUFRLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxPQUFNLGtCQUFpQjtBQUNqRSxhQUFPLFNBQVMseUNBQXlDLGNBQWM7T0FDdkU7O1lBRUcsR0FBRztJQUtWLE1BQU0sWUFBWSxTQUFTLGFBQWEsQ0FBQyxNQUFNO0FBQy9DLFFBQUksYUFBYSxtQkFBbUIsWUFBWSxVQUM5QyxvQkFBbUIsVUFBVTtBQUUvQixpQkFBYSxNQUFNO0FBQ25CLFdBQU8sU0FBUyw4QkFBOEIsR0FBRyxFQUFFLFNBQVMsQ0FBQzs7O0FBR2pFLGtCQUFnQjtJQUNmO0VBQ0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELENBQUM7Q0FFRixNQUFNLEVBQUUsZUFBZUMsdUNBQWM7Q0FDckMsTUFBTSw4Q0FBbUNDLGdDQUFnQjtDQUN6RCxNQUFNLCtDQUFvQ0MseUNBQXlCO0NBQ25FLE1BQU0sb0NBQXlCLE1BQU07QUFFckMsNEJBQWdCO0FBQ2QsTUFBSSxnQkFBZ0IsV0FBVyxhQUFhLENBQUMsd0JBQXdCLENBQUMsWUFDcEU7RUFHRixJQUFJQztFQUNKLElBQUlDO0FBRUosVUFBUSxZQUFZLGFBQXBCO0dBQ0UsS0FBS1Isb0NBQWdCO0FBQ25CLGVBQVc7QUFDWCxhQUFTLFlBQVk7QUFDckI7R0FDRixLQUFLQSxvQ0FBZ0I7QUFDbkIsZUFBVztBQUNYLGFBQVMsWUFBWTtBQUNyQjtHQUNGLEtBQUtBLG9DQUFnQjtBQUNuQixlQUFXO0FBQ1gsYUFBUyxZQUFZO0FBQ3JCO0dBQ0YsS0FBS0Esb0NBQWdCO0FBQ25CLGVBQVc7QUFDWCxhQUFTLFlBQVk7QUFDckI7R0FDRixLQUFLQSxvQ0FBZ0I7QUFDbkIsZUFBVztBQUNYLGFBQVMsWUFBWTtBQUNyQjtHQUNGLEtBQUtBLG9DQUFnQjtBQUNuQixlQUFXO0FBQ1gsYUFBUyxZQUFZO0FBQ3JCO0dBQ0YsUUFDRTs7QUFHSixrQkFBZ0IsVUFBVTtBQUUxQixhQUFXO0dBQ1QsV0FBV1MsMENBQXVCO0dBQ2xDLFlBQVk7SUFDVixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsMkJBQTJCLG9CQUFvQjtJQUNoRDtHQUNGLENBQUM7SUFDRDtFQUFDO0VBQVc7RUFBYTtFQUFzQjtFQUFhO0VBQXFCO0VBQVcsQ0FBQztDQUVoRyxNQUFNLDJDQUFnQyxRQUFnQjtBQUNwRCxhQUFXLElBQUk7SUFDZCxFQUFFLENBQUM7Q0FFTixNQUFNLGtDQUNHO0VBQ0w7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQVk7RUFDYixHQUNEO0VBQUM7RUFBUztFQUFXO0VBQWE7RUFBVztFQUFhO0VBQWlCLENBQzVFO0FBRUQsUUFBTywyQ0FBQyxZQUFZO0VBQWdCO0VBQVE7R0FBZ0M7O0FBRzlFLE1BQWEsZ0JBQWdCO0NBQzNCLE1BQU0sZ0NBQXFCLFlBQVk7QUFDdkMsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQU0sNkNBQTZDO0FBRS9ELFFBQU8ifQ==
191
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiIsInBhcnNlSHJlZiIsInVybFJlc29sdmVyQXRvbSIsInBhZ2VWYXJpYW50SW5mb0F0b20iLCJwYWdlVXNlckV2ZW50QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwiUGFnZVZpc2l0Q2F0ZWdvcnkiLCJWYXJpYW50VHlwZUVudW0iLCJtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyIsIm1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJ1c2VBbXBsaXR1ZGUiLCJ2YXJpYW50SW5mb0F0b20iLCJoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20iLCJleHRyYWN0UGFnZVZpZXdlZENvbnRleHQiLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZWFjdE5vZGUsXG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIFVybFJlc29sdmVyUmVzcG9uc2UsXG4gIGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSxcbiAgcGFnZVVzZXJFdmVudEF0b20sXG4gIHBhZ2VWYXJpYW50SW5mb0F0b20sXG4gIHVybFJlc29sdmVyQXRvbSxcbiAgdmFyaWFudEluZm9BdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgdXNlQXRvbSwgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgVmFyaWFudFR5cGVFbnVtIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBwYXJzZUhyZWYgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMvdXJsc1BhcnNlcic7XG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQsIG1hcFVybFJlc29sdmVyUmVzcG9uc2VUb1ZhcmlhbnRJbmZvIH0gZnJvbSAnLi9tYXBwaW5nJztcbmltcG9ydCB7IGV4dHJhY3RQYWdlVmlld2VkQ29udGV4dCB9IGZyb20gJy4vcGFnZVZpZXdlZENvbnRleHQnO1xuaW1wb3J0IHsgUGFnZURldGFpbHMgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcigncGFnZUNvbnRleHQnKTtcblxuY29uc3QgUGFnZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFxuICB8IChQYWdlRGV0YWlscyAmIHtcbiAgICAgIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgICAgIGlzU3VwcG9ydGVkOiBib29sZWFuO1xuICAgICAgc2V0UGFnZVVybDogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIH0pXG4gIHwgdW5kZWZpbmVkXG4+KHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBQYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG4gIC8qKiBXaGVuIFVSTCByZXNvbHZlciByZXR1cm5zIGByZWFkeTogZmFsc2VgLCBpbnZva2VkIGZvciBleHRlbnNpb24vaW5qZWN0aW9uIGZhaWx1cmUgcmVwb3J0aW5nLiAqL1xuICBvblVybFJlc29sdmVyTm90UmVhZHk/OiAoZXJyb3I6IEVycm9yKSA9PiBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcbn0+ID0gKHsgY2hpbGRyZW4sIHByZXZpZXdNb2RlID0gZmFsc2UsIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSB9KSA9PiB7XG4gIGNvbnN0IFtwYWdlVXJsLCBzZXRQYWdlVXJsXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgLy8gTWVyY2hhbnQtdGFnZ2VkIG9uLXNpdGUgcGxhY2VtZW50ICg/ZW52aXZlX3BsYWNlbWVudD3igKYpIGZvciBlbnRyeS1zb3VyY2UgYXR0cmlidXRpb24sXG4gIC8vIGNhcHR1cmVkIG9uIGZpcnN0IHJlbmRlcjogdGhlbWUvY29uc2VudCBzY3JpcHRzIGNhbiByZXdyaXRlIHRoZSBVUkwgKHJlcGxhY2VTdGF0ZSkgYmVmb3JlXG4gIC8vIHRoZSBQYWdlIFZpZXdlZCBldmVudCBmaXJlcyBhZnRlciBVUkwgcmVzb2x1dGlvbi4gRW1wdHkvYWJzZW50IOKGkiB1bmRlZmluZWQgKGtleSBvbWl0dGVkKS5cbiAgY29uc3QgW2luaXRpYWxFbnZpdmVQbGFjZW1lbnRdID0gdXNlU3RhdGUoXG4gICAgKCkgPT5cbiAgICAgIHBhcnNlSHJlZih0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmIDogJycpLnVybFNlYXJjaFBhcmFtcz8uZ2V0KFxuICAgICAgICAnZW52aXZlX3BsYWNlbWVudCcsXG4gICAgICApIHx8IHVuZGVmaW5lZCxcbiAgKTtcbiAgY29uc3QgW3VybFJlc29sdmVyUmVzcG9uc2UsIHNldFVybFJlc29sdmVyUmVzcG9uc2VdID0gdXNlQXRvbSh1cmxSZXNvbHZlckF0b20pO1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbdmFyaWFudEluZm8sIHNldFZhcmlhbnRJbmZvXSA9IHVzZUF0b20ocGFnZVZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IFt1c2VyRXZlbnQsIHNldFVzZXJFdmVudF0gPSB1c2VBdG9tKHBhZ2VVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3QgW2lzU3VwcG9ydGVkLCBzZXRJc1N1cHBvcnRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGxhc3ROb3RSZWFkeVVybFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgLy8gVHJhY2tzIHRoZSBsYXN0IFVSTCB3ZSByYW4gdGhyb3VnaCB0aGUgcmVzb2x2ZXIgKGRlZHVwZSBrZXkpLiBMZXRzIHVzIHJlLXJlc29sdmUgd2hlbiB0aGVcbiAgLy8gcGFnZSBVUkwgY2hhbmdlcyBjbGllbnQtc2lkZSAoZS5nLiBhIFBEUCBjb2xvci92YXJpYW50IHN3YXAgdGhhdCBwdXNoZXMgYSBuZXcgVVJMIHdpdGhvdXRcbiAgLy8gYSBmdWxsIHJlbG9hZCkgaW5zdGVhZCBvZiBzaG9ydC1jaXJjdWl0aW5nIG9uIHRoZSBzdGFsZSB2YXJpYW50L3VzZXJFdmVudCBhdG9tcy4gQ2xlYXJlZFxuICAvLyBvbiBmYWlsdXJlIHNvIHRoZSBVUkwgY2FuIGJlIHJldHJpZWQuXG4gIGNvbnN0IGxhc3RSZXNvbHZlZFVybFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgLy8gV2hldGhlciB3ZSBoYXZlIGV2ZXIgZHJpdmVuIGEgcmVzb2x1dGlvbiBvdXJzZWx2ZXMuIEtlcHQgc2VwYXJhdGUgZnJvbVxuICAvLyBgbGFzdFJlc29sdmVkVXJsUmVmYCAod2hpY2ggYSBmYWlsdXJlIGNsZWFycykgc28gYSBmYWlsZWQgcmVzb2x2ZSBjYW4gcmV0cnkgd2l0aG91dCB0aGVcbiAgLy8gbmV4dCBuYXZpZ2F0aW9uIG1pc3JlYWRpbmcgaXQgYXMgXCJhdG9tcyB3ZXJlIHNlZWRlZCBleHRlcm5hbGx5XCIgYW5kIHNraXBwaW5nIHRoZSBBUEkgY2FsbC5cbiAgY29uc3QgaGFzUmVzb2x2ZWRPbmNlUmVmID0gdXNlUmVmKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFBhZ2VVcmwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICB9LCBbXSk7XG5cbiAgLy8gQXV0by1pbml0aWFsaXplIGF0b21zIGZvciBwcmV2aWV3IG1vZGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJldmlld01vZGUgJiYgIXVzZXJFdmVudCAmJiAhdmFyaWFudEluZm8pIHtcbiAgICAgIGNvbnN0IHVybCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiAnJztcbiAgICAgIHNldFVzZXJFdmVudCh7XG4gICAgICAgIGV2ZW50X2lkOiAncHJldmlldy11c2VyLWV2ZW50JyxcbiAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgcGFnZV92aXNpdF9jYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkuT3RoZXIsXG4gICAgICAgICAgdXJsLFxuICAgICAgICB9LFxuICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICBzZXRWYXJpYW50SW5mbyh7XG4gICAgICAgIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0LFxuICAgICAgICB1cmwsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtwcmV2aWV3TW9kZSwgdXNlckV2ZW50LCB2YXJpYW50SW5mbywgc2V0VXNlckV2ZW50LCBzZXRWYXJpYW50SW5mb10pO1xuXG4gIGNvbnN0IHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAodXJsOiBzdHJpbmcsIHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgY29uc3QgbmV3VmFyaWFudEluZm8gPSBtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyh1cmwsIHJlc3BvbnNlKTtcbiAgICAgICAgY29uc3QgbmV3VXNlckV2ZW50ID0gbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQocmVzcG9uc2UudXNlcl9ldmVudCA/PyB1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldHRpbmcgdmFyaWFudCBpbmZvIGFuZCB1c2VyIGV2ZW50JywgeyBuZXdWYXJpYW50SW5mbywgbmV3VXNlckV2ZW50IH0pO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyhuZXdWYXJpYW50SW5mbyk7XG4gICAgICAgIHNldFVzZXJFdmVudChuZXdVc2VyRXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VXNlckV2ZW50KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldFZhcmlhbnRJbmZvKHVuZGVmaW5lZCk7XG4gICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2V0IHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCB0byB1bmRlZmluZWQnLCB7IHZhcmlhbnRJbmZvLCB1c2VyRXZlbnQgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0VmFyaWFudEluZm8sIHNldFVzZXJFdmVudF0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZXNvbHZlUGFnZVVybCA9IGFzeW5jICgpID0+IHtcbiAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICghcGFnZVVybCkge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xlYW5zZWRVcmwgPSBwYWdlVXJsLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gICAgICAgIC8vIFJlLXJlc29sdmUgd2hlbiB0aGUgVVJMIGNoYW5nZXMgc28gYSBjbGllbnQtc2lkZSBQRFAgdmFyaWFudCBzd2FwIGZvbGxvd3MgdG8gdGhlIG5ld1xuICAgICAgICAvLyBwcm9kdWN0LlxuICAgICAgICAvL1xuICAgICAgICAvLyBBbHJlYWR5IHJlc29sdmVkIHRoaXMgZXhhY3QgVVJMIOKAlCBndWFyZHMgYWdhaW5zdCB0aGUgZWZmZWN0IHJlLXJ1bm5pbmcgb25jZSB0aGVcbiAgICAgICAgLy8gcmVzb2x2ZXIgd3JpdGVzIHRoZSB2YXJpYW50L3VzZXJFdmVudCBhdG9tcyAodGhleSBhcmUgZWZmZWN0IGRlcGVuZGVuY2llcykuXG4gICAgICAgIGlmIChsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9PT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBJbiBwcmV2aWV3IG1vZGUsIG9yIHdoZW4gdGhlIGF0b21zIHdlcmUgc2VlZGVkIGV4dGVybmFsbHkgKGUuZy4gYnkgc3Rvcnlib29rKVxuICAgICAgICAvLyBiZWZvcmUgd2Ugb3Vyc2VsdmVzIHJlc29sdmVkIGFueXRoaW5nLCBob25vciB0aG9zZSBhdG9tcyBhbmQgc2tpcCB0aGUgQVBJIGNhbGwuXG4gICAgICAgIC8vIE9uY2Ugd2UgaGF2ZSByZXNvbHZlZCBhdCBsZWFzdCBvbmNlIChgaGFzUmVzb2x2ZWRPbmNlUmVmYCksIGEgY2hhbmdlZCBVUkwgc2hvdWxkXG4gICAgICAgIC8vIHJlLXJlc29sdmUgZXZlbiB0aG91Z2ggdGhlIHByZXZpb3VzIHZhcmlhbnQvdXNlckV2ZW50IGF0b21zIGFyZSBzZXQuXG4gICAgICAgIGlmIChwcmV2aWV3TW9kZSB8fCAoKHVzZXJFdmVudCB8fCB2YXJpYW50SW5mbykgJiYgIWhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50KSkge1xuICAgICAgICAgIGhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGhhc1Jlc29sdmVkT25jZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBjbGVhbnNlZFVybDtcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgICAgdXJsUmVzb2x2ZXJSZXNwb25zZVtjbGVhbnNlZFVybF0gPz9cbiAgICAgICAgICAoKGF3YWl0IENvbW1lcmNlQXBpQ2xpZW50LnJlc29sdmVVcmwoY2xlYW5zZWRVcmwpKSBhcyBVcmxSZXNvbHZlclJlc3BvbnNlKTtcblxuICAgICAgICAvLyBBIG5ld2VyIG5hdmlnYXRpb24gc3RhcnRlZCByZXNvbHZpbmcgd2hpbGUgd2UgYXdhaXRlZCAoZS5nLiB0aGUgc2hvcHBlciBjbGlja2VkXG4gICAgICAgIC8vIHRocm91Z2ggc2V2ZXJhbCB2YXJpYW50IHN3YXRjaGVzIHF1aWNrbHkpLiBEcm9wIHRoaXMgbm93LXN0YWxlIHJlc3BvbnNlIHNvIGFuXG4gICAgICAgIC8vIG91dC1vZi1vcmRlciByZXNvbHV0aW9uIGNhbid0IG92ZXJ3cml0ZSB0aGUgbGF0ZXN0IHZhcmlhbnQuIERvIE5PVCBjbGVhciBpc0xvYWRpbmdcbiAgICAgICAgLy8gaGVyZTogdGhlIG5ld2VyIGluLWZsaWdodCByZXF1ZXN0IG93bnMgdGhlIGxvYWRpbmcgc3RhdGUsIGFuZCBjbGVhcmluZyBpdCB3b3VsZFxuICAgICAgICAvLyBvcGVuIGEgd2luZG93IHdoZXJlIGlzTG9hZGluZz1mYWxzZSB3aGlsZSB2YXJpYW50SW5mby9pc1N1cHBvcnRlZCBzdGlsbCBiZWxvbmcgdG9cbiAgICAgICAgLy8gdGhlIHByZXZpb3VzIHByb2R1Y3QgKGNhdXNpbmcgd2lkZ2V0IGZsYXNoZXMgYW5kIGEgZmlyZS1vbmNlIHN1Y2Nlc3MgcmVmIOKAlCBzZWVcbiAgICAgICAgLy8gV2lkZ2V0cy50c3gg4oCUIHRvIGxhdGNoIG9udG8gdGhlIHdyb25nIHByb2R1Y3QncyBzdGF0ZSkuXG4gICAgICAgIGlmIChsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCAhPT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyKGNsZWFuc2VkVXJsLCByZXNwb25zZSk7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIHNldElzU3VwcG9ydGVkKHJlc3BvbnNlLnJlYWR5KTtcblxuICAgICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAob25VcmxSZXNvbHZlck5vdFJlYWR5ICYmIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ICE9PSBjbGVhbnNlZFVybCkge1xuICAgICAgICAgIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ID0gY2xlYW5zZWRVcmw7XG4gICAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKGBVUkwgcmVzb2x2ZXIgcmV0dXJuZWQgcmVhZHk9ZmFsc2UgZm9yICR7Y2xlYW5zZWRVcmx9YCk7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeShlcnIpKS5jYXRjaChjYWxsYmFja0Vycm9yID0+IHtcbiAgICAgICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnb25VcmxSZXNvbHZlck5vdFJlYWR5IGNhbGxiYWNrIGZhaWxlZCcsIGNhbGxiYWNrRXJyb3IpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIEFsbG93IHRoaXMgVVJMIHRvIGJlIHJldHJpZWQgb24gYSBzdWJzZXF1ZW50IHRyaWdnZXIg4oCUIGJ1dCBvbmx5IGlmIGEgbmV3ZXJcbiAgICAgICAgLy8gbmF2aWdhdGlvbiBoYXNuJ3QgYWxyZWFkeSBzdXBlcnNlZGVkIGl0LCBzbyBhIHN0YWxlIGZhaWx1cmUgY2FuJ3QgZGlzY2FyZCBhIG5ld2VyXG4gICAgICAgIC8vIGluLWZsaWdodCByZXNvbHV0aW9uLiBgaGFzUmVzb2x2ZWRPbmNlUmVmYCBpcyBpbnRlbnRpb25hbGx5IGxlZnQgc2V0LCBzbyByZXRyeWluZ1xuICAgICAgICAvLyBuZXZlciBmYWxscyBpbnRvIHRoZSBzZWVkZWQtYXRvbXMgYnJhbmNoIGFib3ZlLlxuICAgICAgICBjb25zdCBmYWlsZWRVcmwgPSBwYWdlVXJsPy50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgICAgICAgaWYgKGZhaWxlZFVybCAmJiBsYXN0UmVzb2x2ZWRVcmxSZWYuY3VycmVudCA9PT0gZmFpbGVkVXJsKSB7XG4gICAgICAgICAgbGFzdFJlc29sdmVkVXJsUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIGxvZ2dlci5sb2dFcnJvcignRmFpbGVkIHRvIHJlc29sdmUgcGFnZSBVUkwnLCBlLCB7IHBhZ2VVcmwgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXNvbHZlUGFnZVVybCgpO1xuICB9LCBbXG4gICAgcGFnZVVybCxcbiAgICB1cmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFVybFJlc29sdmVyUmVzcG9uc2UsXG4gICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcixcbiAgICB1c2VyRXZlbnQsXG4gICAgdmFyaWFudEluZm8sXG4gICAgcHJldmlld01vZGUsXG4gICAgb25VcmxSZXNvbHZlck5vdFJlYWR5LFxuICBdKTtcblxuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuICBjb25zdCByZXNvbHZlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKHZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IGhhc1BhcnNlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IHBhZ2VWaWV3ZWRGaXJlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgfHwgaXNMb2FkaW5nIHx8ICFoYXNQYXJzZWRWYXJpYW50SW5mbyB8fCAhdmFyaWFudEluZm8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYWdlVmlld2VkQ29udGV4dCA9IGV4dHJhY3RQYWdlVmlld2VkQ29udGV4dCh2YXJpYW50SW5mbyk7XG4gICAgaWYgKCFwYWdlVmlld2VkQ29udGV4dCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50ID0gdHJ1ZTtcblxuICAgIHRyYWNrRXZlbnQoe1xuICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLlBhZ2VWaWV3ZWQsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICdjb250ZXh0LnBhZ2VfdHlwZSc6IHBhZ2VWaWV3ZWRDb250ZXh0LnBhZ2VfdHlwZSxcbiAgICAgICAgJ2NvbnRleHQucGFnZV9pZCc6IHBhZ2VWaWV3ZWRDb250ZXh0LnBhZ2VfaWQsXG4gICAgICAgICdjb250ZXh0LnN1cHBvcnRlZCc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5yZWFkeSc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5wYWdlX3ZhcmlhbnRfaWQnOiByZXNvbHZlZFZhcmlhbnRJbmZvLnZhcmlhbnRJZCxcbiAgICAgICAgLi4uKGluaXRpYWxFbnZpdmVQbGFjZW1lbnQgPyB7ICdjb250ZXh0LmVudml2ZV9wbGFjZW1lbnQnOiBpbml0aWFsRW52aXZlUGxhY2VtZW50IH0gOiB7fSksXG4gICAgICB9LFxuICAgIH0pO1xuICB9LCBbXG4gICAgaXNMb2FkaW5nLFxuICAgIGlzU3VwcG9ydGVkLFxuICAgIGhhc1BhcnNlZFZhcmlhbnRJbmZvLFxuICAgIHZhcmlhbnRJbmZvLFxuICAgIHJlc29sdmVkVmFyaWFudEluZm8sXG4gICAgdHJhY2tFdmVudCxcbiAgICBpbml0aWFsRW52aXZlUGxhY2VtZW50LFxuICBdKTtcblxuICBjb25zdCBzZXRQYWdlVXJsU3RhYmxlID0gdXNlQ2FsbGJhY2soKHVybDogc3RyaW5nKSA9PiB7XG4gICAgc2V0UGFnZVVybCh1cmwpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwYWdlVXJsLFxuICAgICAgdmFyaWFudEluZm8sXG4gICAgICB1c2VyRXZlbnQsXG4gICAgICBpc0xvYWRpbmcsXG4gICAgICBpc1N1cHBvcnRlZCxcbiAgICAgIHNldFBhZ2VVcmw6IHNldFBhZ2VVcmxTdGFibGUsXG4gICAgfSksXG4gICAgW3BhZ2VVcmwsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIGlzTG9hZGluZywgaXNTdXBwb3J0ZWQsIHNldFBhZ2VVcmxTdGFibGVdLFxuICApO1xuXG4gIHJldHVybiA8UGFnZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9QYWdlQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoUGFnZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVBhZ2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFBhZ2VQcm92aWRlcicpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJBLE1BQU0sU0FBUyxJQUFJQSx1QkFBTyxjQUFjO0FBRXhDLE1BQU0sdUNBT0osT0FBVTtBQUVaLE1BQWFDLGdCQUtQLEVBQUUsVUFBVSxjQUFjLE9BQU8sNEJBQTRCO0NBQ2pFLE1BQU0sQ0FBQyxTQUFTLGtDQUEyQyxPQUFVO0NBSXJFLE1BQU0sQ0FBQyxvREFFSEMsNkJBQVUsT0FBTyxXQUFXLGNBQWMsT0FBTyxTQUFTLE9BQU8sR0FBRyxDQUFDLGlCQUFpQixJQUNwRixtQkFDRCxJQUFJLE9BQ1I7Q0FDRCxNQUFNLENBQUMscUJBQXFCLDZDQUFrQ0MsZ0NBQWdCO0NBQzlFLE1BQU0sQ0FBQyxXQUFXLG9DQUF5QixNQUFNO0NBQ2pELE1BQU0sQ0FBQyxhQUFhLHFDQUEwQkMsb0NBQW9CO0NBQ2xFLE1BQU0sQ0FBQyxXQUFXLG1DQUF3QkMsa0NBQWtCO0NBQzVELE1BQU0sQ0FBQyxhQUFhLHNDQUEyQixNQUFNO0NBQ3JELE1BQU0sdUNBQTJDLEtBQUs7Q0FLdEQsTUFBTSx1Q0FBMkMsS0FBSztDQUl0RCxNQUFNLHVDQUE0QixNQUFNO0FBRXhDLDRCQUFnQjtBQUNkLGFBQVcsT0FBTyxTQUFTLEtBQUs7SUFDL0IsRUFBRSxDQUFDO0FBR04sNEJBQWdCO0FBQ2QsTUFBSSxlQUFlLENBQUMsYUFBYSxDQUFDLGFBQWE7R0FDN0MsTUFBTSxNQUFNLE9BQU8sV0FBVyxjQUFjLE9BQU8sU0FBUyxPQUFPO0FBQ25FLGdCQUFhO0lBQ1gsVUFBVTtJQUNWLDZC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