@bigbinary/neeto-themes-frontend 3.1.2 → 3.1.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"NeetoThemesBuilder.js","sources":["../app/javascript/src/apis/entities.js","../app/javascript/src/hooks/reactQuery/useEntitiesApi.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/src/apis/themes.js","../app/javascript/src/hooks/reactQuery/useThemesApi.js","../app/javascript/src/routes.js","../app/javascript/src/apis/global_themes.js","../app/javascript/src/hooks/reactQuery/useGlobalThemesApi.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../app/javascript/src/components/NeetoThemesBuilder/constants.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/Card.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/utils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/CustomCSS.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/utils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/AlignmentBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ColorBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/FontPickerBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SelectBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SliderBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SwitchBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Properties.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ImageBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Images.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/ThemeMeta.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/Check.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/Thumbnail.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/Card.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/TitleBar.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = entityId => axios.get(`${BASE_URL}/api/v1/entities/${entityId}`);\n\nconst entitiesApi = { show };\n\nexport default entitiesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport entitiesApi from \"apis/entities\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useShowThemeEntity = entityId =>\n useQuery({\n queryKey: [QUERY_KEYS.THEME_ENTITY_DETAILS, entityId],\n queryFn: () => entitiesApi.show(entityId),\n enabled: !!entityId,\n });\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = entityId =>\n axios.get(`${BASE_URL}/api/v1/themes`, { params: { entity_id: entityId } });\n\nconst show = id => axios.get(`${BASE_URL}/api/v1/themes/${id}`);\n\nconst create = payload =>\n axios.post(`${BASE_URL}/api/v1/themes`, { theme: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${BASE_URL}/api/v1/themes/${id}`, { theme: payload });\n\nconst destroy = id => axios.delete(`${BASE_URL}/api/v1/themes/${id}`);\n\nconst clone = id => axios.post(`${BASE_URL}/api/v1/themes/${id}/clone`);\n\nconst apply = ({ themeId, ...payload }) =>\n axios.post(`${BASE_URL}/api/v1/themes/${themeId}/apply`, { entity: payload });\n\nconst applyGlobalTheme = ({ themeId, payload }) =>\n axios.post(`${BASE_URL}/api/v1/themes/${themeId}/apply_global_theme`, {\n theme: payload,\n });\n\nconst themesApi = {\n list,\n show,\n create,\n update,\n destroy,\n clone,\n apply,\n applyGlobalTheme,\n};\n\nexport default themesApi;\n","import { useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport themesApi from \"apis/themes\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nexport const useListThemes = entityId => {\n const { isTemplateThemesEnabled } = useConfigStore.pick();\n\n const queryKey = isTemplateThemesEnabled\n ? [QUERY_KEYS.THEMES_LIST, entityId]\n : [QUERY_KEYS.THEMES_LIST];\n\n return useQuery({\n queryKey,\n queryFn: () => themesApi.list(entityId),\n });\n};\n\nexport const useFetchTheme = (themeId, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.THEME_DETAILS, themeId],\n queryFn: () => themesApi.show(themeId),\n ...options,\n });\n\nexport const useCreateTheme = () =>\n useMutationWithInvalidation(themesApi.create, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n ],\n });\n\nexport const useUpdateTheme = themeId => {\n const queryClient = useQueryClient();\n\n return useMutationWithInvalidation(\n payload => themesApi.update({ id: themeId, payload }),\n {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n [QUERY_KEYS.THEME_DETAILS, themeId],\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n ],\n onSuccess: ({ theme }) => {\n queryClient.setQueryData([QUERY_KEYS.THEME_DETAILS, themeId], theme);\n },\n }\n );\n};\n\nexport const useDeleteTheme = () =>\n useMutationWithInvalidation(themesApi.destroy, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n });\n\nexport const useCloneTheme = () =>\n useMutationWithInvalidation(themesApi.clone, {\n keysToInvalidate: [QUERY_KEYS.THEMES_LIST],\n });\n\nexport const useApplyTheme = ({ onSuccess }) =>\n useMutationWithInvalidation(themesApi.apply, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n onSuccess,\n });\n\nexport const useApplyGlobalTheme = () =>\n useMutationWithInvalidation(themesApi.applyGlobalTheme, {\n keysToInvalidate: [\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n });\n","const routes = {\n themes: {\n index: \"/themes\",\n edit: \"/themes/:themeId/edit\",\n new: \"/themes/new\",\n },\n};\nexport default routes;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = entityType =>\n axios.get(`${BASE_URL}/api/v1/global_theme`, {\n params: { entity_type: entityType },\n });\n\nconst globalThemesApi = { show };\nexport default globalThemesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport globalThemesApi from \"apis/global_themes\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useShowGlobalTheme = entityType =>\n useQuery({\n queryKey: [QUERY_KEYS.GLOBAL_THEME_DETAILS, entityType],\n queryFn: () => globalThemesApi.show(entityType),\n enabled: !!entityType,\n });\n","import * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(\"Name is required\"),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDIAN_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","export const DESIGN_SCREENS = {\n THEMES: \"Themes\",\n Customize: \"Customize\",\n CustomCSS: \"CustomCSS\",\n};\n\nexport const ONE_MEGABYTE = 1;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { ACCORDIAN_OPEN_STATE } from \"../Customize/constants\";\n\nconst Card = ({ title = \"\", children, name, className }) => {\n const [accordianOpenState, setAccordianOpenState] =\n useState(ACCORDIAN_OPEN_STATE);\n\n return (\n <div\n data-cy={`theme-${hyphenate(title)}-properties`}\n className={classnames(\n \"neeto-themes-nano-section neeto-ui-border-gray-200 border-b pt-2 transition-all duration-300 last:border-none\",\n className,\n {\n \"pb-2\": !accordianOpenState[name],\n \"pb-3\": accordianOpenState[name],\n }\n )}\n >\n {title && (\n <button\n className=\"neeto-themes-nano-section__title flex w-full cursor-pointer items-center justify-between px-1 py-2 focus:outline-none\"\n type=\"button\"\n onClick={() =>\n setAccordianOpenState({\n ...accordianOpenState,\n [name]: !accordianOpenState[name],\n })\n }\n >\n <Typography\n className=\"min-w-0 flex-grow text-left\"\n component=\"span\"\n data-cy=\"theme-properties\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n <Down\n size={20}\n className={classnames(\"transition-all duration-300\", {\n \"rotate-180\": accordianOpenState[name],\n })}\n />\n </button>\n )}\n {children && (\n <div\n className={classnames(\n \"neeto-themes-nano-section__content w-full space-y-3 overflow-hidden px-1 transition-all duration-300\",\n {\n \"neeto-themes-nano-section__content--closed\":\n !accordianOpenState[name],\n \"neeto-themes-nano-section__content--open pb-1\":\n accordianOpenState[name],\n }\n )}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default Card;\n","import { isEmpty } from \"ramda\";\n\nimport { DESIGN_SCREENS } from \"../constants\";\n\nexport const isScreenCustomCSS = screen => screen === DESIGN_SCREENS.CustomCSS;\n\nexport const buildPathname = route => {\n let pathname = \"\";\n for (const segment of location.pathname.split(\"/\")) {\n if (isEmpty(segment)) {\n continue;\n }\n\n if (segment === \"themes\") {\n break;\n }\n pathname += `/${segment}`;\n }\n\n return `${pathname}${route}`;\n};\n","import Editor from \"@monaco-editor/react\";\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { findBy, findIndexBy } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DESIGN_SCREENS } from \"components/NeetoThemesBuilder/constants\";\nimport { scrollElementIntoView } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { setCustomCSS } from \"utils\";\n\nimport Card from \"../commons/Card\";\nimport { isScreenCustomCSS } from \"../utils\";\n\nconst CustomCSS = ({ onEditCSSClick, currentScreen }) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n const { themePropertiesSchema } = useConfigStore.pick();\n\n const customCSS = findBy({ kind: \"custom_css\" }, values.properties);\n\n if (!customCSS) return null;\n\n const parentElementClass = findBy(\n { kind: \"custom_css\" },\n themePropertiesSchema\n ).parentClass;\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleEditorToggle = () => {\n if (!isCustomCssScreen) return onEditCSSClick(DESIGN_SCREENS.CustomCSS);\n onEditCSSClick(DESIGN_SCREENS.Customize);\n\n return setTimeout(() => {\n scrollElementIntoView(\"css-editor\");\n }, 400);\n };\n\n const handleChange = value => {\n const index = findIndexBy({ key: customCSS.key }, values.properties);\n\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n setCustomCSS({\n css: value,\n elementId: customCSS.key,\n parentElementClass,\n });\n }\n };\n\n return (\n <div className=\"neeto-themes-sidebar__custom-css-wrapper\" id=\"css-editor\">\n <Card\n name=\"customcss\"\n title={\n isCustomCssScreen\n ? \"\"\n : t(\"neetoThemes.build.leftSideBar.themes.customCSS\")\n }\n >\n <div className=\"w-full\">\n <div className=\"neeto-themes-sidebar__custom-css-editor-header w-full justify-end gap-1 rounded-b-none p-2\">\n <Button\n size=\"small\"\n style=\"secondary\"\n label={\n isCustomCssScreen\n ? t(\"neetoThemes.buttons.minimizeEditor\")\n : t(\"neetoThemes.buttons.expandEditor\")\n }\n onClick={handleEditorToggle}\n />\n </div>\n <Editor\n language=\"css\"\n theme=\"vs-dark\"\n value={customCSS.value}\n className={classNames({\n rounded: true,\n \"css-editor-height__expanded\": isCustomCssScreen,\n \"css-editor-height__regular\": !isCustomCssScreen,\n })}\n options={{\n scrollBeyondLastLine: false,\n minimap: { enabled: false },\n }}\n onChange={handleChange}\n />\n </div>\n </Card>\n </div>\n );\n};\n\nexport default CustomCSS;\n","import { t } from \"i18next\";\nimport {\n findBy,\n isNot,\n filterBy,\n isPresent,\n snakeToCamelCase,\n isNotPresent,\n} from \"neetocist\";\n\nexport const generateRandomColor = () => {\n const letters = \"0123456789ABCDEF\";\n let color = \"#\";\n for (let i = 0; i < 6; i++) {\n color += letters[Math.floor(Math.random() * 16)];\n }\n\n return color;\n};\n\nexport const buildInitialValues = (theme, themePropertiesSchema) => {\n if (isPresent(theme)) return theme;\n\n return {\n name: t(\"neetoThemes.build.leftSideBar.themes.createTheme.newThemeName\"),\n properties: themePropertiesSchema\n .map(({ key, kind, defaultValue, order = null, dependsOn }) => {\n switch (kind) {\n case \"color\":\n return {\n value: defaultValue,\n kind: \"color\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"font_family\":\n return {\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n kind: \"font_family\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"overlay_opacity\":\n return {\n value: 0,\n kind: \"overlay_opacity\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"slider\":\n return {\n value: 0,\n kind: \"slider\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"radius\":\n return {\n value: defaultValue,\n kind: \"radius\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"boolean\":\n return {\n value: String(defaultValue),\n kind: \"boolean\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"order_selector\":\n return {\n value: defaultValue,\n kind: \"order_selector\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"alignment_block\":\n return {\n value: defaultValue,\n kind: \"alignment_block\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"custom_css\":\n return {\n value: defaultValue,\n kind: \"custom_css\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n default:\n return null;\n }\n })\n .filter(isNot(null)),\n };\n};\n\nexport const buildImageData = (values, themePropertiesSchema) =>\n filterBy({ kind: \"image\" }, themePropertiesSchema).reduce((acc, item) => {\n const signedId = values[snakeToCamelCase(item.key)]?.signedId;\n acc[item.key] = signedId;\n\n return acc;\n }, {});\n\nexport const isPropertyVisible = (key, formikValues, themePropertiesSchema) => {\n const property = findBy({ key }, themePropertiesSchema);\n\n if (isNotPresent(property)) return false;\n\n if (property?.hidden) return false;\n\n const conditionalKey = property?.dependsOn;\n if (isNotPresent(conditionalKey)) return true;\n\n const dependentPropertySchema = findBy(\n { key: conditionalKey },\n themePropertiesSchema\n );\n\n const dependentProperty = findBy(\n { key: conditionalKey },\n formikValues.properties\n );\n\n if (dependentPropertySchema.kind === \"image\") {\n return isPresent(formikValues[snakeToCamelCase(conditionalKey)]?.url);\n } else if (dependentPropertySchema.kind === \"boolean\") {\n return dependentProperty?.value !== \"false\";\n }\n\n return isPresent(dependentProperty?.value);\n};\n\nexport const buildLabel = (key, kind) =>\n t(\n `neetoThemes.properties.${snakeToCamelCase(kind)}.${snakeToCamelCase(key)}`\n );\n\nexport const buildProperties = (values, condition, themePropertiesSchema) => {\n values.forEach(value => {\n themePropertiesSchema.forEach(theme => {\n if (!(value.key === theme.key)) return;\n value.dependsOn = theme.dependsOn;\n });\n });\n\n if (condition) {\n return filterBy({ dependsOn: condition }, values);\n }\n\n const imageKeys = new Set();\n filterBy({ kind: \"image\" }, themePropertiesSchema).forEach(ele =>\n imageKeys.add(ele.key)\n );\n\n return values?.filter(({ dependsOn }) => !imageKeys.has(dependsOn));\n};\n","import classnames from \"classnames\";\nimport { Field } from \"formik\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { CenterAlign, LeftAlign } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst AlignmentBlock = ({ label, name }) => (\n <div\n className=\"flex items-center justify-between gap-2\"\n data-cy={joinHyphenCase(label)}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <Field {...{ name }}>\n {({ field: { value }, form: { setFieldValue } }) => (\n <div className=\"neeto-ui-border-gray-300 neeto-themes-nano-alignment-block flex items-center border\">\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-left\"\n data-cy=\"alignment-left\"\n size=\"medium\"\n style={value === \"left\" ? \"primary\" : \"text\"}\n icon={() => (\n <LeftAlign\n size={20}\n className={classnames({\n rounded: true,\n \"neeto-ui-text-primary-800\": value === \"left\",\n \"neeto-ui-text-gray-600\": value !== \"left\",\n })}\n />\n )}\n tooltipProps={{\n content: \"Left align\",\n position: \"bottom\",\n }}\n onClick={() => setFieldValue(name, \"left\")}\n />\n <div className=\"neeto-themes-nano-alignment-divider\" />\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-center\"\n data-cy=\"alignment-center\"\n size=\"medium\"\n style={value === \"center\" ? \"primary\" : \"text\"}\n icon={() => (\n <CenterAlign\n size={20}\n className={classnames({\n rounded: true,\n \"neeto-ui-text-primary-800\": value === \"center\",\n \"neeto-ui-text-gray-600\": value !== \"center\",\n })}\n />\n )}\n tooltipProps={{\n content: \"Center align\",\n position: \"bottom\",\n }}\n onClick={() => setFieldValue(name, \"center\")}\n />\n </div>\n )}\n </Field>\n </div>\n);\n\nexport default AlignmentBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { ColorPicker, Typography } from \"neetoui\";\n\nconst ColorBlock = ({\n label,\n color = \"#FFFFFF\",\n onChange,\n showTransparencyControl,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <ColorPicker\n {...{ color, onChange, showTransparencyControl }}\n showEyeDropper\n size=\"medium\"\n />\n </div>\n);\n\nexport default ColorBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Select } from \"neetoui\";\n\nconst FontPickerBlock = ({\n label,\n placeholder = \"\",\n value,\n options,\n onChange,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Select\n {...{ onChange, options, placeholder, value }}\n menuPosition=\"fixed\"\n styles={{\n option: (styles, { data }) => ({\n ...styles,\n fontFamily: data.value,\n }),\n }}\n />\n </div>\n </div>\n);\n\nexport default FontPickerBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Select } from \"neetoui\";\n\nconst SelectBlock = ({ label, placeholder = \"\", value, options, onChange }) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"logo-field-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Select {...{ onChange, options, placeholder, value }} />\n </div>\n </div>\n);\n\nexport default SelectBlock;\n","import { Slider } from \"antd\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nconst SliderBlock = ({ label, onChange, value, min, max, marks }) => (\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <Slider\n {...{ marks, max, min, onChange, value }}\n className=\"my-2 w-20\"\n tooltip={{ formatter: null }}\n />\n </div>\n);\n\nexport default SliderBlock;\n","import classnames from \"classnames\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography, Switch } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SwitchBlock = ({ label, name, ...switchProps }) => {\n const { t, i18n } = useTranslation();\n\n const translationKey = `neetoThemes.properties.boolean.${name}HelpText`;\n const doesHelpTextExist = i18n.exists(translationKey);\n\n return (\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"theme-style-content-background\"\n >\n <div className=\"inline-flex items-center gap-4\">\n <Typography\n data-cy=\"style-fields-labels\"\n style=\"body2\"\n className={classnames({\n \"w-32\": doesHelpTextExist,\n \"w-auto\": !doesHelpTextExist,\n })}\n >\n {label}\n </Typography>\n {doesHelpTextExist && (\n <HelpPopover\n className=\"flex-shrink-0\"\n description={t(translationKey)}\n />\n )}\n </div>\n <Switch\n {...{ name, ...switchProps }}\n data-cy=\"enable-background-color-toggle\"\n />\n </div>\n );\n};\n\nexport default SwitchBlock;\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport {\n toLabelAndValue,\n snakeToCamelCase,\n findIndexBy,\n findBy,\n} from \"neetocist\";\nimport { negate } from \"ramda\";\n\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport {\n OVERLAY_OPACITY_SLIDER_MARKS,\n FONT_OPTIONS,\n HUNDRED,\n POSITION_OPTIONS,\n} from \"./constants\";\nimport { buildLabel, buildProperties, isPropertyVisible } from \"./utils\";\n\nimport AlignmentBlock from \"../commons/AlignmentBlock\";\nimport ColorBlock from \"../commons/ColorBlock\";\nimport FontPickerBlock from \"../commons/FontPickerBlock\";\nimport SelectBlock from \"../commons/SelectBlock\";\nimport SliderBlock from \"../commons/SliderBlock\";\nimport SwitchBlock from \"../commons/SwitchBlock\";\n\nconst Properties = ({ onPropertiesChange, condition }) => {\n const { themePropertiesSchema } = useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n const { setFieldValue, values } = useFormikContext();\n const { setVariable, setTheme } = useThemeUtils();\n\n const handleColorChange =\n name =>\n ({ hex, rgb }) => {\n handleChange(name, hex, `${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a}`);\n };\n\n const handleChange = (name, value, variableValue) => {\n const index = findIndexBy({ key: name }, values.properties);\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n }\n setVariable(snakeToCamelCase(name), variableValue ?? value);\n };\n\n const handleOverlayChange = (key, value) => {\n const index = findIndexBy({ key }, values.properties);\n const overlayColorVariable = `${key}_overlay_color`;\n\n setFieldValue(`properties[${index}].value`, value);\n setVariable(`${key}_overlay_opacity`, Math.abs(value / 100));\n if (value < 0) {\n handleChange(overlayColorVariable, \"#000000\", \"0, 0, 0\");\n } else {\n handleChange(overlayColorVariable, \"#ffffff\", \"255, 255, 255\");\n }\n };\n\n useEffect(() => {\n onPropertiesChange?.(values, handleChange, handleColorChange);\n setTheme(values);\n setThemeState({ previewingTheme: values });\n }, [values]);\n\n return (\n <>\n {buildProperties(values?.properties, condition, themePropertiesSchema)\n .sort((a, b) => {\n const order = key =>\n findBy({ key }, themePropertiesSchema)?.order || Infinity;\n\n return order(a.key) - order(b.key);\n })\n .map(({ key, value, kind }) => {\n const isCurrentPropertyVisible = isPropertyVisible(\n key,\n values,\n themePropertiesSchema\n );\n\n if (!isCurrentPropertyVisible) return null;\n\n switch (kind) {\n case \"font_family\":\n return (\n <FontPickerBlock\n key={key}\n label={buildLabel(key, kind)}\n options={FONT_OPTIONS}\n value={findBy({ value: value || null }, FONT_OPTIONS)}\n onChange={({ value }) => handleChange(key, value)}\n />\n );\n\n case \"color\":\n return (\n <ColorBlock\n color={value}\n key={key}\n label={buildLabel(key, kind)}\n showTransparencyControl={\n findBy({ key }, themePropertiesSchema)\n ?.showTransparencyControl || false\n }\n onChange={handleColorChange(key)}\n />\n );\n\n case \"radius\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n max={50}\n min={0}\n value={Number(value) || 0}\n onChange={radius => handleChange(key, radius, `${radius}px`)}\n />\n );\n\n case \"overlay_opacity\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n marks={OVERLAY_OPACITY_SLIDER_MARKS}\n max={HUNDRED}\n min={negate(HUNDRED)}\n value={Number(value) || 0}\n onChange={opacity => handleOverlayChange(key, opacity)}\n />\n );\n\n case \"position_selector\": {\n const index = findIndexBy({ key }, values.properties);\n const options = findBy(\n { key },\n themePropertiesSchema\n )?.options?.map(toLabelAndValue);\n\n return (\n <SelectBlock\n key={key}\n label={buildLabel(key, kind)}\n options={options || POSITION_OPTIONS}\n placeholder=\"left\"\n value={toLabelAndValue(value)}\n onChange={option =>\n setFieldValue(`properties[${index}].value`, option.value)\n }\n />\n );\n }\n\n case \"boolean\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\n <SwitchBlock\n checked={value !== \"false\"}\n key={key}\n label={buildLabel(key, kind)}\n name={snakeToCamelCase(key)}\n onChange={e =>\n setFieldValue(\n `properties[${index}].value`,\n String(e.target.checked)\n )\n }\n />\n );\n }\n\n case \"alignment_block\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\n <AlignmentBlock\n label={buildLabel(key, kind)}\n name={`properties[${index}].value`}\n />\n );\n }\n\n default:\n return null;\n }\n })}\n </>\n );\n};\n\nexport default Properties;\n","import { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { useFormikContext } from \"formik\";\nimport { findIndexBy, isPresent, toLabelAndValue, findBy } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Toastr, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDominantColorFromUrl } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport SelectBlock from \"./SelectBlock\";\n\nimport { ONE_MEGABYTE } from \"../../constants\";\nimport { POSITION_OPTIONS } from \"../Customize/constants\";\nimport { buildLabel } from \"../Customize/utils\";\n\nconst ImageBlock = ({\n label,\n name,\n imageData = {},\n uploadConfig = { maxImageSize: ONE_MEGABYTE },\n attribute,\n}) => {\n const { t } = useTranslation();\n const { setFieldValue, values } = useFormikContext();\n const { themePropertiesSchema } = useConfigStore.pick();\n\n const propertySchema = findBy({ key: attribute }, themePropertiesSchema);\n\n const enablePositionChanger = propertySchema?.enablePositionChanger || false;\n const options = propertySchema?.options;\n\n const positionKeyInSchema = findBy(\n { key: `${name}_position` },\n themePropertiesSchema\n );\n\n const isPositionChangerVisible =\n enablePositionChanger && imageData?.url && isPresent(positionKeyInSchema);\n\n const positionKeyIndex = findIndexBy(\n { key: `${name}_position` },\n values.properties\n );\n\n const handleImageChange = async image => {\n try {\n if (isEmpty(image.signedId) || isEmpty(image.url)) {\n setFieldValue(name, { signedId: null, url: image.url });\n\n return;\n }\n\n const dominantColor = await getDominantColorFromUrl(image.url);\n\n setFieldValue(name, {\n signedId: image.signedId,\n url: image.url,\n dominantColor,\n });\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n return (\n <div\n className=\"space-y-3\"\n data-cy={`theme-style-${label ? joinHyphenCase(label) : \"image-block\"}`}\n >\n {label && (\n <div className=\"flex items-center justify-between\">\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n </div>\n )}\n <div className=\"space-y-3\">\n <ImageUploader\n {...{ uploadConfig }}\n className=\"h-40 w-full\"\n key={imageData?.url}\n src={imageData?.url}\n onUploadComplete={handleImageChange}\n />\n {isPositionChangerVisible && (\n <SelectBlock\n label={buildLabel(`${name}Position`, \"image\")}\n options={options || POSITION_OPTIONS}\n placeholder={t(\"neetoThemes.common.left\")}\n value={toLabelAndValue(\n findBy({ key: `${name}_position` }, values.properties)?.value ||\n positionKeyInSchema?.defaultValue\n )}\n onChange={option =>\n setFieldValue(\n `properties[${positionKeyIndex}].value`,\n option.value\n )\n }\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ImageBlock;\n","import { useFormikContext } from \"formik\";\nimport { snakeToCamelCase } from \"neetocist\";\n\nimport Properties from \"./Properties\";\nimport { buildLabel } from \"./utils\";\n\nimport Card from \"../commons/Card\";\nimport ImageBlock from \"../commons/ImageBlock\";\n\nconst Images = ({ attribute, className, onPropertiesChange }) => {\n const { values } = useFormikContext();\n\n const key = snakeToCamelCase(attribute);\n const title = buildLabel(key, \"image\");\n const imageData = values[key];\n\n return (\n <Card {...{ className, title }} name=\"images\">\n <ImageBlock {...{ attribute, imageData }} name={key} />\n <Properties {...{ onPropertiesChange }} condition={attribute} />\n </Card>\n );\n};\n\nexport default Images;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Input } from \"neetoui/formik\";\n\nimport Card from \"../commons/Card\";\n\nconst ThemeMeta = withT(({ t, className }) => (\n <Card {...{ className }} name=\"name\" title={t(\"neetoThemes.common.name\")}>\n <Input autoFocus data-cy=\"theme-name-property\" name=\"name\" />\n </Card>\n));\n\nexport default ThemeMeta;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { filterBy } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Button, Popover, Typography, Switch, Tooltip } from \"neetoui\";\nimport { Form, BlockNavigation } from \"neetoui/formik\";\nimport { isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { isEditThemeRoute } from \"components/utils\";\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport { useFetchTheme } from \"hooks/reactQuery/useThemesApi\";\nimport routes from \"routes\";\nimport {\n useCreateTheme,\n useUpdateTheme,\n} from \"src/hooks/reactQuery/useThemesApi\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport { THEME_VALIDATION_SCHEMA } from \"./constants\";\nimport CustomCSS from \"./CustomCSS\";\nimport Images from \"./Images\";\nimport Properties from \"./Properties\";\nimport ThemeMeta from \"./ThemeMeta\";\nimport { buildImageData, buildInitialValues } from \"./utils\";\n\nimport Card from \"../commons/Card\";\nimport { isScreenCustomCSS, buildPathname } from \"../utils\";\n\nconst Customize = ({\n theme,\n onCreateTheme,\n onApplyTheme,\n onUpdateTheme,\n isApplyingTheme,\n onPropertiesChange,\n onEditCSSClick,\n currentScreen,\n}) => {\n const { t } = useTranslation();\n\n const history = useHistory();\n\n const [popoverInstance, setPopoverInstance] = useState({});\n const { themePropertiesSchema, entityType, isFetchingSchema } =\n useConfigStore.pick();\n\n const { themeId } = useParams();\n\n const { currentTheme, setThemeState } = useThemeStore.pick();\n\n const { data: { globalTheme = {} } = {} } = useShowGlobalTheme(entityType);\n\n const { data: themeData = {}, isLoadingTheme } = useFetchTheme(themeId, {\n enabled: isEditThemeRoute() && isNotNil(themeId),\n initialData: theme ?? undefined,\n });\n\n const isLoading = isFetchingSchema || isLoadingTheme;\n const isThemeGlobalTheme = themeId && globalTheme?.id === themeId;\n const isCurrentThemeAndGlobalThemeSame = currentTheme?.id === globalTheme?.id;\n\n const isEditingCurrentlyAppliedTheme = themeId === currentTheme?.id;\n\n const submitBtnRef = useRef(null);\n\n const { mutate: createTheme, isPending: isCreating } = useCreateTheme();\n const { mutate: updateTheme, isPending: isUpdating } =\n useUpdateTheme(themeId);\n\n const isSubmitting = isCreating || isUpdating;\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleGlobalThemeSwitchChange = (e, setFieldValue) => {\n setFieldValue(\"shouldSetAsGlobalTheme\", e.target.checked);\n };\n\n const onSubmit = (values, { resetForm }) => {\n const imageData = buildImageData(values, themePropertiesSchema);\n const themeToSave = {\n propertiesAttributes: values.properties,\n name: values.name,\n shouldSetAsGlobalTheme: values.shouldSetAsGlobalTheme,\n entityType: values.entityType,\n ...imageData,\n };\n\n if (!themeId) {\n return createTheme(themeToSave, {\n onSuccess: ({ theme }) => {\n resetForm({ values: theme });\n onCreateTheme(theme);\n history.replace(\n buildUrl(buildPathname(routes.themes.edit), { themeId: theme.id })\n );\n },\n });\n }\n\n return updateTheme(themeToSave, {\n onSuccess: ({ theme }) => {\n onUpdateTheme(theme);\n resetForm({ values: theme });\n },\n });\n };\n\n useEffect(() => {\n if (isNotNil(themeId) && !isLoadingTheme) {\n setThemeState({ previewingTheme: themeData });\n }\n }, [isLoadingTheme]);\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n return (\n <Form\n formikProps={{\n initialValues: {\n ...buildInitialValues(themeData, themePropertiesSchema),\n shouldSetAsGlobalTheme: isThemeGlobalTheme,\n entityType,\n },\n validationSchema: THEME_VALIDATION_SCHEMA,\n enableReinitialize: true,\n onSubmit,\n }}\n >\n {({ dirty, values, setFieldValue }) => (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"neeto-themes-sidebar__scroll-content flex flex-grow flex-col px-4 pb-4 lg:px-5\">\n {!isSubmitting && <BlockNavigation />}\n <ThemeMeta className={classNames({ hidden: isCustomCssScreen })} />\n <Card\n className={classNames({ hidden: isCustomCssScreen })}\n name=\"style\"\n title={t(\"neetoThemes.common.style\")}\n >\n <Properties {...{ onPropertiesChange }} />\n </Card>\n {filterBy({ kind: \"image\" }, themePropertiesSchema).map(\n ({ key }) => (\n <Images\n {...{ onPropertiesChange }}\n attribute={key}\n className={classNames({ hidden: isCustomCssScreen })}\n key={key}\n />\n )\n )}\n <CustomCSS {...{ currentScreen, onEditCSSClick }} />\n <div className=\"neeto-ui-bg-gray-50 neeto-ui-border-gray-200 mt-2 flex flex-col space-y-2 border p-2\">\n <Tooltip\n disabled={!isThemeGlobalTheme}\n content={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.tooltipContent\"\n )}\n >\n <Switch\n checked={values.shouldSetAsGlobalTheme}\n disabled={isThemeGlobalTheme}\n name=\"shouldSetAsGlobalTheme\"\n label={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n )}\n onChange={e =>\n handleGlobalThemeSwitchChange(e, setFieldValue)\n }\n />\n </Tooltip>\n <Typography className=\"text-sm\" style=\"body2\">\n {t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.helpText\",\n { entityType }\n )}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-bg-white neeto-ui-shadow-s sticky bottom-0 left-0 right-0 flex justify-end gap-x-2 px-4 py-6 lg:px-5 xl:px-6\">\n <Button\n data-cy=\"reset-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"neetoThemes.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n />\n <Button\n data-cy=\"save-changes-button\"\n disabled={(!dirty && themeData?.id) || isSubmitting}\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n ref={submitBtnRef}\n type=\"submit\"\n />\n </div>\n <Popover\n appendTo={() => document.body}\n position=\"top\"\n reference={submitBtnRef}\n trigger=\"click\"\n content={\n <div className=\"flex flex-col items-start gap-2\">\n <Button\n className=\"absolute right-1 top-1 z-0\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={() => popoverInstance?.hide?.()}\n />\n <Typography className=\"w-72 pr-5\" style=\"body2\" weight=\"normal\">\n <Trans\n components={{ bold: <strong /> }}\n i18nKey=\"neetoThemes.build.leftSideBar.themes.notAppliedYet\"\n values={{ entityType }}\n />\n </Typography>\n <Button\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.buttons.applyThisTheme\")}\n loading={isApplyingTheme}\n onClick={() => onApplyTheme(themeData)}\n />\n </div>\n }\n disabled={\n isEditingCurrentlyAppliedTheme ||\n (isCurrentThemeAndGlobalThemeSame &&\n values.shouldSetAsGlobalTheme)\n }\n onMount={setPopoverInstance}\n />\n </div>\n )}\n </Form>\n );\n};\n\nexport default Customize;\n","const Check = props => (\n <svg\n fill=\"none\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <g filter=\"url(#filter0_d_9519_161)\">\n <rect fill=\"#008068\" height=\"20\" rx=\"10\" width=\"20\" x=\"2\" y=\"2\" />\n <rect\n height=\"20\"\n rx=\"10\"\n stroke=\"#fff\"\n strokeWidth=\"1.5\"\n width=\"20\"\n x=\"2\"\n y=\"2\"\n />\n <path\n d=\"M16.375 9.5l-5.95 6.25-2.8-2.941\"\n stroke=\"#fff\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"1.25\"\n />\n </g>\n <defs>\n <filter\n colorInterpolationFilters=\"sRGB\"\n filterUnits=\"userSpaceOnUse\"\n height=\"23.5\"\n id=\"filter0_d_9519_161\"\n width=\"23.5\"\n x=\"0.25\"\n y=\"0.25\"\n >\n <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix\n in=\"SourceAlpha\"\n result=\"hardAlpha\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n />\n <feOffset />\n <feGaussianBlur stdDeviation=\"0.5\" />\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\n <feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0\" />\n <feBlend\n in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow_9519_161\"\n />\n <feBlend\n in=\"SourceGraphic\"\n in2=\"effect1_dropShadow_9519_161\"\n result=\"shape\"\n />\n </filter>\n </defs>\n </svg>\n);\n\nexport default Check;\n","import classnames from \"classnames\";\nimport { findBy, humanize, snakeToCamelCase } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nconst Thumbnail = ({ active, isPreviewing, isHighLightedTheme, theme }) => {\n const { themePropertiesSchema = [] } = useConfigStore.pick();\n\n const [colorObject1, colorObject2] = themePropertiesSchema;\n\n const primaryLabel = humanize(colorObject1?.key);\n const secondaryLabel = humanize(colorObject2?.key);\n\n const primaryColor = findBy(\n { key: colorObject1.key },\n theme.properties\n ).value;\n\n const secondaryColor = findBy(\n { key: colorObject2.key },\n theme.properties\n ).value;\n\n const backgroundImageUrl =\n theme[\n snakeToCamelCase(\n findBy({ useAsCardBackground: true }, themePropertiesSchema).key\n )\n ]?.url;\n\n const buttonBackgroundColor = findBy(\n {\n key: findBy({ useAsCardButtonBackground: true }, themePropertiesSchema)\n ?.key,\n },\n theme.properties\n )?.value;\n\n return (\n <div\n className={classnames(\n \"neeto-themes-theme-thumbnail neeto-ui-rounded-lg border transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-400\": !active,\n \"neeto-ui-border-gray-800 neeto-themes-theme-thumbnail--active\":\n active,\n \"neeto-themes-theme-thumbnail--preview-active\": isPreviewing,\n \"neeto-themes-theme-thumbnail--highlight-active\": isHighLightedTheme,\n }\n )}\n style={{\n backgroundImage: backgroundImageUrl\n ? `url(${backgroundImageUrl})`\n : \"initial\",\n backgroundSize: \"cover\",\n }}\n >\n <div className=\"neeto-ui-rounded-lg cursor-pointer p-3 transition-all duration-300 ease-in-out group-hover:opacity-85\">\n <div className=\"neeto-ui-rounded-lg p-3\">\n <div className=\"mb-3\">\n <Typography style=\"h3\" weight=\"semibold\">\n <span style={{ color: primaryColor }}>{primaryLabel}</span>\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n <span style={{ color: secondaryColor }}>{secondaryLabel}</span>\n </Typography>\n </div>\n <div\n className=\"neeto-ui-rounded-lg h-5 w-12\"\n style={{ backgroundColor: buttonBackgroundColor }}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default Thumbnail;\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Rating } from \"neetoicons\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isFunction } from \"components/utils\";\n\nimport Check from \"./Check\";\nimport DefaultThumbnail from \"./Thumbnail\";\n\nconst Card = ({\n active = false,\n isPreviewing,\n onSetPreviewTheme,\n onDeleteTheme,\n onEditTheme,\n theme,\n isApplyingTheme,\n onCloneTheme,\n isHighLightedTheme,\n isGlobalTheme,\n onApplyTheme,\n onApplyGlobalTheme,\n thumbnail: Thumbnail,\n}) => {\n const { t } = useTranslation();\n\n const { id, name, appliedCount } = theme;\n\n const handleCloneTheme = () => onCloneTheme(theme);\n const handleEditTheme = () => onEditTheme(theme);\n const handleDeleteTheme = () => onDeleteTheme(id, name, appliedCount);\n const handleApplyGlobalTheme = () => onApplyGlobalTheme(id);\n\n return (\n <div\n className=\"group space-y-2 pt-0.5\"\n data-cy={active ? \"active-theme-card\" : \"theme-card\"}\n id={theme.id}\n >\n <div\n className={classnames(\n \"neeto-themes-theme-thumbnail neeto-ui-rounded-lg cursor-pointer border transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-200\": !active,\n \"neeto-themes-theme-thumbnail--active\": active,\n \"neeto-themes-theme-thumbnail--preview-active\": isPreviewing,\n \"neeto-themes-theme-thumbnail--highlight-active\":\n isHighLightedTheme,\n }\n )}\n onClick={() => onSetPreviewTheme(theme)}\n >\n <div className=\"neeto-ui-rounded-lg relative overflow-hidden rounded-bl-none rounded-br-none transition-all duration-300 ease-in-out group-hover:opacity-85\">\n <div className=\"absolute right-0 top-0 p-3\">\n {active ? (\n <Check className=\"flex-shrink-0\" data-cy=\"active-theme-label\" />\n ) : (\n <div\n className={classnames({\n hidden: !isPreviewing,\n \"group-hover:block\": true,\n })}\n >\n <Button\n className=\"neeto-themes-theme-thumbnail__apply-btn flex-shrink-0\"\n data-cy=\"apply-theme-button\"\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.common.apply\")}\n loading={isApplyingTheme}\n size=\"small\"\n style=\"tertiary\"\n onClick={() => onApplyTheme(theme)}\n />\n </div>\n )}\n </div>\n {Thumbnail ? (\n <Thumbnail\n {...{ active, isHighLightedTheme, isPreviewing, theme }}\n />\n ) : (\n <DefaultThumbnail\n {...{ active, isHighLightedTheme, isPreviewing, theme }}\n />\n )}\n </div>\n <div className=\"neeto-ui-border-gray-100 flex items-start justify-between gap-1 border-t p-2\">\n <div className=\"flex items-center space-x-2\">\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow break-words pt-1\"\n data-cy=\"theme-name\"\n lineHeight=\"snug\"\n style=\"body2\"\n >\n {name}\n </Typography>\n {isGlobalTheme && (\n <Rating\n className=\"neeto-themes-nano-global-theme-icon\"\n size={18}\n />\n )}\n </div>\n <MoreDropdown\n dropdownButtonProps={{ size: \"small\" }}\n dropdownProps={{\n strategy: \"fixed\",\n onClick: e => e.stopPropagation(),\n }}\n menuItems={[\n {\n key: \"edit\",\n \"data-cy\": \"edit-theme-menu-item\",\n label: t(\"neetoThemes.common.edit\"),\n isVisible: isPresent(onEditTheme),\n onClick: handleEditTheme,\n },\n {\n key: \"clone\",\n \"data-cy\": \"clone-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.clone\"\n ),\n onClick: handleCloneTheme,\n },\n {\n key: \"set-as-global-theme\",\n \"data-cy\": \"set-as-global-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n ),\n isVisible: !isGlobalTheme,\n onClick: handleApplyGlobalTheme,\n },\n {\n key: \"divider\",\n type: \"divider\",\n isVisible: isFunction(onDeleteTheme),\n },\n {\n key: \"delete\",\n \"data-cy\": \"delete-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.delete\"\n ),\n isVisible: isFunction(onDeleteTheme),\n onClick: e => {\n e.stopPropagation();\n handleDeleteTheme();\n },\n },\n ]}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(Card);\n","import { useEffect, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport Search from \"neetomolecules/Search\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { scrollElementIntoView } from \"components/utils\";\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport {\n useCloneTheme,\n useApplyGlobalTheme,\n} from \"hooks/reactQuery/useThemesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport Card from \"./Card\";\n\nconst Themes = ({\n onEditTheme,\n themes = [],\n defaultThemes = [],\n onDeleteTheme,\n themeToHighlight,\n didScrollActiveThemeIntoView,\n isLoading,\n currentTheme,\n isCurrentThemeLoading,\n thumbnail,\n themeBeingApplied,\n onApplyTheme,\n onApplyGlobalThemeSuccess,\n isApplyingTheme,\n}) => {\n const { t } = useTranslation();\n const { setTheme } = useThemeUtils();\n const { setThemeState, previewingTheme } = useThemeStore.pick();\n const { entityType } = useConfigStore.pick();\n\n const [searchQuery, setSearchQuery] = useState(\"\");\n\n const { mutate: cloneTheme } = useCloneTheme();\n const { mutate: applyGlobalTheme } = useApplyGlobalTheme();\n\n const { data: { globalTheme = {} } = {}, isLoading: isLoadingGlobalTheme } =\n useShowGlobalTheme(entityType);\n\n useEffect(() => {\n if (didScrollActiveThemeIntoView.current || !currentTheme?.id) return;\n\n didScrollActiveThemeIntoView.current = true;\n setTimeout(() => {\n scrollElementIntoView(currentTheme?.id);\n }, 100);\n }, [didScrollActiveThemeIntoView, currentTheme?.id]);\n\n const setPreviewTheme = theme => {\n setThemeState({ previewingTheme: theme });\n setTheme(theme);\n };\n\n const filteredDefaultThemes = defaultThemes.filter(theme =>\n theme.name.toLowerCase().includes(searchQuery.toLowerCase())\n );\n\n const filteredThemes = themes.filter(theme =>\n theme.name.toLowerCase().includes(searchQuery.toLowerCase())\n );\n\n const isSearchFieldVisible = themes?.length + defaultThemes?.length > 10;\n\n const handleCloneTheme = data => {\n cloneTheme(data.id, {\n onSuccess: ({ theme: clonedTheme }) => {\n onEditTheme(clonedTheme);\n },\n });\n };\n\n const handleApplyGlobalTheme = themeId => {\n const payload = { entityType };\n applyGlobalTheme(\n { themeId, payload },\n {\n onSuccess: () => {\n onApplyGlobalThemeSuccess?.();\n },\n }\n );\n };\n\n if (isLoading || isCurrentThemeLoading || isLoadingGlobalTheme) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"mb-6 space-y-3\">\n {isSearchFieldVisible && (\n <Search\n autoFocus\n autoComplete=\"off\"\n className=\"mb-4 mt-1 px-6\"\n placeholder={t(\"neetoThemes.common.searchThemes\")}\n onSearch={setSearchQuery}\n />\n )}\n {isEmpty(filteredThemes) && isEmpty(filteredDefaultThemes) && (\n <Typography className=\"text-center\" style=\"body2\">\n {t(\"neetoThemes.common.noResultsFound\")}\n </Typography>\n )}\n {isNotEmpty(filteredDefaultThemes) && (\n <>\n <Typography\n className=\"my-4 px-6 uppercase lg:px-5 xl:px-6\"\n data-cy=\"system-themes-header\"\n style=\"h6\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.systemThemes\")}\n </Typography>\n <div\n className=\"flex flex-col gap-4 px-6 pb-10 lg:px-5 xl:px-6\"\n data-cy=\"system-themes\"\n >\n {filteredDefaultThemes.map(theme => (\n <Card\n {...{ onApplyTheme, theme, thumbnail }}\n active={currentTheme?.id === theme.id}\n isGlobalTheme={globalTheme?.id === theme.id}\n isPreviewing={previewingTheme?.id === theme.id}\n key={theme.id}\n isApplyingTheme={\n isApplyingTheme && themeBeingApplied?.id === theme.id\n }\n onApplyGlobalTheme={handleApplyGlobalTheme}\n onCloneTheme={handleCloneTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n ))}\n </div>\n </>\n )}\n </div>\n {isNotEmpty(filteredThemes) && (\n <div className=\"mb-6 space-y-3\">\n <Typography\n className=\"my-4 px-6 uppercase\"\n data-cy=\"custom-themes-header\"\n style=\"h6\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.customThemes\")}\n </Typography>\n <div className=\"flex flex-col gap-4 px-6\" data-cy=\"custom-themes\">\n {filteredThemes.map(theme => {\n const isActive = currentTheme?.id === theme.id;\n const isPreviewing = previewingTheme?.id === theme.id;\n\n return (\n <Card\n {...{\n isPreviewing,\n onApplyTheme,\n onEditTheme,\n theme,\n thumbnail,\n }}\n active={isActive}\n isGlobalTheme={globalTheme?.id === theme.id}\n isHighLightedTheme={theme.id === themeToHighlight}\n key={theme.id}\n isApplyingTheme={\n isApplyingTheme && themeBeingApplied?.id === theme.id\n }\n onApplyGlobalTheme={handleApplyGlobalTheme}\n onCloneTheme={handleCloneTheme}\n onDeleteTheme={!isActive && onDeleteTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n );\n })}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default Themes;\n","import { LeftArrow, Plus } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isEditThemeRoute, isNewThemeRoute } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport { isScreenCustomCSS } from \"./utils\";\n\nconst TitleBar = ({ currentScreen, handleBackPress, handleCreateNewTheme }) => {\n const { t } = useTranslation();\n\n const { previewingTheme } = useThemeStore.pick();\n const themeId = previewingTheme?.id;\n const { entityType, helpDocUrl } = useConfigStore.pick();\n\n const isCustomizeScreen = isEditThemeRoute() || isNewThemeRoute();\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n if (isCustomizeScreen) {\n return (\n <div className=\"neeto-themes-sidebar__header px-4\">\n <div className=\"flex items-center justify-start space-x-2\">\n <Button\n data-cy=\"customize-themes-back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: isCustomCssScreen\n ? t(\"neetoThemes.buttons.backToEdit\")\n : t(\"neetoThemes.buttons.backToThemes\"),\n position: \"top\",\n }}\n onClick={() => handleBackPress(themeId)}\n />\n <Typography\n data-cy=\"themes-header\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {isCustomizeScreen &&\n (isNewThemeRoute()\n ? t(\"neetoThemes.build.leftSideBar.themes.createTheme.title\")\n : t(\"neetoThemes.build.leftSideBar.themes.editTheme.title\"))}\n {isCustomCssScreen &&\n t(\"neetoThemes.build.leftSideBar.themes.customCSS\")}\n </Typography>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"neeto-themes-sidebar__header px-6 lg:px-5 xl:px-6\">\n <div className=\"flex items-center justify-between space-x-2\">\n <div className=\"flex space-x-2\">\n <Typography\n data-cy=\"themes-header\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.headerTabs.themes\")}\n </Typography>\n <HelpPopover\n helpLinkProps={helpDocUrl && { href: helpDocUrl }}\n title={t(\"neetoThemes.build.leftSideBar.helpPopover.title\")}\n description={t(\n \"neetoThemes.build.leftSideBar.helpPopover.description\",\n { entityType }\n )}\n />\n </div>\n <div className=\"self-end\">\n <Button\n data-cy=\"customize-themes-add-theme-button\"\n icon={Plus}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoThemes.buttons.addNewTheme\"),\n position: \"top\",\n }}\n onClick={handleCreateNewTheme}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { memo, useCallback, useRef, useState, useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Alert, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Route, Switch, useHistory } from \"react-router-dom\";\n\nimport { scrollElementIntoView } from \"components/utils\";\nimport { useShowThemeEntity } from \"hooks/reactQuery/useEntitiesApi\";\nimport {\n useApplyTheme,\n useDeleteTheme,\n useListThemes,\n} from \"hooks/reactQuery/useThemesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport routes from \"routes\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport Customize from \"./Customize\";\nimport Themes from \"./Themes\";\nimport TitleBar from \"./TitleBar\";\nimport { isScreenCustomCSS, buildPathname } from \"./utils\";\n\nimport { DESIGN_SCREENS } from \"../constants\";\n\nconst MemoizedAlert = memo(Alert);\n\nconst Sidebar = ({\n thumbnail,\n onPropertiesChange,\n onApplyThemeSuccess,\n onUpdateThemeSuccess,\n onApplyGlobalThemeSuccess,\n}) => {\n const [currentScreen, setCurrentScreen] = useState(DESIGN_SCREENS.THEMES);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [themeToHighlight, setThemeToHighlight] = useState(null);\n const [themeBeingApplied, setThemeBeingApplied] = useState({});\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isThemesSidebarCollapsed, setIsThemesSidebarCollapsed] = useState(\n !isLargerScreen\n );\n\n const history = useHistory();\n\n useEffect(() => {\n setIsThemesSidebarCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n const { entityType, entityId, isFetchingSchema, defaultThemeName } =\n useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n\n const didScrollActiveThemeIntoView = useRef(null);\n const { t } = useTranslation();\n const { setTheme } = useThemeUtils();\n\n const { data: { themes = [], defaultThemes = [] } = {}, isLoading } =\n useListThemes(entityId);\n\n const {\n data: { theme: currentTheme = {} } = {},\n isLoading: isCurrentThemeLoading,\n } = useShowThemeEntity(entityId);\n\n const { mutate: deleteTheme, isPending: isDeleting } = useDeleteTheme();\n\n const { mutate: applyTheme, isPending: isApplyingTheme } = useApplyTheme({\n onSuccess: ({ theme }) => {\n setTheme(theme);\n highlightTheme(theme);\n setThemeState({ previewingTheme: theme });\n setThemeBeingApplied({});\n setCurrentScreen(DESIGN_SCREENS.THEMES);\n onApplyThemeSuccess?.(theme);\n },\n });\n\n const themeToDelete = useRef(null);\n const themeToEdit = useRef(null);\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleCreateNewTheme = () => {\n history.push(buildUrl(buildPathname(routes.themes.new)));\n };\n\n const handleEditTheme = theme => {\n themeToEdit.current = theme;\n history.push(\n buildUrl(buildPathname(routes.themes.edit), { themeId: theme.id })\n );\n };\n\n const onApplyTheme = theme => {\n if (isApplyingTheme) return;\n\n setThemeBeingApplied(theme);\n applyTheme({ themeId: theme.id, entityId, entityType });\n };\n\n const navigateToThemesScreen = themeId => {\n highlightTheme(isPresent(themeId) ? themeId : currentTheme?.id);\n history.push(buildUrl(buildPathname(routes.themes.index)));\n\n themeToEdit.current = null;\n };\n\n const handleBackPress = themeId => {\n if (isCustomCssScreen) {\n setCurrentScreen(DESIGN_SCREENS.Customize);\n\n return;\n }\n\n navigateToThemesScreen(themeId);\n };\n\n const highlightTheme = themeIdToHighlight => {\n setTimeout(() => {\n scrollElementIntoView(themeIdToHighlight);\n }, 1500);\n\n setTimeout(() => {\n setThemeToHighlight(null);\n }, 4000);\n\n setThemeToHighlight(themeIdToHighlight);\n };\n\n const onCreateTheme = createdTheme => {\n themeToEdit.current = createdTheme;\n setTheme(createdTheme);\n setThemeState({ previewingTheme: createdTheme });\n };\n\n const onUpdateTheme = updatedTheme => {\n themeToEdit.current = updatedTheme;\n onUpdateThemeSuccess?.(updatedTheme);\n };\n\n const handleDelete = (themeId, name, appliedCount) => {\n setIsDeleteAlertOpen(true);\n themeToDelete.current = { id: themeId, name, appliedCount };\n };\n\n const handleCloseDeleteAlert = useCallback(() => {\n setIsDeleteAlertOpen(false);\n themeToDelete.current = null;\n }, [themeToDelete]);\n\n const handleDeleteTheme = useCallback(() => {\n deleteTheme(themeToDelete.current?.id, {\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n themeToDelete.current = null;\n },\n });\n }, [deleteTheme, themeToDelete]);\n\n return (\n <>\n {!isThemesSidebarCollapsed && (\n <div\n className=\"neeto-themes-sidebar__backdrop\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n )}\n <div\n className={classNames(\n \"neeto-themes-sidebar neeto-ui-border-gray-200 flex-shrink-0 border-r transition-all duration-300\",\n { \"neeto-themes-sidebar--expanded\": isCustomCssScreen },\n {\n \"neeto-themes-sidebar--collapsed\": isThemesSidebarCollapsed,\n }\n )}\n >\n <TitleBar\n {...{ currentScreen, handleBackPress, handleCreateNewTheme }}\n />\n <Switch>\n <Route\n exact\n path={buildPathname(routes.themes.index)}\n render={() => (\n <Themes\n {...{\n currentTheme,\n defaultThemes,\n didScrollActiveThemeIntoView,\n highlightTheme,\n isApplyingTheme,\n isCurrentThemeLoading,\n onApplyGlobalThemeSuccess,\n onApplyTheme,\n themeBeingApplied,\n themeToHighlight,\n themes,\n thumbnail,\n }}\n isLoading={isLoading || isFetchingSchema}\n onDeleteTheme={handleDelete}\n onEditTheme={handleEditTheme}\n />\n )}\n />\n <Route\n path={buildPathname(routes.themes.new)}\n render={() => (\n <Customize\n {...{\n currentScreen,\n isApplyingTheme,\n onApplyTheme,\n onCreateTheme,\n onPropertiesChange,\n onUpdateTheme,\n }}\n theme={themeToEdit.current}\n onEditCSSClick={setCurrentScreen}\n />\n )}\n />\n <Route\n path={buildPathname(routes.themes.edit)}\n render={() => (\n <Customize\n {...{\n currentScreen,\n isApplyingTheme,\n onApplyTheme,\n onCreateTheme,\n onPropertiesChange,\n onUpdateTheme,\n }}\n theme={themeToEdit.current}\n onEditCSSClick={setCurrentScreen}\n />\n )}\n />\n </Switch>\n <MemoizedAlert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n title={t(\"neetoThemes.alerts.title.deleteTheme\")}\n message={t(\"neetoThemes.alerts.message.deleteTheme\", {\n name: themeToDelete.current?.name,\n count: themeToDelete.current?.appliedCount,\n defaultThemeName,\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`,\n { count: themeToDelete.current?.appliedCount }\n ),\n })}\n onClose={handleCloseDeleteAlert}\n onSubmit={handleDeleteTheme}\n />\n <Button\n className=\"neeto-themes-sidebar__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Sidebar;\n","import { useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { noop, isNotPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Spinner } from \"neetoui\";\n\nimport { isEditThemeRoute } from \"components/utils\";\nimport { useShowThemeEntity } from \"hooks/reactQuery/useEntitiesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/themes.scss\";\n\nimport Sidebar from \"./Sidebar\";\n\nconst NeetoThemesBuilder = ({\n children,\n entityType,\n entityId,\n thumbnail,\n onPropertiesChange,\n helpDocUrl = null,\n isTemplateThemesEnabled = false,\n onApplyThemeSuccess = noop,\n onUpdateThemeSuccess = noop,\n onApplyGlobalThemeSuccess = noop,\n}) => {\n const { setThemeState } = useThemeStore.pick();\n const { setTheme } = useThemeUtils();\n const { setConfigState } = useConfigStore.pick();\n\n const {\n data: { theme: currentTheme = {} } = {},\n isLoading,\n isFetching: isFetchingCurrentTheme,\n } = useShowThemeEntity(entityId);\n\n const isCurrentThemeLoading = isLoading || isFetchingCurrentTheme;\n\n useEffect(() => {\n setConfigState({\n entityType,\n entityId,\n isTemplateThemesEnabled,\n helpDocUrl,\n });\n }, []);\n\n useEffect(() => {\n if (isNotPresent(currentTheme) || isEditThemeRoute()) {\n return;\n }\n\n setThemeState({ previewingTheme: currentTheme });\n setTheme(currentTheme);\n }, [isLoading, entityId, currentTheme]);\n\n useEffect(() => {\n if (isNotPresent(currentTheme)) return;\n\n setThemeState({ currentTheme, isCurrentThemeLoading });\n }, [currentTheme, isCurrentThemeLoading]);\n\n return (\n <div className=\"neeto-themes__wrapper\">\n <Sidebar\n {...{\n onApplyGlobalThemeSuccess,\n onApplyThemeSuccess,\n onPropertiesChange,\n onUpdateThemeSuccess,\n thumbnail,\n }}\n />\n <div className=\"neeto-themes-preview__wrapper\">\n {isCurrentThemeLoading ? (\n <div className=\"m-auto flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n children\n )}\n </div>\n </div>\n );\n};\n\nexport default withTitle(NeetoThemesBuilder, t(\"neetoThemes.common.theme\"));\n"],"names":["show","entityId","axios","get","concat","BASE_URL","entitiesApi","useShowThemeEntity","useQuery","queryKey","QUERY_KEYS","THEME_ENTITY_DETAILS","queryFn","enabled","list","params","entity_id","id","create","payload","post","theme","update","_ref","put","destroy","clone","apply","_ref2","themeId","_objectWithoutProperties","_excluded","entity","applyGlobalTheme","_ref3","themesApi","useListThemes","_useConfigStore","useConfigStore","store","isTemplateThemesEnabled","shallow","THEMES_LIST","useFetchTheme","options","_objectSpread","THEME_DETAILS","useCreateTheme","useMutationWithInvalidation","keysToInvalidate","GLOBAL_THEME_DETAILS","useUpdateTheme","queryClient","useQueryClient","onSuccess","setQueryData","useDeleteTheme","useCloneTheme","useApplyTheme","useApplyGlobalTheme","routes","themes","index","edit","entityType","entity_type","globalThemesApi","useShowGlobalTheme","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","ACCORDIAN_OPEN_STATE","style","images","customcss","DESIGN_SCREENS","THEMES","Customize","CustomCSS","ONE_MEGABYTE","Card","_ref$title","title","children","className","_useState","useState","_useState2","_slicedToArray","accordianOpenState","setAccordianOpenState","_jsxs","hyphenate","classnames","type","onClick","_defineProperty","_jsx","Typography","component","lineHeight","weight","Down","size","isScreenCustomCSS","screen","buildPathname","route","pathname","_iterator","_createForOfIteratorHelper","location","split","_step","s","n","done","segment","isEmpty","err","e","f","onEditCSSClick","currentScreen","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","values","setFieldValue","themePropertiesSchema","customCSS","findBy","kind","properties","parentElementClass","parentClass","isCustomCssScreen","handleEditorToggle","setTimeout","scrollElementIntoView","handleChange","findIndexBy","key","setCustomCSS","css","elementId","Button","Editor","language","classNames","rounded","scrollBeyondLastLine","minimap","onChange","buildInitialValues","isPresent","map","defaultValue","_ref$order","order","dependsOn","String","filter","isNot","buildImageData","filterBy","reduce","acc","item","_values$snakeToCamelC","signedId","snakeToCamelCase","isPropertyVisible","formikValues","property","isNotPresent","hidden","conditionalKey","dependentPropertySchema","dependentProperty","_formikValues$snakeTo","url","buildLabel","buildProperties","condition","forEach","imageKeys","Set","ele","add","has","AlignmentBlock","joinHyphenCase","Field","field","form","icon","LeftAlign","tooltipProps","content","position","CenterAlign","ColorBlock","_ref$color","color","showTransparencyControl","ColorPicker","showEyeDropper","FontPickerBlock","_ref$placeholder","placeholder","Select","menuPosition","styles","option","data","fontFamily","SelectBlock","SliderBlock","min","max","marks","Slider","tooltip","formatter","SwitchBlock","switchProps","i18n","translationKey","doesHelpTextExist","exists","HelpPopover","description","Switch","Properties","onPropertiesChange","_useThemeStore","useThemeStore","setThemeState","_useThemeUtils","useThemeUtils","setVariable","setTheme","handleColorChange","hex","rgb","r","g","b","a","variableValue","handleOverlayChange","overlayColorVariable","Math","abs","useEffect","previewingTheme","_Fragment","sort","_findBy","Infinity","_findBy2","isCurrentPropertyVisible","_ref4","Number","radius","negate","opacity","_findBy3","_findBy3$options","toLabelAndValue","checked","target","ImageBlock","_ref$imageData","imageData","_ref$uploadConfig","uploadConfig","maxImageSize","attribute","propertySchema","enablePositionChanger","positionKeyInSchema","isPositionChangerVisible","positionKeyIndex","handleImageChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","image","dominantColor","wrap","_callee$","_context","prev","next","abrupt","getDominantColorFromUrl","sent","t0","Toastr","error","stop","_x","arguments","_createElement","ImageUploader","src","onUploadComplete","Images","ThemeMeta","withT","Input","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","history","useHistory","popoverInstance","setPopoverInstance","isFetchingSchema","_useParams","useParams","currentTheme","_useShowGlobalTheme","_useShowGlobalTheme$d","_useShowGlobalTheme$d2","_useShowGlobalTheme$d3","globalTheme","_useFetchTheme","isEditThemeRoute","isNotNil","initialData","undefined","_useFetchTheme$data","themeData","isLoadingTheme","isLoading","isThemeGlobalTheme","isCurrentThemeAndGlobalThemeSame","isEditingCurrentlyAppliedTheme","submitBtnRef","useRef","_useCreateTheme","createTheme","mutate","isCreating","isPending","_useUpdateTheme","updateTheme","isUpdating","isSubmitting","handleGlobalThemeSwitchChange","onSubmit","resetForm","themeToSave","propertiesAttributes","shouldSetAsGlobalTheme","replace","buildUrl","PageLoader","Form","formikProps","initialValues","validationSchema","enableReinitialize","_ref5","dirty","BlockNavigation","_ref6","Tooltip","disabled","loading","ref","Popover","appendTo","document","body","reference","trigger","Close","_popoverInstance$hide","hide","call","Trans","components","bold","i18nKey","onMount","Check","props","fill","height","viewBox","width","xmlns","rx","x","y","stroke","strokeWidth","d","strokeLinecap","strokeLinejoin","colorInterpolationFilters","filterUnits","floodOpacity","result","stdDeviation","in2","operator","Thumbnail","_theme$snakeToCamelCa","active","isPreviewing","isHighLightedTheme","_useConfigStore$theme","_themePropertiesSchem","colorObject1","colorObject2","primaryLabel","humanize","secondaryLabel","primaryColor","secondaryColor","backgroundImageUrl","useAsCardBackground","buttonBackgroundColor","useAsCardButtonBackground","backgroundImage","backgroundSize","backgroundColor","_ref$active","onSetPreviewTheme","onDeleteTheme","onEditTheme","onCloneTheme","isGlobalTheme","onApplyGlobalTheme","thumbnail","appliedCount","handleCloneTheme","handleEditTheme","handleDeleteTheme","handleApplyGlobalTheme","DefaultThumbnail","Rating","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","stopPropagation","menuItems","isVisible","isFunction","memo","Themes","_ref$themes","_ref$defaultThemes","defaultThemes","themeToHighlight","didScrollActiveThemeIntoView","isCurrentThemeLoading","themeBeingApplied","onApplyGlobalThemeSuccess","searchQuery","setSearchQuery","_useCloneTheme","cloneTheme","_useApplyGlobalTheme","isLoadingGlobalTheme","current","setPreviewTheme","filteredDefaultThemes","toLowerCase","includes","filteredThemes","isSearchFieldVisible","length","clonedTheme","Spinner","Search","autoComplete","onSearch","isNotEmpty","isActive","TitleBar","handleBackPress","handleCreateNewTheme","helpDocUrl","isCustomizeScreen","isNewThemeRoute","LeftArrow","iconPosition","helpLinkProps","href","Plus","MemoizedAlert","Alert","Sidebar","_themeToDelete$curren2","_themeToDelete$curren3","_themeToDelete$curren4","onApplyThemeSuccess","onUpdateThemeSuccess","setCurrentScreen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","setThemeToHighlight","_useState7","_useState8","setThemeBeingApplied","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState9","_useState10","isThemesSidebarCollapsed","setIsThemesSidebarCollapsed","defaultThemeName","_useListThemes","_useListThemes$data","_useListThemes$data2","_useListThemes$data2$","_useListThemes$data2$2","_useShowThemeEntity","_useShowThemeEntity$d","_useShowThemeEntity$d2","_useShowThemeEntity$d3","_useDeleteTheme","deleteTheme","isDeleting","_useApplyTheme","highlightTheme","applyTheme","themeToDelete","themeToEdit","push","navigateToThemesScreen","themeIdToHighlight","createdTheme","updatedTheme","handleDelete","handleCloseDeleteAlert","useCallback","_themeToDelete$curren","Route","exact","path","render","isOpen","message","count","onClose","Collapse","NeetoThemesBuilder","_ref$helpDocUrl","_ref$isTemplateThemes","_ref$onApplyThemeSucc","noop","_ref$onUpdateThemeSuc","_ref$onApplyGlobalThe","setConfigState","isFetchingCurrentTheme","isFetching","withTitle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,MAAI,GAAG,SAAPA,IAAIA,CAAGC,QAAQ,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAAA,EAAA,CAAAC,MAAA,CAAIC,QAAQ,EAAA,mBAAA,CAAA,CAAAD,MAAA,CAAoBH,QAAQ,CAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAE7E,IAAMK,WAAW,GAAG;AAAEN,EAAAA,IAAI,EAAJA,MAAAA;AAAK,CAAC;;ACDrB,IAAMO,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGN,QAAQ,EAAA;AAAA,EAAA,OACxCO,QAAQ,CAAC;AACPC,IAAAA,QAAQ,EAAE,CAACC,UAAU,CAACC,oBAAoB,EAAEV,QAAQ,CAAC;IACrDW,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQN,WAAW,CAACN,IAAI,CAACC,QAAQ,CAAC,CAAA;AAAA,KAAA;IACzCY,OAAO,EAAE,CAAC,CAACZ,QAAAA;AACb,GAAC,CAAC,CAAA;AAAA,CAAA;;ACVJ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;;;ACIruB,IAAMa,IAAI,GAAG,SAAPA,IAAIA,CAAGb,QAAQ,EAAA;AAAA,EAAA,OACnBC,KAAK,CAACC,GAAG,IAAAC,MAAA,CAAIC,QAAQ,EAAkB,gBAAA,CAAA,EAAA;AAAEU,IAAAA,MAAM,EAAE;AAAEC,MAAAA,SAAS,EAAEf,QAAAA;AAAS,KAAA;AAAE,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE7E,IAAMD,MAAI,GAAG,SAAPA,IAAIA,CAAGiB,EAAE,EAAA;AAAA,EAAA,OAAIf,KAAK,CAACC,GAAG,CAAA,EAAA,CAAAC,MAAA,CAAIC,QAAQ,EAAA,iBAAA,CAAA,CAAAD,MAAA,CAAkBa,EAAE,CAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/D,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAGC,OAAO,EAAA;AAAA,EAAA,OACpBjB,KAAK,CAACkB,IAAI,IAAAhB,MAAA,CAAIC,QAAQ,EAAkB,gBAAA,CAAA,EAAA;AAAEgB,IAAAA,KAAK,EAAEF,OAAAA;AAAQ,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE7D,IAAMG,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMN,EAAE,GAAAM,IAAA,CAAFN,EAAE;IAAEE,OAAO,GAAAI,IAAA,CAAPJ,OAAO,CAAA;EAAA,OAC3BjB,KAAK,CAACsB,GAAG,CAAApB,EAAAA,CAAAA,MAAA,CAAIC,QAAQ,EAAAD,iBAAAA,CAAAA,CAAAA,MAAA,CAAkBa,EAAE,CAAI,EAAA;AAAEI,IAAAA,KAAK,EAAEF,OAAAA;AAAQ,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAElE,IAAMM,OAAO,GAAG,SAAVA,OAAOA,CAAGR,EAAE,EAAA;EAAA,OAAIf,KAAK,CAAO,QAAA,CAAA,CAAA,EAAA,CAAAE,MAAA,CAAIC,QAAQ,EAAA,iBAAA,CAAA,CAAAD,MAAA,CAAkBa,EAAE,CAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAErE,IAAMS,KAAK,GAAG,SAARA,KAAKA,CAAGT,EAAE,EAAA;AAAA,EAAA,OAAIf,KAAK,CAACkB,IAAI,CAAA,EAAA,CAAAhB,MAAA,CAAIC,QAAQ,EAAA,iBAAA,CAAA,CAAAD,MAAA,CAAkBa,EAAE,EAAA,QAAA,CAAQ,CAAC,CAAA;AAAA,CAAA,CAAA;AAEvE,IAAMU,KAAK,GAAG,SAARA,KAAKA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAMC,OAAO,GAAAD,KAAA,CAAPC,OAAO;AAAKV,IAAAA,OAAO,GAAAW,wBAAA,CAAAF,KAAA,EAAAG,WAAA,CAAA,CAAA;EAAA,OAClC7B,KAAK,CAACkB,IAAI,CAAAhB,EAAAA,CAAAA,MAAA,CAAIC,QAAQ,EAAAD,iBAAAA,CAAAA,CAAAA,MAAA,CAAkByB,OAAO,EAAU,QAAA,CAAA,EAAA;AAAEG,IAAAA,MAAM,EAAEb,OAAAA;AAAQ,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/E,IAAMc,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAAML,OAAO,GAAAK,KAAA,CAAPL,OAAO;IAAEV,OAAO,GAAAe,KAAA,CAAPf,OAAO,CAAA;EAAA,OAC1CjB,KAAK,CAACkB,IAAI,CAAAhB,EAAAA,CAAAA,MAAA,CAAIC,QAAQ,EAAAD,iBAAAA,CAAAA,CAAAA,MAAA,CAAkByB,OAAO,EAAuB,qBAAA,CAAA,EAAA;AACpER,IAAAA,KAAK,EAAEF,OAAAA;AACT,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMgB,SAAS,GAAG;AAChBrB,EAAAA,IAAI,EAAJA,IAAI;AACJd,EAAAA,IAAI,EAAJA,MAAI;AACJkB,EAAAA,MAAM,EAANA,MAAM;AACNI,EAAAA,MAAM,EAANA,MAAM;AACNG,EAAAA,OAAO,EAAPA,OAAO;AACPC,EAAAA,KAAK,EAALA,KAAK;AACLC,EAAAA,KAAK,EAALA,KAAK;AACLM,EAAAA,gBAAgB,EAAhBA,gBAAAA;AACF,CAAC;;;;AC7BM,IAAMG,aAAa,GAAG,SAAhBA,aAAaA,CAAGnC,QAAQ,EAAI;AACvC,EAAA,IAAAoC,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQC,QAAAA,uBAAuB,EAAAD,KAAA,CAAA,yBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAvBD,uBAAuB,GAAAH,eAAA,CAAvBG,uBAAuB,CAAA;AAE/B,EAAA,IAAM/B,QAAQ,GAAG+B,uBAAuB,GACpC,CAAC9B,UAAU,CAACgC,WAAW,EAAEzC,QAAQ,CAAC,GAClC,CAACS,UAAU,CAACgC,WAAW,CAAC,CAAA;AAE5B,EAAA,OAAOlC,QAAQ,CAAC;AACdC,IAAAA,QAAQ,EAARA,QAAQ;IACRG,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQuB,SAAS,CAACrB,IAAI,CAACb,QAAQ,CAAC,CAAA;AAAA,KAAA;AACzC,GAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAEM,IAAM0C,aAAa,GAAG,SAAhBA,aAAaA,CAAId,OAAO,EAAEe,OAAO,EAAA;EAAA,OAC5CpC,QAAQ,CAAAqC,eAAA,CAAA;AACNpC,IAAAA,QAAQ,EAAE,CAACC,UAAU,CAACoC,aAAa,EAAEjB,OAAO,CAAC;IAC7CjB,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQuB,SAAS,CAACnC,IAAI,CAAC6B,OAAO,CAAC,CAAA;AAAA,KAAA;GACnCe,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA,CAAA,CAAA;AAEG,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,EAAA,OACzBC,2BAA2B,CAACb,SAAS,CAACjB,MAAM,EAAE;AAC5C+B,IAAAA,gBAAgB,EAAE,CAChB,CAACvC,UAAU,CAACgC,WAAW,CAAC,EACxB,CAAChC,UAAU,CAACC,oBAAoB,CAAC,EACjC,CAACD,UAAU,CAACwC,oBAAoB,CAAC,CAAA;AAErC,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEG,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGtB,OAAO,EAAI;AACvC,EAAA,IAAMuB,WAAW,GAAGC,cAAc,EAAE,CAAA;EAEpC,OAAOL,2BAA2B,CAChC,UAAA7B,OAAO,EAAA;IAAA,OAAIgB,SAAS,CAACb,MAAM,CAAC;AAAEL,MAAAA,EAAE,EAAEY,OAAO;AAAEV,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAC,CAAC,CAAA;GACrD,EAAA;IACE8B,gBAAgB,EAAE,CAChB,CAACvC,UAAU,CAACgC,WAAW,CAAC,EACxB,CAAChC,UAAU,CAACC,oBAAoB,CAAC,EACjC,CAACD,UAAU,CAACoC,aAAa,EAAEjB,OAAO,CAAC,EACnC,CAACnB,UAAU,CAACwC,oBAAoB,CAAC,CAClC;AACDI,IAAAA,SAAS,EAAE,SAAXA,SAASA,CAAA/B,IAAA,EAAiB;AAAA,MAAA,IAAZF,KAAK,GAAAE,IAAA,CAALF,KAAK,CAAA;AACjB+B,MAAAA,WAAW,CAACG,YAAY,CAAC,CAAC7C,UAAU,CAACoC,aAAa,EAAEjB,OAAO,CAAC,EAAER,KAAK,CAAC,CAAA;AACtE,KAAA;AACF,GACF,CAAC,CAAA;AACH,CAAC,CAAA;AAEM,IAAMmC,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,EAAA,OACzBR,2BAA2B,CAACb,SAAS,CAACV,OAAO,EAAE;AAC7CwB,IAAAA,gBAAgB,EAAE,CAChB,CAACvC,UAAU,CAACgC,WAAW,CAAC,EACxB,CAAChC,UAAU,CAACC,oBAAoB,CAAC,CAAA;AAErC,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEG,IAAM8C,aAAa,GAAG,SAAhBA,aAAaA,GAAA;AAAA,EAAA,OACxBT,2BAA2B,CAACb,SAAS,CAACT,KAAK,EAAE;AAC3CuB,IAAAA,gBAAgB,EAAE,CAACvC,UAAU,CAACgC,WAAW,CAAA;AAC3C,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEG,IAAMgB,aAAa,GAAG,SAAhBA,aAAaA,CAAA9B,KAAA,EAAA;AAAA,EAAA,IAAM0B,SAAS,GAAA1B,KAAA,CAAT0B,SAAS,CAAA;AAAA,EAAA,OACvCN,2BAA2B,CAACb,SAAS,CAACR,KAAK,EAAE;AAC3CsB,IAAAA,gBAAgB,EAAE,CAChB,CAACvC,UAAU,CAACgC,WAAW,CAAC,EACxB,CAAChC,UAAU,CAACC,oBAAoB,CAAC,CAClC;AACD2C,IAAAA,SAAS,EAATA,SAAAA;AACF,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEG,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAA;AAAA,EAAA,OAC9BX,2BAA2B,CAACb,SAAS,CAACF,gBAAgB,EAAE;AACtDgB,IAAAA,gBAAgB,EAAE,CAChB,CAACvC,UAAU,CAACwC,oBAAoB,CAAC,EACjC,CAACxC,UAAU,CAACgC,WAAW,CAAC,EACxB,CAAChC,UAAU,CAACC,oBAAoB,CAAC,CAAA;AAErC,GAAC,CAAC,CAAA;AAAA,CAAA;;ACpFJ,IAAMiD,MAAM,GAAG;AACbC,EAAAA,MAAM,EAAE;AACNC,IAAAA,KAAK,EAAE,SAAS;AAChBC,IAAAA,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAA,aAAA;AACP,GAAA;AACF,CAAC;;ACFD,IAAM/D,IAAI,GAAG,SAAPA,IAAIA,CAAGgE,UAAU,EAAA;AAAA,EAAA,OACrB9D,KAAK,CAACC,GAAG,IAAAC,MAAA,CAAIC,QAAQ,EAAwB,sBAAA,CAAA,EAAA;AAC3CU,IAAAA,MAAM,EAAE;AAAEkD,MAAAA,WAAW,EAAED,UAAAA;AAAW,KAAA;AACpC,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAME,eAAe,GAAG;AAAElE,EAAAA,IAAI,EAAJA,IAAAA;AAAK,CAAC;;ACJzB,IAAMmE,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGH,UAAU,EAAA;AAAA,EAAA,OAC1CxD,QAAQ,CAAC;AACPC,IAAAA,QAAQ,EAAE,CAACC,UAAU,CAACwC,oBAAoB,EAAEc,UAAU,CAAC;IACvDpD,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQsD,eAAe,CAAClE,IAAI,CAACgE,UAAU,CAAC,CAAA;AAAA,KAAA;IAC/CnD,OAAO,EAAE,CAAC,CAACmD,UAAAA;AACb,GAAC,CAAC,CAAA;AAAA,CAAA;;ACJG,IAAMI,gBAAgB,GAAG,CAC9B;AAAEC,EAAAA,KAAK,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE,MAAA;AAAO,CAAC,EAChC;AAAED,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,KAAK,EAAE,OAAA;AAAQ,CAAC,CACnC,CAAA;AAEM,IAAMC,YAAY,GAAG,CAC1B;AACEF,EAAAA,KAAK,EAAE,WAAW;AAClBC,EAAAA,KAAK,EACH,+IAAA;AACJ,CAAC,EACD;AACED,EAAAA,KAAK,EAAE,oBAAoB;AAC3BC,EAAAA,KAAK,EAAE,+BAAA;AACT,CAAC,EACD;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE,qBAAA;AAAsB,CAAC,EAClD;AAAED,EAAAA,KAAK,EAAE,QAAQ;AAAEC,EAAAA,KAAK,EAAE,oBAAA;AAAqB,CAAC,EAChD;AAAED,EAAAA,KAAK,EAAE,WAAW;AAAEC,EAAAA,KAAK,EAAE,uBAAA;AAAwB,CAAC,EACtD;AAAED,EAAAA,KAAK,EAAE,YAAY;AAAEC,EAAAA,KAAK,EAAE,wBAAA;AAAyB,CAAC,EACxD;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE,qBAAA;AAAsB,CAAC,EAClD;AAAED,EAAAA,KAAK,EAAE,WAAW;AAAEC,EAAAA,KAAK,EAAE,uBAAA;AAAwB,CAAC,EACtD;AAAED,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,KAAK,EAAE,mBAAA;AAAoB,CAAC,EAC9C;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE,qBAAA;AAAsB,CAAC,EAClD;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE,qBAAA;AAAsB,CAAC,EAClD;AAAED,EAAAA,KAAK,EAAE,eAAe;AAAEC,EAAAA,KAAK,EAAE,2BAAA;AAA4B,CAAC,EAC9D;AAAED,EAAAA,KAAK,EAAE,cAAc;AAAEC,EAAAA,KAAK,EAAE,0BAAA;AAA2B,CAAC,EAC5D;AAAED,EAAAA,KAAK,EAAE,iBAAiB;AAAEC,EAAAA,KAAK,EAAE,6BAAA;AAA8B,CAAC,EAClE;AAAED,EAAAA,KAAK,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE,aAAA;AAAc,CAAC,EACvC;AAAED,EAAAA,KAAK,EAAE,cAAc;AAAEC,EAAAA,KAAK,EAAE,qBAAA;AAAsB,CAAC,EACvD;AAAED,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,KAAK,EAAE,cAAA;AAAe,CAAC,EACzC;AAAED,EAAAA,KAAK,EAAE,kBAAkB;AAAEC,EAAAA,KAAK,EAAE,yBAAA;AAA0B,CAAC,EAC/D;AAAED,EAAAA,KAAK,EAAE,aAAa;AAAEC,EAAAA,KAAK,EAAE,oBAAA;AAAqB,CAAC,EACrD;AAAED,EAAAA,KAAK,EAAE,gBAAgB;AAAEC,EAAAA,KAAK,EAAE,yBAAA;AAA0B,CAAC,EAC7D;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE,+BAAA;AAAgC,CAAC,EAC5D;AAAED,EAAAA,KAAK,EAAE,YAAY;AAAEC,EAAAA,KAAK,EAAE,wBAAA;AAAyB,CAAC,CACzD,CAAA;AAEM,IAAME,uBAAuB,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;EACxDC,IAAI,EAAEH,GAAG,CAACI,MAAM,EAAE,CAACC,QAAQ,CAAC,kBAAkB,CAAA;AAChD,CAAC,CAAC,CAAA;AAEK,IAAMC,4BAA4B,GAAG;AAAE,EAAA,CAAC,EAAE,GAAA;AAAI,CAAC,CAAA;AAC/C,IAAMC,OAAO,GAAG,GAAG,CAAA;AAEnB,IAAMC,oBAAoB,GAAG;AAClCL,EAAAA,IAAI,EAAE,IAAI;AACVM,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,SAAS,EAAE,KAAA;AACb,CAAC;;ACvDM,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAA;AACb,CAAC,CAAA;AAEM,IAAMC,YAAY,GAAG,CAAC;;;;ACG7B,IAAMC,MAAI,GAAG,SAAPA,IAAIA,CAAAnE,IAAA,EAAkD;AAAA,EAAA,IAAAoE,UAAA,GAAApE,IAAA,CAA5CqE,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAEE,QAAQ,GAAAtE,IAAA,CAARsE,QAAQ;IAAEjB,IAAI,GAAArD,IAAA,CAAJqD,IAAI;IAAEkB,SAAS,GAAAvE,IAAA,CAATuE,SAAS,CAAA;AACnD,EAAA,IAAAC,SAAA,GACEC,QAAQ,CAACf,oBAAoB,CAAC;IAAAgB,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AADzBI,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,qBAAqB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAGhD,EAAA,oBACEI,IAAA,CAAA,KAAA,EAAA;AACE,IAAA,SAAA,EAAA,QAAA,CAAAjG,MAAA,CAAkBkG,SAAS,CAACV,KAAK,CAAC,EAAc,aAAA,CAAA;AAChDE,IAAAA,SAAS,EAAES,UAAU,CACnB,+GAA+G,EAC/GT,SAAS,EACT;AACE,MAAA,MAAM,EAAE,CAACK,kBAAkB,CAACvB,IAAI,CAAC;MACjC,MAAM,EAAEuB,kBAAkB,CAACvB,IAAI,CAAA;AACjC,KACF,CAAE;IAAAiB,QAAA,EAAA,CAEDD,KAAK,iBACJS,IAAA,CAAA,QAAA,EAAA;AACEP,MAAAA,SAAS,EAAC,uHAAuH;AACjIU,MAAAA,IAAI,EAAC,QAAQ;MACbC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OACLL,qBAAqB,CAAAvD,eAAA,CAAAA,eAAA,CAAA,EAAA,EAChBsD,kBAAkB,CAAAO,EAAAA,EAAAA,EAAAA,eAAA,CACpB9B,EAAAA,EAAAA,IAAI,EAAG,CAACuB,kBAAkB,CAACvB,IAAI,CAAC,EAClC,CAAC,CAAA;OACH;MAAAiB,QAAA,EAAA,cAEDc,GAAA,CAACC,UAAU,EAAA;AACTd,QAAAA,SAAS,EAAC,6BAA6B;AACvCe,QAAAA,SAAS,EAAC,MAAM;AAChB,QAAA,SAAA,EAAQ,kBAAkB;AAC1BC,QAAAA,UAAU,EAAC,QAAQ;AACnB5B,QAAAA,KAAK,EAAC,IAAI;AACV6B,QAAAA,MAAM,EAAC,UAAU;AAAAlB,QAAAA,QAAA,EAEhBD,KAAAA;AAAK,OACI,CAAC,eACbe,GAAA,CAACK,IAAI,EAAA;AACHC,QAAAA,IAAI,EAAE,EAAG;AACTnB,QAAAA,SAAS,EAAES,UAAU,CAAC,6BAA6B,EAAE;UACnD,YAAY,EAAEJ,kBAAkB,CAACvB,IAAI,CAAA;SACtC,CAAA;AAAE,OACJ,CAAC,CAAA;AAAA,KACI,CACT,EACAiB,QAAQ,iBACPc,GAAA,CAAA,KAAA,EAAA;AACEb,MAAAA,SAAS,EAAES,UAAU,CACnB,sGAAsG,EACtG;AACE,QAAA,4CAA4C,EAC1C,CAACJ,kBAAkB,CAACvB,IAAI,CAAC;QAC3B,+CAA+C,EAC7CuB,kBAAkB,CAACvB,IAAI,CAAA;AAC3B,OACF,CAAE;AAAAiB,MAAAA,QAAA,EAEDA,QAAAA;AAAQ,KACN,CACN,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;;;;ACnEM,IAAMqB,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,MAAM,EAAA;AAAA,EAAA,OAAIA,MAAM,KAAK9B,cAAc,CAACG,SAAS,CAAA;AAAA,CAAA,CAAA;AAEvE,IAAM4B,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAI;EACpC,IAAIC,QAAQ,GAAG,EAAE,CAAA;EAAC,IAAAC,SAAA,GAAAC,0BAAA,CACIC,QAAQ,CAACH,QAAQ,CAACI,KAAK,CAAC,GAAG,CAAC,CAAA;IAAAC,KAAA,CAAA;AAAA,EAAA,IAAA;IAAlD,KAAAJ,SAAA,CAAAK,CAAA,EAAAD,EAAAA,CAAAA,CAAAA,KAAA,GAAAJ,SAAA,CAAAM,CAAA,EAAAC,EAAAA,IAAA,GAAoD;AAAA,MAAA,IAAzCC,OAAO,GAAAJ,KAAA,CAAArD,KAAA,CAAA;AAChB,MAAA,IAAI0D,OAAO,CAACD,OAAO,CAAC,EAAE;AACpB,QAAA,SAAA;AACF,OAAA;MAEA,IAAIA,OAAO,KAAK,QAAQ,EAAE;AACxB,QAAA,MAAA;AACF,OAAA;AACAT,MAAAA,QAAQ,IAAAlH,GAAAA,CAAAA,MAAA,CAAQ2H,OAAO,CAAE,CAAA;AAC3B,KAAA;AAAC,GAAA,CAAA,OAAAE,GAAA,EAAA;IAAAV,SAAA,CAAAW,CAAA,CAAAD,GAAA,CAAA,CAAA;AAAA,GAAA,SAAA;AAAAV,IAAAA,SAAA,CAAAY,CAAA,EAAA,CAAA;AAAA,GAAA;AAED,EAAA,OAAA,EAAA,CAAA/H,MAAA,CAAUkH,QAAQ,CAAAlH,CAAAA,MAAA,CAAGiH,KAAK,CAAA,CAAA;AAC5B,CAAC;;ACLD,IAAM7B,SAAS,GAAG,SAAZA,SAASA,CAAAjE,IAAA,EAA0C;AAAA,EAAA,IAApC6G,cAAc,GAAA7G,IAAA,CAAd6G,cAAc;IAAEC,aAAa,GAAA9G,IAAA,CAAb8G,aAAa,CAAA;AAChD,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAC,iBAAA,GAAkCC,gBAAgB,EAAE;IAA5CC,MAAM,GAAAF,iBAAA,CAANE,MAAM;IAAEC,aAAa,GAAAH,iBAAA,CAAbG,aAAa,CAAA;AAC7B,EAAA,IAAAvG,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQsG,QAAAA,qBAAqB,EAAAtG,KAAA,CAAA,uBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAArBoG,qBAAqB,GAAAxG,eAAA,CAArBwG,qBAAqB,CAAA;EAE7B,IAAMC,SAAS,GAAGC,MAAM,CAAC;AAAEC,IAAAA,IAAI,EAAE,YAAA;AAAa,GAAC,EAAEL,MAAM,CAACM,UAAU,CAAC,CAAA;AAEnE,EAAA,IAAI,CAACH,SAAS,EAAE,OAAO,IAAI,CAAA;EAE3B,IAAMI,kBAAkB,GAAGH,MAAM,CAC/B;AAAEC,IAAAA,IAAI,EAAE,YAAA;AAAa,GAAC,EACtBH,qBACF,CAAC,CAACM,WAAW,CAAA;AAEb,EAAA,IAAMC,iBAAiB,GAAGlC,iBAAiB,CAACmB,aAAa,CAAC,CAAA;AAE1D,EAAA,IAAMgB,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;IAC/B,IAAI,CAACD,iBAAiB,EAAE,OAAOhB,cAAc,CAAC/C,cAAc,CAACG,SAAS,CAAC,CAAA;AACvE4C,IAAAA,cAAc,CAAC/C,cAAc,CAACE,SAAS,CAAC,CAAA;IAExC,OAAO+D,UAAU,CAAC,YAAM;MACtBC,qBAAqB,CAAC,YAAY,CAAC,CAAA;KACpC,EAAE,GAAG,CAAC,CAAA;GACR,CAAA;AAED,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAGlF,KAAK,EAAI;IAC5B,IAAMR,KAAK,GAAG2F,WAAW,CAAC;MAAEC,GAAG,EAAEZ,SAAS,CAACY,GAAAA;AAAI,KAAC,EAAEf,MAAM,CAACM,UAAU,CAAC,CAAA;AAEpE,IAAA,IAAInF,KAAK,KAAK,CAAC,CAAC,IAAI6E,MAAM,CAACM,UAAU,CAACnF,KAAK,CAAC,CAACQ,KAAK,KAAKA,KAAK,EAAE;AAC5DsE,MAAAA,aAAa,eAAAxI,MAAA,CAAe0D,KAAK,EAAA,SAAA,CAAA,EAAWQ,KAAK,CAAC,CAAA;AAClDqF,MAAAA,YAAY,CAAC;AACXC,QAAAA,GAAG,EAAEtF,KAAK;QACVuF,SAAS,EAAEf,SAAS,CAACY,GAAG;AACxBR,QAAAA,kBAAkB,EAAlBA,kBAAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;AAED,EAAA,oBACEvC,GAAA,CAAA,KAAA,EAAA;AAAKb,IAAAA,SAAS,EAAC,0CAA0C;AAAC7E,IAAAA,EAAE,EAAC,YAAY;IAAA4E,QAAA,eACvEc,GAAA,CAACjB,MAAI,EAAA;AACHd,MAAAA,IAAI,EAAC,WAAW;MAChBgB,KAAK,EACHwD,iBAAiB,GACb,EAAE,GACFZ,CAAC,CAAC,gDAAgD,CACvD;AAAA3C,MAAAA,QAAA,eAEDQ,IAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,QAAQ;AAAAD,QAAAA,QAAA,gBACrBc,GAAA,CAAA,KAAA,EAAA;AAAKb,UAAAA,SAAS,EAAC,4FAA4F;UAAAD,QAAA,eACzGc,GAAA,CAACmD,MAAM,EAAA;AACL7C,YAAAA,IAAI,EAAC,OAAO;AACZ/B,YAAAA,KAAK,EAAC,WAAW;YACjBb,KAAK,EACH+E,iBAAiB,GACbZ,CAAC,CAAC,oCAAoC,CAAC,GACvCA,CAAC,CAAC,kCAAkC,CACzC;AACD/B,YAAAA,OAAO,EAAE4C,kBAAAA;WACV,CAAA;AAAC,SACC,CAAC,eACN1C,GAAA,CAACoD,MAAM,EAAA;AACLC,UAAAA,QAAQ,EAAC,KAAK;AACd3I,UAAAA,KAAK,EAAC,SAAS;UACfiD,KAAK,EAAEwE,SAAS,CAACxE,KAAM;UACvBwB,SAAS,EAAEmE,UAAU,CAAC;AACpBC,YAAAA,OAAO,EAAE,IAAI;AACb,YAAA,6BAA6B,EAAEd,iBAAiB;AAChD,YAAA,4BAA4B,EAAE,CAACA,iBAAAA;AACjC,WAAC,CAAE;AACHxG,UAAAA,OAAO,EAAE;AACPuH,YAAAA,oBAAoB,EAAE,KAAK;AAC3BC,YAAAA,OAAO,EAAE;AAAEvJ,cAAAA,OAAO,EAAE,KAAA;AAAM,aAAA;WAC1B;AACFwJ,UAAAA,QAAQ,EAAEb,YAAAA;AAAa,SACxB,CAAC,CAAA;OACC,CAAA;KACD,CAAA;AAAC,GACJ,CAAC,CAAA;AAEV,CAAC;;;;AC3EM,IAAMc,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIjJ,KAAK,EAAEwH,qBAAqB,EAAK;AAClE,EAAA,IAAI0B,SAAS,CAAClJ,KAAK,CAAC,EAAE,OAAOA,KAAK,CAAA;EAElC,OAAO;AACLuD,IAAAA,IAAI,EAAE4D,GAAC,CAAC,+DAA+D,CAAC;AACxES,IAAAA,UAAU,EAAEJ,qBAAqB,CAC9B2B,GAAG,CAAC,UAAAjJ,IAAA,EAA0D;AAAA,MAAA,IAAvDmI,GAAG,GAAAnI,IAAA,CAAHmI,GAAG;QAAEV,IAAI,GAAAzH,IAAA,CAAJyH,IAAI;QAAEyB,YAAY,GAAAlJ,IAAA,CAAZkJ,YAAY;QAAAC,UAAA,GAAAnJ,IAAA,CAAEoJ,KAAK;AAALA,QAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,UAAA;QAAEE,SAAS,GAAArJ,IAAA,CAATqJ,SAAS,CAAA;AACtD,MAAA,QAAQ5B,IAAI;AACV,QAAA,KAAK,OAAO;AACV,UAAA,OAAAnG,eAAA,CAAA;AACEyB,YAAAA,KAAK,EAAEmG,YAAY;AACnBzB,YAAAA,IAAI,EAAE,OAAO;AACbU,YAAAA,GAAG,EAAHA,GAAG;AACHkB,YAAAA,SAAS,EAATA,SAAAA;WACID,EAAAA,KAAK,KAAK,IAAI,IAAI;AAAEA,YAAAA,KAAK,EAALA,KAAAA;WAAO,CAAA,CAAA;AAEnC,QAAA,KAAK,aAAa;AAChB,UAAA,OAAA9H,eAAA,CAAA;AACEyB,YAAAA,KAAK,EACH,+IAA+I;AACjJ0E,YAAAA,IAAI,EAAE,aAAa;AACnBU,YAAAA,GAAG,EAAHA,GAAG;AACHkB,YAAAA,SAAS,EAATA,SAAAA;WACID,EAAAA,KAAK,KAAK,IAAI,IAAI;AAAEA,YAAAA,KAAK,EAALA,KAAAA;WAAO,CAAA,CAAA;AAEnC,QAAA,KAAK,iBAAiB;AACpB,UAAA,OAAA9H,eAAA,CAAA;AACEyB,YAAAA,KAAK,EAAE,CAAC;AACR0E,YAAAA,IAAI,EAAE,iBAAiB;AACvBU,YAAAA,GAAG,EAAHA,GAAG;AACHkB,YAAAA,SAAS,EAATA,SAAAA;WACID,EAAAA,KAAK,KAAK,IAAI,IAAI;AAAEA,YAAAA,KAAK,EAALA,KAAAA;WAAO,CAAA,CAAA;AAEnC,QAAA,KAAK,QAAQ;AACX,UAAA,OAAA9H,eAAA,CAAA;AACEyB,YAAAA,KAAK,EAAE,CAAC;AACR0E,YAAAA,IAAI,EAAE,QAAQ;AACdU,YAAAA,GAAG,EAAHA,GAAG;AACHkB,YAAAA,SAAS,EAATA,SAAAA;WACID,EAAAA,KAAK,KAAK,IAAI,IAAI;AAAEA,YAAAA,KAAK,EAALA,KAAAA;WAAO,CAAA,CAAA;AAEnC,QAAA,KAAK,QAAQ;AACX,UAAA,OAAA9H,eAAA,CAAA;AACEyB,YAAAA,KAAK,EAAEmG,YAAY;AACnBzB,YAAAA,IAAI,EAAE,QAAQ;AACdU,YAAAA,GAAG,EAAHA,GAAG;AACHkB,YAAAA,SAAS,EAATA,SAAAA;WACID,EAAAA,KAAK,KAAK,IAAI,IAAI;AAAEA,YAAAA,KAAK,EAALA,KAAAA;WAAO,CAAA,CAAA;AAEnC,QAAA,KAAK,SAAS;AACZ,UAAA,OAAA9H,eAAA,CAAA;AACEyB,YAAAA,KAAK,EAAEuG,MAAM,CAACJ,YAAY,CAAC;AAC3BzB,YAAAA,IAAI,EAAE,SAAS;AACfU,YAAAA,GAAG,EAAHA,GAAG;AACHkB,YAAAA,SAAS,EAATA,SAAAA;WACID,EAAAA,KAAK,KAAK,IAAI,IAAI;AAAEA,YAAAA,KAAK,EAALA,KAAAA;WAAO,CAAA,CAAA;AAEnC,QAAA,KAAK,gBAAgB;AACnB,UAAA,OAAA9H,eAAA,CAAA;AACEyB,YAAAA,KAAK,EAAEmG,YAAY;AACnBzB,YAAAA,IAAI,EAAE,gBAAgB;AACtBU,YAAAA,GAAG,EAAHA,GAAG;AACHkB,YAAAA,SAAS,EAATA,SAAAA;WACID,EAAAA,KAAK,KAAK,IAAI,IAAI;AAAEA,YAAAA,KAAK,EAALA,KAAAA;WAAO,CAAA,CAAA;AAEnC,QAAA,KAAK,iBAAiB;AACpB,UAAA,OAAA9H,eAAA,CAAA;AACEyB,YAAAA,KAAK,EAAEmG,YAAY;AACnBzB,YAAAA,IAAI,EAAE,iBAAiB;AACvBU,YAAAA,GAAG,EAAHA,GAAG;AACHkB,YAAAA,SAAS,EAATA,SAAAA;WACID,EAAAA,KAAK,KAAK,IAAI,IAAI;AAAEA,YAAAA,KAAK,EAALA,KAAAA;WAAO,CAAA,CAAA;AAEnC,QAAA,KAAK,YAAY;AACf,UAAA,OAAA9H,eAAA,CAAA;AACEyB,YAAAA,KAAK,EAAEmG,YAAY;AACnBzB,YAAAA,IAAI,EAAE,YAAY;AAClBU,YAAAA,GAAG,EAAHA,GAAG;AACHkB,YAAAA,SAAS,EAATA,SAAAA;WACID,EAAAA,KAAK,KAAK,IAAI,IAAI;AAAEA,YAAAA,KAAK,EAALA,KAAAA;WAAO,CAAA,CAAA;AAEnC,QAAA;AACE,UAAA,OAAO,IAAI,CAAA;AACf,OAAA;AACF,KAAC,CAAC,CACDG,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC,CAAA;GACtB,CAAA;AACH,CAAC,CAAA;AAEM,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIrC,MAAM,EAAEE,qBAAqB,EAAA;AAAA,EAAA,OAC1DoC,QAAQ,CAAC;AAAEjC,IAAAA,IAAI,EAAE,OAAA;GAAS,EAAEH,qBAAqB,CAAC,CAACqC,MAAM,CAAC,UAACC,GAAG,EAAEC,IAAI,EAAK;AAAA,IAAA,IAAAC,qBAAA,CAAA;AACvE,IAAA,IAAMC,QAAQ,GAAAD,CAAAA,qBAAA,GAAG1C,MAAM,CAAC4C,gBAAgB,CAACH,IAAI,CAAC1B,GAAG,CAAC,CAAC,MAAA,IAAA,IAAA2B,qBAAA,KAAlCA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAoCC,QAAQ,CAAA;AAC7DH,IAAAA,GAAG,CAACC,IAAI,CAAC1B,GAAG,CAAC,GAAG4B,QAAQ,CAAA;AAExB,IAAA,OAAOH,GAAG,CAAA;GACX,EAAE,EAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAED,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI9B,GAAG,EAAE+B,YAAY,EAAE5C,qBAAqB,EAAK;EAC7E,IAAM6C,QAAQ,GAAG3C,MAAM,CAAC;AAAEW,IAAAA,GAAG,EAAHA,GAAAA;GAAK,EAAEb,qBAAqB,CAAC,CAAA;AAEvD,EAAA,IAAI8C,YAAY,CAACD,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAA;EAExC,IAAIA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,IAARA,QAAQ,CAAEE,MAAM,EAAE,OAAO,KAAK,CAAA;EAElC,IAAMC,cAAc,GAAGH,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEd,SAAS,CAAA;AAC1C,EAAA,IAAIe,YAAY,CAACE,cAAc,CAAC,EAAE,OAAO,IAAI,CAAA;EAE7C,IAAMC,uBAAuB,GAAG/C,MAAM,CACpC;AAAEW,IAAAA,GAAG,EAAEmC,cAAAA;GAAgB,EACvBhD,qBACF,CAAC,CAAA;EAED,IAAMkD,iBAAiB,GAAGhD,MAAM,CAC9B;AAAEW,IAAAA,GAAG,EAAEmC,cAAAA;AAAe,GAAC,EACvBJ,YAAY,CAACxC,UACf,CAAC,CAAA;AAED,EAAA,IAAI6C,uBAAuB,CAAC9C,IAAI,KAAK,OAAO,EAAE;AAAA,IAAA,IAAAgD,qBAAA,CAAA;AAC5C,IAAA,OAAOzB,SAAS,CAAAyB,CAAAA,qBAAA,GAACP,YAAY,CAACF,gBAAgB,CAACM,cAAc,CAAC,CAAC,MAAAG,IAAAA,IAAAA,qBAAA,uBAA9CA,qBAAA,CAAgDC,GAAG,CAAC,CAAA;AACvE,GAAC,MAAM,IAAIH,uBAAuB,CAAC9C,IAAI,KAAK,SAAS,EAAE;IACrD,OAAO,CAAA+C,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,uBAAjBA,iBAAiB,CAAEzH,KAAK,MAAK,OAAO,CAAA;AAC7C,GAAA;EAEA,OAAOiG,SAAS,CAACwB,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,CAAEzH,KAAK,CAAC,CAAA;AAC5C,CAAC,CAAA;AAEM,IAAM4H,UAAU,GAAG,SAAbA,UAAUA,CAAIxC,GAAG,EAAEV,IAAI,EAAA;AAAA,EAAA,OAClCR,GAAC,CAAApI,yBAAAA,CAAAA,MAAA,CAC2BmL,gBAAgB,CAACvC,IAAI,CAAC,EAAA5I,GAAAA,CAAAA,CAAAA,MAAA,CAAImL,gBAAgB,CAAC7B,GAAG,CAAC,CAC3E,CAAC,CAAA;AAAA,CAAA,CAAA;AAEI,IAAMyC,eAAe,GAAG,SAAlBA,eAAeA,CAAIxD,MAAM,EAAEyD,SAAS,EAAEvD,qBAAqB,EAAK;AAC3EF,EAAAA,MAAM,CAAC0D,OAAO,CAAC,UAAA/H,KAAK,EAAI;AACtBuE,IAAAA,qBAAqB,CAACwD,OAAO,CAAC,UAAAhL,KAAK,EAAI;MACrC,IAAI,EAAEiD,KAAK,CAACoF,GAAG,KAAKrI,KAAK,CAACqI,GAAG,CAAC,EAAE,OAAA;AAChCpF,MAAAA,KAAK,CAACsG,SAAS,GAAGvJ,KAAK,CAACuJ,SAAS,CAAA;AACnC,KAAC,CAAC,CAAA;AACJ,GAAC,CAAC,CAAA;AAEF,EAAA,IAAIwB,SAAS,EAAE;AACb,IAAA,OAAOnB,QAAQ,CAAC;AAAEL,MAAAA,SAAS,EAAEwB,SAAAA;KAAW,EAAEzD,MAAM,CAAC,CAAA;AACnD,GAAA;AAEA,EAAA,IAAM2D,SAAS,GAAG,IAAIC,GAAG,EAAE,CAAA;AAC3BtB,EAAAA,QAAQ,CAAC;AAAEjC,IAAAA,IAAI,EAAE,OAAA;AAAQ,GAAC,EAAEH,qBAAqB,CAAC,CAACwD,OAAO,CAAC,UAAAG,GAAG,EAAA;AAAA,IAAA,OAC5DF,SAAS,CAACG,GAAG,CAACD,GAAG,CAAC9C,GAAG,CAAC,CAAA;AAAA,GACxB,CAAC,CAAA;EAED,OAAOf,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEmC,MAAM,CAAC,UAAAlJ,KAAA,EAAA;AAAA,IAAA,IAAGgJ,SAAS,GAAAhJ,KAAA,CAATgJ,SAAS,CAAA;AAAA,IAAA,OAAO,CAAC0B,SAAS,CAACI,GAAG,CAAC9B,SAAS,CAAC,CAAA;GAAC,CAAA,CAAA;AACrE,CAAC;;ACnKD,IAAM+B,cAAc,GAAG,SAAjBA,cAAcA,CAAApL,IAAA,EAAA;AAAA,EAAA,IAAM8C,KAAK,GAAA9C,IAAA,CAAL8C,KAAK;IAAEO,IAAI,GAAArD,IAAA,CAAJqD,IAAI,CAAA;AAAA,EAAA,oBACnCyB,IAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAC,yCAAyC;IACnD,SAAS8G,EAAAA,cAAc,CAACvI,KAAK,CAAE;IAAAwB,QAAA,EAAA,cAE/Bc,GAAA,CAACC,UAAU,EAAA;AAAC,MAAA,SAAA,EAAQ,qBAAqB;AAAC1B,MAAAA,KAAK,EAAC,OAAO;AAAAW,MAAAA,QAAA,EACpDxB,KAAAA;AAAK,KACI,CAAC,eACbsC,GAAA,CAACkG,KAAK,EAAA;AAAOjI,MAAAA,IAAI,EAAJA,IAAI;MAAAiB,QAAA,EACd,SAAAA,QAAAA,CAAAjE,KAAA,EAAA;AAAA,QAAA,IAAY0C,KAAK,GAAA1C,KAAA,CAAdkL,KAAK,CAAIxI,KAAK;AAAYsE,UAAAA,aAAa,GAAAhH,KAAA,CAArBmL,IAAI,CAAInE,aAAa,CAAA;AAAA,QAAA,oBACzCvC,IAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,qFAAqF;UAAAD,QAAA,EAAA,cAClGc,GAAA,CAACmD,MAAM,EAAA;AACLhE,YAAAA,SAAS,EAAC,uFAAuF;AACjG,YAAA,SAAA,EAAQ,gBAAgB;AACxBmB,YAAAA,IAAI,EAAC,QAAQ;AACb/B,YAAAA,KAAK,EAAEZ,KAAK,KAAK,MAAM,GAAG,SAAS,GAAG,MAAO;YAC7C0I,IAAI,EAAE,SAANA,IAAIA,GAAA;cAAA,oBACFrG,GAAA,CAACsG,SAAS,EAAA;AACRhG,gBAAAA,IAAI,EAAE,EAAG;gBACTnB,SAAS,EAAES,UAAU,CAAC;AACpB2D,kBAAAA,OAAO,EAAE,IAAI;kBACb,2BAA2B,EAAE5F,KAAK,KAAK,MAAM;kBAC7C,wBAAwB,EAAEA,KAAK,KAAK,MAAA;iBACrC,CAAA;AAAE,eACJ,CAAC,CAAA;aACF;AACF4I,YAAAA,YAAY,EAAE;AACZC,cAAAA,OAAO,EAAE,YAAY;AACrBC,cAAAA,QAAQ,EAAE,QAAA;aACV;YACF3G,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,cAAA,OAAQmC,aAAa,CAAChE,IAAI,EAAE,MAAM,CAAC,CAAA;AAAA,aAAA;WAC3C,CAAC,eACF+B,GAAA,CAAA,KAAA,EAAA;AAAKb,YAAAA,SAAS,EAAC,qCAAA;AAAqC,WAAE,CAAC,eACvDa,GAAA,CAACmD,MAAM,EAAA;AACLhE,YAAAA,SAAS,EAAC,yFAAyF;AACnG,YAAA,SAAA,EAAQ,kBAAkB;AAC1BmB,YAAAA,IAAI,EAAC,QAAQ;AACb/B,YAAAA,KAAK,EAAEZ,KAAK,KAAK,QAAQ,GAAG,SAAS,GAAG,MAAO;YAC/C0I,IAAI,EAAE,SAANA,IAAIA,GAAA;cAAA,oBACFrG,GAAA,CAAC0G,WAAW,EAAA;AACVpG,gBAAAA,IAAI,EAAE,EAAG;gBACTnB,SAAS,EAAES,UAAU,CAAC;AACpB2D,kBAAAA,OAAO,EAAE,IAAI;kBACb,2BAA2B,EAAE5F,KAAK,KAAK,QAAQ;kBAC/C,wBAAwB,EAAEA,KAAK,KAAK,QAAA;iBACrC,CAAA;AAAE,eACJ,CAAC,CAAA;aACF;AACF4I,YAAAA,YAAY,EAAE;AACZC,cAAAA,OAAO,EAAE,cAAc;AACvBC,cAAAA,QAAQ,EAAE,QAAA;aACV;YACF3G,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,cAAA,OAAQmC,aAAa,CAAChE,IAAI,EAAE,QAAQ,CAAC,CAAA;AAAA,aAAA;AAAC,WAC9C,CAAC,CAAA;AAAA,SACC,CAAC,CAAA;AAAA,OAAA;AACP,KACI,CAAC,CAAA;AAAA,GACL,CAAC,CAAA;AAAA,CACP;;AC7DD,IAAM0I,UAAU,GAAG,SAAbA,UAAUA,CAAA/L,IAAA,EAAA;AAAA,EAAA,IACd8C,KAAK,GAAA9C,IAAA,CAAL8C,KAAK;IAAAkJ,UAAA,GAAAhM,IAAA,CACLiM,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,UAAA;IACjBlD,QAAQ,GAAA9I,IAAA,CAAR8I,QAAQ;IACRoD,uBAAuB,GAAAlM,IAAA,CAAvBkM,uBAAuB,CAAA;AAAA,EAAA,oBAEvBpH,IAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAC,mCAAmC;AAC7C,IAAA,SAAA,EAAA,cAAA,CAAA1F,MAAA,CAAwBwM,cAAc,CAACvI,KAAK,CAAC,CAAG;IAAAwB,QAAA,EAAA,cAEhDc,GAAA,CAACC,UAAU,EAAA;AAAC,MAAA,SAAA,EAAQ,qBAAqB;AAAC1B,MAAAA,KAAK,EAAC,OAAO;AAAAW,MAAAA,QAAA,EACpDxB,KAAAA;AAAK,KACI,CAAC,eACbsC,GAAA,CAAC+G,WAAW,EAAA;AACJF,MAAAA,KAAK,EAALA,KAAK;AAAEnD,MAAAA,QAAQ,EAARA,QAAQ;AAAEoD,MAAAA,uBAAuB,EAAvBA,uBAAuB;MAC9CE,cAAc,EAAA,IAAA;AACd1G,MAAAA,IAAI,EAAC,QAAA;AAAQ,KACd,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAAA,CACP;;;;ACnBD,IAAM2G,eAAe,GAAG,SAAlBA,eAAeA,CAAArM,IAAA,EAAA;AAAA,EAAA,IACnB8C,KAAK,GAAA9C,IAAA,CAAL8C,KAAK;IAAAwJ,gBAAA,GAAAtM,IAAA,CACLuM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAChBvJ,KAAK,GAAA/C,IAAA,CAAL+C,KAAK;IACL1B,OAAO,GAAArB,IAAA,CAAPqB,OAAO;IACPyH,QAAQ,GAAA9I,IAAA,CAAR8I,QAAQ,CAAA;AAAA,EAAA,oBAERhE,IAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAC,mCAAmC;AAC7C,IAAA,SAAA,EAAA,cAAA,CAAA1F,MAAA,CAAwBwM,cAAc,CAACvI,KAAK,CAAC,CAAG;IAAAwB,QAAA,EAAA,cAEhDc,GAAA,CAACC,UAAU,EAAA;AAAC,MAAA,SAAA,EAAQ,qBAAqB;AAAC1B,MAAAA,KAAK,EAAC,OAAO;AAAAW,MAAAA,QAAA,EACpDxB,KAAAA;KACS,CAAC,eACbsC,GAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,MAAM;MAAAD,QAAA,eACnBc,GAAA,CAACoH,MAAM,EAAA;AACC1D,QAAAA,QAAQ,EAARA,QAAQ;AAAEzH,QAAAA,OAAO,EAAPA,OAAO;AAAEkL,QAAAA,WAAW,EAAXA,WAAW;AAAExJ,QAAAA,KAAK,EAALA,KAAK;AAC3C0J,QAAAA,YAAY,EAAC,OAAO;AACpBC,QAAAA,MAAM,EAAE;AACNC,UAAAA,MAAM,EAAE,SAARA,MAAMA,CAAGD,MAAM,EAAArM,KAAA,EAAA;AAAA,YAAA,IAAIuM,IAAI,GAAAvM,KAAA,CAAJuM,IAAI,CAAA;AAAA,YAAA,OAAAtL,eAAA,CAAAA,eAAA,CAAA,EAAA,EAClBoL,MAAM,CAAA,EAAA,EAAA,EAAA;cACTG,UAAU,EAAED,IAAI,CAAC7J,KAAAA;AAAK,aAAA,CAAA,CAAA;AAAA,WAAA;AAE1B,SAAA;OACD,CAAA;AAAC,KACC,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAAA,CACP;;AC3BD,IAAM+J,WAAW,GAAG,SAAdA,WAAWA,CAAA9M,IAAA,EAAA;AAAA,EAAA,IAAM8C,KAAK,GAAA9C,IAAA,CAAL8C,KAAK;IAAAwJ,gBAAA,GAAAtM,IAAA,CAAEuM,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAEvJ,KAAK,GAAA/C,IAAA,CAAL+C,KAAK;IAAE1B,OAAO,GAAArB,IAAA,CAAPqB,OAAO;IAAEyH,QAAQ,GAAA9I,IAAA,CAAR8I,QAAQ,CAAA;AAAA,EAAA,oBACtEhE,IAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAC,mCAAmC;AAC7C,IAAA,SAAA,EAAA,cAAA,CAAA1F,MAAA,CAAwBwM,cAAc,CAACvI,KAAK,CAAC,CAAG;IAAAwB,QAAA,EAAA,cAEhDc,GAAA,CAACC,UAAU,EAAA;AAAC,MAAA,SAAA,EAAQ,mBAAmB;AAAC1B,MAAAA,KAAK,EAAC,OAAO;AAAAW,MAAAA,QAAA,EAClDxB,KAAAA;KACS,CAAC,eACbsC,GAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,MAAM;MAAAD,QAAA,eACnBc,GAAA,CAACoH,MAAM,EAAA;AAAO1D,QAAAA,QAAQ,EAARA,QAAQ;AAAEzH,QAAAA,OAAO,EAAPA,OAAO;AAAEkL,QAAAA,WAAW,EAAXA,WAAW;AAAExJ,QAAAA,KAAK,EAALA,KAAAA;OAAU,CAAA;AAAC,KACtD,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAAA,CACP;;ACXD,IAAMgK,WAAW,GAAG,SAAdA,WAAWA,CAAA/M,IAAA,EAAA;AAAA,EAAA,IAAM8C,KAAK,GAAA9C,IAAA,CAAL8C,KAAK;IAAEgG,QAAQ,GAAA9I,IAAA,CAAR8I,QAAQ;IAAE/F,KAAK,GAAA/C,IAAA,CAAL+C,KAAK;IAAEiK,GAAG,GAAAhN,IAAA,CAAHgN,GAAG;IAAEC,GAAG,GAAAjN,IAAA,CAAHiN,GAAG;IAAEC,KAAK,GAAAlN,IAAA,CAALkN,KAAK,CAAA;AAAA,EAAA,oBAC5DpI,IAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAC,yCAAyC;AACnD,IAAA,SAAA,EAAA,cAAA,CAAA1F,MAAA,CAAwBwM,cAAc,CAACvI,KAAK,CAAC,CAAG;IAAAwB,QAAA,EAAA,cAEhDc,GAAA,CAACC,UAAU,EAAA;AAAC,MAAA,SAAA,EAAQ,qBAAqB;AAAC1B,MAAAA,KAAK,EAAC,OAAO;AAAAW,MAAAA,QAAA,EACpDxB,KAAAA;AAAK,KACI,CAAC,eACbsC,GAAA,CAAC+H,MAAM,EAAA;AACCD,MAAAA,KAAK,EAALA,KAAK;AAAED,MAAAA,GAAG,EAAHA,GAAG;AAAED,MAAAA,GAAG,EAAHA,GAAG;AAAElE,MAAAA,QAAQ,EAARA,QAAQ;AAAE/F,MAAAA,KAAK,EAALA,KAAK;AACtCwB,MAAAA,SAAS,EAAC,WAAW;AACrB6I,MAAAA,OAAO,EAAE;AAAEC,QAAAA,SAAS,EAAE,IAAA;AAAK,OAAA;AAAE,KAC9B,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAAA,CACP;;;;;ACbD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAtN,IAAA,EAAwC;AAAA,EAAA,IAAlC8C,KAAK,GAAA9C,IAAA,CAAL8C,KAAK;IAAEO,IAAI,GAAArD,IAAA,CAAJqD,IAAI;AAAKkK,IAAAA,WAAW,GAAAhN,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA,CAAA;AAChD,EAAA,IAAAuG,eAAA,GAAoBC,cAAc,EAAE;IAA5BC,CAAC,GAAAF,eAAA,CAADE,CAAC;IAAEuG,IAAI,GAAAzG,eAAA,CAAJyG,IAAI,CAAA;AAEf,EAAA,IAAMC,cAAc,GAAA,iCAAA,CAAA5O,MAAA,CAAqCwE,IAAI,EAAU,UAAA,CAAA,CAAA;AACvE,EAAA,IAAMqK,iBAAiB,GAAGF,IAAI,CAACG,MAAM,CAACF,cAAc,CAAC,CAAA;AAErD,EAAA,oBACE3I,IAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAC,mCAAmC;AAC7C,IAAA,SAAA,EAAQ,gCAAgC;AAAAD,IAAAA,QAAA,gBAExCQ,IAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,gCAAgC;MAAAD,QAAA,EAAA,cAC7Cc,GAAA,CAACC,UAAU,EAAA;AACT,QAAA,SAAA,EAAQ,qBAAqB;AAC7B1B,QAAAA,KAAK,EAAC,OAAO;QACbY,SAAS,EAAES,UAAU,CAAC;AACpB,UAAA,MAAM,EAAE0I,iBAAiB;AACzB,UAAA,QAAQ,EAAE,CAACA,iBAAAA;AACb,SAAC,CAAE;AAAApJ,QAAAA,QAAA,EAEFxB,KAAAA;AAAK,OACI,CAAC,EACZ4K,iBAAiB,iBAChBtI,GAAA,CAACwI,WAAW,EAAA;AACVrJ,QAAAA,SAAS,EAAC,eAAe;QACzBsJ,WAAW,EAAE5G,CAAC,CAACwG,cAAc,CAAA;AAAE,OAChC,CACF,CAAA;KACE,CAAC,eACNrI,GAAA,CAAC0I,MAAM,EAAAxM,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAA;AACC+B,MAAAA,IAAI,EAAJA,IAAAA;AAAI,KAAA,EAAKkK,WAAW,CAAA,CAAA,EAAA,EAAA,EAAA;MAC1B,SAAQ,EAAA,gCAAA;AAAgC,KAAA,CACzC,CAAC,CAAA;AAAA,GACC,CAAC,CAAA;AAEV,CAAC;;ACVD,IAAMQ,UAAU,GAAG,SAAbA,UAAUA,CAAA/N,IAAA,EAA0C;AAAA,EAAA,IAApCgO,kBAAkB,GAAAhO,IAAA,CAAlBgO,kBAAkB;IAAEnD,SAAS,GAAA7K,IAAA,CAAT6K,SAAS,CAAA;AACjD,EAAA,IAAA/J,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQsG,QAAAA,qBAAqB,EAAAtG,KAAA,CAAA,uBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAArBoG,qBAAqB,GAAAxG,eAAA,CAArBwG,qBAAqB,CAAA;AAC7B,EAAA,IAAA2G,cAAA,GAAAC,aAAA,CAAA,UAAAlN,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQmN,QAAAA,aAAa,EAAAnN,KAAA,CAAA,eAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAbiN,aAAa,GAAAF,cAAA,CAAbE,aAAa,CAAA;AACrB,EAAA,IAAAjH,iBAAA,GAAkCC,gBAAgB,EAAE;IAA5CE,aAAa,GAAAH,iBAAA,CAAbG,aAAa;IAAED,MAAM,GAAAF,iBAAA,CAANE,MAAM,CAAA;AAC7B,EAAA,IAAAgH,cAAA,GAAkCC,aAAa,EAAE;IAAzCC,WAAW,GAAAF,cAAA,CAAXE,WAAW;IAAEC,QAAQ,GAAAH,cAAA,CAARG,QAAQ,CAAA;AAE7B,EAAA,IAAMC,iBAAiB,GACrB,SADIA,iBAAiBA,CACrBnL,IAAI,EAAA;IAAA,OACJ,UAAAhD,KAAA,EAAkB;AAAA,MAAA,IAAfoO,GAAG,GAAApO,KAAA,CAAHoO,GAAG;QAAEC,GAAG,GAAArO,KAAA,CAAHqO,GAAG,CAAA;AACTzG,MAAAA,YAAY,CAAC5E,IAAI,EAAEoL,GAAG,EAAA5P,EAAAA,CAAAA,MAAA,CAAK6P,GAAG,CAACC,CAAC,EAAA9P,IAAAA,CAAAA,CAAAA,MAAA,CAAK6P,GAAG,CAACE,CAAC,EAAA/P,IAAAA,CAAAA,CAAAA,MAAA,CAAK6P,GAAG,CAACG,CAAC,EAAAhQ,IAAAA,CAAAA,CAAAA,MAAA,CAAK6P,GAAG,CAACI,CAAC,CAAE,CAAC,CAAA;KAClE,CAAA;AAAA,GAAA,CAAA;EAEH,IAAM7G,YAAY,GAAG,SAAfA,YAAYA,CAAI5E,IAAI,EAAEN,KAAK,EAAEgM,aAAa,EAAK;IACnD,IAAMxM,KAAK,GAAG2F,WAAW,CAAC;AAAEC,MAAAA,GAAG,EAAE9E,IAAAA;AAAK,KAAC,EAAE+D,MAAM,CAACM,UAAU,CAAC,CAAA;AAC3D,IAAA,IAAInF,KAAK,KAAK,CAAC,CAAC,IAAI6E,MAAM,CAACM,UAAU,CAACnF,KAAK,CAAC,CAACQ,KAAK,KAAKA,KAAK,EAAE;AAC5DsE,MAAAA,aAAa,eAAAxI,MAAA,CAAe0D,KAAK,EAAA,SAAA,CAAA,EAAWQ,KAAK,CAAC,CAAA;AACpD,KAAA;AACAuL,IAAAA,WAAW,CAACtE,gBAAgB,CAAC3G,IAAI,CAAC,EAAE0L,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,KAAA,CAAA,GAAbA,aAAa,GAAIhM,KAAK,CAAC,CAAA;GAC5D,CAAA;EAED,IAAMiM,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAI7G,GAAG,EAAEpF,KAAK,EAAK;IAC1C,IAAMR,KAAK,GAAG2F,WAAW,CAAC;AAAEC,MAAAA,GAAG,EAAHA,GAAAA;AAAI,KAAC,EAAEf,MAAM,CAACM,UAAU,CAAC,CAAA;AACrD,IAAA,IAAMuH,oBAAoB,GAAA,EAAA,CAAApQ,MAAA,CAAMsJ,GAAG,EAAgB,gBAAA,CAAA,CAAA;AAEnDd,IAAAA,aAAa,eAAAxI,MAAA,CAAe0D,KAAK,EAAA,SAAA,CAAA,EAAWQ,KAAK,CAAC,CAAA;AAClDuL,IAAAA,WAAW,CAAAzP,EAAAA,CAAAA,MAAA,CAAIsJ,GAAG,EAAoB+G,kBAAAA,CAAAA,EAAAA,IAAI,CAACC,GAAG,CAACpM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAA;IAC5D,IAAIA,KAAK,GAAG,CAAC,EAAE;AACbkF,MAAAA,YAAY,CAACgH,oBAAoB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAC1D,KAAC,MAAM;AACLhH,MAAAA,YAAY,CAACgH,oBAAoB,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;AAChE,KAAA;GACD,CAAA;AAEDG,EAAAA,SAAS,CAAC,YAAM;IACdpB,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAG5G,MAAM,EAAEa,YAAY,EAAEuG,iBAAiB,CAAC,CAAA;IAC7DD,QAAQ,CAACnH,MAAM,CAAC,CAAA;AAChB+G,IAAAA,aAAa,CAAC;AAAEkB,MAAAA,eAAe,EAAEjI,MAAAA;AAAO,KAAC,CAAC,CAAA;AAC5C,GAAC,EAAE,CAACA,MAAM,CAAC,CAAC,CAAA;EAEZ,oBACEhC,GAAA,CAAAkK,QAAA,EAAA;IAAAhL,QAAA,EACGsG,eAAe,CAACxD,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEM,UAAU,EAAEmD,SAAS,EAAEvD,qBAAqB,CAAC,CACnEiI,IAAI,CAAC,UAACT,CAAC,EAAED,CAAC,EAAK;AACd,MAAA,IAAMzF,KAAK,GAAG,SAARA,KAAKA,CAAGjB,GAAG,EAAA;AAAA,QAAA,IAAAqH,OAAA,CAAA;AAAA,QAAA,OACf,CAAAA,CAAAA,OAAA,GAAAhI,MAAM,CAAC;AAAEW,UAAAA,GAAG,EAAHA,GAAAA;SAAK,EAAEb,qBAAqB,CAAC,MAAAkI,IAAAA,IAAAA,OAAA,uBAAtCA,OAAA,CAAwCpG,KAAK,KAAIqG,QAAQ,CAAA;AAAA,OAAA,CAAA;AAE3D,MAAA,OAAOrG,KAAK,CAAC0F,CAAC,CAAC3G,GAAG,CAAC,GAAGiB,KAAK,CAACyF,CAAC,CAAC1G,GAAG,CAAC,CAAA;AACpC,KAAC,CAAC,CACDc,GAAG,CAAC,UAAAtI,KAAA,EAA0B;AAAA,MAAA,IAAA+O,QAAA,CAAA;AAAA,MAAA,IAAvBvH,GAAG,GAAAxH,KAAA,CAAHwH,GAAG;QAAEpF,KAAK,GAAApC,KAAA,CAALoC,KAAK;QAAE0E,IAAI,GAAA9G,KAAA,CAAJ8G,IAAI,CAAA;MACtB,IAAMkI,wBAAwB,GAAG1F,iBAAiB,CAChD9B,GAAG,EACHf,MAAM,EACNE,qBACF,CAAC,CAAA;AAED,MAAA,IAAI,CAACqI,wBAAwB,EAAE,OAAO,IAAI,CAAA;AAE1C,MAAA,QAAQlI,IAAI;AACV,QAAA,KAAK,aAAa;UAChB,oBACErC,GAAA,CAACiH,eAAe,EAAA;AAEdvJ,YAAAA,KAAK,EAAE6H,UAAU,CAACxC,GAAG,EAAEV,IAAI,CAAE;AAC7BpG,YAAAA,OAAO,EAAE2B,YAAa;YACtBD,KAAK,EAAEyE,MAAM,CAAC;cAAEzE,KAAK,EAAEA,KAAK,IAAI,IAAA;aAAM,EAAEC,YAAY,CAAE;AACtD8F,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAA8G,KAAA,EAAA;AAAA,cAAA,IAAK7M,KAAK,GAAA6M,KAAA,CAAL7M,KAAK,CAAA;AAAA,cAAA,OAAOkF,YAAY,CAACE,GAAG,EAAEpF,KAAK,CAAC,CAAA;AAAA,aAAA;AAAC,WAAA,EAJ7CoF,GAKN,CAAC,CAAA;AAGN,QAAA,KAAK,OAAO;UACV,oBACE/C,GAAA,CAAC2G,UAAU,EAAA;AACTE,YAAAA,KAAK,EAAElJ,KAAM;AAEbD,YAAAA,KAAK,EAAE6H,UAAU,CAACxC,GAAG,EAAEV,IAAI,CAAE;AAC7ByE,YAAAA,uBAAuB,EACrB,CAAA,CAAAwD,QAAA,GAAAlI,MAAM,CAAC;AAAEW,cAAAA,GAAG,EAAHA,GAAAA;aAAK,EAAEb,qBAAqB,CAAC,MAAAoI,IAAAA,IAAAA,QAAA,uBAAtCA,QAAA,CACIxD,uBAAuB,KAAI,KAChC;YACDpD,QAAQ,EAAE0F,iBAAiB,CAACrG,GAAG,CAAA;AAAE,WAAA,EAN5BA,GAON,CAAC,CAAA;AAGN,QAAA,KAAK,QAAQ;UACX,oBACE/C,GAAA,CAAC2H,WAAW,EAAA;AAEVjK,YAAAA,KAAK,EAAE6H,UAAU,CAACxC,GAAG,EAAEV,IAAI,CAAE;AAC7BwF,YAAAA,GAAG,EAAE,EAAG;AACRD,YAAAA,GAAG,EAAE,CAAE;AACPjK,YAAAA,KAAK,EAAE8M,MAAM,CAAC9M,KAAK,CAAC,IAAI,CAAE;AAC1B+F,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEgH,MAAM,EAAA;cAAA,OAAI7H,YAAY,CAACE,GAAG,EAAE2H,MAAM,KAAAjR,MAAA,CAAKiR,MAAM,EAAA,IAAA,CAAI,CAAC,CAAA;AAAA,aAAA;AAAC,WAAA,EALxD3H,GAMN,CAAC,CAAA;AAGN,QAAA,KAAK,iBAAiB;UACpB,oBACE/C,GAAA,CAAC2H,WAAW,EAAA;AAEVjK,YAAAA,KAAK,EAAE6H,UAAU,CAACxC,GAAG,EAAEV,IAAI,CAAE;AAC7ByF,YAAAA,KAAK,EAAE1J,4BAA6B;AACpCyJ,YAAAA,GAAG,EAAExJ,OAAQ;AACbuJ,YAAAA,GAAG,EAAE+C,MAAM,CAACtM,OAAO,CAAE;AACrBV,YAAAA,KAAK,EAAE8M,MAAM,CAAC9M,KAAK,CAAC,IAAI,CAAE;AAC1B+F,YAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEkH,OAAO,EAAA;AAAA,cAAA,OAAIhB,mBAAmB,CAAC7G,GAAG,EAAE6H,OAAO,CAAC,CAAA;AAAA,aAAA;AAAC,WAAA,EANlD7H,GAON,CAAC,CAAA;AAGN,QAAA,KAAK,mBAAmB;AAAE,UAAA;YAAA,IAAA8H,QAAA,EAAAC,gBAAA,CAAA;YACxB,IAAM3N,KAAK,GAAG2F,WAAW,CAAC;AAAEC,cAAAA,GAAG,EAAHA,GAAAA;AAAI,aAAC,EAAEf,MAAM,CAACM,UAAU,CAAC,CAAA;AACrD,YAAA,IAAMrG,OAAO,GAAA,CAAA4O,QAAA,GAAGzI,MAAM,CACpB;AAAEW,cAAAA,GAAG,EAAHA,GAAAA;AAAI,aAAC,EACPb,qBACF,CAAC,cAAA2I,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAC,gBAAA,GAHeD,QAAA,CAGb5O,OAAO,MAAA,IAAA,IAAA6O,gBAAA,KAHMA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAGJjH,GAAG,CAACkH,eAAe,CAAC,CAAA;YAEhC,oBACE/K,GAAA,CAAC0H,WAAW,EAAA;AAEVhK,cAAAA,KAAK,EAAE6H,UAAU,CAACxC,GAAG,EAAEV,IAAI,CAAE;cAC7BpG,OAAO,EAAEA,OAAO,IAAIwB,gBAAiB;AACrC0J,cAAAA,WAAW,EAAC,MAAM;AAClBxJ,cAAAA,KAAK,EAAEoN,eAAe,CAACpN,KAAK,CAAE;AAC9B+F,cAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE6D,MAAM,EAAA;gBAAA,OACdtF,aAAa,eAAAxI,MAAA,CAAe0D,KAAK,EAAWoK,SAAAA,CAAAA,EAAAA,MAAM,CAAC5J,KAAK,CAAC,CAAA;AAAA,eAAA;AAC1D,aAAA,EAPIoF,GAQN,CAAC,CAAA;AAEN,WAAA;AAEA,QAAA,KAAK,SAAS;AAAE,UAAA;YACd,IAAM5F,MAAK,GAAG2F,WAAW,CAAC;AAAEC,cAAAA,GAAG,EAAHA,GAAAA;AAAI,aAAC,EAAEf,MAAM,CAACM,UAAU,CAAC,CAAA;YAErD,oBACEtC,GAAA,CAACkI,WAAW,EAAA;cACV8C,OAAO,EAAErN,KAAK,KAAK,OAAQ;AAE3BD,cAAAA,KAAK,EAAE6H,UAAU,CAACxC,GAAG,EAAEV,IAAI,CAAE;AAC7BpE,cAAAA,IAAI,EAAE2G,gBAAgB,CAAC7B,GAAG,CAAE;AAC5BW,cAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEnC,CAAC,EAAA;AAAA,gBAAA,OACTU,aAAa,CAAA,aAAA,CAAAxI,MAAA,CACG0D,MAAK,EACnB+G,SAAAA,CAAAA,EAAAA,MAAM,CAAC3C,CAAC,CAAC0J,MAAM,CAACD,OAAO,CACzB,CAAC,CAAA;AAAA,eAAA;AACF,aAAA,EARIjI,GASN,CAAC,CAAA;AAEN,WAAA;AAEA,QAAA,KAAK,iBAAiB;AAAE,UAAA;YACtB,IAAM5F,OAAK,GAAG2F,WAAW,CAAC;AAAEC,cAAAA,GAAG,EAAHA,GAAAA;AAAI,aAAC,EAAEf,MAAM,CAACM,UAAU,CAAC,CAAA;YAErD,oBACEtC,GAAA,CAACgG,cAAc,EAAA;AACbtI,cAAAA,KAAK,EAAE6H,UAAU,CAACxC,GAAG,EAAEV,IAAI,CAAE;cAC7BpE,IAAI,EAAA,aAAA,CAAAxE,MAAA,CAAgB0D,OAAK,EAAA,SAAA,CAAA;AAAU,aACpC,CAAC,CAAA;AAEN,WAAA;AAEA,QAAA;AACE,UAAA,OAAO,IAAI,CAAA;AACf,OAAA;KACD,CAAA;AAAC,GACJ,CAAC,CAAA;AAEP,CAAC;;AClLD,IAAM+N,UAAU,GAAG,SAAbA,UAAUA,CAAAtQ,IAAA,EAMV;AAAA,EAAA,IAAAwP,OAAA,CAAA;AAAA,EAAA,IALJ1M,KAAK,GAAA9C,IAAA,CAAL8C,KAAK;IACLO,IAAI,GAAArD,IAAA,CAAJqD,IAAI;IAAAkN,cAAA,GAAAvQ,IAAA,CACJwQ,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,cAAA;IAAAE,iBAAA,GAAAzQ,IAAA,CACd0Q,YAAY;IAAZA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,YAAY,EAAEzM,YAAAA;AAAa,KAAC,GAAAuM,iBAAA;IAC7CG,SAAS,GAAA5Q,IAAA,CAAT4Q,SAAS,CAAA;AAET,EAAA,IAAA7J,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAC,iBAAA,GAAkCC,gBAAgB,EAAE;IAA5CE,aAAa,GAAAH,iBAAA,CAAbG,aAAa;IAAED,MAAM,GAAAF,iBAAA,CAANE,MAAM,CAAA;AAC7B,EAAA,IAAAtG,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQsG,QAAAA,qBAAqB,EAAAtG,KAAA,CAAA,uBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAArBoG,qBAAqB,GAAAxG,eAAA,CAArBwG,qBAAqB,CAAA;EAE7B,IAAMuJ,cAAc,GAAGrJ,MAAM,CAAC;AAAEW,IAAAA,GAAG,EAAEyI,SAAAA;GAAW,EAAEtJ,qBAAqB,CAAC,CAAA;EAExE,IAAMwJ,qBAAqB,GAAG,CAAAD,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEC,qBAAqB,KAAI,KAAK,CAAA;EAC5E,IAAMzP,OAAO,GAAGwP,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,CAAExP,OAAO,CAAA;EAEvC,IAAM0P,mBAAmB,GAAGvJ,MAAM,CAChC;IAAEW,GAAG,EAAA,EAAA,CAAAtJ,MAAA,CAAKwE,IAAI,EAAA,WAAA,CAAA;GAAa,EAC3BiE,qBACF,CAAC,CAAA;AAED,EAAA,IAAM0J,wBAAwB,GAC5BF,qBAAqB,KAAIN,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE9F,GAAG,CAAA,IAAI1B,SAAS,CAAC+H,mBAAmB,CAAC,CAAA;EAE3E,IAAME,gBAAgB,GAAG/I,WAAW,CAClC;IAAEC,GAAG,EAAA,EAAA,CAAAtJ,MAAA,CAAKwE,IAAI,EAAA,WAAA,CAAA;AAAY,GAAC,EAC3B+D,MAAM,CAACM,UACT,CAAC,CAAA;AAED,EAAA,IAAMwJ,iBAAiB,gBAAA,YAAA;IAAA,IAAA7Q,KAAA,GAAA8Q,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,CAAMC,KAAK,EAAA;AAAA,MAAA,IAAAC,aAAA,CAAA;AAAA,MAAA,OAAAJ,mBAAA,CAAAK,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,IAAA,EAE7BnL,OAAO,CAAC8K,KAAK,CAACxH,QAAQ,CAAC,IAAItD,OAAO,CAAC8K,KAAK,CAAC7G,GAAG,CAAC,CAAA,EAAA;AAAAiH,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YAC/CxK,aAAa,CAAChE,IAAI,EAAE;AAAE0G,cAAAA,QAAQ,EAAE,IAAI;cAAEW,GAAG,EAAE6G,KAAK,CAAC7G,GAAAA;AAAI,aAAC,CAAC,CAAA;YAAC,OAAAiH,QAAA,CAAAG,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAH,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAK9BE,uBAAuB,CAACR,KAAK,CAAC7G,GAAG,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAxD8G,aAAa,GAAAG,QAAA,CAAAK,IAAA,CAAA;YAEnB3K,aAAa,CAAChE,IAAI,EAAE;cAClB0G,QAAQ,EAAEwH,KAAK,CAACxH,QAAQ;cACxBW,GAAG,EAAE6G,KAAK,CAAC7G,GAAG;AACd8G,cAAAA,aAAa,EAAbA,aAAAA;AACF,aAAC,CAAC,CAAA;AAACG,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,EAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;YAAAD,QAAA,CAAAM,EAAA,GAAAN,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEHO,YAAAA,MAAM,CAACC,KAAK,CAAAR,QAAA,CAAAM,EAAM,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAN,QAAA,CAAAS,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAd,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;KAEvB,CAAA,CAAA,CAAA;IAAA,OAlBKJ,SAAAA,iBAAiBA,CAAAmB,EAAA,EAAA;AAAA,MAAA,OAAAhS,KAAA,CAAAD,KAAA,CAAA,IAAA,EAAAkS,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GAkBtB,EAAA,CAAA;AAED,EAAA,oBACExN,IAAA,CAAA,KAAA,EAAA;AACEP,IAAAA,SAAS,EAAC,WAAW;IACrB,SAAA1F,EAAAA,cAAAA,CAAAA,MAAA,CAAwBiE,KAAK,GAAGuI,cAAc,CAACvI,KAAK,CAAC,GAAG,aAAa,CAAG;IAAAwB,QAAA,EAAA,CAEvExB,KAAK,iBACJsC,GAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,mCAAmC;MAAAD,QAAA,eAChDc,GAAA,CAACC,UAAU,EAAA;AAAC,QAAA,SAAA,EAAQ,qBAAqB;AAAC1B,QAAAA,KAAK,EAAC,OAAO;AAAAW,QAAAA,QAAA,EACpDxB,KAAAA;OACS,CAAA;KACT,CACN,eACDgC,IAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,WAAW;MAAAD,QAAA,EAAA,cACxBiO,aAAA,CAACC,aAAa,EAAA;AACN9B,QAAAA,YAAY,EAAZA,YAAY;AAClBnM,QAAAA,SAAS,EAAC,aAAa;AACvB4D,QAAAA,GAAG,EAAEqI,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE9F,GAAI;AACpB+H,QAAAA,GAAG,EAAEjC,SAAS,KAAA,IAAA,IAATA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAE9F,GAAI;AACpBgI,QAAAA,gBAAgB,EAAExB,iBAAAA;AAAkB,OACrC,CAAC,EACDF,wBAAwB,iBACvB5L,GAAA,CAAC0H,WAAW,EAAA;QACVhK,KAAK,EAAE6H,UAAU,CAAA9L,EAAAA,CAAAA,MAAA,CAAIwE,IAAI,EAAA,UAAA,CAAA,EAAY,OAAO,CAAE;QAC9ChC,OAAO,EAAEA,OAAO,IAAIwB,gBAAiB;AACrC0J,QAAAA,WAAW,EAAEtF,CAAC,CAAC,yBAAyB,CAAE;AAC1ClE,QAAAA,KAAK,EAAEoN,eAAe,CACpB,EAAAX,OAAA,GAAAhI,MAAM,CAAC;UAAEW,GAAG,EAAA,EAAA,CAAAtJ,MAAA,CAAKwE,IAAI,EAAA,WAAA,CAAA;SAAa,EAAE+D,MAAM,CAACM,UAAU,CAAC,MAAA8H,IAAAA,IAAAA,OAAA,uBAAtDA,OAAA,CAAwDzM,KAAK,MAC3DgO,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAmB,CAAE7H,YAAY,CACrC,CAAE;AACFJ,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE6D,MAAM,EAAA;UAAA,OACdtF,aAAa,eAAAxI,MAAA,CACGoS,gBAAgB,EAC9BtE,SAAAA,CAAAA,EAAAA,MAAM,CAAC5J,KACT,CAAC,CAAA;AAAA,SAAA;AACF,OACF,CACF,CAAA;AAAA,KACE,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV,CAAC;;ACjGD,IAAM4P,MAAM,GAAG,SAATA,MAAMA,CAAA3S,IAAA,EAAqD;AAAA,EAAA,IAA/C4Q,SAAS,GAAA5Q,IAAA,CAAT4Q,SAAS;IAAErM,SAAS,GAAAvE,IAAA,CAATuE,SAAS;IAAEyJ,kBAAkB,GAAAhO,IAAA,CAAlBgO,kBAAkB,CAAA;AACxD,EAAA,IAAA9G,iBAAA,GAAmBC,gBAAgB,EAAE;IAA7BC,MAAM,GAAAF,iBAAA,CAANE,MAAM,CAAA;AAEd,EAAA,IAAMe,GAAG,GAAG6B,gBAAgB,CAAC4G,SAAS,CAAC,CAAA;AACvC,EAAA,IAAMvM,KAAK,GAAGsG,UAAU,CAACxC,GAAG,EAAE,OAAO,CAAC,CAAA;AACtC,EAAA,IAAMqI,SAAS,GAAGpJ,MAAM,CAACe,GAAG,CAAC,CAAA;EAE7B,oBACErD,IAAA,CAACX,MAAI,EAAA;AAAOI,IAAAA,SAAS,EAATA,SAAS;AAAEF,IAAAA,KAAK,EAALA,KAAK;AAAIhB,IAAAA,IAAI,EAAC,QAAQ;IAAAiB,QAAA,EAAA,cAC3Cc,GAAA,CAACkL,UAAU,EAAA;AAAOM,MAAAA,SAAS,EAATA,SAAS;AAAEJ,MAAAA,SAAS,EAATA,SAAS;AAAInN,MAAAA,IAAI,EAAE8E,GAAAA;AAAI,KAAE,CAAC,eACvD/C,GAAA,CAAC2I,UAAU,EAAA;AAAOC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAAInD,MAAAA,SAAS,EAAE+F,SAAAA;AAAU,KAAE,CAAC,CAAA;AAAA,GAC5D,CAAC,CAAA;AAEX,CAAC;;ACjBD,IAAMgC,SAAS,GAAGC,KAAK,CAAC,UAAA7S,IAAA,EAAA;AAAA,EAAA,IAAGiH,CAAC,GAAAjH,IAAA,CAADiH,CAAC;IAAE1C,SAAS,GAAAvE,IAAA,CAATuE,SAAS,CAAA;EAAA,oBACrCa,GAAA,CAACjB,MAAI,EAAA;AAAOI,IAAAA,SAAS,EAATA,SAAS;AAAIlB,IAAAA,IAAI,EAAC,MAAM;AAACgB,IAAAA,KAAK,EAAE4C,CAAC,CAAC,yBAAyB,CAAE;IAAA3C,QAAA,eACvEc,GAAA,CAAC0N,KAAK,EAAA;MAACC,SAAS,EAAA,IAAA;AAAC,MAAA,SAAA,EAAQ,qBAAqB;AAAC1P,MAAAA,IAAI,EAAC,MAAA;KAAQ,CAAA;AAAC,GACzD,CAAC,CAAA;AAAA,CACR,CAAC;;;;ACyBF,IAAMW,SAAS,GAAG,SAAZA,SAASA,CAAAhE,IAAA,EAST;AAAA,EAAA,IARJF,KAAK,GAAAE,IAAA,CAALF,KAAK;IACLkT,aAAa,GAAAhT,IAAA,CAAbgT,aAAa;IACbC,YAAY,GAAAjT,IAAA,CAAZiT,YAAY;IACZC,aAAa,GAAAlT,IAAA,CAAbkT,aAAa;IACbC,eAAe,GAAAnT,IAAA,CAAfmT,eAAe;IACfnF,kBAAkB,GAAAhO,IAAA,CAAlBgO,kBAAkB;IAClBnH,cAAc,GAAA7G,IAAA,CAAd6G,cAAc;IACdC,aAAa,GAAA9G,IAAA,CAAb8G,aAAa,CAAA;AAEb,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAMmM,OAAO,GAAGC,UAAU,EAAE,CAAA;AAE5B,EAAA,IAAA7O,SAAA,GAA8CC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAnD8O,IAAAA,eAAe,GAAA5O,UAAA,CAAA,CAAA,CAAA;AAAE6O,IAAAA,kBAAkB,GAAA7O,UAAA,CAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAA5D,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQsG,QAAAA,qBAAqB,EAAAtG,KAAA,CAAA,uBAAA,CAAA;AAAEyB,QAAAA,UAAU,EAAAzB,KAAA,CAAA,YAAA,CAAA;AAAEwS,QAAAA,gBAAgB,EAAAxS,KAAA,CAAA,kBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAnDoG,qBAAqB,GAAAxG,eAAA,CAArBwG,qBAAqB;IAAE7E,UAAU,GAAA3B,eAAA,CAAV2B,UAAU;IAAE+Q,gBAAgB,GAAA1S,eAAA,CAAhB0S,gBAAgB,CAAA;AAG3D,EAAA,IAAAC,UAAA,GAAoBC,SAAS,EAAE;IAAvBpT,OAAO,GAAAmT,UAAA,CAAPnT,OAAO,CAAA;AAEf,EAAA,IAAA2N,cAAA,GAAAC,aAAA,CAAA,UAAAlN,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQ2S,QAAAA,YAAY,EAAA3S,KAAA,CAAA,cAAA,CAAA;AAAEmN,QAAAA,aAAa,EAAAnN,KAAA,CAAA,eAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAA3ByS,YAAY,GAAA1F,cAAA,CAAZ0F,YAAY;IAAExF,aAAa,GAAAF,cAAA,CAAbE,aAAa,CAAA;AAEnC,EAAA,IAAAyF,mBAAA,GAA4ChR,kBAAkB,CAACH,UAAU,CAAC;IAAAoR,qBAAA,GAAAD,mBAAA,CAAlEhH,IAAI;AAAAkH,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAyB,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAAvBE,WAAW;AAAXA,IAAAA,WAAW,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA,CAAA;AAEhC,EAAA,IAAAE,cAAA,GAAiD7S,aAAa,CAACd,OAAO,EAAE;MACtEhB,OAAO,EAAE4U,gBAAgB,EAAE,IAAIC,QAAQ,CAAC7T,OAAO,CAAC;AAChD8T,MAAAA,WAAW,EAAEtU,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAIuU,SAAAA;AACxB,KAAC,CAAC;IAAAC,mBAAA,GAAAL,cAAA,CAHMrH,IAAI;AAAE2H,IAAAA,SAAS,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA;IAAEE,cAAc,GAAAP,cAAA,CAAdO,cAAc,CAAA;AAK5C,EAAA,IAAMC,SAAS,GAAGjB,gBAAgB,IAAIgB,cAAc,CAAA;AACpD,EAAA,IAAME,kBAAkB,GAAGpU,OAAO,IAAI,CAAA0T,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEtU,EAAE,MAAKY,OAAO,CAAA;AACjE,EAAA,IAAMqU,gCAAgC,GAAG,CAAAhB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEjU,EAAE,OAAKsU,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEtU,EAAE,CAAA,CAAA;EAE7E,IAAMkV,8BAA8B,GAAGtU,OAAO,MAAKqT,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEjU,EAAE,CAAA,CAAA;AAEnE,EAAA,IAAMmV,YAAY,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AAEjC,EAAA,IAAAC,eAAA,GAAuDvT,cAAc,EAAE;IAAvDwT,WAAW,GAAAD,eAAA,CAAnBE,MAAM;IAA0BC,UAAU,GAAAH,eAAA,CAArBI,SAAS,CAAA;AACtC,EAAA,IAAAC,eAAA,GACExT,cAAc,CAACtB,OAAO,CAAC;IADT+U,WAAW,GAAAD,eAAA,CAAnBH,MAAM;IAA0BK,UAAU,GAAAF,eAAA,CAArBD,SAAS,CAAA;AAGtC,EAAA,IAAMI,YAAY,GAAGL,UAAU,IAAII,UAAU,CAAA;AAE7C,EAAA,IAAMzN,iBAAiB,GAAGlC,iBAAiB,CAACmB,aAAa,CAAC,CAAA;EAE1D,IAAM0O,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAI7O,CAAC,EAAEU,aAAa,EAAK;IAC1DA,aAAa,CAAC,wBAAwB,EAAEV,CAAC,CAAC0J,MAAM,CAACD,OAAO,CAAC,CAAA;GAC1D,CAAA;EAED,IAAMqF,QAAQ,GAAG,SAAXA,QAAQA,CAAIrO,MAAM,EAAA/G,KAAA,EAAoB;AAAA,IAAA,IAAhBqV,SAAS,GAAArV,KAAA,CAATqV,SAAS,CAAA;AACnC,IAAA,IAAMlF,SAAS,GAAG/G,cAAc,CAACrC,MAAM,EAAEE,qBAAqB,CAAC,CAAA;IAC/D,IAAMqO,WAAW,GAAArU,eAAA,CAAA;MACfsU,oBAAoB,EAAExO,MAAM,CAACM,UAAU;MACvCrE,IAAI,EAAE+D,MAAM,CAAC/D,IAAI;MACjBwS,sBAAsB,EAAEzO,MAAM,CAACyO,sBAAsB;MACrDpT,UAAU,EAAE2E,MAAM,CAAC3E,UAAAA;AAAU,KAAA,EAC1B+N,SAAS,CACb,CAAA;IAED,IAAI,CAAClQ,OAAO,EAAE;MACZ,OAAO0U,WAAW,CAACW,WAAW,EAAE;AAC9B5T,QAAAA,SAAS,EAAE,SAAXA,SAASA,CAAApB,KAAA,EAAiB;AAAA,UAAA,IAAZb,KAAK,GAAAa,KAAA,CAALb,KAAK,CAAA;AACjB4V,UAAAA,SAAS,CAAC;AAAEtO,YAAAA,MAAM,EAAEtH,KAAAA;AAAM,WAAC,CAAC,CAAA;UAC5BkT,aAAa,CAAClT,KAAK,CAAC,CAAA;AACpBsT,UAAAA,OAAO,CAAC0C,OAAO,CACbC,QAAQ,CAAClQ,aAAa,CAACxD,MAAM,CAACC,MAAM,CAACE,IAAI,CAAC,EAAE;YAAElC,OAAO,EAAER,KAAK,CAACJ,EAAAA;AAAG,WAAC,CACnE,CAAC,CAAA;AACH,SAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAA;IAEA,OAAO2V,WAAW,CAACM,WAAW,EAAE;AAC9B5T,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAA6N,KAAA,EAAiB;AAAA,QAAA,IAAZ9P,KAAK,GAAA8P,KAAA,CAAL9P,KAAK,CAAA;QACjBoT,aAAa,CAACpT,KAAK,CAAC,CAAA;AACpB4V,QAAAA,SAAS,CAAC;AAAEtO,UAAAA,MAAM,EAAEtH,KAAAA;AAAM,SAAC,CAAC,CAAA;AAC9B,OAAA;AACF,KAAC,CAAC,CAAA;GACH,CAAA;AAEDsP,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAI+E,QAAQ,CAAC7T,OAAO,CAAC,IAAI,CAACkU,cAAc,EAAE;AACxCrG,MAAAA,aAAa,CAAC;AAAEkB,QAAAA,eAAe,EAAEkF,SAAAA;AAAU,OAAC,CAAC,CAAA;AAC/C,KAAA;AACF,GAAC,EAAE,CAACC,cAAc,CAAC,CAAC,CAAA;AAEpB,EAAA,IAAIC,SAAS,EAAE;AACb,IAAA,oBAAOrP,GAAA,CAAC4Q,UAAU,EAAA,EAAE,CAAC,CAAA;AACvB,GAAA;EAEA,oBACE5Q,GAAA,CAAC6Q,IAAI,EAAA;AACHC,IAAAA,WAAW,EAAE;MACXC,aAAa,EAAA7U,eAAA,CAAAA,eAAA,CAAA,EAAA,EACRyH,kBAAkB,CAACwL,SAAS,EAAEjN,qBAAqB,CAAC,CAAA,EAAA,EAAA,EAAA;AACvDuO,QAAAA,sBAAsB,EAAEnB,kBAAkB;AAC1CjS,QAAAA,UAAU,EAAVA,UAAAA;OACD,CAAA;AACD2T,MAAAA,gBAAgB,EAAEnT,uBAAuB;AACzCoT,MAAAA,kBAAkB,EAAE,IAAI;AACxBZ,MAAAA,QAAQ,EAARA,QAAAA;KACA;IAAAnR,QAAA,EAED,SAAAA,QAAAA,CAAAgS,KAAA,EAAA;AAAA,MAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;QAAEnP,MAAM,GAAAkP,KAAA,CAANlP,MAAM;QAAEC,aAAa,GAAAiP,KAAA,CAAbjP,aAAa,CAAA;AAAA,MAAA,oBAC9BvC,IAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,8BAA8B;AAAAD,QAAAA,QAAA,gBAC3CQ,IAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,gFAAgF;AAAAD,UAAAA,QAAA,EAC5F,CAAA,CAACiR,YAAY,iBAAInQ,GAAA,CAACoR,eAAe,EAAA,EAAE,CAAC,eACrCpR,GAAA,CAACwN,SAAS,EAAA;YAACrO,SAAS,EAAEmE,UAAU,CAAC;AAAE2B,cAAAA,MAAM,EAAExC,iBAAAA;aAAmB,CAAA;AAAE,WAAE,CAAC,eACnEzC,GAAA,CAACjB,MAAI,EAAA;YACHI,SAAS,EAAEmE,UAAU,CAAC;AAAE2B,cAAAA,MAAM,EAAExC,iBAAAA;AAAkB,aAAC,CAAE;AACrDxE,YAAAA,IAAI,EAAC,OAAO;AACZgB,YAAAA,KAAK,EAAE4C,CAAC,CAAC,0BAA0B,CAAE;YAAA3C,QAAA,eAErCc,GAAA,CAAC2I,UAAU,EAAA;AAAOC,cAAAA,kBAAkB,EAAlBA,kBAAAA;aAAuB,CAAA;WACrC,CAAC,EACNtE,QAAQ,CAAC;AAAEjC,YAAAA,IAAI,EAAE,OAAA;AAAQ,WAAC,EAAEH,qBAAqB,CAAC,CAAC2B,GAAG,CACrD,UAAAwN,KAAA,EAAA;AAAA,YAAA,IAAGtO,GAAG,GAAAsO,KAAA,CAAHtO,GAAG,CAAA;YAAA,oBACJoK,aAAA,CAACI,MAAM,EAAA;AACC3E,cAAAA,kBAAkB,EAAlBA,kBAAkB;AACxB4C,cAAAA,SAAS,EAAEzI,GAAI;cACf5D,SAAS,EAAEmE,UAAU,CAAC;AAAE2B,gBAAAA,MAAM,EAAExC,iBAAAA;AAAkB,eAAC,CAAE;AACrDM,cAAAA,GAAG,EAAEA,GAAAA;AAAI,aACV,CAAC,CAAA;AAAA,WAEN,CAAC,eACD/C,GAAA,CAACnB,SAAS,EAAA;AAAO6C,YAAAA,aAAa,EAAbA,aAAa;AAAED,YAAAA,cAAc,EAAdA,cAAAA;WAAmB,CAAC,eACpD/B,IAAA,CAAA,KAAA,EAAA;AAAKP,YAAAA,SAAS,EAAC,sFAAsF;YAAAD,QAAA,EAAA,cACnGc,GAAA,CAACsR,OAAO,EAAA;cACNC,QAAQ,EAAE,CAACjC,kBAAmB;AAC9B9I,cAAAA,OAAO,EAAE3E,CAAC,CACR,mFACF,CAAE;cAAA3C,QAAA,eAEFc,GAAA,CAAC0I,MAAM,EAAA;gBACLsC,OAAO,EAAEhJ,MAAM,CAACyO,sBAAuB;AACvCc,gBAAAA,QAAQ,EAAEjC,kBAAmB;AAC7BrR,gBAAAA,IAAI,EAAC,wBAAwB;AAC7BP,gBAAAA,KAAK,EAAEmE,CAAC,CACN,0EACF,CAAE;AACF6B,gBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEnC,CAAC,EAAA;AAAA,kBAAA,OACT6O,6BAA6B,CAAC7O,CAAC,EAAEU,aAAa,CAAC,CAAA;AAAA,iBAAA;eAElD,CAAA;AAAC,aACK,CAAC,eACVjC,GAAA,CAACC,UAAU,EAAA;AAACd,cAAAA,SAAS,EAAC,SAAS;AAACZ,cAAAA,KAAK,EAAC,OAAO;AAAAW,cAAAA,QAAA,EAC1C2C,CAAC,CACA,6EAA6E,EAC7E;AAAExE,gBAAAA,UAAU,EAAVA,UAAAA;eACJ,CAAA;AAAC,aACS,CAAC,CAAA;AAAA,WACV,CAAC,CAAA;SACH,CAAC,eACNqC,IAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,uHAAuH;UAAAD,QAAA,EAAA,cACpIc,GAAA,CAACmD,MAAM,EAAA;AACL,YAAA,SAAA,EAAQ,cAAc;AACtBoO,YAAAA,QAAQ,EAAE,CAACJ,KAAK,IAAIhB,YAAa;AACjCzS,YAAAA,KAAK,EAAEmE,CAAC,CAAC,2BAA2B,CAAE;AACtCtD,YAAAA,KAAK,EAAC,MAAM;AACZsB,YAAAA,IAAI,EAAC,OAAA;AAAO,WACb,CAAC,eACFG,GAAA,CAACmD,MAAM,EAAA;AACL,YAAA,SAAA,EAAQ,qBAAqB;AAC7BoO,YAAAA,QAAQ,EAAG,CAACJ,KAAK,KAAIhC,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAE7U,EAAE,CAAA,IAAK6V,YAAa;AACpDzS,YAAAA,KAAK,EAAEmE,CAAC,CAAC,0BAA0B,CAAE;AACrC2P,YAAAA,OAAO,EAAErB,YAAa;AACtBsB,YAAAA,GAAG,EAAEhC,YAAa;AAClB5P,YAAAA,IAAI,EAAC,QAAA;AAAQ,WACd,CAAC,CAAA;AAAA,SACC,CAAC,eACNG,GAAA,CAAC0R,OAAO,EAAA;UACNC,QAAQ,EAAE,SAAVA,QAAQA,GAAA;YAAA,OAAQC,QAAQ,CAACC,IAAI,CAAA;WAAC;AAC9BpL,UAAAA,QAAQ,EAAC,KAAK;AACdqL,UAAAA,SAAS,EAAErC,YAAa;AACxBsC,UAAAA,OAAO,EAAC,OAAO;AACfvL,UAAAA,OAAO,eACL9G,IAAA,CAAA,KAAA,EAAA;AAAKP,YAAAA,SAAS,EAAC,iCAAiC;YAAAD,QAAA,EAAA,cAC9Cc,GAAA,CAACmD,MAAM,EAAA;AACLhE,cAAAA,SAAS,EAAC,4BAA4B;AACtCkH,cAAAA,IAAI,EAAE2L,KAAM;AACZ1R,cAAAA,IAAI,EAAC,OAAO;AACZ/B,cAAAA,KAAK,EAAC,MAAM;cACZuB,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,gBAAA,IAAAmS,qBAAA,CAAA;AAAA,gBAAA,OAAQ/D,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAA+D,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAA,GAAf/D,eAAe,CAAEgE,IAAI,MAAA,IAAA,IAAAD,qBAAA,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAE,IAAA,CAAAjE,eAAwB,CAAC,CAAA;AAAA,eAAA;AAAC,aAC1C,CAAC,eACFlO,GAAA,CAACC,UAAU,EAAA;AAACd,cAAAA,SAAS,EAAC,WAAW;AAACZ,cAAAA,KAAK,EAAC,OAAO;AAAC6B,cAAAA,MAAM,EAAC,QAAQ;cAAAlB,QAAA,eAC7Dc,GAAA,CAACoS,KAAK,EAAA;AACJC,gBAAAA,UAAU,EAAE;kBAAEC,IAAI,eAAEtS,GAAA,CAAS,QAAA,EAAA,EAAA,CAAA;iBAAI;AACjCuS,gBAAAA,OAAO,EAAC,oDAAoD;AAC5DvQ,gBAAAA,MAAM,EAAE;AAAE3E,kBAAAA,UAAU,EAAVA,UAAAA;AAAW,iBAAA;eACtB,CAAA;AAAC,aACQ,CAAC,eACb2C,GAAA,CAACmD,MAAM,EAAA;AACLoO,cAAAA,QAAQ,EAAExD,eAAgB;AAC1BrQ,cAAAA,KAAK,EAAEmE,CAAC,CAAC,oCAAoC,CAAE;AAC/C2P,cAAAA,OAAO,EAAEzD,eAAgB;cACzBjO,OAAO,EAAE,SAATA,OAAOA,GAAA;gBAAA,OAAQ+N,YAAY,CAACsB,SAAS,CAAC,CAAA;AAAA,eAAA;AAAC,aACxC,CAAC,CAAA;AAAA,WACC,CACN;AACDoC,UAAAA,QAAQ,EACN/B,8BAA8B,IAC7BD,gCAAgC,IAC/BvN,MAAM,CAACyO,sBACV;AACD+B,UAAAA,OAAO,EAAErE,kBAAAA;AAAmB,SAC7B,CAAC,CAAA;AAAA,OACC,CAAC,CAAA;AAAA,KAAA;AACP,GACG,CAAC,CAAA;AAEX,CAAC;;;;ACnPD,IAAMsE,KAAK,GAAG,SAARA,KAAKA,CAAGC,KAAK,EAAA;AAAA,EAAA,oBACjBhT,IAAA,CAAA,KAAA,EAAAxD,aAAA,CAAAA,aAAA,CAAA;AACEyW,IAAAA,IAAI,EAAC,MAAM;AACXC,IAAAA,MAAM,EAAC,IAAI;AACXC,IAAAA,OAAO,EAAC,WAAW;AACnBC,IAAAA,KAAK,EAAC,IAAI;AACVC,IAAAA,KAAK,EAAC,4BAAA;AAA4B,GAAA,EAC9BL,KAAK,CAAA,EAAA,EAAA,EAAA;AAAAxT,IAAAA,QAAA,gBAETQ,IAAA,CAAA,GAAA,EAAA;AAAGyE,MAAAA,MAAM,EAAC,0BAA0B;AAAAjF,MAAAA,QAAA,gBAClCc,GAAA,CAAA,MAAA,EAAA;AAAM2S,QAAAA,IAAI,EAAC,SAAS;AAACC,QAAAA,MAAM,EAAC,IAAI;AAACI,QAAAA,EAAE,EAAC,IAAI;AAACF,QAAAA,KAAK,EAAC,IAAI;AAACG,QAAAA,CAAC,EAAC,GAAG;AAACC,QAAAA,CAAC,EAAC,GAAA;OAAK,CAAC,eAClElT,GAAA,CAAA,MAAA,EAAA;AACE4S,QAAAA,MAAM,EAAC,IAAI;AACXI,QAAAA,EAAE,EAAC,IAAI;AACPG,QAAAA,MAAM,EAAC,MAAM;AACbC,QAAAA,WAAW,EAAC,KAAK;AACjBN,QAAAA,KAAK,EAAC,IAAI;AACVG,QAAAA,CAAC,EAAC,GAAG;AACLC,QAAAA,CAAC,EAAC,GAAA;OACH,CAAC,eACFlT,GAAA,CAAA,MAAA,EAAA;AACEqT,QAAAA,CAAC,EAAC,kCAAkC;AACpCF,QAAAA,MAAM,EAAC,MAAM;AACbG,QAAAA,aAAa,EAAC,OAAO;AACrBC,QAAAA,cAAc,EAAC,OAAO;AACtBH,QAAAA,WAAW,EAAC,MAAA;AAAM,OACnB,CAAC,CAAA;KACD,CAAC,eACJpT,GAAA,CAAA,MAAA,EAAA;AAAAd,MAAAA,QAAA,eACEQ,IAAA,CAAA,QAAA,EAAA;AACE8T,QAAAA,yBAAyB,EAAC,MAAM;AAChCC,QAAAA,WAAW,EAAC,gBAAgB;AAC5Bb,QAAAA,MAAM,EAAC,MAAM;AACbtY,QAAAA,EAAE,EAAC,oBAAoB;AACvBwY,QAAAA,KAAK,EAAC,MAAM;AACZG,QAAAA,CAAC,EAAC,MAAM;AACRC,QAAAA,CAAC,EAAC,MAAM;AAAAhU,QAAAA,QAAA,gBAERc,GAAA,CAAA,SAAA,EAAA;AAAS0T,UAAAA,YAAY,EAAC,GAAG;AAACC,UAAAA,MAAM,EAAC,oBAAA;SAAsB,CAAC,eACxD3T,GAAA,CAAA,eAAA,EAAA;AACE,UAAA,IAAA,EAAG,aAAa;AAChB2T,UAAAA,MAAM,EAAC,WAAW;AAClB3R,UAAAA,MAAM,EAAC,2CAAA;AAA2C,SACnD,CAAC,eACFhC,GAAA,CAAW,UAAA,EAAA,EAAA,CAAC,eACZA,GAAA,CAAA,gBAAA,EAAA;AAAgB4T,UAAAA,YAAY,EAAC,KAAA;SAAO,CAAC,eACrC5T,GAAA,CAAA,aAAA,EAAA;AAAa6T,UAAAA,GAAG,EAAC,WAAW;AAACC,UAAAA,QAAQ,EAAC,KAAA;SAAO,CAAC,eAC9C9T,GAAA,CAAA,eAAA,EAAA;AAAegC,UAAAA,MAAM,EAAC,4CAAA;SAA8C,CAAC,eACrEhC,GAAA,CAAA,SAAA,EAAA;AACE6T,UAAAA,GAAG,EAAC,oBAAoB;AACxBF,UAAAA,MAAM,EAAC,6BAAA;SACR,CAAC,eACF3T,GAAA,CAAA,SAAA,EAAA;AACE,UAAA,IAAA,EAAG,eAAe;AAClB6T,UAAAA,GAAG,EAAC,6BAA6B;AACjCF,UAAAA,MAAM,EAAC,OAAA;AAAO,SACf,CAAC,CAAA;OACI,CAAA;AAAC,KACL,CAAC,CAAA;AAAA,GAAA,CACJ,CAAC,CAAA;AAAA,CACP;;ACtDD,IAAMI,SAAS,GAAG,SAAZA,SAASA,CAAAnZ,IAAA,EAA4D;AAAA,EAAA,IAAAoZ,qBAAA,EAAA5J,OAAA,EAAAE,QAAA,CAAA;AAAA,EAAA,IAAtD2J,MAAM,GAAArZ,IAAA,CAANqZ,MAAM;IAAEC,YAAY,GAAAtZ,IAAA,CAAZsZ,YAAY;IAAEC,kBAAkB,GAAAvZ,IAAA,CAAlBuZ,kBAAkB;IAAEzZ,KAAK,GAAAE,IAAA,CAALF,KAAK,CAAA;AAClE,EAAA,IAAAgB,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQsG,QAAAA,qBAAqB,EAAAtG,KAAA,CAAA,uBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAAsY,qBAAA,GAAA1Y,eAAA,CAArBwG,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAkS,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;AAElC,EAAA,IAAAC,qBAAA,GAAA9U,cAAA,CAAqC2C,qBAAqB,EAAA,CAAA,CAAA;AAAnDoS,IAAAA,YAAY,GAAAD,qBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,qBAAA,CAAA,CAAA,CAAA,CAAA;EAEjC,IAAMG,YAAY,GAAGC,QAAQ,CAACH,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEvR,GAAG,CAAC,CAAA;EAChD,IAAM2R,cAAc,GAAGD,QAAQ,CAACF,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAExR,GAAG,CAAC,CAAA;EAElD,IAAM4R,YAAY,GAAGvS,MAAM,CACzB;IAAEW,GAAG,EAAEuR,YAAY,CAACvR,GAAAA;AAAI,GAAC,EACzBrI,KAAK,CAAC4H,UACR,CAAC,CAAC3E,KAAK,CAAA;EAEP,IAAMiX,cAAc,GAAGxS,MAAM,CAC3B;IAAEW,GAAG,EAAEwR,YAAY,CAACxR,GAAAA;AAAI,GAAC,EACzBrI,KAAK,CAAC4H,UACR,CAAC,CAAC3E,KAAK,CAAA;EAEP,IAAMkX,kBAAkB,IAAAb,qBAAA,GACtBtZ,KAAK,CACHkK,gBAAgB,CACdxC,MAAM,CAAC;AAAE0S,IAAAA,mBAAmB,EAAE,IAAA;AAAK,GAAC,EAAE5S,qBAAqB,CAAC,CAACa,GAC/D,CAAC,CACF,MAAA,IAAA,IAAAiR,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAJDA,qBAAA,CAIG1O,GAAG,CAAA;AAER,EAAA,IAAMyP,qBAAqB,GAAA,CAAA3K,OAAA,GAAGhI,MAAM,CAClC;AACEW,IAAAA,GAAG,EAAAuH,CAAAA,QAAA,GAAElI,MAAM,CAAC;AAAE4S,MAAAA,yBAAyB,EAAE,IAAA;AAAK,KAAC,EAAE9S,qBAAqB,CAAC,cAAAoI,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlEA,QAAA,CACDvH,GAAAA;GACL,EACDrI,KAAK,CAAC4H,UACR,CAAC,cAAA8H,OAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAN6BA,OAAA,CAM3BzM,KAAK,CAAA;AAER,EAAA,oBACEqC,GAAA,CAAA,KAAA,EAAA;AACEb,IAAAA,SAAS,EAAES,UAAU,CACnB,iGAAiG,EACjG;MACE,0BAA0B,EAAE,CAACqU,MAAM;AACnC,MAAA,+DAA+D,EAC7DA,MAAM;AACR,MAAA,8CAA8C,EAAEC,YAAY;AAC5D,MAAA,gDAAgD,EAAEC,kBAAAA;AACpD,KACF,CAAE;AACF5V,IAAAA,KAAK,EAAE;AACL0W,MAAAA,eAAe,EAAEJ,kBAAkB,GAAA,MAAA,CAAApb,MAAA,CACxBob,kBAAkB,SACzB,SAAS;AACbK,MAAAA,cAAc,EAAE,OAAA;KAChB;AAAAhW,IAAAA,QAAA,eAEFc,GAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,uGAAuG;AAAAD,MAAAA,QAAA,eACpHQ,IAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,yBAAyB;AAAAD,QAAAA,QAAA,gBACtCQ,IAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,MAAM;UAAAD,QAAA,EAAA,cACnBc,GAAA,CAACC,UAAU,EAAA;AAAC1B,YAAAA,KAAK,EAAC,IAAI;AAAC6B,YAAAA,MAAM,EAAC,UAAU;AAAAlB,YAAAA,QAAA,eACtCc,GAAA,CAAA,MAAA,EAAA;AAAMzB,cAAAA,KAAK,EAAE;AAAEsI,gBAAAA,KAAK,EAAE8N,YAAAA;eAAe;AAAAzV,cAAAA,QAAA,EAAEsV,YAAAA;aAAmB,CAAA;AAAC,WACjD,CAAC,eACbxU,GAAA,CAACC,UAAU,EAAA;AAACd,YAAAA,SAAS,EAAC,wBAAwB;AAACZ,YAAAA,KAAK,EAAC,OAAO;AAAAW,YAAAA,QAAA,eAC1Dc,GAAA,CAAA,MAAA,EAAA;AAAMzB,cAAAA,KAAK,EAAE;AAAEsI,gBAAAA,KAAK,EAAE+N,cAAAA;eAAiB;AAAA1V,cAAAA,QAAA,EAAEwV,cAAAA;aAAqB,CAAA;AAAC,WACrD,CAAC,CAAA;SACV,CAAC,eACN1U,GAAA,CAAA,KAAA,EAAA;AACEb,UAAAA,SAAS,EAAC,8BAA8B;AACxCZ,UAAAA,KAAK,EAAE;AAAE4W,YAAAA,eAAe,EAAEJ,qBAAAA;AAAsB,WAAA;AAAE,SACnD,CAAC,CAAA;OACC,CAAA;KACF,CAAA;AAAC,GACH,CAAC,CAAA;AAEV,CAAC;;AC9DD,IAAMhW,IAAI,GAAG,SAAPA,IAAIA,CAAAnE,IAAA,EAcJ;AAAA,EAAA,IAAAwa,WAAA,GAAAxa,IAAA,CAbJqZ,MAAM;AAANA,IAAAA,MAAM,GAAAmB,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IACdlB,YAAY,GAAAtZ,IAAA,CAAZsZ,YAAY;IACZmB,iBAAiB,GAAAza,IAAA,CAAjBya,iBAAiB;IACjBC,aAAa,GAAA1a,IAAA,CAAb0a,aAAa;IACbC,WAAW,GAAA3a,IAAA,CAAX2a,WAAW;IACX7a,KAAK,GAAAE,IAAA,CAALF,KAAK;IACLqT,eAAe,GAAAnT,IAAA,CAAfmT,eAAe;IACfyH,YAAY,GAAA5a,IAAA,CAAZ4a,YAAY;IACZrB,kBAAkB,GAAAvZ,IAAA,CAAlBuZ,kBAAkB;IAClBsB,aAAa,GAAA7a,IAAA,CAAb6a,aAAa;IACb5H,YAAY,GAAAjT,IAAA,CAAZiT,YAAY;IACZ6H,kBAAkB,GAAA9a,IAAA,CAAlB8a,kBAAkB;IACP3B,WAAS,GAAAnZ,IAAA,CAApB+a,SAAS,CAAA;AAET,EAAA,IAAAhU,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAQvH,EAAE,GAAyBI,KAAK,CAAhCJ,EAAE;IAAE2D,IAAI,GAAmBvD,KAAK,CAA5BuD,IAAI;IAAE2X,YAAY,GAAKlb,KAAK,CAAtBkb,YAAY,CAAA;AAE9B,EAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;IAAA,OAASL,YAAY,CAAC9a,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAClD,EAAA,IAAMob,eAAe,GAAG,SAAlBA,eAAeA,GAAA;IAAA,OAASP,WAAW,CAAC7a,KAAK,CAAC,CAAA;AAAA,GAAA,CAAA;AAChD,EAAA,IAAMqb,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAA;AAAA,IAAA,OAAST,aAAa,CAAChb,EAAE,EAAE2D,IAAI,EAAE2X,YAAY,CAAC,CAAA;AAAA,GAAA,CAAA;AACrE,EAAA,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAA;IAAA,OAASN,kBAAkB,CAACpb,EAAE,CAAC,CAAA;AAAA,GAAA,CAAA;AAE3D,EAAA,oBACE0F,GAAA,CAAA,KAAA,EAAA;AACEb,IAAAA,SAAS,EAAC,wBAAwB;AAClC,IAAA,SAAA,EAAS8U,MAAM,GAAG,mBAAmB,GAAG,YAAa;IACrD3Z,EAAE,EAAEI,KAAK,CAACJ,EAAG;AAAA4E,IAAAA,QAAA,eAEbQ,IAAA,CAAA,KAAA,EAAA;AACEP,MAAAA,SAAS,EAAES,UAAU,CACnB,gHAAgH,EAChH;QACE,0BAA0B,EAAE,CAACqU,MAAM;AACnC,QAAA,sCAAsC,EAAEA,MAAM;AAC9C,QAAA,8CAA8C,EAAEC,YAAY;AAC5D,QAAA,gDAAgD,EAC9CC,kBAAAA;AACJ,OACF,CAAE;MACFrU,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQuV,iBAAiB,CAAC3a,KAAK,CAAC,CAAA;OAAC;AAAAwE,MAAAA,QAAA,gBAExCQ,IAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,6IAA6I;AAAAD,QAAAA,QAAA,gBAC1Jc,GAAA,CAAA,KAAA,EAAA;AAAKb,UAAAA,SAAS,EAAC,4BAA4B;AAAAD,UAAAA,QAAA,EACxC+U,MAAM,gBACLjU,GAAA,CAACyS,KAAK,EAAA;AAACtT,YAAAA,SAAS,EAAC,eAAe;YAAC,SAAQ,EAAA,oBAAA;WAAsB,CAAC,gBAEhEa,GAAA,CAAA,KAAA,EAAA;YACEb,SAAS,EAAES,UAAU,CAAC;cACpBqF,MAAM,EAAE,CAACiP,YAAY;AACrB,cAAA,mBAAmB,EAAE,IAAA;AACvB,aAAC,CAAE;YAAAhV,QAAA,eAEHc,GAAA,CAACmD,MAAM,EAAA;AACLhE,cAAAA,SAAS,EAAC,uDAAuD;AACjE,cAAA,SAAA,EAAQ,oBAAoB;AAC5BoS,cAAAA,QAAQ,EAAExD,eAAgB;AAC1BrQ,cAAAA,KAAK,EAAEmE,CAAC,CAAC,0BAA0B,CAAE;AACrC2P,cAAAA,OAAO,EAAEzD,eAAgB;AACzBzN,cAAAA,IAAI,EAAC,OAAO;AACZ/B,cAAAA,KAAK,EAAC,UAAU;cAChBuB,OAAO,EAAE,SAATA,OAAOA,GAAA;gBAAA,OAAQ+N,YAAY,CAACnT,KAAK,CAAC,CAAA;AAAA,eAAA;aACnC,CAAA;WACE,CAAA;AACN,SACE,CAAC,EACLqZ,WAAS,gBACR/T,GAAA,CAAC+T,WAAS,EAAA;AACFE,UAAAA,MAAM,EAANA,MAAM;AAAEE,UAAAA,kBAAkB,EAAlBA,kBAAkB;AAAED,UAAAA,YAAY,EAAZA,YAAY;AAAExZ,UAAAA,KAAK,EAALA,KAAAA;AAAK,SACtD,CAAC,gBAEFsF,GAAA,CAACiW,SAAgB,EAAA;AACThC,UAAAA,MAAM,EAANA,MAAM;AAAEE,UAAAA,kBAAkB,EAAlBA,kBAAkB;AAAED,UAAAA,YAAY,EAAZA,YAAY;AAAExZ,UAAAA,KAAK,EAALA,KAAAA;AAAK,SACtD,CACF,CAAA;OACE,CAAC,eACNgF,IAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,8EAA8E;AAAAD,QAAAA,QAAA,gBAC3FQ,IAAA,CAAA,KAAA,EAAA;AAAKP,UAAAA,SAAS,EAAC,6BAA6B;UAAAD,QAAA,EAAA,cAC1Cc,GAAA,CAACC,UAAU,EAAA;AACTd,YAAAA,SAAS,EAAC,iDAAiD;AAC3D,YAAA,SAAA,EAAQ,YAAY;AACpBgB,YAAAA,UAAU,EAAC,MAAM;AACjB5B,YAAAA,KAAK,EAAC,OAAO;AAAAW,YAAAA,QAAA,EAEZjB,IAAAA;AAAI,WACK,CAAC,EACZwX,aAAa,iBACZzV,GAAA,CAACkW,MAAM,EAAA;AACL/W,YAAAA,SAAS,EAAC,qCAAqC;AAC/CmB,YAAAA,IAAI,EAAE,EAAA;AAAG,WACV,CACF,CAAA;AAAA,SACE,CAAC,eACNN,GAAA,CAACmW,YAAY,EAAA;AACXC,UAAAA,mBAAmB,EAAE;AAAE9V,YAAAA,IAAI,EAAE,OAAA;WAAU;AACvC+V,UAAAA,aAAa,EAAE;AACbC,YAAAA,QAAQ,EAAE,OAAO;AACjBxW,YAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEyB,CAAC,EAAA;AAAA,cAAA,OAAIA,CAAC,CAACgV,eAAe,EAAE,CAAA;AAAA,aAAA;WACjC;AACFC,UAAAA,SAAS,EAAE,CACT;AACEzT,YAAAA,GAAG,EAAE,MAAM;AACX,YAAA,SAAS,EAAE,sBAAsB;AACjCrF,YAAAA,KAAK,EAAEmE,CAAC,CAAC,yBAAyB,CAAC;AACnC4U,YAAAA,SAAS,EAAE7S,SAAS,CAAC2R,WAAW,CAAC;AACjCzV,YAAAA,OAAO,EAAEgW,eAAAA;AACX,WAAC,EACD;AACE/S,YAAAA,GAAG,EAAE,OAAO;AACZ,YAAA,SAAS,EAAE,uBAAuB;AAClCrF,YAAAA,KAAK,EAAEmE,CAAC,CACN,yDACF,CAAC;AACD/B,YAAAA,OAAO,EAAE+V,gBAAAA;AACX,WAAC,EACD;AACE9S,YAAAA,GAAG,EAAE,qBAAqB;AAC1B,YAAA,SAAS,EAAE,+BAA+B;AAC1CrF,YAAAA,KAAK,EAAEmE,CAAC,CACN,0EACF,CAAC;YACD4U,SAAS,EAAE,CAAChB,aAAa;AACzB3V,YAAAA,OAAO,EAAEkW,sBAAAA;AACX,WAAC,EACD;AACEjT,YAAAA,GAAG,EAAE,SAAS;AACdlD,YAAAA,IAAI,EAAE,SAAS;YACf4W,SAAS,EAAEC,UAAU,CAACpB,aAAa,CAAA;AACrC,WAAC,EACD;AACEvS,YAAAA,GAAG,EAAE,QAAQ;AACb,YAAA,SAAS,EAAE,wBAAwB;AACnCrF,YAAAA,KAAK,EAAEmE,CAAC,CACN,0DACF,CAAC;AACD4U,YAAAA,SAAS,EAAEC,UAAU,CAACpB,aAAa,CAAC;AACpCxV,YAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEyB,CAAC,EAAI;cACZA,CAAC,CAACgV,eAAe,EAAE,CAAA;AACnBR,cAAAA,iBAAiB,EAAE,CAAA;AACrB,aAAA;WACD,CAAA;AACD,SACH,CAAC,CAAA;AAAA,OACC,CAAC,CAAA;KACH,CAAA;AAAC,GACH,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,aAAeY,aAAAA,IAAI,CAAC5X,IAAI,CAAC;;AChJzB,IAAM6X,MAAM,GAAG,SAATA,MAAMA,CAAAhc,IAAA,EAeN;AAAA,EAAA,IAdJ2a,WAAW,GAAA3a,IAAA,CAAX2a,WAAW;IAAAsB,WAAA,GAAAjc,IAAA,CACXsC,MAAM;AAANA,IAAAA,MAAM,GAAA2Z,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAC,kBAAA,GAAAlc,IAAA,CACXmc,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,kBAAA;IAClBxB,aAAa,GAAA1a,IAAA,CAAb0a,aAAa;IACb0B,gBAAgB,GAAApc,IAAA,CAAhBoc,gBAAgB;IAChBC,4BAA4B,GAAArc,IAAA,CAA5Bqc,4BAA4B;IAC5B5H,SAAS,GAAAzU,IAAA,CAATyU,SAAS;IACTd,YAAY,GAAA3T,IAAA,CAAZ2T,YAAY;IACZ2I,qBAAqB,GAAAtc,IAAA,CAArBsc,qBAAqB;IACrBvB,SAAS,GAAA/a,IAAA,CAAT+a,SAAS;IACTwB,iBAAiB,GAAAvc,IAAA,CAAjBuc,iBAAiB;IACjBtJ,YAAY,GAAAjT,IAAA,CAAZiT,YAAY;IACZuJ,yBAAyB,GAAAxc,IAAA,CAAzBwc,yBAAyB;IACzBrJ,eAAe,GAAAnT,IAAA,CAAfmT,eAAe,CAAA;AAEf,EAAA,IAAApM,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAmH,cAAA,GAAqBC,aAAa,EAAE;IAA5BE,QAAQ,GAAAH,cAAA,CAARG,QAAQ,CAAA;AAChB,EAAA,IAAAN,cAAA,GAAAC,aAAA,CAAA,UAAAlN,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQmN,QAAAA,aAAa,EAAAnN,KAAA,CAAA,eAAA,CAAA;AAAEqO,QAAAA,eAAe,EAAArO,KAAA,CAAA,iBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAA9BiN,aAAa,GAAAF,cAAA,CAAbE,aAAa;IAAEkB,eAAe,GAAApB,cAAA,CAAfoB,eAAe,CAAA;AACtC,EAAA,IAAAvO,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQyB,QAAAA,UAAU,EAAAzB,KAAA,CAAA,YAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAVuB,UAAU,GAAA3B,eAAA,CAAV2B,UAAU,CAAA;AAElB,EAAA,IAAA+B,SAAA,GAAsCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA3CiY,IAAAA,WAAW,GAAA/X,UAAA,CAAA,CAAA,CAAA;AAAEgY,IAAAA,cAAc,GAAAhY,UAAA,CAAA,CAAA,CAAA,CAAA;AAElC,EAAA,IAAAiY,cAAA,GAA+Bza,aAAa,EAAE;IAA9B0a,UAAU,GAAAD,cAAA,CAAlB1H,MAAM,CAAA;AACd,EAAA,IAAA4H,oBAAA,GAAqCza,mBAAmB,EAAE;IAA1C1B,gBAAgB,GAAAmc,oBAAA,CAAxB5H,MAAM,CAAA;AAEd,EAAA,IAAArB,mBAAA,GACEhR,kBAAkB,CAACH,UAAU,CAAC;IAAAoR,qBAAA,GAAAD,mBAAA,CADxBhH,IAAI;AAAAkH,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAyB,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAAvBE,WAAW;AAAXA,IAAAA,WAAW,GAAAD,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IAAoB+I,oBAAoB,GAAAlJ,mBAAA,CAA/Ba,SAAS,CAAA;AAGlDrF,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIiN,4BAA4B,CAACU,OAAO,IAAI,EAACpJ,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,IAAAA,YAAY,CAAEjU,EAAE,CAAE,EAAA,OAAA;IAE/D2c,4BAA4B,CAACU,OAAO,GAAG,IAAI,CAAA;AAC3ChV,IAAAA,UAAU,CAAC,YAAM;MACfC,qBAAqB,CAAC2L,YAAY,KAAZA,IAAAA,IAAAA,YAAY,uBAAZA,YAAY,CAAEjU,EAAE,CAAC,CAAA;KACxC,EAAE,GAAG,CAAC,CAAA;AACT,GAAC,EAAE,CAAC2c,4BAA4B,EAAE1I,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEjU,EAAE,CAAC,CAAC,CAAA;AAEpD,EAAA,IAAMsd,eAAe,GAAG,SAAlBA,eAAeA,CAAGld,KAAK,EAAI;AAC/BqO,IAAAA,aAAa,CAAC;AAAEkB,MAAAA,eAAe,EAAEvP,KAAAA;AAAM,KAAC,CAAC,CAAA;IACzCyO,QAAQ,CAACzO,KAAK,CAAC,CAAA;GAChB,CAAA;AAED,EAAA,IAAMmd,qBAAqB,GAAGd,aAAa,CAAC5S,MAAM,CAAC,UAAAzJ,KAAK,EAAA;AAAA,IAAA,OACtDA,KAAK,CAACuD,IAAI,CAAC6Z,WAAW,EAAE,CAACC,QAAQ,CAACV,WAAW,CAACS,WAAW,EAAE,CAAC,CAAA;AAAA,GAC9D,CAAC,CAAA;AAED,EAAA,IAAME,cAAc,GAAG9a,MAAM,CAACiH,MAAM,CAAC,UAAAzJ,KAAK,EAAA;AAAA,IAAA,OACxCA,KAAK,CAACuD,IAAI,CAAC6Z,WAAW,EAAE,CAACC,QAAQ,CAACV,WAAW,CAACS,WAAW,EAAE,CAAC,CAAA;AAAA,GAC9D,CAAC,CAAA;AAED,EAAA,IAAMG,oBAAoB,GAAG,CAAA/a,MAAM,KAANA,IAAAA,IAAAA,MAAM,uBAANA,MAAM,CAAEgb,MAAM,KAAGnB,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEmB,MAAM,IAAG,EAAE,CAAA;AAExE,EAAA,IAAMrC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGrO,IAAI,EAAI;AAC/BgQ,IAAAA,UAAU,CAAChQ,IAAI,CAAClN,EAAE,EAAE;AAClBqC,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAA1B,KAAA,EAA8B;AAAA,QAAA,IAAlBkd,WAAW,GAAAld,KAAA,CAAlBP,KAAK,CAAA;QACjB6a,WAAW,CAAC4C,WAAW,CAAC,CAAA;AAC1B,OAAA;AACF,KAAC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,IAAMnC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAG9a,OAAO,EAAI;AACxC,IAAA,IAAMV,OAAO,GAAG;AAAE6C,MAAAA,UAAU,EAAVA,UAAAA;KAAY,CAAA;AAC9B/B,IAAAA,gBAAgB,CACd;AAAEJ,MAAAA,OAAO,EAAPA,OAAO;AAAEV,MAAAA,OAAO,EAAPA,OAAAA;AAAQ,KAAC,EACpB;AACEmC,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;AACfya,QAAAA,yBAAyB,KAAzBA,IAAAA,IAAAA,yBAAyB,KAAzBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,yBAAyB,EAAI,CAAA;AAC/B,OAAA;AACF,KACF,CAAC,CAAA;GACF,CAAA;AAED,EAAA,IAAI/H,SAAS,IAAI6H,qBAAqB,IAAIQ,oBAAoB,EAAE;AAC9D,IAAA,oBACE1X,GAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,gDAAgD;AAAAD,MAAAA,QAAA,eAC7Dc,GAAA,CAACoY,OAAO,EAAE,EAAA,CAAA;AAAC,KACR,CAAC,CAAA;AAEV,GAAA;AAEA,EAAA,oBACE1Y,IAAA,CAAA,KAAA,EAAA;AAAKP,IAAAA,SAAS,EAAC,8BAA8B;AAAAD,IAAAA,QAAA,gBAC3CQ,IAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,gBAAgB;AAAAD,MAAAA,QAAA,EAC5B+Y,CAAAA,oBAAoB,iBACnBjY,GAAA,CAACqY,MAAM,EAAA;QACL1K,SAAS,EAAA,IAAA;AACT2K,QAAAA,YAAY,EAAC,KAAK;AAClBnZ,QAAAA,SAAS,EAAC,gBAAgB;AAC1BgI,QAAAA,WAAW,EAAEtF,CAAC,CAAC,iCAAiC,CAAE;AAClD0W,QAAAA,QAAQ,EAAEjB,cAAAA;AAAe,OAC1B,CACF,EACAjW,OAAO,CAAC2W,cAAc,CAAC,IAAI3W,OAAO,CAACwW,qBAAqB,CAAC,iBACxD7X,GAAA,CAACC,UAAU,EAAA;AAACd,QAAAA,SAAS,EAAC,aAAa;AAACZ,QAAAA,KAAK,EAAC,OAAO;QAAAW,QAAA,EAC9C2C,CAAC,CAAC,mCAAmC,CAAA;OAC5B,CACb,EACA2W,UAAU,CAACX,qBAAqB,CAAC,iBAChCnY,IAAA,CAAAwK,QAAA,EAAA;QAAAhL,QAAA,EAAA,cACEc,GAAA,CAACC,UAAU,EAAA;AACTd,UAAAA,SAAS,EAAC,qCAAqC;AAC/C,UAAA,SAAA,EAAQ,sBAAsB;AAC9BZ,UAAAA,KAAK,EAAC,IAAI;AACV6B,UAAAA,MAAM,EAAC,UAAU;UAAAlB,QAAA,EAEhB2C,CAAC,CAAC,mDAAmD,CAAA;SAC5C,CAAC,eACb7B,GAAA,CAAA,KAAA,EAAA;AACEb,UAAAA,SAAS,EAAC,gDAAgD;AAC1D,UAAA,SAAA,EAAQ,eAAe;AAAAD,UAAAA,QAAA,EAEtB2Y,qBAAqB,CAAChU,GAAG,CAAC,UAAAnJ,KAAK,EAAA;YAAA,oBAC9ByS,aAAA,CAACpO,MAAI,EAAA;AACG8O,cAAAA,YAAY,EAAZA,YAAY;AAAEnT,cAAAA,KAAK,EAALA,KAAK;AAAEib,cAAAA,SAAS,EAATA,SAAS;AACpC1B,cAAAA,MAAM,EAAE,CAAA1F,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEjU,EAAE,MAAKI,KAAK,CAACJ,EAAG;AACtCmb,cAAAA,aAAa,EAAE,CAAA7G,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEtU,EAAE,MAAKI,KAAK,CAACJ,EAAG;AAC5C4Z,cAAAA,YAAY,EAAE,CAAAjK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,eAAe,CAAE3P,EAAE,MAAKI,KAAK,CAACJ,EAAG;cAC/CyI,GAAG,EAAErI,KAAK,CAACJ,EAAG;AACdyT,cAAAA,eAAe,EACbA,eAAe,IAAI,CAAAoJ,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,CAAE7c,EAAE,MAAKI,KAAK,CAACJ,EACpD;AACDob,cAAAA,kBAAkB,EAAEM,sBAAuB;AAC3CR,cAAAA,YAAY,EAAEK,gBAAiB;AAC/BR,cAAAA,iBAAiB,EAAEuC,eAAAA;AAAgB,aACpC,CAAC,CAAA;WACH,CAAA;AAAC,SACC,CAAC,CAAA;AAAA,OACN,CACH,CAAA;AAAA,KACE,CAAC,EACLY,UAAU,CAACR,cAAc,CAAC,iBACzBtY,IAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,gBAAgB;MAAAD,QAAA,EAAA,cAC7Bc,GAAA,CAACC,UAAU,EAAA;AACTd,QAAAA,SAAS,EAAC,qBAAqB;AAC/B,QAAA,SAAA,EAAQ,sBAAsB;AAC9BZ,QAAAA,KAAK,EAAC,IAAI;AACV6B,QAAAA,MAAM,EAAC,UAAU;QAAAlB,QAAA,EAEhB2C,CAAC,CAAC,mDAAmD,CAAA;OAC5C,CAAC,eACb7B,GAAA,CAAA,KAAA,EAAA;AAAKb,QAAAA,SAAS,EAAC,0BAA0B;AAAC,QAAA,SAAA,EAAQ,eAAe;AAAAD,QAAAA,QAAA,EAC9D8Y,cAAc,CAACnU,GAAG,CAAC,UAAAnJ,KAAK,EAAI;AAC3B,UAAA,IAAM+d,QAAQ,GAAG,CAAAlK,YAAY,KAAZA,IAAAA,IAAAA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEjU,EAAE,MAAKI,KAAK,CAACJ,EAAE,CAAA;AAC9C,UAAA,IAAM4Z,YAAY,GAAG,CAAAjK,eAAe,KAAfA,IAAAA,IAAAA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAE3P,EAAE,MAAKI,KAAK,CAACJ,EAAE,CAAA;UAErD,oBACE6S,aAAA,CAACpO,MAAI,EAAA;AAEDmV,YAAAA,YAAY,EAAZA,YAAY;AACZrG,YAAAA,YAAY,EAAZA,YAAY;AACZ0H,YAAAA,WAAW,EAAXA,WAAW;AACX7a,YAAAA,KAAK,EAALA,KAAK;AACLib,YAAAA,SAAS,EAATA,SAAS;AAEX1B,YAAAA,MAAM,EAAEwE,QAAS;AACjBhD,YAAAA,aAAa,EAAE,CAAA7G,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAEtU,EAAE,MAAKI,KAAK,CAACJ,EAAG;AAC5C6Z,YAAAA,kBAAkB,EAAEzZ,KAAK,CAACJ,EAAE,KAAK0c,gBAAiB;YAClDjU,GAAG,EAAErI,KAAK,CAACJ,EAAG;AACdyT,YAAAA,eAAe,EACbA,eAAe,IAAI,CAAAoJ,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,CAAE7c,EAAE,MAAKI,KAAK,CAACJ,EACpD;AACDob,YAAAA,kBAAkB,EAAEM,sBAAuB;AAC3CR,YAAAA,YAAY,EAAEK,gBAAiB;AAC/BP,YAAAA,aAAa,EAAE,CAACmD,QAAQ,IAAInD,aAAc;AAC1CD,YAAAA,iBAAiB,EAAEuC,eAAAA;AAAgB,WACpC,CAAC,CAAA;SAEL,CAAA;AAAC,OACC,CAAC,CAAA;AAAA,KACH,CACN,CAAA;AAAA,GACE,CAAC,CAAA;AAEV,CAAC;;ACvLD,IAAMc,QAAQ,GAAG,SAAXA,QAAQA,CAAA9d,IAAA,EAAiE;AAAA,EAAA,IAA3D8G,aAAa,GAAA9G,IAAA,CAAb8G,aAAa;IAAEiX,eAAe,GAAA/d,IAAA,CAAf+d,eAAe;IAAEC,oBAAoB,GAAAhe,IAAA,CAApBge,oBAAoB,CAAA;AACtE,EAAA,IAAAjX,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AAET,EAAA,IAAAgH,cAAA,GAAAC,aAAA,CAAA,UAAAlN,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQqO,QAAAA,eAAe,EAAArO,KAAA,CAAA,iBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAfmO,eAAe,GAAApB,cAAA,CAAfoB,eAAe,CAAA;EACvB,IAAM/O,OAAO,GAAG+O,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,eAAe,CAAE3P,EAAE,CAAA;AACnC,EAAA,IAAAoB,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQyB,QAAAA,UAAU,EAAAzB,KAAA,CAAA,YAAA,CAAA;AAAEid,QAAAA,UAAU,EAAAjd,KAAA,CAAA,YAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAtBuB,UAAU,GAAA3B,eAAA,CAAV2B,UAAU;IAAEwb,UAAU,GAAAnd,eAAA,CAAVmd,UAAU,CAAA;EAE9B,IAAMC,iBAAiB,GAAGhK,gBAAgB,EAAE,IAAIiK,eAAe,EAAE,CAAA;AACjE,EAAA,IAAMtW,iBAAiB,GAAGlC,iBAAiB,CAACmB,aAAa,CAAC,CAAA;AAE1D,EAAA,IAAIoX,iBAAiB,EAAE;AACrB,IAAA,oBACE9Y,GAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,mCAAmC;AAAAD,MAAAA,QAAA,eAChDQ,IAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,2CAA2C;QAAAD,QAAA,EAAA,cACxDc,GAAA,CAACmD,MAAM,EAAA;AACL,UAAA,SAAA,EAAQ,8BAA8B;AACtCkD,UAAAA,IAAI,EAAE2S,SAAU;AAChBC,UAAAA,YAAY,EAAC,MAAM;AACnB1a,UAAAA,KAAK,EAAC,MAAM;AACZgI,UAAAA,YAAY,EAAE;YACZC,OAAO,EAAE/D,iBAAiB,GACtBZ,CAAC,CAAC,gCAAgC,CAAC,GACnCA,CAAC,CAAC,kCAAkC,CAAC;AACzC4E,YAAAA,QAAQ,EAAE,KAAA;WACV;UACF3G,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQ6Y,eAAe,CAACzd,OAAO,CAAC,CAAA;AAAA,WAAA;AAAC,SACzC,CAAC,eACFwE,IAAA,CAACO,UAAU,EAAA;AACT,UAAA,SAAA,EAAQ,eAAe;AACvBE,UAAAA,UAAU,EAAC,QAAQ;AACnB5B,UAAAA,KAAK,EAAC,IAAI;AACV6B,UAAAA,MAAM,EAAC,UAAU;UAAAlB,QAAA,EAAA,CAEhB4Z,iBAAiB,KACfC,eAAe,EAAE,GACdlX,CAAC,CAAC,wDAAwD,CAAC,GAC3DA,CAAC,CAAC,sDAAsD,CAAC,CAAC,EAC/DY,iBAAiB,IAChBZ,CAAC,CAAC,gDAAgD,CAAC,CAAA;AAAA,SAC3C,CAAC,CAAA;OACV,CAAA;AAAC,KACH,CAAC,CAAA;AAEV,GAAA;AAEA,EAAA,oBACE7B,GAAA,CAAA,KAAA,EAAA;AAAKb,IAAAA,SAAS,EAAC,mDAAmD;AAAAD,IAAAA,QAAA,eAChEQ,IAAA,CAAA,KAAA,EAAA;AAAKP,MAAAA,SAAS,EAAC,6CAA6C;AAAAD,MAAAA,QAAA,gBAC1DQ,IAAA,CAAA,KAAA,EAAA;AAAKP,QAAAA,SAAS,EAAC,gBAAgB;QAAAD,QAAA,EAAA,cAC7Bc,GAAA,CAACC,UAAU,EAAA;AACT,UAAA,SAAA,EAAQ,eAAe;AACvBE,UAAAA,UAAU,EAAC,QAAQ;AACnB5B,UAAAA,KAAK,EAAC,IAAI;AACV6B,UAAAA,MAAM,EAAC,UAAU;UAAAlB,QAAA,EAEhB2C,CAAC,CAAC,iDAAiD,CAAA;AAAC,SAC3C,CAAC,eACb7B,GAAA,CAACwI,WAAW,EAAA;UACV0Q,aAAa,EAAEL,UAAU,IAAI;AAAEM,YAAAA,IAAI,EAAEN,UAAAA;WAAa;AAClD5Z,UAAAA,KAAK,EAAE4C,CAAC,CAAC,iDAAiD,CAAE;AAC5D4G,UAAAA,WAAW,EAAE5G,CAAC,CACZ,uDAAuD,EACvD;AAAExE,YAAAA,UAAU,EAAVA,UAAAA;WACJ,CAAA;AAAE,SACH,CAAC,CAAA;OACC,CAAC,eACN2C,GAAA,CAAA,KAAA,EAAA;AAAKb,QAAAA,SAAS,EAAC,UAAU;QAAAD,QAAA,eACvBc,GAAA,CAACmD,MAAM,EAAA;AACL,UAAA,SAAA,EAAQ,mCAAmC;AAC3CkD,UAAAA,IAAI,EAAE+S,IAAK;AACXH,UAAAA,YAAY,EAAC,MAAM;AACnB1a,UAAAA,KAAK,EAAC,MAAM;AACZgI,UAAAA,YAAY,EAAE;AACZC,YAAAA,OAAO,EAAE3E,CAAC,CAAC,iCAAiC,CAAC;AAC7C4E,YAAAA,QAAQ,EAAE,KAAA;WACV;AACF3G,UAAAA,OAAO,EAAE8Y,oBAAAA;SACV,CAAA;AAAC,OACC,CAAC,CAAA;KACH,CAAA;AAAC,GACH,CAAC,CAAA;AAEV,CAAC;;AC/DD,IAAMS,aAAa,gBAAG1C,IAAI,CAAC2C,KAAK,CAAC,CAAA;AAEjC,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAA3e,IAAA,EAMP;AAAA,EAAA,IAAA4e,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,CAAA;AAAA,EAAA,IALJ/D,SAAS,GAAA/a,IAAA,CAAT+a,SAAS;IACT/M,kBAAkB,GAAAhO,IAAA,CAAlBgO,kBAAkB;IAClB+Q,mBAAmB,GAAA/e,IAAA,CAAnB+e,mBAAmB;IACnBC,oBAAoB,GAAAhf,IAAA,CAApBgf,oBAAoB;IACpBxC,yBAAyB,GAAAxc,IAAA,CAAzBwc,yBAAyB,CAAA;AAEzB,EAAA,IAAAhY,SAAA,GAA0CC,QAAQ,CAACX,cAAc,CAACC,MAAM,CAAC;IAAAW,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlEsC,IAAAA,aAAa,GAAApC,UAAA,CAAA,CAAA,CAAA;AAAEua,IAAAA,gBAAgB,GAAAva,UAAA,CAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAwa,UAAA,GAAkDza,QAAQ,CAAC,KAAK,CAAC;IAAA0a,UAAA,GAAAxa,cAAA,CAAAua,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,UAAA,GAAgD7a,QAAQ,CAAC,IAAI,CAAC;IAAA8a,UAAA,GAAA5a,cAAA,CAAA2a,UAAA,EAAA,CAAA,CAAA;AAAvDlD,IAAAA,gBAAgB,GAAAmD,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,UAAA,GAAkDhb,QAAQ,CAAC,EAAE,CAAC;IAAAib,UAAA,GAAA/a,cAAA,CAAA8a,UAAA,EAAA,CAAA,CAAA;AAAvDlD,IAAAA,iBAAiB,GAAAmD,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,oBAAoB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAE,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM,CAAA;AACd,EAAA,IAAMC,cAAc,GAAG,CAACD,MAAM,CAAC,QAAQ,CAAC,CAAA;AAExC,EAAA,IAAAE,UAAA,GAAgEvb,QAAQ,CACtE,CAACsb,cACH,CAAC;IAAAE,WAAA,GAAAtb,cAAA,CAAAqb,UAAA,EAAA,CAAA,CAAA;AAFME,IAAAA,wBAAwB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,2BAA2B,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAI5D,EAAA,IAAM7M,OAAO,GAAGC,UAAU,EAAE,CAAA;AAE5BjE,EAAAA,SAAS,CAAC,YAAM;IACd+Q,2BAA2B,CAAC,CAACJ,cAAc,CAAC,CAAA;AAC9C,GAAC,EAAE,CAACA,cAAc,CAAC,CAAC,CAAA;AAEpB,EAAA,IAAAjf,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQyB,QAAAA,UAAU,EAAAzB,KAAA,CAAA,YAAA,CAAA;AAAEtC,QAAAA,QAAQ,EAAAsC,KAAA,CAAA,UAAA,CAAA;AAAEwS,QAAAA,gBAAgB,EAAAxS,KAAA,CAAA,kBAAA,CAAA;AAAEof,QAAAA,gBAAgB,EAAApf,KAAA,CAAA,kBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAxDuB,UAAU,GAAA3B,eAAA,CAAV2B,UAAU;IAAE/D,QAAQ,GAAAoC,eAAA,CAARpC,QAAQ;IAAE8U,gBAAgB,GAAA1S,eAAA,CAAhB0S,gBAAgB;IAAE4M,gBAAgB,GAAAtf,eAAA,CAAhBsf,gBAAgB,CAAA;AAEhE,EAAA,IAAAnS,cAAA,GAAAC,aAAA,CAAA,UAAAlN,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQmN,QAAAA,aAAa,EAAAnN,KAAA,CAAA,eAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAbiN,aAAa,GAAAF,cAAA,CAAbE,aAAa,CAAA;AAErB,EAAA,IAAMkO,4BAA4B,GAAGvH,MAAM,CAAC,IAAI,CAAC,CAAA;AACjD,EAAA,IAAA/N,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAmH,cAAA,GAAqBC,aAAa,EAAE;IAA5BE,QAAQ,GAAAH,cAAA,CAARG,QAAQ,CAAA;AAEhB,EAAA,IAAA8R,cAAA,GACExf,aAAa,CAACnC,QAAQ,CAAC;IAAA4hB,mBAAA,GAAAD,cAAA,CADjBzT,IAAI;AAAA2T,IAAAA,oBAAA,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAwC,EAAE,GAAAA,mBAAA;IAAAE,qBAAA,GAAAD,oBAAA,CAAtCje,MAAM;AAANA,IAAAA,MAAM,GAAAke,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAC,sBAAA,GAAAF,oBAAA,CAAEpE,aAAa;AAAbA,IAAAA,aAAa,GAAAsE,sBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,sBAAA;IAAShM,SAAS,GAAA4L,cAAA,CAAT5L,SAAS,CAAA;AAGjE,EAAA,IAAAiM,mBAAA,GAGI1hB,kBAAkB,CAACN,QAAQ,CAAC;IAAAiiB,qBAAA,GAAAD,mBAAA,CAF9B9T,IAAI;AAAAgU,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAiC,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAA/B9gB,KAAK;AAAE6T,IAAAA,YAAY,GAAAkN,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IACrBvE,qBAAqB,GAAAoE,mBAAA,CAAhCjM,SAAS,CAAA;AAGX,EAAA,IAAAqM,eAAA,GAAuD7e,cAAc,EAAE;IAAvD8e,WAAW,GAAAD,eAAA,CAAnB7L,MAAM;IAA0B+L,UAAU,GAAAF,eAAA,CAArB3L,SAAS,CAAA;EAEtC,IAAA8L,cAAA,GAA2D9e,aAAa,CAAC;AACvEJ,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAA1B,KAAA,EAAiB;AAAA,QAAA,IAAZP,KAAK,GAAAO,KAAA,CAALP,KAAK,CAAA;QACjByO,QAAQ,CAACzO,KAAK,CAAC,CAAA;QACfohB,cAAc,CAACphB,KAAK,CAAC,CAAA;AACrBqO,QAAAA,aAAa,CAAC;AAAEkB,UAAAA,eAAe,EAAEvP,KAAAA;AAAM,SAAC,CAAC,CAAA;QACzC6f,oBAAoB,CAAC,EAAE,CAAC,CAAA;AACxBV,QAAAA,gBAAgB,CAACnb,cAAc,CAACC,MAAM,CAAC,CAAA;AACvCgb,QAAAA,mBAAmB,aAAnBA,mBAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnBA,mBAAmB,CAAGjf,KAAK,CAAC,CAAA;AAC9B,OAAA;AACF,KAAC,CAAC;IATcqhB,UAAU,GAAAF,cAAA,CAAlBhM,MAAM;IAAyB9B,eAAe,GAAA8N,cAAA,CAA1B9L,SAAS,CAAA;AAWrC,EAAA,IAAMiM,aAAa,GAAGtM,MAAM,CAAC,IAAI,CAAC,CAAA;AAClC,EAAA,IAAMuM,WAAW,GAAGvM,MAAM,CAAC,IAAI,CAAC,CAAA;AAEhC,EAAA,IAAMjN,iBAAiB,GAAGlC,iBAAiB,CAACmB,aAAa,CAAC,CAAA;AAE1D,EAAA,IAAMkX,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;AACjC5K,IAAAA,OAAO,CAACkO,IAAI,CAACvL,QAAQ,CAAClQ,aAAa,CAACxD,MAAM,CAACC,MAAM,CAAI,KAAA,CAAA,CAAC,CAAC,CAAC,CAAA;GACzD,CAAA;AAED,EAAA,IAAM4Y,eAAe,GAAG,SAAlBA,eAAeA,CAAGpb,KAAK,EAAI;IAC/BuhB,WAAW,CAACtE,OAAO,GAAGjd,KAAK,CAAA;AAC3BsT,IAAAA,OAAO,CAACkO,IAAI,CACVvL,QAAQ,CAAClQ,aAAa,CAACxD,MAAM,CAACC,MAAM,CAACE,IAAI,CAAC,EAAE;MAAElC,OAAO,EAAER,KAAK,CAACJ,EAAAA;AAAG,KAAC,CACnE,CAAC,CAAA;GACF,CAAA;AAED,EAAA,IAAMuT,YAAY,GAAG,SAAfA,YAAYA,CAAGnT,KAAK,EAAI;AAC5B,IAAA,IAAIqT,eAAe,EAAE,OAAA;IAErBwM,oBAAoB,CAAC7f,KAAK,CAAC,CAAA;AAC3BqhB,IAAAA,UAAU,CAAC;MAAE7gB,OAAO,EAAER,KAAK,CAACJ,EAAE;AAAEhB,MAAAA,QAAQ,EAARA,QAAQ;AAAE+D,MAAAA,UAAU,EAAVA,UAAAA;AAAW,KAAC,CAAC,CAAA;GACxD,CAAA;AAED,EAAA,IAAM8e,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGjhB,OAAO,EAAI;AACxC4gB,IAAAA,cAAc,CAAClY,SAAS,CAAC1I,OAAO,CAAC,GAAGA,OAAO,GAAGqT,YAAY,aAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEjU,EAAE,CAAC,CAAA;AAC/D0T,IAAAA,OAAO,CAACkO,IAAI,CAACvL,QAAQ,CAAClQ,aAAa,CAACxD,MAAM,CAACC,MAAM,CAACC,KAAK,CAAC,CAAC,CAAC,CAAA;IAE1D8e,WAAW,CAACtE,OAAO,GAAG,IAAI,CAAA;GAC3B,CAAA;AAED,EAAA,IAAMgB,eAAe,GAAG,SAAlBA,eAAeA,CAAGzd,OAAO,EAAI;AACjC,IAAA,IAAIuH,iBAAiB,EAAE;AACrBoX,MAAAA,gBAAgB,CAACnb,cAAc,CAACE,SAAS,CAAC,CAAA;AAE1C,MAAA,OAAA;AACF,KAAA;IAEAud,sBAAsB,CAACjhB,OAAO,CAAC,CAAA;GAChC,CAAA;AAED,EAAA,IAAM4gB,cAAc,GAAG,SAAjBA,cAAcA,CAAGM,kBAAkB,EAAI;AAC3CzZ,IAAAA,UAAU,CAAC,YAAM;MACfC,qBAAqB,CAACwZ,kBAAkB,CAAC,CAAA;KAC1C,EAAE,IAAI,CAAC,CAAA;AAERzZ,IAAAA,UAAU,CAAC,YAAM;MACfyX,mBAAmB,CAAC,IAAI,CAAC,CAAA;KAC1B,EAAE,IAAI,CAAC,CAAA;IAERA,mBAAmB,CAACgC,kBAAkB,CAAC,CAAA;GACxC,CAAA;AAED,EAAA,IAAMxO,aAAa,GAAG,SAAhBA,aAAaA,CAAGyO,YAAY,EAAI;IACpCJ,WAAW,CAACtE,OAAO,GAAG0E,YAAY,CAAA;IAClClT,QAAQ,CAACkT,YAAY,CAAC,CAAA;AACtBtT,IAAAA,aAAa,CAAC;AAAEkB,MAAAA,eAAe,EAAEoS,YAAAA;AAAa,KAAC,CAAC,CAAA;GACjD,CAAA;AAED,EAAA,IAAMvO,aAAa,GAAG,SAAhBA,aAAaA,CAAGwO,YAAY,EAAI;IACpCL,WAAW,CAACtE,OAAO,GAAG2E,YAAY,CAAA;AAClC1C,IAAAA,oBAAoB,aAApBA,oBAAoB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,oBAAoB,CAAG0C,YAAY,CAAC,CAAA;GACrC,CAAA;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIrhB,OAAO,EAAE+C,IAAI,EAAE2X,YAAY,EAAK;IACpDqE,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC1B+B,aAAa,CAACrE,OAAO,GAAG;AAAErd,MAAAA,EAAE,EAAEY,OAAO;AAAE+C,MAAAA,IAAI,EAAJA,IAAI;AAAE2X,MAAAA,YAAY,EAAZA,YAAAA;KAAc,CAAA;GAC5D,CAAA;AAED,EAAA,IAAM4G,sBAAsB,GAAGC,WAAW,CAAC,YAAM;IAC/CxC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAC3B+B,aAAa,CAACrE,OAAO,GAAG,IAAI,CAAA;AAC9B,GAAC,EAAE,CAACqE,aAAa,CAAC,CAAC,CAAA;AAEnB,EAAA,IAAMjG,iBAAiB,GAAG0G,WAAW,CAAC,YAAM;AAAA,IAAA,IAAAC,qBAAA,CAAA;AAC1Cf,IAAAA,WAAW,CAAAe,CAAAA,qBAAA,GAACV,aAAa,CAACrE,OAAO,MAAA+E,IAAAA,IAAAA,qBAAA,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAuBpiB,EAAE,EAAE;AACrCqC,MAAAA,SAAS,EAAE,SAAXA,SAASA,GAAQ;QACfsd,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC3B+B,aAAa,CAACrE,OAAO,GAAG,IAAI,CAAA;AAC9B,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACgE,WAAW,EAAEK,aAAa,CAAC,CAAC,CAAA;EAEhC,oBACEtc,IAAA,CAAAwK,QAAA,EAAA;AAAAhL,IAAAA,QAAA,EACG,CAAA,CAAC4b,wBAAwB,iBACxB9a,GAAA,CAAA,KAAA,EAAA;AACEb,MAAAA,SAAS,EAAC,gCAAgC;AAC1CW,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACbib,2BAA2B,CAAC,CAACD,wBAAwB,CAAC,CAAA;AACxD,OAAA;KACD,CACF,eACDpb,IAAA,CAAA,KAAA,EAAA;AACEP,MAAAA,SAAS,EAAEmE,UAAU,CACnB,kGAAkG,EAClG;AAAE,QAAA,gCAAgC,EAAEb,iBAAAA;AAAkB,OAAC,EACvD;AACE,QAAA,iCAAiC,EAAEqY,wBAAAA;AACrC,OACF,CAAE;MAAA5b,QAAA,EAAA,cAEFc,GAAA,CAAC0Y,QAAQ,EAAA;AACDhX,QAAAA,aAAa,EAAbA,aAAa;AAAEiX,QAAAA,eAAe,EAAfA,eAAe;AAAEC,QAAAA,oBAAoB,EAApBA,oBAAAA;AAAoB,OAC3D,CAAC,eACFlZ,IAAA,CAACgJ,QAAM,EAAA;QAAAxJ,QAAA,EAAA,cACLc,GAAA,CAAC2c,KAAK,EAAA;UACJC,KAAK,EAAA,IAAA;UACLC,IAAI,EAAEpc,aAAa,CAACxD,MAAM,CAACC,MAAM,CAACC,KAAK,CAAE;UACzC2f,MAAM,EAAE,SAARA,MAAMA,GAAA;YAAA,oBACJ9c,GAAA,CAAC4W,MAAM,EAAA;AAEHrI,cAAAA,YAAY,EAAZA,YAAY;AACZwI,cAAAA,aAAa,EAAbA,aAAa;AACbE,cAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5B6E,cAAAA,cAAc,EAAdA,cAAc;AACd/N,cAAAA,eAAe,EAAfA,eAAe;AACfmJ,cAAAA,qBAAqB,EAArBA,qBAAqB;AACrBE,cAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBvJ,cAAAA,YAAY,EAAZA,YAAY;AACZsJ,cAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBH,cAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB9Z,cAAAA,MAAM,EAANA,MAAM;AACNyY,cAAAA,SAAS,EAATA,SAAS;cAEXtG,SAAS,EAAEA,SAAS,IAAIjB,gBAAiB;AACzCkH,cAAAA,aAAa,EAAEiH,YAAa;AAC5BhH,cAAAA,WAAW,EAAEO,eAAAA;AAAgB,aAC9B,CAAC,CAAA;AAAA,WAAA;AACF,SACH,CAAC,eACF9V,GAAA,CAAC2c,KAAK,EAAA;AACJE,UAAAA,IAAI,EAAEpc,aAAa,CAACxD,MAAM,CAACC,MAAM,OAAI,CAAE;UACvC4f,MAAM,EAAE,SAARA,MAAMA,GAAA;YAAA,oBACJ9c,GAAA,CAACpB,SAAS,EAAA;AAEN8C,cAAAA,aAAa,EAAbA,aAAa;AACbqM,cAAAA,eAAe,EAAfA,eAAe;AACfF,cAAAA,YAAY,EAAZA,YAAY;AACZD,cAAAA,aAAa,EAAbA,aAAa;AACbhF,cAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBkF,cAAAA,aAAa,EAAbA,aAAa;cAEfpT,KAAK,EAAEuhB,WAAW,CAACtE,OAAQ;AAC3BlW,cAAAA,cAAc,EAAEoY,gBAAAA;AAAiB,aAClC,CAAC,CAAA;AAAA,WAAA;AACF,SACH,CAAC,eACF7Z,GAAA,CAAC2c,KAAK,EAAA;UACJE,IAAI,EAAEpc,aAAa,CAACxD,MAAM,CAACC,MAAM,CAACE,IAAI,CAAE;UACxC0f,MAAM,EAAE,SAARA,MAAMA,GAAA;YAAA,oBACJ9c,GAAA,CAACpB,SAAS,EAAA;AAEN8C,cAAAA,aAAa,EAAbA,aAAa;AACbqM,cAAAA,eAAe,EAAfA,eAAe;AACfF,cAAAA,YAAY,EAAZA,YAAY;AACZD,cAAAA,aAAa,EAAbA,aAAa;AACbhF,cAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBkF,cAAAA,aAAa,EAAbA,aAAa;cAEfpT,KAAK,EAAEuhB,WAAW,CAACtE,OAAQ;AAC3BlW,cAAAA,cAAc,EAAEoY,gBAAAA;AAAiB,aAClC,CAAC,CAAA;AAAA,WAAA;AACF,SACH,CAAC,CAAA;AAAA,OACI,CAAC,eACT7Z,GAAA,CAACqZ,aAAa,EAAA;AACZ0D,QAAAA,MAAM,EAAE/C,iBAAkB;AAC1B7J,QAAAA,YAAY,EAAEyL,UAAW;AACzB3c,QAAAA,KAAK,EAAE4C,CAAC,CAAC,sCAAsC,CAAE;AACjDmb,QAAAA,OAAO,EAAEnb,CAAC,CAAC,wCAAwC,EAAE;UACnD5D,IAAI,EAAA,CAAAub,sBAAA,GAAEwC,aAAa,CAACrE,OAAO,MAAA,IAAA,IAAA6B,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAArBA,sBAAA,CAAuBvb,IAAI;UACjCgf,KAAK,EAAA,CAAAxD,sBAAA,GAAEuC,aAAa,CAACrE,OAAO,MAAA,IAAA,IAAA8B,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAArBA,sBAAA,CAAuB7D,YAAY;AAC1CoF,UAAAA,gBAAgB,EAAhBA,gBAAgB;UAChB3d,UAAU,EAAEwE,CAAC,CAAA,yBAAA,CAAApI,MAAA,CACe4D,UAAU,CAACya,WAAW,EAAE,CAClD,EAAA;YAAEmF,KAAK,EAAA,CAAAvD,sBAAA,GAAEsC,aAAa,CAACrE,OAAO,MAAA+B,IAAAA,IAAAA,sBAAA,KAArBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAA,CAAuB9D,YAAAA;WAClC,CAAA;AACF,SAAC,CAAE;AACHsH,QAAAA,OAAO,EAAEV,sBAAuB;AAChCnM,QAAAA,QAAQ,EAAE0F,iBAAAA;AAAkB,OAC7B,CAAC,eACF/V,GAAA,CAACmD,MAAM,EAAA;AACLhE,QAAAA,SAAS,EAAC,+BAA+B;AACzCkH,QAAAA,IAAI,EAAE8W,QAAS;AACf5e,QAAAA,KAAK,EAAC,WAAW;AACjBuB,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACbib,2BAA2B,CAAC,CAACD,wBAAwB,CAAC,CAAA;AACxD,SAAA;AAAE,OACH,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAAA,GACN,CAAC,CAAA;AAEP,CAAC;;ACpQD,IAAMsC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAxiB,IAAA,EAWlB;AAAA,EAAA,IAVJsE,QAAQ,GAAAtE,IAAA,CAARsE,QAAQ;IACR7B,UAAU,GAAAzC,IAAA,CAAVyC,UAAU;IACV/D,QAAQ,GAAAsB,IAAA,CAARtB,QAAQ;IACRqc,SAAS,GAAA/a,IAAA,CAAT+a,SAAS;IACT/M,kBAAkB,GAAAhO,IAAA,CAAlBgO,kBAAkB;IAAAyU,eAAA,GAAAziB,IAAA,CAClBie,UAAU;AAAVA,IAAAA,UAAU,GAAAwE,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAC,qBAAA,GAAA1iB,IAAA,CACjBiB,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAyhB,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAC,qBAAA,GAAA3iB,IAAA,CAC/B+e,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAA4D,qBAAA,KAAGC,KAAAA,CAAAA,GAAAA,IAAI,GAAAD,qBAAA;IAAAE,qBAAA,GAAA7iB,IAAA,CAC1Bgf,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAA6D,qBAAA,KAAGD,KAAAA,CAAAA,GAAAA,IAAI,GAAAC,qBAAA;IAAAC,qBAAA,GAAA9iB,IAAA,CAC3Bwc,yBAAyB;AAAzBA,IAAAA,yBAAyB,GAAAsG,qBAAA,KAAGF,KAAAA,CAAAA,GAAAA,IAAI,GAAAE,qBAAA,CAAA;AAEhC,EAAA,IAAA7U,cAAA,GAAAC,aAAA,CAAA,UAAAlN,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQmN,QAAAA,aAAa,EAAAnN,KAAA,CAAA,eAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAbiN,aAAa,GAAAF,cAAA,CAAbE,aAAa,CAAA;AACrB,EAAA,IAAAC,cAAA,GAAqBC,aAAa,EAAE;IAA5BE,QAAQ,GAAAH,cAAA,CAARG,QAAQ,CAAA;AAChB,EAAA,IAAAzN,eAAA,GAAAC,cAAA,CAAA,UAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQ+hB,QAAAA,cAAc,EAAA/hB,KAAA,CAAA,gBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAE,OAAA,CAAA;IAAd6hB,cAAc,GAAAjiB,eAAA,CAAdiiB,cAAc,CAAA;AAEtB,EAAA,IAAArC,mBAAA,GAII1hB,kBAAkB,CAACN,QAAQ,CAAC;IAAAiiB,qBAAA,GAAAD,mBAAA,CAH9B9T,IAAI;AAAAgU,IAAAA,sBAAA,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAiC,EAAE,GAAAA,qBAAA;IAAAE,sBAAA,GAAAD,sBAAA,CAA/B9gB,KAAK;AAAE6T,IAAAA,YAAY,GAAAkN,sBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,sBAAA;IAChCpM,SAAS,GAAAiM,mBAAA,CAATjM,SAAS;IACGuO,sBAAsB,GAAAtC,mBAAA,CAAlCuC,UAAU,CAAA;AAGZ,EAAA,IAAM3G,qBAAqB,GAAG7H,SAAS,IAAIuO,sBAAsB,CAAA;AAEjE5T,EAAAA,SAAS,CAAC,YAAM;AACd2T,IAAAA,cAAc,CAAC;AACbtgB,MAAAA,UAAU,EAAVA,UAAU;AACV/D,MAAAA,QAAQ,EAARA,QAAQ;AACRuC,MAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBgd,MAAAA,UAAU,EAAVA,UAAAA;AACF,KAAC,CAAC,CAAA;GACH,EAAE,EAAE,CAAC,CAAA;AAEN7O,EAAAA,SAAS,CAAC,YAAM;IACd,IAAIhF,YAAY,CAACuJ,YAAY,CAAC,IAAIO,gBAAgB,EAAE,EAAE;AACpD,MAAA,OAAA;AACF,KAAA;AAEA/F,IAAAA,aAAa,CAAC;AAAEkB,MAAAA,eAAe,EAAEsE,YAAAA;AAAa,KAAC,CAAC,CAAA;IAChDpF,QAAQ,CAACoF,YAAY,CAAC,CAAA;GACvB,EAAE,CAACc,SAAS,EAAE/V,QAAQ,EAAEiV,YAAY,CAAC,CAAC,CAAA;AAEvCvE,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIhF,YAAY,CAACuJ,YAAY,CAAC,EAAE,OAAA;AAEhCxF,IAAAA,aAAa,CAAC;AAAEwF,MAAAA,YAAY,EAAZA,YAAY;AAAE2I,MAAAA,qBAAqB,EAArBA,qBAAAA;AAAsB,KAAC,CAAC,CAAA;AACxD,GAAC,EAAE,CAAC3I,YAAY,EAAE2I,qBAAqB,CAAC,CAAC,CAAA;AAEzC,EAAA,oBACExX,IAAA,CAAA,KAAA,EAAA;AAAKP,IAAAA,SAAS,EAAC,uBAAuB;IAAAD,QAAA,EAAA,cACpCc,GAAA,CAACuZ,OAAO,EAAA;AAEJnC,MAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBuC,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB/Q,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBgR,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBjE,MAAAA,SAAS,EAATA,SAAAA;KAEH,CAAC,eACF3V,GAAA,CAAA,KAAA,EAAA;AAAKb,MAAAA,SAAS,EAAC,+BAA+B;MAAAD,QAAA,EAC3CgY,qBAAqB,gBACpBlX,GAAA,CAAA,KAAA,EAAA;AAAKb,QAAAA,SAAS,EAAC,uDAAuD;AAAAD,QAAAA,QAAA,eACpEc,GAAA,CAACoY,OAAO,EAAE,EAAA,CAAA;AAAC,OACR,CAAC,GAENlZ,QAAAA;AACD,KACE,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,YAAe4e,SAAS,CAACV,kBAAkB,EAAEvb,GAAC,CAAC,0BAA0B,CAAC,CAAC;;;;","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"NeetoThemesBuilder.js","sources":["../app/javascript/src/apis/entities.js","../app/javascript/src/hooks/reactQuery/useEntitiesApi.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/src/apis/themes.js","../app/javascript/src/hooks/reactQuery/useThemesApi.js","../app/javascript/src/routes.js","../app/javascript/src/apis/global_themes.js","../app/javascript/src/hooks/reactQuery/useGlobalThemesApi.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../app/javascript/src/components/NeetoThemesBuilder/constants.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/Card.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/utils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/CustomCSS.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/utils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/AlignmentBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ColorBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/FontPickerBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SelectBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SliderBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SwitchBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Properties.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ImageBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Images.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/ThemeMeta.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/Thumbnail.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/Card.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/TitleBar.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = entityId => axios.get(`${BASE_URL}/api/v1/entities/${entityId}`);\n\nconst entitiesApi = { show };\n\nexport default entitiesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport entitiesApi from \"apis/entities\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useShowThemeEntity = entityId =>\n useQuery({\n queryKey: [QUERY_KEYS.THEME_ENTITY_DETAILS, entityId],\n queryFn: () => entitiesApi.show(entityId),\n enabled: !!entityId,\n });\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = entityId =>\n axios.get(`${BASE_URL}/api/v1/themes`, { params: { entity_id: entityId } });\n\nconst show = id => axios.get(`${BASE_URL}/api/v1/themes/${id}`);\n\nconst create = payload =>\n axios.post(`${BASE_URL}/api/v1/themes`, { theme: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${BASE_URL}/api/v1/themes/${id}`, { theme: payload });\n\nconst destroy = id => axios.delete(`${BASE_URL}/api/v1/themes/${id}`);\n\nconst clone = id => axios.post(`${BASE_URL}/api/v1/themes/${id}/clone`);\n\nconst apply = ({ themeId, ...payload }) =>\n axios.post(`${BASE_URL}/api/v1/themes/${themeId}/apply`, { entity: payload });\n\nconst applyGlobalTheme = ({ themeId, payload }) =>\n axios.post(`${BASE_URL}/api/v1/themes/${themeId}/apply_global_theme`, {\n theme: payload,\n });\n\nconst themesApi = {\n list,\n show,\n create,\n update,\n destroy,\n clone,\n apply,\n applyGlobalTheme,\n};\n\nexport default themesApi;\n","import { useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport themesApi from \"apis/themes\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nexport const useListThemes = entityId => {\n const { isTemplateThemesEnabled } = useConfigStore.pick();\n\n const queryKey = isTemplateThemesEnabled\n ? [QUERY_KEYS.THEMES_LIST, entityId]\n : [QUERY_KEYS.THEMES_LIST];\n\n return useQuery({\n queryKey,\n queryFn: () => themesApi.list(entityId),\n });\n};\n\nexport const useFetchTheme = (themeId, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.THEME_DETAILS, themeId],\n queryFn: () => themesApi.show(themeId),\n ...options,\n });\n\nexport const useCreateTheme = () =>\n useMutationWithInvalidation(themesApi.create, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n ],\n });\n\nexport const useUpdateTheme = themeId => {\n const queryClient = useQueryClient();\n\n return useMutationWithInvalidation(\n payload => themesApi.update({ id: themeId, payload }),\n {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n [QUERY_KEYS.THEME_DETAILS, themeId],\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n ],\n onSuccess: ({ theme }) => {\n queryClient.setQueryData([QUERY_KEYS.THEME_DETAILS, themeId], theme);\n },\n }\n );\n};\n\nexport const useDeleteTheme = () =>\n useMutationWithInvalidation(themesApi.destroy, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n });\n\nexport const useCloneTheme = () =>\n useMutationWithInvalidation(themesApi.clone, {\n keysToInvalidate: [QUERY_KEYS.THEMES_LIST],\n });\n\nexport const useApplyTheme = ({ onSuccess }) =>\n useMutationWithInvalidation(themesApi.apply, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n onSuccess,\n });\n\nexport const useApplyGlobalTheme = () =>\n useMutationWithInvalidation(themesApi.applyGlobalTheme, {\n keysToInvalidate: [\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n });\n","const routes = {\n themes: {\n index: \"/themes\",\n edit: \"/themes/:themeId/edit\",\n new: \"/themes/new\",\n },\n};\nexport default routes;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = entityType =>\n axios.get(`${BASE_URL}/api/v1/global_theme`, {\n params: { entity_type: entityType },\n });\n\nconst globalThemesApi = { show };\nexport default globalThemesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport globalThemesApi from \"apis/global_themes\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useShowGlobalTheme = entityType =>\n useQuery({\n queryKey: [QUERY_KEYS.GLOBAL_THEME_DETAILS, entityType],\n queryFn: () => globalThemesApi.show(entityType),\n enabled: !!entityType,\n });\n","import * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(\"Name is required\"),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDIAN_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","export const DESIGN_SCREENS = {\n THEMES: \"Themes\",\n Customize: \"Customize\",\n CustomCSS: \"CustomCSS\",\n};\n\nexport const ONE_MEGABYTE = 1;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { ACCORDIAN_OPEN_STATE } from \"../Customize/constants\";\n\nconst Card = ({ title = \"\", children, name, className }) => {\n const [accordianOpenState, setAccordianOpenState] =\n useState(ACCORDIAN_OPEN_STATE);\n\n return (\n <div\n data-cy={`theme-${hyphenate(title)}-properties`}\n className={classnames(\n \"neeto-themes-nano-section neeto-ui-border-gray-200 border-b pt-2 transition-all duration-300 last:border-none\",\n className,\n {\n \"pb-2\": !accordianOpenState[name],\n \"pb-3\": accordianOpenState[name],\n }\n )}\n >\n {title && (\n <button\n className=\"neeto-themes-nano-section__title flex w-full cursor-pointer items-center justify-between px-1 py-2 focus:outline-none\"\n type=\"button\"\n onClick={() =>\n setAccordianOpenState({\n ...accordianOpenState,\n [name]: !accordianOpenState[name],\n })\n }\n >\n <Typography\n className=\"min-w-0 flex-grow text-left\"\n component=\"span\"\n data-cy=\"theme-properties\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n <Down\n size={20}\n className={classnames(\"transition-all duration-300\", {\n \"rotate-180\": accordianOpenState[name],\n })}\n />\n </button>\n )}\n {children && (\n <div\n className={classnames(\n \"neeto-themes-nano-section__content w-full space-y-3 overflow-hidden px-1 transition-all duration-300\",\n {\n \"neeto-themes-nano-section__content--closed\":\n !accordianOpenState[name],\n \"neeto-themes-nano-section__content--open pb-1\":\n accordianOpenState[name],\n }\n )}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default Card;\n","import { isEmpty } from \"ramda\";\n\nimport { DESIGN_SCREENS } from \"../constants\";\n\nexport const isScreenCustomCSS = screen => screen === DESIGN_SCREENS.CustomCSS;\n\nexport const buildPathname = route => {\n let pathname = \"\";\n for (const segment of location.pathname.split(\"/\")) {\n if (isEmpty(segment)) {\n continue;\n }\n\n if (segment === \"themes\") {\n break;\n }\n pathname += `/${segment}`;\n }\n\n return `${pathname}${route}`;\n};\n","import Editor from \"@monaco-editor/react\";\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { findBy, findIndexBy } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DESIGN_SCREENS } from \"components/NeetoThemesBuilder/constants\";\nimport { scrollElementIntoView } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { setCustomCSS } from \"utils\";\n\nimport Card from \"../commons/Card\";\nimport { isScreenCustomCSS } from \"../utils\";\n\nconst CustomCSS = ({ onEditCSSClick, currentScreen }) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n const { themePropertiesSchema } = useConfigStore.pick();\n\n const customCSS = findBy({ kind: \"custom_css\" }, values.properties);\n\n if (!customCSS) return null;\n\n const parentElementClass = findBy(\n { kind: \"custom_css\" },\n themePropertiesSchema\n ).parentClass;\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleEditorToggle = () => {\n if (!isCustomCssScreen) return onEditCSSClick(DESIGN_SCREENS.CustomCSS);\n onEditCSSClick(DESIGN_SCREENS.Customize);\n\n return setTimeout(() => {\n scrollElementIntoView(\"css-editor\");\n }, 400);\n };\n\n const handleChange = value => {\n const index = findIndexBy({ key: customCSS.key }, values.properties);\n\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n setCustomCSS({\n css: value,\n elementId: customCSS.key,\n parentElementClass,\n });\n }\n };\n\n return (\n <div className=\"neeto-themes-sidebar__custom-css-wrapper\" id=\"css-editor\">\n <Card\n name=\"customcss\"\n title={\n isCustomCssScreen\n ? \"\"\n : t(\"neetoThemes.build.leftSideBar.themes.customCSS\")\n }\n >\n <div className=\"w-full\">\n <div className=\"neeto-themes-sidebar__custom-css-editor-header w-full justify-end gap-1 rounded-b-none p-2\">\n <Button\n size=\"small\"\n style=\"secondary\"\n label={\n isCustomCssScreen\n ? t(\"neetoThemes.buttons.minimizeEditor\")\n : t(\"neetoThemes.buttons.expandEditor\")\n }\n onClick={handleEditorToggle}\n />\n </div>\n <Editor\n language=\"css\"\n theme=\"vs-dark\"\n value={customCSS.value}\n className={classNames({\n rounded: true,\n \"css-editor-height__expanded\": isCustomCssScreen,\n \"css-editor-height__regular\": !isCustomCssScreen,\n })}\n options={{\n scrollBeyondLastLine: false,\n minimap: { enabled: false },\n }}\n onChange={handleChange}\n />\n </div>\n </Card>\n </div>\n );\n};\n\nexport default CustomCSS;\n","import { t } from \"i18next\";\nimport {\n findBy,\n isNot,\n filterBy,\n isPresent,\n snakeToCamelCase,\n isNotPresent,\n} from \"neetocist\";\n\nexport const generateRandomColor = () => {\n const letters = \"0123456789ABCDEF\";\n let color = \"#\";\n for (let i = 0; i < 6; i++) {\n color += letters[Math.floor(Math.random() * 16)];\n }\n\n return color;\n};\n\nexport const buildInitialValues = (theme, themePropertiesSchema) => {\n if (isPresent(theme)) return theme;\n\n return {\n name: t(\"neetoThemes.build.leftSideBar.themes.createTheme.newThemeName\"),\n properties: themePropertiesSchema\n .map(({ key, kind, defaultValue, order = null, dependsOn }) => {\n switch (kind) {\n case \"color\":\n return {\n value: defaultValue,\n kind: \"color\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"font_family\":\n return {\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n kind: \"font_family\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"overlay_opacity\":\n return {\n value: 0,\n kind: \"overlay_opacity\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"slider\":\n return {\n value: 0,\n kind: \"slider\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"radius\":\n return {\n value: defaultValue,\n kind: \"radius\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"boolean\":\n return {\n value: String(defaultValue),\n kind: \"boolean\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"order_selector\":\n return {\n value: defaultValue,\n kind: \"order_selector\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"alignment_block\":\n return {\n value: defaultValue,\n kind: \"alignment_block\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"custom_css\":\n return {\n value: defaultValue,\n kind: \"custom_css\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n default:\n return null;\n }\n })\n .filter(isNot(null)),\n };\n};\n\nexport const buildImageData = (values, themePropertiesSchema) =>\n filterBy({ kind: \"image\" }, themePropertiesSchema).reduce((acc, item) => {\n const signedId = values[snakeToCamelCase(item.key)]?.signedId;\n acc[item.key] = signedId;\n\n return acc;\n }, {});\n\nexport const isPropertyVisible = (key, formikValues, themePropertiesSchema) => {\n const property = findBy({ key }, themePropertiesSchema);\n\n if (isNotPresent(property)) return false;\n\n if (property?.hidden) return false;\n\n const conditionalKey = property?.dependsOn;\n if (isNotPresent(conditionalKey)) return true;\n\n const dependentPropertySchema = findBy(\n { key: conditionalKey },\n themePropertiesSchema\n );\n\n const dependentProperty = findBy(\n { key: conditionalKey },\n formikValues.properties\n );\n\n if (dependentPropertySchema.kind === \"image\") {\n return isPresent(formikValues[snakeToCamelCase(conditionalKey)]?.url);\n } else if (dependentPropertySchema.kind === \"boolean\") {\n return dependentProperty?.value !== \"false\";\n }\n\n return isPresent(dependentProperty?.value);\n};\n\nexport const buildLabel = (key, kind) =>\n t(\n `neetoThemes.properties.${snakeToCamelCase(kind)}.${snakeToCamelCase(key)}`\n );\n\nexport const buildProperties = (values, condition, themePropertiesSchema) => {\n values.forEach(value => {\n themePropertiesSchema.forEach(theme => {\n if (!(value.key === theme.key)) return;\n value.dependsOn = theme.dependsOn;\n });\n });\n\n if (condition) {\n return filterBy({ dependsOn: condition }, values);\n }\n\n const imageKeys = new Set();\n filterBy({ kind: \"image\" }, themePropertiesSchema).forEach(ele =>\n imageKeys.add(ele.key)\n );\n\n return values?.filter(({ dependsOn }) => !imageKeys.has(dependsOn));\n};\n","import classnames from \"classnames\";\nimport { Field } from \"formik\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { CenterAlign, LeftAlign } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst AlignmentBlock = ({ label, name }) => (\n <div\n className=\"flex items-center justify-between gap-2\"\n data-cy={joinHyphenCase(label)}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <Field {...{ name }}>\n {({ field: { value }, form: { setFieldValue } }) => (\n <div className=\"neeto-ui-border-gray-300 neeto-themes-nano-alignment-block flex items-center border\">\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-left\"\n data-cy=\"alignment-left\"\n size=\"medium\"\n style={value === \"left\" ? \"primary\" : \"text\"}\n icon={() => (\n <LeftAlign\n size={20}\n className={classnames({\n rounded: true,\n \"neeto-ui-text-primary-800\": value === \"left\",\n \"neeto-ui-text-gray-600\": value !== \"left\",\n })}\n />\n )}\n tooltipProps={{\n content: \"Left align\",\n position: \"bottom\",\n }}\n onClick={() => setFieldValue(name, \"left\")}\n />\n <div className=\"neeto-themes-nano-alignment-divider\" />\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-center\"\n data-cy=\"alignment-center\"\n size=\"medium\"\n style={value === \"center\" ? \"primary\" : \"text\"}\n icon={() => (\n <CenterAlign\n size={20}\n className={classnames({\n rounded: true,\n \"neeto-ui-text-primary-800\": value === \"center\",\n \"neeto-ui-text-gray-600\": value !== \"center\",\n })}\n />\n )}\n tooltipProps={{\n content: \"Center align\",\n position: \"bottom\",\n }}\n onClick={() => setFieldValue(name, \"center\")}\n />\n </div>\n )}\n </Field>\n </div>\n);\n\nexport default AlignmentBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { ColorPicker, Typography } from \"neetoui\";\n\nconst ColorBlock = ({\n label,\n color = \"#FFFFFF\",\n onChange,\n showTransparencyControl,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <ColorPicker\n {...{ color, onChange, showTransparencyControl }}\n showEyeDropper\n size=\"medium\"\n />\n </div>\n);\n\nexport default ColorBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Select } from \"neetoui\";\n\nconst FontPickerBlock = ({\n label,\n placeholder = \"\",\n value,\n options,\n onChange,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Select\n {...{ onChange, options, placeholder, value }}\n menuPosition=\"fixed\"\n styles={{\n option: (styles, { data }) => ({\n ...styles,\n fontFamily: data.value,\n }),\n }}\n />\n </div>\n </div>\n);\n\nexport default FontPickerBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Select } from \"neetoui\";\n\nconst SelectBlock = ({ label, placeholder = \"\", value, options, onChange }) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"logo-field-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Select {...{ onChange, options, placeholder, value }} />\n </div>\n </div>\n);\n\nexport default SelectBlock;\n","import { Slider } from \"antd\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nconst SliderBlock = ({ label, onChange, value, min, max, marks }) => (\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <Slider\n {...{ marks, max, min, onChange, value }}\n className=\"my-2 w-20\"\n tooltip={{ formatter: null }}\n />\n </div>\n);\n\nexport default SliderBlock;\n","import classnames from \"classnames\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography, Switch } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SwitchBlock = ({ label, name, ...switchProps }) => {\n const { t, i18n } = useTranslation();\n\n const translationKey = `neetoThemes.properties.boolean.${name}HelpText`;\n const doesHelpTextExist = i18n.exists(translationKey);\n\n return (\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"theme-style-content-background\"\n >\n <div className=\"inline-flex items-center gap-4\">\n <Typography\n data-cy=\"style-fields-labels\"\n style=\"body2\"\n className={classnames({\n \"w-32\": doesHelpTextExist,\n \"w-auto\": !doesHelpTextExist,\n })}\n >\n {label}\n </Typography>\n {doesHelpTextExist && (\n <HelpPopover\n className=\"flex-shrink-0\"\n description={t(translationKey)}\n />\n )}\n </div>\n <Switch\n {...{ name, ...switchProps }}\n data-cy=\"enable-background-color-toggle\"\n />\n </div>\n );\n};\n\nexport default SwitchBlock;\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport {\n toLabelAndValue,\n snakeToCamelCase,\n findIndexBy,\n findBy,\n} from \"neetocist\";\nimport { negate } from \"ramda\";\n\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport {\n OVERLAY_OPACITY_SLIDER_MARKS,\n FONT_OPTIONS,\n HUNDRED,\n POSITION_OPTIONS,\n} from \"./constants\";\nimport { buildLabel, buildProperties, isPropertyVisible } from \"./utils\";\n\nimport AlignmentBlock from \"../commons/AlignmentBlock\";\nimport ColorBlock from \"../commons/ColorBlock\";\nimport FontPickerBlock from \"../commons/FontPickerBlock\";\nimport SelectBlock from \"../commons/SelectBlock\";\nimport SliderBlock from \"../commons/SliderBlock\";\nimport SwitchBlock from \"../commons/SwitchBlock\";\n\nconst Properties = ({ onPropertiesChange, condition }) => {\n const { themePropertiesSchema } = useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n const { setFieldValue, values } = useFormikContext();\n const { setVariable, setTheme } = useThemeUtils();\n\n const handleColorChange =\n name =>\n ({ hex, rgb }) => {\n handleChange(name, hex, `${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a}`);\n };\n\n const handleChange = (name, value, variableValue) => {\n const index = findIndexBy({ key: name }, values.properties);\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n }\n setVariable(snakeToCamelCase(name), variableValue ?? value);\n };\n\n const handleOverlayChange = (key, value) => {\n const index = findIndexBy({ key }, values.properties);\n const overlayColorVariable = `${key}_overlay_color`;\n\n setFieldValue(`properties[${index}].value`, value);\n setVariable(`${key}_overlay_opacity`, Math.abs(value / 100));\n if (value < 0) {\n handleChange(overlayColorVariable, \"#000000\", \"0, 0, 0\");\n } else {\n handleChange(overlayColorVariable, \"#ffffff\", \"255, 255, 255\");\n }\n };\n\n useEffect(() => {\n onPropertiesChange?.(values, handleChange, handleColorChange);\n setTheme(values);\n setThemeState({ previewingTheme: values });\n }, [values]);\n\n return (\n <>\n {buildProperties(values?.properties, condition, themePropertiesSchema)\n .sort((a, b) => {\n const order = key =>\n findBy({ key }, themePropertiesSchema)?.order || Infinity;\n\n return order(a.key) - order(b.key);\n })\n .map(({ key, value, kind }) => {\n const isCurrentPropertyVisible = isPropertyVisible(\n key,\n values,\n themePropertiesSchema\n );\n\n if (!isCurrentPropertyVisible) return null;\n\n switch (kind) {\n case \"font_family\":\n return (\n <FontPickerBlock\n key={key}\n label={buildLabel(key, kind)}\n options={FONT_OPTIONS}\n value={findBy({ value: value || null }, FONT_OPTIONS)}\n onChange={({ value }) => handleChange(key, value)}\n />\n );\n\n case \"color\":\n return (\n <ColorBlock\n color={value}\n key={key}\n label={buildLabel(key, kind)}\n showTransparencyControl={\n findBy({ key }, themePropertiesSchema)\n ?.showTransparencyControl || false\n }\n onChange={handleColorChange(key)}\n />\n );\n\n case \"radius\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n max={50}\n min={0}\n value={Number(value) || 0}\n onChange={radius => handleChange(key, radius, `${radius}px`)}\n />\n );\n\n case \"overlay_opacity\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n marks={OVERLAY_OPACITY_SLIDER_MARKS}\n max={HUNDRED}\n min={negate(HUNDRED)}\n value={Number(value) || 0}\n onChange={opacity => handleOverlayChange(key, opacity)}\n />\n );\n\n case \"position_selector\": {\n const index = findIndexBy({ key }, values.properties);\n const options = findBy(\n { key },\n themePropertiesSchema\n )?.options?.map(toLabelAndValue);\n\n return (\n <SelectBlock\n key={key}\n label={buildLabel(key, kind)}\n options={options || POSITION_OPTIONS}\n placeholder=\"left\"\n value={toLabelAndValue(value)}\n onChange={option =>\n setFieldValue(`properties[${index}].value`, option.value)\n }\n />\n );\n }\n\n case \"boolean\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\n <SwitchBlock\n checked={value !== \"false\"}\n key={key}\n label={buildLabel(key, kind)}\n name={snakeToCamelCase(key)}\n onChange={e =>\n setFieldValue(\n `properties[${index}].value`,\n String(e.target.checked)\n )\n }\n />\n );\n }\n\n case \"alignment_block\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\n <AlignmentBlock\n label={buildLabel(key, kind)}\n name={`properties[${index}].value`}\n />\n );\n }\n\n default:\n return null;\n }\n })}\n </>\n );\n};\n\nexport default Properties;\n","import { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { useFormikContext } from \"formik\";\nimport { findIndexBy, isPresent, toLabelAndValue, findBy } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Toastr, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDominantColorFromUrl } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport SelectBlock from \"./SelectBlock\";\n\nimport { ONE_MEGABYTE } from \"../../constants\";\nimport { POSITION_OPTIONS } from \"../Customize/constants\";\nimport { buildLabel } from \"../Customize/utils\";\n\nconst ImageBlock = ({\n label,\n name,\n imageData = {},\n uploadConfig = { maxImageSize: ONE_MEGABYTE },\n attribute,\n}) => {\n const { t } = useTranslation();\n const { setFieldValue, values } = useFormikContext();\n const { themePropertiesSchema } = useConfigStore.pick();\n\n const propertySchema = findBy({ key: attribute }, themePropertiesSchema);\n\n const enablePositionChanger = propertySchema?.enablePositionChanger || false;\n const options = propertySchema?.options;\n\n const positionKeyInSchema = findBy(\n { key: `${name}_position` },\n themePropertiesSchema\n );\n\n const isPositionChangerVisible =\n enablePositionChanger && imageData?.url && isPresent(positionKeyInSchema);\n\n const positionKeyIndex = findIndexBy(\n { key: `${name}_position` },\n values.properties\n );\n\n const handleImageChange = async image => {\n try {\n if (isEmpty(image.signedId) || isEmpty(image.url)) {\n setFieldValue(name, { signedId: null, url: image.url });\n\n return;\n }\n\n const dominantColor = await getDominantColorFromUrl(image.url);\n\n setFieldValue(name, {\n signedId: image.signedId,\n url: image.url,\n dominantColor,\n });\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n return (\n <div\n className=\"space-y-3\"\n data-cy={`theme-style-${label ? joinHyphenCase(label) : \"image-block\"}`}\n >\n {label && (\n <div className=\"flex items-center justify-between\">\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n </div>\n )}\n <div className=\"space-y-3\">\n <ImageUploader\n {...{ uploadConfig }}\n className=\"h-40 w-full\"\n key={imageData?.url}\n src={imageData?.url}\n onUploadComplete={handleImageChange}\n />\n {isPositionChangerVisible && (\n <SelectBlock\n label={buildLabel(`${name}Position`, \"image\")}\n options={options || POSITION_OPTIONS}\n placeholder={t(\"neetoThemes.common.left\")}\n value={toLabelAndValue(\n findBy({ key: `${name}_position` }, values.properties)?.value ||\n positionKeyInSchema?.defaultValue\n )}\n onChange={option =>\n setFieldValue(\n `properties[${positionKeyIndex}].value`,\n option.value\n )\n }\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ImageBlock;\n","import { useFormikContext } from \"formik\";\nimport { snakeToCamelCase } from \"neetocist\";\n\nimport Properties from \"./Properties\";\nimport { buildLabel } from \"./utils\";\n\nimport Card from \"../commons/Card\";\nimport ImageBlock from \"../commons/ImageBlock\";\n\nconst Images = ({ attribute, className, onPropertiesChange }) => {\n const { values } = useFormikContext();\n\n const key = snakeToCamelCase(attribute);\n const title = buildLabel(key, \"image\");\n const imageData = values[key];\n\n return (\n <Card {...{ className, title }} name=\"images\">\n <ImageBlock {...{ attribute, imageData }} name={key} />\n <Properties {...{ onPropertiesChange }} condition={attribute} />\n </Card>\n );\n};\n\nexport default Images;\n","import { withT } from \"neetocommons/react-utils\";\nimport { Input } from \"neetoui/formik\";\n\nimport Card from \"../commons/Card\";\n\nconst ThemeMeta = withT(({ t, className }) => (\n <Card {...{ className }} name=\"name\" title={t(\"neetoThemes.common.name\")}>\n <Input autoFocus data-cy=\"theme-name-property\" name=\"name\" />\n </Card>\n));\n\nexport default ThemeMeta;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { filterBy } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Button, Popover, Typography, Switch, Tooltip } from \"neetoui\";\nimport { Form, BlockNavigation } from \"neetoui/formik\";\nimport { isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { isEditThemeRoute } from \"components/utils\";\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport { useFetchTheme } from \"hooks/reactQuery/useThemesApi\";\nimport routes from \"routes\";\nimport {\n useCreateTheme,\n useUpdateTheme,\n} from \"src/hooks/reactQuery/useThemesApi\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport { THEME_VALIDATION_SCHEMA } from \"./constants\";\nimport CustomCSS from \"./CustomCSS\";\nimport Images from \"./Images\";\nimport Properties from \"./Properties\";\nimport ThemeMeta from \"./ThemeMeta\";\nimport { buildImageData, buildInitialValues } from \"./utils\";\n\nimport Card from \"../commons/Card\";\nimport { isScreenCustomCSS, buildPathname } from \"../utils\";\n\nconst Customize = ({\n theme,\n onCreateTheme,\n onApplyTheme,\n onUpdateTheme,\n isApplyingTheme,\n onPropertiesChange,\n onEditCSSClick,\n currentScreen,\n}) => {\n const { t } = useTranslation();\n\n const history = useHistory();\n\n const [popoverInstance, setPopoverInstance] = useState({});\n const { themePropertiesSchema, entityType, isFetchingSchema } =\n useConfigStore.pick();\n\n const { themeId } = useParams();\n\n const { currentTheme, setThemeState } = useThemeStore.pick();\n\n const { data: { globalTheme = {} } = {} } = useShowGlobalTheme(entityType);\n\n const { data: themeData = {}, isLoadingTheme } = useFetchTheme(themeId, {\n enabled: isEditThemeRoute() && isNotNil(themeId),\n initialData: theme ?? undefined,\n });\n\n const isLoading = isFetchingSchema || isLoadingTheme;\n const isThemeGlobalTheme = themeId && globalTheme?.id === themeId;\n const isCurrentThemeAndGlobalThemeSame = currentTheme?.id === globalTheme?.id;\n\n const isEditingCurrentlyAppliedTheme = themeId === currentTheme?.id;\n\n const submitBtnRef = useRef(null);\n\n const { mutate: createTheme, isPending: isCreating } = useCreateTheme();\n const { mutate: updateTheme, isPending: isUpdating } =\n useUpdateTheme(themeId);\n\n const isSubmitting = isCreating || isUpdating;\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleGlobalThemeSwitchChange = (e, setFieldValue) => {\n setFieldValue(\"shouldSetAsGlobalTheme\", e.target.checked);\n };\n\n const onSubmit = (values, { resetForm }) => {\n const imageData = buildImageData(values, themePropertiesSchema);\n const themeToSave = {\n propertiesAttributes: values.properties,\n name: values.name,\n shouldSetAsGlobalTheme: values.shouldSetAsGlobalTheme,\n entityType: values.entityType,\n ...imageData,\n };\n\n if (!themeId) {\n return createTheme(themeToSave, {\n onSuccess: ({ theme }) => {\n resetForm({ values: theme });\n onCreateTheme(theme);\n history.replace(\n buildUrl(buildPathname(routes.themes.edit), { themeId: theme.id })\n );\n },\n });\n }\n\n return updateTheme(themeToSave, {\n onSuccess: ({ theme }) => {\n onUpdateTheme(theme);\n resetForm({ values: theme });\n },\n });\n };\n\n useEffect(() => {\n if (isNotNil(themeId) && !isLoadingTheme) {\n setThemeState({ previewingTheme: themeData });\n }\n }, [isLoadingTheme]);\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n return (\n <Form\n formikProps={{\n initialValues: {\n ...buildInitialValues(themeData, themePropertiesSchema),\n shouldSetAsGlobalTheme: isThemeGlobalTheme,\n entityType,\n },\n validationSchema: THEME_VALIDATION_SCHEMA,\n enableReinitialize: true,\n onSubmit,\n }}\n >\n {({ dirty, values, setFieldValue }) => (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"neeto-themes-sidebar__scroll-content flex flex-grow flex-col px-4 pb-4 lg:px-5\">\n {!isSubmitting && <BlockNavigation />}\n <ThemeMeta className={classNames({ hidden: isCustomCssScreen })} />\n <Card\n className={classNames({ hidden: isCustomCssScreen })}\n name=\"style\"\n title={t(\"neetoThemes.common.style\")}\n >\n <Properties {...{ onPropertiesChange }} />\n </Card>\n {filterBy({ kind: \"image\" }, themePropertiesSchema).map(\n ({ key }) => (\n <Images\n {...{ onPropertiesChange }}\n attribute={key}\n className={classNames({ hidden: isCustomCssScreen })}\n key={key}\n />\n )\n )}\n <CustomCSS {...{ currentScreen, onEditCSSClick }} />\n <div className=\"neeto-ui-bg-gray-50 neeto-ui-border-gray-200 mt-2 flex flex-col space-y-2 border p-2\">\n <Tooltip\n disabled={!isThemeGlobalTheme}\n content={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.tooltipContent\"\n )}\n >\n <Switch\n checked={values.shouldSetAsGlobalTheme}\n disabled={isThemeGlobalTheme}\n name=\"shouldSetAsGlobalTheme\"\n label={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n )}\n onChange={e =>\n handleGlobalThemeSwitchChange(e, setFieldValue)\n }\n />\n </Tooltip>\n <Typography className=\"text-sm\" style=\"body2\">\n {t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.helpText\",\n { entityType }\n )}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-bg-white neeto-ui-shadow-s sticky bottom-0 left-0 right-0 flex justify-end gap-x-2 px-4 py-6 lg:px-5 xl:px-6\">\n <Button\n data-cy=\"reset-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"neetoThemes.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n />\n <Button\n data-cy=\"save-changes-button\"\n disabled={(!dirty && themeData?.id) || isSubmitting}\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n ref={submitBtnRef}\n type=\"submit\"\n />\n </div>\n <Popover\n appendTo={() => document.body}\n position=\"top\"\n reference={submitBtnRef}\n trigger=\"click\"\n content={\n <div className=\"flex flex-col items-start gap-2\">\n <Button\n className=\"absolute right-1 top-1 z-0\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={() => popoverInstance?.hide?.()}\n />\n <Typography className=\"w-72 pr-5\" style=\"body2\" weight=\"normal\">\n <Trans\n components={{ bold: <strong /> }}\n i18nKey=\"neetoThemes.build.leftSideBar.themes.notAppliedYet\"\n values={{ entityType }}\n />\n </Typography>\n <Button\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.buttons.applyThisTheme\")}\n loading={isApplyingTheme}\n onClick={() => onApplyTheme(themeData)}\n />\n </div>\n }\n disabled={\n isEditingCurrentlyAppliedTheme ||\n (isCurrentThemeAndGlobalThemeSame &&\n values.shouldSetAsGlobalTheme)\n }\n onMount={setPopoverInstance}\n />\n </div>\n )}\n </Form>\n );\n};\n\nexport default Customize;\n","import classnames from \"classnames\";\nimport { findBy, humanize, snakeToCamelCase } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nconst Thumbnail = ({ active, isPreviewing, isHighLightedTheme, theme }) => {\n const { themePropertiesSchema = [] } = useConfigStore.pick();\n\n const [colorObject1, colorObject2] = themePropertiesSchema;\n\n const primaryLabel = humanize(colorObject1?.key);\n const secondaryLabel = humanize(colorObject2?.key);\n\n const primaryColor = findBy(\n { key: colorObject1.key },\n theme.properties\n ).value;\n\n const secondaryColor = findBy(\n { key: colorObject2.key },\n theme.properties\n ).value;\n\n const backgroundImageUrl =\n theme[\n snakeToCamelCase(\n findBy({ useAsCardBackground: true }, themePropertiesSchema).key\n )\n ]?.url;\n\n const buttonBackgroundColor = findBy(\n {\n key: findBy({ useAsCardButtonBackground: true }, themePropertiesSchema)\n ?.key,\n },\n theme.properties\n )?.value;\n\n return (\n <div\n className={classnames(\n \"neeto-themes-theme-thumbnail neeto-ui-rounded-lg border transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-400\": !active,\n \"neeto-ui-border-gray-800 neeto-themes-theme-thumbnail--active\":\n active,\n \"neeto-themes-theme-thumbnail--preview-active\": isPreviewing,\n \"neeto-themes-theme-thumbnail--highlight-active\": isHighLightedTheme,\n }\n )}\n style={{\n backgroundImage: backgroundImageUrl\n ? `url(${backgroundImageUrl})`\n : \"initial\",\n backgroundSize: \"cover\",\n }}\n >\n <div className=\"neeto-ui-rounded-lg cursor-pointer p-3 transition-all duration-300 ease-in-out group-hover:opacity-85\">\n <div className=\"neeto-ui-rounded-lg p-3\">\n <div className=\"mb-3\">\n <Typography style=\"h3\" weight=\"semibold\">\n <span style={{ color: primaryColor }}>{primaryLabel}</span>\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n <span style={{ color: secondaryColor }}>{secondaryLabel}</span>\n </Typography>\n </div>\n <div\n className=\"neeto-ui-rounded-lg h-5 w-12\"\n style={{ backgroundColor: buttonBackgroundColor }}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default Thumbnail;\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Rating } from \"neetoicons\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isFunction } from \"components/utils\";\n\nimport DefaultThumbnail from \"./Thumbnail\";\n\nconst Card = ({\n active = false,\n isPreviewing,\n onSetPreviewTheme,\n onDeleteTheme,\n onEditTheme,\n theme,\n isApplyingTheme,\n onCloneTheme,\n isHighLightedTheme,\n isGlobalTheme,\n onApplyTheme,\n onApplyGlobalTheme,\n thumbnail: Thumbnail,\n}) => {\n const { t } = useTranslation();\n\n const { id, name, appliedCount } = theme;\n\n const handleCloneTheme = () => onCloneTheme(theme);\n const handleEditTheme = () => onEditTheme(theme);\n const handleDeleteTheme = () => onDeleteTheme(id, name, appliedCount);\n const handleApplyGlobalTheme = () => onApplyGlobalTheme(id);\n\n return (\n <div\n className=\"group space-y-2 pt-0.5\"\n data-cy={active ? \"active-theme-card\" : \"theme-card\"}\n id={theme.id}\n >\n <div\n className={classnames(\n \"neeto-themes-theme-thumbnail neeto-ui-rounded-lg relative cursor-pointer border transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-200\": !active,\n \"neeto-themes-theme-thumbnail--active\": active,\n \"neeto-themes-theme-thumbnail--preview-active\": isPreviewing,\n \"neeto-themes-theme-thumbnail--highlight-active\":\n isHighLightedTheme,\n }\n )}\n onClick={() => onSetPreviewTheme(theme)}\n >\n <div className=\"neeto-ui-rounded-lg relative overflow-hidden rounded-bl-none rounded-br-none transition-all duration-300 ease-in-out\">\n <div className=\"absolute left-0 top-0 z-10 flex h-full w-full items-center justify-center gap-1 p-3\">\n {active ? (\n <span\n className=\"neeto-ui-btn neeto-themes-theme-thumbnail__active-label neeto-ui-btn--style-primary neeto-ui-btn--size-medium neeto-ui-rounded-full flex-shrink-0 cursor-auto justify-center\"\n data-cy=\"active-theme-label\"\n >\n {t(\"neetoThemes.common.activeTheme\")}\n </span>\n ) : (\n <div\n className={classnames({\n hidden: !isPreviewing,\n \"group-hover:block\": true,\n })}\n >\n <div className=\"relative flex w-full flex-col gap-2\">\n <Button\n className=\"neeto-themes-theme-thumbnail__preview-btn flex-shrink-0 justify-center\"\n data-cy=\"preview-theme-button\"\n label={t(\"neetoThemes.common.previewTheme\")}\n size=\"medium\"\n style=\"tertiary\"\n onClick={() => onSetPreviewTheme(theme)}\n />\n <Button\n className=\"neeto-themes-theme-thumbnail__apply-btn flex-shrink-0 justify-center\"\n data-cy=\"apply-theme-button\"\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.common.useTheme\")}\n loading={isApplyingTheme}\n size=\"medium\"\n style=\"primary\"\n onClick={() => onApplyTheme(theme)}\n />\n </div>\n </div>\n )}\n </div>\n <div className=\"neeto-themes-theme-thumbnail__overlay w-full transition-all duration-300 ease-in-out\">\n {Thumbnail ? (\n <Thumbnail\n {...{ active, isHighLightedTheme, isPreviewing, theme }}\n />\n ) : (\n <DefaultThumbnail\n {...{ active, isHighLightedTheme, isPreviewing, theme }}\n />\n )}\n </div>\n </div>\n <div className=\"neeto-ui-border-gray-100 flex items-start justify-between gap-1 border-t p-2\">\n <div className=\"flex items-center space-x-2\">\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow break-words pt-1\"\n data-cy=\"theme-name\"\n lineHeight=\"snug\"\n style=\"body2\"\n >\n {name}\n </Typography>\n {isGlobalTheme && (\n <Rating\n className=\"neeto-themes-nano-global-theme-icon\"\n size={18}\n />\n )}\n </div>\n <MoreDropdown\n dropdownButtonProps={{ size: \"small\" }}\n dropdownProps={{\n strategy: \"fixed\",\n onClick: e => e.stopPropagation(),\n }}\n menuItems={[\n {\n key: \"edit\",\n \"data-cy\": \"edit-theme-menu-item\",\n label: t(\"neetoThemes.common.edit\"),\n isVisible: isPresent(onEditTheme),\n onClick: handleEditTheme,\n },\n {\n key: \"clone\",\n \"data-cy\": \"clone-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.clone\"\n ),\n onClick: handleCloneTheme,\n },\n {\n key: \"set-as-global-theme\",\n \"data-cy\": \"set-as-global-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n ),\n isVisible: !isGlobalTheme,\n onClick: handleApplyGlobalTheme,\n },\n {\n key: \"divider\",\n type: \"divider\",\n isVisible: isFunction(onDeleteTheme),\n },\n {\n key: \"delete\",\n \"data-cy\": \"delete-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.delete\"\n ),\n isVisible: isFunction(onDeleteTheme),\n onClick: e => {\n e.stopPropagation();\n handleDeleteTheme();\n },\n },\n ]}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(Card);\n","import { useEffect, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport Search from \"neetomolecules/Search\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { scrollElementIntoView } from \"components/utils\";\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport {\n useCloneTheme,\n useApplyGlobalTheme,\n} from \"hooks/reactQuery/useThemesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport Card from \"./Card\";\n\nconst Themes = ({\n onEditTheme,\n themes = [],\n defaultThemes = [],\n onDeleteTheme,\n themeToHighlight,\n didScrollActiveThemeIntoView,\n isLoading,\n currentTheme,\n isCurrentThemeLoading,\n thumbnail,\n themeBeingApplied,\n onApplyTheme,\n onApplyGlobalThemeSuccess,\n isApplyingTheme,\n}) => {\n const { t } = useTranslation();\n const { setTheme } = useThemeUtils();\n const { setThemeState, previewingTheme } = useThemeStore.pick();\n const { entityType } = useConfigStore.pick();\n\n const [searchQuery, setSearchQuery] = useState(\"\");\n\n const { mutate: cloneTheme } = useCloneTheme();\n const { mutate: applyGlobalTheme } = useApplyGlobalTheme();\n\n const { data: { globalTheme = {} } = {}, isLoading: isLoadingGlobalTheme } =\n useShowGlobalTheme(entityType);\n\n useEffect(() => {\n if (didScrollActiveThemeIntoView.current || !currentTheme?.id) return;\n\n didScrollActiveThemeIntoView.current = true;\n setTimeout(() => {\n scrollElementIntoView(currentTheme?.id);\n }, 100);\n }, [didScrollActiveThemeIntoView, currentTheme?.id]);\n\n const setPreviewTheme = theme => {\n setThemeState({ previewingTheme: theme });\n setTheme(theme);\n };\n\n const filteredDefaultThemes = defaultThemes.filter(theme =>\n theme.name.toLowerCase().includes(searchQuery.toLowerCase())\n );\n\n const filteredThemes = themes.filter(theme =>\n theme.name.toLowerCase().includes(searchQuery.toLowerCase())\n );\n\n const isSearchFieldVisible = themes?.length + defaultThemes?.length > 10;\n\n const handleCloneTheme = data => {\n cloneTheme(data.id, {\n onSuccess: ({ theme: clonedTheme }) => {\n onEditTheme(clonedTheme);\n },\n });\n };\n\n const handleApplyGlobalTheme = themeId => {\n const payload = { entityType };\n applyGlobalTheme(\n { themeId, payload },\n {\n onSuccess: () => {\n onApplyGlobalThemeSuccess?.();\n },\n }\n );\n };\n\n if (isLoading || isCurrentThemeLoading || isLoadingGlobalTheme) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"mb-6 space-y-3\">\n {isSearchFieldVisible && (\n <Search\n autoFocus\n autoComplete=\"off\"\n className=\"mb-4 mt-1 px-6\"\n placeholder={t(\"neetoThemes.common.searchThemes\")}\n onSearch={setSearchQuery}\n />\n )}\n {isEmpty(filteredThemes) && isEmpty(filteredDefaultThemes) && (\n <Typography className=\"text-center\" style=\"body2\">\n {t(\"neetoThemes.common.noResultsFound\")}\n </Typography>\n )}\n {isNotEmpty(filteredDefaultThemes) && (\n <>\n <Typography\n className=\"my-4 px-6 uppercase lg:px-5 xl:px-6\"\n data-cy=\"system-themes-header\"\n style=\"h6\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.systemThemes\")}\n </Typography>\n <div\n className=\"flex flex-col gap-4 px-6 pb-10 lg:px-5 xl:px-6\"\n data-cy=\"system-themes\"\n >\n {filteredDefaultThemes.map(theme => (\n <Card\n {...{ onApplyTheme, theme, thumbnail }}\n active={currentTheme?.id === theme.id}\n isGlobalTheme={globalTheme?.id === theme.id}\n isPreviewing={previewingTheme?.id === theme.id}\n key={theme.id}\n isApplyingTheme={\n isApplyingTheme && themeBeingApplied?.id === theme.id\n }\n onApplyGlobalTheme={handleApplyGlobalTheme}\n onCloneTheme={handleCloneTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n ))}\n </div>\n </>\n )}\n </div>\n {isNotEmpty(filteredThemes) && (\n <div className=\"mb-6 space-y-3\">\n <Typography\n className=\"my-4 px-6 uppercase\"\n data-cy=\"custom-themes-header\"\n style=\"h6\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.customThemes\")}\n </Typography>\n <div className=\"flex flex-col gap-4 px-6\" data-cy=\"custom-themes\">\n {filteredThemes.map(theme => {\n const isActive = currentTheme?.id === theme.id;\n const isPreviewing = previewingTheme?.id === theme.id;\n\n return (\n <Card\n {...{\n isPreviewing,\n onApplyTheme,\n onEditTheme,\n theme,\n thumbnail,\n }}\n active={isActive}\n isGlobalTheme={globalTheme?.id === theme.id}\n isHighLightedTheme={theme.id === themeToHighlight}\n key={theme.id}\n isApplyingTheme={\n isApplyingTheme && themeBeingApplied?.id === theme.id\n }\n onApplyGlobalTheme={handleApplyGlobalTheme}\n onCloneTheme={handleCloneTheme}\n onDeleteTheme={!isActive && onDeleteTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n );\n })}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default Themes;\n","import { LeftArrow, Plus } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isEditThemeRoute, isNewThemeRoute } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport { isScreenCustomCSS } from \"./utils\";\n\nconst TitleBar = ({ currentScreen, handleBackPress, handleCreateNewTheme }) => {\n const { t } = useTranslation();\n\n const { previewingTheme } = useThemeStore.pick();\n const themeId = previewingTheme?.id;\n const { entityType, helpDocUrl } = useConfigStore.pick();\n\n const isCustomizeScreen = isEditThemeRoute() || isNewThemeRoute();\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n if (isCustomizeScreen) {\n return (\n <div className=\"neeto-themes-sidebar__header px-4\">\n <div className=\"flex items-center justify-start space-x-2\">\n <Button\n data-cy=\"customize-themes-back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: isCustomCssScreen\n ? t(\"neetoThemes.buttons.backToEdit\")\n : t(\"neetoThemes.buttons.backToThemes\"),\n position: \"top\",\n }}\n onClick={() => handleBackPress(themeId)}\n />\n <Typography\n data-cy=\"themes-header\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {isCustomizeScreen &&\n (isNewThemeRoute()\n ? t(\"neetoThemes.build.leftSideBar.themes.createTheme.title\")\n : t(\"neetoThemes.build.leftSideBar.themes.editTheme.title\"))}\n {isCustomCssScreen &&\n t(\"neetoThemes.build.leftSideBar.themes.customCSS\")}\n </Typography>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"neeto-themes-sidebar__header px-6 lg:px-5 xl:px-6\">\n <div className=\"flex items-center justify-between space-x-2\">\n <div className=\"flex space-x-2\">\n <Typography\n data-cy=\"themes-header\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.headerTabs.themes\")}\n </Typography>\n <HelpPopover\n helpLinkProps={helpDocUrl && { href: helpDocUrl }}\n title={t(\"neetoThemes.build.leftSideBar.helpPopover.title\")}\n description={t(\n \"neetoThemes.build.leftSideBar.helpPopover.description\",\n { entityType }\n )}\n />\n </div>\n <div className=\"self-end\">\n <Button\n data-cy=\"customize-themes-add-theme-button\"\n icon={Plus}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoThemes.buttons.addNewTheme\"),\n position: \"top\",\n }}\n onClick={handleCreateNewTheme}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { memo, useCallback, useRef, useState, useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Alert, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Route, Switch, useHistory } from \"react-router-dom\";\n\nimport { scrollElementIntoView } from \"components/utils\";\nimport { useShowThemeEntity } from \"hooks/reactQuery/useEntitiesApi\";\nimport {\n useApplyTheme,\n useDeleteTheme,\n useListThemes,\n} from \"hooks/reactQuery/useThemesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport routes from \"routes\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport Customize from \"./Customize\";\nimport Themes from \"./Themes\";\nimport TitleBar from \"./TitleBar\";\nimport { isScreenCustomCSS, buildPathname } from \"./utils\";\n\nimport { DESIGN_SCREENS } from \"../constants\";\n\nconst MemoizedAlert = memo(Alert);\n\nconst Sidebar = ({\n thumbnail,\n onPropertiesChange,\n onApplyThemeSuccess,\n onUpdateThemeSuccess,\n onApplyGlobalThemeSuccess,\n}) => {\n const [currentScreen, setCurrentScreen] = useState(DESIGN_SCREENS.THEMES);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [themeToHighlight, setThemeToHighlight] = useState(null);\n const [themeBeingApplied, setThemeBeingApplied] = useState({});\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isThemesSidebarCollapsed, setIsThemesSidebarCollapsed] = useState(\n !isLargerScreen\n );\n\n const history = useHistory();\n\n useEffect(() => {\n setIsThemesSidebarCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n const { entityType, entityId, isFetchingSchema, defaultThemeName } =\n useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n\n const didScrollActiveThemeIntoView = useRef(null);\n const { t } = useTranslation();\n const { setTheme } = useThemeUtils();\n\n const { data: { themes = [], defaultThemes = [] } = {}, isLoading } =\n useListThemes(entityId);\n\n const {\n data: { theme: currentTheme = {} } = {},\n isLoading: isCurrentThemeLoading,\n } = useShowThemeEntity(entityId);\n\n const { mutate: deleteTheme, isPending: isDeleting } = useDeleteTheme();\n\n const { mutate: applyTheme, isPending: isApplyingTheme } = useApplyTheme({\n onSuccess: ({ theme }) => {\n setTheme(theme);\n highlightTheme(theme);\n setThemeState({ previewingTheme: theme });\n setThemeBeingApplied({});\n setCurrentScreen(DESIGN_SCREENS.THEMES);\n onApplyThemeSuccess?.(theme);\n },\n });\n\n const themeToDelete = useRef(null);\n const themeToEdit = useRef(null);\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleCreateNewTheme = () => {\n history.push(buildUrl(buildPathname(routes.themes.new)));\n };\n\n const handleEditTheme = theme => {\n themeToEdit.current = theme;\n history.push(\n buildUrl(buildPathname(routes.themes.edit), { themeId: theme.id })\n );\n };\n\n const onApplyTheme = theme => {\n if (isApplyingTheme) return;\n\n setThemeBeingApplied(theme);\n applyTheme({ themeId: theme.id, entityId, entityType });\n };\n\n const navigateToThemesScreen = themeId => {\n highlightTheme(isPresent(themeId) ? themeId : currentTheme?.id);\n history.push(buildUrl(buildPathname(routes.themes.index)));\n\n themeToEdit.current = null;\n };\n\n const handleBackPress = themeId => {\n if (isCustomCssScreen) {\n setCurrentScreen(DESIGN_SCREENS.Customize);\n\n return;\n }\n\n navigateToThemesScreen(themeId);\n };\n\n const highlightTheme = themeIdToHighlight => {\n setTimeout(() => {\n scrollElementIntoView(themeIdToHighlight);\n }, 1500);\n\n setTimeout(() => {\n setThemeToHighlight(null);\n }, 4000);\n\n setThemeToHighlight(themeIdToHighlight);\n };\n\n const onCreateTheme = createdTheme => {\n themeToEdit.current = createdTheme;\n setTheme(createdTheme);\n setThemeState({ previewingTheme: createdTheme });\n };\n\n const onUpdateTheme = updatedTheme => {\n themeToEdit.current = updatedTheme;\n onUpdateThemeSuccess?.(updatedTheme);\n };\n\n const handleDelete = (themeId, name, appliedCount) => {\n setIsDeleteAlertOpen(true);\n themeToDelete.current = { id: themeId, name, appliedCount };\n };\n\n const handleCloseDeleteAlert = useCallback(() => {\n setIsDeleteAlertOpen(false);\n themeToDelete.current = null;\n }, [themeToDelete]);\n\n const handleDeleteTheme = useCallback(() => {\n deleteTheme(themeToDelete.current?.id, {\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n themeToDelete.current = null;\n },\n });\n }, [deleteTheme, themeToDelete]);\n\n return (\n <>\n {!isThemesSidebarCollapsed && (\n <div\n className=\"neeto-themes-sidebar__backdrop\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n )}\n <div\n className={classNames(\n \"neeto-themes-sidebar neeto-ui-border-gray-200 flex-shrink-0 border-r transition-all duration-300\",\n { \"neeto-themes-sidebar--expanded\": isCustomCssScreen },\n {\n \"neeto-themes-sidebar--collapsed\": isThemesSidebarCollapsed,\n }\n )}\n >\n <TitleBar\n {...{ currentScreen, handleBackPress, handleCreateNewTheme }}\n />\n <Switch>\n <Route\n exact\n path={buildPathname(routes.themes.index)}\n render={() => (\n <Themes\n {...{\n currentTheme,\n defaultThemes,\n didScrollActiveThemeIntoView,\n highlightTheme,\n isApplyingTheme,\n isCurrentThemeLoading,\n onApplyGlobalThemeSuccess,\n onApplyTheme,\n themeBeingApplied,\n themeToHighlight,\n themes,\n thumbnail,\n }}\n isLoading={isLoading || isFetchingSchema}\n onDeleteTheme={handleDelete}\n onEditTheme={handleEditTheme}\n />\n )}\n />\n <Route\n path={buildPathname(routes.themes.new)}\n render={() => (\n <Customize\n {...{\n currentScreen,\n isApplyingTheme,\n onApplyTheme,\n onCreateTheme,\n onPropertiesChange,\n onUpdateTheme,\n }}\n theme={themeToEdit.current}\n onEditCSSClick={setCurrentScreen}\n />\n )}\n />\n <Route\n path={buildPathname(routes.themes.edit)}\n render={() => (\n <Customize\n {...{\n currentScreen,\n isApplyingTheme,\n onApplyTheme,\n onCreateTheme,\n onPropertiesChange,\n onUpdateTheme,\n }}\n theme={themeToEdit.current}\n onEditCSSClick={setCurrentScreen}\n />\n )}\n />\n </Switch>\n <MemoizedAlert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n title={t(\"neetoThemes.alerts.title.deleteTheme\")}\n message={t(\"neetoThemes.alerts.message.deleteTheme\", {\n name: themeToDelete.current?.name,\n count: themeToDelete.current?.appliedCount,\n defaultThemeName,\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`,\n { count: themeToDelete.current?.appliedCount }\n ),\n })}\n onClose={handleCloseDeleteAlert}\n onSubmit={handleDeleteTheme}\n />\n <Button\n className=\"neeto-themes-sidebar__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Sidebar;\n","import { useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { noop, isNotPresent } from \"neetocist\";\nimport { withTitle } from \"neetocommons/react-utils\";\nimport { Spinner } from \"neetoui\";\n\nimport { isEditThemeRoute } from \"components/utils\";\nimport { useShowThemeEntity } from \"hooks/reactQuery/useEntitiesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/themes.scss\";\n\nimport Sidebar from \"./Sidebar\";\n\nconst NeetoThemesBuilder = ({\n children,\n entityType,\n entityId,\n thumbnail,\n onPropertiesChange,\n helpDocUrl = null,\n isTemplateThemesEnabled = false,\n onApplyThemeSuccess = noop,\n onUpdateThemeSuccess = noop,\n onApplyGlobalThemeSuccess = noop,\n}) => {\n const { setThemeState } = useThemeStore.pick();\n const { setTheme } = useThemeUtils();\n const { setConfigState } = useConfigStore.pick();\n\n const {\n data: { theme: currentTheme = {} } = {},\n isLoading,\n isFetching: isFetchingCurrentTheme,\n } = useShowThemeEntity(entityId);\n\n const isCurrentThemeLoading = isLoading || isFetchingCurrentTheme;\n\n useEffect(() => {\n setConfigState({\n entityType,\n entityId,\n isTemplateThemesEnabled,\n helpDocUrl,\n });\n }, []);\n\n useEffect(() => {\n if (isNotPresent(currentTheme) || isEditThemeRoute()) {\n return;\n }\n\n setThemeState({ previewingTheme: currentTheme });\n setTheme(currentTheme);\n }, [isLoading, entityId, currentTheme]);\n\n useEffect(() => {\n if (isNotPresent(currentTheme)) return;\n\n setThemeState({ currentTheme, isCurrentThemeLoading });\n }, [currentTheme, isCurrentThemeLoading]);\n\n return (\n <div className=\"neeto-themes__wrapper\">\n <Sidebar\n {...{\n onApplyGlobalThemeSuccess,\n onApplyThemeSuccess,\n onPropertiesChange,\n onUpdateThemeSuccess,\n thumbnail,\n }}\n />\n <div className=\"neeto-themes-preview__wrapper\">\n {isCurrentThemeLoading ? (\n <div className=\"m-auto flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n children\n )}\n </div>\n </div>\n );\n};\n\nexport default withTitle(NeetoThemesBuilder, t(\"neetoThemes.common.theme\"));\n"],"names":["show","entityId","axios","get","concat","BASE_URL","entitiesApi","useShowThemeEntity","useQuery","queryKey","QUERY_KEYS","THEME_ENTITY_DETAILS","queryFn","enabled","list","params","entity_id","id","create","payload","post","theme","update","_ref","put","destroy","clone","apply","_ref2","themeId","_objectWithoutProperties","_excluded","entity","applyGlobalTheme","_ref3","themesApi","useListThemes","_useConfigStore","useConfigStore","store","isTemplateThemesEnabled","shallow","THEMES_LIST","useFetchTheme","options","_objectSpread","THEME_DETAILS","useCreateTheme","useMutationWithInvalidation","keysToInvalidate","GLOBAL_THEME_DETAILS","useUpdateTheme","queryClient","useQueryClient","onSuccess","setQueryData","useDeleteTheme","useCloneTheme","useApplyTheme","useApplyGlobalTheme","routes","themes","index","edit","entityType","entity_type","globalThemesApi","useShowGlobalTheme","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","ACCORDIAN_OPEN_STATE","style","images","customcss","DESIGN_SCREENS","THEMES","Customize","CustomCSS","ONE_MEGABYTE","Card","_ref$title","title","children","className","_useState","useState","_useState2","_slicedToArray","accordianOpenState","setAccordianOpenState","_jsxs","hyphenate","classnames","type","onClick","_defineProperty","_jsx","Typography","component","lineHeight","weight","Down","size","isScreenCustomCSS","screen","buildPathname","route","pathname","_iterator","_createForOfIteratorHelper","location","split","_step","s","n","done","segment","isEmpty","err","e","f","onEditCSSClick","currentScreen","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","values","setFieldValue","themePropertiesSchema","customCSS","findBy","kind","properties","parentElementClass","parentClass","isCustomCssScreen","handleEditorToggle","setTimeout","scrollElementIntoView","handleChange","findIndexBy","key","setCustomCSS","css","elementId","Button","Editor","language","classNames","rounded","scrollBeyondLastLine","minimap","onChange","buildInitialValues","isPresent","map","defaultValue","_ref$order","order","dependsOn","String","filter","isNot","buildImageData","filterBy","reduce","acc","item","_values$snakeToCamelC","signedId","snakeToCamelCase","isPropertyVisible","formikValues","property","isNotPresent","hidden","conditionalKey","dependentPropertySchema","dependentProperty","_formikValues$snakeTo","url","buildLabel","buildProperties","condition","forEach","imageKeys","Set","ele","add","has","AlignmentBlock","joinHyphenCase","Field","field","form","icon","LeftAlign","tooltipProps","content","position","CenterAlign","ColorBlock","_ref$color","color","showTransparencyControl","ColorPicker","showEyeDropper","FontPickerBlock","_ref$placeholder","placeholder","Select","menuPosition","styles","option","data","fontFamily","SelectBlock","SliderBlock","min","max","marks","Slider","tooltip","formatter","SwitchBlock","switchProps","i18n","translationKey","doesHelpTextExist","exists","HelpPopover","description","Switch","Properties","onPropertiesChange","_useThemeStore","useThemeStore","setThemeState","_useThemeUtils","useThemeUtils","setVariable","setTheme","handleColorChange","hex","rgb","r","g","b","a","variableValue","handleOverlayChange","overlayColorVariable","Math","abs","useEffect","previewingTheme","_Fragment","sort","_findBy","Infinity","_findBy2","isCurrentPropertyVisible","_ref4","Number","radius","negate","opacity","_findBy3","toLabelAndValue","checked","target","ImageBlock","_ref$imageData","imageData","_ref$uploadConfig","uploadConfig","maxImageSize","attribute","propertySchema","enablePositionChanger","positionKeyInSchema","isPositionChangerVisible","positionKeyIndex","handleImageChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","image","dominantColor","wrap","_callee$","_context","prev","next","abrupt","getDominantColorFromUrl","sent","t0","Toastr","error","stop","_x","arguments","_createElement","ImageUploader","src","onUploadComplete","Images","ThemeMeta","withT","Input","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","history","useHistory","popoverInstance","setPopoverInstance","isFetchingSchema","_useParams","useParams","currentTheme","_useShowGlobalTheme","_useShowGlobalTheme$d","_useShowGlobalTheme$d2","_useShowGlobalTheme$d3","globalTheme","_useFetchTheme","isEditThemeRoute","isNotNil","initialData","undefined","_useFetchTheme$data","themeData","isLoadingTheme","isLoading","isThemeGlobalTheme","isCurrentThemeAndGlobalThemeSame","isEditingCurrentlyAppliedTheme","submitBtnRef","useRef","_useCreateTheme","createTheme","mutate","isCreating","isPending","_useUpdateTheme","updateTheme","isUpdating","isSubmitting","handleGlobalThemeSwitchChange","onSubmit","resetForm","themeToSave","propertiesAttributes","shouldSetAsGlobalTheme","replace","buildUrl","PageLoader","Form","formikProps","initialValues","validationSchema","enableReinitialize","_ref5","dirty","BlockNavigation","_ref6","Tooltip","disabled","loading","ref","Popover","appendTo","document","body","reference","trigger","Close","_popoverInstance$hide","hide","call","Trans","components","bold","i18nKey","onMount","Thumbnail","_theme$snakeToCamelCa","active","isPreviewing","isHighLightedTheme","_useConfigStore$theme","_themePropertiesSchem","colorObject1","colorObject2","primaryLabel","humanize","secondaryLabel","primaryColor","secondaryColor","backgroundImageUrl","useAsCardBackground","buttonBackgroundColor","useAsCardButtonBackground","backgroundImage","backgroundSize","backgroundColor","_ref$active","onSetPreviewTheme","onDeleteTheme","onEditTheme","onCloneTheme","isGlobalTheme","onApplyGlobalTheme","thumbnail","appliedCount","handleCloneTheme","handleEditTheme","handleDeleteTheme","handleApplyGlobalTheme","DefaultThumbnail","Rating","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","stopPropagation","menuItems","isVisible","isFunction","memo","Themes","_ref$themes","_ref$defaultThemes","defaultThemes","themeToHighlight","didScrollActiveThemeIntoView","isCurrentThemeLoading","themeBeingApplied","onApplyGlobalThemeSuccess","searchQuery","setSearchQuery","_useCloneTheme","cloneTheme","_useApplyGlobalTheme","isLoadingGlobalTheme","current","setPreviewTheme","filteredDefaultThemes","toLowerCase","includes","filteredThemes","isSearchFieldVisible","length","clonedTheme","Spinner","Search","autoComplete","onSearch","isNotEmpty","isActive","TitleBar","handleBackPress","handleCreateNewTheme","helpDocUrl","isCustomizeScreen","isNewThemeRoute","LeftArrow","iconPosition","helpLinkProps","href","Plus","MemoizedAlert","Alert","Sidebar","_themeToDelete$curren2","_themeToDelete$curren3","_themeToDelete$curren4","onApplyThemeSuccess","onUpdateThemeSuccess","setCurrentScreen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","setThemeToHighlight","_useState7","_useState8","setThemeBeingApplied","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState9","_useState10","isThemesSidebarCollapsed","setIsThemesSidebarCollapsed","defaultThemeName","_useListThemes","_useListThemes$data","_useListThemes$data2","_useListThemes$data2$","_useListThemes$data2$2","_useShowThemeEntity","_useShowThemeEntity$d","_useShowThemeEntity$d2","_useShowThemeEntity$d3","_useDeleteTheme","deleteTheme","isDeleting","_useApplyTheme","highlightTheme","applyTheme","themeToDelete","themeToEdit","push","navigateToThemesScreen","themeIdToHighlight","createdTheme","updatedTheme","handleDelete","handleCloseDeleteAlert","useCallback","_themeToDelete$curren","Route","exact","path","render","isOpen","message","count","onClose","Collapse","NeetoThemesBuilder","_ref$helpDocUrl","_ref$isTemplateThemes","_ref$onApplyThemeSucc","noop","_ref$onUpdateThemeSuc","_ref$onApplyGlobalThe","setConfigState","isFetchingCurrentTheme","isFetching","withTitle"],"mappings":"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","x_google_ignoreList":[2]}