@sparrowengg/integrations-templates-frontend 2.1.0-notion-release.34 → 2.1.0-notion-release.36

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 (238) hide show
  1. package/dist/cjs/_virtual/index5.js +2 -2
  2. package/dist/cjs/_virtual/index8.js +2 -2
  3. package/dist/cjs/_virtual/index9.js +2 -2
  4. package/dist/cjs/commons/constants/index.js +0 -2
  5. package/dist/cjs/commons/constants/index.js.map +1 -1
  6. package/dist/cjs/contact-import/components/ContactImportHeader.js +27 -37
  7. package/dist/cjs/contact-import/components/ContactImportHeader.js.map +1 -1
  8. package/dist/cjs/contact-import/components/ContactImportModal.js +53 -54
  9. package/dist/cjs/contact-import/components/ContactImportModal.js.map +1 -1
  10. package/dist/cjs/contact-import/constants/ui-strings.js +18 -0
  11. package/dist/cjs/contact-import/constants/ui-strings.js.map +1 -0
  12. package/dist/cjs/contact-import/index.js +13 -230
  13. package/dist/cjs/contact-import/index.js.map +1 -1
  14. package/dist/cjs/contact-import/utils/validation.utils.js +18 -0
  15. package/dist/cjs/contact-import/utils/validation.utils.js.map +1 -0
  16. package/dist/cjs/dynamic-mapping/components/Mapping.js +1 -1
  17. package/dist/cjs/dynamic-mapping/components/Mapping.js.map +1 -1
  18. package/dist/cjs/dynamic-mapping/constants/ui-strings.js +52 -0
  19. package/dist/cjs/dynamic-mapping/constants/ui-strings.js.map +1 -0
  20. package/dist/cjs/dynamic-mapping/index.js +6 -5
  21. package/dist/cjs/dynamic-mapping/index.js.map +1 -1
  22. package/dist/cjs/index.js +10 -12
  23. package/dist/cjs/index.js.map +1 -1
  24. package/dist/cjs/integration-template/components/ConfigureTemplate.js +43 -31
  25. package/dist/cjs/integration-template/components/ConfigureTemplate.js.map +1 -1
  26. package/dist/cjs/integration-template/components/TemplateCard.js +2 -3
  27. package/dist/cjs/integration-template/components/TemplateCard.js.map +1 -1
  28. package/dist/cjs/integration-template/components/dashboard/DashboardItem.js +273 -0
  29. package/dist/cjs/integration-template/components/dashboard/DashboardItem.js.map +1 -0
  30. package/dist/cjs/integration-template/components/dashboard/DropdownItem.js +1 -2
  31. package/dist/cjs/integration-template/components/dashboard/DropdownItem.js.map +1 -1
  32. package/dist/cjs/integration-template/components/dashboard/EventComponent.js +1 -1
  33. package/dist/cjs/integration-template/components/dashboard/EventComponent.js.map +1 -1
  34. package/dist/cjs/integration-template/components/dashboard/MultiAccountFallback.js +4 -4
  35. package/dist/cjs/integration-template/components/dashboard/MultiAccountFallback.js.map +1 -1
  36. package/dist/cjs/integration-template/components/dashboard/SingleMappingChipWrapper.js +75 -0
  37. package/dist/cjs/integration-template/components/dashboard/SingleMappingChipWrapper.js.map +1 -0
  38. package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js +346 -0
  39. package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -0
  40. package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js +79 -0
  41. package/dist/cjs/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -0
  42. package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js +214 -0
  43. package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -0
  44. package/dist/cjs/integration-template/components/dashboard-constants.js +92 -0
  45. package/dist/cjs/integration-template/components/dashboard-constants.js.map +1 -0
  46. package/dist/cjs/integration-template/components/dashboard-utils.js +39 -0
  47. package/dist/cjs/integration-template/components/dashboard-utils.js.map +1 -0
  48. package/dist/cjs/integration-template/components/dashboard.js +55 -1195
  49. package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
  50. package/dist/cjs/integration-template/constants/index.js +1 -41
  51. package/dist/cjs/integration-template/constants/index.js.map +1 -1
  52. package/dist/cjs/integration-template/constants/ui-strings.js +15 -0
  53. package/dist/cjs/integration-template/constants/ui-strings.js.map +1 -0
  54. package/dist/cjs/integration-template/index.js +155 -217
  55. package/dist/cjs/integration-template/index.js.map +1 -1
  56. package/dist/cjs/integration-template/utils/component.utils.js +22 -0
  57. package/dist/cjs/integration-template/utils/component.utils.js.map +1 -0
  58. package/dist/cjs/integration-template/utils/url.utils.js +16 -0
  59. package/dist/cjs/integration-template/utils/url.utils.js.map +1 -0
  60. package/dist/cjs/mapping/components/ConfigurationField.js +178 -0
  61. package/dist/cjs/mapping/components/ConfigurationField.js.map +1 -0
  62. package/dist/cjs/mapping/components/ConfigurationSetup.js +19 -16
  63. package/dist/cjs/mapping/components/ConfigurationSetup.js.map +1 -1
  64. package/dist/cjs/mapping/components/CustomAddNewSelect.js +64 -61
  65. package/dist/cjs/mapping/components/CustomAddNewSelect.js.map +1 -1
  66. package/dist/cjs/mapping/components/EventSetup.js +25 -22
  67. package/dist/cjs/mapping/components/EventSetup.js.map +1 -1
  68. package/dist/cjs/mapping/components/MappingHeader.js +24 -24
  69. package/dist/cjs/mapping/components/MappingHeader.js.map +1 -1
  70. package/dist/cjs/mapping/constants/index.js.map +1 -1
  71. package/dist/cjs/mapping/constants/ui-strings.js +39 -0
  72. package/dist/cjs/mapping/constants/ui-strings.js.map +1 -0
  73. package/dist/cjs/mapping/index.js +7 -612
  74. package/dist/cjs/mapping/index.js.map +1 -1
  75. package/dist/cjs/mapping/utils/validation.utils.js +32 -0
  76. package/dist/cjs/mapping/utils/validation.utils.js.map +1 -0
  77. package/dist/cjs/node_modules/domelementtype/lib/index.js +1 -1
  78. package/dist/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
  79. package/dist/cjs/node_modules/html-dom-parser/lib/server/html-to-dom.js +2 -2
  80. package/dist/cjs/node_modules/html-dom-parser/node_modules/dom-serializer/lib/index.js +1 -1
  81. package/dist/cjs/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +2 -2
  82. package/dist/cjs/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +1 -1
  83. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/helpers.js +1 -1
  84. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/index.js +1 -1
  85. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/legacy.js +1 -1
  86. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/querying.js +1 -1
  87. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/stringify.js +2 -2
  88. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/traversal.js +1 -1
  89. package/dist/cjs/node_modules/html-dom-parser/node_modules/htmlparser2/lib/index.js +3 -3
  90. package/dist/cjs/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +1 -1
  91. package/dist/cjs/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +1 -1
  92. package/dist/cjs/node_modules/style-to-js/cjs/index.js +1 -1
  93. package/dist/cjs/node_modules/style-to-object/cjs/index.js +1 -1
  94. package/dist/cjs/single-mapping/components/ConfigurationField.js +243 -0
  95. package/dist/cjs/single-mapping/components/ConfigurationField.js.map +1 -0
  96. package/dist/cjs/single-mapping/components/ConfigurationSetup.js +14 -13
  97. package/dist/cjs/single-mapping/components/ConfigurationSetup.js.map +1 -1
  98. package/dist/cjs/single-mapping/components/CustomDropdown.js +157 -228
  99. package/dist/cjs/single-mapping/components/CustomDropdown.js.map +1 -1
  100. package/dist/cjs/single-mapping/components/MappingHeader.js +69 -45
  101. package/dist/cjs/single-mapping/components/MappingHeader.js.map +1 -1
  102. package/dist/cjs/single-mapping/hooks/useEditState.js +58 -0
  103. package/dist/cjs/single-mapping/hooks/useEditState.js.map +1 -0
  104. package/dist/cjs/single-mapping/index.js +32 -940
  105. package/dist/cjs/single-mapping/index.js.map +1 -1
  106. package/dist/cjs/single-mapping/utils/validation.utils.js +36 -30
  107. package/dist/cjs/single-mapping/utils/validation.utils.js.map +1 -1
  108. package/dist/cjs/triggers/components/EventSetup.js +64 -58
  109. package/dist/cjs/triggers/components/EventSetup.js.map +1 -1
  110. package/dist/cjs/triggers/components/TriggerHeader.js +26 -30
  111. package/dist/cjs/triggers/components/TriggerHeader.js.map +1 -1
  112. package/dist/cjs/triggers/constants/index.js.map +1 -1
  113. package/dist/cjs/triggers/constants/ui-strings.js +28 -0
  114. package/dist/cjs/triggers/constants/ui-strings.js.map +1 -0
  115. package/dist/cjs/triggers/index.js +6 -252
  116. package/dist/cjs/triggers/index.js.map +1 -1
  117. package/dist/cjs/triggers/utils/validation.utils.js +36 -0
  118. package/dist/cjs/triggers/utils/validation.utils.js.map +1 -0
  119. package/dist/es/_virtual/index5.js +2 -2
  120. package/dist/es/_virtual/index8.js +2 -2
  121. package/dist/es/_virtual/index9.js +2 -2
  122. package/dist/es/commons/constants/index.js +1 -2
  123. package/dist/es/commons/constants/index.js.map +1 -1
  124. package/dist/es/contact-import/components/ContactImportHeader.js +30 -38
  125. package/dist/es/contact-import/components/ContactImportHeader.js.map +1 -1
  126. package/dist/es/contact-import/components/ContactImportModal.js +51 -50
  127. package/dist/es/contact-import/components/ContactImportModal.js.map +1 -1
  128. package/dist/es/contact-import/constants/ui-strings.js +16 -0
  129. package/dist/es/contact-import/constants/ui-strings.js.map +1 -0
  130. package/dist/es/contact-import/index.js +12 -229
  131. package/dist/es/contact-import/index.js.map +1 -1
  132. package/dist/es/contact-import/utils/validation.utils.js +15 -0
  133. package/dist/es/contact-import/utils/validation.utils.js.map +1 -0
  134. package/dist/es/dynamic-mapping/components/Mapping.js +1 -1
  135. package/dist/es/dynamic-mapping/components/Mapping.js.map +1 -1
  136. package/dist/es/dynamic-mapping/constants/ui-strings.js +50 -0
  137. package/dist/es/dynamic-mapping/constants/ui-strings.js.map +1 -0
  138. package/dist/es/dynamic-mapping/index.js +5 -4
  139. package/dist/es/dynamic-mapping/index.js.map +1 -1
  140. package/dist/es/index.js +0 -1
  141. package/dist/es/index.js.map +1 -1
  142. package/dist/es/integration-template/components/ConfigureTemplate.js +43 -31
  143. package/dist/es/integration-template/components/ConfigureTemplate.js.map +1 -1
  144. package/dist/es/integration-template/components/TemplateCard.js +2 -3
  145. package/dist/es/integration-template/components/TemplateCard.js.map +1 -1
  146. package/dist/es/integration-template/components/dashboard/DashboardItem.js +271 -0
  147. package/dist/es/integration-template/components/dashboard/DashboardItem.js.map +1 -0
  148. package/dist/es/integration-template/components/dashboard/DropdownItem.js +1 -2
  149. package/dist/es/integration-template/components/dashboard/DropdownItem.js.map +1 -1
  150. package/dist/es/integration-template/components/dashboard/EventComponent.js +1 -1
  151. package/dist/es/integration-template/components/dashboard/EventComponent.js.map +1 -1
  152. package/dist/es/integration-template/components/dashboard/MultiAccountFallback.js +4 -4
  153. package/dist/es/integration-template/components/dashboard/MultiAccountFallback.js.map +1 -1
  154. package/dist/es/integration-template/components/dashboard/SingleMappingChipWrapper.js +73 -0
  155. package/dist/es/integration-template/components/dashboard/SingleMappingChipWrapper.js.map +1 -0
  156. package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js +344 -0
  157. package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -0
  158. package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js +77 -0
  159. package/dist/es/integration-template/components/dashboard/SingleMappingEventWrapper.js.map +1 -0
  160. package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js +212 -0
  161. package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -0
  162. package/dist/es/integration-template/components/dashboard-constants.js +88 -0
  163. package/dist/es/integration-template/components/dashboard-constants.js.map +1 -0
  164. package/dist/es/integration-template/components/dashboard-utils.js +36 -0
  165. package/dist/es/integration-template/components/dashboard-utils.js.map +1 -0
  166. package/dist/es/integration-template/components/dashboard.js +43 -1183
  167. package/dist/es/integration-template/components/dashboard.js.map +1 -1
  168. package/dist/es/integration-template/constants/index.js +2 -36
  169. package/dist/es/integration-template/constants/index.js.map +1 -1
  170. package/dist/es/integration-template/constants/ui-strings.js +13 -0
  171. package/dist/es/integration-template/constants/ui-strings.js.map +1 -0
  172. package/dist/es/integration-template/index.js +154 -216
  173. package/dist/es/integration-template/index.js.map +1 -1
  174. package/dist/es/integration-template/utils/component.utils.js +18 -0
  175. package/dist/es/integration-template/utils/component.utils.js.map +1 -0
  176. package/dist/es/integration-template/utils/url.utils.js +13 -0
  177. package/dist/es/integration-template/utils/url.utils.js.map +1 -0
  178. package/dist/es/mapping/components/ConfigurationField.js +174 -0
  179. package/dist/es/mapping/components/ConfigurationField.js.map +1 -0
  180. package/dist/es/mapping/components/ConfigurationSetup.js +17 -16
  181. package/dist/es/mapping/components/ConfigurationSetup.js.map +1 -1
  182. package/dist/es/mapping/components/CustomAddNewSelect.js +62 -61
  183. package/dist/es/mapping/components/CustomAddNewSelect.js.map +1 -1
  184. package/dist/es/mapping/components/EventSetup.js +23 -22
  185. package/dist/es/mapping/components/EventSetup.js.map +1 -1
  186. package/dist/es/mapping/components/MappingHeader.js +23 -25
  187. package/dist/es/mapping/components/MappingHeader.js.map +1 -1
  188. package/dist/es/mapping/constants/index.js.map +1 -1
  189. package/dist/es/mapping/constants/ui-strings.js +37 -0
  190. package/dist/es/mapping/constants/ui-strings.js.map +1 -0
  191. package/dist/es/mapping/index.js +5 -610
  192. package/dist/es/mapping/index.js.map +1 -1
  193. package/dist/es/mapping/utils/validation.utils.js +28 -0
  194. package/dist/es/mapping/utils/validation.utils.js.map +1 -0
  195. package/dist/es/node_modules/domelementtype/lib/index.js +1 -1
  196. package/dist/es/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
  197. package/dist/es/node_modules/html-dom-parser/lib/server/html-to-dom.js +2 -2
  198. package/dist/es/node_modules/html-dom-parser/node_modules/dom-serializer/lib/index.js +1 -1
  199. package/dist/es/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +2 -2
  200. package/dist/es/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +1 -1
  201. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/helpers.js +1 -1
  202. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/index.js +1 -1
  203. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/legacy.js +1 -1
  204. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/querying.js +1 -1
  205. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/stringify.js +2 -2
  206. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/traversal.js +1 -1
  207. package/dist/es/node_modules/html-dom-parser/node_modules/htmlparser2/lib/index.js +3 -3
  208. package/dist/es/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +1 -1
  209. package/dist/es/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +1 -1
  210. package/dist/es/node_modules/style-to-js/cjs/index.js +1 -1
  211. package/dist/es/node_modules/style-to-object/cjs/index.js +1 -1
  212. package/dist/es/single-mapping/components/ConfigurationField.js +241 -0
  213. package/dist/es/single-mapping/components/ConfigurationField.js.map +1 -0
  214. package/dist/es/single-mapping/components/ConfigurationSetup.js +14 -13
  215. package/dist/es/single-mapping/components/ConfigurationSetup.js.map +1 -1
  216. package/dist/es/single-mapping/components/CustomDropdown.js +156 -227
  217. package/dist/es/single-mapping/components/CustomDropdown.js.map +1 -1
  218. package/dist/es/single-mapping/components/MappingHeader.js +70 -46
  219. package/dist/es/single-mapping/components/MappingHeader.js.map +1 -1
  220. package/dist/es/single-mapping/hooks/useEditState.js +56 -0
  221. package/dist/es/single-mapping/hooks/useEditState.js.map +1 -0
  222. package/dist/es/single-mapping/index.js +30 -941
  223. package/dist/es/single-mapping/index.js.map +1 -1
  224. package/dist/es/single-mapping/utils/validation.utils.js +31 -27
  225. package/dist/es/single-mapping/utils/validation.utils.js.map +1 -1
  226. package/dist/es/triggers/components/EventSetup.js +62 -58
  227. package/dist/es/triggers/components/EventSetup.js.map +1 -1
  228. package/dist/es/triggers/components/TriggerHeader.js +26 -32
  229. package/dist/es/triggers/components/TriggerHeader.js.map +1 -1
  230. package/dist/es/triggers/constants/index.js.map +1 -1
  231. package/dist/es/triggers/constants/ui-strings.js +26 -0
  232. package/dist/es/triggers/constants/ui-strings.js.map +1 -0
  233. package/dist/es/triggers/index.js +5 -251
  234. package/dist/es/triggers/index.js.map +1 -1
  235. package/dist/es/triggers/utils/validation.utils.js +30 -0
  236. package/dist/es/triggers/utils/validation.utils.js.map +1 -0
  237. package/dist/index.d.ts +216 -143
  238. package/package.json +1 -1
