@owp/core 2.5.41 → 2.5.42

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 (862) hide show
  1. package/dist/_virtual/Autosuggest.js.map +1 -1
  2. package/dist/_virtual/Autowhatever.js.map +1 -1
  3. package/dist/_virtual/Barcode.js.map +1 -1
  4. package/dist/_virtual/CODE128.js.map +1 -1
  5. package/dist/_virtual/CODE128A.js.map +1 -1
  6. package/dist/_virtual/CODE128B.js.map +1 -1
  7. package/dist/_virtual/CODE128C.js.map +1 -1
  8. package/dist/_virtual/CODE128_AUTO.js.map +1 -1
  9. package/dist/_virtual/CODE93.js.map +1 -1
  10. package/dist/_virtual/CODE93FullASCII.js.map +1 -1
  11. package/dist/_virtual/EAN.js.map +1 -1
  12. package/dist/_virtual/EAN13.js.map +1 -1
  13. package/dist/_virtual/EAN2.js.map +1 -1
  14. package/dist/_virtual/EAN5.js.map +1 -1
  15. package/dist/_virtual/EAN8.js.map +1 -1
  16. package/dist/_virtual/ErrorHandler.js.map +1 -1
  17. package/dist/_virtual/ITF.js.map +1 -1
  18. package/dist/_virtual/ITF14.js.map +1 -1
  19. package/dist/_virtual/Item.js.map +1 -1
  20. package/dist/_virtual/ItemList.js.map +1 -1
  21. package/dist/_virtual/JsBarcode.js.map +1 -1
  22. package/dist/_virtual/MSI.js.map +1 -1
  23. package/dist/_virtual/MSI10.js.map +1 -1
  24. package/dist/_virtual/MSI1010.js.map +1 -1
  25. package/dist/_virtual/MSI11.js.map +1 -1
  26. package/dist/_virtual/MSI1110.js.map +1 -1
  27. package/dist/_virtual/SectionTitle.js.map +1 -1
  28. package/dist/_virtual/UPC.js.map +1 -1
  29. package/dist/_virtual/UPCE.js.map +1 -1
  30. package/dist/_virtual/___vite-browser-external.js.map +1 -1
  31. package/dist/_virtual/__vite-browser-external.js.map +1 -1
  32. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  33. package/dist/_virtual/_virtual_owp-exceljs-browser-source.js.map +1 -1
  34. package/dist/_virtual/alignment-pattern.js.map +1 -1
  35. package/dist/_virtual/auto.js.map +1 -1
  36. package/dist/_virtual/browser.js.map +1 -1
  37. package/dist/_virtual/browser2.js.map +1 -1
  38. package/dist/_virtual/canvas.js.map +1 -1
  39. package/dist/_virtual/canvas2.js.map +1 -1
  40. package/dist/_virtual/checksums.js.map +1 -1
  41. package/dist/_virtual/compareObjects.js.map +1 -1
  42. package/dist/_virtual/constants.js.map +1 -1
  43. package/dist/_virtual/constants2.js.map +1 -1
  44. package/dist/_virtual/constants3.js.map +1 -1
  45. package/dist/_virtual/constants4.js.map +1 -1
  46. package/dist/_virtual/customParseFormat.js.map +1 -1
  47. package/dist/_virtual/customParseFormat2.js.map +1 -1
  48. package/dist/_virtual/defaults.js.map +1 -1
  49. package/dist/_virtual/dijkstra.js.map +1 -1
  50. package/dist/_virtual/en.js.map +1 -1
  51. package/dist/_virtual/en2.js.map +1 -1
  52. package/dist/_virtual/encoder.js.map +1 -1
  53. package/dist/_virtual/error-correction-code.js.map +1 -1
  54. package/dist/_virtual/error-correction-level.js.map +1 -1
  55. package/dist/_virtual/exceptions.js.map +1 -1
  56. package/dist/_virtual/finder-pattern.js.map +1 -1
  57. package/dist/_virtual/fixOptions.js.map +1 -1
  58. package/dist/_virtual/format-info.js.map +1 -1
  59. package/dist/_virtual/galois-field.js.map +1 -1
  60. package/dist/_virtual/getOptionsFromElement.js.map +1 -1
  61. package/dist/_virtual/getRenderProperties.js.map +1 -1
  62. package/dist/_virtual/hoist-non-react-statics.cjs.js.map +1 -1
  63. package/dist/_virtual/index.js.map +1 -1
  64. package/dist/_virtual/index10.js +2 -2
  65. package/dist/_virtual/index10.js.map +1 -1
  66. package/dist/_virtual/index11.js.map +1 -1
  67. package/dist/_virtual/index12.js +2 -2
  68. package/dist/_virtual/index12.js.map +1 -1
  69. package/dist/_virtual/index13.js +2 -2
  70. package/dist/_virtual/index13.js.map +1 -1
  71. package/dist/_virtual/index14.js +2 -2
  72. package/dist/_virtual/index14.js.map +1 -1
  73. package/dist/_virtual/index15.js.map +1 -1
  74. package/dist/_virtual/index16.js.map +1 -1
  75. package/dist/_virtual/index17.js.map +1 -1
  76. package/dist/_virtual/index18.js.map +1 -1
  77. package/dist/_virtual/index19.js.map +1 -1
  78. package/dist/_virtual/index2.js.map +1 -1
  79. package/dist/_virtual/index20.js.map +1 -1
  80. package/dist/_virtual/index21.js.map +1 -1
  81. package/dist/_virtual/index22.js.map +1 -1
  82. package/dist/_virtual/index23.js.map +1 -1
  83. package/dist/_virtual/index3.js +2 -2
  84. package/dist/_virtual/index3.js.map +1 -1
  85. package/dist/_virtual/index4.js +2 -2
  86. package/dist/_virtual/index4.js.map +1 -1
  87. package/dist/_virtual/index5.js.map +1 -1
  88. package/dist/_virtual/index6.js.map +1 -1
  89. package/dist/_virtual/index7.js.map +1 -1
  90. package/dist/_virtual/index8.js.map +1 -1
  91. package/dist/_virtual/index9.js.map +1 -1
  92. package/dist/_virtual/isBetween.js.map +1 -1
  93. package/dist/_virtual/isBetween2.js.map +1 -1
  94. package/dist/_virtual/isoWeek.js.map +1 -1
  95. package/dist/_virtual/isoWeek2.js.map +1 -1
  96. package/dist/_virtual/jsx-runtime.js.map +1 -1
  97. package/dist/_virtual/jsx-runtime2.js.map +1 -1
  98. package/dist/_virtual/ko.js.map +1 -1
  99. package/dist/_virtual/ko2.js.map +1 -1
  100. package/dist/_virtual/linearizeEncodings.js.map +1 -1
  101. package/dist/_virtual/mask-pattern.js.map +1 -1
  102. package/dist/_virtual/merge.js.map +1 -1
  103. package/dist/_virtual/mobile-detect.js.map +1 -1
  104. package/dist/_virtual/mobile-detect2.js.map +1 -1
  105. package/dist/_virtual/mode.js.map +1 -1
  106. package/dist/_virtual/object.js.map +1 -1
  107. package/dist/_virtual/optionsFromStrings.js.map +1 -1
  108. package/dist/_virtual/polynomial.js.map +1 -1
  109. package/dist/_virtual/qrcode.js.map +1 -1
  110. package/dist/_virtual/react-is.development.js.map +1 -1
  111. package/dist/_virtual/react-is.production.min.js.map +1 -1
  112. package/dist/_virtual/react-jsx-runtime.development.js.map +1 -1
  113. package/dist/_virtual/react-jsx-runtime.production.js.map +1 -1
  114. package/dist/_virtual/regex.js.map +1 -1
  115. package/dist/_virtual/segments.js.map +1 -1
  116. package/dist/_virtual/shared.js.map +1 -1
  117. package/dist/_virtual/svg-tag.js.map +1 -1
  118. package/dist/_virtual/svg.js.map +1 -1
  119. package/dist/_virtual/theme.js.map +1 -1
  120. package/dist/_virtual/utils.js.map +1 -1
  121. package/dist/_virtual/utils2.js.map +1 -1
  122. package/dist/_virtual/version-check.js.map +1 -1
  123. package/dist/_virtual/version.js.map +1 -1
  124. package/dist/_virtual/weekday.js.map +1 -1
  125. package/dist/_virtual/weekday2.js.map +1 -1
  126. package/dist/colors/chart/colorMap.js.map +1 -1
  127. package/dist/colors/chart.js.map +1 -1
  128. package/dist/colors/palettes/dark.js.map +1 -1
  129. package/dist/colors/palettes/skyBlue.js.map +1 -1
  130. package/dist/colors.js.map +1 -1
  131. package/dist/components/OwpAutoLogoutDialog/OwpAutoLogoutDialog.js.map +1 -1
  132. package/dist/components/OwpBarcodeInput/OwpBarcodeInputField.js.map +1 -1
  133. package/dist/components/OwpCommonCode/OwpCommonCodeQuerySelector.js.map +1 -1
  134. package/dist/components/OwpCommonCode/OwpCommonCodeRadioGroup.js.map +1 -1
  135. package/dist/components/OwpCommonCode/OwpCommonCodeSelector.js.map +1 -1
  136. package/dist/components/OwpDialog/OwpAlertDialog.js.map +1 -1
  137. package/dist/components/OwpDialog/OwpDialog.js.map +1 -1
  138. package/dist/components/OwpDialog/internal/useDialogOpenFocusCleanup.js.map +1 -1
  139. package/dist/components/OwpErrorBoundary/OwpErrorBoundary.js.map +1 -1
  140. package/dist/components/OwpErrorStatusPage/OwpErrorStatusPage.js.map +1 -1
  141. package/dist/components/OwpExportExcelButton/OwpExportExcelButton.js.map +1 -1
  142. package/dist/components/OwpFieldHelperText/OwpFieldHelperText.js.map +1 -1
  143. package/dist/components/OwpFilePickerButton/OwpFilePickerButton.js.map +1 -1
  144. package/dist/components/OwpHidden/OwpHidden.js.map +1 -1
  145. package/dist/components/OwpLanguageSwitcherSelect/OwpLanguageSwitcherSelect.js.map +1 -1
  146. package/dist/components/OwpLayout/OwpLayout.js.map +1 -1
  147. package/dist/components/OwpLoading/OwpLoading.js.map +1 -1
  148. package/dist/components/OwpMoreActionsButton/OwpMoreActionsButton.js.map +1 -1
  149. package/dist/components/OwpNavLinkAdapter/OwpNavLinkAdapter.js.map +1 -1
  150. package/dist/components/OwpNumberField/OwpNumberField.js.map +1 -1
  151. package/dist/components/OwpOptionSelector/OwpOptionSelector.js.map +1 -1
  152. package/dist/components/OwpPageBreadcrumb/OwpPageBreadcrumb.js.map +1 -1
  153. package/dist/components/OwpPageCarded/OwpPageCarded.js.map +1 -1
  154. package/dist/components/OwpPageCarded/internal/OwpPageCardedHeader.js.map +1 -1
  155. package/dist/components/OwpPageCarded/internal/OwpPageCardedSidebar.js.map +1 -1
  156. package/dist/components/OwpPageCarded/internal/OwpPageCardedSidebarContent.js.map +1 -1
  157. package/dist/components/OwpPageContent/OwpPageContent.js.map +1 -1
  158. package/dist/components/OwpPageLockLoading/OwpPageLockLoading.js.map +1 -1
  159. package/dist/components/OwpPageSkeleton/OwpPageSkeleton.js.map +1 -1
  160. package/dist/components/OwpPageTitle/OwpPageTitle.js.map +1 -1
  161. package/dist/components/OwpPicker/OwpDatePicker.js +250 -248
  162. package/dist/components/OwpPicker/OwpDatePicker.js.map +1 -1
  163. package/dist/components/OwpPicker/OwpDateRangePicker.js +134 -125
  164. package/dist/components/OwpPicker/OwpDateRangePicker.js.map +1 -1
  165. package/dist/components/OwpPicker/OwpTimePicker.js +24 -24
  166. package/dist/components/OwpPicker/OwpTimePicker.js.map +1 -1
  167. package/dist/components/OwpPicker/OwpWeekDatePicker.js +353 -61
  168. package/dist/components/OwpPicker/OwpWeekDatePicker.js.map +1 -1
  169. package/dist/components/OwpPicker/constants/index.js +16 -6
  170. package/dist/components/OwpPicker/constants/index.js.map +1 -1
  171. package/dist/components/OwpPicker/hooks/useOwpDatePickerCalendarHeaderState.js.map +1 -0
  172. package/dist/components/OwpPicker/hooks/useOwpPickerPopperTransition.js +33 -0
  173. package/dist/components/OwpPicker/hooks/useOwpPickerPopperTransition.js.map +1 -0
  174. package/dist/components/OwpPicker/internal/AnimatedCalendarContainer.js +14 -13
  175. package/dist/components/OwpPicker/internal/AnimatedCalendarContainer.js.map +1 -1
  176. package/dist/components/OwpPicker/internal/CalendarContainer.js.map +1 -1
  177. package/dist/components/OwpPicker/internal/DatePickerInput.js +58 -49
  178. package/dist/components/OwpPicker/internal/DatePickerInput.js.map +1 -1
  179. package/dist/components/OwpPicker/internal/OwpDatePickerCalendarHeader.js.map +1 -1
  180. package/dist/components/OwpPicker/{internal → styles}/pickerEditorStyles.js +15 -19
  181. package/dist/components/OwpPicker/styles/pickerEditorStyles.js.map +1 -0
  182. package/dist/components/OwpPicker/utils/index.js.map +1 -1
  183. package/dist/components/OwpPicker/utils/parseDatePickerValue.js +38 -0
  184. package/dist/components/OwpPicker/utils/parseDatePickerValue.js.map +1 -0
  185. package/dist/components/OwpQuerySelector/OwpQuerySelector.js.map +1 -1
  186. package/dist/components/OwpRequiredHelperText/OwpRequiredHelperText.js.map +1 -1
  187. package/dist/components/OwpScrollbars/OwpScrollbars.js.map +1 -1
  188. package/dist/components/OwpSearchFilter/OwpSearchFilter.js +8 -8
  189. package/dist/components/OwpSearchFilter/OwpSearchFilter.js.map +1 -1
  190. package/dist/components/OwpSection/OwpSection.js.map +1 -1
  191. package/dist/components/OwpSelectorBase/OwpSelectorAutocomplete.js.map +1 -1
  192. package/dist/components/OwpSelectorBase/OwpSelectorBase.js.map +1 -1
  193. package/dist/components/OwpSelectorBase/OwpSelectorSelect.js.map +1 -1
  194. package/dist/components/OwpSelectorBase/hooks/useOwpSelectorBase.js.map +1 -1
  195. package/dist/components/OwpSelectorBase/selectorBaseStyles.js.map +1 -1
  196. package/dist/components/OwpSelectorBase/utils/querySelectorUtils.js.map +1 -1
  197. package/dist/components/OwpSnackbarContent/OwpSnackbarContent.js.map +1 -1
  198. package/dist/components/OwpStyleProvider/OwpStyleProvider.js.map +1 -1
  199. package/dist/components/OwpSuspense/OwpSuspense.js.map +1 -1
  200. package/dist/components/OwpSvgIcon/OwpSvgIcon.js.map +1 -1
  201. package/dist/components/OwpTable/OwpDataTable.js.map +1 -1
  202. package/dist/components/OwpTable/OwpFieldTable.js.map +1 -1
  203. package/dist/components/OwpTable/OwpTable.js.map +1 -1
  204. package/dist/components/OwpTable/internal/FieldTableValue.js.map +1 -1
  205. package/dist/components/OwpTable/internal/OwpTableBase.js.map +1 -1
  206. package/dist/components/OwpTable/internal/OwpTableTotalCount.js.map +1 -1
  207. package/dist/components/OwpTable/internal/defaultTableStyle.js.map +1 -1
  208. package/dist/components/OwpTable/internal/treeGridTableStyle.js.map +1 -1
  209. package/dist/components/OwpTable/utils/tableSx.js.map +1 -1
  210. package/dist/components/OwpTabs/OwpTab.js.map +1 -1
  211. package/dist/components/OwpTabs/OwpTabs.js.map +1 -1
  212. package/dist/components/OwpTextField/OwpTextMaskField.js.map +1 -1
  213. package/dist/components/OwpTreeGrid/OwpTreeGrid.js.map +1 -1
  214. package/dist/components/OwpTreeGrid/OwpTreeGridToolbar.js.map +1 -1
  215. package/dist/components/OwpTreeGrid/TreeGrid.js.map +1 -1
  216. package/dist/components/OwpTreeGrid/internal/OwpTreeGridErrorTooltip.js.map +1 -1
  217. package/dist/components/OwpTreeGrid/internal/OwpTreeGridLoadingOverlay.js.map +1 -1
  218. package/dist/components/OwpTreeGrid/internal/OwpTreeGridNoDataOverlay.js.map +1 -1
  219. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js +10 -10
  220. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridDatePickerEditor.js.map +1 -1
  221. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridErrorTooltip.js.map +1 -1
  222. package/dist/components/OwpTreeGrid/internal/hooks/useOwpTreeGridOverlayFrame.js.map +1 -1
  223. package/dist/components/OwpTreeGrid/internal/treeGridLayout.js.map +1 -1
  224. package/dist/components/OwpTreeGrid/internal/treeGridRuntime.js.map +1 -1
  225. package/dist/components/OwpTreeGrid/internal/treeGridSelection.js.map +1 -1
  226. package/dist/components/OwpTreeGrid/internal/treeGridTheme.js.map +1 -1
  227. package/dist/components/OwpTreeGrid/internal/utils/perf.js.map +1 -1
  228. package/dist/components/OwpTreeGridExportExcelButton/OwpTreeGridExportExcelButton.js.map +1 -1
  229. package/dist/components/OwpTreeGridResetChangesButton/OwpTreeGridResetChangesButton.js.map +1 -1
  230. package/dist/components/OwpYesNoSelector/OwpYesNoSelector.js.map +1 -1
  231. package/dist/components/OwpZoomImageSlider/OwpZoomImageSlider.js.map +1 -1
  232. package/dist/components/OwpZoomImageSlider/internal/ZoomImage.js.map +1 -1
  233. package/dist/configs/defaultConfig.js.map +1 -1
  234. package/dist/configs/layoutConfig.js.map +1 -1
  235. package/dist/configs/theme.js.map +1 -1
  236. package/dist/constants/excel.js.map +1 -1
  237. package/dist/constants/gridTheme.js.map +1 -1
  238. package/dist/constants/language.js.map +1 -1
  239. package/dist/constants/localStorageKeys.js.map +1 -1
  240. package/dist/constants/storageKeys.js.map +1 -1
  241. package/dist/constants/table.js.map +1 -1
  242. package/dist/constants/tableTheme.js.map +1 -1
  243. package/dist/constants/treeGrid.js.map +1 -1
  244. package/dist/constants.js.map +1 -1
  245. package/dist/contexts/OwpAppProvider.js.map +1 -1
  246. package/dist/contexts/OwpCoreProvider.js.map +1 -1
  247. package/dist/contexts/OwpStoreProvider.js.map +1 -1
  248. package/dist/contexts/OwpUiProvider.js.map +1 -1
  249. package/dist/contexts.js.map +1 -1
  250. package/dist/dayjs.js.map +1 -1
  251. package/dist/features/themePreview/components/ThemePreviewCanvas.js.map +1 -1
  252. package/dist/features/themePreview/components/ThemePreviewCanvasSections.js.map +1 -1
  253. package/dist/features/themePreview/components/ThemePreviewColorField.js.map +1 -1
  254. package/dist/features/themePreview/components/ThemePreviewControls.js.map +1 -1
  255. package/dist/features/themePreview/components/themePreviewCanvas.icons.js.map +1 -1
  256. package/dist/features/themePreview/components/themePreviewCanvas.shared.js.map +1 -1
  257. package/dist/features/themePreview/configs/grid.js.map +1 -1
  258. package/dist/features/themePreview/configs/presets.js.map +1 -1
  259. package/dist/features/themePreview/configs/previewStorage.js.map +1 -1
  260. package/dist/features/themePreview/configs/settings.js.map +1 -1
  261. package/dist/features/themePreview/configs/snackbar.js.map +1 -1
  262. package/dist/features/themePreview/configs/surface.js.map +1 -1
  263. package/dist/features/themePreview/configs/table.js.map +1 -1
  264. package/dist/features/themePreview/defs/ThemePreviewGridDef.xml.js.map +1 -1
  265. package/dist/features/themePreview/defs/ThemePreviewReadonlyGridDef.xml.js.map +1 -1
  266. package/dist/features/themePreview/dialogs/ThemePreviewDialog.js.map +1 -1
  267. package/dist/features/themePreview/hooks/useThemePreview.js.map +1 -1
  268. package/dist/features/themePreview/utils/color.js.map +1 -1
  269. package/dist/features/themePreview/utils/themePreviewDefinitions.js.map +1 -1
  270. package/dist/features/themePreview/utils/themePreviewExport.js.map +1 -1
  271. package/dist/features/themePreview/utils/themePreviewSettings.js.map +1 -1
  272. package/dist/features/themePreview.js.map +1 -1
  273. package/dist/hooks/internal/useAccessTokenGuard.js.map +1 -1
  274. package/dist/hooks/internal/useCurrentLanguage.js.map +1 -1
  275. package/dist/hooks/internal/useHeaderWrapState.js.map +1 -1
  276. package/dist/hooks/internal/useInitCommonCodes.js.map +1 -1
  277. package/dist/hooks/internal/useNavbar.js.map +1 -1
  278. package/dist/hooks/internal/useNavigationActiveRouteRemount.js.map +1 -1
  279. package/dist/hooks/internal/useShortcuts.js.map +1 -1
  280. package/dist/hooks/internal/useThemeMediaQuery.js.map +1 -1
  281. package/dist/hooks/internal/useTimeout.js.map +1 -1
  282. package/dist/hooks/useCommonCodeList.js.map +1 -1
  283. package/dist/hooks/useConfirm.js.map +1 -1
  284. package/dist/hooks/useCurrentUser.js.map +1 -1
  285. package/dist/hooks/useCurrentUserId.js.map +1 -1
  286. package/dist/hooks/useCurrentUserSeq.js.map +1 -1
  287. package/dist/hooks/useFormDataUploadMutation.js.map +1 -1
  288. package/dist/hooks/useInitApp.js.map +1 -1
  289. package/dist/hooks/useLogoSrc.js.map +1 -1
  290. package/dist/hooks/useMinimumVisibleState.js.map +1 -1
  291. package/dist/hooks/useNavigation.js.map +1 -1
  292. package/dist/hooks/useOwpDialogs.js.map +1 -1
  293. package/dist/hooks/useOwpSettings.js.map +1 -1
  294. package/dist/hooks/useOwpTranslation.js.map +1 -1
  295. package/dist/hooks/usePageLockLoading.js.map +1 -1
  296. package/dist/hooks/useStorage.js.map +1 -1
  297. package/dist/hooks/useTreeGridCommonCodeEnums.js.map +1 -1
  298. package/dist/hooks/useTreeGridEnums.js.map +1 -1
  299. package/dist/hooks/useTreeGridExcelExport.js.map +1 -1
  300. package/dist/hooks.js.map +1 -1
  301. package/dist/index.js +81 -83
  302. package/dist/index.js.map +1 -1
  303. package/dist/layout/Layout.js.map +1 -1
  304. package/dist/layout/components/layouts/FooterLayout.js.map +1 -1
  305. package/dist/layout/components/layouts/NavbarToggleFabLayout.js.map +1 -1
  306. package/dist/layout/components/layouts/NavbarWrapperLayout.js.map +1 -1
  307. package/dist/layout/components/logo/Logo.js.map +1 -1
  308. package/dist/layout/components/menus/LogoutMenu.js.map +1 -1
  309. package/dist/layout/components/menus/PasswordChangeMenu.js.map +1 -1
  310. package/dist/layout/components/menus/UserMenu.js.map +1 -1
  311. package/dist/layout/components/navbar/NavbarPinToggleButton.js.map +1 -1
  312. package/dist/layout/components/navbar/NavbarToggleButton.js.map +1 -1
  313. package/dist/layout/components/navbar/NavbarToggleFab.js.map +1 -1
  314. package/dist/layout/components/navbar/style/NavbarStyle.js.map +1 -1
  315. package/dist/layout/components/navbar/style/NavbarStyleContent.js.map +1 -1
  316. package/dist/layout/components/navigation/NavBadge.js.map +1 -1
  317. package/dist/layout/components/navigation/NavItem.js.map +1 -1
  318. package/dist/layout/components/navigation/Navigation.js.map +1 -1
  319. package/dist/layout/components/navigation/NavigationMenu.js.map +1 -1
  320. package/dist/layout/components/navigation/vertical/NavVerticalLayout.js.map +1 -1
  321. package/dist/layout/components/navigation/vertical/types/NavVerticalCollapse.js.map +1 -1
  322. package/dist/layout/components/navigation/vertical/types/NavVerticalGroup.js.map +1 -1
  323. package/dist/layout/components/navigation/vertical/types/NavVerticalItem.js.map +1 -1
  324. package/dist/layout/components/navigation/vertical/types/NavVerticalLink.js.map +1 -1
  325. package/dist/layout/components/toggles/FullScreenToggle.js.map +1 -1
  326. package/dist/layout/components/toggles/LanguageSwitcherToggle.js.map +1 -1
  327. package/dist/layout/components/toggles/LogoutToggle.js.map +1 -1
  328. package/dist/layout/components/toggles/NavigationSearchToggle.js.map +1 -1
  329. package/dist/layout/components/toggles/NavigationShortcutsToggle.js.map +1 -1
  330. package/dist/layout/components/toggles/ThemePreviewToggle.js.map +1 -1
  331. package/dist/layout/components/toggles/toggleStyles.js.map +1 -1
  332. package/dist/layout/components/toolbar/ToolbarLayout.js.map +1 -1
  333. package/dist/layout/themeLayoutConfigs.js.map +1 -1
  334. package/dist/layout/themeLayouts.js.map +1 -1
  335. package/dist/node_modules/.pnpm/@emotion_cache@11.14.0/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js.map +1 -1
  336. package/dist/node_modules/.pnpm/@emotion_hash@0.9.2/node_modules/@emotion/hash/dist/emotion-hash.esm.js.map +1 -1
  337. package/dist/node_modules/.pnpm/@emotion_memoize@0.9.0/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js.map +1 -1
  338. package/dist/node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/dist/emotion-element-f0de968e.browser.esm.js.map +1 -1
  339. package/dist/node_modules/.pnpm/@emotion_react@11.14.0_@types_react@19.2.14_react@19.2.4/node_modules/@emotion/react/jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js.map +1 -1
  340. package/dist/node_modules/.pnpm/@emotion_serialize@1.3.3/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js.map +1 -1
  341. package/dist/node_modules/.pnpm/@emotion_sheet@1.4.0/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js.map +1 -1
  342. package/dist/node_modules/.pnpm/@emotion_unitless@0.10.0/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -1
  343. package/dist/node_modules/.pnpm/@emotion_use-insertion-effect-with-fallbacks@1.2.0_react@19.2.4/node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js.map +1 -1
  344. package/dist/node_modules/.pnpm/@emotion_utils@1.4.2/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js.map +1 -1
  345. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
  346. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  347. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
  348. package/dist/node_modules/.pnpm/@floating-ui_react@0.27.16_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.js.map +1 -1
  349. package/dist/node_modules/.pnpm/@floating-ui_react@0.27.16_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.utils.js.map +1 -1
  350. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
  351. package/dist/node_modules/.pnpm/@floating-ui_utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
  352. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/AccessTime.js.map +1 -1
  353. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ArrowBackIosNew.js.map +1 -1
  354. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ArrowDropDown.js.map +1 -1
  355. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ArrowDropUp.js.map +1 -1
  356. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ArrowForwardIos.js.map +1 -1
  357. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/CalendarMonth.js.map +1 -1
  358. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/CancelRounded.js.map +1 -1
  359. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/CheckCircleOutline.js.map +1 -1
  360. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ChevronLeft.js.map +1 -1
  361. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ChevronRight.js.map +1 -1
  362. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/Clear.js.map +1 -1
  363. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/Close.js.map +1 -1
  364. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/DownloadOutlined.js.map +1 -1
  365. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/ErrorOutline.js.map +1 -1
  366. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/Fitbit.js.map +1 -1
  367. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/InfoOutlined.js.map +1 -1
  368. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/KeyboardArrowUpRounded.js.map +1 -1
  369. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/MenuRounded.js.map +1 -1
  370. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/MoreVert.js.map +1 -1
  371. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/NavigateNext.js.map +1 -1
  372. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/NotificationsNoneOutlined.js.map +1 -1
  373. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/PaletteOutlined.js.map +1 -1
  374. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestartAlt.js.map +1 -1
  375. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestartAltOutlined.js.map +1 -1
  376. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/RestoreOutlined.js.map +1 -1
  377. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SaveOutlined.js.map +1 -1
  378. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/Search.js.map +1 -1
  379. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/SpaceDashboardOutlined.js.map +1 -1
  380. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/UnfoldLess.js.map +1 -1
  381. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/UploadFileOutlined.js.map +1 -1
  382. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/Visibility.js.map +1 -1
  383. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/VisibilityOff.js.map +1 -1
  384. package/dist/node_modules/.pnpm/@mui_icons-material@7.3.9_@mui_material@7.3.9_@emotion_react@11.14.0_@types_react@19.2._dc2be6bc014bebdac88a574e3e02c144/node_modules/@mui/icons-material/esm/WarningAmberRounded.js.map +1 -1
  385. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/match/index.js.map +1 -1
  386. package/dist/node_modules/.pnpm/autosuggest-highlight@3.3.4/node_modules/autosuggest-highlight/parse/index.js.map +1 -1
  387. package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js.map +1 -1
  388. package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js.map +1 -1
  389. package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js.map +1 -1
  390. package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js.map +1 -1
  391. package/dist/node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js.map +1 -1
  392. package/dist/node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js.map +1 -1
  393. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -1
  394. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  395. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  396. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  397. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  398. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  399. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  400. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/normalizeDates.js.map +1 -1
  401. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/_lib/protectedTokens.js.map +1 -1
  402. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addDays.js.map +1 -1
  403. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addHours.js.map +1 -1
  404. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addMilliseconds.js.map +1 -1
  405. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addMinutes.js.map +1 -1
  406. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addMonths.js.map +1 -1
  407. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addQuarters.js.map +1 -1
  408. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addSeconds.js.map +1 -1
  409. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addWeeks.js.map +1 -1
  410. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addYears.js.map +1 -1
  411. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constants.js.map +1 -1
  412. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/constructFrom.js.map +1 -1
  413. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarDays.js.map +1 -1
  414. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarMonths.js.map +1 -1
  415. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarQuarters.js.map +1 -1
  416. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInCalendarYears.js.map +1 -1
  417. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/differenceInDays.js.map +1 -1
  418. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfDay.js.map +1 -1
  419. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfMonth.js.map +1 -1
  420. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfWeek.js.map +1 -1
  421. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/endOfYear.js.map +1 -1
  422. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/format.js.map +1 -1
  423. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDate.js.map +1 -1
  424. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDay.js.map +1 -1
  425. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDayOfYear.js.map +1 -1
  426. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDaysInMonth.js.map +1 -1
  427. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getDefaultOptions.js.map +1 -1
  428. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getHours.js.map +1 -1
  429. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISODay.js.map +1 -1
  430. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeek.js.map +1 -1
  431. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  432. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getMinutes.js.map +1 -1
  433. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getMonth.js.map +1 -1
  434. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getQuarter.js.map +1 -1
  435. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getSeconds.js.map +1 -1
  436. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getTime.js.map +1 -1
  437. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeek.js.map +1 -1
  438. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getWeekYear.js.map +1 -1
  439. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/getYear.js.map +1 -1
  440. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isAfter.js.map +1 -1
  441. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isBefore.js.map +1 -1
  442. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isDate.js.map +1 -1
  443. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isEqual.js.map +1 -1
  444. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameDay.js.map +1 -1
  445. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameMonth.js.map +1 -1
  446. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameQuarter.js.map +1 -1
  447. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isSameYear.js.map +1 -1
  448. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isValid.js.map +1 -1
  449. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/isWithinInterval.js.map +1 -1
  450. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  451. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  452. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  453. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  454. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  455. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -1
  456. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -1
  457. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  458. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -1
  459. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/en-US.js.map +1 -1
  460. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/ko/_lib/formatDistance.js.map +1 -1
  461. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/ko/_lib/formatLong.js.map +1 -1
  462. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/ko/_lib/formatRelative.js.map +1 -1
  463. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/ko/_lib/localize.js.map +1 -1
  464. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/ko/_lib/match.js.map +1 -1
  465. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/locale/ko.js.map +1 -1
  466. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/max.js.map +1 -1
  467. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/min.js.map +1 -1
  468. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/Parser.js.map +1 -1
  469. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/Setter.js.map +1 -1
  470. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/constants.js.map +1 -1
  471. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -1
  472. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -1
  473. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -1
  474. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -1
  475. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -1
  476. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -1
  477. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -1
  478. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -1
  479. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -1
  480. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -1
  481. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -1
  482. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -1
  483. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -1
  484. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -1
  485. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -1
  486. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -1
  487. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -1
  488. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -1
  489. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -1
  490. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -1
  491. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -1
  492. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -1
  493. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -1
  494. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -1
  495. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -1
  496. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -1
  497. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -1
  498. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -1
  499. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -1
  500. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -1
  501. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -1
  502. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/parsers.js.map +1 -1
  503. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse/_lib/utils.js.map +1 -1
  504. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parse.js.map +1 -1
  505. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/parseISO.js.map +1 -1
  506. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setDay.js.map +1 -1
  507. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setHours.js.map +1 -1
  508. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setISODay.js.map +1 -1
  509. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setISOWeek.js.map +1 -1
  510. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setMinutes.js.map +1 -1
  511. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setMonth.js.map +1 -1
  512. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setQuarter.js.map +1 -1
  513. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setSeconds.js.map +1 -1
  514. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setWeek.js.map +1 -1
  515. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/setYear.js.map +1 -1
  516. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfDay.js.map +1 -1
  517. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  518. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfISOWeekYear.js.map +1 -1
  519. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfMonth.js.map +1 -1
  520. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfQuarter.js.map +1 -1
  521. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeek.js.map +1 -1
  522. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  523. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/startOfYear.js.map +1 -1
  524. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subDays.js.map +1 -1
  525. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subMonths.js.map +1 -1
  526. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subQuarters.js.map +1 -1
  527. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subWeeks.js.map +1 -1
  528. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subYears.js.map +1 -1
  529. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/toDate.js.map +1 -1
  530. package/dist/node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/transpose.js.map +1 -1
  531. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/locale/en.js.map +1 -1
  532. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/locale/ko.js.map +1 -1
  533. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/customParseFormat.js.map +1 -1
  534. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isBetween.js.map +1 -1
  535. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/isoWeek.js.map +1 -1
  536. package/dist/node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/weekday.js.map +1 -1
  537. package/dist/node_modules/.pnpm/dijkstrajs@1.0.3/node_modules/dijkstrajs/dijkstra.js.map +1 -1
  538. package/dist/node_modules/.pnpm/dom-helpers@5.2.1/node_modules/dom-helpers/esm/ownerDocument.js.map +1 -1
  539. package/dist/node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js.map +1 -1
  540. package/dist/node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js.map +1 -1
  541. package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js.map +1 -1
  542. package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js.map +1 -1
  543. package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js.map +1 -1
  544. package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js.map +1 -1
  545. package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js.map +1 -1
  546. package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js.map +1 -1
  547. package/dist/node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js.map +1 -1
  548. package/dist/node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js.map +1 -1
  549. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/_internal/isUnsafeProperty.js.map +1 -1
  550. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/array/difference.js.map +1 -1
  551. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/array/groupBy.js.map +1 -1
  552. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/array/without.js.map +1 -1
  553. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/assignValue.js.map +1 -1
  554. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/getSymbols.js.map +1 -1
  555. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/getTag.js.map +1 -1
  556. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/isDeepKey.js.map +1 -1
  557. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/isIndex.js.map +1 -1
  558. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/isIterateeCall.js.map +1 -1
  559. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/isKey.js.map +1 -1
  560. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/isPrototype.js.map +1 -1
  561. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/normalizeForCase.js.map +1 -1
  562. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/tags.js.map +1 -1
  563. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/_internal/toKey.js.map +1 -1
  564. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/array/find.js.map +1 -1
  565. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/array/groupBy.js.map +1 -1
  566. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/array/without.js.map +1 -1
  567. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/array/xor.js.map +1 -1
  568. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/function/debounce.js.map +1 -1
  569. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/function/delay.js.map +1 -1
  570. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/cloneDeep.js.map +1 -1
  571. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/cloneDeepWith.js.map +1 -1
  572. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/defaults.js.map +1 -1
  573. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/get.js.map +1 -1
  574. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/has.js.map +1 -1
  575. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/mapKeys.js.map +1 -1
  576. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/mapValues.js.map +1 -1
  577. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/merge.js.map +1 -1
  578. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/mergeWith.js.map +1 -1
  579. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/omit.js.map +1 -1
  580. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/property.js.map +1 -1
  581. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/set.js.map +1 -1
  582. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/unset.js.map +1 -1
  583. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/object/updateWith.js.map +1 -1
  584. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isArguments.js.map +1 -1
  585. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isArray.js.map +1 -1
  586. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.js.map +1 -1
  587. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.js.map +1 -1
  588. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isBoolean.js.map +1 -1
  589. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isEmpty.js.map +1 -1
  590. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isFunction.js.map +1 -1
  591. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isMap.js.map +1 -1
  592. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isMatch.js.map +1 -1
  593. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isMatchWith.js.map +1 -1
  594. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isNaN.js.map +1 -1
  595. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isNil.js.map +1 -1
  596. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isNull.js.map +1 -1
  597. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isNumber.js.map +1 -1
  598. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isObject.js.map +1 -1
  599. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isObjectLike.js.map +1 -1
  600. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isPlainObject.js.map +1 -1
  601. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isString.js.map +1 -1
  602. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isSymbol.js.map +1 -1
  603. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.js.map +1 -1
  604. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/matches.js.map +1 -1
  605. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/predicate/matchesProperty.js.map +1 -1
  606. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/string/lowerCase.js.map +1 -1
  607. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/string/toUpper.js.map +1 -1
  608. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/string/trim.js.map +1 -1
  609. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/string/trimEnd.js.map +1 -1
  610. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/eq.js.map +1 -1
  611. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/iteratee.js.map +1 -1
  612. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/toArray.js.map +1 -1
  613. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/toNumber.js.map +1 -1
  614. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/toPath.js.map +1 -1
  615. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/toString.js.map +1 -1
  616. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/compat/util/uniqueId.js.map +1 -1
  617. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/function/debounce.js.map +1 -1
  618. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/function/identity.js.map +1 -1
  619. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/function/noop.js.map +1 -1
  620. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/math/clamp.js.map +1 -1
  621. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/object/clone.js.map +1 -1
  622. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/object/cloneDeep.js.map +1 -1
  623. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/object/cloneDeepWith.js.map +1 -1
  624. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/object/mapKeys.js.map +1 -1
  625. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/object/mapValues.js.map +1 -1
  626. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/object/pickBy.js.map +1 -1
  627. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isEqual.js.map +1 -1
  628. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isEqualWith.js.map +1 -1
  629. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isFunction.js.map +1 -1
  630. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isLength.js.map +1 -1
  631. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isMap.js.map +1 -1
  632. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isPlainObject.js.map +1 -1
  633. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isPrimitive.js.map +1 -1
  634. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/predicate/isTypedArray.js.map +1 -1
  635. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/string/lowerCase.js.map +1 -1
  636. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/string/trim.js.map +1 -1
  637. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/string/trimEnd.js.map +1 -1
  638. package/dist/node_modules/.pnpm/es-toolkit@1.39.10/node_modules/es-toolkit/dist/string/words.js.map +1 -1
  639. package/dist/node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js.map +1 -1
  640. package/dist/node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js.map +1 -1
  641. package/dist/node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js.map +1 -1
  642. package/dist/node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js.map +1 -1
  643. package/dist/node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js.map +1 -1
  644. package/dist/node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js.map +1 -1
  645. package/dist/node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js.map +1 -1
  646. package/dist/node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js.map +1 -1
  647. package/dist/node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js.map +1 -1
  648. package/dist/node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js.map +1 -1
  649. package/dist/node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js.map +1 -1
  650. package/dist/node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js.map +1 -1
  651. package/dist/node_modules/.pnpm/inko@1.1.1/node_modules/inko/index.js +1 -1
  652. package/dist/node_modules/.pnpm/inko@1.1.1/node_modules/inko/index.js.map +1 -1
  653. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/JsBarcode.js.map +1 -1
  654. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/Barcode.js.map +1 -1
  655. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128.js.map +1 -1
  656. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128A.js.map +1 -1
  657. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128B.js.map +1 -1
  658. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128C.js.map +1 -1
  659. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/CODE128_AUTO.js.map +1 -1
  660. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/auto.js.map +1 -1
  661. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js +1 -1
  662. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/constants.js.map +1 -1
  663. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js +1 -1
  664. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE128/index.js.map +1 -1
  665. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js +1 -1
  666. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE39/index.js.map +1 -1
  667. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/CODE93.js.map +1 -1
  668. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/CODE93FullASCII.js.map +1 -1
  669. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/constants.js.map +1 -1
  670. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js +1 -1
  671. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/CODE93/index.js.map +1 -1
  672. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN.js.map +1 -1
  673. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN13.js.map +1 -1
  674. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN2.js.map +1 -1
  675. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN5.js.map +1 -1
  676. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/EAN8.js.map +1 -1
  677. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPC.js.map +1 -1
  678. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/UPCE.js.map +1 -1
  679. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js +1 -1
  680. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/constants.js.map +1 -1
  681. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/encoder.js.map +1 -1
  682. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js +1 -1
  683. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/EAN_UPC/index.js.map +1 -1
  684. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js +1 -1
  685. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/GenericBarcode/index.js.map +1 -1
  686. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/ITF.js.map +1 -1
  687. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/ITF14.js.map +1 -1
  688. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js +1 -1
  689. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/constants.js.map +1 -1
  690. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js +1 -1
  691. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/ITF/index.js.map +1 -1
  692. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/MSI.js.map +1 -1
  693. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/MSI10.js.map +1 -1
  694. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/MSI1010.js.map +1 -1
  695. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/MSI11.js.map +1 -1
  696. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/MSI1110.js.map +1 -1
  697. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/checksums.js.map +1 -1
  698. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js +1 -1
  699. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/MSI/index.js.map +1 -1
  700. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js +1 -1
  701. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/codabar/index.js.map +1 -1
  702. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/index.js +1 -1
  703. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/index.js.map +1 -1
  704. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js +1 -1
  705. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/barcodes/pharmacode/index.js.map +1 -1
  706. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/exceptions/ErrorHandler.js.map +1 -1
  707. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/exceptions/exceptions.js.map +1 -1
  708. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/help/fixOptions.js.map +1 -1
  709. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/help/getOptionsFromElement.js.map +1 -1
  710. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/help/getRenderProperties.js.map +1 -1
  711. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/help/linearizeEncodings.js.map +1 -1
  712. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/help/merge.js.map +1 -1
  713. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/help/optionsFromStrings.js.map +1 -1
  714. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/options/defaults.js.map +1 -1
  715. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/canvas.js.map +1 -1
  716. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js +1 -1
  717. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/index.js.map +1 -1
  718. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/object.js.map +1 -1
  719. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/shared.js.map +1 -1
  720. package/dist/node_modules/.pnpm/jsbarcode@3.12.1/node_modules/jsbarcode/bin/renderers/svg.js.map +1 -1
  721. package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js.map +1 -1
  722. package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js.map +1 -1
  723. package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js.map +1 -1
  724. package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js.map +1 -1
  725. package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js.map +1 -1
  726. package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js.map +1 -1
  727. package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js.map +1 -1
  728. package/dist/node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js.map +1 -1
  729. package/dist/node_modules/.pnpm/mobile-detect@1.4.5/node_modules/mobile-detect/mobile-detect.js.map +1 -1
  730. package/dist/node_modules/.pnpm/object-assign@3.0.0/node_modules/object-assign/index.js.map +1 -1
  731. package/dist/node_modules/.pnpm/object-assign@4.1.1/node_modules/object-assign/index.js.map +1 -1
  732. package/dist/node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js.map +1 -1
  733. package/dist/node_modules/.pnpm/perfect-scrollbar@1.5.6/node_modules/perfect-scrollbar/dist/perfect-scrollbar.esm.js.map +1 -1
  734. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/checkPropTypes.js.map +1 -1
  735. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -1
  736. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -1
  737. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js.map +1 -1
  738. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -1
  739. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/lib/has.js.map +1 -1
  740. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/browser.js.map +1 -1
  741. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/can-promise.js.map +1 -1
  742. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alignment-pattern.js.map +1 -1
  743. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alphanumeric-data.js.map +1 -1
  744. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-buffer.js.map +1 -1
  745. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-matrix.js.map +1 -1
  746. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/byte-data.js.map +1 -1
  747. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-code.js.map +1 -1
  748. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-level.js.map +1 -1
  749. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/finder-pattern.js.map +1 -1
  750. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/format-info.js.map +1 -1
  751. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/galois-field.js.map +1 -1
  752. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/kanji-data.js.map +1 -1
  753. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mask-pattern.js.map +1 -1
  754. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mode.js.map +1 -1
  755. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/numeric-data.js.map +1 -1
  756. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/polynomial.js.map +1 -1
  757. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/qrcode.js.map +1 -1
  758. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/reed-solomon-encoder.js.map +1 -1
  759. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/regex.js.map +1 -1
  760. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/segments.js.map +1 -1
  761. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js.map +1 -1
  762. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version-check.js.map +1 -1
  763. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version.js.map +1 -1
  764. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/canvas.js.map +1 -1
  765. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/svg-tag.js.map +1 -1
  766. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js.map +1 -1
  767. package/dist/node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/formats.js.map +1 -1
  768. package/dist/node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/index.js.map +1 -1
  769. package/dist/node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/parse.js.map +1 -1
  770. package/dist/node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/stringify.js.map +1 -1
  771. package/dist/node_modules/.pnpm/qs@6.14.0/node_modules/qs/lib/utils.js.map +1 -1
  772. package/dist/node_modules/.pnpm/react-autosuggest@10.1.0_react@19.2.4/node_modules/react-autosuggest/dist/Autosuggest.js.map +1 -1
  773. package/dist/node_modules/.pnpm/react-autosuggest@10.1.0_react@19.2.4/node_modules/react-autosuggest/dist/Autowhatever.js.map +1 -1
  774. package/dist/node_modules/.pnpm/react-autosuggest@10.1.0_react@19.2.4/node_modules/react-autosuggest/dist/Item.js.map +1 -1
  775. package/dist/node_modules/.pnpm/react-autosuggest@10.1.0_react@19.2.4/node_modules/react-autosuggest/dist/ItemList.js.map +1 -1
  776. package/dist/node_modules/.pnpm/react-autosuggest@10.1.0_react@19.2.4/node_modules/react-autosuggest/dist/SectionTitle.js.map +1 -1
  777. package/dist/node_modules/.pnpm/react-autosuggest@10.1.0_react@19.2.4/node_modules/react-autosuggest/dist/compareObjects.js.map +1 -1
  778. package/dist/node_modules/.pnpm/react-autosuggest@10.1.0_react@19.2.4/node_modules/react-autosuggest/dist/index.js.map +1 -1
  779. package/dist/node_modules/.pnpm/react-autosuggest@10.1.0_react@19.2.4/node_modules/react-autosuggest/dist/theme.js.map +1 -1
  780. package/dist/node_modules/.pnpm/react-datepicker@8.7.0_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-datepicker/dist/index.es.js.map +1 -1
  781. package/dist/node_modules/.pnpm/react-idle-timer@5.7.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-idle-timer/dist/index.legacy.esm.js.map +1 -1
  782. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js.map +1 -1
  783. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
  784. package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js.map +1 -1
  785. package/dist/node_modules/.pnpm/react-number-format@5.4.4_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-number-format/dist/react-number-format.es.js.map +1 -1
  786. package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/Portal.js.map +1 -1
  787. package/dist/node_modules/.pnpm/react-overlays@5.2.1_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/react-overlays/esm/useWaitForDOMRef.js.map +1 -1
  788. package/dist/node_modules/.pnpm/react-themeable@1.1.0/node_modules/react-themeable/dist/index.js.map +1 -1
  789. package/dist/node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -1
  790. package/dist/node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react-jsx-runtime.production.js.map +1 -1
  791. package/dist/node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js.map +1 -1
  792. package/dist/node_modules/.pnpm/section-iterator@2.0.0/node_modules/section-iterator/dist/index.js.map +1 -1
  793. package/dist/node_modules/.pnpm/shallow-equal@1.2.1/node_modules/shallow-equal/arrays/index.js.map +1 -1
  794. package/dist/node_modules/.pnpm/side-channel-list@1.0.0/node_modules/side-channel-list/index.js.map +1 -1
  795. package/dist/node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js.map +1 -1
  796. package/dist/node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js.map +1 -1
  797. package/dist/node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js.map +1 -1
  798. package/dist/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Enum.js.map +1 -1
  799. package/dist/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Middleware.js.map +1 -1
  800. package/dist/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Parser.js.map +1 -1
  801. package/dist/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Serializer.js.map +1 -1
  802. package/dist/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Tokenizer.js.map +1 -1
  803. package/dist/node_modules/.pnpm/stylis@4.2.0/node_modules/stylis/src/Utility.js.map +1 -1
  804. package/dist/owp-app.css +1 -1
  805. package/dist/store/atoms/navbarAtoms.js.map +1 -1
  806. package/dist/store/atoms/owpSettingsAtoms.js.map +1 -1
  807. package/dist/store/atoms/owpStore.js.map +1 -1
  808. package/dist/store.js.map +1 -1
  809. package/dist/types/components/OwpPicker/OwpDatePicker.d.ts +7 -3
  810. package/dist/types/components/OwpPicker/OwpDateRangePicker.d.ts +7 -3
  811. package/dist/types/components/OwpPicker/OwpTimePicker.d.ts +3 -3
  812. package/dist/types/components/OwpPicker/OwpWeekDatePicker.d.ts +15 -9
  813. package/dist/types/components/OwpPicker/constants/index.d.ts +6 -0
  814. package/dist/types/components/OwpPicker/{internal → hooks}/useOwpDatePickerCalendarHeaderState.d.ts +1 -1
  815. package/dist/types/components/OwpPicker/{internal → hooks}/useOwpPickerPopperTransition.d.ts +0 -4
  816. package/dist/types/components/OwpPicker/index.d.ts +0 -1
  817. package/dist/types/components/OwpPicker/internal/DatePickerInput.d.ts +2 -2
  818. package/dist/types/components/OwpPicker/utils/index.d.ts +1 -0
  819. package/dist/types/components/OwpPicker/utils/parseDatePickerValue.d.ts +13 -0
  820. package/dist/types/index.d.ts +0 -1
  821. package/dist/types.js.map +1 -1
  822. package/dist/utils/barcodeUtil.js.map +1 -1
  823. package/dist/utils/commonCodeUtils.js.map +1 -1
  824. package/dist/utils/createDateRangeSearchParams.js.map +1 -1
  825. package/dist/utils/createFormDataBody.js.map +1 -1
  826. package/dist/utils/createJsonBody.js.map +1 -1
  827. package/dist/utils/createJsonString.js.map +1 -1
  828. package/dist/utils/excelUtil.js.map +1 -1
  829. package/dist/utils/fetchFile.js.map +1 -1
  830. package/dist/utils/formatDateToYmd.js.map +1 -1
  831. package/dist/utils/formatNumber.js.map +1 -1
  832. package/dist/utils/getDisplayValue.js.map +1 -1
  833. package/dist/utils/getEstimatedTextCellWidth.js.map +1 -1
  834. package/dist/utils/getFormDefaultValues.js.map +1 -1
  835. package/dist/utils/getStartPagePath.js.map +1 -1
  836. package/dist/utils/getTrimmedValue.js.map +1 -1
  837. package/dist/utils/internal/blurActiveElement.js.map +1 -1
  838. package/dist/utils/internal/exceljsBrowser.js.map +1 -1
  839. package/dist/utils/internal/jszipBrowser.js.map +1 -1
  840. package/dist/utils/internal/navigationUtils.js.map +1 -1
  841. package/dist/utils/internal/treeGridBodyRowsEvent.js.map +1 -1
  842. package/dist/utils/isEnterKeyEvent.js.map +1 -1
  843. package/dist/utils/language.js.map +1 -1
  844. package/dist/utils/preloadOnIdle.js.map +1 -1
  845. package/dist/utils/qrCodeUtil.js.map +1 -1
  846. package/dist/utils/rebuildValue.js.map +1 -1
  847. package/dist/utils/sanitizeAuthInputValue.js.map +1 -1
  848. package/dist/utils/treeGridExportExcelUtil.js.map +1 -1
  849. package/dist/utils/treeGridUtil.js.map +1 -1
  850. package/dist/utils/treeGridYnUtils.js.map +1 -1
  851. package/dist/utils/zipUtil.js.map +1 -1
  852. package/dist/utils.js.map +1 -1
  853. package/package.json +1 -1
  854. package/dist/components/OwpPicker/OwpYearRangePicker.js +0 -100
  855. package/dist/components/OwpPicker/OwpYearRangePicker.js.map +0 -1
  856. package/dist/components/OwpPicker/internal/pickerEditorStyles.js.map +0 -1
  857. package/dist/components/OwpPicker/internal/useOwpDatePickerCalendarHeaderState.js.map +0 -1
  858. package/dist/components/OwpPicker/internal/useOwpPickerPopperTransition.js +0 -36
  859. package/dist/components/OwpPicker/internal/useOwpPickerPopperTransition.js.map +0 -1
  860. package/dist/types/components/OwpPicker/OwpYearRangePicker.d.ts +0 -27
  861. /package/dist/components/OwpPicker/{internal → hooks}/useOwpDatePickerCalendarHeaderState.js +0 -0
  862. /package/dist/types/components/OwpPicker/{internal → styles}/pickerEditorStyles.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"treeGridRuntime.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridRuntime.ts"],"sourcesContent":["import {\n getTreeGridTextResourceUrl,\n TREEGRID_ADDED_ROW_BACKGROUND_COLOR,\n TREEGRID_CELL_CHANGED_CLASS,\n} from '@/constants/treeGrid';\nimport {\n appendTreeGridAddedRowHighlightColumn,\n clearTreeGridCellHighlightById,\n getTreeGridAddedRowEditableColumns,\n getTreeGridAddedRowBaselineValue,\n getTreeGridAddedRowHighlightColumns,\n getTreeGridCellComparableValue,\n highlightTreeGridCellById,\n isTreeGridRowAddedById,\n normalizeTreeGridExternalRows,\n removeTreeGridAddedRowHighlightColumn,\n} from '@/utils/treeGridUtil';\nimport { debounce, get, isEmpty } from 'es-toolkit/compat';\nimport {\n type Dispatch,\n type RefObject,\n type SetStateAction,\n} from 'react';\nimport type {\n OwpTreeGridBodyData,\n OwpTreeGridDisabledAnimation,\n OwpTreeGridLayoutConfig,\n OwpTreeGridProps,\n OwpTreeGridRowModel,\n OwpTreeGridSelectedRows,\n OwpTreeGridSuppressCfg,\n} from '../OwpTreeGrid';\nimport type {\n OwpTreeGridErrorTooltipHideHandler,\n OwpTreeGridErrorTooltipShowHandler,\n} from './hooks/useOwpTreeGridErrorTooltip';\nimport { applyTreeGridLayoutToGrid } from './treeGridLayout';\nimport {\n resolveTreeGridSelectedRows,\n type OwpTreeGridSelectionScope,\n} from './treeGridSelection';\nimport {\n TREE_GRID_ERROR_CELL_CLASS,\n TREE_GRID_ADDED_ROW_BOX_CELL_CLASS,\n TREE_GRID_ADDED_ROW_BOX_END_CLASS,\n TREE_GRID_ADDED_ROW_BOX_START_CLASS,\n TREE_GRID_PANEL_CHECKBOX_SELECT_CLASS,\n TREE_GRID_SELECTED_CHANGED_CELL_CLASS,\n TREE_GRID_SELECT_ALL_CHECKED_CLASS,\n TREE_GRID_SELECT_ALL_INDETERMINATE_CLASS,\n TREE_GRID_SELECT_ALL_UNCHECKED_CLASS,\n TREE_GRID_THEME_WRAPPER_CLASS,\n} from './treeGridTheme';\nimport {\n countTreeGridPerf,\n logTreeGridPerf,\n measureTreeGridPerf,\n} from './utils/perf';\n\nexport const TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS = 300;\nconst TREE_GRID_DEFAULT_ENTER_MODE = 3;\nconst TREE_GRID_DEFAULT_ENTER_ACTIONS = {\n 1: {\n onEnter: 'TabDownEdit',\n onEnterEdit: 'AcceptEdit AND TabDownEdit,1',\n },\n 2: {\n onEnter: 'GoDownEditAdd',\n onEnterEdit: 'AcceptEdit AND GoDownEditAdd,1',\n },\n 3: {\n onEnter: 'TabRightEdit',\n onEnterEdit: 'AcceptEdit AND TabRightEdit,1',\n },\n 4: {\n onEnter: 'TabRightEditAdd',\n onEnterEdit: 'AcceptEdit AND TabRightEditAdd,1',\n },\n} as const;\n\nconst TREE_GRID_READONLY_HOVER_CELL_RGB = [240, 240, 240] as const;\nconst TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB = [248, 248, 248] as const;\nconst TREE_GRID_PREVIEW_CELL_RGB = [255, 255, 255] as const;\nconst TREE_GRID_PREVIEW_CELL_SOFT_RGB = [255, 255, 254] as const;\nconst TREE_GRID_PREVIEW_CELL_DIM_RGB = [242, 242, 242] as const;\nconst TREE_GRID_NATIVE_ERROR_CELL_RGB_VALUES = [\n [255, 210, 210],\n [249, 209, 209],\n [115, 16, 11],\n] as const;\nconst TREE_GRID_ERROR_CELL_FALLBACK_BACKGROUND_COLOR = 'transparent';\nconst TREE_GRID_GROUP_HEADER_BUTTON_ATTRIBUTE = 'Button';\nconst TREE_GRID_ROW_BOX_EXCLUDED_COLUMNS = new Set(['Panel']);\nconst TREE_GRID_CELL_CHANGED_CLASS_TOKENS = TREEGRID_CELL_CHANGED_CLASS.split(/\\s+/).filter(\n Boolean,\n);\nconst TREE_GRID_NATIVE_INPUT_EDIT_TYPES = new Set([\n 'Text',\n 'Lines',\n 'Int',\n 'Float',\n 'Date',\n 'Pass',\n]);\n\ntype TreeGridInitializationInput<T> = {\n id: string;\n layoutUrl?: string;\n layoutData?: string;\n toolbarTotalCountFormula?: string;\n suppressCfg?: OwpTreeGridSuppressCfg;\n disabledAnimations?: readonly OwpTreeGridDisabledAnimation[];\n dataUrl?: string;\n bodyData: OwpTreeGridBodyData<T>;\n useDataUrl?: boolean;\n width?: string | number;\n height?: string | number;\n languageId: string;\n};\n\ntype TreeGridBeforeRowUndeleteAction = 'cancel' | 'remove' | 'undelete';\ntype TreeGridBeforeRowUndeleteHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n) =>\n | TreeGridBeforeRowUndeleteAction\n | undefined\n | Promise<TreeGridBeforeRowUndeleteAction | undefined>;\ntype TreeGridInternalCellClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n x: number,\n y: number,\n event: Event,\n) => boolean | number | undefined;\ntype TreeGridInternalButtonClickHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n event: Event,\n) => boolean | number | undefined;\ntype TreeGridInternalKeyDownHandler = (\n grid: TGrid,\n key: string,\n event: Event,\n name: string,\n prefix: string,\n) => boolean | number | undefined;\ntype TreeGridInternalStartEditHandler<T> = (\n grid: TGrid,\n row: OwpTreeGridRowModel<T>,\n col: string,\n) => boolean | number | undefined;\n\nexport type TreeGridEventHandlers<T> = Pick<\n OwpTreeGridProps<T>,\n | 'onSelect'\n | 'onRowClick'\n | 'onRowAdd'\n | 'onRowDelete'\n | 'onRowUndelete'\n | 'onRowChange'\n | 'onClickButton'\n | 'onSave'\n | 'onReady'\n | 'onAfterValueChanged'\n> & {\n onBeforeRowUndelete?: TreeGridBeforeRowUndeleteHandler<T>;\n onInternalButtonClick?: TreeGridInternalButtonClickHandler<T>;\n onInternalCellClick?: TreeGridInternalCellClickHandler<T>;\n onInternalKeyDown?: TreeGridInternalKeyDownHandler;\n onInternalStartEdit?: TreeGridInternalStartEditHandler<T>;\n};\n\nexport type TreeGridEventBindingOptions<T> = Pick<OwpTreeGridProps<T>, 'id'> & {\n latestEventHandlersRef: RefObject<TreeGridEventHandlers<T>>;\n layoutHasExplicitEnterModeRef: RefObject<boolean>;\n highlightEditableCellsRef: RefObject<boolean>;\n highlightChangedCellsRef: RefObject<boolean>;\n syncDeletedRowCanEditRef: RefObject<boolean>;\n editableCellBackgroundColorValueRef: RefObject<number | undefined>;\n changedCellBackgroundColorRef: RefObject<string>;\n focusedCellBackgroundColorRef: RefObject<string>;\n selectedCellBackgroundColorRef: RefObject<string>;\n hoverCellBackgroundColorRef: RefObject<string>;\n changedCellBaselineRef: RefObject<TreeGridCellBaselineMap>;\n treeGridInstanceRef: RefObject<TGrid>;\n treeGridInitStartedAtRef: RefObject<number | null>;\n latestLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n latestToolbarTotalCountFormulaRef: RefObject<string | undefined>;\n latestSuppressCfgRef: RefObject<OwpTreeGridSuppressCfg | undefined>;\n latestHideChildHeaderSortButtonsRef: RefObject<boolean>;\n latestSelectionScopeRef: RefObject<OwpTreeGridSelectionScope | undefined>;\n latestDisabledAnimationsRef: RefObject<\n readonly OwpTreeGridDisabledAnimation[] | undefined\n >;\n appliedLayoutOverridesRef: RefObject<OwpTreeGridLayoutConfig | undefined>;\n appliedBodyDataPropRef: RefObject<OwpTreeGridBodyData<T>>;\n hasAppliedInitialLayoutRef: RefObject<boolean>;\n syncHasDisplayDataRows: (grid: TGrid | null) => void;\n setIsTreeGridReady: Dispatch<SetStateAction<boolean>>;\n showErrorTooltip: OwpTreeGridErrorTooltipShowHandler;\n hideErrorTooltip: OwpTreeGridErrorTooltipHideHandler;\n};\n\nexport type TreeGridCellBaselineMap = WeakMap<TRow, Map<string, string>>;\n\n/**\n * TreeGrid 레이아웃 Enter 동작 명시 여부\n * @param layoutData 레이아웃 문자열\n */\nexport const hasTreeGridExplicitEnterMode = (layoutData?: string) => {\n return Boolean(layoutData && /\\b(?:EnterMode|OnEnterEdit|OnEnter)\\s*[:=]/.test(layoutData));\n};\n\ntype TreeGridMutableActions = Record<string, string | undefined>;\ntype TreeGridJsonRecord = Record<string, unknown>;\ntype TreeGridXmlTagMatch = {\n index: number;\n tag: string;\n};\ntype TreeGridXmlHeadPanelRowSpanDefaultResult = {\n headContent: string;\n isApplied: boolean;\n};\ntype TreeGridSelectAllState = 'checked' | 'indeterminate' | 'unchecked';\ntype TreeGridDefaultLayoutCfgAttribute =\n | 'Undo'\n | 'Deleting'\n | 'Selecting'\n | 'SelectingSingle'\n | 'SuppressCfg';\ntype TreeGridDefaultLayoutCfgValues = Partial<Record<TreeGridDefaultLayoutCfgAttribute, string>>;\ntype TreeGridXmlDefaultLayoutScanResult = {\n cfgValues: TreeGridDefaultLayoutCfgValues;\n animationsTag?: TreeGridXmlTagMatch;\n defaultActionsTag?: TreeGridXmlTagMatch;\n defaultCfgTag?: TreeGridXmlTagMatch;\n defaultPanelTag?: TreeGridXmlTagMatch;\n gridOpenTagEndIndex?: number;\n hasFastPanel?: boolean;\n lastCfgEndIndex?: number;\n};\ntype TreeGridAddedRowBoxColumnBounds = {\n columnSet: Set<string>;\n firstColumn?: string;\n lastColumn?: string;\n};\n\nconst TREE_GRID_DELETE_PANEL_DEFAULT_ATTRIBUTES = {\n Visible: '1',\n CanHide: '0',\n Delete: '1',\n Width: '33',\n} as const;\nconst TREE_GRID_PANEL_SPANNED_DEFAULT_ATTRIBUTES = {\n Spanned: '1',\n} as const;\nconst TREE_GRID_CELL_CLICK_FOCUS_DEFAULT_ACTIONS = {\n OnClickCell: 'Focus',\n} as const;\nconst TREE_GRID_SELECT_ALL_PANEL_DEFAULT_ACTIONS = {\n OnClickPanelSelectAll: 'SelectAll OR DeselectAll',\n} as const;\nconst TREE_GRID_SELECTION_ROW_SPAN_COLUMN = 'Panel';\nconst TREE_GRID_TOOLBAR_FORMULA_FIELD_NAMES = ['Formula', 'FormulaFormula'] as const;\nconst TREE_GRID_XML_GRID_OPEN_TAG_PATTERN = /<Grid\\b[^>]*>/i;\nconst TREE_GRID_XML_GRID_CLOSE_TAG_PATTERN = /<\\/Grid\\s*>/i;\nconst TREE_GRID_XML_TOOLBAR_TAG_PATTERN = /<Toolbar\\b[^>]*\\/?>/i;\nconst TREE_GRID_DEFAULT_LAYOUT_CFG_ATTRIBUTES = [\n 'Undo',\n 'Deleting',\n 'Selecting',\n 'SelectingSingle',\n 'SuppressCfg',\n] as const;\nconst TREE_GRID_DISABLED_ANIMATION_ATTRIBUTES = {\n addRow: ['Add', 'AddRows', 'AddChildren', 'AddRowsChildren'],\n deleteRow: [\n 'Delete',\n 'DeleteRows',\n 'DeleteVisible',\n 'DeleteVisibleRows',\n 'DeleteChildren',\n 'DeleteVisibleChildren',\n 'DeleteRowsChildren',\n 'DeleteVisibleRowsChildren',\n 'Undelete',\n 'UndeleteRows',\n 'UndeleteVisible',\n 'UndeleteVisibleRows',\n 'UndeleteChildren',\n 'UndeleteVisibleChildren',\n 'UndeleteRowsChildren',\n 'UndeleteVisibleRowsChildren',\n ],\n selectRow: ['Select', 'SelectRows', 'Deselect', 'DeselectRows'],\n} as const satisfies Record<OwpTreeGridDisabledAnimation, readonly string[]>;\nconst treeGridAddedRowBoxColumnBoundsCache = new WeakMap<\n TGrid,\n TreeGridAddedRowBoxColumnBounds\n>();\n\n/** TreeGrid JSON 객체 여부 */\nconst isTreeGridJsonRecord = (value: unknown): value is TreeGridJsonRecord =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/** TreeGrid 비활성 설정값 여부 */\nconst isTreeGridDisabledConfigValue = (value: unknown) =>\n value === 0 || value === false || value === '0' || value === 'false';\n\n/** TreeGrid 명시 활성 설정값 여부 */\nconst isTreeGridExplicitEnabledConfigValue = (value: unknown) =>\n value === 1 || value === true || value === '1' || value === 'true';\n\n/** TreeGrid 명시 숨김 설정값 여부 */\nconst isTreeGridExplicitHiddenConfigValue = (value: unknown) =>\n value === 1 || value === true || value === '1' || value === 'true';\n\n/** TreeGrid 설정값 동일 여부 */\nconst isTreeGridConfigValue = (value: unknown, expectedValue: string) => {\n return String(value ?? '').trim().toLowerCase() === expectedValue.toLowerCase();\n};\n\n/**\n * TreeGrid checkbox 선택 모드 여부\n * @param selecting Selecting 설정값\n * @param selectingSingle SelectingSingle 설정값\n */\nconst isTreeGridCheckboxSelectionMode = (\n selecting: unknown,\n selectingSingle: unknown,\n) => {\n return (\n !isTreeGridDisabledConfigValue(selecting) &&\n !isTreeGridExplicitEnabledConfigValue(selectingSingle)\n );\n};\n\n/**\n * TreeGrid JSON Cfg 목록 조회\n * @param layoutData JSON 레이아웃 객체\n */\nconst getTreeGridJsonCfgRecords = (layoutData: TreeGridJsonRecord) => {\n const cfg = layoutData.Cfg;\n\n if (Array.isArray(cfg)) {\n return cfg.filter(isTreeGridJsonRecord);\n }\n\n return isTreeGridJsonRecord(cfg) ? [cfg] : [];\n};\n\n/**\n * TreeGrid JSON Cfg 값 조회\n * @param layoutData JSON 레이아웃 객체\n * @param fieldName Cfg 필드명\n */\nconst getTreeGridJsonCfgValue = (layoutData: TreeGridJsonRecord, fieldName: string) => {\n let fieldValue: unknown;\n\n getTreeGridJsonCfgRecords(layoutData).forEach((cfg) => {\n if (fieldName in cfg) {\n fieldValue = cfg[fieldName];\n }\n });\n\n return fieldValue;\n};\n\n/**\n * TreeGrid XML 태그 속성값 조회\n * @param tag XML 태그 문자열\n * @param attributeName 속성명\n */\nconst getTreeGridXmlTagAttributeValue = (tag: string, attributeName: string) => {\n const attributeMatch = new RegExp(`\\\\b${attributeName}\\\\s*=\\\\s*(['\"])(.*?)\\\\1`, 'i').exec(\n tag,\n );\n\n return attributeMatch?.[2];\n};\n\n/**\n * TreeGrid XML 태그 속성 보유 여부\n * @param tag XML 태그 문자열\n * @param attributeName 속성명\n */\nconst hasTreeGridXmlTagAttribute = (tag: string, attributeName: string) => {\n return new RegExp(`\\\\b${attributeName}\\\\s*=`, 'i').test(tag);\n};\n\n/**\n * TreeGrid XML 속성값 escape\n * @param value XML 속성값\n */\nconst escapeTreeGridXmlAttributeValue = (value: string | number) => {\n return String(value)\n .replace(/&/g, '&amp;')\n .replace(/\"/g, '&quot;')\n .replace(/</g, '&lt;');\n};\n\n/**\n * TreeGrid XML 태그 속성 추가\n * @param tag XML 태그 문자열\n * @param attributeName 속성명\n * @param attributeValue 속성값\n */\nconst appendTreeGridXmlTagAttribute = (\n tag: string,\n attributeName: string,\n attributeValue: string | number,\n) => {\n const insertionIndex = tag.endsWith('/>') ? tag.length - 2 : tag.length - 1;\n\n return `${tag.slice(0, insertionIndex)} ${attributeName}=\"${escapeTreeGridXmlAttributeValue(\n attributeValue,\n )}\"${tag.slice(insertionIndex)}`;\n};\n\n/**\n * TreeGrid XML 태그 속성 설정\n * @param tag XML 태그 문자열\n * @param attributeName 속성명\n * @param attributeValue 속성값\n */\nconst setTreeGridXmlTagAttribute = (\n tag: string,\n attributeName: string,\n attributeValue: string | number,\n) => {\n if (!hasTreeGridXmlTagAttribute(tag, attributeName)) {\n return appendTreeGridXmlTagAttribute(tag, attributeName, attributeValue);\n }\n\n return tag.replace(\n new RegExp(`\\\\b${attributeName}\\\\s*=\\\\s*(['\"])(.*?)\\\\1`, 'i'),\n () => `${attributeName}=\"${escapeTreeGridXmlAttributeValue(attributeValue)}\"`,\n );\n};\n\n/**\n * TreeGrid XML 태그 속성 목록 설정\n * @param tag XML 태그 문자열\n * @param attributes 설정 속성\n */\nconst setTreeGridXmlTagAttributes = (\n tag: string,\n attributes: Record<string, string | number>,\n) => {\n let nextTag = tag;\n\n Object.entries(attributes).forEach(([attributeName, attributeValue]) => {\n nextTag = setTreeGridXmlTagAttribute(nextTag, attributeName, attributeValue);\n });\n\n return nextTag;\n};\n\n/**\n * TreeGrid XML 태그 누락 속성 추가\n * @param tag XML 태그 문자열\n * @param attributes 기본 속성\n */\nconst appendMissingTreeGridXmlTagAttributes = (\n tag: string,\n attributes: Record<string, string | number>,\n) => {\n let nextTag = tag;\n\n Object.entries(attributes).forEach(([attributeName, attributeValue]) => {\n if (!hasTreeGridXmlTagAttribute(nextTag, attributeName)) {\n nextTag = appendTreeGridXmlTagAttribute(nextTag, attributeName, attributeValue);\n }\n });\n\n return nextTag;\n};\n\n/**\n * TreeGrid XML 기본값 적용 관련 최상위 태그 스캔\n * @param layoutData XML 레이아웃 문자열\n */\nconst scanTreeGridXmlDefaultLayout = (layoutData: string) => {\n const tagPattern =\n /<!--[\\s\\S]*?-->|<\\?[\\s\\S]*?\\?>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>|<\\/?([A-Za-z][\\w:-]*)\\b[^>]*>/g;\n const scanResult: TreeGridXmlDefaultLayoutScanResult = {\n cfgValues: {},\n };\n let tagMatch: RegExpExecArray | null;\n let rootDepth = 0;\n let isInsideGrid = false;\n\n while ((tagMatch = tagPattern.exec(layoutData))) {\n const tag = tagMatch[0];\n const currentTagName = tagMatch[1]?.toLowerCase();\n\n if (!currentTagName || tag.startsWith('<!--') || tag.startsWith('<?') || tag.startsWith('<!')) {\n continue;\n }\n\n if (!scanResult.hasFastPanel && hasTreeGridXmlTagAttribute(tag, 'FastPanel')) {\n scanResult.hasFastPanel = true;\n }\n\n const isClosingTag = tag.startsWith('</');\n const isSelfClosingTag = /\\/>\\s*$/.test(tag);\n\n if (!isInsideGrid) {\n if (!isClosingTag && currentTagName === 'grid') {\n isInsideGrid = true;\n scanResult.gridOpenTagEndIndex = tagMatch.index + tag.length;\n rootDepth = isSelfClosingTag ? 0 : 1;\n }\n\n continue;\n }\n\n if (isClosingTag) {\n rootDepth = Math.max(0, rootDepth - 1);\n\n if (currentTagName === 'grid' && rootDepth === 0) {\n break;\n }\n\n continue;\n }\n\n if (rootDepth === 1) {\n if (currentTagName === 'cfg') {\n if (!scanResult.defaultCfgTag) {\n scanResult.defaultCfgTag = {\n index: tagMatch.index,\n tag,\n };\n }\n\n TREE_GRID_DEFAULT_LAYOUT_CFG_ATTRIBUTES.forEach((attributeName) => {\n const attributeValue = getTreeGridXmlTagAttributeValue(tag, attributeName);\n\n if (attributeValue !== undefined) {\n scanResult.cfgValues[attributeName] = attributeValue;\n }\n });\n scanResult.lastCfgEndIndex = tagMatch.index + tag.length;\n } else if (currentTagName === 'actions' && !scanResult.defaultActionsTag) {\n scanResult.defaultActionsTag = {\n index: tagMatch.index,\n tag,\n };\n } else if (\n currentTagName === 'panel' &&\n !scanResult.defaultPanelTag &&\n isTreeGridXmlDefaultPanelTag(tag)\n ) {\n scanResult.defaultPanelTag = {\n index: tagMatch.index,\n tag,\n };\n } else if (currentTagName === 'animations' && !scanResult.animationsTag) {\n scanResult.animationsTag = {\n index: tagMatch.index,\n tag,\n };\n }\n }\n\n if (!isSelfClosingTag) {\n rootDepth += 1;\n }\n }\n\n return scanResult;\n};\n\n/**\n * TreeGrid XML 기본 Panel 태그 여부\n * @param tag XML 태그 문자열\n */\nconst isTreeGridXmlDefaultPanelTag = (tag: string) => {\n const panelName = getTreeGridXmlTagAttributeValue(tag, 'Name');\n\n return panelName === undefined || panelName === '' || panelName.toLowerCase() === 'panel';\n};\n\n/**\n * TreeGrid XML Head 선두 Header 태그 목록 조회\n * @param headContent Head 내부 XML 문자열\n */\nconst getLeadingTreeGridXmlHeaderTags = (headContent: string) => {\n const childTagPattern = /<([A-Za-z][\\w:-]*)\\b[^>]*(?:\\/>|>)/g;\n const headerTags: TreeGridXmlTagMatch[] = [];\n let childTagMatch: RegExpExecArray | null;\n\n while ((childTagMatch = childTagPattern.exec(headContent))) {\n if (childTagMatch[1].toLowerCase() !== 'header') {\n if (headerTags.length > 0) {\n break;\n }\n\n return headerTags;\n }\n\n headerTags.push({\n index: childTagMatch.index,\n tag: childTagMatch[0],\n });\n }\n\n return headerTags;\n};\n\n/**\n * TreeGrid XML Head Panel RowSpan 기본값 적용\n * @param headContent Head 내부 XML 문자열\n */\nconst applyTreeGridXmlHeadPanelRowSpanDefault = (\n headContent: string,\n): TreeGridXmlHeadPanelRowSpanDefaultResult => {\n const headerTags = getLeadingTreeGridXmlHeaderTags(headContent);\n\n if (headerTags.length <= 1) {\n return {\n headContent,\n isApplied: false,\n };\n }\n\n const [firstHeaderTag, ...remainingHeaderTags] = headerTags;\n\n if (\n hasTreeGridXmlTagAttribute(firstHeaderTag.tag, 'PanelRowSpan') ||\n remainingHeaderTags.some(({ tag }) => /\\bPanel[A-Za-z0-9_]*\\s*=/i.test(tag))\n ) {\n return {\n headContent,\n isApplied: false,\n };\n }\n\n let nextHeaderTag = firstHeaderTag.tag;\n\n if (!hasTreeGridXmlTagAttribute(nextHeaderTag, 'Spanned')) {\n nextHeaderTag = appendTreeGridXmlTagAttribute(nextHeaderTag, 'Spanned', 1);\n }\n\n nextHeaderTag = appendTreeGridXmlTagAttribute(\n nextHeaderTag,\n 'PanelRowSpan',\n headerTags.length,\n );\n\n return {\n headContent: `${headContent.slice(0, firstHeaderTag.index)}${nextHeaderTag}${headContent.slice(\n firstHeaderTag.index + firstHeaderTag.tag.length,\n )}`,\n isApplied: true,\n };\n};\n\n/**\n * TreeGrid XML Panel Spanned 기본값 삽입 위치 조회\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst getTreeGridXmlPanelSpannedInsertionIndex = (\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n return scanResult.lastCfgEndIndex ?? scanResult.gridOpenTagEndIndex;\n};\n\n/**\n * TreeGrid XML Panel Spanned 기본값 적용 대상 여부\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst isTreeGridXmlPanelSpannedDefaultLayout = (\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n return (\n Boolean(scanResult.defaultPanelTag) ||\n isTreeGridXmlSelectingLayout(scanResult.cfgValues) ||\n isTreeGridXmlDeletePanelDefaultLayout(scanResult.cfgValues)\n );\n};\n\n/**\n * TreeGrid XML Panel Spanned 기본값 레이아웃 적용\n * @param layoutData XML 레이아웃 문자열\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst applyTreeGridXmlDefaultPanelSpannedLayout = (\n layoutData: string,\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n if (\n scanResult.gridOpenTagEndIndex === undefined ||\n !isTreeGridXmlPanelSpannedDefaultLayout(scanResult)\n ) {\n return layoutData;\n }\n\n const panelTag = scanResult.defaultPanelTag;\n\n if (panelTag) {\n const nextPanelTag = appendMissingTreeGridXmlTagAttributes(\n panelTag.tag,\n TREE_GRID_PANEL_SPANNED_DEFAULT_ATTRIBUTES,\n );\n\n return nextPanelTag === panelTag.tag\n ? layoutData\n : `${layoutData.slice(0, panelTag.index)}${nextPanelTag}${layoutData.slice(\n panelTag.index + panelTag.tag.length,\n )}`;\n }\n\n const insertionIndex = getTreeGridXmlPanelSpannedInsertionIndex(scanResult);\n\n if (insertionIndex === undefined) {\n return layoutData;\n }\n\n return `${layoutData.slice(0, insertionIndex)}\\n <Panel Spanned=\"1\" />${layoutData.slice(\n insertionIndex,\n )}`;\n};\n\n/**\n * TreeGrid Header Panel RowSpan 기본값 레이아웃 적용\n * @param layoutData 레이아웃 문자열\n */\nconst applyTreeGridDefaultHeaderPanelRowSpanLayout = (layoutData: string) => {\n if (!/<Head\\b/i.test(layoutData) || /\\bPanelRowSpan\\s*[:=]/i.test(layoutData)) {\n return layoutData;\n }\n\n let isPanelRowSpanApplied = false;\n const nextLayoutData = layoutData.replace(\n /(<Head\\b[^>]*>)([\\s\\S]*?)(<\\/Head>)/i,\n (matchedHead, headOpenTag: string, headContent: string, headCloseTag: string) => {\n const result = applyTreeGridXmlHeadPanelRowSpanDefault(headContent);\n\n if (!result.isApplied) {\n return matchedHead;\n }\n\n isPanelRowSpanApplied = true;\n\n return `${headOpenTag}${result.headContent}${headCloseTag}`;\n },\n );\n\n if (!isPanelRowSpanApplied) {\n return layoutData;\n }\n\n return applyTreeGridXmlDefaultPanelSpannedLayout(\n nextLayoutData,\n scanTreeGridXmlDefaultLayout(nextLayoutData),\n );\n};\n\n/**\n * TreeGrid JSON 레이아웃 checkbox 선택 모드 여부\n * @param layoutData JSON 레이아웃 객체\n */\nconst isTreeGridJsonCheckboxSelectionLayout = (layoutData: TreeGridJsonRecord) => {\n return isTreeGridCheckboxSelectionMode(\n getTreeGridJsonCfgValue(layoutData, 'Selecting'),\n getTreeGridJsonCfgValue(layoutData, 'SelectingSingle'),\n );\n};\n\n/**\n * TreeGrid XML 레이아웃 checkbox 선택 모드 여부\n * @param cfgValues 최상위 Cfg 속성값\n */\nconst isTreeGridXmlCheckboxSelectionLayout = (cfgValues: TreeGridDefaultLayoutCfgValues) => {\n return isTreeGridCheckboxSelectionMode(\n cfgValues.Selecting,\n cfgValues.SelectingSingle,\n );\n};\n\n/**\n * TreeGrid XML 레이아웃 선택 활성 여부\n * @param cfgValues 최상위 Cfg 속성값\n */\nconst isTreeGridXmlSelectingLayout = (cfgValues: TreeGridDefaultLayoutCfgValues) => {\n return !isTreeGridDisabledConfigValue(cfgValues.Selecting);\n};\n\n/**\n * TreeGrid XML 삭제 Panel 기본값 적용 대상 여부\n * @param cfgValues 최상위 Cfg 속성값\n */\nconst isTreeGridXmlDeletePanelDefaultLayout = (cfgValues: TreeGridDefaultLayoutCfgValues) => {\n return (\n isTreeGridConfigValue(cfgValues.Undo, '1') &&\n isTreeGridConfigValue(cfgValues.Deleting, '2') &&\n isTreeGridConfigValue(cfgValues.Selecting, '0')\n );\n};\n\n/**\n * TreeGrid XML 셀 클릭 액션 기본값 삽입 위치 조회\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst getTreeGridXmlCellClickActionInsertionIndex = (\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n return scanResult.lastCfgEndIndex ?? scanResult.gridOpenTagEndIndex;\n};\n\n/**\n * TreeGrid XML 셀 클릭 액션 기본값 레이아웃 적용\n * @param layoutData XML 레이아웃 문자열\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst applyTreeGridXmlDefaultCellClickActionLayout = (\n layoutData: string,\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n if (\n scanResult.gridOpenTagEndIndex === undefined ||\n !isTreeGridXmlSelectingLayout(scanResult.cfgValues) ||\n /\\bOnClickCell\\s*=/i.test(layoutData)\n ) {\n return layoutData;\n }\n\n const actionsTag = scanResult.defaultActionsTag;\n\n if (actionsTag) {\n const nextActionsTag = appendMissingTreeGridXmlTagAttributes(\n actionsTag.tag,\n TREE_GRID_CELL_CLICK_FOCUS_DEFAULT_ACTIONS,\n );\n\n return nextActionsTag === actionsTag.tag\n ? layoutData\n : `${layoutData.slice(0, actionsTag.index)}${nextActionsTag}${layoutData.slice(\n actionsTag.index + actionsTag.tag.length,\n )}`;\n }\n\n const insertionIndex = getTreeGridXmlCellClickActionInsertionIndex(scanResult);\n\n if (insertionIndex === undefined) {\n return layoutData;\n }\n\n return `${layoutData.slice(0, insertionIndex)}\\n <Actions OnClickCell=\"Focus\" />${layoutData.slice(\n insertionIndex,\n )}`;\n};\n\n/**\n * TreeGrid XML SelectAll Panel 액션 기본값 삽입 위치 조회\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst getTreeGridXmlSelectAllPanelActionInsertionIndex = (\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n return scanResult.lastCfgEndIndex ?? scanResult.gridOpenTagEndIndex;\n};\n\n/**\n * TreeGrid XML SelectAll Panel 액션 기본값 레이아웃 적용\n * @param layoutData XML 레이아웃 문자열\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst applyTreeGridXmlDefaultSelectAllPanelActionLayout = (\n layoutData: string,\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n if (\n scanResult.gridOpenTagEndIndex === undefined ||\n !isTreeGridXmlCheckboxSelectionLayout(scanResult.cfgValues) ||\n /\\bOnClickPanelSelectAll\\s*=/i.test(layoutData)\n ) {\n return layoutData;\n }\n\n const actionsTag = scanResult.defaultActionsTag;\n\n if (actionsTag) {\n const nextActionsTag = appendMissingTreeGridXmlTagAttributes(\n actionsTag.tag,\n TREE_GRID_SELECT_ALL_PANEL_DEFAULT_ACTIONS,\n );\n\n return nextActionsTag === actionsTag.tag\n ? layoutData\n : `${layoutData.slice(0, actionsTag.index)}${nextActionsTag}${layoutData.slice(\n actionsTag.index + actionsTag.tag.length,\n )}`;\n }\n\n const insertionIndex = getTreeGridXmlSelectAllPanelActionInsertionIndex(scanResult);\n\n if (insertionIndex === undefined) {\n return layoutData;\n }\n\n return `${layoutData.slice(\n 0,\n insertionIndex,\n )}\\n <Actions OnClickPanelSelectAll=\"SelectAll OR DeselectAll\" />${layoutData.slice(\n insertionIndex,\n )}`;\n};\n\n/**\n * TreeGrid XML 삭제 Panel 기본값 삽입 위치 조회\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst getTreeGridXmlDeletePanelInsertionIndex = (\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n return scanResult.lastCfgEndIndex ?? scanResult.gridOpenTagEndIndex;\n};\n\n/**\n * TreeGrid XML 삭제 Panel 기본값 레이아웃 적용\n * @param layoutData XML 레이아웃 문자열\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst applyTreeGridXmlDefaultDeletePanelLayout = (\n layoutData: string,\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n if (\n scanResult.gridOpenTagEndIndex === undefined ||\n !isTreeGridXmlDeletePanelDefaultLayout(scanResult.cfgValues)\n ) {\n return layoutData;\n }\n\n const panelTag = scanResult.defaultPanelTag;\n\n if (panelTag) {\n const nextPanelTag = appendMissingTreeGridXmlTagAttributes(\n panelTag.tag,\n TREE_GRID_DELETE_PANEL_DEFAULT_ATTRIBUTES,\n );\n\n return nextPanelTag === panelTag.tag\n ? layoutData\n : `${layoutData.slice(0, panelTag.index)}${nextPanelTag}${layoutData.slice(\n panelTag.index + panelTag.tag.length,\n )}`;\n }\n\n const insertionIndex = getTreeGridXmlDeletePanelInsertionIndex(scanResult);\n\n if (insertionIndex === undefined) {\n return layoutData;\n }\n\n const panelTagText = '\\n <Panel Visible=\"1\" CanHide=\"0\" Delete=\"1\" Width=\"33\" />';\n\n return `${layoutData.slice(0, insertionIndex)}${panelTagText}${layoutData.slice(\n insertionIndex,\n )}`;\n};\n\n/**\n * TreeGrid XML 레이아웃 FastPanel 기본값 적용\n * @param layoutData XML 레이아웃 문자열\n * @param scanResult XML 레이아웃 스캔 결과\n */\nconst applyTreeGridXmlDefaultFastPanelLayout = (\n layoutData: string,\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n) => {\n if (scanResult.hasFastPanel || !isTreeGridXmlCheckboxSelectionLayout(scanResult.cfgValues)) {\n return layoutData;\n }\n\n const insertionIndex = scanResult.gridOpenTagEndIndex;\n\n if (insertionIndex === undefined) {\n return layoutData;\n }\n\n return `${layoutData.slice(0, insertionIndex)}\\n <Cfg FastPanel=\"0\" />${layoutData.slice(\n insertionIndex,\n )}`;\n};\n\n/**\n * TreeGrid JSON Cfg FastPanel 기본값 적용\n * @param layoutData JSON 레이아웃 객체\n */\nconst applyTreeGridJsonFastPanelDefault = (layoutData: TreeGridJsonRecord) => {\n const cfg = layoutData.Cfg;\n\n if (Array.isArray(cfg)) {\n if (!cfg.some((item) => isTreeGridJsonRecord(item) && 'FastPanel' in item)) {\n layoutData.Cfg = [{ FastPanel: 0 }, ...cfg];\n }\n return;\n }\n\n if (isTreeGridJsonRecord(cfg)) {\n if (!('FastPanel' in cfg)) {\n cfg.FastPanel = 0;\n }\n return;\n }\n\n layoutData.Cfg = { FastPanel: 0 };\n};\n\n/**\n * TreeGrid JSON SelectAll Panel 액션 기본값 적용\n * @param layoutData JSON 레이아웃 객체\n */\nconst applyTreeGridJsonSelectAllPanelActionDefault = (layoutData: TreeGridJsonRecord) => {\n const actions = layoutData.Actions;\n\n if (Array.isArray(actions)) {\n if (\n !actions.some(\n (item) => isTreeGridJsonRecord(item) && 'OnClickPanelSelectAll' in item,\n )\n ) {\n layoutData.Actions = [{ ...TREE_GRID_SELECT_ALL_PANEL_DEFAULT_ACTIONS }, ...actions];\n }\n return;\n }\n\n if (isTreeGridJsonRecord(actions)) {\n if (!('OnClickPanelSelectAll' in actions)) {\n actions.OnClickPanelSelectAll =\n TREE_GRID_SELECT_ALL_PANEL_DEFAULT_ACTIONS.OnClickPanelSelectAll;\n }\n return;\n }\n\n if (actions === undefined) {\n layoutData.Actions = { ...TREE_GRID_SELECT_ALL_PANEL_DEFAULT_ACTIONS };\n }\n};\n\n/**\n * TreeGrid JSON 셀 클릭 액션 기본값 적용\n * @param layoutData JSON 레이아웃 객체\n */\nconst applyTreeGridJsonCellClickActionDefault = (layoutData: TreeGridJsonRecord) => {\n const actions = layoutData.Actions;\n\n if (Array.isArray(actions)) {\n if (!actions.some((item) => isTreeGridJsonRecord(item) && 'OnClickCell' in item)) {\n layoutData.Actions = [{ ...TREE_GRID_CELL_CLICK_FOCUS_DEFAULT_ACTIONS }, ...actions];\n }\n return;\n }\n\n if (isTreeGridJsonRecord(actions)) {\n if (!('OnClickCell' in actions)) {\n actions.OnClickCell = TREE_GRID_CELL_CLICK_FOCUS_DEFAULT_ACTIONS.OnClickCell;\n }\n return;\n }\n\n if (actions === undefined) {\n layoutData.Actions = { ...TREE_GRID_CELL_CLICK_FOCUS_DEFAULT_ACTIONS };\n }\n};\n\n/**\n * TreeGrid JSON 레이아웃 셀 클릭 액션 기본값 적용\n * @param layoutData JSON 레이아웃 문자열\n */\nconst applyTreeGridJsonDefaultCellClickActionLayout = (layoutData: string) => {\n try {\n const parsedLayoutData = JSON.parse(layoutData) as unknown;\n\n if (\n !isTreeGridJsonRecord(parsedLayoutData) ||\n isTreeGridDisabledConfigValue(getTreeGridJsonCfgValue(parsedLayoutData, 'Selecting'))\n ) {\n return layoutData;\n }\n\n applyTreeGridJsonCellClickActionDefault(parsedLayoutData);\n\n return JSON.stringify(parsedLayoutData);\n } catch {\n return layoutData;\n }\n};\n\n/**\n * TreeGrid 셀 클릭 액션 기본값 레이아웃 적용\n * @param layoutData 레이아웃 문자열\n * @param xmlScanResult XML 레이아웃 스캔 결과\n */\nconst applyTreeGridDefaultCellClickActionLayout = (\n layoutData: string,\n xmlScanResult?: TreeGridXmlDefaultLayoutScanResult,\n) => {\n const trimmedLayoutData = layoutData.trim();\n\n if (!trimmedLayoutData) {\n return layoutData;\n }\n\n if (trimmedLayoutData.startsWith('{')) {\n return applyTreeGridJsonDefaultCellClickActionLayout(layoutData);\n }\n\n return applyTreeGridXmlDefaultCellClickActionLayout(\n layoutData,\n xmlScanResult ?? scanTreeGridXmlDefaultLayout(layoutData),\n );\n};\n\n/**\n * TreeGrid JSON 레이아웃 SelectAll Panel 액션 기본값 적용\n * @param layoutData JSON 레이아웃 문자열\n */\nconst applyTreeGridJsonDefaultSelectAllPanelActionLayout = (layoutData: string) => {\n try {\n const parsedLayoutData = JSON.parse(layoutData) as unknown;\n\n if (\n !isTreeGridJsonRecord(parsedLayoutData) ||\n !isTreeGridJsonCheckboxSelectionLayout(parsedLayoutData)\n ) {\n return layoutData;\n }\n\n applyTreeGridJsonSelectAllPanelActionDefault(parsedLayoutData);\n\n return JSON.stringify(parsedLayoutData);\n } catch {\n return layoutData;\n }\n};\n\n/**\n * TreeGrid SelectAll Panel 액션 기본값 레이아웃 적용\n * @param layoutData 레이아웃 문자열\n * @param xmlScanResult XML 레이아웃 스캔 결과\n */\nconst applyTreeGridDefaultSelectAllPanelActionLayout = (\n layoutData: string,\n xmlScanResult?: TreeGridXmlDefaultLayoutScanResult,\n) => {\n const trimmedLayoutData = layoutData.trim();\n\n if (!trimmedLayoutData) {\n return layoutData;\n }\n\n if (trimmedLayoutData.startsWith('{')) {\n return applyTreeGridJsonDefaultSelectAllPanelActionLayout(layoutData);\n }\n\n return applyTreeGridXmlDefaultSelectAllPanelActionLayout(\n layoutData,\n xmlScanResult ?? scanTreeGridXmlDefaultLayout(layoutData),\n );\n};\n\n/**\n * TreeGrid JSON SuppressCfg 기본값 적용\n * @param layoutData JSON 레이아웃 문자열\n * @param suppressCfg SuppressCfg 기본값\n */\nconst applyTreeGridJsonDefaultSuppressCfgLayout = (\n layoutData: string,\n suppressCfg?: OwpTreeGridSuppressCfg,\n) => {\n if (suppressCfg === undefined) {\n return layoutData;\n }\n\n try {\n const parsedLayoutData = JSON.parse(layoutData) as unknown;\n\n if (!isTreeGridJsonRecord(parsedLayoutData)) {\n return layoutData;\n }\n\n const cfgRecords = getTreeGridJsonCfgRecords(parsedLayoutData);\n\n if (cfgRecords.some((cfg) => 'SuppressCfg' in cfg)) {\n return layoutData;\n }\n\n if (cfgRecords[0]) {\n cfgRecords[0].SuppressCfg = suppressCfg;\n } else {\n parsedLayoutData.Cfg = { SuppressCfg: suppressCfg };\n }\n\n return JSON.stringify(parsedLayoutData);\n } catch {\n return layoutData;\n }\n};\n\n/**\n * TreeGrid XML SuppressCfg 기본값 적용\n * @param layoutData XML 레이아웃 문자열\n * @param scanResult XML 레이아웃 스캔 결과\n * @param suppressCfg SuppressCfg 기본값\n */\nconst applyTreeGridXmlDefaultSuppressCfgLayout = (\n layoutData: string,\n scanResult: TreeGridXmlDefaultLayoutScanResult,\n suppressCfg?: OwpTreeGridSuppressCfg,\n) => {\n if (suppressCfg === undefined || scanResult.cfgValues.SuppressCfg !== undefined) {\n return layoutData;\n }\n\n const cfgTag = scanResult.defaultCfgTag;\n\n if (cfgTag) {\n const nextCfgTag = appendTreeGridXmlTagAttribute(cfgTag.tag, 'SuppressCfg', suppressCfg);\n\n return `${layoutData.slice(0, cfgTag.index)}${nextCfgTag}${layoutData.slice(\n cfgTag.index + cfgTag.tag.length,\n )}`;\n }\n\n const insertionIndex = scanResult.gridOpenTagEndIndex;\n\n if (insertionIndex === undefined) {\n return layoutData;\n }\n\n return `${layoutData.slice(0, insertionIndex)}\\n <Cfg SuppressCfg=\"${suppressCfg}\" />${layoutData.slice(\n insertionIndex,\n )}`;\n};\n\n/**\n * TreeGrid SuppressCfg 기본값 레이아웃 적용\n * @param layoutData 레이아웃 문자열\n * @param suppressCfg SuppressCfg 기본값\n */\nconst applyTreeGridDefaultSuppressCfgLayout = (\n layoutData: string,\n suppressCfg?: OwpTreeGridSuppressCfg,\n) => {\n const trimmedLayoutData = layoutData.trim();\n\n if (suppressCfg === undefined || !trimmedLayoutData) {\n return layoutData;\n }\n\n if (trimmedLayoutData.startsWith('{')) {\n return applyTreeGridJsonDefaultSuppressCfgLayout(layoutData, suppressCfg);\n }\n\n return applyTreeGridXmlDefaultSuppressCfgLayout(\n layoutData,\n scanTreeGridXmlDefaultLayout(layoutData),\n suppressCfg,\n );\n};\n\n/**\n * TreeGrid Toolbar formula 속성 명시 여부\n * @param layoutRecord TreeGrid JSON 레이아웃 객체\n */\nconst hasTreeGridToolbarFormulaField = (layoutRecord: TreeGridJsonRecord) => {\n return TREE_GRID_TOOLBAR_FORMULA_FIELD_NAMES.some((fieldName) => fieldName in layoutRecord);\n};\n\n/**\n * TreeGrid JSON 레이아웃 Toolbar record 목록 조회\n * @param layoutData JSON 레이아웃 객체\n */\nconst getTreeGridJsonToolbarRecords = (layoutData: TreeGridJsonRecord) => {\n const toolbar = layoutData.Toolbar;\n const solid = layoutData.Solid;\n const toolbarRecords = Array.isArray(toolbar)\n ? toolbar.filter(isTreeGridJsonRecord)\n : isTreeGridJsonRecord(toolbar)\n ? [toolbar]\n : [];\n const solidToolbarRecords = Array.isArray(solid)\n ? solid.filter(\n (item): item is TreeGridJsonRecord =>\n isTreeGridJsonRecord(item) && isTreeGridConfigValue(item.Kind, 'Toolbar'),\n )\n : isTreeGridJsonRecord(solid) && isTreeGridConfigValue(solid.Kind, 'Toolbar')\n ? [solid]\n : [];\n\n return [...toolbarRecords, ...solidToolbarRecords];\n};\n\n/**\n * TreeGrid JSON Toolbar 전체 건수 formula 기본값 적용\n * @param layoutData JSON 레이아웃 문자열\n * @param toolbarTotalCountFormula Toolbar 전체 건수 formula\n */\nconst applyTreeGridJsonDefaultToolbarTotalCountLayout = (\n layoutData: string,\n toolbarTotalCountFormula?: string,\n) => {\n if (!toolbarTotalCountFormula) {\n return layoutData;\n }\n\n try {\n const parsedLayoutData = JSON.parse(layoutData) as unknown;\n\n if (!isTreeGridJsonRecord(parsedLayoutData)) {\n return layoutData;\n }\n\n const toolbarRecords = getTreeGridJsonToolbarRecords(parsedLayoutData);\n\n if (toolbarRecords.some(hasTreeGridToolbarFormulaField)) {\n return layoutData;\n }\n\n if (toolbarRecords[0]) {\n toolbarRecords[0].FormulaFormula = toolbarTotalCountFormula;\n } else {\n parsedLayoutData.Toolbar = { FormulaFormula: toolbarTotalCountFormula };\n }\n\n return JSON.stringify(parsedLayoutData);\n } catch {\n return layoutData;\n }\n};\n\n/**\n * TreeGrid XML Toolbar formula 명시 여부\n * @param toolbarTag Toolbar 태그 문자열\n */\nconst hasTreeGridXmlToolbarFormulaAttribute = (toolbarTag: string) => {\n return TREE_GRID_TOOLBAR_FORMULA_FIELD_NAMES.some((fieldName) =>\n hasTreeGridXmlTagAttribute(toolbarTag, fieldName),\n );\n};\n\n/**\n * TreeGrid XML Toolbar 전체 건수 formula 기본값 적용\n * @param layoutData XML 레이아웃 문자열\n * @param toolbarTotalCountFormula Toolbar 전체 건수 formula\n */\nconst applyTreeGridXmlDefaultToolbarTotalCountLayout = (\n layoutData: string,\n toolbarTotalCountFormula?: string,\n) => {\n if (!toolbarTotalCountFormula) {\n return layoutData;\n }\n\n const toolbarMatch = TREE_GRID_XML_TOOLBAR_TAG_PATTERN.exec(layoutData);\n\n if (toolbarMatch) {\n const toolbarTag = toolbarMatch[0];\n\n if (hasTreeGridXmlToolbarFormulaAttribute(toolbarTag)) {\n return layoutData;\n }\n\n const nextToolbarTag = setTreeGridXmlTagAttribute(\n toolbarTag,\n 'Formula',\n toolbarTotalCountFormula,\n );\n\n return `${layoutData.slice(0, toolbarMatch.index)}${nextToolbarTag}${layoutData.slice(\n toolbarMatch.index + toolbarTag.length,\n )}`;\n }\n\n const toolbarTag = setTreeGridXmlTagAttribute(\n '<Toolbar />',\n 'Formula',\n toolbarTotalCountFormula,\n );\n const gridCloseMatch = TREE_GRID_XML_GRID_CLOSE_TAG_PATTERN.exec(layoutData);\n\n if (gridCloseMatch) {\n return `${layoutData.slice(0, gridCloseMatch.index)} ${toolbarTag}\\n${layoutData.slice(\n gridCloseMatch.index,\n )}`;\n }\n\n const gridOpenMatch = TREE_GRID_XML_GRID_OPEN_TAG_PATTERN.exec(layoutData);\n\n if (!gridOpenMatch) {\n return layoutData;\n }\n\n return `${layoutData.slice(\n 0,\n gridOpenMatch.index + gridOpenMatch[0].length,\n )}\\n ${toolbarTag}${layoutData.slice(gridOpenMatch.index + gridOpenMatch[0].length)}`;\n};\n\n/**\n * TreeGrid Toolbar 전체 건수 formula 기본값 레이아웃 적용\n * @param layoutData 레이아웃 문자열\n * @param toolbarTotalCountFormula Toolbar 전체 건수 formula\n */\nconst applyTreeGridDefaultToolbarTotalCountLayout = (\n layoutData: string,\n toolbarTotalCountFormula?: string,\n) => {\n const trimmedLayoutData = layoutData.trim();\n\n if (!toolbarTotalCountFormula || !trimmedLayoutData) {\n return layoutData;\n }\n\n if (trimmedLayoutData.startsWith('{')) {\n return applyTreeGridJsonDefaultToolbarTotalCountLayout(\n layoutData,\n toolbarTotalCountFormula,\n );\n }\n\n return applyTreeGridXmlDefaultToolbarTotalCountLayout(layoutData, toolbarTotalCountFormula);\n};\n\n/**\n * TreeGrid JSON 레이아웃 FastPanel 기본값 적용\n * @param layoutData JSON 레이아웃 문자열\n */\nconst applyTreeGridJsonDefaultFastPanelLayout = (layoutData: string) => {\n try {\n const parsedLayoutData = JSON.parse(layoutData) as unknown;\n\n if (!isTreeGridJsonRecord(parsedLayoutData)) {\n return layoutData;\n }\n\n if (!isTreeGridJsonCheckboxSelectionLayout(parsedLayoutData)) {\n return layoutData;\n }\n\n applyTreeGridJsonFastPanelDefault(parsedLayoutData);\n\n return JSON.stringify(parsedLayoutData);\n } catch {\n return layoutData;\n }\n};\n\n/**\n * TreeGrid FastPanel 기본값 레이아웃 적용\n * @param layoutData 레이아웃 문자열\n * @param xmlScanResult XML 레이아웃 스캔 결과\n */\nconst applyTreeGridDefaultFastPanelLayout = (\n layoutData: string,\n xmlScanResult?: TreeGridXmlDefaultLayoutScanResult,\n) => {\n const trimmedLayoutData = layoutData.trim();\n\n if (!trimmedLayoutData) {\n return layoutData;\n }\n\n if (trimmedLayoutData.startsWith('{')) {\n if (/\\bFastPanel\\s*[:=]/i.test(layoutData)) {\n return layoutData;\n }\n\n return applyTreeGridJsonDefaultFastPanelLayout(layoutData);\n }\n\n return applyTreeGridXmlDefaultFastPanelLayout(\n layoutData,\n xmlScanResult ?? scanTreeGridXmlDefaultLayout(layoutData),\n );\n};\n\n/**\n * TreeGrid 비활성 애니메이션 속성 목록 조회\n * @param disabledAnimations 비활성화할 애니메이션 의미 키 목록\n */\nconst getTreeGridDisabledAnimationAttributes = (\n disabledAnimations?: readonly OwpTreeGridDisabledAnimation[],\n) => {\n const attributes: Record<string, string> = {};\n\n disabledAnimations?.forEach((animation) => {\n TREE_GRID_DISABLED_ANIMATION_ATTRIBUTES[animation]?.forEach((attributeName) => {\n attributes[attributeName] = '';\n });\n });\n\n return attributes;\n};\n\n/**\n * TreeGrid JSON Animations 비활성 속성 적용\n * @param layoutData JSON 레이아웃 문자열\n * @param attributes 비활성 애니메이션 속성\n */\nconst applyTreeGridJsonDisabledAnimationsLayout = (\n layoutData: string,\n attributes: Record<string, string>,\n) => {\n try {\n const parsedLayoutData = JSON.parse(layoutData) as unknown;\n\n if (!isTreeGridJsonRecord(parsedLayoutData)) {\n return layoutData;\n }\n\n const animations = parsedLayoutData.Animations;\n\n if (Array.isArray(animations)) {\n const firstAnimations = animations.find(isTreeGridJsonRecord);\n\n if (firstAnimations) {\n Object.assign(firstAnimations, attributes);\n } else {\n animations.unshift({ ...attributes });\n }\n } else if (isTreeGridJsonRecord(animations)) {\n Object.assign(animations, attributes);\n } else if (animations === undefined) {\n parsedLayoutData.Animations = attributes;\n } else {\n return layoutData;\n }\n\n return JSON.stringify(parsedLayoutData);\n } catch {\n return layoutData;\n }\n};\n\n/**\n * TreeGrid XML Animations 태그 생성\n * @param attributes 비활성 애니메이션 속성\n */\nconst createTreeGridDisabledAnimationsTag = (attributes: Record<string, string>) => {\n return setTreeGridXmlTagAttributes('<Animations />', attributes);\n};\n\n/**\n * TreeGrid XML Animations 비활성 속성 적용\n * @param layoutData XML 레이아웃 문자열\n * @param attributes 비활성 애니메이션 속성\n */\nconst applyTreeGridXmlDisabledAnimationsLayout = (\n layoutData: string,\n attributes: Record<string, string>,\n) => {\n const scanResult = scanTreeGridXmlDefaultLayout(layoutData);\n\n if (scanResult.gridOpenTagEndIndex === undefined) {\n return layoutData;\n }\n\n const animationsTag = scanResult.animationsTag;\n\n if (animationsTag) {\n const nextAnimationsTag = setTreeGridXmlTagAttributes(animationsTag.tag, attributes);\n\n return nextAnimationsTag === animationsTag.tag\n ? layoutData\n : `${layoutData.slice(0, animationsTag.index)}${nextAnimationsTag}${layoutData.slice(\n animationsTag.index + animationsTag.tag.length,\n )}`;\n }\n\n const insertionIndex = scanResult.lastCfgEndIndex ?? scanResult.gridOpenTagEndIndex;\n\n return `${layoutData.slice(0, insertionIndex)}\\n ${createTreeGridDisabledAnimationsTag(\n attributes,\n )}${layoutData.slice(insertionIndex)}`;\n};\n\n/**\n * TreeGrid Animations 비활성 속성 레이아웃 적용\n * @param layoutData 레이아웃 문자열\n * @param disabledAnimations 비활성화할 애니메이션 의미 키 목록\n */\nconst applyTreeGridDisabledAnimationsLayout = (\n layoutData: string,\n disabledAnimations?: readonly OwpTreeGridDisabledAnimation[],\n) => {\n const attributes = getTreeGridDisabledAnimationAttributes(disabledAnimations);\n\n if (!Object.keys(attributes).length) {\n return layoutData;\n }\n\n const trimmedLayoutData = layoutData.trim();\n\n if (!trimmedLayoutData) {\n return layoutData;\n }\n\n if (trimmedLayoutData.startsWith('{')) {\n return applyTreeGridJsonDisabledAnimationsLayout(layoutData, attributes);\n }\n\n return applyTreeGridXmlDisabledAnimationsLayout(layoutData, attributes);\n};\n\n/**\n * TreeGrid 기본값 레이아웃 적용\n * @param layoutData 레이아웃 문자열\n * @param disabledAnimations 비활성화할 애니메이션 의미 키 목록\n * @param toolbarTotalCountFormula Toolbar 전체 건수 formula\n * @param suppressCfg SuppressCfg 기본값\n */\nconst applyTreeGridDefaultLayout = (\n layoutData: string,\n disabledAnimations?: readonly OwpTreeGridDisabledAnimation[],\n toolbarTotalCountFormula?: string,\n suppressCfg?: OwpTreeGridSuppressCfg,\n) => {\n const nextLayoutData = applyTreeGridDefaultToolbarTotalCountLayout(\n applyTreeGridDefaultHeaderPanelRowSpanLayout(\n applyTreeGridDefaultSuppressCfgLayout(layoutData, suppressCfg),\n ),\n toolbarTotalCountFormula,\n );\n const trimmedLayoutData = nextLayoutData.trim();\n\n if (!trimmedLayoutData || trimmedLayoutData.startsWith('{')) {\n return applyTreeGridDisabledAnimationsLayout(\n applyTreeGridDefaultFastPanelLayout(\n applyTreeGridDefaultCellClickActionLayout(\n applyTreeGridDefaultSelectAllPanelActionLayout(nextLayoutData),\n ),\n ),\n disabledAnimations,\n );\n }\n\n const xmlScanResult = scanTreeGridXmlDefaultLayout(nextLayoutData);\n const nextSelectAllPanelActionLayoutData = applyTreeGridDefaultSelectAllPanelActionLayout(\n nextLayoutData,\n xmlScanResult,\n );\n const nextSelectAllXmlScanResult =\n nextSelectAllPanelActionLayoutData === nextLayoutData\n ? xmlScanResult\n : scanTreeGridXmlDefaultLayout(nextSelectAllPanelActionLayoutData);\n const nextCellClickActionLayoutData = applyTreeGridDefaultCellClickActionLayout(\n nextSelectAllPanelActionLayoutData,\n nextSelectAllXmlScanResult,\n );\n const nextXmlScanResult =\n nextCellClickActionLayoutData === nextSelectAllPanelActionLayoutData\n ? nextSelectAllXmlScanResult\n : scanTreeGridXmlDefaultLayout(nextCellClickActionLayoutData);\n\n return applyTreeGridDisabledAnimationsLayout(\n applyTreeGridXmlDefaultDeletePanelLayout(\n applyTreeGridDefaultFastPanelLayout(\n nextCellClickActionLayoutData,\n nextXmlScanResult,\n ),\n nextXmlScanResult,\n ),\n disabledAnimations,\n );\n};\n\n/**\n * TreeGrid wrapper 엘리먼트 조회\n * @param gridId TreeGrid 인스턴스 ID\n */\nconst getTreeGridWrapperElement = (gridId: string) => {\n if (typeof document === 'undefined') {\n return null;\n }\n\n return document.getElementById(gridId)?.closest(`.${TREE_GRID_THEME_WRAPPER_CLASS}`) ?? null;\n};\n\n/**\n * TreeGrid 전체 선택 상태 조회\n * @param grid TreeGrid 인스턴스\n */\nconst getTreeGridSelectAllState = (grid: TGrid): TreeGridSelectAllState => {\n if (isTreeGridExplicitEnabledConfigValue(grid.AllSelected)) {\n return 'checked';\n }\n\n if (isTreeGridDisabledConfigValue(grid.AllSelected)) {\n return 'unchecked';\n }\n\n let selectableRowCount = 0;\n let selectedRowCount = 0;\n\n getTreeGridRows(grid).forEach((row) => {\n if (!isDisplayTreeGridRow(row) || isTreeGridDisabledConfigValue(row.CanSelect)) {\n return;\n }\n\n selectableRowCount += 1;\n\n if (isTreeGridExplicitEnabledConfigValue(grid.IsSelected(row))) {\n selectedRowCount += 1;\n }\n });\n\n if (!selectedRowCount) {\n return 'unchecked';\n }\n\n return selectableRowCount > 0 && selectedRowCount >= selectableRowCount\n ? 'checked'\n : 'indeterminate';\n};\n\n/**\n * TreeGrid 선택 패널 표시 상태 동기화\n * @param grid TreeGrid 인스턴스\n * @param gridId TreeGrid 인스턴스 ID\n */\nconst syncTreeGridSelectionPanelState = (grid: TGrid, gridId: string) => {\n const wrapperElement = getTreeGridWrapperElement(gridId);\n const isSelectingEnabled = !isTreeGridDisabledConfigValue(grid.Selecting);\n const isCheckboxSelectionMode = isTreeGridCheckboxSelectionMode(\n grid.Selecting,\n grid.SelectingSingle,\n );\n const header = grid.Header;\n\n wrapperElement?.classList.toggle(\n TREE_GRID_PANEL_CHECKBOX_SELECT_CLASS,\n isCheckboxSelectionMode,\n );\n\n if (!isCheckboxSelectionMode) {\n wrapperElement?.classList.remove(\n TREE_GRID_SELECT_ALL_CHECKED_CLASS,\n TREE_GRID_SELECT_ALL_INDETERMINATE_CLASS,\n TREE_GRID_SELECT_ALL_UNCHECKED_CLASS,\n );\n } else {\n const selectAllState = getTreeGridSelectAllState(grid);\n\n wrapperElement?.classList.toggle(\n TREE_GRID_SELECT_ALL_CHECKED_CLASS,\n selectAllState === 'checked',\n );\n wrapperElement?.classList.toggle(\n TREE_GRID_SELECT_ALL_INDETERMINATE_CLASS,\n selectAllState === 'indeterminate',\n );\n wrapperElement?.classList.toggle(\n TREE_GRID_SELECT_ALL_UNCHECKED_CLASS,\n selectAllState === 'unchecked',\n );\n }\n\n if (header && isSelectingEnabled) {\n header.CanSelect = isCheckboxSelectionMode ? 1 : 0;\n }\n};\n\nconst treeGridSelectionPanelStateSyncTimeouts = new Map<string, number>();\n\n/**\n * TreeGrid 선택 패널 표시 상태 지연 동기화\n * @param grid TreeGrid 인스턴스\n * @param gridId TreeGrid 인스턴스 ID\n */\nconst scheduleTreeGridSelectionPanelStateSync = (grid: TGrid, gridId: string) => {\n if (typeof window === 'undefined') {\n return;\n }\n\n const activeTimeout = treeGridSelectionPanelStateSyncTimeouts.get(gridId);\n\n if (activeTimeout !== undefined) {\n window.clearTimeout(activeTimeout);\n }\n\n const nextTimeout = window.setTimeout(() => {\n treeGridSelectionPanelStateSyncTimeouts.delete(gridId);\n syncTreeGridSelectionPanelState(grid, gridId);\n }, 0);\n\n treeGridSelectionPanelStateSyncTimeouts.set(gridId, nextTimeout);\n};\n\n/**\n * TreeGrid 기본 Enter 동작 적용\n * @param grid TreeGrid 인스턴스\n * @param enterMode EnterMode 값\n */\nconst applyTreeGridDefaultEnterMode = (grid: TGrid, enterMode: number) => {\n grid.EnterMode = enterMode;\n\n const actionConfig =\n TREE_GRID_DEFAULT_ENTER_ACTIONS[\n enterMode as keyof typeof TREE_GRID_DEFAULT_ENTER_ACTIONS\n ];\n\n if (!actionConfig) {\n return;\n }\n\n const mutableGrid = grid as TGrid & { Actions?: TreeGridMutableActions };\n\n mutableGrid.Actions ??= {};\n mutableGrid.Actions.OnEnter = actionConfig.onEnter;\n mutableGrid.Actions.OnEnterEdit = actionConfig.onEnterEdit;\n};\n\nconst isTreeGridInlineUrl = (url?: string) => {\n return url?.startsWith('data:') || url?.startsWith('blob:');\n};\n\nconst treeGridInlineBlobUrlCache = new Map<string, string>();\n\nconst resolveTreeGridInlineUrl = (url?: string) => {\n if (!url || !url.startsWith('data:')) {\n return url;\n }\n\n const cachedUrl = treeGridInlineBlobUrlCache.get(url);\n\n if (cachedUrl) {\n return cachedUrl;\n }\n\n try {\n const [meta, encodedData = ''] = url.split(',', 2);\n const match = /^data:([^;]*)(;base64)?$/i.exec(meta);\n const mimeType = match?.[1] || 'application/octet-stream';\n const decodedData = match?.[2] ? atob(encodedData) : decodeURIComponent(encodedData);\n const bytes = new Uint8Array(decodedData.length);\n\n for (let index = 0; index < decodedData.length; index += 1) {\n bytes[index] = decodedData.charCodeAt(index);\n }\n\n const blobUrl = URL.createObjectURL(new Blob([bytes], { type: mimeType }));\n\n treeGridInlineBlobUrlCache.set(url, blobUrl);\n\n return blobUrl;\n } catch {\n return url;\n }\n};\n\nconst appendNoCacheQuery = (url: string) => {\n if (!url || isTreeGridInlineUrl(url)) {\n return resolveTreeGridInlineUrl(url);\n }\n\n const hashIndex = url.indexOf('#');\n const [baseUrl, hashFragment] =\n hashIndex >= 0 ? [url.slice(0, hashIndex), url.slice(hashIndex)] : [url, ''];\n const querySeparator = baseUrl.includes('?') ? '&' : '?';\n\n return `${baseUrl}${querySeparator}noCache=${Date.now()}${hashFragment}`;\n};\n\ntype TreeGridDeletedRowStateSyncOptions = {\n canEdit?: 1 | 2;\n editableColumns?: readonly string[];\n editableCanEdit?: 1 | 2;\n highlightColumns?: readonly string[];\n highlightBackgroundColor?: string;\n};\n\n/**\n * 삭제 상태 변경 행 시각 상태 동기화\n * @param grid TreeGrid 인스턴스\n * @param row 대상 행\n * @param options 동기화 옵션\n */\nconst syncTreeGridDeletedRowState = (\n grid: TGrid | null | undefined,\n row: TRow,\n options: TreeGridDeletedRowStateSyncOptions,\n) => {\n if (!grid) {\n return;\n }\n\n const canEdit = options.canEdit;\n const editableColumns = options.editableColumns ?? [];\n const editableCanEdit = options.editableCanEdit;\n const highlightColumns = options.highlightColumns ?? [];\n const highlightBackgroundColor = options.highlightBackgroundColor;\n\n if (canEdit === undefined && editableCanEdit === undefined && !highlightColumns.length) {\n return;\n }\n\n if (typeof grid.StartUpdate === 'function') {\n grid.StartUpdate();\n }\n\n try {\n if (canEdit !== undefined) {\n row.CanEdit = canEdit;\n }\n\n if (editableCanEdit !== undefined) {\n const rowRecord = row as unknown as Record<string, unknown>;\n\n editableColumns.forEach((col) => {\n if (!col || !grid.Cols?.[col]) {\n return;\n }\n\n rowRecord[`${col}CanEdit`] = editableCanEdit;\n });\n }\n\n highlightColumns.forEach((col) => {\n if (!col) {\n return;\n }\n\n grid.SetValue(\n row,\n `${col}Class`,\n highlightBackgroundColor ? TREEGRID_CELL_CHANGED_CLASS : '',\n 0,\n );\n grid.SetValue(row, `${col}Color`, highlightBackgroundColor ?? '', 0);\n });\n } finally {\n if (typeof grid.EndUpdate === 'function') {\n grid.EndUpdate();\n }\n }\n\n if (typeof grid.RefreshRow === 'function') {\n grid.RefreshRow(row);\n }\n};\n\nconst resolveTreeGridDataUrl = (dataUrl?: string) => {\n if (!dataUrl) {\n return '';\n }\n\n if (isTreeGridInlineUrl(dataUrl) || dataUrl.includes('assets')) {\n return appendNoCacheQuery(dataUrl);\n }\n\n // @ts-expect-error - API base URL env is provided by host app\n return appendNoCacheQuery(`${import.meta.env.VITE_API_BASE_URL}/${dataUrl}`);\n};\n\nconst isTreeGridPromiseLike = <T,>(value: unknown): value is PromiseLike<T> => {\n return (\n (typeof value === 'object' || typeof value === 'function') &&\n value !== null &&\n typeof (value as PromiseLike<T>).then === 'function'\n );\n};\n\n/**\n * 삭제 상태 행 재클릭 후속 처리\n * @param grid TreeGrid 인스턴스\n * @param row 대상 행\n * @param action 후속 액션\n * @param syncHasDisplayDataRows 표시 행 동기화 콜백\n */\nconst applyTreeGridBeforeRowUndeleteAction = (\n grid: TGrid | null | undefined,\n row: TRow,\n action: TreeGridBeforeRowUndeleteAction | undefined,\n syncHasDisplayDataRows: (grid: TGrid | null) => void,\n) => {\n if (!grid || action === 'cancel') {\n return;\n }\n\n if (action === 'remove') {\n grid.RemoveRow(row);\n syncHasDisplayDataRows(grid);\n return;\n }\n\n grid.DeleteRowT(row, 3);\n};\n\nconst buildTreeGridDataSource = <T,>(\n useDataUrl: boolean | undefined,\n dataUrl: string | undefined,\n bodyData: OwpTreeGridBodyData<T>,\n) => {\n if (useDataUrl) {\n return { Url: resolveTreeGridDataUrl(dataUrl) };\n }\n\n return { Data: { Body: [isEmpty(bodyData) ? [] : bodyData] } };\n};\n\n/**\n * TreeGrid 초기화 옵션 생성\n * @param input 초기화 입력값\n */\nexport const buildTreeGridInitializationOptions = <T,>({\n id,\n layoutUrl,\n layoutData,\n toolbarTotalCountFormula,\n suppressCfg,\n disabledAnimations,\n dataUrl,\n bodyData,\n useDataUrl,\n width,\n height,\n languageId,\n}: TreeGridInitializationInput<T>) => {\n return {\n id,\n Layout: layoutData\n ? {\n Data: applyTreeGridDefaultLayout(\n layoutData,\n disabledAnimations,\n toolbarTotalCountFormula,\n suppressCfg,\n ),\n }\n : { Url: appendNoCacheQuery(layoutUrl ?? '') },\n Data: buildTreeGridDataSource(useDataUrl, dataUrl, bodyData),\n Text: {\n Url: getTreeGridTextResourceUrl(languageId),\n },\n width,\n height,\n Debug: 'Error',\n };\n};\n\nconst getTreeGridBodyData = (grid: TGrid | null) => {\n return get(grid, 'Data.Data.Data.Body.0');\n};\n\ntype TreeGridCellSpanAttribute = 'Span' | 'RowSpan';\n\n/**\n * TreeGrid span 속성 숫자 변환\n * @param value span 속성 원본값\n */\nconst parseTreeGridPositiveNumber = (value: unknown) => {\n if (typeof value === 'number') {\n return Number.isFinite(value) && value > 0 ? value : undefined;\n }\n\n if (typeof value !== 'string') {\n return undefined;\n }\n\n const trimmedValue = value.trim();\n\n if (!trimmedValue) {\n return undefined;\n }\n\n const numericValue = Number(trimmedValue);\n\n return Number.isFinite(numericValue) && numericValue > 0 ? numericValue : undefined;\n};\n\n/**\n * TreeGrid 헤더 셀 span 속성 조회\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n * @param attributeName span 속성 이름\n */\nconst getTreeGridHeaderCellSpanAttribute = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n attributeName: TreeGridCellSpanAttribute,\n) => {\n if (!row || !col) {\n return undefined;\n }\n\n const attributeValue = grid.GetAttribute(row, col, attributeName);\n const resolvedAttributeValue = parseTreeGridPositiveNumber(attributeValue);\n\n if (resolvedAttributeValue !== undefined) {\n return resolvedAttributeValue;\n }\n\n return parseTreeGridPositiveNumber(\n (row as unknown as Record<string, unknown>)[`${col}${attributeName}`],\n );\n};\n\n/**\n * TreeGrid 그룹 전용 헤더 셀 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst isTreeGridGroupHeaderCell = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || row.Fixed !== 'Head') {\n return false;\n }\n\n const colSpan = getTreeGridHeaderCellSpanAttribute(grid, row, col, 'Span') ?? 1;\n\n if (colSpan <= 1) {\n return false;\n }\n\n const rowSpan = getTreeGridHeaderCellSpanAttribute(grid, row, col, 'RowSpan') ?? 1;\n\n return rowSpan === 1;\n};\n\n/**\n * TreeGrid 헤더 버튼 제거 대상 등록\n * @param targets 헤더 행별 대상 컬럼 목록\n * @param row 헤더 행\n * @param col 컬럼 키\n */\nconst addTreeGridHeaderButtonAttributeTarget = (\n targets: Map<TRow, Set<string>>,\n row: TRow,\n col: string,\n) => {\n const targetCols = targets.get(row);\n\n if (targetCols) {\n targetCols.add(col);\n return;\n }\n\n targets.set(row, new Set([col]));\n};\n\n/**\n * TreeGrid 그룹 헤더 sort 버튼 제거 대상 조회\n * @param grid TreeGrid 인스턴스\n * @param headerRows 헤더 행 목록\n * @param cols 컬럼 키 목록\n * @param includeChildHeaderCells 하위 헤더 셀 포함 여부\n */\nconst getTreeGridGroupHeaderSortButtonTargets = (\n grid: TGrid,\n headerRows: readonly TRow[],\n cols: readonly string[],\n includeChildHeaderCells: boolean,\n) => {\n const targets = new Map<TRow, Set<string>>();\n\n headerRows.forEach((row, rowIndex) => {\n cols.forEach((col, colIndex) => {\n if (!isTreeGridGroupHeaderCell(grid, row, col)) {\n return;\n }\n\n addTreeGridHeaderButtonAttributeTarget(targets, row, col);\n\n if (!includeChildHeaderCells) {\n return;\n }\n\n const colSpan = Math.floor(getTreeGridHeaderCellSpanAttribute(grid, row, col, 'Span') ?? 1);\n const childColEndIndex = Math.min(cols.length, colIndex + colSpan);\n\n for (let childRowIndex = rowIndex + 1; childRowIndex < headerRows.length; childRowIndex += 1) {\n const childRow = headerRows[childRowIndex];\n\n for (let childColIndex = colIndex; childColIndex < childColEndIndex; childColIndex += 1) {\n addTreeGridHeaderButtonAttributeTarget(targets, childRow, cols[childColIndex]);\n }\n }\n });\n });\n\n return targets;\n};\n\n/**\n * TreeGrid 그룹 헤더 sort 버튼 제거 대상 셀 여부\n * @param grid TreeGrid 인스턴스\n * @param row 헤더 행\n * @param col 컬럼 키\n * @param includeChildHeaderCells 하위 헤더 셀 포함 여부\n */\nconst isTreeGridGroupHeaderSortButtonTarget = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n includeChildHeaderCells: boolean,\n) => {\n if (!row || !col || row.Fixed !== 'Head') {\n return false;\n }\n\n const headerRows =\n typeof grid.GetFixedRows === 'function'\n ? grid.GetFixedRows().filter((fixedRow) => fixedRow.Fixed === 'Head')\n : [];\n const cols = typeof grid.GetCols === 'function' ? grid.GetCols() : [];\n\n if (!headerRows.length || !cols.length) {\n return false;\n }\n\n return (\n getTreeGridGroupHeaderSortButtonTargets(\n grid,\n headerRows,\n cols,\n includeChildHeaderCells,\n )\n .get(row)\n ?.has(col) === true\n );\n};\n\n/**\n * TreeGrid 그룹 헤더 sort 버튼 비활성 셀 속성 적용\n * @param grid TreeGrid 인스턴스\n * @param gridId TreeGrid 인스턴스 ID\n * @param refreshRows 반영 후 헤더 행 refresh 여부\n * @param includeChildHeaderCells 하위 헤더 셀 포함 여부\n */\nconst applyTreeGridGroupHeaderSortButtonAttributes = (\n grid: TGrid,\n gridId: string,\n refreshRows = false,\n includeChildHeaderCells = true,\n) => {\n const applyStartedAt =\n typeof performance !== 'undefined' ? performance.now() : Date.now();\n const headerRows =\n typeof grid.GetFixedRows === 'function'\n ? grid.GetFixedRows().filter((row) => row.Fixed === 'Head')\n : [];\n const cols = typeof grid.GetCols === 'function' ? grid.GetCols() : [];\n\n if (!headerRows.length || !cols.length) {\n return;\n }\n\n const updatedRows = new Set<TRow>();\n let updatedCellCount = 0;\n const targets = getTreeGridGroupHeaderSortButtonTargets(\n grid,\n headerRows,\n cols,\n includeChildHeaderCells,\n );\n\n if (!targets.size) {\n return;\n }\n\n if (typeof grid.StartUpdate === 'function') {\n grid.StartUpdate();\n }\n\n try {\n targets.forEach((targetCols, row) => {\n targetCols.forEach((col) => {\n if (grid.GetAttribute(row, col, TREE_GRID_GROUP_HEADER_BUTTON_ATTRIBUTE) === '') {\n return;\n }\n\n grid.SetAttribute(row, col, TREE_GRID_GROUP_HEADER_BUTTON_ATTRIBUTE, '', 0, 0);\n updatedRows.add(row);\n updatedCellCount += 1;\n });\n });\n } finally {\n if (typeof grid.EndUpdate === 'function') {\n grid.EndUpdate();\n }\n }\n\n if (!updatedRows.size) {\n return;\n }\n\n if (refreshRows) {\n updatedRows.forEach((row) => {\n if (typeof grid.RefreshRow === 'function') {\n grid.RefreshRow(row);\n }\n });\n }\n\n countTreeGridPerf(gridId, 'group header button attribute apply');\n measureTreeGridPerf(gridId, 'group header button attribute apply', applyStartedAt, {\n updatedCellCount,\n updatedRowCount: updatedRows.size,\n });\n};\n\n/**\n * TreeGrid Body 데이터 건수\n * @param bodyData TreeGrid Body 데이터\n */\nexport const getTreeGridBodyDataCount = <T,>(bodyData: OwpTreeGridBodyData<T>) => {\n return Array.isArray(bodyData) ? bodyData.length : 0;\n};\n\nconst isVisibleTreeGridRow = (row: TRow | null | undefined) => {\n const visible = (row as { Visible?: unknown } | null)?.Visible;\n\n return !!row && visible !== 0 && visible !== false && visible !== '0';\n};\n\n/**\n * TreeGrid 추가 행 여부\n * @param row TreeGrid 행\n */\nconst isAddedTreeGridRow = (row: TRow | null | undefined) => {\n const added = (row as { Added?: unknown } | null)?.Added;\n\n return !!row && added !== 0 && added !== false && added !== '0' && added !== undefined;\n};\n\n/**\n * TreeGrid 삭제 행 여부\n * @param row TreeGrid 행\n */\nconst isDeletedTreeGridRow = (row: TRow | null | undefined) => {\n const deleted = (row as { Deleted?: unknown } | null)?.Deleted;\n\n return !!row && deleted !== 0 && deleted !== false && deleted !== '0' && deleted !== undefined;\n};\n\n/**\n * TreeGrid 본문 표시 행 여부\n * @param row TreeGrid 행\n */\nconst isDisplayTreeGridRow = (row: TRow | null | undefined) => {\n if (!row || row.Fixed === 'Foot' || !isVisibleTreeGridRow(row)) {\n return false;\n }\n\n return row.Kind === 'Data' || isAddedTreeGridRow(row);\n};\n\nconst getTreeGridColumnNames = (grid: TGrid) => Object.keys(grid.Cols ?? {}).filter(Boolean);\n\n/**\n * TreeGrid 표시 컬럼 여부\n * @param grid TreeGrid 인스턴스\n * @param col TreeGrid 컬럼 키\n */\nconst isVisibleTreeGridColumn = (grid: TGrid, col: string) => {\n const column = grid.Cols?.[col];\n\n return (\n !!column &&\n !isTreeGridDisabledConfigValue(column.Visible) &&\n !isTreeGridExplicitHiddenConfigValue(column.Hidden)\n );\n};\n\n/**\n * TreeGrid 컬럼 순서값 조회\n * @param value TreeGrid 컬럼 순서 속성값\n * @param fallback fallback 순서값\n */\nconst resolveTreeGridColumnOrderValue = (value: unknown, fallback: number) => {\n return typeof value === 'number' && Number.isFinite(value) ? value : fallback;\n};\n\n/**\n * TreeGrid 신규 행 박스 대상 컬럼 경계 조회\n * @param grid TreeGrid 인스턴스\n */\nconst getTreeGridAddedRowBoxColumnBounds = (grid: TGrid): TreeGridAddedRowBoxColumnBounds => {\n const cachedBounds = treeGridAddedRowBoxColumnBoundsCache.get(grid);\n\n if (cachedBounds) {\n return cachedBounds;\n }\n\n const columnNameIndexes = new Map(\n getTreeGridColumnNames(grid).map((columnName, index) => [columnName, index]),\n );\n const columns = [...columnNameIndexes.keys()]\n .filter(\n (columnName) =>\n !TREE_GRID_ROW_BOX_EXCLUDED_COLUMNS.has(columnName) &&\n isVisibleTreeGridColumn(grid, columnName),\n )\n .sort((columnNameA, columnNameB) => {\n const columnA = grid.Cols?.[columnNameA];\n const columnB = grid.Cols?.[columnNameB];\n const indexA = columnNameIndexes.get(columnNameA) ?? 0;\n const indexB = columnNameIndexes.get(columnNameB) ?? 0;\n const sectionDiff =\n resolveTreeGridColumnOrderValue(columnA?.Sec, indexA) -\n resolveTreeGridColumnOrderValue(columnB?.Sec, indexB);\n\n if (sectionDiff !== 0) {\n return sectionDiff;\n }\n\n const positionDiff =\n resolveTreeGridColumnOrderValue(columnA?.Pos, indexA) -\n resolveTreeGridColumnOrderValue(columnB?.Pos, indexB);\n\n return positionDiff || indexA - indexB;\n });\n const columnBounds = {\n columnSet: new Set(columns),\n firstColumn: columns[0],\n lastColumn: columns[columns.length - 1],\n };\n\n treeGridAddedRowBoxColumnBoundsCache.set(grid, columnBounds);\n\n return columnBounds;\n};\n\n/**\n * TreeGrid 신규 행 박스 컬럼 경계 캐시 제거\n * @param grid TreeGrid 인스턴스\n */\nconst clearTreeGridAddedRowBoxColumnBounds = (grid: TGrid | null | undefined) => {\n if (grid) {\n treeGridAddedRowBoxColumnBoundsCache.delete(grid);\n }\n};\n\nconst getTreeGridRows = (grid: TGrid) => {\n if (typeof grid.GetFirst === 'function' && typeof grid.GetNext === 'function') {\n const rows: TRow[] = [];\n let row = grid.GetFirst();\n\n while (row) {\n rows.push(row);\n row = grid.GetNext(row);\n }\n\n return rows;\n }\n\n return Object.values(grid.Rows ?? {});\n};\n\nconst treeGridSelectionRowSpanAnchorRowMaps = new WeakMap<TGrid, WeakMap<TRow, TRow | null>>();\n\n/**\n * TreeGrid 선택 Panel row span 앵커 맵 제거\n * @param grid TreeGrid 인스턴스\n */\nconst clearTreeGridSelectionRowSpanAnchorRowMap = (grid: TGrid | null | undefined) => {\n if (grid) {\n treeGridSelectionRowSpanAnchorRowMaps.delete(grid);\n }\n};\n\n/**\n * TreeGrid row span 정수값 조회\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getTreeGridRowSpanCount = (row: TRow | null | undefined, col: string) => {\n const rowRecord = row as unknown as Record<string, unknown> | null;\n const rowSpanValue = rowRecord?.[`${col}RowSpan`];\n const rowSpan =\n typeof rowSpanValue === 'number'\n ? rowSpanValue\n : Number.parseFloat(String(rowSpanValue ?? ''));\n\n return Number.isFinite(rowSpan) && rowSpan > 1 ? Math.floor(rowSpan) : 1;\n};\n\n/**\n * TreeGrid 선택 Panel row span 앵커 맵 생성\n * @param grid TreeGrid 인스턴스\n */\nconst createTreeGridSelectionRowSpanAnchorRowMap = (grid: TGrid) => {\n const anchorRowMap = new WeakMap<TRow, TRow | null>();\n let anchorRow: TRow | null = null;\n let anchorEndIndex = -1;\n\n getTreeGridRows(grid).forEach((row, index) => {\n if (!isDisplayTreeGridRow(row)) {\n anchorRowMap.set(row, null);\n return;\n }\n\n const rowSpan = getTreeGridRowSpanCount(row, TREE_GRID_SELECTION_ROW_SPAN_COLUMN);\n\n if (rowSpan > 1) {\n anchorRow = row;\n anchorEndIndex = index + rowSpan - 1;\n anchorRowMap.set(row, row);\n return;\n }\n\n anchorRowMap.set(row, anchorRow && index <= anchorEndIndex ? anchorRow : null);\n\n if (index >= anchorEndIndex) {\n anchorRow = null;\n anchorEndIndex = -1;\n }\n });\n\n return anchorRowMap;\n};\n\n/**\n * TreeGrid 선택 Panel row span 앵커 행 조회\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n */\nconst getTreeGridSelectionRowSpanAnchorRow = (\n grid: TGrid,\n row: TRow | null | undefined,\n) => {\n if (!row || !isDisplayTreeGridRow(row)) {\n return null;\n }\n\n let anchorRowMap = treeGridSelectionRowSpanAnchorRowMaps.get(grid);\n\n if (!anchorRowMap?.has(row)) {\n anchorRowMap = createTreeGridSelectionRowSpanAnchorRowMap(grid);\n treeGridSelectionRowSpanAnchorRowMaps.set(grid, anchorRowMap);\n }\n\n return anchorRowMap.get(row) ?? null;\n};\n\n/**\n * TreeGrid 선택 Panel row span 그룹 행 목록 조회\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n */\nconst getTreeGridSelectionRowSpanRows = (grid: TGrid, row: TRow | null | undefined) => {\n const anchorRow = getTreeGridSelectionRowSpanAnchorRow(grid, row);\n\n if (!anchorRow) {\n return [];\n }\n\n const rowSpan = getTreeGridRowSpanCount(anchorRow, TREE_GRID_SELECTION_ROW_SPAN_COLUMN);\n const rows: TRow[] = [];\n let currentRow: TRow | null = anchorRow;\n\n for (let rowOffset = 0; currentRow && rowOffset < rowSpan; rowOffset += 1) {\n if (isDisplayTreeGridRow(currentRow)) {\n rows.push(currentRow);\n }\n\n currentRow =\n typeof grid.GetNext === 'function' ? grid.GetNext(currentRow) : null;\n }\n\n return rows;\n};\n\n/**\n * TreeGrid 선택 Panel row span 선택 행 목록 조회\n * @param grid TreeGrid 인스턴스\n */\nconst getTreeGridSelectedRowSpanRows = (grid: TGrid) => {\n const targetRows = new Set<TRow>();\n\n (grid.GetSelRows() ?? []).forEach((selectedRow) => {\n getTreeGridSelectionRowSpanRows(grid, selectedRow).forEach((targetRow) => {\n targetRows.add(targetRow);\n });\n });\n\n return [...targetRows];\n};\n\n/**\n * TreeGrid 변경 비교 기준값 저장\n * @param grid TreeGrid 인스턴스\n * @param baselineMap 셀 기준값 저장소\n */\nexport const captureTreeGridChangeBaselines = (\n grid: TGrid | null | undefined,\n baselineMap: TreeGridCellBaselineMap,\n) => {\n if (!grid) {\n return;\n }\n\n const cols = getTreeGridColumnNames(grid);\n\n getTreeGridRows(grid).forEach((row) => {\n if (!isDisplayTreeGridRow(row)) {\n return;\n }\n\n baselineMap.set(\n row,\n new Map(cols.map((col) => [col, getTreeGridCellComparableValue(grid, row, col)])),\n );\n });\n};\n\nconst isTreeGridChangedFlag = (value: unknown) =>\n value !== undefined &&\n value !== null &&\n value !== '' &&\n value !== 0 &&\n value !== false &&\n value !== '0';\n\nconst hasOtherTreeGridChangedCells = (grid: TGrid, row: TRow, col: string) => {\n const rowRecord = row as unknown as Record<string, unknown>;\n\n return getTreeGridColumnNames(grid).some((column) => {\n return column !== col && isTreeGridChangedFlag(rowRecord[`${column}Changed`]);\n });\n};\n\n/**\n * TreeGrid 셀 변경 상태 제거\n * @param grid TreeGrid 인스턴스\n * @param row 대상 행\n * @param col 대상 컬럼\n */\nconst clearTreeGridCellChangedState = (grid: TGrid, row: TRow, col: string) => {\n const rowRecord = row as unknown as Record<string, unknown>;\n\n rowRecord[`${col}Changed`] = 0;\n\n if (\n !isAddedTreeGridRow(row) &&\n !isTreeGridRowAddedById(row) &&\n !hasOtherTreeGridChangedCells(grid, row, col)\n ) {\n rowRecord.Changed = 0;\n }\n};\n\nconst resolveTreeGridCellBaselineValue = (\n baselineMap: TreeGridCellBaselineMap,\n row: TRow,\n col: string,\n) => {\n const baselineValues = baselineMap.get(row);\n\n if (baselineValues?.has(col)) {\n return baselineValues.get(col);\n }\n\n return undefined;\n};\n\n/**\n * TreeGrid 신규 행 변경 셀 하이라이트 동기화\n * @param gridId TreeGrid 인스턴스 ID\n * @param grid TreeGrid 인스턴스\n * @param row 대상 행\n * @param col 대상 컬럼\n * @param backgroundColor 변경 하이라이트 배경색\n * @param highlightRefresh 하이라이트 적용 후 셀 refresh 여부\n */\nconst syncTreeGridAddedRowChangedCellHighlight = ({\n gridId,\n grid,\n row,\n col,\n backgroundColor,\n highlightRefresh,\n}: {\n gridId: string;\n grid: TGrid;\n row: TRow;\n col: string;\n backgroundColor: string;\n highlightRefresh?: boolean;\n}) => {\n if (!isAddedTreeGridRow(row) && !isTreeGridRowAddedById(row)) {\n return false;\n }\n\n if (grid.CanEdit(row, col) !== 1) {\n return true;\n }\n\n const baselineValue = getTreeGridAddedRowBaselineValue(row, col);\n const isHighlightedCell = getTreeGridAddedRowHighlightColumns(row).includes(col);\n\n if (baselineValue === undefined) {\n return true;\n }\n\n const currentValue = getTreeGridCellComparableValue(grid, row, col);\n\n if (currentValue === baselineValue) {\n removeTreeGridAddedRowHighlightColumn(row, col);\n if (isHighlightedCell) {\n clearTreeGridCellHighlightById(gridId, { row, col });\n }\n clearTreeGridCellChangedState(grid, row, col);\n return true;\n }\n\n appendTreeGridAddedRowHighlightColumn(row, col);\n highlightTreeGridCellById(gridId, {\n row,\n col,\n backgroundColor,\n refresh: highlightRefresh,\n });\n\n return true;\n};\n\n/**\n * TreeGrid 셀 변경 하이라이트 동기화\n * @param gridId TreeGrid 인스턴스 ID\n * @param grid TreeGrid 인스턴스\n * @param row 대상 행\n * @param col 대상 컬럼\n * @param backgroundColor 변경 하이라이트 배경색\n * @param baselineMap 셀 기준값 저장소\n * @param highlightRefresh 하이라이트 적용 후 셀 refresh 여부\n */\nexport const syncTreeGridChangedCellHighlight = ({\n gridId,\n grid,\n row,\n col,\n backgroundColor,\n baselineMap,\n highlightRefresh,\n}: {\n gridId: string;\n grid: TGrid;\n row: TRow;\n col: string;\n backgroundColor: string;\n baselineMap: TreeGridCellBaselineMap;\n highlightRefresh?: boolean;\n}) => {\n if (!isDisplayTreeGridRow(row)) {\n return;\n }\n\n if (\n syncTreeGridAddedRowChangedCellHighlight({\n gridId,\n grid,\n row,\n col,\n backgroundColor,\n highlightRefresh,\n })\n ) {\n return;\n }\n\n const baselineValue = resolveTreeGridCellBaselineValue(baselineMap, row, col);\n const currentValue = getTreeGridCellComparableValue(grid, row, col);\n\n if (baselineValue !== undefined && currentValue === baselineValue) {\n clearTreeGridCellHighlightById(gridId, { row, col });\n clearTreeGridCellChangedState(grid, row, col);\n return;\n }\n\n highlightTreeGridCellById(gridId, {\n row,\n col,\n backgroundColor,\n refresh: highlightRefresh,\n });\n};\n\n/**\n * TreeGrid 셀 편집 가능 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst isEditableTreeGridCell = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 1;\n};\n\n/**\n * TreeGrid 셀 명시 색상 조회\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getExplicitTreeGridCellColor = (grid: TGrid, row: TRow, col: string) => {\n const color = grid.GetAttribute(row, col, 'Color') as unknown;\n\n if (typeof color === 'number') {\n return toTreeGridCssHexColor(color);\n }\n\n if (typeof color === 'string') {\n const trimmedColor = color.trim();\n\n return trimmedColor || undefined;\n }\n\n return undefined;\n};\n\n/**\n * TreeGrid 셀 명시 색상 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst hasExplicitTreeGridCellColor = (grid: TGrid, row: TRow, col: string) => {\n return getExplicitTreeGridCellColor(grid, row, col) !== undefined;\n};\n\n/** TreeGrid 포커스 셀 상태 여부 */\nconst isTreeGridFocusedCellState = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n const focused =\n typeof grid.IsFocused === 'function'\n ? grid.IsFocused(row, col)\n : grid.FRow === row && grid.FCol === col;\n\n return focused !== 0 && focused !== false && focused !== undefined && focused !== null;\n};\n\n/** TreeGrid 선택 셀 상태 여부 */\nconst isTreeGridSelectedCellState = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n const selected = grid.IsSelected(row, col);\n\n if (selected !== 0 && selected !== false && selected !== undefined && selected !== null) {\n return true;\n }\n\n const anchorRow = getTreeGridSelectionRowSpanAnchorRow(grid, row);\n\n if (!anchorRow || anchorRow === row) {\n return false;\n }\n\n const anchorSelected = grid.IsSelected(anchorRow, col);\n\n return (\n anchorSelected !== 0 &&\n anchorSelected !== false &&\n anchorSelected !== undefined &&\n anchorSelected !== null\n );\n};\n\n/**\n * TreeGrid 변경 셀 class 포함 여부\n * @param className 원본 class 문자열\n */\nconst hasTreeGridChangedCellDisplayClass = (className: string) => {\n if (!TREE_GRID_CELL_CHANGED_CLASS_TOKENS.length) {\n return false;\n }\n\n const classTokens = className.split(/\\s+/).filter(Boolean);\n\n return TREE_GRID_CELL_CHANGED_CLASS_TOKENS.every((classToken) =>\n classTokens.includes(classToken),\n );\n};\n\n/**\n * TreeGrid 선택 변경 셀 표시 class 추가\n * @param className 원본 class 문자열\n */\nconst appendTreeGridSelectedChangedCellDisplayClass = (className: string) => {\n if (\n !className ||\n className.split(/\\s+/).includes(TREE_GRID_SELECTED_CHANGED_CELL_CLASS) ||\n !hasTreeGridChangedCellDisplayClass(className)\n ) {\n return undefined;\n }\n\n return `${className} ${TREE_GRID_SELECTED_CHANGED_CELL_CLASS}`;\n};\n\n/**\n * TreeGrid 변경 셀 class 보유 행 여부\n * @param row 대상 행\n */\nconst hasTreeGridChangedCellDisplayClassInRow = (row: TRow | null | undefined) => {\n if (!row || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n return Object.entries(row as unknown as Record<string, unknown>).some(([key, value]) => {\n return (\n key.endsWith('Class') &&\n typeof value === 'string' &&\n hasTreeGridChangedCellDisplayClass(value)\n );\n });\n};\n\n/**\n * TreeGrid 선택 변경 행 class refresh 예약\n * @param grid TreeGrid 인스턴스\n * @param row 대상 행\n */\nconst scheduleTreeGridSelectionChangedClassRefresh = (\n grid: TGrid,\n row: TRow | null | undefined,\n) => {\n if (\n !row ||\n !hasTreeGridChangedCellDisplayClassInRow(row) ||\n typeof grid.RefreshRow !== 'function'\n ) {\n return;\n }\n\n const targetRow = row;\n\n window.setTimeout(() => {\n grid.RefreshRow(targetRow);\n }, 0);\n};\n\n/**\n * TreeGrid 행 목록 refresh 예약\n * @param grid TreeGrid 인스턴스\n * @param rows TreeGrid 행 목록\n */\nconst scheduleTreeGridRowsRefresh = (grid: TGrid, rows: readonly TRow[]) => {\n if (!rows.length || typeof window === 'undefined' || typeof grid.RefreshRow !== 'function') {\n return;\n }\n\n const targetRows = [...new Set(rows)];\n\n window.setTimeout(() => {\n targetRows.forEach((targetRow) => {\n grid.RefreshRow(targetRow);\n });\n }, 0);\n};\n\n/**\n * TreeGrid 선택 Panel row span 그룹 refresh 예약\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n */\nconst scheduleTreeGridSelectionRowSpanRefresh = (\n grid: TGrid,\n row: TRow | null | undefined,\n) => {\n if (!row) {\n return;\n }\n\n const targetRows = getTreeGridSelectionRowSpanRows(grid, row);\n\n if (targetRows.length <= 1) {\n return;\n }\n\n scheduleTreeGridRowsRefresh(grid, targetRows);\n};\n\n/**\n * TreeGrid 전체 선택 Panel row span 그룹 refresh 예약\n * @param grid TreeGrid 인스턴스\n */\nconst scheduleTreeGridSelectionRowSpanRefreshAll = (grid: TGrid) => {\n const targetRows = getTreeGridRows(grid).filter((row) => {\n return isDisplayTreeGridRow(row) && getTreeGridSelectionRowSpanAnchorRow(grid, row);\n });\n\n scheduleTreeGridRowsRefresh(grid, targetRows);\n};\n\n/**\n * TreeGrid 입력 셀 기본 배경색 계산\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getEditableTreeGridCellDefaultColor = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n editableCellBackgroundColorValue: number | undefined,\n) => {\n if (\n !row ||\n editableCellBackgroundColorValue === undefined ||\n !isEditableTreeGridCell(grid, row, col) ||\n isTreeGridFocusedCellState(grid, row, col) ||\n isTreeGridSelectedCellState(grid, row, col) ||\n hasExplicitTreeGridCellColor(grid, row, col)\n ) {\n return undefined;\n }\n\n return editableCellBackgroundColorValue;\n};\n\nconst matchesTreeGridRgbColor = (\n r: number,\n g: number,\n b: number,\n expected: readonly [number, number, number],\n) => {\n return r === expected[0] && g === expected[1] && b === expected[2];\n};\n\n/**\n * TreeGrid native Error 배경색 여부\n * @param r red 채널\n * @param g green 채널\n * @param b blue 채널\n */\nconst isTreeGridNativeErrorBackgroundColor = (r: number, g: number, b: number) => {\n return TREE_GRID_NATIVE_ERROR_CELL_RGB_VALUES.some((expectedColor) =>\n matchesTreeGridRgbColor(r, g, b, expectedColor),\n );\n};\n\n/**\n * TreeGrid 숫자 색상 CSS 변환\n * @param color TreeGrid 숫자 색상\n */\nconst toTreeGridCssHexColor = (color: number | undefined) => {\n if (color === undefined || !Number.isFinite(color)) {\n return undefined;\n }\n\n return `#${Math.trunc(color).toString(16).padStart(6, '0')}`;\n};\n\n/**\n * TreeGrid 셀 Error 메시지 조회\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst getTreeGridCellError = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string | null | undefined,\n) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return '';\n }\n\n const error = grid.GetAttribute(row, col, 'Error');\n\n return error ?? '';\n};\n\n/**\n * TreeGrid 셀 Error 설정 여부\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst hasTreeGridCellError = (grid: TGrid, row: TRow | null | undefined, col: string) => {\n return getTreeGridCellError(grid, row, col) !== '';\n};\n\n/**\n * TreeGrid 행 Error 상태 초기화\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n */\nconst clearTreeGridRowErrors = (grid: TGrid, row: TRow | null | undefined) => {\n if (!row) {\n return;\n }\n\n let hasError = false;\n\n getTreeGridColumnNames(grid).forEach((col) => {\n if (!hasTreeGridCellError(grid, row, col)) {\n return;\n }\n\n grid.SetAttribute(row, col, 'Error', '', 0);\n hasError = true;\n });\n\n if (hasError) {\n grid.RefreshRow(row);\n }\n};\n\n/**\n * TreeGrid mouse event anchor 엘리먼트 조회\n * @param event TreeGrid mouse event\n */\nconst getTreeGridMouseEventAnchorElement = (event: Event | null | undefined) => {\n const target = event?.target;\n\n if (\n typeof HTMLElement === 'undefined' ||\n typeof Element === 'undefined' ||\n typeof Node === 'undefined'\n ) {\n return null;\n }\n\n const targetElement = target instanceof Element ? target : null;\n const fallbackTargetElement = target instanceof Node ? target.parentElement : null;\n const anchorTargetElement = targetElement ?? fallbackTargetElement;\n\n if (anchorTargetElement) {\n const cellElement = anchorTargetElement.closest('td,th');\n\n if (cellElement instanceof HTMLElement) {\n return cellElement;\n }\n\n return anchorTargetElement instanceof HTMLElement ? anchorTargetElement : null;\n }\n\n return null;\n};\n\n/**\n * TreeGrid 변경 행 또는 셀 여부\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n */\nconst isChangedTreeGridRowOrCell = (row: TRow | null | undefined, col: string) => {\n if (!row || !col || !isDisplayTreeGridRow(row)) {\n return false;\n }\n\n const rowRecord = row as unknown as Record<string, unknown>;\n const cellDisplayClass = rowRecord[`${col}Class`];\n const isChangedCell =\n isTreeGridChangedFlag(rowRecord[`${col}Changed`]) ||\n (typeof cellDisplayClass === 'string' &&\n hasTreeGridChangedCellDisplayClass(cellDisplayClass));\n\n if (isAddedTreeGridRow(row) || isTreeGridRowAddedById(row)) {\n return isChangedCell;\n }\n\n return (\n isChangedCell ||\n isTreeGridChangedFlag(rowRecord.Changed)\n );\n};\n\n/**\n * TreeGrid native input 편집 타입 여부\n * @param grid TreeGrid 인스턴스\n * @param row 대상 행\n * @param col 대상 컬럼\n */\nconst isTreeGridNativeInputEditType = (grid: TGrid, row: TRow, col: string) => {\n return TREE_GRID_NATIVE_INPUT_EDIT_TYPES.has(grid.GetType(row, col));\n};\n\nconst isTreeGridReadonlyHoveredCellState = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (!row || !col || !isDisplayTreeGridRow(row) || grid.ARow !== row || grid.ACol !== col) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 0;\n};\n\nconst isTreeGridPreviewHoveredCellState = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n) => {\n if (!row || !col || !isDisplayTreeGridRow(row) || grid.ARow !== row || grid.ACol !== col) {\n return false;\n }\n\n return grid.CanEdit(row, col) === 2;\n};\n\n/** TreeGrid 포커스 행 상태 여부 */\nconst isTreeGridFocusedRowState = (grid: TGrid, row: TRow | null | undefined) => {\n return !!row && isDisplayTreeGridRow(row) && grid.FRow === row;\n};\n\nconst resolveTreeGridStateBackgroundColor = ({\n grid,\n row,\n col,\n r,\n g,\n b,\n focusedCellBackgroundColor,\n selectedCellBackgroundColor,\n hoverCellBackgroundColor,\n changedCellBackgroundColor,\n editableCellBackgroundColorValue,\n}: {\n grid: TGrid;\n row: TRow | null | undefined;\n col: string;\n r: number;\n g: number;\n b: number;\n focusedCellBackgroundColor: string;\n selectedCellBackgroundColor: string;\n hoverCellBackgroundColor: string;\n changedCellBackgroundColor: string;\n editableCellBackgroundColorValue: number | undefined;\n}) => {\n if (isTreeGridFocusedCellState(grid, row, col)) {\n return focusedCellBackgroundColor;\n }\n\n if (isTreeGridSelectedCellState(grid, row, col)) {\n return selectedCellBackgroundColor;\n }\n\n if (\n isTreeGridReadonlyHoveredCellState(grid, row, col) &&\n (matchesTreeGridRgbColor(r, g, b, TREE_GRID_READONLY_HOVER_CELL_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB))\n ) {\n return hoverCellBackgroundColor;\n }\n\n if (\n isTreeGridPreviewHoveredCellState(grid, row, col) &&\n (matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_SOFT_RGB) ||\n matchesTreeGridRgbColor(r, g, b, TREE_GRID_PREVIEW_CELL_DIM_RGB))\n ) {\n return hoverCellBackgroundColor;\n }\n\n if (isDeletedTreeGridRow(row)) {\n return undefined;\n }\n\n const isAddedRow = isAddedTreeGridRow(row) || isTreeGridRowAddedById(row);\n const hasNativeErrorBackgroundColor =\n hasTreeGridCellError(grid, row, col) && isTreeGridNativeErrorBackgroundColor(r, g, b);\n\n if (!hasNativeErrorBackgroundColor && !isAddedRow) {\n return undefined;\n }\n\n const explicitCellColor = getExplicitTreeGridCellColor(grid, row, col);\n\n if (hasNativeErrorBackgroundColor) {\n if (explicitCellColor) {\n return explicitCellColor;\n }\n }\n\n if (isChangedTreeGridRowOrCell(row, col)) {\n return changedCellBackgroundColor;\n }\n\n const editableCellDefaultColor = getEditableTreeGridCellDefaultColor(\n grid,\n row,\n col,\n editableCellBackgroundColorValue,\n );\n\n if (editableCellDefaultColor !== undefined) {\n return toTreeGridCssHexColor(editableCellDefaultColor);\n }\n\n if (isAddedRow) {\n return explicitCellColor ?? TREEGRID_ADDED_ROW_BACKGROUND_COLOR;\n }\n\n return TREE_GRID_ERROR_CELL_FALLBACK_BACKGROUND_COLOR;\n};\n\n/**\n * TreeGrid class token 추가\n * @param className 원본 class 문자열\n * @param classToken 추가 class token\n */\nconst appendTreeGridClassToken = (className: string, classToken: string) => {\n const classTokens = className.split(/\\s+/).filter(Boolean);\n\n if (classTokens.includes(classToken)) {\n return className;\n }\n\n return [...classTokens, classToken].join(' ');\n};\n\n/**\n * TreeGrid Error 셀 표시 class 추가\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n * @param className 원본 class 문자열\n */\nconst appendTreeGridErrorCellDisplayClass = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n className: string,\n) => {\n if (!hasTreeGridCellError(grid, row, col) || !row) {\n return className;\n }\n\n return appendTreeGridClassToken(className, TREE_GRID_ERROR_CELL_CLASS);\n};\n\n/**\n * TreeGrid 신규 행 박스 표시 class 추가\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n * @param className 원본 class 문자열\n */\nconst appendTreeGridAddedRowBoxDisplayClass = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n className: string,\n) => {\n if (\n !isDisplayTreeGridRow(row) ||\n isDeletedTreeGridRow(row) ||\n (!isAddedTreeGridRow(row) && !isTreeGridRowAddedById(row))\n ) {\n return className;\n }\n\n if (\n isTreeGridFocusedRowState(grid, row) ||\n isTreeGridSelectedCellState(grid, row, col)\n ) {\n return className;\n }\n\n const columnBounds = getTreeGridAddedRowBoxColumnBounds(grid);\n\n if (!columnBounds.columnSet.has(col)) {\n return className;\n }\n\n let nextClassName = appendTreeGridClassToken(className, TREE_GRID_ADDED_ROW_BOX_CELL_CLASS);\n\n if (col === columnBounds.firstColumn) {\n nextClassName = appendTreeGridClassToken(nextClassName, TREE_GRID_ADDED_ROW_BOX_START_CLASS);\n }\n\n if (col === columnBounds.lastColumn) {\n nextClassName = appendTreeGridClassToken(nextClassName, TREE_GRID_ADDED_ROW_BOX_END_CLASS);\n }\n\n return nextClassName;\n};\n\n/**\n * TreeGrid 셀 표시 class 계산\n * @param grid TreeGrid 인스턴스\n * @param row TreeGrid 행\n * @param col TreeGrid 컬럼 키\n * @param className 원본 class 문자열\n */\nconst resolveTreeGridCellDisplayClass = (\n grid: TGrid,\n row: TRow | null | undefined,\n col: string,\n className: string,\n) => {\n const errorCellClassName = appendTreeGridErrorCellDisplayClass(grid, row, col, className);\n const addedRowBoxClassName = appendTreeGridAddedRowBoxDisplayClass(\n grid,\n row,\n col,\n errorCellClassName,\n );\n\n if (!isTreeGridSelectedCellState(grid, row, col)) {\n return addedRowBoxClassName === className ? undefined : addedRowBoxClassName;\n }\n\n const selectedChangedCellClassName =\n appendTreeGridSelectedChangedCellDisplayClass(addedRowBoxClassName) ?? addedRowBoxClassName;\n\n return selectedChangedCellClassName === className ? undefined : selectedChangedCellClassName;\n};\n\n/** TreeGrid 신규 행 박스 표시 대상 행 여부 */\nconst isTreeGridAddedRowBoxDisplayRow = (row: TRow | null | undefined): row is TRow => {\n return isDisplayTreeGridRow(row) && (isAddedTreeGridRow(row) || isTreeGridRowAddedById(row));\n};\n\n/**\n * TreeGrid 신규 행 박스 상태 행 refresh 예약\n * @param grid TreeGrid 인스턴스\n * @param rows refresh 후보 행 목록\n */\nconst scheduleTreeGridAddedRowBoxRowsRefresh = (\n grid: TGrid,\n rows: readonly (TRow | null | undefined)[],\n) => {\n const targetRows = rows.filter(isTreeGridAddedRowBoxDisplayRow);\n\n if (targetRows.length) {\n scheduleTreeGridRowsRefresh(grid, targetRows);\n }\n};\n\n/**\n * TreeGrid 신규 행 박스 전체 상태 refresh 예약\n * @param grid TreeGrid 인스턴스\n */\nconst scheduleTreeGridAddedRowBoxRowsRefreshAll = (grid: TGrid) => {\n scheduleTreeGridRowsRefresh(grid, getTreeGridRows(grid).filter(isTreeGridAddedRowBoxDisplayRow));\n};\n\n/**\n * TreeGrid 표시 데이터 행 존재 여부\n * @param grid TreeGrid 인스턴스\n */\nexport const hasTreeGridDisplayDataRows = (grid: TGrid | null) => {\n if (!grid) {\n return false;\n }\n\n if (typeof grid.GetFirst === 'function' && typeof grid.GetNext === 'function') {\n let row = grid.GetFirst();\n\n while (row) {\n if (isDisplayTreeGridRow(row)) {\n return true;\n }\n\n row = grid.GetNext(row);\n }\n\n return false;\n }\n\n return Object.values(grid.Rows ?? {}).some((row) => {\n return isDisplayTreeGridRow(row);\n });\n};\n\n/**\n * TreeGrid Body 데이터 교체 후 재로드\n * @param grid TreeGrid 인스턴스\n * @param bodyData 새 Body 데이터\n * @param onReloadFinish 재로드 완료 콜백\n */\nexport const replaceTreeGridBodyData = <T,>(\n grid: TGrid,\n bodyData: OwpTreeGridBodyData<T>,\n onReloadFinish?: (code: number) => void,\n) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n const currentDataConfig = grid.Data?.Data;\n\n // @ts-expect-error - TreeGrid Data.Data shape is not reflected in bundled types\n grid.Data.Data = {\n ...currentDataConfig,\n Data: { Body: [bodyData || []] },\n Url: '',\n };\n\n grid.ReloadBody(onReloadFinish);\n};\n\n/**\n * TreeGrid 이벤트 바인딩\n * @param options 이벤트 바인딩 옵션\n */\nexport const bindTreeGridEvents = <T,>({\n id,\n latestEventHandlersRef,\n layoutHasExplicitEnterModeRef,\n highlightEditableCellsRef,\n highlightChangedCellsRef,\n syncDeletedRowCanEditRef,\n editableCellBackgroundColorValueRef,\n changedCellBackgroundColorRef,\n focusedCellBackgroundColorRef,\n selectedCellBackgroundColorRef,\n hoverCellBackgroundColorRef,\n changedCellBaselineRef,\n treeGridInstanceRef,\n treeGridInitStartedAtRef,\n latestLayoutOverridesRef,\n latestToolbarTotalCountFormulaRef,\n latestSuppressCfgRef,\n latestHideChildHeaderSortButtonsRef,\n latestSelectionScopeRef,\n latestDisabledAnimationsRef,\n appliedLayoutOverridesRef,\n appliedBodyDataPropRef,\n hasAppliedInitialLayoutRef,\n syncHasDisplayDataRows,\n setIsTreeGridReady,\n showErrorTooltip,\n hideErrorTooltip,\n}: TreeGridEventBindingOptions<T>) => {\n const initialEventHandlers = latestEventHandlersRef.current;\n\n window.TGSetEvent('OnRowAdd', id, (grid, row) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n row.CanEdit = 1;\n row.CanDelete = 1;\n\n latestEventHandlersRef.current?.onRowAdd?.(grid, row as OwpTreeGridRowModel<T>);\n });\n window.TGSetEvent('OnRowAdded', id, (grid) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n syncHasDisplayDataRows(grid);\n });\n window.TGSetEvent('OnRowRemove', id, (grid) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n hideErrorTooltip();\n syncHasDisplayDataRows(grid);\n });\n window.TGSetEvent('OnColShow', id, (grid) => {\n clearTreeGridAddedRowBoxColumnBounds(grid);\n });\n window.TGSetEvent('OnAfterColumnsChanged', id, (grid) => {\n clearTreeGridAddedRowBoxColumnBounds(grid);\n });\n window.TGSetEvent('OnColMove', id, (grid) => {\n clearTreeGridAddedRowBoxColumnBounds(grid);\n });\n window.TGSetEvent('OnColsAdd', id, (grid) => {\n clearTreeGridAddedRowBoxColumnBounds(grid);\n });\n window.TGSetEvent('OnColDelete', id, (grid) => {\n clearTreeGridAddedRowBoxColumnBounds(grid);\n });\n window.TGSetEvent('OnColUndelete', id, (grid) => {\n clearTreeGridAddedRowBoxColumnBounds(grid);\n });\n window.TGSetEvent('OnMouseOver', id, (grid, row, col, _orow, _ocol, event) => {\n const message = getTreeGridCellError(grid, row, col);\n\n if (!message) {\n hideErrorTooltip();\n return;\n }\n\n const anchorEl = getTreeGridMouseEventAnchorElement(event);\n\n if (!anchorEl) {\n hideErrorTooltip();\n return;\n }\n\n grid.HideTip();\n showErrorTooltip({ anchorEl, row, col, message });\n });\n window.TGSetEvent('OnFocus', id, (grid, row, _col, orow) => {\n if (row !== orow) {\n scheduleTreeGridAddedRowBoxRowsRefresh(grid, [row, orow]);\n }\n });\n window.TGSetEvent('OnTip', id, (grid, row, col, tip) => {\n return getTreeGridCellError(grid, row, col) ? '' : tip;\n });\n window.TGSetEvent('OnCanRowDelete', id, (grid, row, type) => {\n if (type !== 3) {\n return type;\n }\n\n const beforeRowUndeleteHandler = latestEventHandlersRef.current?.onBeforeRowUndelete;\n\n if (typeof beforeRowUndeleteHandler !== 'function') {\n return type;\n }\n\n const scheduleAction = (action: TreeGridBeforeRowUndeleteAction | undefined) => {\n window.setTimeout(() => {\n applyTreeGridBeforeRowUndeleteAction(\n treeGridInstanceRef.current ?? grid,\n row,\n action,\n syncHasDisplayDataRows,\n );\n }, 0);\n };\n\n try {\n const result = beforeRowUndeleteHandler(grid, row as OwpTreeGridRowModel<T>);\n\n if (isTreeGridPromiseLike<TreeGridBeforeRowUndeleteAction | undefined>(result)) {\n void result.then(scheduleAction).catch(() => {\n scheduleAction('undelete');\n });\n return 0;\n }\n\n scheduleAction(result);\n\n return 0;\n } catch {\n scheduleAction('undelete');\n return 0;\n }\n });\n\n if (\n typeof initialEventHandlers?.onRowClick === 'function' ||\n typeof initialEventHandlers?.onInternalCellClick === 'function'\n ) {\n const debouncedRowClickHandler = debounce((grid, row, col, x, y, event) => {\n latestEventHandlersRef.current?.onRowClick?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n x,\n y,\n event,\n );\n }, 300);\n\n window.TGSetEvent('OnClick', id, (grid, row, col, x, y, event) => {\n const internalResult = latestEventHandlersRef.current?.onInternalCellClick?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n x,\n y,\n event,\n );\n\n if (internalResult !== undefined) {\n return internalResult;\n }\n\n if (typeof latestEventHandlersRef.current?.onRowClick === 'function') {\n debouncedRowClickHandler(grid, row, col, x, y, event);\n }\n\n return undefined;\n });\n }\n\n if (\n typeof initialEventHandlers?.onClickButton === 'function' ||\n typeof initialEventHandlers?.onInternalButtonClick === 'function'\n ) {\n window.TGSetEvent(\n 'OnClickButton',\n id,\n (grid, row, col, event) => {\n const internalResult = latestEventHandlersRef.current?.onInternalButtonClick?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n event,\n );\n\n if (internalResult !== undefined) {\n return internalResult;\n }\n\n latestEventHandlersRef.current?.onClickButton?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n event,\n );\n\n return undefined;\n },\n );\n }\n\n if (typeof initialEventHandlers?.onInternalKeyDown === 'function') {\n window.TGSetEvent('OnKeyDown', id, (grid, key, event, name, prefix) =>\n latestEventHandlersRef.current?.onInternalKeyDown?.(grid, key, event, name, prefix),\n );\n window.TGSetEvent('OnKeyPress', id, (grid, key, event, name, prefix) =>\n latestEventHandlersRef.current?.onInternalKeyDown?.(grid, key, event, name, prefix),\n );\n }\n\n window.TGSetEvent('OnStartEdit', id, (grid, row, col) => {\n hideErrorTooltip();\n\n return latestEventHandlersRef.current?.onInternalStartEdit?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n col,\n );\n });\n\n window.TGSetEvent('OnRowDelete', id, (grid, row, deleteType) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n hideErrorTooltip();\n clearTreeGridRowErrors(grid, row);\n grid.SelectRow(row, 0);\n const isAddedRowById = isTreeGridRowAddedById(row);\n const addedRowHighlightColumns = isAddedRowById ? getTreeGridAddedRowHighlightColumns(row) : [];\n const addedRowEditableColumns = isAddedRowById ? getTreeGridAddedRowEditableColumns(row) : [];\n const shouldSyncDeletedRowCanEdit = syncDeletedRowCanEditRef.current !== false;\n\n syncTreeGridDeletedRowState(grid, row, {\n canEdit: shouldSyncDeletedRowCanEdit ? 2 : undefined,\n editableColumns: addedRowEditableColumns,\n editableCanEdit: shouldSyncDeletedRowCanEdit && addedRowEditableColumns.length ? 2 : undefined,\n highlightColumns: addedRowHighlightColumns,\n });\n\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowDelete?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n deleteType,\n );\n });\n window.TGSetEvent('OnRowUndelete', id, (grid, row) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n hideErrorTooltip();\n const isAddedRowById = isTreeGridRowAddedById(row);\n const addedRowHighlightColumns = isAddedRowById ? getTreeGridAddedRowHighlightColumns(row) : [];\n const addedRowEditableColumns = isAddedRowById ? getTreeGridAddedRowEditableColumns(row) : [];\n const shouldSyncDeletedRowCanEdit = syncDeletedRowCanEditRef.current !== false;\n\n syncTreeGridDeletedRowState(grid, row, {\n canEdit: shouldSyncDeletedRowCanEdit ? 1 : undefined,\n editableColumns: addedRowEditableColumns,\n editableCanEdit: shouldSyncDeletedRowCanEdit && addedRowEditableColumns.length ? 1 : undefined,\n highlightColumns: addedRowHighlightColumns,\n highlightBackgroundColor: addedRowHighlightColumns.length\n ? changedCellBackgroundColorRef.current\n : undefined,\n });\n\n syncHasDisplayDataRows(grid);\n latestEventHandlersRef.current?.onRowUndelete?.(grid, row as OwpTreeGridRowModel<T>);\n });\n window.TGSetEvent('OnGetDefaultColor', id, (grid, row, col) => {\n if (!highlightEditableCellsRef.current || !isDisplayTreeGridRow(row)) {\n return undefined;\n }\n\n return getEditableTreeGridCellDefaultColor(\n grid,\n row,\n col,\n editableCellBackgroundColorValueRef.current,\n );\n });\n window.TGSetEvent('OnGetColor', id, (grid, row, col, r, g, b, type) => {\n if (type) {\n return undefined;\n }\n\n return resolveTreeGridStateBackgroundColor({\n grid,\n row,\n col,\n r,\n g,\n b,\n focusedCellBackgroundColor: focusedCellBackgroundColorRef.current,\n selectedCellBackgroundColor: selectedCellBackgroundColorRef.current,\n hoverCellBackgroundColor: hoverCellBackgroundColorRef.current,\n changedCellBackgroundColor: changedCellBackgroundColorRef.current,\n editableCellBackgroundColorValue: editableCellBackgroundColorValueRef.current,\n });\n });\n window.TGSetEvent('OnGetClass', id, (grid, row, col, className) => {\n const baseClassName = typeof className === 'string' ? className : '';\n\n return resolveTreeGridCellDisplayClass(grid, row, col, baseClassName);\n });\n window.TGSetEvent('OnAfterValueChanged', id, (grid, row, col, value) => {\n hideErrorTooltip();\n\n if (highlightChangedCellsRef.current && isDisplayTreeGridRow(row)) {\n const shouldRefreshChangedCellHighlight =\n !isTreeGridNativeInputEditType(grid, row, col) ||\n (isTreeGridSelectedCellState(grid, row, col) &&\n !isTreeGridFocusedCellState(grid, row, col));\n\n syncTreeGridChangedCellHighlight({\n gridId: id,\n grid,\n row,\n col,\n backgroundColor: changedCellBackgroundColorRef.current,\n baselineMap: changedCellBaselineRef.current,\n highlightRefresh: shouldRefreshChangedCellHighlight,\n });\n }\n\n const valueChangedHandler =\n latestEventHandlersRef.current?.onAfterValueChanged ??\n latestEventHandlersRef.current?.onRowChange;\n\n valueChangedHandler?.(grid, row as OwpTreeGridRowModel<T>, col, value);\n });\n const notifyTreeGridSelectionChange = debounce((grid: TGrid) => {\n const selectedRows = (grid.GetSelRows() ?? []) as OwpTreeGridSelectedRows<T>;\n const resolvedSelectedRows = resolveTreeGridSelectedRows<T>(grid, selectedRows, {\n selectionScope: latestSelectionScopeRef.current,\n });\n\n latestEventHandlersRef.current?.onSelect?.(\n normalizeTreeGridExternalRows<T>(grid, resolvedSelectedRows),\n );\n }, 100);\n\n window.TGSetEvent('OnSelect', id, (grid, _row, _deselect, _cols, test) => {\n if (test) {\n return undefined;\n }\n\n const selectedRowSpanRows = getTreeGridSelectedRowSpanRows(grid);\n\n scheduleTreeGridSelectionChangedClassRefresh(grid, _row);\n scheduleTreeGridAddedRowBoxRowsRefresh(grid, [_row]);\n scheduleTreeGridRowsRefresh(grid, selectedRowSpanRows);\n scheduleTreeGridSelectionRowSpanRefresh(grid, _row);\n scheduleTreeGridSelectionPanelStateSync(grid, id);\n\n if (typeof latestEventHandlersRef.current?.onSelect === 'function') {\n notifyTreeGridSelectionChange(grid);\n }\n\n return undefined;\n });\n window.TGSetEvent('OnSelectAll', id, (grid, _select, _type, test) => {\n if (test) {\n return undefined;\n }\n\n scheduleTreeGridSelectionRowSpanRefreshAll(grid);\n scheduleTreeGridAddedRowBoxRowsRefreshAll(grid);\n scheduleTreeGridSelectionPanelStateSync(grid, id);\n\n if (typeof latestEventHandlersRef.current?.onSelect === 'function') {\n notifyTreeGridSelectionChange(grid);\n }\n\n return undefined;\n });\n if (typeof initialEventHandlers?.onSave === 'function') {\n window.TGSetEvent('OnSave', id, (grid, row, autoupdate) => {\n latestEventHandlersRef.current?.onSave?.(\n grid,\n row as OwpTreeGridRowModel<T>,\n autoupdate,\n );\n });\n }\n window.TGSetEvent('OnSort', id, (grid, col) => {\n if (\n !col ||\n !isTreeGridGroupHeaderSortButtonTarget(\n grid,\n grid.ARow,\n col,\n latestHideChildHeaderSortButtonsRef.current !== false,\n )\n ) {\n return undefined;\n }\n\n countTreeGridPerf(id, 'group header sort blocked');\n logTreeGridPerf(id, 'group header sort blocked', {\n rowId: grid.ARow?.id,\n col,\n });\n\n return -1;\n });\n window.TGSetEvent('OnSortFinish', id, (grid) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n });\n window.TGSetEvent('OnFilterFinish', id, (grid) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n });\n window.TGSetEvent('OnGroupFinish', id, (grid) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n });\n window.TGSetEvent('OnSearchFinish', id, (grid) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n });\n window.TGSetEvent('OnRenderStart', id, (grid) => {\n clearTreeGridSelectionRowSpanAnchorRowMap(grid);\n syncTreeGridSelectionPanelState(grid, id);\n applyTreeGridGroupHeaderSortButtonAttributes(\n grid,\n id,\n false,\n latestHideChildHeaderSortButtonsRef.current !== false,\n );\n });\n window.TGSetEvent('OnRenderFinish', id, (grid) => {\n syncTreeGridSelectionPanelState(grid, id);\n });\n window.TGSetEvent('OnDataGet', id, (_grid, source, data) => {\n if (source?.Name === 'Layout' && typeof data === 'string') {\n layoutHasExplicitEnterModeRef.current = hasTreeGridExplicitEnterMode(data);\n const nextData = applyTreeGridDefaultLayout(\n data,\n latestDisabledAnimationsRef.current,\n latestToolbarTotalCountFormulaRef.current,\n latestSuppressCfgRef.current,\n );\n\n return nextData === data ? null : nextData;\n }\n\n return null;\n });\n window.TGSetEvent('OnDataParse', id, (_grid, source, data) => {\n if (source?.Name === 'Layout' && typeof data === 'string') {\n layoutHasExplicitEnterModeRef.current = hasTreeGridExplicitEnterMode(data);\n const nextData = applyTreeGridDefaultLayout(\n data,\n latestDisabledAnimationsRef.current,\n latestToolbarTotalCountFormulaRef.current,\n latestSuppressCfgRef.current,\n );\n\n return nextData === data ? null : nextData;\n }\n\n return null;\n });\n\n window.TGSetEvent(\n 'OnReady',\n id,\n debounce((grid) => {\n if (!hasAppliedInitialLayoutRef.current) {\n const latestLayoutOverrides = latestLayoutOverridesRef.current;\n\n hasAppliedInitialLayoutRef.current = true;\n if (\n !layoutHasExplicitEnterModeRef.current &&\n (grid.EnterMode === undefined || grid.EnterMode === null || grid.EnterMode === 0)\n ) {\n applyTreeGridDefaultEnterMode(grid, TREE_GRID_DEFAULT_ENTER_MODE);\n }\n applyTreeGridLayoutToGrid(grid, latestLayoutOverrides);\n treeGridInstanceRef.current = grid;\n appliedLayoutOverridesRef.current = latestLayoutOverrides;\n appliedBodyDataPropRef.current = getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>;\n changedCellBaselineRef.current = new WeakMap();\n captureTreeGridChangeBaselines(grid, changedCellBaselineRef.current);\n syncHasDisplayDataRows(grid);\n setIsTreeGridReady(true);\n applyTreeGridGroupHeaderSortButtonAttributes(\n grid,\n id,\n true,\n latestHideChildHeaderSortButtonsRef.current !== false,\n );\n measureTreeGridPerf(id, 'TreeGrid init ready', treeGridInitStartedAtRef.current, {\n bodyRowCount: getTreeGridBodyDataCount(\n getTreeGridBodyData(grid) as OwpTreeGridBodyData<T>,\n ),\n });\n treeGridInitStartedAtRef.current = null;\n latestEventHandlersRef.current?.onReady?.(grid);\n }\n }, 100),\n );\n};\n"],"names":["TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","TREE_GRID_DEFAULT_ENTER_MODE","TREE_GRID_DEFAULT_ENTER_ACTIONS","TREE_GRID_READONLY_HOVER_CELL_RGB","TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB","TREE_GRID_PREVIEW_CELL_RGB","TREE_GRID_PREVIEW_CELL_SOFT_RGB","TREE_GRID_PREVIEW_CELL_DIM_RGB","TREE_GRID_NATIVE_ERROR_CELL_RGB_VALUES","TREE_GRID_ERROR_CELL_FALLBACK_BACKGROUND_COLOR","TREE_GRID_GROUP_HEADER_BUTTON_ATTRIBUTE","TREE_GRID_ROW_BOX_EXCLUDED_COLUMNS","TREE_GRID_CELL_CHANGED_CLASS_TOKENS","TREEGRID_CELL_CHANGED_CLASS","TREE_GRID_NATIVE_INPUT_EDIT_TYPES","hasTreeGridExplicitEnterMode","__name","layoutData","TREE_GRID_DELETE_PANEL_DEFAULT_ATTRIBUTES","TREE_GRID_PANEL_SPANNED_DEFAULT_ATTRIBUTES","TREE_GRID_CELL_CLICK_FOCUS_DEFAULT_ACTIONS","TREE_GRID_SELECT_ALL_PANEL_DEFAULT_ACTIONS","TREE_GRID_SELECTION_ROW_SPAN_COLUMN","TREE_GRID_TOOLBAR_FORMULA_FIELD_NAMES","TREE_GRID_XML_GRID_OPEN_TAG_PATTERN","TREE_GRID_XML_GRID_CLOSE_TAG_PATTERN","TREE_GRID_XML_TOOLBAR_TAG_PATTERN","TREE_GRID_DEFAULT_LAYOUT_CFG_ATTRIBUTES","TREE_GRID_DISABLED_ANIMATION_ATTRIBUTES","treeGridAddedRowBoxColumnBoundsCache","isTreeGridJsonRecord","value","isTreeGridDisabledConfigValue","isTreeGridExplicitEnabledConfigValue","isTreeGridExplicitHiddenConfigValue","isTreeGridConfigValue","expectedValue","isTreeGridCheckboxSelectionMode","selecting","selectingSingle","getTreeGridJsonCfgRecords","cfg","getTreeGridJsonCfgValue","fieldName","fieldValue","getTreeGridXmlTagAttributeValue","tag","attributeName","attributeMatch","hasTreeGridXmlTagAttribute","escapeTreeGridXmlAttributeValue","appendTreeGridXmlTagAttribute","attributeValue","insertionIndex","setTreeGridXmlTagAttribute","setTreeGridXmlTagAttributes","attributes","nextTag","appendMissingTreeGridXmlTagAttributes","scanTreeGridXmlDefaultLayout","tagPattern","scanResult","tagMatch","rootDepth","isInsideGrid","currentTagName","_a","isClosingTag","isSelfClosingTag","isTreeGridXmlDefaultPanelTag","panelName","getLeadingTreeGridXmlHeaderTags","headContent","childTagPattern","headerTags","childTagMatch","applyTreeGridXmlHeadPanelRowSpanDefault","firstHeaderTag","remainingHeaderTags","nextHeaderTag","getTreeGridXmlPanelSpannedInsertionIndex","isTreeGridXmlPanelSpannedDefaultLayout","isTreeGridXmlSelectingLayout","isTreeGridXmlDeletePanelDefaultLayout","applyTreeGridXmlDefaultPanelSpannedLayout","panelTag","nextPanelTag","applyTreeGridDefaultHeaderPanelRowSpanLayout","isPanelRowSpanApplied","nextLayoutData","matchedHead","headOpenTag","headCloseTag","result","isTreeGridJsonCheckboxSelectionLayout","isTreeGridXmlCheckboxSelectionLayout","cfgValues","getTreeGridXmlCellClickActionInsertionIndex","applyTreeGridXmlDefaultCellClickActionLayout","actionsTag","nextActionsTag","getTreeGridXmlSelectAllPanelActionInsertionIndex","applyTreeGridXmlDefaultSelectAllPanelActionLayout","getTreeGridXmlDeletePanelInsertionIndex","applyTreeGridXmlDefaultDeletePanelLayout","applyTreeGridXmlDefaultFastPanelLayout","applyTreeGridJsonFastPanelDefault","item","applyTreeGridJsonSelectAllPanelActionDefault","actions","applyTreeGridJsonCellClickActionDefault","applyTreeGridJsonDefaultCellClickActionLayout","parsedLayoutData","applyTreeGridDefaultCellClickActionLayout","xmlScanResult","trimmedLayoutData","applyTreeGridJsonDefaultSelectAllPanelActionLayout","applyTreeGridDefaultSelectAllPanelActionLayout","applyTreeGridJsonDefaultSuppressCfgLayout","suppressCfg","cfgRecords","applyTreeGridXmlDefaultSuppressCfgLayout","cfgTag","nextCfgTag","applyTreeGridDefaultSuppressCfgLayout","hasTreeGridToolbarFormulaField","layoutRecord","getTreeGridJsonToolbarRecords","toolbar","solid","toolbarRecords","solidToolbarRecords","applyTreeGridJsonDefaultToolbarTotalCountLayout","toolbarTotalCountFormula","hasTreeGridXmlToolbarFormulaAttribute","toolbarTag","applyTreeGridXmlDefaultToolbarTotalCountLayout","toolbarMatch","nextToolbarTag","gridCloseMatch","gridOpenMatch","applyTreeGridDefaultToolbarTotalCountLayout","applyTreeGridJsonDefaultFastPanelLayout","applyTreeGridDefaultFastPanelLayout","getTreeGridDisabledAnimationAttributes","disabledAnimations","animation","applyTreeGridJsonDisabledAnimationsLayout","animations","firstAnimations","createTreeGridDisabledAnimationsTag","applyTreeGridXmlDisabledAnimationsLayout","animationsTag","nextAnimationsTag","applyTreeGridDisabledAnimationsLayout","applyTreeGridDefaultLayout","nextSelectAllPanelActionLayoutData","nextSelectAllXmlScanResult","nextCellClickActionLayoutData","nextXmlScanResult","getTreeGridWrapperElement","gridId","TREE_GRID_THEME_WRAPPER_CLASS","getTreeGridSelectAllState","grid","selectableRowCount","selectedRowCount","getTreeGridRows","row","isDisplayTreeGridRow","syncTreeGridSelectionPanelState","wrapperElement","isSelectingEnabled","isCheckboxSelectionMode","header","TREE_GRID_PANEL_CHECKBOX_SELECT_CLASS","TREE_GRID_SELECT_ALL_CHECKED_CLASS","TREE_GRID_SELECT_ALL_INDETERMINATE_CLASS","TREE_GRID_SELECT_ALL_UNCHECKED_CLASS","selectAllState","treeGridSelectionPanelStateSyncTimeouts","scheduleTreeGridSelectionPanelStateSync","activeTimeout","nextTimeout","applyTreeGridDefaultEnterMode","enterMode","actionConfig","mutableGrid","isTreeGridInlineUrl","url","treeGridInlineBlobUrlCache","resolveTreeGridInlineUrl","cachedUrl","meta","encodedData","match","mimeType","decodedData","bytes","index","blobUrl","appendNoCacheQuery","hashIndex","baseUrl","hashFragment","querySeparator","syncTreeGridDeletedRowState","options","canEdit","editableColumns","editableCanEdit","highlightColumns","highlightBackgroundColor","rowRecord","col","resolveTreeGridDataUrl","dataUrl","isTreeGridPromiseLike","applyTreeGridBeforeRowUndeleteAction","action","syncHasDisplayDataRows","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","width","height","languageId","getTreeGridTextResourceUrl","getTreeGridBodyData","get","parseTreeGridPositiveNumber","trimmedValue","numericValue","getTreeGridHeaderCellSpanAttribute","resolvedAttributeValue","isTreeGridGroupHeaderCell","addTreeGridHeaderButtonAttributeTarget","targets","targetCols","getTreeGridGroupHeaderSortButtonTargets","headerRows","cols","includeChildHeaderCells","rowIndex","colIndex","colSpan","childColEndIndex","childRowIndex","childRow","childColIndex","isTreeGridGroupHeaderSortButtonTarget","fixedRow","applyTreeGridGroupHeaderSortButtonAttributes","refreshRows","applyStartedAt","updatedRows","updatedCellCount","countTreeGridPerf","measureTreeGridPerf","getTreeGridBodyDataCount","isVisibleTreeGridRow","visible","isAddedTreeGridRow","added","isDeletedTreeGridRow","deleted","getTreeGridColumnNames","isVisibleTreeGridColumn","column","resolveTreeGridColumnOrderValue","fallback","getTreeGridAddedRowBoxColumnBounds","cachedBounds","columnNameIndexes","columnName","columns","columnNameA","columnNameB","columnA","columnB","_b","indexA","indexB","sectionDiff","columnBounds","clearTreeGridAddedRowBoxColumnBounds","rows","treeGridSelectionRowSpanAnchorRowMaps","clearTreeGridSelectionRowSpanAnchorRowMap","getTreeGridRowSpanCount","rowSpanValue","rowSpan","createTreeGridSelectionRowSpanAnchorRowMap","anchorRowMap","anchorRow","anchorEndIndex","getTreeGridSelectionRowSpanAnchorRow","getTreeGridSelectionRowSpanRows","currentRow","rowOffset","getTreeGridSelectedRowSpanRows","targetRows","selectedRow","targetRow","captureTreeGridChangeBaselines","baselineMap","getTreeGridCellComparableValue","isTreeGridChangedFlag","hasOtherTreeGridChangedCells","clearTreeGridCellChangedState","isTreeGridRowAddedById","resolveTreeGridCellBaselineValue","baselineValues","syncTreeGridAddedRowChangedCellHighlight","backgroundColor","highlightRefresh","baselineValue","getTreeGridAddedRowBaselineValue","isHighlightedCell","getTreeGridAddedRowHighlightColumns","removeTreeGridAddedRowHighlightColumn","clearTreeGridCellHighlightById","appendTreeGridAddedRowHighlightColumn","highlightTreeGridCellById","syncTreeGridChangedCellHighlight","currentValue","isEditableTreeGridCell","getExplicitTreeGridCellColor","color","toTreeGridCssHexColor","hasExplicitTreeGridCellColor","isTreeGridFocusedCellState","focused","isTreeGridSelectedCellState","selected","anchorSelected","hasTreeGridChangedCellDisplayClass","className","classTokens","classToken","appendTreeGridSelectedChangedCellDisplayClass","TREE_GRID_SELECTED_CHANGED_CELL_CLASS","hasTreeGridChangedCellDisplayClassInRow","key","scheduleTreeGridSelectionChangedClassRefresh","scheduleTreeGridRowsRefresh","scheduleTreeGridSelectionRowSpanRefresh","scheduleTreeGridSelectionRowSpanRefreshAll","getEditableTreeGridCellDefaultColor","editableCellBackgroundColorValue","matchesTreeGridRgbColor","r","g","b","expected","isTreeGridNativeErrorBackgroundColor","expectedColor","getTreeGridCellError","hasTreeGridCellError","clearTreeGridRowErrors","hasError","getTreeGridMouseEventAnchorElement","event","target","targetElement","fallbackTargetElement","anchorTargetElement","cellElement","isChangedTreeGridRowOrCell","cellDisplayClass","isChangedCell","isTreeGridNativeInputEditType","isTreeGridReadonlyHoveredCellState","isTreeGridPreviewHoveredCellState","isTreeGridFocusedRowState","resolveTreeGridStateBackgroundColor","focusedCellBackgroundColor","selectedCellBackgroundColor","hoverCellBackgroundColor","changedCellBackgroundColor","isAddedRow","hasNativeErrorBackgroundColor","explicitCellColor","editableCellDefaultColor","TREEGRID_ADDED_ROW_BACKGROUND_COLOR","appendTreeGridClassToken","appendTreeGridErrorCellDisplayClass","TREE_GRID_ERROR_CELL_CLASS","appendTreeGridAddedRowBoxDisplayClass","nextClassName","TREE_GRID_ADDED_ROW_BOX_CELL_CLASS","TREE_GRID_ADDED_ROW_BOX_START_CLASS","TREE_GRID_ADDED_ROW_BOX_END_CLASS","resolveTreeGridCellDisplayClass","errorCellClassName","addedRowBoxClassName","selectedChangedCellClassName","isTreeGridAddedRowBoxDisplayRow","scheduleTreeGridAddedRowBoxRowsRefresh","scheduleTreeGridAddedRowBoxRowsRefreshAll","hasTreeGridDisplayDataRows","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","bindTreeGridEvents","latestEventHandlersRef","layoutHasExplicitEnterModeRef","highlightEditableCellsRef","highlightChangedCellsRef","syncDeletedRowCanEditRef","editableCellBackgroundColorValueRef","changedCellBackgroundColorRef","focusedCellBackgroundColorRef","selectedCellBackgroundColorRef","hoverCellBackgroundColorRef","changedCellBaselineRef","treeGridInstanceRef","treeGridInitStartedAtRef","latestLayoutOverridesRef","latestToolbarTotalCountFormulaRef","latestSuppressCfgRef","latestHideChildHeaderSortButtonsRef","latestSelectionScopeRef","latestDisabledAnimationsRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","hasAppliedInitialLayoutRef","setIsTreeGridReady","showErrorTooltip","hideErrorTooltip","initialEventHandlers","_orow","_ocol","message","anchorEl","_col","orow","tip","type","beforeRowUndeleteHandler","scheduleAction","debouncedRowClickHandler","debounce","x","y","internalResult","_c","_d","name","prefix","deleteType","isAddedRowById","addedRowHighlightColumns","addedRowEditableColumns","getTreeGridAddedRowEditableColumns","shouldSyncDeletedRowCanEdit","shouldRefreshChangedCellHighlight","valueChangedHandler","notifyTreeGridSelectionChange","selectedRows","resolvedSelectedRows","resolveTreeGridSelectedRows","normalizeTreeGridExternalRows","_row","_deselect","_cols","test","selectedRowSpanRows","_select","_type","autoupdate","logTreeGridPerf","_grid","source","data","nextData","latestLayoutOverrides","applyTreeGridLayoutToGrid"],"mappings":"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"}
1
+ {"version":3,"file":"treeGridRuntime.js","sources":["../../../../src/components/OwpTreeGrid/internal/treeGridRuntime.ts"],"sourcesContent":null,"names":["TREE_GRID_BINDING_LOADING_MIN_VISIBLE_MS","TREE_GRID_DEFAULT_ENTER_MODE","TREE_GRID_DEFAULT_ENTER_ACTIONS","TREE_GRID_READONLY_HOVER_CELL_RGB","TREE_GRID_READONLY_NO_FOCUS_HOVER_CELL_RGB","TREE_GRID_PREVIEW_CELL_RGB","TREE_GRID_PREVIEW_CELL_SOFT_RGB","TREE_GRID_PREVIEW_CELL_DIM_RGB","TREE_GRID_NATIVE_ERROR_CELL_RGB_VALUES","TREE_GRID_ERROR_CELL_FALLBACK_BACKGROUND_COLOR","TREE_GRID_GROUP_HEADER_BUTTON_ATTRIBUTE","TREE_GRID_ROW_BOX_EXCLUDED_COLUMNS","TREE_GRID_CELL_CHANGED_CLASS_TOKENS","TREEGRID_CELL_CHANGED_CLASS","TREE_GRID_NATIVE_INPUT_EDIT_TYPES","hasTreeGridExplicitEnterMode","__name","layoutData","TREE_GRID_DELETE_PANEL_DEFAULT_ATTRIBUTES","TREE_GRID_PANEL_SPANNED_DEFAULT_ATTRIBUTES","TREE_GRID_CELL_CLICK_FOCUS_DEFAULT_ACTIONS","TREE_GRID_SELECT_ALL_PANEL_DEFAULT_ACTIONS","TREE_GRID_SELECTION_ROW_SPAN_COLUMN","TREE_GRID_TOOLBAR_FORMULA_FIELD_NAMES","TREE_GRID_XML_GRID_OPEN_TAG_PATTERN","TREE_GRID_XML_GRID_CLOSE_TAG_PATTERN","TREE_GRID_XML_TOOLBAR_TAG_PATTERN","TREE_GRID_DEFAULT_LAYOUT_CFG_ATTRIBUTES","TREE_GRID_DISABLED_ANIMATION_ATTRIBUTES","treeGridAddedRowBoxColumnBoundsCache","isTreeGridJsonRecord","value","isTreeGridDisabledConfigValue","isTreeGridExplicitEnabledConfigValue","isTreeGridExplicitHiddenConfigValue","isTreeGridConfigValue","expectedValue","isTreeGridCheckboxSelectionMode","selecting","selectingSingle","getTreeGridJsonCfgRecords","cfg","getTreeGridJsonCfgValue","fieldName","fieldValue","getTreeGridXmlTagAttributeValue","tag","attributeName","attributeMatch","hasTreeGridXmlTagAttribute","escapeTreeGridXmlAttributeValue","appendTreeGridXmlTagAttribute","attributeValue","insertionIndex","setTreeGridXmlTagAttribute","setTreeGridXmlTagAttributes","attributes","nextTag","appendMissingTreeGridXmlTagAttributes","scanTreeGridXmlDefaultLayout","tagPattern","scanResult","tagMatch","rootDepth","isInsideGrid","currentTagName","_a","isClosingTag","isSelfClosingTag","isTreeGridXmlDefaultPanelTag","panelName","getLeadingTreeGridXmlHeaderTags","headContent","childTagPattern","headerTags","childTagMatch","applyTreeGridXmlHeadPanelRowSpanDefault","firstHeaderTag","remainingHeaderTags","nextHeaderTag","getTreeGridXmlPanelSpannedInsertionIndex","isTreeGridXmlPanelSpannedDefaultLayout","isTreeGridXmlSelectingLayout","isTreeGridXmlDeletePanelDefaultLayout","applyTreeGridXmlDefaultPanelSpannedLayout","panelTag","nextPanelTag","applyTreeGridDefaultHeaderPanelRowSpanLayout","isPanelRowSpanApplied","nextLayoutData","matchedHead","headOpenTag","headCloseTag","result","isTreeGridJsonCheckboxSelectionLayout","isTreeGridXmlCheckboxSelectionLayout","cfgValues","getTreeGridXmlCellClickActionInsertionIndex","applyTreeGridXmlDefaultCellClickActionLayout","actionsTag","nextActionsTag","getTreeGridXmlSelectAllPanelActionInsertionIndex","applyTreeGridXmlDefaultSelectAllPanelActionLayout","getTreeGridXmlDeletePanelInsertionIndex","applyTreeGridXmlDefaultDeletePanelLayout","applyTreeGridXmlDefaultFastPanelLayout","applyTreeGridJsonFastPanelDefault","item","applyTreeGridJsonSelectAllPanelActionDefault","actions","applyTreeGridJsonCellClickActionDefault","applyTreeGridJsonDefaultCellClickActionLayout","parsedLayoutData","applyTreeGridDefaultCellClickActionLayout","xmlScanResult","trimmedLayoutData","applyTreeGridJsonDefaultSelectAllPanelActionLayout","applyTreeGridDefaultSelectAllPanelActionLayout","applyTreeGridJsonDefaultSuppressCfgLayout","suppressCfg","cfgRecords","applyTreeGridXmlDefaultSuppressCfgLayout","cfgTag","nextCfgTag","applyTreeGridDefaultSuppressCfgLayout","hasTreeGridToolbarFormulaField","layoutRecord","getTreeGridJsonToolbarRecords","toolbar","solid","toolbarRecords","solidToolbarRecords","applyTreeGridJsonDefaultToolbarTotalCountLayout","toolbarTotalCountFormula","hasTreeGridXmlToolbarFormulaAttribute","toolbarTag","applyTreeGridXmlDefaultToolbarTotalCountLayout","toolbarMatch","nextToolbarTag","gridCloseMatch","gridOpenMatch","applyTreeGridDefaultToolbarTotalCountLayout","applyTreeGridJsonDefaultFastPanelLayout","applyTreeGridDefaultFastPanelLayout","getTreeGridDisabledAnimationAttributes","disabledAnimations","animation","applyTreeGridJsonDisabledAnimationsLayout","animations","firstAnimations","createTreeGridDisabledAnimationsTag","applyTreeGridXmlDisabledAnimationsLayout","animationsTag","nextAnimationsTag","applyTreeGridDisabledAnimationsLayout","applyTreeGridDefaultLayout","nextSelectAllPanelActionLayoutData","nextSelectAllXmlScanResult","nextCellClickActionLayoutData","nextXmlScanResult","getTreeGridWrapperElement","gridId","TREE_GRID_THEME_WRAPPER_CLASS","getTreeGridSelectAllState","grid","selectableRowCount","selectedRowCount","getTreeGridRows","row","isDisplayTreeGridRow","syncTreeGridSelectionPanelState","wrapperElement","isSelectingEnabled","isCheckboxSelectionMode","header","TREE_GRID_PANEL_CHECKBOX_SELECT_CLASS","TREE_GRID_SELECT_ALL_CHECKED_CLASS","TREE_GRID_SELECT_ALL_INDETERMINATE_CLASS","TREE_GRID_SELECT_ALL_UNCHECKED_CLASS","selectAllState","treeGridSelectionPanelStateSyncTimeouts","scheduleTreeGridSelectionPanelStateSync","activeTimeout","nextTimeout","applyTreeGridDefaultEnterMode","enterMode","actionConfig","mutableGrid","isTreeGridInlineUrl","url","treeGridInlineBlobUrlCache","resolveTreeGridInlineUrl","cachedUrl","meta","encodedData","match","mimeType","decodedData","bytes","index","blobUrl","appendNoCacheQuery","hashIndex","baseUrl","hashFragment","querySeparator","syncTreeGridDeletedRowState","options","canEdit","editableColumns","editableCanEdit","highlightColumns","highlightBackgroundColor","rowRecord","col","resolveTreeGridDataUrl","dataUrl","isTreeGridPromiseLike","applyTreeGridBeforeRowUndeleteAction","action","syncHasDisplayDataRows","buildTreeGridDataSource","useDataUrl","bodyData","isEmpty","buildTreeGridInitializationOptions","id","layoutUrl","width","height","languageId","getTreeGridTextResourceUrl","getTreeGridBodyData","get","parseTreeGridPositiveNumber","trimmedValue","numericValue","getTreeGridHeaderCellSpanAttribute","resolvedAttributeValue","isTreeGridGroupHeaderCell","addTreeGridHeaderButtonAttributeTarget","targets","targetCols","getTreeGridGroupHeaderSortButtonTargets","headerRows","cols","includeChildHeaderCells","rowIndex","colIndex","colSpan","childColEndIndex","childRowIndex","childRow","childColIndex","isTreeGridGroupHeaderSortButtonTarget","fixedRow","applyTreeGridGroupHeaderSortButtonAttributes","refreshRows","applyStartedAt","updatedRows","updatedCellCount","countTreeGridPerf","measureTreeGridPerf","getTreeGridBodyDataCount","isVisibleTreeGridRow","visible","isAddedTreeGridRow","added","isDeletedTreeGridRow","deleted","getTreeGridColumnNames","isVisibleTreeGridColumn","column","resolveTreeGridColumnOrderValue","fallback","getTreeGridAddedRowBoxColumnBounds","cachedBounds","columnNameIndexes","columnName","columns","columnNameA","columnNameB","columnA","columnB","_b","indexA","indexB","sectionDiff","columnBounds","clearTreeGridAddedRowBoxColumnBounds","rows","treeGridSelectionRowSpanAnchorRowMaps","clearTreeGridSelectionRowSpanAnchorRowMap","getTreeGridRowSpanCount","rowSpanValue","rowSpan","createTreeGridSelectionRowSpanAnchorRowMap","anchorRowMap","anchorRow","anchorEndIndex","getTreeGridSelectionRowSpanAnchorRow","getTreeGridSelectionRowSpanRows","currentRow","rowOffset","getTreeGridSelectedRowSpanRows","targetRows","selectedRow","targetRow","captureTreeGridChangeBaselines","baselineMap","getTreeGridCellComparableValue","isTreeGridChangedFlag","hasOtherTreeGridChangedCells","clearTreeGridCellChangedState","isTreeGridRowAddedById","resolveTreeGridCellBaselineValue","baselineValues","syncTreeGridAddedRowChangedCellHighlight","backgroundColor","highlightRefresh","baselineValue","getTreeGridAddedRowBaselineValue","isHighlightedCell","getTreeGridAddedRowHighlightColumns","removeTreeGridAddedRowHighlightColumn","clearTreeGridCellHighlightById","appendTreeGridAddedRowHighlightColumn","highlightTreeGridCellById","syncTreeGridChangedCellHighlight","currentValue","isEditableTreeGridCell","getExplicitTreeGridCellColor","color","toTreeGridCssHexColor","hasExplicitTreeGridCellColor","isTreeGridFocusedCellState","focused","isTreeGridSelectedCellState","selected","anchorSelected","hasTreeGridChangedCellDisplayClass","className","classTokens","classToken","appendTreeGridSelectedChangedCellDisplayClass","TREE_GRID_SELECTED_CHANGED_CELL_CLASS","hasTreeGridChangedCellDisplayClassInRow","key","scheduleTreeGridSelectionChangedClassRefresh","scheduleTreeGridRowsRefresh","scheduleTreeGridSelectionRowSpanRefresh","scheduleTreeGridSelectionRowSpanRefreshAll","getEditableTreeGridCellDefaultColor","editableCellBackgroundColorValue","matchesTreeGridRgbColor","r","g","b","expected","isTreeGridNativeErrorBackgroundColor","expectedColor","getTreeGridCellError","hasTreeGridCellError","clearTreeGridRowErrors","hasError","getTreeGridMouseEventAnchorElement","event","target","targetElement","fallbackTargetElement","anchorTargetElement","cellElement","isChangedTreeGridRowOrCell","cellDisplayClass","isChangedCell","isTreeGridNativeInputEditType","isTreeGridReadonlyHoveredCellState","isTreeGridPreviewHoveredCellState","isTreeGridFocusedRowState","resolveTreeGridStateBackgroundColor","focusedCellBackgroundColor","selectedCellBackgroundColor","hoverCellBackgroundColor","changedCellBackgroundColor","isAddedRow","hasNativeErrorBackgroundColor","explicitCellColor","editableCellDefaultColor","TREEGRID_ADDED_ROW_BACKGROUND_COLOR","appendTreeGridClassToken","appendTreeGridErrorCellDisplayClass","TREE_GRID_ERROR_CELL_CLASS","appendTreeGridAddedRowBoxDisplayClass","nextClassName","TREE_GRID_ADDED_ROW_BOX_CELL_CLASS","TREE_GRID_ADDED_ROW_BOX_START_CLASS","TREE_GRID_ADDED_ROW_BOX_END_CLASS","resolveTreeGridCellDisplayClass","errorCellClassName","addedRowBoxClassName","selectedChangedCellClassName","isTreeGridAddedRowBoxDisplayRow","scheduleTreeGridAddedRowBoxRowsRefresh","scheduleTreeGridAddedRowBoxRowsRefreshAll","hasTreeGridDisplayDataRows","replaceTreeGridBodyData","onReloadFinish","currentDataConfig","bindTreeGridEvents","latestEventHandlersRef","layoutHasExplicitEnterModeRef","highlightEditableCellsRef","highlightChangedCellsRef","syncDeletedRowCanEditRef","editableCellBackgroundColorValueRef","changedCellBackgroundColorRef","focusedCellBackgroundColorRef","selectedCellBackgroundColorRef","hoverCellBackgroundColorRef","changedCellBaselineRef","treeGridInstanceRef","treeGridInitStartedAtRef","latestLayoutOverridesRef","latestToolbarTotalCountFormulaRef","latestSuppressCfgRef","latestHideChildHeaderSortButtonsRef","latestSelectionScopeRef","latestDisabledAnimationsRef","appliedLayoutOverridesRef","appliedBodyDataPropRef","hasAppliedInitialLayoutRef","setIsTreeGridReady","showErrorTooltip","hideErrorTooltip","initialEventHandlers","_orow","_ocol","message","anchorEl","_col","orow","tip","type","beforeRowUndeleteHandler","scheduleAction","debouncedRowClickHandler","debounce","x","y","internalResult","_c","_d","name","prefix","deleteType","isAddedRowById","addedRowHighlightColumns","addedRowEditableColumns","getTreeGridAddedRowEditableColumns","shouldSyncDeletedRowCanEdit","shouldRefreshChangedCellHighlight","valueChangedHandler","notifyTreeGridSelectionChange","selectedRows","resolvedSelectedRows","resolveTreeGridSelectedRows","normalizeTreeGridExternalRows","_row","_deselect","_cols","test","selectedRowSpanRows","_select","_type","autoupdate","logTreeGridPerf","_grid","source","data","nextData","latestLayoutOverrides","applyTreeGridLayoutToGrid"],"mappings":";;;;;;;;;;;AA2DO,MAAMA,KAA2C,KAClDC,KAA+B,GAC/BC,KAAkC;AAAA,EACtC,GAAG;AAAA,IACD,SAAS;AAAA,IACT,aAAa;AAAA,EAAA;AAAA,EAEf,GAAG;AAAA,IACD,SAAS;AAAA,IACT,aAAa;AAAA,EAAA;AAAA,EAEf,GAAG;AAAA,IACD,SAAS;AAAA,IACT,aAAa;AAAA,EAAA;AAAA,EAEf,GAAG;AAAA,IACD,SAAS;AAAA,IACT,aAAa;AAAA,EAAA;AAEjB,GAEMC,KAAoC,CAAC,KAAK,KAAK,GAAG,GAClDC,KAA6C,CAAC,KAAK,KAAK,GAAG,GAC3DC,KAA6B,CAAC,KAAK,KAAK,GAAG,GAC3CC,KAAkC,CAAC,KAAK,KAAK,GAAG,GAChDC,KAAiC,CAAC,KAAK,KAAK,GAAG,GAC/CC,KAAyC;AAAA,EAC7C,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,KAAK,GAAG;AAAA,EACd,CAAC,KAAK,IAAI,EAAE;AACd,GACMC,KAAiD,eACjDC,KAA0C,UAC1CC,KAAqC,oBAAI,IAAI,CAAC,OAAO,CAAC,GACtDC,KAAsCC,GAA4B,MAAM,KAAK,EAAE;AAAA,EACnF;AACF,GACMC,yBAAwC,IAAI;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC,GA6GYC,KAA+B,gBAAAC,EAAA,CAACC,MACpC,GAAQA,KAAc,6CAA6C,KAAKA,CAAU,IAD/C,iCAsCtCC,KAA4C;AAAA,EAChD,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,OAAO;AACT,GACMC,KAA6C;AAAA,EACjD,SAAS;AACX,GACMC,IAA6C;AAAA,EACjD,aAAa;AACf,GACMC,IAA6C;AAAA,EACjD,uBAAuB;AACzB,GACMC,KAAsC,SACtCC,KAAwC,CAAC,WAAW,gBAAgB,GACpEC,KAAsC,kBACtCC,KAAuC,gBACvCC,KAAoC,wBACpCC,KAA0C;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACMC,KAA0C;AAAA,EAC9C,QAAQ,CAAC,OAAO,WAAW,eAAe,iBAAiB;AAAA,EAC3D,WAAW;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA,EAEF,WAAW,CAAC,UAAU,cAAc,YAAY,cAAc;AAChE,GACMC,wBAA2C,QAAA,GAM3CC,IAAuB,gBAAAd,EAAA,CAACe,MAC5B,OAAOA,KAAU,YAAYA,MAAU,QAAQ,CAAC,MAAM,QAAQA,CAAK,GADxC,yBAIvBC,IAAgC,gBAAAhB,EAAA,CAACe,MACrCA,MAAU,KAAKA,MAAU,MAASA,MAAU,OAAOA,MAAU,SADzB,kCAIhCE,KAAuC,gBAAAjB,EAAA,CAACe,MAC5CA,MAAU,KAAKA,MAAU,MAAQA,MAAU,OAAOA,MAAU,QADjB,yCAIvCG,KAAsC,gBAAAlB,EAAA,CAACe,MAC3CA,MAAU,KAAKA,MAAU,MAAQA,MAAU,OAAOA,MAAU,QADlB,wCAItCI,IAAwB,gBAAAnB,EAAA,CAACe,GAAgBK,MACtC,OAAOL,KAAS,EAAE,EAAE,OAAO,YAAA,MAAkBK,EAAc,YAAA,GADtC,0BASxBC,KAAkC,gBAAArB,EAAA,CACtCsB,GACAC,MAGE,CAACP,EAA8BM,CAAS,KACxC,CAACL,GAAqCM,CAAe,GANjB,oCAclCC,KAA4B,gBAAAxB,EAAA,CAACC,MAAmC;AACpE,QAAMwB,IAAMxB,EAAW;AAEvB,SAAI,MAAM,QAAQwB,CAAG,IACZA,EAAI,OAAOX,CAAoB,IAGjCA,EAAqBW,CAAG,IAAI,CAACA,CAAG,IAAI,CAAA;AAC7C,GARkC,8BAe5BC,KAA0B,gBAAA1B,EAAA,CAACC,GAAgC0B,MAAsB;AACrF,MAAIC;AAEJ,SAAAJ,GAA0BvB,CAAU,EAAE,QAAQ,CAACwB,MAAQ;AACrD,IAAIE,KAAaF,MACfG,IAAaH,EAAIE,CAAS;AAAA,EAE9B,CAAC,GAEMC;AACT,GAVgC,4BAiB1BC,KAAkC,gBAAA7B,EAAA,CAAC8B,GAAaC,MAA0B;AAC9E,QAAMC,IAAiB,IAAI,OAAO,MAAMD,CAAa,2BAA2B,GAAG,EAAE;AAAA,IACnFD;AAAA,EAAA;AAGF,SAAOE,KAAA,gBAAAA,EAAiB;AAC1B,GANwC,oCAalCC,IAA6B,gBAAAjC,EAAA,CAAC8B,GAAaC,MACxC,IAAI,OAAO,MAAMA,CAAa,SAAS,GAAG,EAAE,KAAKD,CAAG,GAD1B,+BAQ7BI,KAAkC,gBAAAlC,EAAA,CAACe,MAChC,OAAOA,CAAK,EAChB,QAAQ,MAAM,OAAO,EACrB,QAAQ,MAAM,QAAQ,EACtB,QAAQ,MAAM,MAAM,GAJe,oCAalCoB,IAAgC,gBAAAnC,EAAA,CACpC8B,GACAC,GACAK,MACG;AACH,QAAMC,IAAiBP,EAAI,SAAS,IAAI,IAAIA,EAAI,SAAS,IAAIA,EAAI,SAAS;AAE1E,SAAO,GAAGA,EAAI,MAAM,GAAGO,CAAc,CAAC,IAAIN,CAAa,KAAKG;AAAA,IAC1DE;AAAA,EAAA,CACD,IAAIN,EAAI,MAAMO,CAAc,CAAC;AAChC,GAVsC,kCAkBhCC,KAA6B,gBAAAtC,EAAA,CACjC8B,GACAC,GACAK,MAEKH,EAA2BH,GAAKC,CAAa,IAI3CD,EAAI;AAAA,EACT,IAAI,OAAO,MAAMC,CAAa,2BAA2B,GAAG;AAAA,EAC5D,MAAM,GAAGA,CAAa,KAAKG,GAAgCE,CAAc,CAAC;AAAA,IALnED,EAA8BL,GAAKC,GAAeK,CAAc,GANxC,+BAoB7BG,KAA8B,gBAAAvC,EAAA,CAClC8B,GACAU,MACG;AACH,MAAIC,IAAUX;AAEd,gBAAO,QAAQU,CAAU,EAAE,QAAQ,CAAC,CAACT,GAAeK,CAAc,MAAM;AACtE,IAAAK,IAAUH,GAA2BG,GAASV,GAAeK,CAAc;AAAA,EAC7E,CAAC,GAEMK;AACT,GAXoC,gCAkB9BC,IAAwC,gBAAA1C,EAAA,CAC5C8B,GACAU,MACG;AACH,MAAIC,IAAUX;AAEd,gBAAO,QAAQU,CAAU,EAAE,QAAQ,CAAC,CAACT,GAAeK,CAAc,MAAM;AACtE,IAAKH,EAA2BQ,GAASV,CAAa,MACpDU,IAAUN,EAA8BM,GAASV,GAAeK,CAAc;AAAA,EAElF,CAAC,GAEMK;AACT,GAb8C,0CAmBxCE,IAA+B,gBAAA3C,EAAA,CAACC,MAAuB;;AAC3D,QAAM2C,IACJ,0FACIC,IAAiD;AAAA,IACrD,WAAW,CAAA;AAAA,EAAC;AAEd,MAAIC,GACAC,IAAY,GACZC,IAAe;AAEnB,SAAQF,IAAWF,EAAW,KAAK3C,CAAU,KAAI;AAC/C,UAAM6B,IAAMgB,EAAS,CAAC,GAChBG,KAAiBC,IAAAJ,EAAS,CAAC,MAAV,gBAAAI,EAAa;AAEpC,QAAI,CAACD,KAAkBnB,EAAI,WAAW,MAAM,KAAKA,EAAI,WAAW,IAAI,KAAKA,EAAI,WAAW,IAAI;AAC1F;AAGF,IAAI,CAACe,EAAW,gBAAgBZ,EAA2BH,GAAK,WAAW,MACzEe,EAAW,eAAe;AAG5B,UAAMM,IAAerB,EAAI,WAAW,IAAI,GAClCsB,IAAmB,UAAU,KAAKtB,CAAG;AAE3C,QAAI,CAACkB,GAAc;AACjB,MAAI,CAACG,KAAgBF,MAAmB,WACtCD,IAAe,IACfH,EAAW,sBAAsBC,EAAS,QAAQhB,EAAI,QACtDiB,IAAYK,IAAmB,IAAI;AAGrC;AAAA,IACF;AAEA,QAAID,GAAc;AAGhB,UAFAJ,IAAY,KAAK,IAAI,GAAGA,IAAY,CAAC,GAEjCE,MAAmB,UAAUF,MAAc;AAC7C;AAGF;AAAA,IACF;AAEA,IAAIA,MAAc,MACZE,MAAmB,SAChBJ,EAAW,kBACdA,EAAW,gBAAgB;AAAA,MACzB,OAAOC,EAAS;AAAA,MAChB,KAAAhB;AAAA,IAAA,IAIJnB,GAAwC,QAAQ,CAACoB,MAAkB;AACjE,YAAMK,IAAiBP,GAAgCC,GAAKC,CAAa;AAEzE,MAAIK,MAAmB,WACrBS,EAAW,UAAUd,CAAa,IAAIK;AAAA,IAE1C,CAAC,GACDS,EAAW,kBAAkBC,EAAS,QAAQhB,EAAI,UACzCmB,MAAmB,aAAa,CAACJ,EAAW,oBACrDA,EAAW,oBAAoB;AAAA,MAC7B,OAAOC,EAAS;AAAA,MAChB,KAAAhB;AAAA,IAAA,IAGFmB,MAAmB,WACnB,CAACJ,EAAW,mBACZQ,GAA6BvB,CAAG,IAEhCe,EAAW,kBAAkB;AAAA,MAC3B,OAAOC,EAAS;AAAA,MAChB,KAAAhB;AAAA,IAAA,IAEOmB,MAAmB,gBAAgB,CAACJ,EAAW,kBACxDA,EAAW,gBAAgB;AAAA,MACzB,OAAOC,EAAS;AAAA,MAChB,KAAAhB;AAAA,IAAA,KAKDsB,MACHL,KAAa;AAAA,EAEjB;AAEA,SAAOF;AACT,GA1FqC,iCAgG/BQ,KAA+B,gBAAArD,EAAA,CAAC8B,MAAgB;AACpD,QAAMwB,IAAYzB,GAAgCC,GAAK,MAAM;AAE7D,SAAOwB,MAAc,UAAaA,MAAc,MAAMA,EAAU,kBAAkB;AACpF,GAJqC,iCAU/BC,KAAkC,gBAAAvD,EAAA,CAACwD,MAAwB;AAC/D,QAAMC,IAAkB,uCAClBC,IAAoC,CAAA;AAC1C,MAAIC;AAEJ,SAAQA,IAAgBF,EAAgB,KAAKD,CAAW,KAAI;AAC1D,QAAIG,EAAc,CAAC,EAAE,YAAA,MAAkB,UAAU;AAC/C,UAAID,EAAW,SAAS;AACtB;AAGF,aAAOA;AAAA,IACT;AAEA,IAAAA,EAAW,KAAK;AAAA,MACd,OAAOC,EAAc;AAAA,MACrB,KAAKA,EAAc,CAAC;AAAA,IAAA,CACrB;AAAA,EACH;AAEA,SAAOD;AACT,GArBwC,oCA2BlCE,KAA0C,gBAAA5D,EAAA,CAC9CwD,MAC6C;AAC7C,QAAME,IAAaH,GAAgCC,CAAW;AAE9D,MAAIE,EAAW,UAAU;AACvB,WAAO;AAAA,MACL,aAAAF;AAAA,MACA,WAAW;AAAA,IAAA;AAIf,QAAM,CAACK,GAAgB,GAAGC,CAAmB,IAAIJ;AAEjD,MACEzB,EAA2B4B,EAAe,KAAK,cAAc,KAC7DC,EAAoB,KAAK,CAAC,EAAE,KAAAhC,QAAU,4BAA4B,KAAKA,CAAG,CAAC;AAE3E,WAAO;AAAA,MACL,aAAA0B;AAAA,MACA,WAAW;AAAA,IAAA;AAIf,MAAIO,IAAgBF,EAAe;AAEnC,SAAK5B,EAA2B8B,GAAe,SAAS,MACtDA,IAAgB5B,EAA8B4B,GAAe,WAAW,CAAC,IAG3EA,IAAgB5B;AAAA,IACd4B;AAAA,IACA;AAAA,IACAL,EAAW;AAAA,EAAA,GAGN;AAAA,IACL,aAAa,GAAGF,EAAY,MAAM,GAAGK,EAAe,KAAK,CAAC,GAAGE,CAAa,GAAGP,EAAY;AAAA,MACvFK,EAAe,QAAQA,EAAe,IAAI;AAAA,IAAA,CAC3C;AAAA,IACD,WAAW;AAAA,EAAA;AAEf,GA1CgD,4CAgD1CG,KAA2C,gBAAAhE,EAAA,CAC/C6C,MAEOA,EAAW,mBAAmBA,EAAW,qBAHD,6CAU3CoB,KAAyC,gBAAAjE,EAAA,CAC7C6C,MAGE,EAAQA,EAAW,mBACnBqB,GAA6BrB,EAAW,SAAS,KACjDsB,GAAsCtB,EAAW,SAAS,GANf,2CAezCuB,KAA4C,gBAAApE,EAAA,CAChDC,GACA4C,MACG;AACH,MACEA,EAAW,wBAAwB,UACnC,CAACoB,GAAuCpB,CAAU;AAElD,WAAO5C;AAGT,QAAMoE,IAAWxB,EAAW;AAE5B,MAAIwB,GAAU;AACZ,UAAMC,IAAe5B;AAAA,MACnB2B,EAAS;AAAA,MACTlE;AAAA,IAAA;AAGF,WAAOmE,MAAiBD,EAAS,MAC7BpE,IACA,GAAGA,EAAW,MAAM,GAAGoE,EAAS,KAAK,CAAC,GAAGC,CAAY,GAAGrE,EAAW;AAAA,MACjEoE,EAAS,QAAQA,EAAS,IAAI;AAAA,IAAA,CAC/B;AAAA,EACP;AAEA,QAAMhC,IAAiB2B,GAAyCnB,CAAU;AAE1E,SAAIR,MAAmB,SACdpC,IAGF,GAAGA,EAAW,MAAM,GAAGoC,CAAc,CAAC;AAAA,yBAA4BpC,EAAW;AAAA,IAClFoC;AAAA,EAAA,CACD;AACH,GAnCkD,8CAyC5CkC,KAA+C,gBAAAvE,EAAA,CAACC,MAAuB;AAC3E,MAAI,CAAC,WAAW,KAAKA,CAAU,KAAK,yBAAyB,KAAKA,CAAU;AAC1E,WAAOA;AAGT,MAAIuE,IAAwB;AAC5B,QAAMC,IAAiBxE,EAAW;AAAA,IAChC;AAAA,IACA,CAACyE,GAAaC,GAAqBnB,GAAqBoB,MAAyB;AAC/E,YAAMC,IAASjB,GAAwCJ,CAAW;AAElE,aAAKqB,EAAO,aAIZL,IAAwB,IAEjB,GAAGG,CAAW,GAAGE,EAAO,WAAW,GAAGD,CAAY,MALhDF;AAAA,IAMX;AAAA,EAAA;AAGF,SAAKF,IAIEJ;AAAA,IACLK;AAAA,IACA9B,EAA6B8B,CAAc;AAAA,EAAA,IALpCxE;AAOX,GA7BqD,iDAmC/C6E,KAAwC,gBAAA9E,EAAA,CAACC,MACtCoB;AAAA,EACLK,GAAwBzB,GAAY,WAAW;AAAA,EAC/CyB,GAAwBzB,GAAY,iBAAiB;AAAA,GAHX,0CAWxC8E,KAAuC,gBAAA/E,EAAA,CAACgF,MACrC3D;AAAA,EACL2D,EAAU;AAAA,EACVA,EAAU;AAAA,GAH+B,yCAWvCd,KAA+B,gBAAAlE,EAAA,CAACgF,MAC7B,CAAChE,EAA8BgE,EAAU,SAAS,GADtB,iCAQ/Bb,KAAwC,gBAAAnE,EAAA,CAACgF,MAE3C7D,EAAsB6D,EAAU,MAAM,GAAG,KACzC7D,EAAsB6D,EAAU,UAAU,GAAG,KAC7C7D,EAAsB6D,EAAU,WAAW,GAAG,GAJJ,0CAYxCC,KAA8C,gBAAAjF,EAAA,CAClD6C,MAEOA,EAAW,mBAAmBA,EAAW,qBAHE,gDAW9CqC,KAA+C,gBAAAlF,EAAA,CACnDC,GACA4C,MACG;AACH,MACEA,EAAW,wBAAwB,UACnC,CAACqB,GAA6BrB,EAAW,SAAS,KAClD,qBAAqB,KAAK5C,CAAU;AAEpC,WAAOA;AAGT,QAAMkF,IAAatC,EAAW;AAE9B,MAAIsC,GAAY;AACd,UAAMC,IAAiB1C;AAAA,MACrByC,EAAW;AAAA,MACX/E;AAAA,IAAA;AAGF,WAAOgF,MAAmBD,EAAW,MACjClF,IACA,GAAGA,EAAW,MAAM,GAAGkF,EAAW,KAAK,CAAC,GAAGC,CAAc,GAAGnF,EAAW;AAAA,MACrEkF,EAAW,QAAQA,EAAW,IAAI;AAAA,IAAA,CACnC;AAAA,EACP;AAEA,QAAM9C,IAAiB4C,GAA4CpC,CAAU;AAE7E,SAAIR,MAAmB,SACdpC,IAGF,GAAGA,EAAW,MAAM,GAAGoC,CAAc,CAAC;AAAA,mCAAsCpC,EAAW;AAAA,IAC5FoC;AAAA,EAAA,CACD;AACH,GApCqD,iDA0C/CgD,KAAmD,gBAAArF,EAAA,CACvD6C,MAEOA,EAAW,mBAAmBA,EAAW,qBAHO,qDAWnDyC,KAAoD,gBAAAtF,EAAA,CACxDC,GACA4C,MACG;AACH,MACEA,EAAW,wBAAwB,UACnC,CAACkC,GAAqClC,EAAW,SAAS,KAC1D,+BAA+B,KAAK5C,CAAU;AAE9C,WAAOA;AAGT,QAAMkF,IAAatC,EAAW;AAE9B,MAAIsC,GAAY;AACd,UAAMC,IAAiB1C;AAAA,MACrByC,EAAW;AAAA,MACX9E;AAAA,IAAA;AAGF,WAAO+E,MAAmBD,EAAW,MACjClF,IACA,GAAGA,EAAW,MAAM,GAAGkF,EAAW,KAAK,CAAC,GAAGC,CAAc,GAAGnF,EAAW;AAAA,MACrEkF,EAAW,QAAQA,EAAW,IAAI;AAAA,IAAA,CACnC;AAAA,EACP;AAEA,QAAM9C,IAAiBgD,GAAiDxC,CAAU;AAElF,SAAIR,MAAmB,SACdpC,IAGF,GAAGA,EAAW;AAAA,IACnB;AAAA,IACAoC;AAAA,EAAA,CACD;AAAA,gEAAmEpC,EAAW;AAAA,IAC7EoC;AAAA,EAAA,CACD;AACH,GAvC0D,sDA6CpDkD,KAA0C,gBAAAvF,EAAA,CAC9C6C,MAEOA,EAAW,mBAAmBA,EAAW,qBAHF,4CAW1C2C,KAA2C,gBAAAxF,EAAA,CAC/CC,GACA4C,MACG;AACH,MACEA,EAAW,wBAAwB,UACnC,CAACsB,GAAsCtB,EAAW,SAAS;AAE3D,WAAO5C;AAGT,QAAMoE,IAAWxB,EAAW;AAE5B,MAAIwB,GAAU;AACZ,UAAMC,IAAe5B;AAAA,MACnB2B,EAAS;AAAA,MACTnE;AAAA,IAAA;AAGF,WAAOoE,MAAiBD,EAAS,MAC7BpE,IACA,GAAGA,EAAW,MAAM,GAAGoE,EAAS,KAAK,CAAC,GAAGC,CAAY,GAAGrE,EAAW;AAAA,MACjEoE,EAAS,QAAQA,EAAS,IAAI;AAAA,IAAA,CAC/B;AAAA,EACP;AAEA,QAAMhC,IAAiBkD,GAAwC1C,CAAU;AAEzE,SAAIR,MAAmB,SACdpC,IAKF,GAAGA,EAAW,MAAM,GAAGoC,CAAc,CAAC;AAAA,2DAAkBpC,EAAW;AAAA,IACxEoC;AAAA,EAAA,CACD;AACH,GArCiD,6CA4C3CoD,KAAyC,gBAAAzF,EAAA,CAC7CC,GACA4C,MACG;AACH,MAAIA,EAAW,gBAAgB,CAACkC,GAAqClC,EAAW,SAAS;AACvF,WAAO5C;AAGT,QAAMoC,IAAiBQ,EAAW;AAElC,SAAIR,MAAmB,SACdpC,IAGF,GAAGA,EAAW,MAAM,GAAGoC,CAAc,CAAC;AAAA,yBAA4BpC,EAAW;AAAA,IAClFoC;AAAA,EAAA,CACD;AACH,GAjB+C,2CAuBzCqD,KAAoC,gBAAA1F,EAAA,CAACC,MAAmC;AAC5E,QAAMwB,IAAMxB,EAAW;AAEvB,MAAI,MAAM,QAAQwB,CAAG,GAAG;AACtB,IAAKA,EAAI,KAAK,CAACkE,MAAS7E,EAAqB6E,CAAI,KAAK,eAAeA,CAAI,MACvE1F,EAAW,MAAM,CAAC,EAAE,WAAW,EAAA,GAAK,GAAGwB,CAAG;AAE5C;AAAA,EACF;AAEA,MAAIX,EAAqBW,CAAG,GAAG;AAC7B,IAAM,eAAeA,MACnBA,EAAI,YAAY;AAElB;AAAA,EACF;AAEA,EAAAxB,EAAW,MAAM,EAAE,WAAW,EAAA;AAChC,GAlB0C,sCAwBpC2F,KAA+C,gBAAA5F,EAAA,CAACC,MAAmC;AACvF,QAAM4F,IAAU5F,EAAW;AAE3B,MAAI,MAAM,QAAQ4F,CAAO,GAAG;AAC1B,IACGA,EAAQ;AAAA,MACP,CAACF,MAAS7E,EAAqB6E,CAAI,KAAK,2BAA2BA;AAAA,IAAA,MAGrE1F,EAAW,UAAU,CAAC,EAAE,GAAGI,EAAA,GAA8C,GAAGwF,CAAO;AAErF;AAAA,EACF;AAEA,MAAI/E,EAAqB+E,CAAO,GAAG;AACjC,IAAM,2BAA2BA,MAC/BA,EAAQ,wBACNxF,EAA2C;AAE/C;AAAA,EACF;AAEA,EAAIwF,MAAY,WACd5F,EAAW,UAAU,EAAE,GAAGI,EAAA;AAE9B,GAzBqD,iDA+B/CyF,KAA0C,gBAAA9F,EAAA,CAACC,MAAmC;AAClF,QAAM4F,IAAU5F,EAAW;AAE3B,MAAI,MAAM,QAAQ4F,CAAO,GAAG;AAC1B,IAAKA,EAAQ,KAAK,CAACF,MAAS7E,EAAqB6E,CAAI,KAAK,iBAAiBA,CAAI,MAC7E1F,EAAW,UAAU,CAAC,EAAE,GAAGG,EAAA,GAA8C,GAAGyF,CAAO;AAErF;AAAA,EACF;AAEA,MAAI/E,EAAqB+E,CAAO,GAAG;AACjC,IAAM,iBAAiBA,MACrBA,EAAQ,cAAczF,EAA2C;AAEnE;AAAA,EACF;AAEA,EAAIyF,MAAY,WACd5F,EAAW,UAAU,EAAE,GAAGG,EAAA;AAE9B,GApBgD,4CA0B1C2F,KAAgD,gBAAA/F,EAAA,CAACC,MAAuB;AAC5E,MAAI;AACF,UAAM+F,IAAmB,KAAK,MAAM/F,CAAU;AAE9C,WACE,CAACa,EAAqBkF,CAAgB,KACtChF,EAA8BU,GAAwBsE,GAAkB,WAAW,CAAC,IAE7E/F,KAGT6F,GAAwCE,CAAgB,GAEjD,KAAK,UAAUA,CAAgB;AAAA,EACxC,QAAQ;AACN,WAAO/F;AAAA,EACT;AACF,GAjBsD,kDAwBhDgG,KAA4C,gBAAAjG,EAAA,CAChDC,GACAiG,MACG;AACH,QAAMC,IAAoBlG,EAAW,KAAA;AAErC,SAAKkG,IAIDA,EAAkB,WAAW,GAAG,IAC3BJ,GAA8C9F,CAAU,IAG1DiF;AAAA,IACLjF;AAAA,IACAiG,KAAiBvD,EAA6B1C,CAAU;AAAA,EAAA,IATjDA;AAWX,GAlBkD,8CAwB5CmG,KAAqD,gBAAApG,EAAA,CAACC,MAAuB;AACjF,MAAI;AACF,UAAM+F,IAAmB,KAAK,MAAM/F,CAAU;AAE9C,WACE,CAACa,EAAqBkF,CAAgB,KACtC,CAAClB,GAAsCkB,CAAgB,IAEhD/F,KAGT2F,GAA6CI,CAAgB,GAEtD,KAAK,UAAUA,CAAgB;AAAA,EACxC,QAAQ;AACN,WAAO/F;AAAA,EACT;AACF,GAjB2D,uDAwBrDoG,KAAiD,gBAAArG,EAAA,CACrDC,GACAiG,MACG;AACH,QAAMC,IAAoBlG,EAAW,KAAA;AAErC,SAAKkG,IAIDA,EAAkB,WAAW,GAAG,IAC3BC,GAAmDnG,CAAU,IAG/DqF;AAAA,IACLrF;AAAA,IACAiG,KAAiBvD,EAA6B1C,CAAU;AAAA,EAAA,IATjDA;AAWX,GAlBuD,mDAyBjDqG,KAA4C,gBAAAtG,EAAA,CAChDC,GACAsG,MACG;AACH,MAAIA,MAAgB;AAClB,WAAOtG;AAGT,MAAI;AACF,UAAM+F,IAAmB,KAAK,MAAM/F,CAAU;AAE9C,QAAI,CAACa,EAAqBkF,CAAgB;AACxC,aAAO/F;AAGT,UAAMuG,IAAahF,GAA0BwE,CAAgB;AAE7D,WAAIQ,EAAW,KAAK,CAAC/E,MAAQ,iBAAiBA,CAAG,IACxCxB,KAGLuG,EAAW,CAAC,IACdA,EAAW,CAAC,EAAE,cAAcD,IAE5BP,EAAiB,MAAM,EAAE,aAAaO,EAAA,GAGjC,KAAK,UAAUP,CAAgB;AAAA,EACxC,QAAQ;AACN,WAAO/F;AAAA,EACT;AACF,GA/BkD,8CAuC5CwG,KAA2C,gBAAAzG,EAAA,CAC/CC,GACA4C,GACA0D,MACG;AACH,MAAIA,MAAgB,UAAa1D,EAAW,UAAU,gBAAgB;AACpE,WAAO5C;AAGT,QAAMyG,IAAS7D,EAAW;AAE1B,MAAI6D,GAAQ;AACV,UAAMC,IAAaxE,EAA8BuE,EAAO,KAAK,eAAeH,CAAW;AAEvF,WAAO,GAAGtG,EAAW,MAAM,GAAGyG,EAAO,KAAK,CAAC,GAAGC,CAAU,GAAG1G,EAAW;AAAA,MACpEyG,EAAO,QAAQA,EAAO,IAAI;AAAA,IAAA,CAC3B;AAAA,EACH;AAEA,QAAMrE,IAAiBQ,EAAW;AAElC,SAAIR,MAAmB,SACdpC,IAGF,GAAGA,EAAW,MAAM,GAAGoC,CAAc,CAAC;AAAA,sBAAyBkE,CAAW,OAAOtG,EAAW;AAAA,IACjGoC;AAAA,EAAA,CACD;AACH,GA5BiD,6CAmC3CuE,KAAwC,gBAAA5G,EAAA,CAC5CC,GACAsG,MACG;AACH,QAAMJ,IAAoBlG,EAAW,KAAA;AAErC,SAAIsG,MAAgB,UAAa,CAACJ,IACzBlG,IAGLkG,EAAkB,WAAW,GAAG,IAC3BG,GAA0CrG,GAAYsG,CAAW,IAGnEE;AAAA,IACLxG;AAAA,IACA0C,EAA6B1C,CAAU;AAAA,IACvCsG;AAAA,EAAA;AAEJ,GAnB8C,0CAyBxCM,KAAiC,gBAAA7G,EAAA,CAAC8G,MAC/BvG,GAAsC,KAAK,CAACoB,MAAcA,KAAamF,CAAY,GADrD,mCAQjCC,KAAgC,gBAAA/G,EAAA,CAACC,MAAmC;AACxE,QAAM+G,IAAU/G,EAAW,SACrBgH,IAAQhH,EAAW,OACnBiH,IAAiB,MAAM,QAAQF,CAAO,IACxCA,EAAQ,OAAOlG,CAAoB,IACnCA,EAAqBkG,CAAO,IAC1B,CAACA,CAAO,IACR,CAAA,GACAG,IAAsB,MAAM,QAAQF,CAAK,IAC3CA,EAAM;AAAA,IACJ,CAACtB,MACC7E,EAAqB6E,CAAI,KAAKxE,EAAsBwE,EAAK,MAAM,SAAS;AAAA,EAAA,IAE5E7E,EAAqBmG,CAAK,KAAK9F,EAAsB8F,EAAM,MAAM,SAAS,IACxE,CAACA,CAAK,IACN,CAAA;AAEN,SAAO,CAAC,GAAGC,GAAgB,GAAGC,CAAmB;AACnD,GAlBsC,kCAyBhCC,KAAkD,gBAAApH,EAAA,CACtDC,GACAoH,MACG;AACH,MAAI,CAACA;AACH,WAAOpH;AAGT,MAAI;AACF,UAAM+F,IAAmB,KAAK,MAAM/F,CAAU;AAE9C,QAAI,CAACa,EAAqBkF,CAAgB;AACxC,aAAO/F;AAGT,UAAMiH,IAAiBH,GAA8Bf,CAAgB;AAErE,WAAIkB,EAAe,KAAKL,EAA8B,IAC7C5G,KAGLiH,EAAe,CAAC,IAClBA,EAAe,CAAC,EAAE,iBAAiBG,IAEnCrB,EAAiB,UAAU,EAAE,gBAAgBqB,EAAA,GAGxC,KAAK,UAAUrB,CAAgB;AAAA,EACxC,QAAQ;AACN,WAAO/F;AAAA,EACT;AACF,GA/BwD,oDAqClDqH,KAAwC,gBAAAtH,EAAA,CAACuH,MACtChH,GAAsC;AAAA,EAAK,CAACoB,MACjDM,EAA2BsF,GAAY5F,CAAS;AAAA,GAFN,0CAWxC6F,KAAiD,gBAAAxH,EAAA,CACrDC,GACAoH,MACG;AACH,MAAI,CAACA;AACH,WAAOpH;AAGT,QAAMwH,IAAe/G,GAAkC,KAAKT,CAAU;AAEtE,MAAIwH,GAAc;AAChB,UAAMF,IAAaE,EAAa,CAAC;AAEjC,QAAIH,GAAsCC,CAAU;AAClD,aAAOtH;AAGT,UAAMyH,IAAiBpF;AAAA,MACrBiF;AAAAA,MACA;AAAA,MACAF;AAAA,IAAA;AAGF,WAAO,GAAGpH,EAAW,MAAM,GAAGwH,EAAa,KAAK,CAAC,GAAGC,CAAc,GAAGzH,EAAW;AAAA,MAC9EwH,EAAa,QAAQF,EAAW;AAAA,IAAA,CACjC;AAAA,EACH;AAEA,QAAMA,IAAajF;AAAA,IACjB;AAAA,IACA;AAAA,IACA+E;AAAA,EAAA,GAEIM,IAAiBlH,GAAqC,KAAKR,CAAU;AAE3E,MAAI0H;AACF,WAAO,GAAG1H,EAAW,MAAM,GAAG0H,EAAe,KAAK,CAAC,KAAKJ,CAAU;AAAA,EAAKtH,EAAW;AAAA,MAChF0H,EAAe;AAAA,IAAA,CAChB;AAGH,QAAMC,IAAgBpH,GAAoC,KAAKP,CAAU;AAEzE,SAAK2H,IAIE,GAAG3H,EAAW;AAAA,IACnB;AAAA,IACA2H,EAAc,QAAQA,EAAc,CAAC,EAAE;AAAA,EAAA,CACxC;AAAA,IAAOL,CAAU,GAAGtH,EAAW,MAAM2H,EAAc,QAAQA,EAAc,CAAC,EAAE,MAAM,CAAC,KAN3E3H;AAOX,GAnDuD,mDA0DjD4H,KAA8C,gBAAA7H,EAAA,CAClDC,GACAoH,MACG;AACH,QAAMlB,IAAoBlG,EAAW,KAAA;AAErC,SAAI,CAACoH,KAA4B,CAAClB,IACzBlG,IAGLkG,EAAkB,WAAW,GAAG,IAC3BiB;AAAA,IACLnH;AAAA,IACAoH;AAAA,EAAA,IAIGG,GAA+CvH,GAAYoH,CAAwB;AAC5F,GAlBoD,gDAwB9CS,KAA0C,gBAAA9H,EAAA,CAACC,MAAuB;AACtE,MAAI;AACF,UAAM+F,IAAmB,KAAK,MAAM/F,CAAU;AAM9C,WAJI,CAACa,EAAqBkF,CAAgB,KAItC,CAAClB,GAAsCkB,CAAgB,IAClD/F,KAGTyF,GAAkCM,CAAgB,GAE3C,KAAK,UAAUA,CAAgB;AAAA,EACxC,QAAQ;AACN,WAAO/F;AAAA,EACT;AACF,GAlBgD,4CAyB1C8H,KAAsC,gBAAA/H,EAAA,CAC1CC,GACAiG,MACG;AACH,QAAMC,IAAoBlG,EAAW,KAAA;AAErC,SAAKkG,IAIDA,EAAkB,WAAW,GAAG,IAC9B,sBAAsB,KAAKlG,CAAU,IAChCA,IAGF6H,GAAwC7H,CAAU,IAGpDwF;AAAA,IACLxF;AAAA,IACAiG,KAAiBvD,EAA6B1C,CAAU;AAAA,EAAA,IAbjDA;AAeX,GAtB4C,wCA4BtC+H,KAAyC,gBAAAhI,EAAA,CAC7CiI,MACG;AACH,QAAMzF,IAAqC,CAAA;AAE3C,SAAAyF,KAAA,QAAAA,EAAoB,QAAQ,CAACC,MAAc;;AACzC,KAAAhF,IAAAtC,GAAwCsH,CAAS,MAAjD,QAAAhF,EAAoD,QAAQ,CAACnB,MAAkB;AAC7E,MAAAS,EAAWT,CAAa,IAAI;AAAA,IAC9B;AAAA,EACF,IAEOS;AACT,GAZ+C,2CAmBzC2F,KAA4C,gBAAAnI,EAAA,CAChDC,GACAuC,MACG;AACH,MAAI;AACF,UAAMwD,IAAmB,KAAK,MAAM/F,CAAU;AAE9C,QAAI,CAACa,EAAqBkF,CAAgB;AACxC,aAAO/F;AAGT,UAAMmI,IAAapC,EAAiB;AAEpC,QAAI,MAAM,QAAQoC,CAAU,GAAG;AAC7B,YAAMC,IAAkBD,EAAW,KAAKtH,CAAoB;AAE5D,MAAIuH,IACF,OAAO,OAAOA,GAAiB7F,CAAU,IAEzC4F,EAAW,QAAQ,EAAE,GAAG5F,GAAY;AAAA,IAExC,WAAW1B,EAAqBsH,CAAU;AACxC,aAAO,OAAOA,GAAY5F,CAAU;AAAA,aAC3B4F,MAAe;AACxB,MAAApC,EAAiB,aAAaxD;AAAA;AAE9B,aAAOvC;AAGT,WAAO,KAAK,UAAU+F,CAAgB;AAAA,EACxC,QAAQ;AACN,WAAO/F;AAAA,EACT;AACF,GAjCkD,8CAuC5CqI,KAAsC,gBAAAtI,EAAA,CAACwC,MACpCD,GAA4B,kBAAkBC,CAAU,GADrB,wCAStC+F,KAA2C,gBAAAvI,EAAA,CAC/CC,GACAuC,MACG;AACH,QAAMK,IAAaF,EAA6B1C,CAAU;AAE1D,MAAI4C,EAAW,wBAAwB;AACrC,WAAO5C;AAGT,QAAMuI,IAAgB3F,EAAW;AAEjC,MAAI2F,GAAe;AACjB,UAAMC,IAAoBlG,GAA4BiG,EAAc,KAAKhG,CAAU;AAEnF,WAAOiG,MAAsBD,EAAc,MACvCvI,IACA,GAAGA,EAAW,MAAM,GAAGuI,EAAc,KAAK,CAAC,GAAGC,CAAiB,GAAGxI,EAAW;AAAA,MAC3EuI,EAAc,QAAQA,EAAc,IAAI;AAAA,IAAA,CACzC;AAAA,EACP;AAEA,QAAMnG,IAAiBQ,EAAW,mBAAmBA,EAAW;AAEhE,SAAO,GAAG5C,EAAW,MAAM,GAAGoC,CAAc,CAAC;AAAA,IAAOiG;AAAA,IAClD9F;AAAA,EAAA,CACD,GAAGvC,EAAW,MAAMoC,CAAc,CAAC;AACtC,GA3BiD,6CAkC3CqG,KAAwC,gBAAA1I,EAAA,CAC5CC,GACAgI,MACG;AACH,QAAMzF,IAAawF,GAAuCC,CAAkB;AAE5E,MAAI,CAAC,OAAO,KAAKzF,CAAU,EAAE;AAC3B,WAAOvC;AAGT,QAAMkG,IAAoBlG,EAAW,KAAA;AAErC,SAAKkG,IAIDA,EAAkB,WAAW,GAAG,IAC3BgC,GAA0ClI,GAAYuC,CAAU,IAGlE+F,GAAyCtI,GAAYuC,CAAU,IAP7DvC;AAQX,GArB8C,0CA8BxC0I,KAA6B,gBAAA3I,EAAA,CACjCC,GACAgI,GACAZ,GACAd,MACG;AACH,QAAM9B,IAAiBoD;AAAA,IACrBtD;AAAA,MACEqC,GAAsC3G,GAAYsG,CAAW;AAAA,IAAA;AAAA,IAE/Dc;AAAA,EAAA,GAEIlB,IAAoB1B,EAAe,KAAA;AAEzC,MAAI,CAAC0B,KAAqBA,EAAkB,WAAW,GAAG;AACxD,WAAOuC;AAAA,MACLX;AAAA,QACE9B;AAAA,UACEI,GAA+C5B,CAAc;AAAA,QAAA;AAAA,MAC/D;AAAA,MAEFwD;AAAA,IAAA;AAIJ,QAAM/B,IAAgBvD,EAA6B8B,CAAc,GAC3DmE,IAAqCvC;AAAA,IACzC5B;AAAA,IACAyB;AAAA,EAAA,GAEI2C,IACJD,MAAuCnE,IACnCyB,IACAvD,EAA6BiG,CAAkC,GAC/DE,IAAgC7C;AAAA,IACpC2C;AAAA,IACAC;AAAA,EAAA,GAEIE,IACJD,MAAkCF,IAC9BC,IACAlG,EAA6BmG,CAA6B;AAEhE,SAAOJ;AAAA,IACLlD;AAAA,MACEuC;AAAA,QACEe;AAAA,QACAC;AAAA,MAAA;AAAA,MAEFA;AAAA,IAAA;AAAA,IAEFd;AAAA,EAAA;AAEJ,GArDmC,+BA2D7Be,KAA4B,gBAAAhJ,EAAA,CAACiJ,MAAmB;;AACpD,SAAI,OAAO,WAAa,MACf,SAGF/F,IAAA,SAAS,eAAe+F,CAAM,MAA9B,gBAAA/F,EAAiC,QAAQ,IAAIgG,EAA6B,QAAO;AAC1F,GANkC,8BAY5BC,KAA4B,gBAAAnJ,EAAA,CAACoJ,MAAwC;AACzE,MAAInI,GAAqCmI,EAAK,WAAW;AACvD,WAAO;AAGT,MAAIpI,EAA8BoI,EAAK,WAAW;AAChD,WAAO;AAGT,MAAIC,IAAqB,GACrBC,IAAmB;AAcvB,SAZAC,EAAgBH,CAAI,EAAE,QAAQ,CAACI,MAAQ;AACrC,IAAI,CAACC,EAAqBD,CAAG,KAAKxI,EAA8BwI,EAAI,SAAS,MAI7EH,KAAsB,GAElBpI,GAAqCmI,EAAK,WAAWI,CAAG,CAAC,MAC3DF,KAAoB;AAAA,EAExB,CAAC,GAEIA,IAIED,IAAqB,KAAKC,KAAoBD,IACjD,YACA,kBALK;AAMX,GA/BkC,8BAsC5BK,KAAkC,gBAAA1J,EAAA,CAACoJ,GAAaH,MAAmB;AACvE,QAAMU,IAAiBX,GAA0BC,CAAM,GACjDW,IAAqB,CAAC5I,EAA8BoI,EAAK,SAAS,GAClES,IAA0BxI;AAAA,IAC9B+H,EAAK;AAAA,IACLA,EAAK;AAAA,EAAA,GAEDU,IAASV,EAAK;AAOpB,MALAO,KAAA,QAAAA,EAAgB,UAAU;AAAA,IACxBI;AAAA,IACAF;AAAA,KAGE,CAACA;AACH,IAAAF,KAAA,QAAAA,EAAgB,UAAU;AAAA,MACxBK;AAAA,MACAC;AAAA,MACAC;AAAA;AAAA,OAEG;AACL,UAAMC,IAAiBhB,GAA0BC,CAAI;AAErD,IAAAO,KAAA,QAAAA,EAAgB,UAAU;AAAA,MACxBK;AAAA,MACAG,MAAmB;AAAA,OAErBR,KAAA,QAAAA,EAAgB,UAAU;AAAA,MACxBM;AAAA,MACAE,MAAmB;AAAA,OAErBR,KAAA,QAAAA,EAAgB,UAAU;AAAA,MACxBO;AAAA,MACAC,MAAmB;AAAA;AAAA,EAEvB;AAEA,EAAIL,KAAUF,MACZE,EAAO,YAAYD,IAA0B,IAAI;AAErD,GAxCwC,oCA0ClCO,wBAA8C,IAAA,GAO9CC,KAA0C,gBAAArK,EAAA,CAACoJ,GAAaH,MAAmB;AAC/E,MAAI,OAAO,SAAW;AACpB;AAGF,QAAMqB,IAAgBF,EAAwC,IAAInB,CAAM;AAExE,EAAIqB,MAAkB,UACpB,OAAO,aAAaA,CAAa;AAGnC,QAAMC,IAAc,OAAO,WAAW,MAAM;AAC1C,IAAAH,EAAwC,OAAOnB,CAAM,GACrDS,GAAgCN,GAAMH,CAAM;AAAA,EAC9C,GAAG,CAAC;AAEJ,EAAAmB,EAAwC,IAAInB,GAAQsB,CAAW;AACjE,GAjBgD,4CAwB1CC,KAAgC,gBAAAxK,EAAA,CAACoJ,GAAaqB,MAAsB;AACxE,EAAArB,EAAK,YAAYqB;AAEjB,QAAMC,IACJxL,GACEuL,CACF;AAEF,MAAI,CAACC;AACH;AAGF,QAAMC,IAAcvB;AAEpB,EAAAuB,EAAY,YAAZA,EAAY,UAAY,CAAA,IACxBA,EAAY,QAAQ,UAAUD,EAAa,SAC3CC,EAAY,QAAQ,cAAcD,EAAa;AACjD,GAjBsC,kCAmBhCE,KAAsB,gBAAA5K,EAAA,CAAC6K,OACpBA,KAAA,gBAAAA,EAAK,WAAW,cAAYA,KAAA,gBAAAA,EAAK,WAAW,WADzB,wBAItBC,yBAAiC,IAAA,GAEjCC,KAA2B,gBAAA/K,EAAA,CAAC6K,MAAiB;AACjD,MAAI,CAACA,KAAO,CAACA,EAAI,WAAW,OAAO;AACjC,WAAOA;AAGT,QAAMG,IAAYF,GAA2B,IAAID,CAAG;AAEpD,MAAIG;AACF,WAAOA;AAGT,MAAI;AACF,UAAM,CAACC,GAAMC,IAAc,EAAE,IAAIL,EAAI,MAAM,KAAK,CAAC,GAC3CM,IAAQ,4BAA4B,KAAKF,CAAI,GAC7CG,KAAWD,KAAA,gBAAAA,EAAQ,OAAM,4BACzBE,IAAcF,KAAA,QAAAA,EAAQ,KAAK,KAAKD,CAAW,IAAI,mBAAmBA,CAAW,GAC7EI,IAAQ,IAAI,WAAWD,EAAY,MAAM;AAE/C,aAASE,IAAQ,GAAGA,IAAQF,EAAY,QAAQE,KAAS;AACvD,MAAAD,EAAMC,CAAK,IAAIF,EAAY,WAAWE,CAAK;AAG7C,UAAMC,IAAU,IAAI,gBAAgB,IAAI,KAAK,CAACF,CAAK,GAAG,EAAE,MAAMF,EAAA,CAAU,CAAC;AAEzE,WAAAN,GAA2B,IAAID,GAAKW,CAAO,GAEpCA;AAAA,EACT,QAAQ;AACN,WAAOX;AAAA,EACT;AACF,GA9BiC,6BAgC3BY,KAAqB,gBAAAzL,EAAA,CAAC6K,MAAgB;AAC1C,MAAI,CAACA,KAAOD,GAAoBC,CAAG;AACjC,WAAOE,GAAyBF,CAAG;AAGrC,QAAMa,IAAYb,EAAI,QAAQ,GAAG,GAC3B,CAACc,GAASC,CAAY,IAC1BF,KAAa,IAAI,CAACb,EAAI,MAAM,GAAGa,CAAS,GAAGb,EAAI,MAAMa,CAAS,CAAC,IAAI,CAACb,GAAK,EAAE,GACvEgB,IAAiBF,EAAQ,SAAS,GAAG,IAAI,MAAM;AAErD,SAAO,GAAGA,CAAO,GAAGE,CAAc,WAAW,KAAK,IAAA,CAAK,GAAGD,CAAY;AACxE,GAX2B,uBA2BrBE,KAA8B,gBAAA9L,EAAA,CAClCoJ,GACAI,GACAuC,MACG;AACH,MAAI,CAAC3C;AACH;AAGF,QAAM4C,IAAUD,EAAQ,SAClBE,IAAkBF,EAAQ,mBAAmB,CAAA,GAC7CG,IAAkBH,EAAQ,iBAC1BI,IAAmBJ,EAAQ,oBAAoB,CAAA,GAC/CK,IAA2BL,EAAQ;AAEzC,MAAI,EAAAC,MAAY,UAAaE,MAAoB,UAAa,CAACC,EAAiB,SAIhF;AAAA,IAAI,OAAO/C,EAAK,eAAgB,cAC9BA,EAAK,YAAA;AAGP,QAAI;AAKF,UAJI4C,MAAY,WACdxC,EAAI,UAAUwC,IAGZE,MAAoB,QAAW;AACjC,cAAMG,IAAY7C;AAElB,QAAAyC,EAAgB,QAAQ,CAACK,MAAQ;;AAC/B,UAAI,CAACA,KAAO,GAACpJ,IAAAkG,EAAK,SAAL,QAAAlG,EAAYoJ,QAIzBD,EAAU,GAAGC,CAAG,SAAS,IAAIJ;AAAA,QAC/B,CAAC;AAAA,MACH;AAEA,MAAAC,EAAiB,QAAQ,CAACG,MAAQ;AAChC,QAAKA,MAILlD,EAAK;AAAA,UACHI;AAAA,UACA,GAAG8C,CAAG;AAAA,UACNF,IAA2BvM,KAA8B;AAAA,UACzD;AAAA,QAAA,GAEFuJ,EAAK,SAASI,GAAK,GAAG8C,CAAG,SAASF,KAA4B,IAAI,CAAC;AAAA,MACrE,CAAC;AAAA,IACH,UAAA;AACE,MAAI,OAAOhD,EAAK,aAAc,cAC5BA,EAAK,UAAA;AAAA,IAET;AAEA,IAAI,OAAOA,EAAK,cAAe,cAC7BA,EAAK,WAAWI,CAAG;AAAA;AAEvB,GA9DoC,gCAgE9B+C,KAAyB,gBAAAvM,EAAA,CAACwM,MACzBA,IAID5B,GAAoB4B,CAAO,KAAKA,EAAQ,SAAS,QAAQ,IACpDf,GAAmBe,CAAO,IAI5Bf,GAAmB,aAAwCe,CAAO,EAAE,IARlE,IAFoB,2BAazBC,KAAwB,gBAAAzM,EAAA,CAAKe,OAE9B,OAAOA,KAAU,YAAY,OAAOA,KAAU,eAC/CA,MAAU,QACV,OAAQA,EAAyB,QAAS,YAJhB,0BAexB2L,KAAuC,gBAAA1M,EAAA,CAC3CoJ,GACAI,GACAmD,GACAC,MACG;AACH,MAAI,GAACxD,KAAQuD,MAAW,WAIxB;AAAA,QAAIA,MAAW,UAAU;AACvB,MAAAvD,EAAK,UAAUI,CAAG,GAClBoD,EAAuBxD,CAAI;AAC3B;AAAA,IACF;AAEA,IAAAA,EAAK,WAAWI,GAAK,CAAC;AAAA;AACxB,GAjB6C,yCAmBvCqD,KAA0B,gBAAA7M,EAAA,CAC9B8M,GACAN,GACAO,MAEID,IACK,EAAE,KAAKP,GAAuBC,CAAO,EAAA,IAGvC,EAAE,MAAM,EAAE,MAAM,CAACQ,GAAQD,CAAQ,IAAI,CAAA,IAAKA,CAAQ,IAAE,GAT7B,4BAgBnBE,KAAqC,gBAAAjN,EAAA,CAAK;AAAA,EACrD,IAAAkN;AAAA,EACA,WAAAC;AAAA,EACA,YAAAlN;AAAA,EACA,0BAAAoH;AAAA,EACA,aAAAd;AAAA,EACA,oBAAA0B;AAAA,EACA,SAAAuE;AAAA,EACA,UAAAO;AAAA,EACA,YAAAD;AAAA,EACA,OAAAM;AAAA,EACA,QAAAC;AAAA,EACA,YAAAC;AACF,OACS;AAAA,EACL,IAAAJ;AAAA,EACA,QAAQjN,IACJ;AAAA,IACE,MAAM0I;AAAA,MACJ1I;AAAA,MACAgI;AAAA,MACAZ;AAAA,MACAd;AAAA,IAAA;AAAA,EACF,IAEF,EAAE,KAAKkF,GAAmB0B,KAAa,EAAE,EAAA;AAAA,EAC7C,MAAMN,GAAwBC,GAAYN,GAASO,CAAQ;AAAA,EAC3D,MAAM;AAAA,IACJ,KAAKQ,GAA2BD,CAAU;AAAA,EAAA;AAAA,EAE5C,OAAAF;AAAA,EACA,QAAAC;AAAA,EACA,OAAO;AAAA,IAhCuC,uCAoC5CG,KAAsB,gBAAAxN,EAAA,CAACoJ,MACpBqE,GAAIrE,GAAM,uBAAuB,GADd,wBAUtBsE,KAA8B,gBAAA1N,EAAA,CAACe,MAAmB;AACtD,MAAI,OAAOA,KAAU;AACnB,WAAO,OAAO,SAASA,CAAK,KAAKA,IAAQ,IAAIA,IAAQ;AAGvD,MAAI,OAAOA,KAAU;AACnB;AAGF,QAAM4M,IAAe5M,EAAM,KAAA;AAE3B,MAAI,CAAC4M;AACH;AAGF,QAAMC,IAAe,OAAOD,CAAY;AAExC,SAAO,OAAO,SAASC,CAAY,KAAKA,IAAe,IAAIA,IAAe;AAC5E,GAlBoC,gCA2B9BC,KAAqC,gBAAA7N,EAAA,CACzCoJ,GACAI,GACA8C,GACAvK,MACG;AACH,MAAI,CAACyH,KAAO,CAAC8C;AACX;AAGF,QAAMlK,IAAiBgH,EAAK,aAAaI,GAAK8C,GAAKvK,CAAa,GAC1D+L,IAAyBJ,GAA4BtL,CAAc;AAEzE,SAAI0L,MAA2B,SACtBA,IAGFJ;AAAA,IACJlE,EAA2C,GAAG8C,CAAG,GAAGvK,CAAa,EAAE;AAAA,EAAA;AAExE,GApB2C,uCA4BrCgM,KAA4B,gBAAA/N,EAAA,CAACoJ,GAAaI,GAA8B8C,MACxE,CAAC9C,KAAO,CAAC8C,KAAO9C,EAAI,UAAU,WAIlBqE,GAAmCzE,GAAMI,GAAK8C,GAAK,MAAM,KAAK,MAE/D,IACN,MAGOuB,GAAmCzE,GAAMI,GAAK8C,GAAK,SAAS,KAAK,OAE9D,GAba,8BAsB5B0B,KAAyC,gBAAAhO,EAAA,CAC7CiO,GACAzE,GACA8C,MACG;AACH,QAAM4B,IAAaD,EAAQ,IAAIzE,CAAG;AAElC,MAAI0E,GAAY;AACd,IAAAA,EAAW,IAAI5B,CAAG;AAClB;AAAA,EACF;AAEA,EAAA2B,EAAQ,IAAIzE,GAAK,oBAAI,IAAI,CAAC8C,CAAG,CAAC,CAAC;AACjC,GAb+C,2CAsBzC6B,KAA0C,gBAAAnO,EAAA,CAC9CoJ,GACAgF,GACAC,GACAC,MACG;AACH,QAAML,wBAAc,IAAA;AAEpB,SAAAG,EAAW,QAAQ,CAAC5E,GAAK+E,MAAa;AACpC,IAAAF,EAAK,QAAQ,CAAC/B,GAAKkC,MAAa;AAO9B,UANI,CAACT,GAA0B3E,GAAMI,GAAK8C,CAAG,MAI7C0B,GAAuCC,GAASzE,GAAK8C,CAAG,GAEpD,CAACgC;AACH;AAGF,YAAMG,IAAU,KAAK,MAAMZ,GAAmCzE,GAAMI,GAAK8C,GAAK,MAAM,KAAK,CAAC,GACpFoC,IAAmB,KAAK,IAAIL,EAAK,QAAQG,IAAWC,CAAO;AAEjE,eAASE,IAAgBJ,IAAW,GAAGI,IAAgBP,EAAW,QAAQO,KAAiB,GAAG;AAC5F,cAAMC,IAAWR,EAAWO,CAAa;AAEzC,iBAASE,IAAgBL,GAAUK,IAAgBH,GAAkBG,KAAiB;AACpF,UAAAb,GAAuCC,GAASW,GAAUP,EAAKQ,CAAa,CAAC;AAAA,MAEjF;AAAA,IACF,CAAC;AAAA,EACH,CAAC,GAEMZ;AACT,GAlCgD,4CA2C1Ca,KAAwC,gBAAA9O,EAAA,CAC5CoJ,GACAI,GACA8C,GACAgC,MACG;;AACH,MAAI,CAAC9E,KAAO,CAAC8C,KAAO9C,EAAI,UAAU;AAChC,WAAO;AAGT,QAAM4E,IACJ,OAAOhF,EAAK,gBAAiB,aACzBA,EAAK,aAAA,EAAe,OAAO,CAAC2F,MAAaA,EAAS,UAAU,MAAM,IAClE,CAAA,GACAV,IAAO,OAAOjF,EAAK,WAAY,aAAaA,EAAK,QAAA,IAAY,CAAA;AAEnE,SAAI,CAACgF,EAAW,UAAU,CAACC,EAAK,SACvB,OAIPnL,IAAAiL;AAAA,IACE/E;AAAA,IACAgF;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,EAEC,IAAI9E,CAAG,MANV,gBAAAtG,EAOI,IAAIoJ,QAAS;AAErB,GA9B8C,0CAuCxC0C,KAA+C,gBAAAhP,EAAA,CACnDoJ,GACAH,GACAgG,IAAc,IACdX,IAA0B,OACvB;AACH,QAAMY,IACJ,OAAO,cAAgB,MAAc,YAAY,IAAA,IAAQ,KAAK,IAAA,GAC1Dd,IACJ,OAAOhF,EAAK,gBAAiB,aACzBA,EAAK,aAAA,EAAe,OAAO,CAACI,MAAQA,EAAI,UAAU,MAAM,IACxD,CAAA,GACA6E,IAAO,OAAOjF,EAAK,WAAY,aAAaA,EAAK,QAAA,IAAY,CAAA;AAEnE,MAAI,CAACgF,EAAW,UAAU,CAACC,EAAK;AAC9B;AAGF,QAAMc,wBAAkB,IAAA;AACxB,MAAIC,IAAmB;AACvB,QAAMnB,IAAUE;AAAA,IACd/E;AAAA,IACAgF;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA;AAGF,MAAKL,EAAQ,MAIb;AAAA,IAAI,OAAO7E,EAAK,eAAgB,cAC9BA,EAAK,YAAA;AAGP,QAAI;AACF,MAAA6E,EAAQ,QAAQ,CAACC,GAAY1E,MAAQ;AACnC,QAAA0E,EAAW,QAAQ,CAAC5B,MAAQ;AAC1B,UAAIlD,EAAK,aAAaI,GAAK8C,GAAK5M,EAAuC,MAAM,OAI7E0J,EAAK,aAAaI,GAAK8C,GAAK5M,IAAyC,IAAI,GAAG,CAAC,GAC7EyP,EAAY,IAAI3F,CAAG,GACnB4F,KAAoB;AAAA,QACtB,CAAC;AAAA,MACH,CAAC;AAAA,IACH,UAAA;AACE,MAAI,OAAOhG,EAAK,aAAc,cAC5BA,EAAK,UAAA;AAAA,IAET;AAEA,IAAK+F,EAAY,SAIbF,KACFE,EAAY,QAAQ,CAAC3F,MAAQ;AAC3B,MAAI,OAAOJ,EAAK,cAAe,cAC7BA,EAAK,WAAWI,CAAG;AAAA,IAEvB,CAAC,GAGH6F,GAAkBpG,GAAQ,qCAAqC,GAC/DqG,GAAoBrG,GAAQ,uCAAuCiG,GAAgB;AAAA,MACjF,kBAAAE;AAAA,MACA,iBAAiBD,EAAY;AAAA,IAAA,CAC9B;AAAA;AACH,GAtEqD,iDA4ExCI,KAA2B,gBAAAvP,EAAA,CAAK+M,MACpC,MAAM,QAAQA,CAAQ,IAAIA,EAAS,SAAS,GADb,6BAIlCyC,KAAuB,gBAAAxP,EAAA,CAACwJ,MAAiC;AAC7D,QAAMiG,IAAWjG,KAAA,gBAAAA,EAAsC;AAEvD,SAAO,CAAC,CAACA,KAAOiG,MAAY,KAAKA,MAAY,MAASA,MAAY;AACpE,GAJ6B,yBAUvBC,IAAqB,gBAAA1P,EAAA,CAACwJ,MAAiC;AAC3D,QAAMmG,IAASnG,KAAA,gBAAAA,EAAoC;AAEnD,SAAO,CAAC,CAACA,KAAOmG,MAAU,KAAKA,MAAU,MAASA,MAAU,OAAOA,MAAU;AAC/E,GAJ2B,uBAUrBC,KAAuB,gBAAA5P,EAAA,CAACwJ,MAAiC;AAC7D,QAAMqG,IAAWrG,KAAA,gBAAAA,EAAsC;AAEvD,SAAO,CAAC,CAACA,KAAOqG,MAAY,KAAKA,MAAY,MAASA,MAAY,OAAOA,MAAY;AACvF,GAJ6B,yBAUvBpG,IAAuB,gBAAAzJ,EAAA,CAACwJ,MACxB,CAACA,KAAOA,EAAI,UAAU,UAAU,CAACgG,GAAqBhG,CAAG,IACpD,KAGFA,EAAI,SAAS,UAAUkG,EAAmBlG,CAAG,GALzB,yBAQvBsG,IAAyB,gBAAA9P,EAAA,CAACoJ,MAAgB,OAAO,KAAKA,EAAK,QAAQ,CAAA,CAAE,EAAE,OAAO,OAAO,GAA5D,2BAOzB2G,KAA0B,gBAAA/P,EAAA,CAACoJ,GAAakD,MAAgB;;AAC5D,QAAM0D,KAAS9M,IAAAkG,EAAK,SAAL,gBAAAlG,EAAYoJ;AAE3B,SACE,CAAC,CAAC0D,KACF,CAAChP,EAA8BgP,EAAO,OAAO,KAC7C,CAAC9O,GAAoC8O,EAAO,MAAM;AAEtD,GARgC,4BAe1BC,IAAkC,gBAAAjQ,EAAA,CAACe,GAAgBmP,MAChD,OAAOnP,KAAU,YAAY,OAAO,SAASA,CAAK,IAAIA,IAAQmP,GAD/B,oCAQlCC,KAAqC,gBAAAnQ,EAAA,CAACoJ,MAAiD;AAC3F,QAAMgH,IAAevP,EAAqC,IAAIuI,CAAI;AAElE,MAAIgH;AACF,WAAOA;AAGT,QAAMC,IAAoB,IAAI;AAAA,IAC5BP,EAAuB1G,CAAI,EAAE,IAAI,CAACkH,GAAY/E,MAAU,CAAC+E,GAAY/E,CAAK,CAAC;AAAA,EAAA,GAEvEgF,IAAU,CAAC,GAAGF,EAAkB,KAAA,CAAM,EACzC;AAAA,IACC,CAACC,MACC,CAAC3Q,GAAmC,IAAI2Q,CAAU,KAClDP,GAAwB3G,GAAMkH,CAAU;AAAA,EAAA,EAE3C,KAAK,CAACE,GAAaC,MAAgB;;AAClC,UAAMC,KAAUxN,IAAAkG,EAAK,SAAL,gBAAAlG,EAAYsN,IACtBG,KAAUC,IAAAxH,EAAK,SAAL,gBAAAwH,EAAYH,IACtBI,IAASR,EAAkB,IAAIG,CAAW,KAAK,GAC/CM,IAAST,EAAkB,IAAII,CAAW,KAAK,GAC/CM,IACJd,EAAgCS,KAAA,gBAAAA,EAAS,KAAKG,CAAM,IACpDZ,EAAgCU,KAAA,gBAAAA,EAAS,KAAKG,CAAM;AAEtD,WAAIC,MAAgB,IACXA,IAIPd,EAAgCS,KAAA,gBAAAA,EAAS,KAAKG,CAAM,IACpDZ,EAAgCU,KAAA,gBAAAA,EAAS,KAAKG,CAAM,KAE/BD,IAASC;AAAA,EAClC,CAAC,GACGE,IAAe;AAAA,IACnB,WAAW,IAAI,IAAIT,CAAO;AAAA,IAC1B,aAAaA,EAAQ,CAAC;AAAA,IACtB,YAAYA,EAAQA,EAAQ,SAAS,CAAC;AAAA,EAAA;AAGxC,SAAA1P,EAAqC,IAAIuI,GAAM4H,CAAY,GAEpDA;AACT,GA5C2C,uCAkDrCC,IAAuC,gBAAAjR,EAAA,CAACoJ,MAAmC;AAC/E,EAAIA,KACFvI,EAAqC,OAAOuI,CAAI;AAEpD,GAJ6C,yCAMvCG,IAAkB,gBAAAvJ,EAAA,CAACoJ,MAAgB;AACvC,MAAI,OAAOA,EAAK,YAAa,cAAc,OAAOA,EAAK,WAAY,YAAY;AAC7E,UAAM8H,IAAe,CAAA;AACrB,QAAI1H,IAAMJ,EAAK,SAAA;AAEf,WAAOI;AACL,MAAA0H,EAAK,KAAK1H,CAAG,GACbA,IAAMJ,EAAK,QAAQI,CAAG;AAGxB,WAAO0H;AAAA,EACT;AAEA,SAAO,OAAO,OAAO9H,EAAK,QAAQ,CAAA,CAAE;AACtC,GAdwB,oBAgBlB+H,yBAA4C,QAAA,GAM5CC,IAA4C,gBAAApR,EAAA,CAACoJ,MAAmC;AACpF,EAAIA,KACF+H,GAAsC,OAAO/H,CAAI;AAErD,GAJkD,8CAW5CiI,KAA0B,gBAAArR,EAAA,CAACwJ,GAA8B8C,MAAgB;AAC7E,QAAMD,IAAY7C,GACZ8H,IAAejF,KAAA,gBAAAA,EAAY,GAAGC,CAAG,YACjCiF,IACJ,OAAOD,KAAiB,WACpBA,IACA,OAAO,WAAW,OAAOA,KAAgB,EAAE,CAAC;AAElD,SAAO,OAAO,SAASC,CAAO,KAAKA,IAAU,IAAI,KAAK,MAAMA,CAAO,IAAI;AACzE,GATgC,4BAe1BC,KAA6C,gBAAAxR,EAAA,CAACoJ,MAAgB;AAClE,QAAMqI,wBAAmB,QAAA;AACzB,MAAIC,IAAyB,MACzBC,IAAiB;AAErB,SAAApI,EAAgBH,CAAI,EAAE,QAAQ,CAACI,GAAK+B,MAAU;AAC5C,QAAI,CAAC9B,EAAqBD,CAAG,GAAG;AAC9B,MAAAiI,EAAa,IAAIjI,GAAK,IAAI;AAC1B;AAAA,IACF;AAEA,UAAM+H,IAAUF,GAAwB7H,GAAKlJ,EAAmC;AAEhF,QAAIiR,IAAU,GAAG;AACf,MAAAG,IAAYlI,GACZmI,IAAiBpG,IAAQgG,IAAU,GACnCE,EAAa,IAAIjI,GAAKA,CAAG;AACzB;AAAA,IACF;AAEA,IAAAiI,EAAa,IAAIjI,GAAKkI,KAAanG,KAASoG,IAAiBD,IAAY,IAAI,GAEzEnG,KAASoG,MACXD,IAAY,MACZC,IAAiB;AAAA,EAErB,CAAC,GAEMF;AACT,GA7BmD,+CAoC7CG,KAAuC,gBAAA5R,EAAA,CAC3CoJ,GACAI,MACG;AACH,MAAI,CAACA,KAAO,CAACC,EAAqBD,CAAG;AACnC,WAAO;AAGT,MAAIiI,IAAeN,GAAsC,IAAI/H,CAAI;AAEjE,SAAKqI,KAAA,QAAAA,EAAc,IAAIjI,OACrBiI,IAAeD,GAA2CpI,CAAI,GAC9D+H,GAAsC,IAAI/H,GAAMqI,CAAY,IAGvDA,EAAa,IAAIjI,CAAG,KAAK;AAClC,GAhB6C,yCAuBvCqI,KAAkC,gBAAA7R,EAAA,CAACoJ,GAAaI,MAAiC;AACrF,QAAMkI,IAAYE,GAAqCxI,GAAMI,CAAG;AAEhE,MAAI,CAACkI;AACH,WAAO,CAAA;AAGT,QAAMH,IAAUF,GAAwBK,GAAWpR,EAAmC,GAChF4Q,IAAe,CAAA;AACrB,MAAIY,IAA0BJ;AAE9B,WAASK,IAAY,GAAGD,KAAcC,IAAYR,GAASQ,KAAa;AACtE,IAAItI,EAAqBqI,CAAU,KACjCZ,EAAK,KAAKY,CAAU,GAGtBA,IACE,OAAO1I,EAAK,WAAY,aAAaA,EAAK,QAAQ0I,CAAU,IAAI;AAGpE,SAAOZ;AACT,GArBwC,oCA2BlCc,KAAiC,gBAAAhS,EAAA,CAACoJ,MAAgB;AACtD,QAAM6I,wBAAiB,IAAA;AAEvB,UAAC7I,EAAK,WAAA,KAAgB,CAAA,GAAI,QAAQ,CAAC8I,MAAgB;AACjD,IAAAL,GAAgCzI,GAAM8I,CAAW,EAAE,QAAQ,CAACC,MAAc;AACxE,MAAAF,EAAW,IAAIE,CAAS;AAAA,IAC1B,CAAC;AAAA,EACH,CAAC,GAEM,CAAC,GAAGF,CAAU;AACvB,GAVuC,mCAiB1BG,KAAiC,gBAAApS,EAAA,CAC5CoJ,GACAiJ,MACG;AACH,MAAI,CAACjJ;AACH;AAGF,QAAMiF,IAAOyB,EAAuB1G,CAAI;AAExC,EAAAG,EAAgBH,CAAI,EAAE,QAAQ,CAACI,MAAQ;AACrC,IAAKC,EAAqBD,CAAG,KAI7B6I,EAAY;AAAA,MACV7I;AAAA,MACA,IAAI,IAAI6E,EAAK,IAAI,CAAC/B,MAAQ,CAACA,GAAKgG,GAA+BlJ,GAAMI,GAAK8C,CAAG,CAAC,CAAC,CAAC;AAAA,IAAA;AAAA,EAEpF,CAAC;AACH,GApB8C,mCAsBxCiG,KAAwB,gBAAAvS,EAAA,CAACe,MAE7BA,KAAU,QACVA,MAAU,MACVA,MAAU,KACVA,MAAU,MACVA,MAAU,KANkB,0BAQxByR,KAA+B,gBAAAxS,EAAA,CAACoJ,GAAaI,GAAW8C,MAAgB;AAC5E,QAAMD,IAAY7C;AAElB,SAAOsG,EAAuB1G,CAAI,EAAE,KAAK,CAAC4G,MACjCA,MAAW1D,KAAOiG,GAAsBlG,EAAU,GAAG2D,CAAM,SAAS,CAAC,CAC7E;AACH,GANqC,iCAc/ByC,KAAgC,gBAAAzS,EAAA,CAACoJ,GAAaI,GAAW8C,MAAgB;AAC7E,QAAMD,IAAY7C;AAElB,EAAA6C,EAAU,GAAGC,CAAG,SAAS,IAAI,GAG3B,CAACoD,EAAmBlG,CAAG,KACvB,CAACkJ,EAAuBlJ,CAAG,KAC3B,CAACgJ,GAA6BpJ,GAAMI,GAAK8C,CAAG,MAE5CD,EAAU,UAAU;AAExB,GAZsC,kCAchCsG,KAAmC,gBAAA3S,EAAA,CACvCqS,GACA7I,GACA8C,MACG;AACH,QAAMsG,IAAiBP,EAAY,IAAI7I,CAAG;AAE1C,MAAIoJ,KAAA,QAAAA,EAAgB,IAAItG;AACtB,WAAOsG,EAAe,IAAItG,CAAG;AAIjC,GAZyC,qCAuBnCuG,KAA2C,gBAAA7S,EAAA,CAAC;AAAA,EAChD,QAAAiJ;AAAA,EACA,MAAAG;AAAA,EACA,KAAAI;AAAA,EACA,KAAA8C;AAAA,EACA,iBAAAwG;AAAA,EACA,kBAAAC;AACF,MAOM;AACJ,MAAI,CAACrD,EAAmBlG,CAAG,KAAK,CAACkJ,EAAuBlJ,CAAG;AACzD,WAAO;AAGT,MAAIJ,EAAK,QAAQI,GAAK8C,CAAG,MAAM;AAC7B,WAAO;AAGT,QAAM0G,IAAgBC,GAAiCzJ,GAAK8C,CAAG,GACzD4G,IAAoBC,EAAoC3J,CAAG,EAAE,SAAS8C,CAAG;AAE/E,SAAI0G,MAAkB,SACb,KAGYV,GAA+BlJ,GAAMI,GAAK8C,CAAG,MAE7C0G,KACnBI,GAAsC5J,GAAK8C,CAAG,GAC1C4G,KACFG,GAA+BpK,GAAQ,EAAE,KAAAO,GAAK,KAAA8C,EAAA,CAAK,GAErDmG,GAA8BrJ,GAAMI,GAAK8C,CAAG,GACrC,OAGTgH,GAAsC9J,GAAK8C,CAAG,GAC9CiH,GAA0BtK,GAAQ;AAAA,IAChC,KAAAO;AAAA,IACA,KAAA8C;AAAA,IACA,iBAAAwG;AAAA,IACA,SAASC;AAAA,EAAA,CACV,GAEM;AACT,GAlDiD,6CA8DpCS,KAAmC,gBAAAxT,EAAA,CAAC;AAAA,EAC/C,QAAAiJ;AAAA,EACA,MAAAG;AAAA,EACA,KAAAI;AAAA,EACA,KAAA8C;AAAA,EACA,iBAAAwG;AAAA,EACA,aAAAT;AAAA,EACA,kBAAAU;AACF,MAQM;AAKJ,MAJI,CAACtJ,EAAqBD,CAAG,KAK3BqJ,GAAyC;AAAA,IACvC,QAAA5J;AAAA,IACA,MAAAG;AAAA,IACA,KAAAI;AAAA,IACA,KAAA8C;AAAA,IACA,iBAAAwG;AAAA,IACA,kBAAAC;AAAA,EAAA,CACD;AAED;AAGF,QAAMC,IAAgBL,GAAiCN,GAAa7I,GAAK8C,CAAG,GACtEmH,IAAenB,GAA+BlJ,GAAMI,GAAK8C,CAAG;AAElE,MAAI0G,MAAkB,UAAaS,MAAiBT,GAAe;AACjE,IAAAK,GAA+BpK,GAAQ,EAAE,KAAAO,GAAK,KAAA8C,EAAA,CAAK,GACnDmG,GAA8BrJ,GAAMI,GAAK8C,CAAG;AAC5C;AAAA,EACF;AAEA,EAAAiH,GAA0BtK,GAAQ;AAAA,IAChC,KAAAO;AAAA,IACA,KAAA8C;AAAA,IACA,iBAAAwG;AAAA,IACA,SAASC;AAAA,EAAA,CACV;AACH,GAjDgD,qCAyD1CW,KAAyB,gBAAA1T,EAAA,CAACoJ,GAAaI,GAA8B8C,MACrE,CAAC9C,KAAO,CAAC8C,KAAO,CAAC7C,EAAqBD,CAAG,IACpC,KAGFJ,EAAK,QAAQI,GAAK8C,CAAG,MAAM,GALL,2BAczBqH,KAA+B,gBAAA3T,EAAA,CAACoJ,GAAaI,GAAW8C,MAAgB;AAC5E,QAAMsH,IAAQxK,EAAK,aAAaI,GAAK8C,GAAK,OAAO;AAEjD,MAAI,OAAOsH,KAAU;AACnB,WAAOC,GAAsBD,CAAK;AAGpC,MAAI,OAAOA,KAAU;AAGnB,WAFqBA,EAAM,KAAA,KAEJ;AAI3B,GAdqC,iCAsB/BE,KAA+B,gBAAA9T,EAAA,CAACoJ,GAAaI,GAAW8C,MACrDqH,GAA6BvK,GAAMI,GAAK8C,CAAG,MAAM,QADrB,iCAK/ByH,KAA6B,gBAAA/T,EAAA,CAACoJ,GAAaI,GAA8B8C,MAAgB;AAC7F,MAAI,CAAC9C,KAAO,CAAC8C,KAAO,CAAC7C,EAAqBD,CAAG;AAC3C,WAAO;AAGT,QAAMwK,IACJ,OAAO5K,EAAK,aAAc,aACtBA,EAAK,UAAUI,GAAK8C,CAAG,IACvBlD,EAAK,SAASI,KAAOJ,EAAK,SAASkD;AAEzC,SAAO0H,MAAY,KAAKA,MAAY,MAASA,MAAY,UAAaA,MAAY;AACpF,GAXmC,+BAc7BC,IAA8B,gBAAAjU,EAAA,CAACoJ,GAAaI,GAA8B8C,MAAgB;AAC9F,MAAI,CAAC9C,KAAO,CAAC8C,KAAO,CAAC7C,EAAqBD,CAAG;AAC3C,WAAO;AAGT,QAAM0K,IAAW9K,EAAK,WAAWI,GAAK8C,CAAG;AAEzC,MAAI4H,MAAa,KAAKA,MAAa,MAASA,MAAa,UAAaA,MAAa;AACjF,WAAO;AAGT,QAAMxC,IAAYE,GAAqCxI,GAAMI,CAAG;AAEhE,MAAI,CAACkI,KAAaA,MAAclI;AAC9B,WAAO;AAGT,QAAM2K,IAAiB/K,EAAK,WAAWsI,GAAWpF,CAAG;AAErD,SACE6H,MAAmB,KACnBA,MAAmB,MACnBA,MAAmB,UACnBA,MAAmB;AAEvB,GAzBoC,gCA+B9BC,KAAqC,gBAAApU,EAAA,CAACqU,MAAsB;AAChE,MAAI,CAACzU,GAAoC;AACvC,WAAO;AAGT,QAAM0U,IAAcD,EAAU,MAAM,KAAK,EAAE,OAAO,OAAO;AAEzD,SAAOzU,GAAoC;AAAA,IAAM,CAAC2U,MAChDD,EAAY,SAASC,CAAU;AAAA,EAAA;AAEnC,GAV2C,uCAgBrCC,KAAgD,gBAAAxU,EAAA,CAACqU,MAAsB;AAC3E,MACE,GAACA,KACDA,EAAU,MAAM,KAAK,EAAE,SAASI,EAAqC,KACrE,CAACL,GAAmCC,CAAS;AAK/C,WAAO,GAAGA,CAAS,IAAII,EAAqC;AAC9D,GAVsD,kDAgBhDC,KAA0C,gBAAA1U,EAAA,CAACwJ,MAC3C,CAACA,KAAO,CAACC,EAAqBD,CAAG,IAC5B,KAGF,OAAO,QAAQA,CAAyC,EAAE,KAAK,CAAC,CAACmL,GAAK5T,CAAK,MAE9E4T,EAAI,SAAS,OAAO,KACpB,OAAO5T,KAAU,YACjBqT,GAAmCrT,CAAK,CAE3C,GAX6C,4CAmB1C6T,KAA+C,gBAAA5U,EAAA,CACnDoJ,GACAI,MACG;AACH,MACE,CAACA,KACD,CAACkL,GAAwClL,CAAG,KAC5C,OAAOJ,EAAK,cAAe;AAE3B;AAGF,QAAM+I,IAAY3I;AAElB,SAAO,WAAW,MAAM;AACtB,IAAAJ,EAAK,WAAW+I,CAAS;AAAA,EAC3B,GAAG,CAAC;AACN,GAjBqD,iDAwB/C0C,IAA8B,gBAAA7U,EAAA,CAACoJ,GAAa8H,MAA0B;AAC1E,MAAI,CAACA,EAAK,UAAU,OAAO,SAAW,OAAe,OAAO9H,EAAK,cAAe;AAC9E;AAGF,QAAM6I,IAAa,CAAC,GAAG,IAAI,IAAIf,CAAI,CAAC;AAEpC,SAAO,WAAW,MAAM;AACtB,IAAAe,EAAW,QAAQ,CAACE,MAAc;AAChC,MAAA/I,EAAK,WAAW+I,CAAS;AAAA,IAC3B,CAAC;AAAA,EACH,GAAG,CAAC;AACN,GAZoC,gCAmB9B2C,KAA0C,gBAAA9U,EAAA,CAC9CoJ,GACAI,MACG;AACH,MAAI,CAACA;AACH;AAGF,QAAMyI,IAAaJ,GAAgCzI,GAAMI,CAAG;AAE5D,EAAIyI,EAAW,UAAU,KAIzB4C,EAA4BzL,GAAM6I,CAAU;AAC9C,GAfgD,4CAqB1C8C,KAA6C,gBAAA/U,EAAA,CAACoJ,MAAgB;AAClE,QAAM6I,IAAa1I,EAAgBH,CAAI,EAAE,OAAO,CAACI,MACxCC,EAAqBD,CAAG,KAAKoI,GAAqCxI,GAAMI,CAAG,CACnF;AAED,EAAAqL,EAA4BzL,GAAM6I,CAAU;AAC9C,GANmD,+CAc7C+C,KAAsC,gBAAAhV,EAAA,CAC1CoJ,GACAI,GACA8C,GACA2I,MACG;AACH,MACE,GAACzL,KACDyL,MAAqC,UACrC,CAACvB,GAAuBtK,GAAMI,GAAK8C,CAAG,KACtCyH,GAA2B3K,GAAMI,GAAK8C,CAAG,KACzC2H,EAA4B7K,GAAMI,GAAK8C,CAAG,KAC1CwH,GAA6B1K,GAAMI,GAAK8C,CAAG;AAK7C,WAAO2I;AACT,GAlB4C,wCAoBtCC,IAA0B,gBAAAlV,EAAA,CAC9BmV,GACAC,GACAC,GACAC,MAEOH,MAAMG,EAAS,CAAC,KAAKF,MAAME,EAAS,CAAC,KAAKD,MAAMC,EAAS,CAAC,GANnC,4BAe1BC,KAAuC,gBAAAvV,EAAA,CAACmV,GAAWC,GAAWC,MAC3D7V,GAAuC;AAAA,EAAK,CAACgW,MAClDN,EAAwBC,GAAGC,GAAGC,GAAGG,CAAa;AAAA,GAFL,yCAUvC3B,KAAwB,gBAAA7T,EAAA,CAAC4T,MAA8B;AAC3D,MAAI,EAAAA,MAAU,UAAa,CAAC,OAAO,SAASA,CAAK;AAIjD,WAAO,IAAI,KAAK,MAAMA,CAAK,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC;AAC5D,GAN8B,0BAcxB6B,KAAuB,gBAAAzV,EAAA,CAC3BoJ,GACAI,GACA8C,MAEI,CAAC9C,KAAO,CAAC8C,KAAO,CAAC7C,EAAqBD,CAAG,IACpC,KAGKJ,EAAK,aAAaI,GAAK8C,GAAK,OAAO,KAEjC,IAXW,yBAoBvBoJ,KAAuB,gBAAA1V,EAAA,CAACoJ,GAAaI,GAA8B8C,MAChEmJ,GAAqBrM,GAAMI,GAAK8C,CAAG,MAAM,IADrB,yBASvBqJ,KAAyB,gBAAA3V,EAAA,CAACoJ,GAAaI,MAAiC;AAC5E,MAAI,CAACA;AACH;AAGF,MAAIoM,IAAW;AAEf,EAAA9F,EAAuB1G,CAAI,EAAE,QAAQ,CAACkD,MAAQ;AAC5C,IAAKoJ,GAAqBtM,GAAMI,GAAK8C,CAAG,MAIxClD,EAAK,aAAaI,GAAK8C,GAAK,SAAS,IAAI,CAAC,GAC1CsJ,IAAW;AAAA,EACb,CAAC,GAEGA,KACFxM,EAAK,WAAWI,CAAG;AAEvB,GAnB+B,2BAyBzBqM,KAAqC,gBAAA7V,EAAA,CAAC8V,MAAoC;AAC9E,QAAMC,IAASD,KAAA,gBAAAA,EAAO;AAEtB,MACE,OAAO,cAAgB,OACvB,OAAO,UAAY,OACnB,OAAO,OAAS;AAEhB,WAAO;AAGT,QAAME,IAAgBD,aAAkB,UAAUA,IAAS,MACrDE,IAAwBF,aAAkB,OAAOA,EAAO,gBAAgB,MACxEG,IAAsBF,KAAiBC;AAE7C,MAAIC,GAAqB;AACvB,UAAMC,IAAcD,EAAoB,QAAQ,OAAO;AAEvD,WAAIC,aAAuB,cAClBA,IAGFD,aAA+B,cAAcA,IAAsB;AAAA,EAC5E;AAEA,SAAO;AACT,GA1B2C,uCAiCrCE,KAA6B,gBAAApW,EAAA,CAACwJ,GAA8B8C,MAAgB;AAChF,MAAI,CAAC9C,KAAO,CAAC8C,KAAO,CAAC7C,EAAqBD,CAAG;AAC3C,WAAO;AAGT,QAAM6C,IAAY7C,GACZ6M,IAAmBhK,EAAU,GAAGC,CAAG,OAAO,GAC1CgK,IACJ/D,GAAsBlG,EAAU,GAAGC,CAAG,SAAS,CAAC,KAC/C,OAAO+J,KAAqB,YAC3BjC,GAAmCiC,CAAgB;AAEvD,SAAI3G,EAAmBlG,CAAG,KAAKkJ,EAAuBlJ,CAAG,IAChD8M,IAIPA,KACA/D,GAAsBlG,EAAU,OAAO;AAE3C,GApBmC,+BA4B7BkK,KAAgC,gBAAAvW,EAAA,CAACoJ,GAAaI,GAAW8C,MACtDxM,GAAkC,IAAIsJ,EAAK,QAAQI,GAAK8C,CAAG,CAAC,GAD/B,kCAIhCkK,KAAqC,gBAAAxW,EAAA,CACzCoJ,GACAI,GACA8C,MAEI,CAAC9C,KAAO,CAAC8C,KAAO,CAAC7C,EAAqBD,CAAG,KAAKJ,EAAK,SAASI,KAAOJ,EAAK,SAASkD,IAC5E,KAGFlD,EAAK,QAAQI,GAAK8C,CAAG,MAAM,GATO,uCAYrCmK,KAAoC,gBAAAzW,EAAA,CACxCoJ,GACAI,GACA8C,MAEI,CAAC9C,KAAO,CAAC8C,KAAO,CAAC7C,EAAqBD,CAAG,KAAKJ,EAAK,SAASI,KAAOJ,EAAK,SAASkD,IAC5E,KAGFlD,EAAK,QAAQI,GAAK8C,CAAG,MAAM,GATM,sCAapCoK,KAA4B,gBAAA1W,EAAA,CAACoJ,GAAaI,MACvC,CAAC,CAACA,KAAOC,EAAqBD,CAAG,KAAKJ,EAAK,SAASI,GAD3B,8BAI5BmN,KAAsC,gBAAA3W,EAAA,CAAC;AAAA,EAC3C,MAAAoJ;AAAA,EACA,KAAAI;AAAA,EACA,KAAA8C;AAAA,EACA;AAAA,EACA,GAAA8I;AAAA,EACA,GAAAC;AAAA,EACA,4BAAAuB;AAAA,EACA,6BAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,4BAAAC;AAAA,EACA,kCAAA9B;AACF,MAYM;AACJ,MAAIlB,GAA2B3K,GAAMI,GAAK8C,CAAG;AAC3C,WAAOsK;AAGT,MAAI3C,EAA4B7K,GAAMI,GAAK8C,CAAG;AAC5C,WAAOuK;AAWT,MAPEL,GAAmCpN,GAAMI,GAAK8C,CAAG,MAChD4I,EAAwB,GAAGE,GAAGC,GAAGlW,EAAiC,KACjE+V,EAAwB,GAAGE,GAAGC,GAAGjW,EAA0C,MAM7EqX,GAAkCrN,GAAMI,GAAK8C,CAAG,MAC/C4I,EAAwB,GAAGE,GAAGC,GAAGhW,EAA0B,KAC1D6V,EAAwB,GAAGE,GAAGC,GAAG/V,EAA+B,KAChE4V,EAAwB,GAAGE,GAAGC,GAAG9V,EAA8B;AAEjE,WAAOuX;AAGT,MAAIlH,GAAqBpG,CAAG;AAC1B;AAGF,QAAMwN,IAAatH,EAAmBlG,CAAG,KAAKkJ,EAAuBlJ,CAAG,GAClEyN,IACJvB,GAAqBtM,GAAMI,GAAK8C,CAAG,KAAKiJ,GAAqC,GAAGH,GAAGC,CAAC;AAEtF,MAAI,CAAC4B,KAAiC,CAACD;AACrC;AAGF,QAAME,IAAoBvD,GAA6BvK,GAAMI,GAAK8C,CAAG;AAErE,MAAI2K,KACEC;AACF,WAAOA;AAIX,MAAId,GAA2B5M,GAAK8C,CAAG;AACrC,WAAOyK;AAGT,QAAMI,IAA2BnC;AAAA,IAC/B5L;AAAA,IACAI;AAAA,IACA8C;AAAA,IACA2I;AAAA,EAAA;AAGF,SAAIkC,MAA6B,SACxBtD,GAAsBsD,CAAwB,IAGnDH,IACKE,KAAqBE,KAGvB3X;AACT,GA1F4C,wCAiGtC4X,IAA2B,gBAAArX,EAAA,CAACqU,GAAmBE,MAAuB;AAC1E,QAAMD,IAAcD,EAAU,MAAM,KAAK,EAAE,OAAO,OAAO;AAEzD,SAAIC,EAAY,SAASC,CAAU,IAC1BF,IAGF,CAAC,GAAGC,GAAaC,CAAU,EAAE,KAAK,GAAG;AAC9C,GARiC,6BAiB3B+C,KAAsC,gBAAAtX,EAAA,CAC1CoJ,GACAI,GACA8C,GACA+H,MAEI,CAACqB,GAAqBtM,GAAMI,GAAK8C,CAAG,KAAK,CAAC9C,IACrC6K,IAGFgD,EAAyBhD,GAAWkD,EAA0B,GAV3B,wCAoBtCC,KAAwC,gBAAAxX,EAAA,CAC5CoJ,GACAI,GACA8C,GACA+H,MACG;AASH,MAPE,CAAC5K,EAAqBD,CAAG,KACzBoG,GAAqBpG,CAAG,KACvB,CAACkG,EAAmBlG,CAAG,KAAK,CAACkJ,EAAuBlJ,CAAG,KAMxDkN,GAA0BtN,GAAMI,CAAG,KACnCyK,EAA4B7K,GAAMI,GAAK8C,CAAG;AAE1C,WAAO+H;AAGT,QAAMrD,IAAeb,GAAmC/G,CAAI;AAE5D,MAAI,CAAC4H,EAAa,UAAU,IAAI1E,CAAG;AACjC,WAAO+H;AAGT,MAAIoD,IAAgBJ,EAAyBhD,GAAWqD,EAAkC;AAE1F,SAAIpL,MAAQ0E,EAAa,gBACvByG,IAAgBJ,EAAyBI,GAAeE,EAAmC,IAGzFrL,MAAQ0E,EAAa,eACvByG,IAAgBJ,EAAyBI,GAAeG,EAAiC,IAGpFH;AACT,GAtC8C,0CA+CxCI,KAAkC,gBAAA7X,EAAA,CACtCoJ,GACAI,GACA8C,GACA+H,MACG;AACH,QAAMyD,IAAqBR,GAAoClO,GAAMI,GAAK8C,GAAK+H,CAAS,GAClF0D,IAAuBP;AAAA,IAC3BpO;AAAA,IACAI;AAAA,IACA8C;AAAA,IACAwL;AAAA,EAAA;AAGF,MAAI,CAAC7D,EAA4B7K,GAAMI,GAAK8C,CAAG;AAC7C,WAAOyL,MAAyB1D,IAAY,SAAY0D;AAG1D,QAAMC,IACJxD,GAA8CuD,CAAoB,KAAKA;AAEzE,SAAOC,MAAiC3D,IAAY,SAAY2D;AAClE,GAtBwC,oCAyBlCC,KAAkC,gBAAAjY,EAAA,CAACwJ,MAChCC,EAAqBD,CAAG,MAAMkG,EAAmBlG,CAAG,KAAKkJ,EAAuBlJ,CAAG,IADpD,oCASlC0O,KAAyC,gBAAAlY,EAAA,CAC7CoJ,GACA8H,MACG;AACH,QAAMe,IAAaf,EAAK,OAAO+G,EAA+B;AAE9D,EAAIhG,EAAW,UACb4C,EAA4BzL,GAAM6I,CAAU;AAEhD,GAT+C,2CAezCkG,KAA4C,gBAAAnY,EAAA,CAACoJ,MAAgB;AACjE,EAAAyL,EAA4BzL,GAAMG,EAAgBH,CAAI,EAAE,OAAO6O,EAA+B,CAAC;AACjG,GAFkD,8CAQrCG,KAA6B,gBAAApY,EAAA,CAACoJ,MAAuB;AAChE,MAAI,CAACA;AACH,WAAO;AAGT,MAAI,OAAOA,EAAK,YAAa,cAAc,OAAOA,EAAK,WAAY,YAAY;AAC7E,QAAII,IAAMJ,EAAK,SAAA;AAEf,WAAOI,KAAK;AACV,UAAIC,EAAqBD,CAAG;AAC1B,eAAO;AAGT,MAAAA,IAAMJ,EAAK,QAAQI,CAAG;AAAA,IACxB;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,OAAO,OAAOJ,EAAK,QAAQ,CAAA,CAAE,EAAE,KAAK,CAACI,MACnCC,EAAqBD,CAAG,CAChC;AACH,GAtB0C,+BA8B7B6O,KAA0B,gBAAArY,EAAA,CACrCoJ,GACA2D,GACAuL,MACG;;AACH,EAAAlH,EAA0ChI,CAAI;AAG9C,QAAMmP,KAAoBrV,IAAAkG,EAAK,SAAL,gBAAAlG,EAAW;AAGrC,EAAAkG,EAAK,KAAK,OAAO;AAAA,IACf,GAAGmP;AAAA,IACH,MAAM,EAAE,MAAM,CAACxL,KAAY,CAAA,CAAE,EAAA;AAAA,IAC7B,KAAK;AAAA,EAAA,GAGP3D,EAAK,WAAWkP,CAAc;AAChC,GAlBuC,4BAwB1BE,KAAqB,gBAAAxY,EAAA,CAAK;AAAA,EACrC,IAAAkN;AAAA,EACA,wBAAAuL;AAAA,EACA,+BAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,qCAAAC;AAAA,EACA,+BAAAC;AAAA,EACA,+BAAAC;AAAA,EACA,gCAAAC;AAAA,EACA,6BAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,mCAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,qCAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,6BAAAC;AAAA,EACA,2BAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,4BAAAC;AAAA,EACA,wBAAAlN;AAAA,EACA,oBAAAmN;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACF,MAAsC;AACpC,QAAMC,IAAuBzB,EAAuB;AAuGpD,MArGA,OAAO,WAAW,YAAYvL,GAAI,CAAC9D,GAAMI,MAAQ;;AAC/C,IAAA4H,EAA0ChI,CAAI,GAC9CI,EAAI,UAAU,GACdA,EAAI,YAAY,IAEhBoH,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,aAAhC,QAAA0N,EAAA,KAAA1N,GAA2CkG,GAAMI;AAAA,EACnD,CAAC,GACD,OAAO,WAAW,cAAc0D,GAAI,CAAC9D,MAAS;AAC5C,IAAAgI,EAA0ChI,CAAI,GAC9CwD,EAAuBxD,CAAI;AAAA,EAC7B,CAAC,GACD,OAAO,WAAW,eAAe8D,GAAI,CAAC9D,MAAS;AAC7C,IAAAgI,EAA0ChI,CAAI,GAC9C6Q,EAAA,GACArN,EAAuBxD,CAAI;AAAA,EAC7B,CAAC,GACD,OAAO,WAAW,aAAa8D,GAAI,CAAC9D,MAAS;AAC3C,IAAA6H,EAAqC7H,CAAI;AAAA,EAC3C,CAAC,GACD,OAAO,WAAW,yBAAyB8D,GAAI,CAAC9D,MAAS;AACvD,IAAA6H,EAAqC7H,CAAI;AAAA,EAC3C,CAAC,GACD,OAAO,WAAW,aAAa8D,GAAI,CAAC9D,MAAS;AAC3C,IAAA6H,EAAqC7H,CAAI;AAAA,EAC3C,CAAC,GACD,OAAO,WAAW,aAAa8D,GAAI,CAAC9D,MAAS;AAC3C,IAAA6H,EAAqC7H,CAAI;AAAA,EAC3C,CAAC,GACD,OAAO,WAAW,eAAe8D,GAAI,CAAC9D,MAAS;AAC7C,IAAA6H,EAAqC7H,CAAI;AAAA,EAC3C,CAAC,GACD,OAAO,WAAW,iBAAiB8D,GAAI,CAAC9D,MAAS;AAC/C,IAAA6H,EAAqC7H,CAAI;AAAA,EAC3C,CAAC,GACD,OAAO,WAAW,eAAe8D,GAAI,CAAC9D,GAAMI,GAAK8C,GAAK6N,GAAOC,GAAOtE,MAAU;AAC5E,UAAMuE,IAAU5E,GAAqBrM,GAAMI,GAAK8C,CAAG;AAEnD,QAAI,CAAC+N,GAAS;AACZ,MAAAJ,EAAA;AACA;AAAA,IACF;AAEA,UAAMK,IAAWzE,GAAmCC,CAAK;AAEzD,QAAI,CAACwE,GAAU;AACb,MAAAL,EAAA;AACA;AAAA,IACF;AAEA,IAAA7Q,EAAK,QAAA,GACL4Q,GAAiB,EAAE,UAAAM,GAAU,KAAA9Q,GAAK,KAAA8C,GAAK,SAAA+N,GAAS;AAAA,EAClD,CAAC,GACD,OAAO,WAAW,WAAWnN,GAAI,CAAC9D,GAAMI,GAAK+Q,GAAMC,MAAS;AAC1D,IAAIhR,MAAQgR,KACVtC,GAAuC9O,GAAM,CAACI,GAAKgR,CAAI,CAAC;AAAA,EAE5D,CAAC,GACD,OAAO,WAAW,SAAStN,GAAI,CAAC9D,GAAMI,GAAK8C,GAAKmO,MACvChF,GAAqBrM,GAAMI,GAAK8C,CAAG,IAAI,KAAKmO,CACpD,GACD,OAAO,WAAW,kBAAkBvN,GAAI,CAAC9D,GAAMI,GAAKkR,MAAS;;AAC3D,QAAIA,MAAS;AACX,aAAOA;AAGT,UAAMC,KAA2BzX,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC;AAEjE,QAAI,OAAOyX,KAA6B;AACtC,aAAOD;AAGT,UAAME,IAAiB,gBAAA5a,EAAA,CAAC2M,MAAwD;AAC9E,aAAO,WAAW,MAAM;AACtB,QAAAD;AAAA,UACE0M,EAAoB,WAAWhQ;AAAA,UAC/BI;AAAA,UACAmD;AAAA,UACAC;AAAA,QAAA;AAAA,MAEJ,GAAG,CAAC;AAAA,IACN,GATuB;AAWvB,QAAI;AACF,YAAM/H,IAAS8V,EAAyBvR,GAAMI,CAA6B;AAE3E,aAAIiD,GAAmE5H,CAAM,KACtEA,EAAO,KAAK+V,CAAc,EAAE,MAAM,MAAM;AAC3C,QAAAA,EAAe,UAAU;AAAA,MAC3B,CAAC,GACM,MAGTA,EAAe/V,CAAM,GAEd;AAAA,IACT,QAAQ;AACN,aAAA+V,EAAe,UAAU,GAClB;AAAA,IACT;AAAA,EACF,CAAC,GAGC,QAAOV,KAAA,gBAAAA,EAAsB,eAAe,cAC5C,QAAOA,KAAA,gBAAAA,EAAsB,wBAAwB,YACrD;AACA,UAAMW,IAA2BC,EAAS,CAAC1R,GAAMI,GAAK8C,GAAKyO,GAAGC,GAAGlF,MAAU;;AACzE,OAAAlF,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,eAAhC,QAAA0N,EAAA;AAAA,QAAA1N;AAAA,QACEkG;AAAA,QACAI;AAAA,QACA8C;AAAA,QACAyO;AAAA,QACAC;AAAA,QACAlF;AAAA;AAAA,IAEJ,GAAG,GAAG;AAEN,WAAO,WAAW,WAAW5I,GAAI,CAAC9D,GAAMI,GAAK8C,GAAKyO,GAAGC,GAAGlF,MAAU;;AAChE,YAAMmF,KAAiBrK,MAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,wBAAhC,gBAAA0N,GAAA;AAAA,QAAA1N;AAAA,QACrBkG;AAAA,QACAI;AAAA,QACA8C;AAAA,QACAyO;AAAA,QACAC;AAAA,QACAlF;AAAA;AAGF,UAAImF,MAAmB;AACrB,eAAOA;AAGT,MAAI,SAAOC,KAAAzC,EAAuB,YAAvB,gBAAAyC,GAAgC,eAAe,cACxDL,EAAyBzR,GAAMI,GAAK8C,GAAKyO,GAAGC,GAAGlF,CAAK;AAAA,IAIxD,CAAC;AAAA,EACH;AAEA,GACE,QAAOoE,KAAA,gBAAAA,EAAsB,kBAAkB,cAC/C,QAAOA,KAAA,gBAAAA,EAAsB,0BAA0B,eAEvD,OAAO;AAAA,IACL;AAAA,IACAhN;AAAA,IACA,CAAC9D,GAAMI,GAAK8C,GAAKwJ,MAAU;;AACzB,YAAMmF,KAAiBrK,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,0BAAhC,gBAAA0N,EAAA;AAAA,QAAA1N;AAAA,QACrBkG;AAAA,QACAI;AAAA,QACA8C;AAAA,QACAwJ;AAAA;AAGF,UAAImF,MAAmB;AACrB,eAAOA;AAGT,OAAAE,KAAAD,IAAAzC,EAAuB,YAAvB,gBAAAyC,EAAgC,kBAAhC,QAAAC,EAAA;AAAA,QAAAD;AAAA,QACE9R;AAAA,QACAI;AAAA,QACA8C;AAAA,QACAwJ;AAAA;AAAA,IAIJ;AAAA,EAAA,GAIA,QAAOoE,KAAA,gBAAAA,EAAsB,sBAAsB,eACrD,OAAO;AAAA,IAAW;AAAA,IAAahN;AAAA,IAAI,CAAC9D,GAAMuL,GAAKmB,GAAOsF,GAAMC,MAAA;;AAC1D,cAAAzK,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,sBAAhC,gBAAA0N,EAAA,KAAA1N,GAAoDkG,GAAMuL,GAAKmB,GAAOsF,GAAMC;AAAA;AAAA,EAAM,GAEpF,OAAO;AAAA,IAAW;AAAA,IAAcnO;AAAA,IAAI,CAAC9D,GAAMuL,GAAKmB,GAAOsF,GAAMC,MAAA;;AAC3D,cAAAzK,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,sBAAhC,gBAAA0N,EAAA,KAAA1N,GAAoDkG,GAAMuL,GAAKmB,GAAOsF,GAAMC;AAAA;AAAA,EAAM,IAItF,OAAO,WAAW,eAAenO,GAAI,CAAC9D,GAAMI,GAAK8C,MAAQ;;AACvD,WAAA2N,EAAA,IAEOrJ,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,wBAAhC,gBAAA0N,EAAA;AAAA,MAAA1N;AAAA,MACLkG;AAAA,MACAI;AAAA,MACA8C;AAAA;AAAA,EAEJ,CAAC,GAED,OAAO,WAAW,eAAeY,GAAI,CAAC9D,GAAMI,GAAK8R,MAAe;;AAC9D,IAAAlK,EAA0ChI,CAAI,GAC9C6Q,EAAA,GACAtE,GAAuBvM,GAAMI,CAAG,GAChCJ,EAAK,UAAUI,GAAK,CAAC;AACrB,UAAM+R,IAAiB7I,EAAuBlJ,CAAG,GAC3CgS,IAA2BD,IAAiBpI,EAAoC3J,CAAG,IAAI,CAAA,GACvFiS,IAA0BF,IAAiBG,GAAmClS,CAAG,IAAI,CAAA,GACrFmS,IAA8B9C,EAAyB,YAAY;AAEzE,IAAA/M,GAA4B1C,GAAMI,GAAK;AAAA,MACrC,SAASmS,IAA8B,IAAI;AAAA,MAC3C,iBAAiBF;AAAA,MACjB,iBAAiBE,KAA+BF,EAAwB,SAAS,IAAI;AAAA,MACrF,kBAAkBD;AAAA,IAAA,CACnB,GAED5O,EAAuBxD,CAAI,IAC3BwH,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,gBAAhC,QAAA0N,EAAA;AAAA,MAAA1N;AAAA,MACEkG;AAAA,MACAI;AAAA,MACA8R;AAAA;AAAA,EAEJ,CAAC,GACD,OAAO,WAAW,iBAAiBpO,GAAI,CAAC9D,GAAMI,MAAQ;;AACpD,IAAA4H,EAA0ChI,CAAI,GAC9C6Q,EAAA;AACA,UAAMsB,IAAiB7I,EAAuBlJ,CAAG,GAC3CgS,IAA2BD,IAAiBpI,EAAoC3J,CAAG,IAAI,CAAA,GACvFiS,IAA0BF,IAAiBG,GAAmClS,CAAG,IAAI,CAAA,GACrFmS,IAA8B9C,EAAyB,YAAY;AAEzE,IAAA/M,GAA4B1C,GAAMI,GAAK;AAAA,MACrC,SAASmS,IAA8B,IAAI;AAAA,MAC3C,iBAAiBF;AAAA,MACjB,iBAAiBE,KAA+BF,EAAwB,SAAS,IAAI;AAAA,MACrF,kBAAkBD;AAAA,MAClB,0BAA0BA,EAAyB,SAC/CzC,EAA8B,UAC9B;AAAA,IAAA,CACL,GAEDnM,EAAuBxD,CAAI,IAC3BwH,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,kBAAhC,QAAA0N,EAAA,KAAA1N,GAAgDkG,GAAMI;AAAA,EACxD,CAAC,GACD,OAAO,WAAW,qBAAqB0D,GAAI,CAAC9D,GAAMI,GAAK8C,MAAQ;AAC7D,QAAI,GAACqM,EAA0B,WAAW,CAAClP,EAAqBD,CAAG;AAInE,aAAOwL;AAAA,QACL5L;AAAA,QACAI;AAAA,QACA8C;AAAA,QACAwM,EAAoC;AAAA,MAAA;AAAA,EAExC,CAAC,GACD,OAAO,WAAW,cAAc5L,GAAI,CAAC9D,GAAMI,GAAK8C,GAAK6I,GAAGC,GAAGC,GAAGqF,MAAS;AACrE,QAAI,CAAAA;AAIJ,aAAO/D,GAAoC;AAAA,QACzC,MAAAvN;AAAA,QACA,KAAAI;AAAA,QACA,KAAA8C;AAAA,QACA,GAAA6I;AAAA,QACA,GAAAC;AAAA,QACA,GAAAC;AAAA,QACA,4BAA4B2D,EAA8B;AAAA,QAC1D,6BAA6BC,EAA+B;AAAA,QAC5D,0BAA0BC,EAA4B;AAAA,QACtD,4BAA4BH,EAA8B;AAAA,QAC1D,kCAAkCD,EAAoC;AAAA,MAAA,CACvE;AAAA,EACH,CAAC,GACD,OAAO,WAAW,cAAc5L,GAAI,CAAC9D,GAAMI,GAAK8C,GAAK+H,MAG5CwD,GAAgCzO,GAAMI,GAAK8C,GAF5B,OAAO+H,KAAc,WAAWA,IAAY,EAEE,CACrE,GACD,OAAO,WAAW,uBAAuBnH,GAAI,CAAC9D,GAAMI,GAAK8C,GAAKvL,MAAU;;AAGtE,QAFAkZ,EAAA,GAEIrB,EAAyB,WAAWnP,EAAqBD,CAAG,GAAG;AACjE,YAAMoS,IACJ,CAACrF,GAA8BnN,GAAMI,GAAK8C,CAAG,KAC5C2H,EAA4B7K,GAAMI,GAAK8C,CAAG,KACzC,CAACyH,GAA2B3K,GAAMI,GAAK8C,CAAG;AAE9C,MAAAkH,GAAiC;AAAA,QAC/B,QAAQtG;AAAA,QACR,MAAA9D;AAAA,QACA,KAAAI;AAAA,QACA,KAAA8C;AAAA,QACA,iBAAiByM,EAA8B;AAAA,QAC/C,aAAaI,EAAuB;AAAA,QACpC,kBAAkByC;AAAA,MAAA,CACnB;AAAA,IACH;AAEA,UAAMC,MACJ3Y,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,0BAChC0N,IAAA6H,EAAuB,YAAvB,gBAAA7H,EAAgC;AAElC,IAAAiL,KAAA,QAAAA,EAAsBzS,GAAMI,GAA+B8C,GAAKvL;AAAA,EAClE,CAAC;AACD,QAAM+a,KAAgChB,EAAS,CAAC1R,MAAgB;;AAC9D,UAAM2S,IAAgB3S,EAAK,WAAA,KAAgB,CAAA,GACrC4S,IAAuBC,GAA+B7S,GAAM2S,GAAc;AAAA,MAC9E,gBAAgBrC,GAAwB;AAAA,IAAA,CACzC;AAED,KAAA9I,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,aAAhC,QAAA0N,EAAA;AAAA,MAAA1N;AAAA,MACEgZ,GAAiC9S,GAAM4S,CAAoB;AAAA;AAAA,EAE/D,GAAG,GAAG;AAEN,SAAO,WAAW,YAAY9O,GAAI,CAAC9D,GAAM+S,GAAMC,GAAWC,GAAOC,MAAS;;AACxE,QAAIA;AACF;AAGF,UAAMC,IAAsBvK,GAA+B5I,CAAI;AAE/D,IAAAwL,GAA6CxL,GAAM+S,CAAI,GACvDjE,GAAuC9O,GAAM,CAAC+S,CAAI,CAAC,GACnDtH,EAA4BzL,GAAMmT,CAAmB,GACrDzH,GAAwC1L,GAAM+S,CAAI,GAClD9R,GAAwCjB,GAAM8D,CAAE,GAE5C,SAAOhK,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,aAAa,cACtD4Y,GAA8B1S,CAAI;AAAA,EAItC,CAAC,GACD,OAAO,WAAW,eAAe8D,GAAI,CAAC9D,GAAMoT,GAASC,GAAOH,MAAS;;AACnE,IAAIA,MAIJvH,GAA2C3L,CAAI,GAC/C+O,GAA0C/O,CAAI,GAC9CiB,GAAwCjB,GAAM8D,CAAE,GAE5C,SAAOhK,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,aAAa,cACtD4Y,GAA8B1S,CAAI;AAAA,EAItC,CAAC,GACG,QAAO8Q,KAAA,gBAAAA,EAAsB,WAAW,cAC1C,OAAO,WAAW,UAAUhN,GAAI,CAAC9D,GAAMI,GAAKkT,MAAe;;AACzD,KAAA9L,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,WAAhC,QAAA0N,EAAA;AAAA,MAAA1N;AAAA,MACEkG;AAAA,MACAI;AAAA,MACAkT;AAAA;AAAA,EAEJ,CAAC,GAEH,OAAO,WAAW,UAAUxP,GAAI,CAAC9D,GAAMkD,MAAQ;;AAC7C,QACE,GAACA,KACD,CAACwC;AAAA,MACC1F;AAAA,MACAA,EAAK;AAAA,MACLkD;AAAA,MACAmN,EAAoC,YAAY;AAAA,IAAA;AAMpD,aAAApK,GAAkBnC,GAAI,2BAA2B,GACjDyP,GAAgBzP,GAAI,6BAA6B;AAAA,QAC/C,QAAOhK,IAAAkG,EAAK,SAAL,gBAAAlG,EAAW;AAAA,QAClB,KAAAoJ;AAAA,MAAA,CACD,GAEM;AAAA,EACT,CAAC,GACD,OAAO,WAAW,gBAAgBY,GAAI,CAAC9D,MAAS;AAC9C,IAAAgI,EAA0ChI,CAAI;AAAA,EAChD,CAAC,GACD,OAAO,WAAW,kBAAkB8D,GAAI,CAAC9D,MAAS;AAChD,IAAAgI,EAA0ChI,CAAI;AAAA,EAChD,CAAC,GACD,OAAO,WAAW,iBAAiB8D,GAAI,CAAC9D,MAAS;AAC/C,IAAAgI,EAA0ChI,CAAI;AAAA,EAChD,CAAC,GACD,OAAO,WAAW,kBAAkB8D,GAAI,CAAC9D,MAAS;AAChD,IAAAgI,EAA0ChI,CAAI;AAAA,EAChD,CAAC,GACD,OAAO,WAAW,iBAAiB8D,GAAI,CAAC9D,MAAS;AAC/C,IAAAgI,EAA0ChI,CAAI,GAC9CM,GAAgCN,GAAM8D,CAAE,GACxC8B;AAAA,MACE5F;AAAA,MACA8D;AAAA,MACA;AAAA,MACAuM,EAAoC,YAAY;AAAA,IAAA;AAAA,EAEpD,CAAC,GACD,OAAO,WAAW,kBAAkBvM,GAAI,CAAC9D,MAAS;AAChD,IAAAM,GAAgCN,GAAM8D,CAAE;AAAA,EAC1C,CAAC,GACD,OAAO,WAAW,aAAaA,GAAI,CAAC0P,GAAOC,GAAQC,MAAS;AAC1D,SAAID,KAAA,gBAAAA,EAAQ,UAAS,YAAY,OAAOC,KAAS,UAAU;AACzD,MAAApE,EAA8B,UAAU3Y,GAA6B+c,CAAI;AACzE,YAAMC,IAAWpU;AAAA,QACfmU;AAAA,QACAnD,GAA4B;AAAA,QAC5BJ,GAAkC;AAAA,QAClCC,GAAqB;AAAA,MAAA;AAGvB,aAAOuD,MAAaD,IAAO,OAAOC;AAAA,IACpC;AAEA,WAAO;AAAA,EACT,CAAC,GACD,OAAO,WAAW,eAAe7P,GAAI,CAAC0P,GAAOC,GAAQC,MAAS;AAC5D,SAAID,KAAA,gBAAAA,EAAQ,UAAS,YAAY,OAAOC,KAAS,UAAU;AACzD,MAAApE,EAA8B,UAAU3Y,GAA6B+c,CAAI;AACzE,YAAMC,IAAWpU;AAAA,QACfmU;AAAA,QACAnD,GAA4B;AAAA,QAC5BJ,GAAkC;AAAA,QAClCC,GAAqB;AAAA,MAAA;AAGvB,aAAOuD,MAAaD,IAAO,OAAOC;AAAA,IACpC;AAEA,WAAO;AAAA,EACT,CAAC,GAED,OAAO;AAAA,IACL;AAAA,IACA7P;AAAA,IACA4N,EAAS,CAAC1R,MAAS;;AACjB,UAAI,CAAC0Q,GAA2B,SAAS;AACvC,cAAMkD,IAAwB1D,EAAyB;AAEvD,QAAAQ,GAA2B,UAAU,IAEnC,CAACpB,EAA8B,YAC9BtP,EAAK,cAAc,UAAaA,EAAK,cAAc,QAAQA,EAAK,cAAc,MAE/EoB,GAA8BpB,GAAMnK,EAA4B,GAElEge,GAA0B7T,GAAM4T,CAAqB,GACrD5D,EAAoB,UAAUhQ,GAC9BwQ,GAA0B,UAAUoD,GACpCnD,GAAuB,UAAUrM,GAAoBpE,CAAI,GACzD+P,EAAuB,8BAAc,QAAA,GACrC/G,GAA+BhJ,GAAM+P,EAAuB,OAAO,GACnEvM,EAAuBxD,CAAI,GAC3B2Q,GAAmB,EAAI,GACvB/K;AAAA,UACE5F;AAAA,UACA8D;AAAA,UACA;AAAA,UACAuM,EAAoC,YAAY;AAAA,QAAA,GAElDnK,GAAoBpC,GAAI,uBAAuBmM,EAAyB,SAAS;AAAA,UAC/E,cAAc9J;AAAA,YACZ/B,GAAoBpE,CAAI;AAAA,UAAA;AAAA,QAC1B,CACD,GACDiQ,EAAyB,UAAU,OACnCzI,KAAA1N,IAAAuV,EAAuB,YAAvB,gBAAAvV,EAAgC,YAAhC,QAAA0N,EAAA,KAAA1N,GAA0CkG;AAAA,MAC5C;AAAA,IACF,GAAG,GAAG;AAAA,EAAA;AAEV,GA/ekC;"}