@@ -1,21 +1,11 @@
1
- import { generateUniqueId } from '../commons/helpers/index.js';
2
1
  import React__default, { useState, useEffect } from 'react';
3
- import Arrow from '../commons/icons/arrow.js';
2
+ import ThemeWrapper from '../commons/components/theme-wrapper.js';
3
+ import { ContactImportHeader } from './components/ContactImportHeader.js';
4
+ import '../commons/constants/index.js';
4
5
  import ContactImportConfigure from './components/contact-import-configure.js';
5
6
  import ContactImportMapping from './components/contact-import-mapping.js';
6
- import ThemeWrapper from '../commons/components/theme-wrapper.js';
7
7
  import Dashboard from './components/ManageImport/Dashboard.js';
8
- import { MODAL_MAX_WIDTH, INPUT_MAX_LENGTH } from '../commons/constants/index.js';
9
8
  import { Box } from '../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
10
- import { Flex } from '../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
11
- import { IconButton } from '../node_modules/@sparrowengg/twigs-react/dist/es/button/icon-button.js';
12
- import { ArrowLeftIcon } from '../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/arrow-left.js';
13
- import { Heading } from '../node_modules/@sparrowengg/twigs-react/dist/es/heading/heading.js';
14
- import { Button } from '../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js';
15
- import { Dialog, DialogContent } from '../node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js';
16
- import { CloseIcon } from '../node_modules/@sparrowengg/twigs-react-icons/dist/es/icons/close.js';
17
- import { FormInput } from '../node_modules/@sparrowengg/twigs-react/dist/es/input/form-input.js';
18
- import { Checkbox } from '../node_modules/@sparrowengg/twigs-react/dist/es/checkbox/checkbox.js';
19
9
 
20
10
  var __defProp = Object.defineProperty;
21
11
  var __defProps = Object.defineProperties;
@@ -56,7 +46,14 @@ const ContactImport = ({
56
46
  useEffect(() => {
57
47
  setNewImport(!(existingImports == null ? void 0 : existingImports.length) || !hasContactImportDashboard);
58
48
  }, []);
59
- return /* @__PURE__ */ React__default.createElement(ThemeWrapper, null, /* @__PURE__ */ React__default.createElement(Box, { css: { height: "100vh", width: "100vw" } }, (existingImports == null ? void 0 : existingImports.length) && !newImport && hasContactImportDashboard ? /* @__PURE__ */ React__default.createElement(
49
+ const handleConfigureField = (value) => {
50
+ setContactImportField(__spreadProps(__spreadValues({}, contactImportField), {
51
+ configure: __spreadValues({}, value)
52
+ }));
53
+ navigateMappingPage(true);
54
+ };
55
+ const showDashboard = (existingImports == null ? void 0 : existingImports.length) && !newImport && hasContactImportDashboard;
56
+ return /* @__PURE__ */ React__default.createElement(ThemeWrapper, null, /* @__PURE__ */ React__default.createElement(Box, { css: { height: "100vh", width: "100vw" } }, showDashboard ? /* @__PURE__ */ React__default.createElement(
60
57
  Dashboard,
61
58
  {
62
59
  dashboardDescription,
@@ -81,12 +78,7 @@ const ContactImport = ({
81
78
  ContactImportConfigure,
82
79
  {
83
80
  contactImportField,
84
- handleConfigureField: (value) => {
85
- setContactImportField(__spreadProps(__spreadValues({}, contactImportField), {
86
- configure: __spreadValues({}, value)
87
- }));
88
- navigateMappingPage(true);
89
- },
81
+ handleConfigureField,
90
82
  listSegmentOptions
91
83
  }
92
84
  ) : /* @__PURE__ */ React__default.createElement(
@@ -99,215 +91,6 @@ const ContactImport = ({
99
91
  }
100
92
  )))));
101
93
  };
102
- const ContactImportHeader = ({
103
- setNewImport,
104
- setContactImportField,
105
- contactImportField,
106
- hasPreviousMapping,
107
- previousMappingHandler,
108
- onSaveHandler,
109
- isContactMappingPage,
110
- navigateMappingPage,
111
- invitePortal
112
- }) => {
113
- const [showImportModal, setShowImportModal] = useState(false);
114
- return /* @__PURE__ */ React__default.createElement(
115
- Flex,
116
- {
117
- alignItems: "center",
118
- justifyContent: "space-between",
119
- css: {
120
- borderBottom: "$borderWidths$xs solid $neutral200",
121
- padding: "$8 $12"
122
- }
123
- },
124
- /* @__PURE__ */ React__default.createElement(
125
- Flex,
126
- {
127
- gap: "$6",
128
- alignItems: "center",
129
- css: { visibility: hasPreviousMapping ? "visible" : "hidden" }
130
- },
131
- /* @__PURE__ */ React__default.createElement(
132
- IconButton,
133
- {
134
- onClick: () => {
135
- setNewImport(false);
136
- previousMappingHandler();
137
- },
138
- color: "default",
139
- icon: /* @__PURE__ */ React__default.createElement(ArrowLeftIcon, null),
140
- size: "lg"
141
- }
142
- ),
143
- /* @__PURE__ */ React__default.createElement(Heading, { size: "h6" }, "New Contact Import")
144
- ),
145
- /* @__PURE__ */ React__default.createElement(
146
- Flex,
147
- {
148
- alignItems: "center",
149
- gap: "$4",
150
- css: {
151
- width: "420px !important",
152
- "& button": { background: "transparent !important", fontSize: "$md" }
153
- }
154
- },
155
- /* @__PURE__ */ React__default.createElement(
156
- Button,
157
- {
158
- css: { color: !isContactMappingPage ? "$neutral900" : "$neutral800" },
159
- color: "default",
160
- variant: "ghost",
161
- size: "md",
162
- onClick: () => isContactMappingPage && navigateMappingPage(false)
163
- },
164
- "Event Setup"
165
- ),
166
- /* @__PURE__ */ React__default.createElement(Arrow, null),
167
- /* @__PURE__ */ React__default.createElement(
168
- Button,
169
- {
170
- css: { color: isContactMappingPage ? "$neutral900" : "$neutral800" },
171
- color: "default",
172
- variant: "ghost",
173
- size: "md",
174
- disabled: !isContactMappingPage
175
- },
176
- "Mapping"
177
- )
178
- ),
179
- /* @__PURE__ */ React__default.createElement(
180
- Button,
181
- {
182
- size: "lg",
183
- onClick: () => setShowImportModal(true),
184
- css: { visibility: isContactMappingPage ? "visible" : "hidden" }
185
- },
186
- "Continue Mapping"
187
- ),
188
- showImportModal ? /* @__PURE__ */ React__default.createElement(
189
- ContactImportModal,
190
- {
191
- setContactImportField,
192
- contactImportField,
193
- invitePortal,
194
- onSaveHandler: async () => {
195
- await onSaveHandler();
196
- setNewImport(false);
197
- },
198
- onCloseHandler: () => setShowImportModal(false)
199
- }
200
- ) : null
201
- );
202
- };
203
- const ContactImportModal = ({
204
- setContactImportField,
205
- contactImportField,
206
- onCloseHandler,
207
- onSaveHandler,
208
- invitePortal
209
- }) => {
210
- var _a;
211
- const [inputValue, setInputValue] = useState("");
212
- return /* @__PURE__ */ React__default.createElement(Dialog, { open: true }, /* @__PURE__ */ React__default.createElement(
213
- DialogContent,
214
- {
215
- css: {
216
- padding: 0,
217
- borderRadius: "$3xl",
218
- maxWidth: MODAL_MAX_WIDTH
219
- }
220
- },
221
- /* @__PURE__ */ React__default.createElement(
222
- Flex,
223
- {
224
- alignItems: "center",
225
- justifyContent: "space-between",
226
- css: {
227
- padding: "$8 $12",
228
- borderBottom: "$borderWidths$xs solid $neutral200"
229
- }
230
- },
231
- /* @__PURE__ */ React__default.createElement(Heading, { size: "h6", css: { color: "$neutral900" } }, "Import Configuration"),
232
- /* @__PURE__ */ React__default.createElement(
233
- IconButton,
234
- {
235
- variant: "ghost",
236
- color: "default",
237
- icon: /* @__PURE__ */ React__default.createElement(CloseIcon, null),
238
- size: "lg",
239
- css: {
240
- "& svg": {
241
- color: "#64748B !important"
242
- }
243
- },
244
- onClick: () => onCloseHandler()
245
- }
246
- )
247
- ),
248
- /* @__PURE__ */ React__default.createElement(
249
- Box,
250
- {
251
- css: {
252
- padding: "$12"
253
- }
254
- },
255
- /* @__PURE__ */ React__default.createElement(
256
- FormInput,
257
- {
258
- label: "Title of this import for future reference",
259
- requiredIndicator: true,
260
- value: ((_a = contactImportField == null ? void 0 : contactImportField.configure) == null ? void 0 : _a.reference) || inputValue,
261
- maxLength: INPUT_MAX_LENGTH,
262
- max: INPUT_MAX_LENGTH,
263
- showCount: true,
264
- onChange: (event) => setInputValue(event.currentTarget.value),
265
- size: "lg"
266
- }
267
- ),
268
- invitePortal.hasInvitePortal ? /* @__PURE__ */ React__default.createElement(Box, { css: { marginTop: "$12" } }, /* @__PURE__ */ React__default.createElement(
269
- Checkbox,
270
- {
271
- checked: !!invitePortal.value,
272
- onChange: (value) => {
273
- setContactImportField(__spreadProps(__spreadValues({}, contactImportField), {
274
- invitePortal: value
275
- }));
276
- invitePortal.onChangeHandler(value);
277
- }
278
- },
279
- "Invite to portal whenever a contact is created"
280
- )) : null
281
- ),
282
- /* @__PURE__ */ React__default.createElement(
283
- Flex,
284
- {
285
- gap: "$4",
286
- css: {
287
- justifyContent: "flex-end",
288
- padding: "$8 $12"
289
- }
290
- },
291
- /* @__PURE__ */ React__default.createElement(Button, { size: "lg", color: "default", onClick: () => onCloseHandler() }, "Cancel"),
292
- /* @__PURE__ */ React__default.createElement(
293
- Button,
294
- {
295
- size: "lg",
296
- disabled: !(inputValue == null ? void 0 : inputValue.length),
297
- onClick: () => {
298
- setContactImportField(__spreadProps(__spreadValues({}, contactImportField), {
299
- description: inputValue,
300
- id: generateUniqueId()
301
- }));
302
- onSaveHandler();
303
- onCloseHandler();
304
- }
305
- },
306
- "Finish Import"
307
- )
308
- )
309
- ));
310
- };
311
94
 
312
95
  export { ContactImport };
313
96
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/contact-import/index.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\n Dialog,\n DialogContent,\n Flex,\n FormInput,\n Heading,\n IconButton,\n} from \"@sparrowengg/twigs-react\";\nimport {\n ArrowLeftIcon,\n ChevronRightIcon,\n CloseIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport { ContactImportFieldType } from \"./types\";\nimport { generateUniqueId } from \"../commons/helpers\";\nimport React, { useEffect, useState } from \"react\";\nimport Arrow from \"../commons/icons/arrow\";\nimport ContactImportConfigure from \"./components/contact-import-configure\";\nimport ContactImportMapping from \"./components/contact-import-mapping\";\nimport ThemeWrapper from \"../commons/components/theme-wrapper\";\nimport { ContactImportProps, ContactImportHeaderProps } from \"./types\";\nimport Dashboard from \"./components/ManageImport/Dashboard\";\nimport { MODAL_MAX_WIDTH, INPUT_MAX_LENGTH } from \"../commons/constants\";\n\nexport const ContactImport = ({\n dashboardDescription,\n existingImports,\n hasPreviousMapping,\n previousMappingHandler,\n onSaveHandler,\n isContactMappingPage,\n navigateMappingPage,\n contactImportField,\n setContactImportField,\n listSegmentOptions,\n integrationName,\n contactProperties,\n hasContactImportDashboard,\n invitePortal,\n}: ContactImportProps) => {\n const [newImport, setNewImport] = useState(true);\n useEffect(() => {\n setNewImport(!existingImports?.length || !hasContactImportDashboard);\n }, []);\n return (\n <ThemeWrapper>\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n {existingImports?.length && !newImport && hasContactImportDashboard ? (\n <Dashboard\n dashboardDescription={dashboardDescription}\n setNewImport={setNewImport}\n integrationName={integrationName}\n imports={existingImports}\n />\n ) : <>\n {newImport && (\n <>\n <ContactImportHeader\n setNewImport={setNewImport}\n contactImportField={contactImportField}\n setContactImportField={setContactImportField}\n hasPreviousMapping={hasPreviousMapping}\n previousMappingHandler={previousMappingHandler}\n onSaveHandler={onSaveHandler}\n isContactMappingPage={isContactMappingPage}\n navigateMappingPage={navigateMappingPage}\n invitePortal={invitePortal}\n />\n {!isContactMappingPage ? (\n <ContactImportConfigure\n contactImportField={contactImportField}\n handleConfigureField={(value: Record<string, unknown>) => {\n setContactImportField({\n ...contactImportField,\n configure: { ...value },\n });\n navigateMappingPage(true);\n }}\n listSegmentOptions={listSegmentOptions}\n />\n ) : (\n <ContactImportMapping\n contactImportField={contactImportField}\n setContactImportField={setContactImportField}\n integrationName={integrationName}\n contactProperties={contactProperties}\n />\n )}\n </>\n )}\n </>}\n </Box>\n </ThemeWrapper>\n );\n};\n\nconst ContactImportHeader = ({\n setNewImport,\n setContactImportField,\n contactImportField,\n hasPreviousMapping,\n previousMappingHandler,\n onSaveHandler,\n isContactMappingPage,\n navigateMappingPage,\n invitePortal,\n}: ContactImportHeaderProps) => {\n const [showImportModal, setShowImportModal] = useState(false);\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={() => {\n setNewImport(false);\n previousMappingHandler();\n }}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">New Contact Import</Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ \n width: \"420px !important\",\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isContactMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={() => isContactMappingPage && navigateMappingPage(false)}\n >\n Event Setup\n </Button>\n <Arrow />\n <Button\n css={{ color: isContactMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={!isContactMappingPage}\n >\n Mapping\n </Button>\n </Flex>\n <Button\n size=\"lg\"\n onClick={() => setShowImportModal(true)}\n css={{ visibility: isContactMappingPage ? \"visible\" : \"hidden\"}}\n >\n Continue Mapping\n </Button>\n {showImportModal ? (\n <ContactImportModal\n setContactImportField={setContactImportField as any}\n contactImportField={contactImportField}\n invitePortal={invitePortal as any}\n onSaveHandler={async () => {\n await onSaveHandler();\n setNewImport(false);\n }}\n onCloseHandler={() => setShowImportModal(false)}\n />\n ) : null}\n </Flex>\n );\n};\n\nconst ContactImportModal = ({\n setContactImportField,\n contactImportField,\n onCloseHandler,\n onSaveHandler,\n invitePortal,\n}: {\n setContactImportField: (value: Record<string, unknown>) => void;\n contactImportField: ContactImportFieldType;\n onCloseHandler: () => void;\n onSaveHandler: () => void;\n invitePortal: {\n hasInvitePortal: boolean;\n value: boolean | null;\n onChangeHandler: (value: Record<string, unknown>) => void;\n };\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n return (\n <Dialog open>\n <DialogContent\n css={{\n padding: 0,\n borderRadius: \"$3xl\",\n maxWidth: MODAL_MAX_WIDTH,\n }}\n >\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n padding: \"$8 $12\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n }}\n >\n <Heading size=\"h6\" css={{ color: \"$neutral900\" }}>\n Import Configuration\n </Heading>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n icon={<CloseIcon />}\n size=\"lg\"\n css={{\n \"& svg\": {\n color: \"#64748B !important\",\n },\n }}\n onClick={() => onCloseHandler()}\n />\n </Flex>\n <Box\n css={{\n padding: \"$12\",\n }}\n >\n <FormInput\n label=\"Title of this import for future reference\"\n requiredIndicator\n value={contactImportField?.configure?.reference || inputValue}\n maxLength={INPUT_MAX_LENGTH}\n max={INPUT_MAX_LENGTH}\n showCount\n onChange={(event: any) => setInputValue(event.currentTarget.value)}\n size=\"lg\"\n />\n {invitePortal.hasInvitePortal ? (\n <Box css={{ marginTop: \"$12\" }}>\n <Checkbox\n checked={!!invitePortal.value}\n onChange={(value: any) => {\n setContactImportField({\n ...contactImportField,\n invitePortal: value,\n });\n invitePortal.onChangeHandler(value);\n }}\n >\n Invite to portal whenever a contact is created\n </Checkbox>\n </Box>\n ) : null}\n </Box>\n <Flex\n gap=\"$4\"\n css={{\n justifyContent: \"flex-end\",\n padding: \"$8 $12\",\n }}\n >\n <Button size=\"lg\" color=\"default\" onClick={() => onCloseHandler()}>\n Cancel\n </Button>\n <Button\n size=\"lg\"\n disabled={!inputValue?.length}\n onClick={() => {\n setContactImportField({\n ...contactImportField,\n description: inputValue,\n id: generateUniqueId(),\n });\n onSaveHandler();\n onCloseHandler();\n }}\n >\n Finish Import\n </Button>\n </Flex>\n </DialogContent>\n </Dialog>\n );\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/contact-import/index.tsx"],"sourcesContent":["import { Box } from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState } from \"react\";\nimport ThemeWrapper from \"../commons/components/theme-wrapper\";\nimport { ContactImportProps } from \"./types\";\nimport {\n ContactImportHeader,\n ContactImportConfigure,\n ContactImportMapping,\n Dashboard,\n} from \"./components\";\n\nexport const ContactImport: React.FC<ContactImportProps> = ({\n dashboardDescription,\n existingImports,\n hasPreviousMapping,\n previousMappingHandler,\n onSaveHandler,\n isContactMappingPage,\n navigateMappingPage,\n contactImportField,\n setContactImportField,\n listSegmentOptions,\n integrationName,\n contactProperties,\n hasContactImportDashboard,\n invitePortal,\n}) => {\n const [newImport, setNewImport] = useState(true);\n\n useEffect(() => {\n setNewImport(!existingImports?.length || !hasContactImportDashboard);\n }, []);\n\n const handleConfigureField = (value: Record<string, unknown>) => {\n setContactImportField({\n ...contactImportField,\n configure: { ...value },\n });\n navigateMappingPage(true);\n };\n\n const showDashboard = existingImports?.length && !newImport && hasContactImportDashboard;\n\n return (\n <ThemeWrapper>\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n {showDashboard ? (\n <Dashboard\n dashboardDescription={dashboardDescription}\n setNewImport={setNewImport}\n integrationName={integrationName}\n imports={existingImports}\n />\n ) : (\n <>\n {newImport && (\n <>\n <ContactImportHeader\n setNewImport={setNewImport}\n contactImportField={contactImportField}\n setContactImportField={setContactImportField}\n hasPreviousMapping={hasPreviousMapping}\n previousMappingHandler={previousMappingHandler}\n onSaveHandler={onSaveHandler}\n isContactMappingPage={isContactMappingPage}\n navigateMappingPage={navigateMappingPage}\n invitePortal={invitePortal}\n />\n {!isContactMappingPage ? (\n <ContactImportConfigure\n contactImportField={contactImportField}\n handleConfigureField={handleConfigureField}\n listSegmentOptions={listSegmentOptions}\n />\n ) : (\n <ContactImportMapping\n contactImportField={contactImportField}\n setContactImportField={setContactImportField}\n integrationName={integrationName}\n contactProperties={contactProperties}\n />\n )}\n </>\n )}\n </>\n )}\n </Box>\n </ThemeWrapper>\n );\n};\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,MAAM,gBAA8C,CAAC;AAAA,EAC1D,oBAAA;AAAA,EACA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,sBAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA,kBAAA;AAAA,EACA,qBAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,iBAAA;AAAA,EACA,yBAAA;AAAA,EACA,YAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAE/C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,YAAA,CAAa,EAAC,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAiB,MAAU,CAAA,IAAA,CAAC,yBAAyB,CAAA,CAAA;AAAA,GACrE,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,oBAAA,GAAuB,CAAC,KAAmC,KAAA;AAC/D,IAAA,qBAAA,CAAsB,iCACjB,kBADiB,CAAA,EAAA;AAAA,MAEpB,WAAW,cAAK,CAAA,EAAA,EAAA,KAAA,CAAA;AAAA,KACjB,CAAA,CAAA,CAAA;AACD,IAAA,mBAAA,CAAoB,IAAI,CAAA,CAAA;AAAA,GAC1B,CAAA;AAEA,EAAA,MAAM,aAAgB,GAAA,CAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAiB,MAAU,KAAA,CAAC,SAAa,IAAA,yBAAA,CAAA;AAE/D,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,YACC,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,GAAA,EAAK,EAAE,MAAA,EAAQ,OAAS,EAAA,KAAA,EAAO,OAAQ,EAAA,EAAA,EACzC,aACC,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,oBAAA;AAAA,MACA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,OAAS,EAAA,eAAA;AAAA,KAAA;AAAA,GACX,mBAGGA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EAAA,SAAA,oBAEGA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,mBAAA;AAAA,IAAA;AAAA,MACC,YAAA;AAAA,MACA,kBAAA;AAAA,MACA,qBAAA;AAAA,MACA,kBAAA;AAAA,MACA,sBAAA;AAAA,MACA,aAAA;AAAA,MACA,oBAAA;AAAA,MACA,mBAAA;AAAA,MACA,YAAA;AAAA,KAAA;AAAA,GACF,EACC,CAAC,oBACA,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,kBAAA;AAAA,MACA,oBAAA;AAAA,MACA,kBAAA;AAAA,KAAA;AAAA,GAGF,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,kBAAA;AAAA,MACA,qBAAA;AAAA,MACA,eAAA;AAAA,MACA,iBAAA;AAAA,KAAA;AAAA,GAGN,CAEJ,CAEJ,CACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,15 @@
1
+ const isEmpty = (value) => {
2
+ if (value === null || value === void 0)
3
+ return true;
4
+ if (typeof value === "string")
5
+ return value.trim().length === 0;
6
+ if (Array.isArray(value))
7
+ return value.length === 0;
8
+ return false;
9
+ };
10
+ const isValidInputLength = (value) => {
11
+ return !isEmpty(value) && value.trim().length > 0;
12
+ };
13
+
14
+ export { isEmpty, isValidInputLength };
15
+ //# sourceMappingURL=validation.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.utils.js","sources":["../../../../src/contact-import/utils/validation.utils.ts"],"sourcesContent":["/**\n * Validation utility functions for Contact Import module\n */\n\n/**\n * Check if a value is empty (null, undefined, empty string, or empty array)\n */\nexport const isEmpty = (value: unknown): boolean => {\n if (value === null || value === undefined) return true;\n if (typeof value === \"string\") return value.trim().length === 0;\n if (Array.isArray(value)) return value.length === 0;\n return false;\n};\n\n/**\n * Validate if the input value meets minimum length requirement\n */\nexport const isValidInputLength = (value: string): boolean => {\n return !isEmpty(value) && value.trim().length > 0;\n};\n\n"],"names":[],"mappings":"AAOa,MAAA,OAAA,GAAU,CAAC,KAA4B,KAAA;AAClD,EAAI,IAAA,KAAA,KAAU,QAAQ,KAAU,KAAA,KAAA,CAAA;AAAW,IAAO,OAAA,IAAA,CAAA;AAClD,EAAA,IAAI,OAAO,KAAU,KAAA,QAAA;AAAU,IAAO,OAAA,KAAA,CAAM,IAAK,EAAA,CAAE,MAAW,KAAA,CAAA,CAAA;AAC9D,EAAI,IAAA,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAG,IAAA,OAAO,MAAM,MAAW,KAAA,CAAA,CAAA;AAClD,EAAO,OAAA,KAAA,CAAA;AACT,EAAA;AAKa,MAAA,kBAAA,GAAqB,CAAC,KAA2B,KAAA;AAC5D,EAAA,OAAO,CAAC,OAAQ,CAAA,KAAK,KAAK,KAAM,CAAA,IAAA,GAAO,MAAS,GAAA,CAAA,CAAA;AAClD;;;;"}
@@ -572,4 +572,4 @@ const CustomChip = ({ children, bgColor, opacity }) => {
572
572
  };
573
573
 
574
574
  export { Mapping as default };
575
- //# sourceMappingURL=Mapping.js.map
575
+ //# sourceMappingURL=mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Mapping.js","sources":["../../../../src/dynamic-mapping/components/Mapping.tsx"],"sourcesContent":["import {\n Box,\n Checkbox,\n Chip,\n Flex,\n Heading,\n Input,\n Radio,\n RadioGroup,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Text,\n Tooltip\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport {\n surveySparrowURL,\n mappingTabValues,\n mappingPropertyValues\n} from \"../../commons/constants\";\nimport Spinner from \"../../commons/components/spinner\";\nimport {\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchContactProperties,\n fetchSurveyExpression\n} from \"../../mapping/services\";\nimport { SearchIcon } from \"@sparrowengg/twigs-react-icons\";\nimport MappingCondition from \"../../commons/components/MappingCondtion\";\nimport { ConditionCard } from \"../../mapping/utils/conditionDescriptionBuilder\";\n\nconst Mapping = ({\n hasConditions,\n mappingConditions,\n setMappingConditions,\n conditionData,\n conditionDescription,\n surveyId,\n apiURL = surveySparrowURL,\n token,\n surveyProperties,\n importResponse,\n ssMappingData,\n setSSMappingData,\n editField,\n setIsInitialLoad,\n setOriginalMappingData\n}: any) => {\n const [loader, setLoader] = useState(true);\n const [searchInput, setSearchInput] = useState(\"\");\n const [SSMappedFields, setSSMappedFields] = useState<any[]>([]);\n\n const modifiedMappingData = (mappingData: any, commonLabel: string, isEnabled: boolean = false) => {\n const fields = mappingData.map((data: any) => ({\n ...data,\n id: data?.id ?? data?.name,\n name: data?.rtxt ?? data?.name,\n isEnabled: data?.isEnabled ?? false\n }));\n fields.unshift({ id: \"ALL\", name: commonLabel, isEnabled: isEnabled });\n return fields;\n };\n\n const fetchInitalMappingData = async () => {\n setLoader(true);\n try {\n if(surveyProperties){\n const {questions, variables, contactProperties, expressions, property, derivedQuestions} = surveyProperties\n setSSMappingData({\n questions: questions?.length ? modifiedMappingData(questions, \"Select all Questions\") : [],\n contactProperties: contactProperties?.length ? modifiedMappingData(\n contactProperties,\n \"Select all Contact Properties\"\n ) : [],\n variables: variables?.length ? modifiedMappingData(variables, \"Select all Variables\") : [],\n expressions: expressions?.length ? modifiedMappingData(expressions, \"Select all Expressions\") : [],\n property: property?.length ? modifiedMappingData(property, \"Select all Properties\") : [],\n derivedQuestions: derivedQuestions?.length ? modifiedMappingData(derivedQuestions, \"Select all Derived Questions\") : []\n });\n } else {\n const [questions, variables, contactProperties, expressions] =\n await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token)\n ]);\n setSSMappingData({\n questions: questions?.length ? modifiedMappingData(questions, \"Select all Questions\") : [],\n contactProperties: contactProperties?.length ? modifiedMappingData(\n contactProperties,\n \"Select all Contact Properties\"\n ) : [],\n variables: variables?.length ? modifiedMappingData(variables, \"Select all Variables\") : [],\n expressions: expressions?.length ? modifiedMappingData(expressions, \"Select all Expressions\") : [],\n property: mappingPropertyValues?.length ? modifiedMappingData(mappingPropertyValues, \"Select all Properties\") : []\n });\n }\n } catch (error) {\n console.error(error);\n } finally {\n setLoader(false);\n }\n };\n\n const handleFieldValues = (\n type: string,\n id: string | number,\n value: boolean\n ) => {\n if (id === \"ALL\") {\n setSSMappingData((prev: any) => ({\n ...prev,\n [type]: prev[type]?.map((mapping: any) => {\n return { ...mapping, isEnabled: value };\n })\n }));\n } else {\n let modifiedMappedField = ssMappingData[type]?.map((mapping: any) => {\n if (mapping?.id === id) {\n return { ...mapping, isEnabled: value };\n }\n return { ...mapping };\n });\n if (\n modifiedMappedField\n .filter((field: any) => field?.id !== \"ALL\")\n .every((field: any) => field.isEnabled)\n ) {\n modifiedMappedField = modifiedMappedField.map((field: any) => ({\n ...field,\n isEnabled: true\n }));\n } else {\n modifiedMappedField = modifiedMappedField.map((field: any) => {\n if (field?.id === \"ALL\") {\n return { ...field, isEnabled: false };\n }\n return field;\n });\n }\n\n const mappedFields = {\n ...ssMappingData,\n [type]: modifiedMappedField\n };\n setSSMappingData(mappedFields);\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: mappedFields\n });\n }\n };\n\n const getMappingCount = (mappingField: any) => {\n let count = 0;\n const mappedField = ssMappingData[mappingField];\n mappedField?.forEach((field: any) => {\n if (field?.id !== \"ALL\" && field.isEnabled) count += 1;\n });\n return count;\n };\n const getAllMappingCount = (mappingField: any) => {\n const mappedField = ssMappingData[mappingField];\n return mappedField?.length;\n };\n\n useEffect(() => {\n if (!editField?.id) {\n fetchInitalMappingData();\n } else if (!!editField?.id) {\n const { fieldValues: {\n mappedFields\n } } = editField;\n if(importResponse?.value?.importMethod === \"SELECTED_DATA\"){\n const processField = (field: any[], label: string) => {\n if (!field?.length) return [];\n if (field?.some(item => item.id === \"ALL\")) return field;\n return modifiedMappingData(field, label, field.every(item => item.isEnabled));\n };\n\n const updatedSSMappingData = {\n questions: processField(mappedFields?.questions, \"Select all Questions\"),\n variables: processField(mappedFields?.variables, \"Select all Variables\"), \n contactProperties: processField(mappedFields?.contactProperties, \"Select all Contact Properties\"),\n expressions: processField(mappedFields?.expressions, \"Select all Expressions\"),\n property: processField(mappedFields?.property, \"Select all Properties\"),\n derivedQuestions: processField(mappedFields?.derivedQuestions, \"Select all Enrich\")\n }\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } else {\n const {questions, variables, contactProperties, expressions, property, derivedQuestions} = surveyProperties\n const updatedSSMappingData = {\n questions: questions?.length ? questions : [],\n contactProperties: contactProperties?.length ? contactProperties : [],\n variables: variables?.length ? variables : [],\n expressions: expressions?.length ? expressions : [],\n property: property?.length ? property : [],\n derivedQuestions: derivedQuestions?.length ? derivedQuestions : []\n } \n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n }\n \n setLoader(false);\n } else {\n setLoader(false);\n }\n setIsInitialLoad(false);\n }, [token, surveyId]);\n\n\n useEffect(() => {\n if(importResponse?.value?.importMethod === \"SELECTED_DATA\"){\n if(!!editField?.id){\n const processField = (field: any[], label: string) => {\n if (!field.length) return [];\n if (field?.some(item => item.id === \"ALL\")) return field;\n return modifiedMappingData(field, label, field.every(item => item.isEnabled));\n };\n setSSMappingData({\n questions: processField(editField?.fieldValues?.mappedFields?.questions, \"Select all Questions\"),\n variables: processField(editField?.fieldValues?.mappedFields?.variables, \"Select all Variables\"),\n contactProperties: processField(editField?.fieldValues?.mappedFields?.contactProperties, \"Select all Contact Properties\"),\n expressions: processField(editField?.fieldValues?.mappedFields?.expressions, \"Select all Expressions\"),\n property: processField(editField?.fieldValues?.mappedFields?.property, \"Select all Properties\"),\n derivedQuestions: processField(editField?.fieldValues?.mappedFields?.derivedQuestions, \"Select all Enrich\")\n })} else {\n setSSMappingData({\n questions: ssMappingData?.questions?.some((question: any) => question.id === \"ALL\") ? ssMappingData?.questions : ssMappingData?.questions?.length ? modifiedMappingData(ssMappingData?.questions, \"Select all Questions\") : [],\n variables: ssMappingData?.variables?.some((variable: any) => variable.id === \"ALL\") ? ssMappingData?.variables : ssMappingData?.variables?.length ? modifiedMappingData(ssMappingData?.variables, \"Select all Variables\") : [],\n contactProperties: ssMappingData?.contactProperties?.some((contactProperty: any) => contactProperty.id === \"ALL\") ? ssMappingData?.contactProperties : ssMappingData?.contactProperties?.length ? modifiedMappingData(ssMappingData?.contactProperties, \"Select all Contact Properties\") : [],\n expressions: ssMappingData?.expressions?.some((expression: any) => expression.id === \"ALL\") ? ssMappingData?.expressions : ssMappingData?.expressions?.length ? modifiedMappingData(ssMappingData?.expressions, \"Select all Expressions\") : [],\n property: ssMappingData?.property?.some((property: any) => property.id === \"ALL\") ? ssMappingData?.property : ssMappingData?.property?.length ? modifiedMappingData(ssMappingData?.property, \"Select all Properties\") : [],\n derivedQuestions: ssMappingData?.derivedQuestions?.some((derivedQuestion: any) => derivedQuestion.id === \"ALL\") ? ssMappingData?.derivedQuestions : ssMappingData?.derivedQuestions?.length ? modifiedMappingData(ssMappingData?.derivedQuestions, \"Select all Derived Questions\") : []\n })\n }\n }\n }, [importResponse?.value?.importMethod])\n\n\n\n\n useEffect(() => {\n if (ssMappingData?.questions?.length || ssMappingData?.variables?.length || ssMappingData?.contactProperties?.length || ssMappingData?.expressions?.length || ssMappingData?.property?.length) {\n const updatedFieldValues = Object.keys(ssMappingData).reduce((acc: any, key: any) => {\n acc[key] = ssMappingData[key].map((field: any) => {\n if(importResponse?.value?.importMethod === \"SELECTED_DATA\"){\n return { ...field, isEnabled: field?.isEnabled };\n } else {\n if (field?.id !== \"ALL\") {\n return { ...field, isEnabled: true };\n }\n return field;\n }\n });\n return acc;\n }, {});\n setSSMappedFields(updatedFieldValues);\n if (importResponse?.value?.importMethod === \"SEND_ALL_DATA\") {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: updatedFieldValues\n })\n } else {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: ssMappingData\n })\n }\n }\n }, [ssMappingData]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {loader ? (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"calc(100vh - 57px)\" }}\n >\n <Spinner />\n </Flex>\n ) : (\n <Box css={{ maxWidth: 650, width: \"100%\", marginBlock: \"$40\" }}>\n {importResponse?.hasImportResponse ? (\n <Flex flexDirection=\"column\">\n <Heading\n size=\"h5\"\n css={{\n color: \"$neutral900\",\n }}\n >\n Select Import Data\n </Heading>\n {hasConditions ? (\n <Flex css={{\n marginTop: \"$3\",\n }}>\n {\" \"}\n {mappingConditions?.filterGroups?.length ? (\n <MappingCondition\n existingContions={mappingConditions}\n setExistingCondtions={setMappingConditions}\n conditionData={conditionData || []}\n renderTrigger={(onEditClick) => (\n <ConditionCard\n isEditable={true}\n conditionsData={mappingConditions}\n onEditClick={onEditClick}\n onClearClick={() =>\n setMappingConditions &&\n setMappingConditions(undefined)\n }\n showMoreMenu={true}\n />\n )}\n />\n ) : (\n <Flex gap=\"$2\" css={{ marginTop: \"$8\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {conditionDescription}\n </Text>\n <MappingCondition\n existingContions={mappingConditions}\n setExistingCondtions={setMappingConditions}\n conditionData={conditionData || []}\n />\n </Flex>\n )}\n </Flex>\n ) : null}\n <RadioGroup\n defaultValue={importResponse?.value?.importMethod}\n onChange={(value) => {\n importResponse.onChangeHandler({\n id: \"importMethod\",\n value: value,\n });\n if (value === \"SEND_ALL_DATA\") {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: SSMappedFields,\n });\n }\n }}\n >\n <Flex\n alignItems=\"center\"\n gap=\"$20\"\n css={{\n marginTop: \"$9\",\n \"& label\": { color: \"$neutral800\", cursor: \"pointer\" },\n }}\n >\n <Radio\n size=\"md\"\n value=\"SEND_ALL_DATA\"\n css={{\n cursor: \"pointer\",\n }}\n >\n Send all data\n </Radio>\n <Radio\n size=\"md\"\n value=\"SELECTED_DATA\"\n css={{\n cursor: \"pointer\",\n }}\n >\n Send selected data\n </Radio>\n </Flex>\n </RadioGroup>\n </Flex>\n ) : null}\n {importResponse?.value?.importMethod === \"SELECTED_DATA\" ? (\n <Box css={{ marginTop: \"$24\" }}>\n <Tabs defaultValue=\"QUESTIONS\">\n <TabsList\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n }}\n >\n {mappingTabValues.map((tab) => {\n if (\n tab.value === \"DERIVED_QUESTIONS\" &&\n getAllMappingCount(tab.placeholder) < 1\n ) {\n return <></>;\n } else {\n return (\n <TabsTrigger\n key={tab?.id}\n value={tab?.value}\n css={{\n padding: \"$6 $4 !important\",\n }}\n onClick={() => setSearchInput(\"\")}\n >\n <Text size=\"sm\" weight=\"bold\">\n {tab.name}\n </Text>\n {!!getMappingCount(tab.placeholder) && (\n <Chip\n css={{\n marginLeft: \"$2\",\n borderRadius: \"5px\",\n color: \"$neutral800\",\n }}\n variant=\"outline\"\n rounded=\"sm\"\n >\n {getMappingCount(tab.placeholder)}\n </Chip>\n )}\n </TabsTrigger>\n );\n }\n })}\n </TabsList>\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"QUESTIONS\"\n placeholder=\"Questions\"\n fields={ssMappingData?.questions}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"questions\", field?.id, value)\n }\n />\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n fields={ssMappingData.variables}\n value=\"VARIABLE\"\n placeholder=\"Variables\"\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"variables\", field?.id, value)\n }\n />\n <TabsContentComponent\n fields={ssMappingData.contactProperties}\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"CONTACT\"\n placeholder=\"Contacts\"\n handleFieldValues={(field, value) =>\n handleFieldValues(\"contactProperties\", field?.id, value)\n }\n />\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"EXPRESSION\"\n placeholder=\"Expressions\"\n fields={ssMappingData.expressions}\n handleFieldValues={(field, value) =>\n handleFieldValues(\"expressions\", field?.id, value)\n }\n />\n <TabsContentComponent\n value=\"PROPERTY\"\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n placeholder=\"Properties\"\n fields={ssMappingData.property}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"property\", field?.id, value)\n }\n />\n <TabsContentComponent\n value=\"DERIVED_QUESTIONS\"\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n placeholder=\"Derived Questions\"\n fields={ssMappingData.derivedQuestions}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"derivedQuestions\", field?.id, value)\n }\n />\n </Tabs>\n </Box>\n ) : (\n <Flex css={{ marginTop: \"$16\" }} alignItems=\"center\" gap=\"$6\">\n <Text\n size=\"sm\"\n weight=\"regular\"\n css={{ width: \"90px\", color: \"$neutral900\" }}\n >\n This Includes:\n </Text>\n <Flex alignItems=\"center\" gap=\"$4\">\n {getAllMappingCount(\"questions\") - 1 > 0 ? (\n <CustomChip bgColor=\"#E5F2FF\">\n {\" \"}\n {getAllMappingCount(\"questions\") - 1} Questions\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"derivedQuestions\") - 1 > 0 ? (\n <CustomChip bgColor=\"#E5F2FF\">\n {\" \"}\n {getAllMappingCount(\"derivedQuestions\") - 1} Enrich\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"variables\") - 1 > 0 ? (\n <CustomChip bgColor=\"#E8F4E3\">\n {\" \"}\n {getAllMappingCount(\"variables\") - 1} Variables\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"contactProperties\") - 1 > 0 ? (\n <CustomChip bgColor=\"#FDEDE8\">\n {\" \"}\n {getAllMappingCount(\"contactProperties\") - 1} Contacts\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"expressions\") - 1 > 0 ? (\n <CustomChip bgColor=\"#F1F1F1\">\n {\" \"}\n {getAllMappingCount(\"expressions\") - 1} Expressions\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"property\") - 1 > 0 ? (\n <CustomChip bgColor=\"#4A9CA626\">\n {\" \"}\n {getAllMappingCount(\"property\") - 1} Properties\n </CustomChip>\n ) : null}\n </Flex>\n </Flex>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n\nexport default Mapping;\n\nconst TabsContentComponent = ({\n value,\n searchInput,\n setSearchInput,\n fields,\n handleFieldValues,\n placeholder\n}: {\n value: string;\n searchInput: string;\n setSearchInput: React.Dispatch<React.SetStateAction<string>>;\n fields: any;\n handleFieldValues: (field: any, value: boolean) => void;\n placeholder: string;\n}) => {\n\n return (\n <TabsContent value={value} css={{ padding: 0, position: \"relative\" }} key={value}>\n <Input\n leftIcon={<SearchIcon color=\"#848484\" />}\n variant=\"filled\"\n placeholder={`Search ${placeholder}`}\n size=\"lg\"\n css={{ marginTop: \"$8\" }}\n value={searchInput}\n onChange={(event) => setSearchInput(event.currentTarget.value)}\n />\n <Flex\n css={{\n padding: \"$8 $4 $32 $4\",\n marginTop: \"$8\",\n height: \"calc(100vh - 408px)\",\n overflow: \"auto\",\n scrollbarWidth: \"thin\",\n \"&::-webkit-scrollbar\": {\n width: \"4px\"\n },\n \"& label\": {\n lineHeight: \"$sm\"\n }\n }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n {fields?.length && fields?.filter((field: any) => field.name?.toLowerCase().includes(searchInput.toLowerCase()))?.length ? (\n <>\n {fields?.filter((field: any) => field.name?.toLowerCase().includes(searchInput.toLowerCase())).map((field: any) => (\n <Box css={{\n label: {\n color: \"$neutral900\",\n fontSize: \"$sm\",\n maxWidth: \"520px\",\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n cursor: \"pointer\",\n }\n }}>\n <Tooltip content={field.tooltip || \"\"} css={{\n fontFamily: \"DM Sans !important\",\n zIndex: \"9999999 !important\",\n }}>\n <Flex css={{ width: \"fit-content !important\" }}>\n <Checkbox\n size=\"sm\"\n checked={field.isEnabled}\n disabled={field.disabled}\n onChange={(value) => handleFieldValues(field, value as boolean)}\n >\n {field.name}\n </Checkbox>\n </Flex>\n </Tooltip>\n </Box>\n ))}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Text size=\"sm\">No Results Found</Text>\n </Flex>\n )}\n </Flex>\n <Box\n css={{\n position: \"absolute\",\n pointerEvents: \"none\",\n top: \"88%\",\n height: \"$25\",\n width: \"100%\",\n background:\n \"linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0))\"\n }}\n />\n </TabsContent>\n );\n};\n\n\nconst CustomChip = ({ children, bgColor, opacity }: { children: React.ReactNode, bgColor: string, opacity?: number }) => {\n return <Chip variant=\"solid\" css={{\n ...(opacity && {backgroundColor: bgColor }),\n ...(opacity && { backgroundColorOpacity: [bgColor, 0.3] }),\n background: bgColor,\n lineHeight: \"$sm\",\n fontWeight: \"$4\",\n fontFamily: \"'Roboto Mono', monospace !important\",\n \"& > * \": { fontFamily: \"'Roboto Mono', monospace !important\", fontWeight: \"$4 !important\" },\n }}>{children}</Chip>\n}"],"names":["_a","_b","_c","_d","React","value"],"mappings":"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"}
1
+ {"version":3,"file":"mapping.js","sources":["../../../../src/dynamic-mapping/components/mapping.tsx"],"sourcesContent":["import {\n Box,\n Checkbox,\n Chip,\n Flex,\n Heading,\n Input,\n Radio,\n RadioGroup,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Text,\n Tooltip\n} from \"@sparrowengg/twigs-react\";\nimport React, { useEffect, useState, useMemo } from \"react\";\nimport {\n surveySparrowURL,\n mappingTabValues,\n mappingPropertyValues\n} from \"../../commons/constants\";\nimport Spinner from \"../../commons/components/spinner\";\nimport {\n fetchSurveyQuestions,\n fetchSurveyVariables,\n fetchContactProperties,\n fetchSurveyExpression\n} from \"../../mapping/services\";\nimport { SearchIcon } from \"@sparrowengg/twigs-react-icons\";\nimport MappingCondition from \"../../commons/components/MappingCondtion\";\nimport { ConditionCard } from \"../../mapping/utils/conditionDescriptionBuilder\";\n\nconst Mapping = ({\n hasConditions,\n mappingConditions,\n setMappingConditions,\n conditionData,\n conditionDescription,\n surveyId,\n apiURL = surveySparrowURL,\n token,\n surveyProperties,\n importResponse,\n ssMappingData,\n setSSMappingData,\n editField,\n setIsInitialLoad,\n setOriginalMappingData\n}: any) => {\n const [loader, setLoader] = useState(true);\n const [searchInput, setSearchInput] = useState(\"\");\n const [SSMappedFields, setSSMappedFields] = useState<any[]>([]);\n\n const modifiedMappingData = (mappingData: any, commonLabel: string, isEnabled: boolean = false) => {\n const fields = mappingData.map((data: any) => ({\n ...data,\n id: data?.id ?? data?.name,\n name: data?.rtxt ?? data?.name,\n isEnabled: data?.isEnabled ?? false\n }));\n fields.unshift({ id: \"ALL\", name: commonLabel, isEnabled: isEnabled });\n return fields;\n };\n\n const fetchInitalMappingData = async () => {\n setLoader(true);\n try {\n if(surveyProperties){\n const {questions, variables, contactProperties, expressions, property, derivedQuestions} = surveyProperties\n setSSMappingData({\n questions: questions?.length ? modifiedMappingData(questions, \"Select all Questions\") : [],\n contactProperties: contactProperties?.length ? modifiedMappingData(\n contactProperties,\n \"Select all Contact Properties\"\n ) : [],\n variables: variables?.length ? modifiedMappingData(variables, \"Select all Variables\") : [],\n expressions: expressions?.length ? modifiedMappingData(expressions, \"Select all Expressions\") : [],\n property: property?.length ? modifiedMappingData(property, \"Select all Properties\") : [],\n derivedQuestions: derivedQuestions?.length ? modifiedMappingData(derivedQuestions, \"Select all Derived Questions\") : []\n });\n } else {\n const [questions, variables, contactProperties, expressions] =\n await Promise.all([\n fetchSurveyQuestions(apiURL, surveyId, token),\n fetchSurveyVariables(apiURL, surveyId, token),\n fetchContactProperties(apiURL, token),\n fetchSurveyExpression(apiURL, surveyId, token)\n ]);\n setSSMappingData({\n questions: questions?.length ? modifiedMappingData(questions, \"Select all Questions\") : [],\n contactProperties: contactProperties?.length ? modifiedMappingData(\n contactProperties,\n \"Select all Contact Properties\"\n ) : [],\n variables: variables?.length ? modifiedMappingData(variables, \"Select all Variables\") : [],\n expressions: expressions?.length ? modifiedMappingData(expressions, \"Select all Expressions\") : [],\n property: mappingPropertyValues?.length ? modifiedMappingData(mappingPropertyValues, \"Select all Properties\") : []\n });\n }\n } catch (error) {\n console.error(error);\n } finally {\n setLoader(false);\n }\n };\n\n const handleFieldValues = (\n type: string,\n id: string | number,\n value: boolean\n ) => {\n if (id === \"ALL\") {\n setSSMappingData((prev: any) => ({\n ...prev,\n [type]: prev[type]?.map((mapping: any) => {\n return { ...mapping, isEnabled: value };\n })\n }));\n } else {\n let modifiedMappedField = ssMappingData[type]?.map((mapping: any) => {\n if (mapping?.id === id) {\n return { ...mapping, isEnabled: value };\n }\n return { ...mapping };\n });\n if (\n modifiedMappedField\n .filter((field: any) => field?.id !== \"ALL\")\n .every((field: any) => field.isEnabled)\n ) {\n modifiedMappedField = modifiedMappedField.map((field: any) => ({\n ...field,\n isEnabled: true\n }));\n } else {\n modifiedMappedField = modifiedMappedField.map((field: any) => {\n if (field?.id === \"ALL\") {\n return { ...field, isEnabled: false };\n }\n return field;\n });\n }\n\n const mappedFields = {\n ...ssMappingData,\n [type]: modifiedMappedField\n };\n setSSMappingData(mappedFields);\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: mappedFields\n });\n }\n };\n\n const getMappingCount = (mappingField: any) => {\n let count = 0;\n const mappedField = ssMappingData[mappingField];\n mappedField?.forEach((field: any) => {\n if (field?.id !== \"ALL\" && field.isEnabled) count += 1;\n });\n return count;\n };\n const getAllMappingCount = (mappingField: any) => {\n const mappedField = ssMappingData[mappingField];\n return mappedField?.length;\n };\n\n useEffect(() => {\n if (!editField?.id) {\n fetchInitalMappingData();\n } else if (!!editField?.id) {\n const { fieldValues: {\n mappedFields\n } } = editField;\n if(importResponse?.value?.importMethod === \"SELECTED_DATA\"){\n const processField = (field: any[], label: string) => {\n if (!field?.length) return [];\n if (field?.some(item => item.id === \"ALL\")) return field;\n return modifiedMappingData(field, label, field.every(item => item.isEnabled));\n };\n\n const updatedSSMappingData = {\n questions: processField(mappedFields?.questions, \"Select all Questions\"),\n variables: processField(mappedFields?.variables, \"Select all Variables\"), \n contactProperties: processField(mappedFields?.contactProperties, \"Select all Contact Properties\"),\n expressions: processField(mappedFields?.expressions, \"Select all Expressions\"),\n property: processField(mappedFields?.property, \"Select all Properties\"),\n derivedQuestions: processField(mappedFields?.derivedQuestions, \"Select all Enrich\")\n }\n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n } else {\n const {questions, variables, contactProperties, expressions, property, derivedQuestions} = surveyProperties\n const updatedSSMappingData = {\n questions: questions?.length ? questions : [],\n contactProperties: contactProperties?.length ? contactProperties : [],\n variables: variables?.length ? variables : [],\n expressions: expressions?.length ? expressions : [],\n property: property?.length ? property : [],\n derivedQuestions: derivedQuestions?.length ? derivedQuestions : []\n } \n setSSMappingData(updatedSSMappingData);\n setOriginalMappingData(updatedSSMappingData);\n }\n \n setLoader(false);\n } else {\n setLoader(false);\n }\n setIsInitialLoad(false);\n }, [token, surveyId]);\n\n\n useEffect(() => {\n if(importResponse?.value?.importMethod === \"SELECTED_DATA\"){\n if(!!editField?.id){\n const processField = (field: any[], label: string) => {\n if (!field.length) return [];\n if (field?.some(item => item.id === \"ALL\")) return field;\n return modifiedMappingData(field, label, field.every(item => item.isEnabled));\n };\n setSSMappingData({\n questions: processField(editField?.fieldValues?.mappedFields?.questions, \"Select all Questions\"),\n variables: processField(editField?.fieldValues?.mappedFields?.variables, \"Select all Variables\"),\n contactProperties: processField(editField?.fieldValues?.mappedFields?.contactProperties, \"Select all Contact Properties\"),\n expressions: processField(editField?.fieldValues?.mappedFields?.expressions, \"Select all Expressions\"),\n property: processField(editField?.fieldValues?.mappedFields?.property, \"Select all Properties\"),\n derivedQuestions: processField(editField?.fieldValues?.mappedFields?.derivedQuestions, \"Select all Enrich\")\n })} else {\n setSSMappingData({\n questions: ssMappingData?.questions?.some((question: any) => question.id === \"ALL\") ? ssMappingData?.questions : ssMappingData?.questions?.length ? modifiedMappingData(ssMappingData?.questions, \"Select all Questions\") : [],\n variables: ssMappingData?.variables?.some((variable: any) => variable.id === \"ALL\") ? ssMappingData?.variables : ssMappingData?.variables?.length ? modifiedMappingData(ssMappingData?.variables, \"Select all Variables\") : [],\n contactProperties: ssMappingData?.contactProperties?.some((contactProperty: any) => contactProperty.id === \"ALL\") ? ssMappingData?.contactProperties : ssMappingData?.contactProperties?.length ? modifiedMappingData(ssMappingData?.contactProperties, \"Select all Contact Properties\") : [],\n expressions: ssMappingData?.expressions?.some((expression: any) => expression.id === \"ALL\") ? ssMappingData?.expressions : ssMappingData?.expressions?.length ? modifiedMappingData(ssMappingData?.expressions, \"Select all Expressions\") : [],\n property: ssMappingData?.property?.some((property: any) => property.id === \"ALL\") ? ssMappingData?.property : ssMappingData?.property?.length ? modifiedMappingData(ssMappingData?.property, \"Select all Properties\") : [],\n derivedQuestions: ssMappingData?.derivedQuestions?.some((derivedQuestion: any) => derivedQuestion.id === \"ALL\") ? ssMappingData?.derivedQuestions : ssMappingData?.derivedQuestions?.length ? modifiedMappingData(ssMappingData?.derivedQuestions, \"Select all Derived Questions\") : []\n })\n }\n }\n }, [importResponse?.value?.importMethod])\n\n\n\n\n useEffect(() => {\n if (ssMappingData?.questions?.length || ssMappingData?.variables?.length || ssMappingData?.contactProperties?.length || ssMappingData?.expressions?.length || ssMappingData?.property?.length) {\n const updatedFieldValues = Object.keys(ssMappingData).reduce((acc: any, key: any) => {\n acc[key] = ssMappingData[key].map((field: any) => {\n if(importResponse?.value?.importMethod === \"SELECTED_DATA\"){\n return { ...field, isEnabled: field?.isEnabled };\n } else {\n if (field?.id !== \"ALL\") {\n return { ...field, isEnabled: true };\n }\n return field;\n }\n });\n return acc;\n }, {});\n setSSMappedFields(updatedFieldValues);\n if (importResponse?.value?.importMethod === \"SEND_ALL_DATA\") {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: updatedFieldValues\n })\n } else {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: ssMappingData\n })\n }\n }\n }, [ssMappingData]);\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"center\">\n {loader ? (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ height: \"calc(100vh - 57px)\" }}\n >\n <Spinner />\n </Flex>\n ) : (\n <Box css={{ maxWidth: 650, width: \"100%\", marginBlock: \"$40\" }}>\n {importResponse?.hasImportResponse ? (\n <Flex flexDirection=\"column\">\n <Heading\n size=\"h5\"\n css={{\n color: \"$neutral900\",\n }}\n >\n Select Import Data\n </Heading>\n {hasConditions ? (\n <Flex css={{\n marginTop: \"$3\",\n }}>\n {\" \"}\n {mappingConditions?.filterGroups?.length ? (\n <MappingCondition\n existingContions={mappingConditions}\n setExistingCondtions={setMappingConditions}\n conditionData={conditionData || []}\n renderTrigger={(onEditClick) => (\n <ConditionCard\n isEditable={true}\n conditionsData={mappingConditions}\n onEditClick={onEditClick}\n onClearClick={() =>\n setMappingConditions &&\n setMappingConditions(undefined)\n }\n showMoreMenu={true}\n />\n )}\n />\n ) : (\n <Flex gap=\"$2\" css={{ marginTop: \"$8\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {conditionDescription}\n </Text>\n <MappingCondition\n existingContions={mappingConditions}\n setExistingCondtions={setMappingConditions}\n conditionData={conditionData || []}\n />\n </Flex>\n )}\n </Flex>\n ) : null}\n <RadioGroup\n defaultValue={importResponse?.value?.importMethod}\n onChange={(value) => {\n importResponse.onChangeHandler({\n id: \"importMethod\",\n value: value,\n });\n if (value === \"SEND_ALL_DATA\") {\n importResponse.onChangeHandler({\n id: \"mappedFields\",\n value: SSMappedFields,\n });\n }\n }}\n >\n <Flex\n alignItems=\"center\"\n gap=\"$20\"\n css={{\n marginTop: \"$9\",\n \"& label\": { color: \"$neutral800\", cursor: \"pointer\" },\n }}\n >\n <Radio\n size=\"md\"\n value=\"SEND_ALL_DATA\"\n css={{\n cursor: \"pointer\",\n }}\n >\n Send all data\n </Radio>\n <Radio\n size=\"md\"\n value=\"SELECTED_DATA\"\n css={{\n cursor: \"pointer\",\n }}\n >\n Send selected data\n </Radio>\n </Flex>\n </RadioGroup>\n </Flex>\n ) : null}\n {importResponse?.value?.importMethod === \"SELECTED_DATA\" ? (\n <Box css={{ marginTop: \"$24\" }}>\n <Tabs defaultValue=\"QUESTIONS\">\n <TabsList\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n }}\n >\n {mappingTabValues.map((tab) => {\n if (\n tab.value === \"DERIVED_QUESTIONS\" &&\n getAllMappingCount(tab.placeholder) < 1\n ) {\n return <></>;\n } else {\n return (\n <TabsTrigger\n key={tab?.id}\n value={tab?.value}\n css={{\n padding: \"$6 $4 !important\",\n }}\n onClick={() => setSearchInput(\"\")}\n >\n <Text size=\"sm\" weight=\"bold\">\n {tab.name}\n </Text>\n {!!getMappingCount(tab.placeholder) && (\n <Chip\n css={{\n marginLeft: \"$2\",\n borderRadius: \"5px\",\n color: \"$neutral800\",\n }}\n variant=\"outline\"\n rounded=\"sm\"\n >\n {getMappingCount(tab.placeholder)}\n </Chip>\n )}\n </TabsTrigger>\n );\n }\n })}\n </TabsList>\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"QUESTIONS\"\n placeholder=\"Questions\"\n fields={ssMappingData?.questions}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"questions\", field?.id, value)\n }\n />\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n fields={ssMappingData.variables}\n value=\"VARIABLE\"\n placeholder=\"Variables\"\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"variables\", field?.id, value)\n }\n />\n <TabsContentComponent\n fields={ssMappingData.contactProperties}\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"CONTACT\"\n placeholder=\"Contacts\"\n handleFieldValues={(field, value) =>\n handleFieldValues(\"contactProperties\", field?.id, value)\n }\n />\n <TabsContentComponent\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n value=\"EXPRESSION\"\n placeholder=\"Expressions\"\n fields={ssMappingData.expressions}\n handleFieldValues={(field, value) =>\n handleFieldValues(\"expressions\", field?.id, value)\n }\n />\n <TabsContentComponent\n value=\"PROPERTY\"\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n placeholder=\"Properties\"\n fields={ssMappingData.property}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"property\", field?.id, value)\n }\n />\n <TabsContentComponent\n value=\"DERIVED_QUESTIONS\"\n searchInput={searchInput}\n setSearchInput={setSearchInput}\n placeholder=\"Derived Questions\"\n fields={ssMappingData.derivedQuestions}\n handleFieldValues={(field: any, value: boolean) =>\n handleFieldValues(\"derivedQuestions\", field?.id, value)\n }\n />\n </Tabs>\n </Box>\n ) : (\n <Flex css={{ marginTop: \"$16\" }} alignItems=\"center\" gap=\"$6\">\n <Text\n size=\"sm\"\n weight=\"regular\"\n css={{ width: \"90px\", color: \"$neutral900\" }}\n >\n This Includes:\n </Text>\n <Flex alignItems=\"center\" gap=\"$4\">\n {getAllMappingCount(\"questions\") - 1 > 0 ? (\n <CustomChip bgColor=\"#E5F2FF\">\n {\" \"}\n {getAllMappingCount(\"questions\") - 1} Questions\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"derivedQuestions\") - 1 > 0 ? (\n <CustomChip bgColor=\"#E5F2FF\">\n {\" \"}\n {getAllMappingCount(\"derivedQuestions\") - 1} Enrich\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"variables\") - 1 > 0 ? (\n <CustomChip bgColor=\"#E8F4E3\">\n {\" \"}\n {getAllMappingCount(\"variables\") - 1} Variables\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"contactProperties\") - 1 > 0 ? (\n <CustomChip bgColor=\"#FDEDE8\">\n {\" \"}\n {getAllMappingCount(\"contactProperties\") - 1} Contacts\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"expressions\") - 1 > 0 ? (\n <CustomChip bgColor=\"#F1F1F1\">\n {\" \"}\n {getAllMappingCount(\"expressions\") - 1} Expressions\n </CustomChip>\n ) : null}\n {getAllMappingCount(\"property\") - 1 > 0 ? (\n <CustomChip bgColor=\"#4A9CA626\">\n {\" \"}\n {getAllMappingCount(\"property\") - 1} Properties\n </CustomChip>\n ) : null}\n </Flex>\n </Flex>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n\nexport default Mapping;\n\nconst TabsContentComponent = ({\n value,\n searchInput,\n setSearchInput,\n fields,\n handleFieldValues,\n placeholder\n}: {\n value: string;\n searchInput: string;\n setSearchInput: React.Dispatch<React.SetStateAction<string>>;\n fields: any;\n handleFieldValues: (field: any, value: boolean) => void;\n placeholder: string;\n}) => {\n\n return (\n <TabsContent value={value} css={{ padding: 0, position: \"relative\" }} key={value}>\n <Input\n leftIcon={<SearchIcon color=\"#848484\" />}\n variant=\"filled\"\n placeholder={`Search ${placeholder}`}\n size=\"lg\"\n css={{ marginTop: \"$8\" }}\n value={searchInput}\n onChange={(event) => setSearchInput(event.currentTarget.value)}\n />\n <Flex\n css={{\n padding: \"$8 $4 $32 $4\",\n marginTop: \"$8\",\n height: \"calc(100vh - 408px)\",\n overflow: \"auto\",\n scrollbarWidth: \"thin\",\n \"&::-webkit-scrollbar\": {\n width: \"4px\"\n },\n \"& label\": {\n lineHeight: \"$sm\"\n }\n }}\n flexDirection=\"column\"\n gap=\"$8\"\n >\n {fields?.length && fields?.filter((field: any) => field.name?.toLowerCase().includes(searchInput.toLowerCase()))?.length ? (\n <>\n {fields?.filter((field: any) => field.name?.toLowerCase().includes(searchInput.toLowerCase())).map((field: any) => (\n <Box css={{\n label: {\n color: \"$neutral900\",\n fontSize: \"$sm\",\n maxWidth: \"520px\",\n display: \"block\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n cursor: \"pointer\",\n }\n }}>\n <Tooltip content={field.tooltip || \"\"} css={{\n fontFamily: \"DM Sans !important\",\n zIndex: \"9999999 !important\",\n }}>\n <Flex css={{ width: \"fit-content !important\" }}>\n <Checkbox\n size=\"sm\"\n checked={field.isEnabled}\n disabled={field.disabled}\n onChange={(value) => handleFieldValues(field, value as boolean)}\n >\n {field.name}\n </Checkbox>\n </Flex>\n </Tooltip>\n </Box>\n ))}\n </>\n ) : (\n <Flex\n alignItems=\"center\"\n justifyContent=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Text size=\"sm\">No Results Found</Text>\n </Flex>\n )}\n </Flex>\n <Box\n css={{\n position: \"absolute\",\n pointerEvents: \"none\",\n top: \"88%\",\n height: \"$25\",\n width: \"100%\",\n background:\n \"linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0))\"\n }}\n />\n </TabsContent>\n );\n};\n\n\nconst CustomChip = ({ children, bgColor, opacity }: { children: React.ReactNode, bgColor: string, opacity?: number }) => {\n return <Chip variant=\"solid\" css={{\n ...(opacity && {backgroundColor: bgColor }),\n ...(opacity && { backgroundColorOpacity: [bgColor, 0.3] }),\n background: bgColor,\n lineHeight: \"$sm\",\n fontWeight: \"$4\",\n fontFamily: \"'Roboto Mono', monospace !important\",\n \"& > * \": { fontFamily: \"'Roboto Mono', monospace !important\", fontWeight: \"$4 !important\" },\n }}>{children}</Chip>\n}"],"names":["_a","_b","_c","_d","React","value"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,UAAU,CAAC;AAAA,EACf,aAAA;AAAA,EACA,iBAAA;AAAA,EACA,oBAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAS,GAAA,gBAAA;AAAA,EACT,KAAA;AAAA,EACA,gBAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,gBAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AACF,CAAW,KAAA;AAjDX,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAkDE,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AACzC,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,EAAE,CAAA,CAAA;AACjD,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAA,QAAA,CAAgB,EAAE,CAAA,CAAA;AAE9D,EAAA,MAAM,mBAAsB,GAAA,CAAC,WAAkB,EAAA,WAAA,EAAqB,YAAqB,KAAU,KAAA;AACjG,IAAA,MAAM,MAAS,GAAA,WAAA,CAAY,GAAI,CAAA,CAAC,IAAW,KAAA;AAvD/C,MAAA,IAAAA,KAAAC,GAAAC,EAAAA,GAAAA,CAAAA;AAuDmD,MAAA,OAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAC1C,IAD0C,CAAA,EAAA;AAAA,QAE7C,KAAIF,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,EAAN,KAAA,IAAA,GAAAA,MAAY,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA;AAAA,QACtB,OAAMC,GAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,IAAN,KAAA,IAAA,GAAAA,MAAc,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA;AAAA,QAC1B,SAAWC,EAAAA,CAAAA,GAAAA,GAAA,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,SAAA,KAAN,OAAAA,GAAmB,GAAA,KAAA;AAAA,OAChC,CAAA,CAAA;AAAA,KAAE,CAAA,CAAA;AACF,IAAA,MAAA,CAAO,QAAQ,EAAE,EAAA,EAAI,OAAO,IAAM,EAAA,WAAA,EAAa,WAAsB,CAAA,CAAA;AACrE,IAAO,OAAA,MAAA,CAAA;AAAA,GACT,CAAA;AAEA,EAAA,MAAM,yBAAyB,YAAY;AAjE7C,IAAAF,IAAAA,GAAAA,CAAAA;AAkEI,IAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AACd,IAAI,IAAA;AACJ,MAAA,IAAG,gBAAiB,EAAA;AAClB,QAAA,MAAM,EAAC,SAAW,EAAA,SAAA,EAAW,mBAAmB,WAAa,EAAA,QAAA,EAAU,kBAAoB,GAAA,gBAAA,CAAA;AAC3F,QAAiB,gBAAA,CAAA;AAAA,UACf,YAAW,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,MAAA,IAAS,oBAAoB,SAAW,EAAA,sBAAsB,IAAI,EAAC;AAAA,UACzF,iBAAA,EAAA,CAAmB,uDAAmB,MAAS,IAAA,mBAAA;AAAA,YAC7C,iBAAA;AAAA,YACA,+BAAA;AAAA,cACE,EAAC;AAAA,UACL,YAAW,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,MAAA,IAAS,oBAAoB,SAAW,EAAA,sBAAsB,IAAI,EAAC;AAAA,UACzF,cAAa,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,MAAA,IAAS,oBAAoB,WAAa,EAAA,wBAAwB,IAAI,EAAC;AAAA,UACjG,WAAU,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,IAAS,oBAAoB,QAAU,EAAA,uBAAuB,IAAI,EAAC;AAAA,UACvF,mBAAkB,gBAAkB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,MAAA,IAAS,oBAAoB,gBAAkB,EAAA,8BAA8B,IAAI,EAAC;AAAA,SACvH,CAAA,CAAA;AAAA,OACI,MAAA;AACL,QAAM,MAAA,CAAC,WAAW,SAAW,EAAA,iBAAA,EAAmB,WAAW,CACzD,GAAA,MAAM,QAAQ,GAAI,CAAA;AAAA,UAChB,oBAAA,CAAqB,MAAQ,EAAA,QAAA,EAAU,KAAK,CAAA;AAAA,UAC5C,oBAAA,CAAqB,MAAQ,EAAA,QAAA,EAAU,KAAK,CAAA;AAAA,UAC5C,sBAAA,CAAuB,QAAQ,KAAK,CAAA;AAAA,UACpC,qBAAA,CAAsB,MAAQ,EAAA,QAAA,EAAU,KAAK,CAAA;AAAA,SAC9C,CAAA,CAAA;AACH,QAAiB,gBAAA,CAAA;AAAA,UACf,YAAW,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,MAAA,IAAS,oBAAoB,SAAW,EAAA,sBAAsB,IAAI,EAAC;AAAA,UACzF,iBAAA,EAAA,CAAmB,uDAAmB,MAAS,IAAA,mBAAA;AAAA,YAC7C,iBAAA;AAAA,YACA,+BAAA;AAAA,cACE,EAAC;AAAA,UACL,YAAW,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,MAAA,IAAS,oBAAoB,SAAW,EAAA,sBAAsB,IAAI,EAAC;AAAA,UACzF,cAAa,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,MAAA,IAAS,oBAAoB,WAAa,EAAA,wBAAwB,IAAI,EAAC;AAAA,UACjG,QAAA,EAAA,CAAA,CAAUA,MAAA,qBAAAA,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAuB,UAAS,mBAAoB,CAAA,qBAAA,EAAuB,uBAAuB,CAAA,GAAI,EAAC;AAAA,SAClH,CAAA,CAAA;AAAA,OACH;AAAA,aACS,KAAO,EAAA;AACd,MAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,KACnB,SAAA;AACA,MAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,KACjB;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,iBAAoB,GAAA,CACxB,IACA,EAAA,EAAA,EACA,KACG,KAAA;AA/GP,IAAAA,IAAAA,GAAAA,CAAAA;AAgHI,IAAA,IAAI,OAAO,KAAO,EAAA;AAChB,MAAA,gBAAA,CAAiB,CAAC,IAAW,KAAA;AAjHnC,QAAAA,IAAAA,GAAAA,CAAAA;AAiHuC,QAAA,OAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAC5B,IAD4B,CAAA,EAAA;AAAA,UAE/B,CAAC,IAAI,GAAA,CAAGA,GAAA,GAAA,IAAA,CAAK,IAAI,CAAA,KAAT,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAY,GAAI,CAAA,CAAC,OAAiB,KAAA;AACxC,YAAA,OAAO,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,CAAA,EAAL,EAAc,SAAA,EAAW,KAAM,EAAA,CAAA,CAAA;AAAA,WACxC,CAAA;AAAA,SACF,CAAA,CAAA;AAAA,OAAE,CAAA,CAAA;AAAA,KACG,MAAA;AACL,MAAI,IAAA,mBAAA,GAAA,CAAsBA,MAAA,aAAc,CAAA,IAAI,MAAlB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAqB,GAAI,CAAA,CAAC,OAAiB,KAAA;AACnE,QAAI,IAAA,CAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,QAAO,EAAI,EAAA;AACtB,UAAA,OAAO,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,CAAA,EAAL,EAAc,SAAA,EAAW,KAAM,EAAA,CAAA,CAAA;AAAA,SACxC;AACA,QAAA,OAAO,cAAK,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA;AAAA,OACd,CAAA,CAAA;AACA,MAAA,IACE,mBACG,CAAA,MAAA,CAAO,CAAC,KAAA,KAAA,CAAe,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,EAAA,MAAO,KAAK,CAAA,CAC1C,KAAM,CAAA,CAAC,KAAe,KAAA,KAAA,CAAM,SAAS,CACxC,EAAA;AACA,QAAA,mBAAA,GAAsB,mBAAoB,CAAA,GAAA,CAAI,CAAC,KAAA,KAAgB,iCAC1D,KAD0D,CAAA,EAAA;AAAA,UAE7D,SAAW,EAAA,IAAA;AAAA,SACX,CAAA,CAAA,CAAA;AAAA,OACG,MAAA;AACL,QAAsB,mBAAA,GAAA,mBAAA,CAAoB,GAAI,CAAA,CAAC,KAAe,KAAA;AAC5D,UAAI,IAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,QAAO,KAAO,EAAA;AACvB,YAAA,OAAO,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAL,EAAY,SAAA,EAAW,KAAM,EAAA,CAAA,CAAA;AAAA,WACtC;AACA,UAAO,OAAA,KAAA,CAAA;AAAA,SACR,CAAA,CAAA;AAAA,OACH;AAEA,MAAM,MAAA,YAAA,GAAe,iCAChB,aADgB,CAAA,EAAA;AAAA,QAEnB,CAAC,IAAI,GAAG,mBAAA;AAAA,OACV,CAAA,CAAA;AACA,MAAA,gBAAA,CAAiB,YAAY,CAAA,CAAA;AAC7B,MAAA,cAAA,CAAe,eAAgB,CAAA;AAAA,QAC7B,EAAI,EAAA,cAAA;AAAA,QACJ,KAAO,EAAA,YAAA;AAAA,OACR,CAAA,CAAA;AAAA,KACH;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,eAAA,GAAkB,CAAC,YAAsB,KAAA;AAC7C,IAAA,IAAI,KAAQ,GAAA,CAAA,CAAA;AACZ,IAAM,MAAA,WAAA,GAAc,cAAc,YAAY,CAAA,CAAA;AAC9C,IAAa,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,OAAA,CAAQ,CAAC,KAAe,KAAA;AACnC,MAAI,IAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,EAAO,MAAA,KAAA,IAAS,KAAM,CAAA,SAAA;AAAW,QAAS,KAAA,IAAA,CAAA,CAAA;AAAA,KACvD,CAAA,CAAA;AACA,IAAO,OAAA,KAAA,CAAA;AAAA,GACT,CAAA;AACA,EAAM,MAAA,kBAAA,GAAqB,CAAC,YAAsB,KAAA;AAChD,IAAM,MAAA,WAAA,GAAc,cAAc,YAAY,CAAA,CAAA;AAC9C,IAAA,OAAO,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,MAAA,CAAA;AAAA,GACtB,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AAzKlB,IAAAA,IAAAA,GAAAA,CAAAA;AA0KI,IAAI,IAAA,EAAC,uCAAW,EAAI,CAAA,EAAA;AAClB,MAAuB,sBAAA,EAAA,CAAA;AAAA,KACd,MAAA,IAAA,CAAC,EAAC,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAW,EAAI,CAAA,EAAA;AAC1B,MAAA,MAAM,EAAE,WAAa,EAAA;AAAA,QACnB,YAAA;AAAA,SACI,GAAA,SAAA,CAAA;AACN,MAAA,IAAA,CAAA,CAAGA,MAAA,cAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,KAAA,KAAhB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAuB,kBAAiB,eAAgB,EAAA;AACzD,QAAM,MAAA,YAAA,GAAe,CAAC,KAAA,EAAc,KAAkB,KAAA;AACpD,UAAA,IAAI,EAAC,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,MAAA,CAAA;AAAQ,YAAA,OAAO,EAAC,CAAA;AAC5B,UAAA,IAAI,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,EAAO,KAAA,KAAA,CAAA;AAAQ,YAAO,OAAA,KAAA,CAAA;AACnD,UAAO,OAAA,mBAAA,CAAoB,OAAO,KAAO,EAAA,KAAA,CAAM,MAAM,CAAQ,IAAA,KAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAA;AAAA,SAC9E,CAAA;AAEA,QAAA,MAAM,oBAAuB,GAAA;AAAA,UAC3B,SAAW,EAAA,YAAA,CAAa,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,SAAA,EAAW,sBAAsB,CAAA;AAAA,UACvE,SAAW,EAAA,YAAA,CAAa,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,SAAA,EAAW,sBAAsB,CAAA;AAAA,UACvE,iBAAmB,EAAA,YAAA,CAAa,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,iBAAA,EAAmB,+BAA+B,CAAA;AAAA,UAChG,WAAa,EAAA,YAAA,CAAa,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,WAAA,EAAa,wBAAwB,CAAA;AAAA,UAC7E,QAAU,EAAA,YAAA,CAAa,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,QAAA,EAAU,uBAAuB,CAAA;AAAA,UACtE,gBAAkB,EAAA,YAAA,CAAa,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,gBAAA,EAAkB,mBAAmB,CAAA;AAAA,SACpF,CAAA;AACA,QAAA,gBAAA,CAAiB,oBAAoB,CAAA,CAAA;AACrC,QAAA,sBAAA,CAAuB,oBAAoB,CAAA,CAAA;AAAA,OACtC,MAAA;AACL,QAAA,MAAM,EAAC,SAAW,EAAA,SAAA,EAAW,mBAAmB,WAAa,EAAA,QAAA,EAAU,kBAAoB,GAAA,gBAAA,CAAA;AAC3F,QAAA,MAAM,oBAAuB,GAAA;AAAA,UAC3B,SAAW,EAAA,CAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAW,MAAS,IAAA,SAAA,GAAY,EAAC;AAAA,UAC5C,iBAAmB,EAAA,CAAA,iBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAmB,MAAS,IAAA,iBAAA,GAAoB,EAAC;AAAA,UACpE,SAAW,EAAA,CAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAW,MAAS,IAAA,SAAA,GAAY,EAAC;AAAA,UAC5C,WAAa,EAAA,CAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAa,MAAS,IAAA,WAAA,GAAc,EAAC;AAAA,UAClD,QAAU,EAAA,CAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,MAAS,IAAA,QAAA,GAAW,EAAC;AAAA,UACzC,gBAAkB,EAAA,CAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,MAAS,IAAA,gBAAA,GAAmB,EAAC;AAAA,SACnE,CAAA;AACA,QAAA,gBAAA,CAAiB,oBAAoB,CAAA,CAAA;AACrC,QAAA,sBAAA,CAAuB,oBAAoB,CAAA,CAAA;AAAA,OAC7C;AAEA,MAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,KACV,MAAA;AACL,MAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAAA,KACjB;AACA,IAAA,gBAAA,CAAiB,KAAK,CAAA,CAAA;AAAA,GACrB,EAAA,CAAC,KAAO,EAAA,QAAQ,CAAC,CAAA,CAAA;AAGpB,EAAA,SAAA,CAAU,MAAM;AAvNlB,IAAAA,IAAAA,GAAAA,EAAAC,GAAAC,EAAAA,GAAAA,EAAAC,GAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAwNI,IAAA,IAAA,CAAA,CAAGH,MAAA,cAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,KAAA,KAAhB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAuB,kBAAiB,eAAgB,EAAA;AACzD,MAAG,IAAA,CAAC,EAAC,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAW,EAAG,CAAA,EAAA;AACjB,QAAM,MAAA,YAAA,GAAe,CAAC,KAAA,EAAc,KAAkB,KAAA;AACpD,UAAA,IAAI,CAAC,KAAM,CAAA,MAAA;AAAQ,YAAA,OAAO,EAAC,CAAA;AAC3B,UAAA,IAAI,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,EAAO,KAAA,KAAA,CAAA;AAAQ,YAAO,OAAA,KAAA,CAAA;AACnD,UAAO,OAAA,mBAAA,CAAoB,OAAO,KAAO,EAAA,KAAA,CAAM,MAAM,CAAQ,IAAA,KAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAA;AAAA,SAC9E,CAAA;AACF,QAAiB,gBAAA,CAAA;AAAA,UACf,SAAW,EAAA,YAAA,CAAA,CAAaE,GAAAD,GAAAA,CAAAA,GAAAA,GAAA,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,WAAA,KAAX,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAwB,YAAxB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAC,GAAsC,CAAA,SAAA,EAAW,sBAAsB,CAAA;AAAA,UAC/F,SAAA,EAAW,YAAa,CAAA,CAAA,EAAA,GAAA,CAAAC,GAAA,GAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAW,WAAX,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAwB,CAAA,YAAA,KAAxB,IAAsC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,EAAW,sBAAsB,CAAA;AAAA,UAC/F,iBAAA,EAAmB,cAAa,EAAW,GAAA,CAAA,EAAA,GAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,WAAA,KAAX,mBAAwB,YAAxB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsC,mBAAmB,+BAA+B,CAAA;AAAA,UACxH,WAAA,EAAa,cAAa,EAAW,GAAA,CAAA,EAAA,GAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,WAAA,KAAX,mBAAwB,YAAxB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsC,aAAa,wBAAwB,CAAA;AAAA,UACrG,QAAA,EAAU,cAAa,EAAW,GAAA,CAAA,EAAA,GAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,WAAA,KAAX,mBAAwB,YAAxB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsC,UAAU,uBAAuB,CAAA;AAAA,UAC9F,gBAAA,EAAkB,cAAa,EAAW,GAAA,CAAA,EAAA,GAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,WAAA,KAAX,mBAAwB,YAAxB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsC,kBAAkB,mBAAmB,CAAA;AAAA,SAC3G,CAAA,CAAA;AAAA,OAAQ,MAAA;AACP,QAAiB,gBAAA,CAAA;AAAA,UACf,SAAA,EAAA,CAAA,CAAW,oDAAe,SAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA0B,KAAK,CAAC,QAAA,KAAkB,SAAS,EAAO,KAAA,KAAA,CAAA,IAAS,+CAAe,SAAY,GAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,cAAf,IAA0B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,IAAS,oBAAoB,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,SAAA,EAAW,sBAAsB,CAAA,GAAI,EAAC;AAAA,UAC7N,SAAA,EAAA,CAAA,CAAW,oDAAe,SAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA0B,KAAK,CAAC,QAAA,KAAkB,SAAS,EAAO,KAAA,KAAA,CAAA,IAAS,+CAAe,SAAY,GAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,cAAf,IAA0B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,IAAS,oBAAoB,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,SAAA,EAAW,sBAAsB,CAAA,GAAI,EAAC;AAAA,UAC7N,iBAAA,EAAA,CAAA,CAAmB,oDAAe,iBAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkC,KAAK,CAAC,eAAA,KAAyB,gBAAgB,EAAO,KAAA,KAAA,CAAA,IAAS,+CAAe,iBAAoB,GAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,sBAAf,IAAkC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,IAAS,oBAAoB,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,iBAAA,EAAmB,+BAA+B,CAAA,GAAI,EAAC;AAAA,UAC5R,WAAA,EAAA,CAAA,CAAa,oDAAe,WAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA4B,KAAK,CAAC,UAAA,KAAoB,WAAW,EAAO,KAAA,KAAA,CAAA,IAAS,+CAAe,WAAc,GAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,gBAAf,IAA4B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,IAAS,oBAAoB,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,WAAA,EAAa,wBAAwB,CAAA,GAAI,EAAC;AAAA,UAC7O,QAAA,EAAA,CAAA,CAAU,oDAAe,QAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAyB,KAAK,CAAC,QAAA,KAAkB,SAAS,EAAO,KAAA,KAAA,CAAA,IAAS,+CAAe,QAAW,GAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,aAAf,IAAyB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,IAAS,oBAAoB,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,QAAA,EAAU,uBAAuB,CAAA,GAAI,EAAC;AAAA,UACzN,gBAAA,EAAA,CAAA,CAAkB,oDAAe,gBAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAiC,KAAK,CAAC,eAAA,KAAyB,gBAAgB,EAAO,KAAA,KAAA,CAAA,IAAS,+CAAe,gBAAmB,GAAA,CAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,qBAAf,IAAiC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,IAAS,oBAAoB,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,gBAAA,EAAkB,8BAA8B,CAAA,GAAI,EAAC;AAAA,SACvR,CAAA,CAAA;AAAA,OACH;AAAA,KACF;AAAA,KACC,CAAC,CAAA,EAAA,GAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAgB,KAAhB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,YAAY,CAAC,CAAA,CAAA;AAKxC,EAAA,SAAA,CAAU,MAAM;AAtPlB,IAAAH,IAAAA,GAAAA,EAAAC,GAAAC,EAAAA,GAAAA,EAAAC,GAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAuPI,IAAIH,IAAAA,CAAAA,CAAAA,GAAAA,GAAA,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,SAAA,KAAf,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAA0B,MAAUC,MAAAA,CAAAA,GAAAA,GAAA,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,SAAA,KAAf,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAA0B,MAAUC,CAAAA,KAAAA,CAAAA,GAAAA,GAAA,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,iBAAA,KAAf,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAkC,MAAUC,CAAAA,KAAAA,CAAAA,GAAAA,GAAA,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,WAAA,KAAf,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAA4B,MAAU,CAAA,KAAA,CAAA,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,QAAf,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAyB,MAAQ,CAAA,EAAA;AAC7L,MAAM,MAAA,kBAAA,GAAqB,OAAO,IAAK,CAAA,aAAa,EAAE,MAAO,CAAA,CAAC,KAAU,GAAa,KAAA;AACnF,QAAA,GAAA,CAAI,GAAG,CAAI,GAAA,aAAA,CAAc,GAAG,CAAE,CAAA,GAAA,CAAI,CAAC,KAAe,KAAA;AAzP1D,UAAAH,IAAAA,GAAAA,CAAAA;AA0PU,UAAA,IAAA,CAAA,CAAGA,MAAA,cAAgB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,KAAA,KAAhB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAuB,kBAAiB,eAAgB,EAAA;AACzD,YAAA,OAAO,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAL,EAAY,SAAA,EAAW,+BAAO,SAAU,EAAA,CAAA,CAAA;AAAA,WAC1C,MAAA;AACL,YAAI,IAAA,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,QAAO,KAAO,EAAA;AACvB,cAAA,OAAO,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAL,EAAY,SAAA,EAAW,IAAK,EAAA,CAAA,CAAA;AAAA,aACrC;AACA,YAAO,OAAA,KAAA,CAAA;AAAA,WACT;AAAA,SACD,CAAA,CAAA;AACD,QAAO,OAAA,GAAA,CAAA;AAAA,OACT,EAAG,EAAE,CAAA,CAAA;AACL,MAAA,iBAAA,CAAkB,kBAAkB,CAAA,CAAA;AACpC,MAAA,IAAA,CAAA,CAAI,EAAgB,GAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,KAAA,KAAhB,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,MAAiB,eAAiB,EAAA;AAC3D,QAAA,cAAA,CAAe,eAAgB,CAAA;AAAA,UAC7B,EAAI,EAAA,cAAA;AAAA,UACJ,KAAO,EAAA,kBAAA;AAAA,SACR,CAAA,CAAA;AAAA,OACI,MAAA;AACL,QAAA,cAAA,CAAe,eAAgB,CAAA;AAAA,UAC7B,EAAI,EAAA,cAAA;AAAA,UACJ,KAAO,EAAA,aAAA;AAAA,SACR,CAAA,CAAA;AAAA,OACH;AAAA,KACF;AAAA,GACF,EAAG,CAAC,aAAa,CAAC,CAAA,CAAA;AAElB,EAAA,oDACG,IAAK,EAAA,EAAA,UAAA,EAAW,QAAS,EAAA,cAAA,EAAe,YACtC,MACC,mBAAAI,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,UAAW,EAAA,QAAA;AAAA,MACX,cAAe,EAAA,QAAA;AAAA,MACf,GAAA,EAAK,EAAE,MAAA,EAAQ,oBAAqB,EAAA;AAAA,KAAA;AAAA,iDAEnC,OAAQ,EAAA,IAAA,CAAA;AAAA,sBAGVA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,GAAK,EAAA,EAAE,UAAU,GAAK,EAAA,KAAA,EAAO,MAAQ,EAAA,WAAA,EAAa,OACpD,EAAA,EAAA,CAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAgB,qCACdA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,eAAc,QAClB,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,IAAA;AAAA,MACL,GAAK,EAAA;AAAA,QACH,KAAO,EAAA,aAAA;AAAA,OACT;AAAA,KAAA;AAAA,IACD,oBAAA;AAAA,GAGA,EAAA,aAAA,mBACEA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,GAAK,EAAA;AAAA,IACT,SAAW,EAAA,IAAA;AAAA,GAEV,EAAA,EAAA,GAAA,EAAA,CAAA,CACA,EAAmB,GAAA,iBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAA,YAAA,KAAnB,mBAAiC,MAChC,oBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,gBAAkB,EAAA,iBAAA;AAAA,MAClB,oBAAsB,EAAA,oBAAA;AAAA,MACtB,aAAA,EAAe,iBAAiB,EAAC;AAAA,MACjC,aAAA,EAAe,CAAC,WACd,qBAAAA,cAAA,CAAA,aAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACC,UAAY,EAAA,IAAA;AAAA,UACZ,cAAgB,EAAA,iBAAA;AAAA,UAChB,WAAA;AAAA,UACA,YAAc,EAAA,MACZ,oBACA,IAAA,oBAAA,CAAqB,KAAS,CAAA,CAAA;AAAA,UAEhC,YAAc,EAAA,IAAA;AAAA,SAAA;AAAA,OAChB;AAAA,KAAA;AAAA,GAEJ,gDAEC,IAAK,EAAA,EAAA,GAAA,EAAI,MAAK,GAAK,EAAA,EAAE,WAAW,IAAK,EAAA,EAAA,+CACnC,IAAK,EAAA,EAAA,IAAA,EAAK,MAAK,GAAK,EAAA,EAAE,OAAO,aAAc,EAAA,EAAA,EACzC,oBACH,CACA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,gBAAkB,EAAA,iBAAA;AAAA,MAClB,oBAAsB,EAAA,oBAAA;AAAA,MACtB,aAAA,EAAe,iBAAiB,EAAC;AAAA,KAAA;AAAA,GAErC,CAEJ,CAAA,GACE,IACJ,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAA,CAAc,EAAgB,GAAA,cAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,cAAA,CAAA,KAAA,KAAhB,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA;AAAA,MACrC,QAAA,EAAU,CAAC,KAAU,KAAA;AACnB,QAAA,cAAA,CAAe,eAAgB,CAAA;AAAA,UAC7B,EAAI,EAAA,cAAA;AAAA,UACJ,KAAA;AAAA,SACD,CAAA,CAAA;AACD,QAAA,IAAI,UAAU,eAAiB,EAAA;AAC7B,UAAA,cAAA,CAAe,eAAgB,CAAA;AAAA,YAC7B,EAAI,EAAA,cAAA;AAAA,YACJ,KAAO,EAAA,cAAA;AAAA,WACR,CAAA,CAAA;AAAA,SACH;AAAA,OACF;AAAA,KAAA;AAAA,oBAEAA,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,UAAW,EAAA,QAAA;AAAA,QACX,GAAI,EAAA,KAAA;AAAA,QACJ,GAAK,EAAA;AAAA,UACH,SAAW,EAAA,IAAA;AAAA,UACX,SAAW,EAAA,EAAE,KAAO,EAAA,aAAA,EAAe,QAAQ,SAAU,EAAA;AAAA,SACvD;AAAA,OAAA;AAAA,sBAEAA,cAAA,CAAA,aAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,IAAA;AAAA,UACL,KAAM,EAAA,eAAA;AAAA,UACN,GAAK,EAAA;AAAA,YACH,MAAQ,EAAA,SAAA;AAAA,WACV;AAAA,SAAA;AAAA,QACD,eAAA;AAAA,OAED;AAAA,sBACAA,cAAA,CAAA,aAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,IAAA;AAAA,UACL,KAAM,EAAA,eAAA;AAAA,UACN,GAAK,EAAA;AAAA,YACH,MAAQ,EAAA,SAAA;AAAA,WACV;AAAA,SAAA;AAAA,QACD,oBAAA;AAAA,OAED;AAAA,KACF;AAAA,GAEJ,CACE,GAAA,IAAA,EAAA,CAAA,CACH,sDAAgB,KAAhB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAuB,kBAAiB,eACvC,mBAAAA,cAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,GAAA,EAAK,EAAE,SAAW,EAAA,KAAA,sBACpBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,cAAa,WACjB,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,YAAc,EAAA,oCAAA;AAAA,OAChB;AAAA,KAAA;AAAA,IAEC,gBAAA,CAAiB,GAAI,CAAA,CAAC,GAAQ,KAAA;AAC7B,MAAA,IACE,IAAI,KAAU,KAAA,mBAAA,IACd,mBAAmB,GAAI,CAAA,WAAW,IAAI,CACtC,EAAA;AACA,QAAA,uBAASA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAAA,OACJ,MAAA;AACL,QACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YACC,KAAK,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,EAAA;AAAA,YACV,OAAO,GAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,KAAA;AAAA,YACZ,GAAK,EAAA;AAAA,cACH,OAAS,EAAA,kBAAA;AAAA,aACX;AAAA,YACA,OAAA,EAAS,MAAM,cAAA,CAAe,EAAE,CAAA;AAAA,WAAA;AAAA,uDAE/B,IAAK,EAAA,EAAA,IAAA,EAAK,MAAK,MAAO,EAAA,MAAA,EAAA,EACpB,IAAI,IACP,CAAA;AAAA,UACC,CAAC,CAAC,eAAgB,CAAA,GAAA,CAAI,WAAW,CAChC,oBAAAA,cAAA,CAAA,aAAA;AAAA,YAAC,IAAA;AAAA,YAAA;AAAA,cACC,GAAK,EAAA;AAAA,gBACH,UAAY,EAAA,IAAA;AAAA,gBACZ,YAAc,EAAA,KAAA;AAAA,gBACd,KAAO,EAAA,aAAA;AAAA,eACT;AAAA,cACA,OAAQ,EAAA,SAAA;AAAA,cACR,OAAQ,EAAA,IAAA;AAAA,aAAA;AAAA,YAEP,eAAA,CAAgB,IAAI,WAAW,CAAA;AAAA,WAClC;AAAA,SAEJ,CAAA;AAAA,OAEJ;AAAA,KACD,CAAA;AAAA,GAEH,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,WAAA;AAAA,MACA,cAAA;AAAA,MACA,KAAM,EAAA,WAAA;AAAA,MACN,WAAY,EAAA,WAAA;AAAA,MACZ,QAAQ,aAAe,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAA,SAAA;AAAA,MACvB,iBAAA,EAAmB,CAAC,KAAY,EAAA,KAAA,KAC9B,kBAAkB,WAAa,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAI,KAAK,CAAA;AAAA,KAAA;AAAA,GAGnD,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,WAAA;AAAA,MACA,cAAA;AAAA,MACA,QAAQ,aAAc,CAAA,SAAA;AAAA,MACtB,KAAM,EAAA,UAAA;AAAA,MACN,WAAY,EAAA,WAAA;AAAA,MACZ,iBAAA,EAAmB,CAAC,KAAY,EAAA,KAAA,KAC9B,kBAAkB,WAAa,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAI,KAAK,CAAA;AAAA,KAAA;AAAA,GAGnD,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,QAAQ,aAAc,CAAA,iBAAA;AAAA,MACtB,WAAA;AAAA,MACA,cAAA;AAAA,MACA,KAAM,EAAA,SAAA;AAAA,MACN,WAAY,EAAA,UAAA;AAAA,MACZ,iBAAA,EAAmB,CAAC,KAAO,EAAA,KAAA,KACzB,kBAAkB,mBAAqB,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAI,KAAK,CAAA;AAAA,KAAA;AAAA,GAG3D,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,WAAA;AAAA,MACA,cAAA;AAAA,MACA,KAAM,EAAA,YAAA;AAAA,MACN,WAAY,EAAA,aAAA;AAAA,MACZ,QAAQ,aAAc,CAAA,WAAA;AAAA,MACtB,iBAAA,EAAmB,CAAC,KAAO,EAAA,KAAA,KACzB,kBAAkB,aAAe,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAI,KAAK,CAAA;AAAA,KAAA;AAAA,GAGrD,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,UAAA;AAAA,MACN,WAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAY,EAAA,YAAA;AAAA,MACZ,QAAQ,aAAc,CAAA,QAAA;AAAA,MACtB,iBAAA,EAAmB,CAAC,KAAY,EAAA,KAAA,KAC9B,kBAAkB,UAAY,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAI,KAAK,CAAA;AAAA,KAAA;AAAA,GAGlD,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,KAAM,EAAA,mBAAA;AAAA,MACN,WAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAY,EAAA,mBAAA;AAAA,MACZ,QAAQ,aAAc,CAAA,gBAAA;AAAA,MACtB,iBAAA,EAAmB,CAAC,KAAY,EAAA,KAAA,KAC9B,kBAAkB,kBAAoB,EAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,IAAI,KAAK,CAAA;AAAA,KAAA;AAAA,GAG5D,CACF,CAEA,mBAAAA,cAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,GAAA,EAAK,EAAE,SAAA,EAAW,KAAM,EAAA,EAAG,UAAW,EAAA,QAAA,EAAS,KAAI,IACvD,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,IAAA;AAAA,MACL,MAAO,EAAA,SAAA;AAAA,MACP,GAAK,EAAA,EAAE,KAAO,EAAA,MAAA,EAAQ,OAAO,aAAc,EAAA;AAAA,KAAA;AAAA,IAC5C,gBAAA;AAAA,GAED,kBACCA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,UAAW,EAAA,QAAA,EAAS,KAAI,IAC3B,EAAA,EAAA,kBAAA,CAAmB,WAAW,CAAA,GAAI,CAAI,GAAA,CAAA,gDACpC,UAAW,EAAA,EAAA,OAAA,EAAQ,SACjB,EAAA,EAAA,GAAA,EACA,kBAAmB,CAAA,WAAW,IAAI,CAAE,EAAA,YACvC,CACE,GAAA,IAAA,EACH,kBAAmB,CAAA,kBAAkB,IAAI,CAAI,GAAA,CAAA,mBAC3CA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,OAAQ,EAAA,SAAA,EAAA,EACjB,KACA,kBAAmB,CAAA,kBAAkB,CAAI,GAAA,CAAA,EAAE,SAC9C,CAAA,GACE,MACH,kBAAmB,CAAA,WAAW,CAAI,GAAA,CAAA,GAAI,CACrC,mBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,SACjB,EAAA,EAAA,GAAA,EACA,kBAAmB,CAAA,WAAW,CAAI,GAAA,CAAA,EAAE,YACvC,CACE,GAAA,IAAA,EACH,kBAAmB,CAAA,mBAAmB,CAAI,GAAA,CAAA,GAAI,oBAC5CA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,OAAQ,EAAA,SAAA,EAAA,EACjB,GACA,EAAA,kBAAA,CAAmB,mBAAmB,CAAI,GAAA,CAAA,EAAE,WAC/C,CAAA,GACE,IACH,EAAA,kBAAA,CAAmB,aAAa,CAAA,GAAI,CAAI,GAAA,CAAA,mBACtCA,cAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,OAAQ,EAAA,SAAA,EAAA,EACjB,KACA,kBAAmB,CAAA,aAAa,CAAI,GAAA,CAAA,EAAE,cACzC,CAAA,GACE,MACH,kBAAmB,CAAA,UAAU,CAAI,GAAA,CAAA,GAAI,CACpC,mBAAAA,cAAA,CAAA,aAAA,CAAC,cAAW,OAAQ,EAAA,WAAA,EAAA,EACjB,GACA,EAAA,kBAAA,CAAmB,UAAU,CAAA,GAAI,CAAE,EAAA,aACtC,CACE,GAAA,IACN,CACF,CAEJ,CAEJ,CAAA,CAAA;AAEJ,EAAA;AAIA,MAAM,uBAAuB,CAAC;AAAA,EAC5B,KAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,iBAAA;AAAA,EACA,WAAA;AACF,CAOM,KAAA;AA9iBN,EAAA,IAAA,EAAA,CAAA;AAgjBE,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,WAAY,EAAA,EAAA,KAAA,EAAc,GAAK,EAAA,EAAE,OAAS,EAAA,CAAA,EAAG,QAAU,EAAA,UAAA,EAAc,EAAA,GAAA,EAAK,KACzE,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,QAAU,kBAAAA,cAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,KAAA,EAAM,SAAU,EAAA,CAAA;AAAA,MACtC,OAAQ,EAAA,QAAA;AAAA,MACR,WAAA,EAAa,UAAU,WAAW,CAAA,CAAA;AAAA,MAClC,IAAK,EAAA,IAAA;AAAA,MACL,GAAA,EAAK,EAAE,SAAA,EAAW,IAAK,EAAA;AAAA,MACvB,KAAO,EAAA,WAAA;AAAA,MACP,UAAU,CAAC,KAAA,KAAU,cAAe,CAAA,KAAA,CAAM,cAAc,KAAK,CAAA;AAAA,KAAA;AAAA,GAE/D,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,OAAS,EAAA,cAAA;AAAA,QACT,SAAW,EAAA,IAAA;AAAA,QACX,MAAQ,EAAA,qBAAA;AAAA,QACR,QAAU,EAAA,MAAA;AAAA,QACV,cAAgB,EAAA,MAAA;AAAA,QAChB,sBAAwB,EAAA;AAAA,UACtB,KAAO,EAAA,KAAA;AAAA,SACT;AAAA,QACA,SAAW,EAAA;AAAA,UACT,UAAY,EAAA,KAAA;AAAA,SACd;AAAA,OACF;AAAA,MACA,aAAc,EAAA,QAAA;AAAA,MACd,GAAI,EAAA,IAAA;AAAA,KAAA;AAAA,IAAA,CAEH,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,MAAA,MAAA,CAAU,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,MAAA,CAAO,CAAC,KAAY,KAAA;AA5kBvD,MAAAJ,IAAAA,GAAAA,CAAAA;AA4kB0D,MAAAA,OAAAA,CAAAA,GAAAA,GAAA,MAAM,IAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAY,WAAc,EAAA,CAAA,QAAA,CAAS,YAAY,WAAY,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA,KAA1F,mBAA+F,MAChH,CAAA,mBAAAI,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACG,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,MAAA,CAAO,CAAC,KAAY,KAAA;AA9kBzC,MAAAJ,IAAAA,GAAAA,CAAAA;AA8kB4C,MAAAA,OAAAA,CAAAA,GAAAA,GAAA,MAAM,IAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAY,WAAc,EAAA,CAAA,QAAA,CAAS,YAAY,WAAY,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAI,GAAI,CAAA,CAAC,KACpG,qBAAAI,cAAA,CAAA,aAAA,CAAC,OAAI,GAAK,EAAA;AAAA,MACR,KAAO,EAAA;AAAA,QACL,KAAO,EAAA,aAAA;AAAA,QACP,QAAU,EAAA,KAAA;AAAA,QACV,QAAU,EAAA,OAAA;AAAA,QACV,OAAS,EAAA,OAAA;AAAA,QACT,QAAU,EAAA,QAAA;AAAA,QACV,YAAc,EAAA,UAAA;AAAA,QACd,UAAY,EAAA,QAAA;AAAA,QACZ,MAAQ,EAAA,SAAA;AAAA,OACV;AAAA,yBAEEA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA,EAAQ,SAAS,KAAM,CAAA,OAAA,IAAW,IAAI,GAAK,EAAA;AAAA,MAC3C,UAAY,EAAA,oBAAA;AAAA,MACZ,MAAQ,EAAA,oBAAA;AAAA,yBAEVA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,KAAK,EAAE,KAAA,EAAO,0BACpB,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACE,IAAK,EAAA,IAAA;AAAA,QACL,SAAS,KAAM,CAAA,SAAA;AAAA,QACf,UAAU,KAAM,CAAA,QAAA;AAAA,QAChB,QAAU,EAAA,CAACC,MAAU,KAAA,iBAAA,CAAkB,OAAOA,MAAgB,CAAA;AAAA,OAAA;AAAA,MAE7D,KAAM,CAAA,IAAA;AAAA,KAEV,CACC,CACD,CAAA,CAEH,CAEA,mBAAAD,cAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,UAAW,EAAA,QAAA;AAAA,QACX,cAAe,EAAA,QAAA;AAAA,QACf,GAAA,EAAK,EAAE,SAAA,EAAW,KAAM,EAAA;AAAA,OAAA;AAAA,sBAEvBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAK,EAAA,IAAA,EAAA,EAAK,kBAAgB,CAAA;AAAA,KAClC;AAAA,GAGJ,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,QAAU,EAAA,UAAA;AAAA,QACV,aAAe,EAAA,MAAA;AAAA,QACf,GAAK,EAAA,KAAA;AAAA,QACL,MAAQ,EAAA,KAAA;AAAA,QACR,KAAO,EAAA,MAAA;AAAA,QACP,UACE,EAAA,mGAAA;AAAA,OACJ;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ,CAAA,CAAA;AAGA,MAAM,aAAa,CAAC,EAAE,QAAU,EAAA,OAAA,EAAS,SAAgF,KAAA;AACvH,EAAA,oDAAQ,IAAK,EAAA,EAAA,OAAA,EAAQ,SAAQ,GAAK,EAAA,aAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAC5B,WAAW,EAAC,eAAA,EAAiB,OAAQ,EAAA,CAAA,EACrC,WAAW,EAAE,sBAAA,EAAwB,CAAC,OAAS,EAAA,GAAG,GAFtB,CAAA,EAAA;AAAA,IAGhC,UAAY,EAAA,OAAA;AAAA,IACZ,UAAY,EAAA,KAAA;AAAA,IACZ,UAAY,EAAA,IAAA;AAAA,IACZ,UAAY,EAAA,qCAAA;AAAA,IACZ,QAAU,EAAA,EAAE,UAAY,EAAA,qCAAA,EAAuC,YAAY,eAAgB,EAAA;AAAA,QACzF,QAAS,CAAA,CAAA;AACf,CAAA;;;;"}