@bigbinary/neeto-molecules 4.1.42 → 4.1.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/BrowserSupport.js +1 -1
  2. package/dist/Builder.js +4 -3
  3. package/dist/Builder.js.map +1 -1
  4. package/dist/CalendarView.js +2 -2
  5. package/dist/{Columns-6JwGF3TU.js → Columns-aTgHNcVY.js} +12 -10
  6. package/dist/Columns-aTgHNcVY.js.map +1 -0
  7. package/dist/Columns.js +2 -2
  8. package/dist/DownloadMobileAppCallout.js +1 -1
  9. package/dist/ErrorPage.js +3 -3
  10. package/dist/ErrorPage.js.map +1 -1
  11. package/dist/FloatingActionMenu.js +3 -3
  12. package/dist/FloatingActionMenu.js.map +1 -1
  13. package/dist/KeyboardShortcuts.js +2 -2
  14. package/dist/OptionFields.js +1 -0
  15. package/dist/OptionFields.js.map +1 -1
  16. package/dist/ProductEmbed.js +15 -15
  17. package/dist/ProductEmbed.js.map +1 -1
  18. package/dist/ShareViaLink.js +446 -179
  19. package/dist/ShareViaLink.js.map +1 -1
  20. package/dist/Sidebar.js +1 -1
  21. package/dist/StickyRibbonsContainer.js +3 -3
  22. package/dist/StickyRibbonsContainer.js.map +1 -1
  23. package/dist/SubHeader.js +2 -2
  24. package/dist/Taxonomy.js +2 -2
  25. package/dist/cjs/BrowserSupport.js +1 -1
  26. package/dist/cjs/Builder.js +4 -3
  27. package/dist/cjs/Builder.js.map +1 -1
  28. package/dist/cjs/CalendarView.js +2 -2
  29. package/dist/cjs/{Columns-7xltEL2z.js → Columns-C8ECmXph.js} +12 -10
  30. package/dist/cjs/Columns-C8ECmXph.js.map +1 -0
  31. package/dist/cjs/Columns.js +2 -2
  32. package/dist/cjs/DownloadMobileAppCallout.js +1 -1
  33. package/dist/cjs/ErrorPage.js +2 -2
  34. package/dist/cjs/ErrorPage.js.map +1 -1
  35. package/dist/cjs/FloatingActionMenu.js +3 -3
  36. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  37. package/dist/cjs/KeyboardShortcuts.js +2 -2
  38. package/dist/cjs/OptionFields.js +1 -0
  39. package/dist/cjs/OptionFields.js.map +1 -1
  40. package/dist/cjs/ProductEmbed.js +14 -14
  41. package/dist/cjs/ProductEmbed.js.map +1 -1
  42. package/dist/cjs/ShareViaLink.js +446 -179
  43. package/dist/cjs/ShareViaLink.js.map +1 -1
  44. package/dist/cjs/Sidebar.js +1 -1
  45. package/dist/cjs/StickyRibbonsContainer.js +2 -2
  46. package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
  47. package/dist/cjs/SubHeader.js +2 -2
  48. package/dist/cjs/Taxonomy.js +2 -2
  49. package/dist/cjs/{ua-parser-E0eEtHJZ.js → ua-parser-DgQ3nYoO.js} +327 -306
  50. package/dist/cjs/ua-parser-DgQ3nYoO.js.map +1 -0
  51. package/dist/cjs/{useKeyboardShortcutsPaneState-YnXpWOcs.js → useKeyboardShortcutsPaneState-BrgdLb9F.js} +3 -3
  52. package/dist/cjs/{useKeyboardShortcutsPaneState-YnXpWOcs.js.map → useKeyboardShortcutsPaneState-BrgdLb9F.js.map} +1 -1
  53. package/dist/{ua-parser-rRwDJPFB.js → ua-parser-OzUiuIwt.js} +327 -306
  54. package/dist/ua-parser-OzUiuIwt.js.map +1 -0
  55. package/dist/{useKeyboardShortcutsPaneState-C_eLceJQ.js → useKeyboardShortcutsPaneState-Ckzn5mVZ.js} +4 -4
  56. package/dist/{useKeyboardShortcutsPaneState-C_eLceJQ.js.map → useKeyboardShortcutsPaneState-Ckzn5mVZ.js.map} +1 -1
  57. package/package.json +57 -57
  58. package/dist/Columns-6JwGF3TU.js.map +0 -1
  59. package/dist/cjs/Columns-7xltEL2z.js.map +0 -1
  60. package/dist/cjs/ua-parser-E0eEtHJZ.js.map +0 -1
  61. package/dist/ua-parser-rRwDJPFB.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Columns-6JwGF3TU.js","sources":["../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../src/components/Columns/Item.jsx","../src/components/Columns/api.js","../src/components/Columns/constants.js","../src/components/Columns/useTableConfigurationsApi.js","../src/components/Columns/useTableConfigurations.js","../src/components/Columns/utils.js","../src/components/Columns/Columns.jsx"],"sourcesContent":["import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classNames from \"classnames\";\nimport { Reorder } from \"neetoicons\";\nimport { Checkbox, Label } from \"neetoui\";\n\nconst Item = ({\n column,\n hiddenColumns,\n checkboxProps,\n onToggle,\n isTableConfigurationFetching,\n}) => {\n const { key, title } = column;\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n isOver,\n over,\n active,\n } = useSortable({ id: key });\n\n const dragStyle = {\n transform: isDragging ? CSS.Transform.toString(transform) : undefined,\n transition,\n opacity: isDragging ? 0.5 : 1,\n };\n\n const isIndicatorVisible = !isDragging && isOver;\n const draggedIndex = active?.data?.current?.sortable?.index;\n const targetIndex = over?.data?.current?.sortable?.index;\n\n return (\n <div>\n <div\n className={classNames({\n \"neeto-ui-bg-gray-200 h-1 w-full\":\n isIndicatorVisible && targetIndex < draggedIndex,\n })}\n />\n <div\n className=\"neeto-molecules-columns__sortable-item\"\n data-testid=\"column-sortable-item\"\n ref={setNodeRef}\n style={dragStyle}\n >\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer neeto-ui-items-center px-4 py-2\"\n htmlFor={key}\n >\n <div\n {...attributes}\n {...listeners}\n className=\"neeto-ui-mr-2 neeto-ui-cursor-grab neeto-ui-flex neeto-ui-items-center\"\n data-testid=\"column-drag-handle\"\n >\n <Reorder className=\"neeto-ui-text-gray-800\" size={18} />\n </div>\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-testid=\"neeto-ui-columns-checkbox\"\n disabled={isTableConfigurationFetching}\n id={key}\n label={title}\n name={key}\n onChange={onToggle}\n {...checkboxProps}\n />\n </Label>\n </div>\n <div\n className={classNames({\n \"neeto-ui-bg-gray-200 h-1 w-full\":\n isIndicatorVisible && targetIndex > draggedIndex,\n })}\n />\n </div>\n );\n};\n\nexport default Item;\n","import axios from \"axios\";\n\nconst baseUrl = \"api/v1/table_configurations\";\n\nconst fetch = tableKey => axios.get(`${baseUrl}/${tableKey}`);\n\nconst create = payload => axios.post(baseUrl, { tableConfiguration: payload });\n\nconst update = ({ tableKey, payload }) =>\n axios.patch(`${baseUrl}/${tableKey}`, { tableConfiguration: payload });\n\nconst destroy = tableKey => axios.delete(`${baseUrl}/${tableKey}`);\n\nconst tableConfigurationApi = { fetch, create, update, destroy };\n\nexport default tableConfigurationApi;\n","export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\nexport const COLUMNS_ORDER_STORAGE_KEY = \"neeto-molecules-columns-order\";\nexport const TABLE_CONFIGURATION_QUERY_KEY = \"table-configuration\";\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport tableConfigurationApi from \"./api\";\nimport { TABLE_CONFIGURATION_QUERY_KEY } from \"./constants.js\";\n\nconst useFetchTableConfiguration = ({ tableKey, options = {} }) =>\n useQuery({\n queryKey: [TABLE_CONFIGURATION_QUERY_KEY, tableKey],\n enabled: !!tableKey,\n queryFn: () => tableConfigurationApi.fetch(tableKey),\n ...options,\n });\n\nconst useUpdateTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.update, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nconst useDestroyTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.destroy, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nexport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n};\n","import { useEffect, useMemo, useCallback } from \"react\";\n\nimport { isNotEqualDeep, isNotEmpty, noop } from \"neetocist\";\nimport { isEmpty, pluck, prop } from \"ramda\";\n\nimport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n} from \"./useTableConfigurationsApi.js\";\n\nconst useTableConfigurations = (\n tableKey,\n columnData,\n onMutationSuccess = noop,\n allowConfigurationResetOnUpdate = true,\n defaultHiddenColumns = []\n) => {\n const {\n data: tableConfiguration,\n isLoading,\n isFetching,\n } = useFetchTableConfiguration({ tableKey });\n\n const { mutate: updateConfiguration } = useUpdateTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const { mutate: destroyConfiguration } = useDestroyTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const processColumnsWithConfiguration = useCallback(\n (originalColumns = [], existingColumnConfiguration = []) => {\n if (isEmpty(existingColumnConfiguration)) {\n return originalColumns;\n }\n\n const originalColumnsByKey = new Map(\n originalColumns?.filter(prop(\"key\")).map(column => [column.key, column])\n );\n\n const configurationByKey = new Map(\n existingColumnConfiguration.map(config => [config.key, config])\n );\n\n const orderedConfiguredColumns = existingColumnConfiguration\n .map(config => originalColumnsByKey.get(config.key))\n .filter(Boolean);\n\n const unconfiguredOriginalColumns = originalColumns.filter(\n column => column.key && !configurationByKey.has(column.key)\n );\n\n return [...orderedConfiguredColumns, ...unconfiguredOriginalColumns];\n },\n []\n );\n\n const hasAdditionalColumns = useMemo(() => {\n if (!tableConfiguration?.columns || !columnData) {\n return false;\n }\n\n const configurationKeys = pluck(\"key\", tableConfiguration.columns).sort();\n const dataKeys = pluck(\"key\", columnData).sort();\n\n return isNotEqualDeep(configurationKeys, dataKeys);\n }, [tableConfiguration, columnData]);\n\n const shouldApplyTableConfiguration = useMemo(\n () =>\n !isLoading &&\n tableConfiguration?.columns &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns,\n [tableConfiguration, isLoading, hasAdditionalColumns]\n );\n\n useEffect(() => {\n if (\n hasAdditionalColumns &&\n tableConfiguration &&\n allowConfigurationResetOnUpdate\n ) {\n destroyConfiguration(tableKey);\n }\n }, [hasAdditionalColumns, tableKey, allowConfigurationResetOnUpdate]);\n\n const allProcessedColumns = useMemo(() => {\n if (\n !isLoading &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns\n ) {\n return processColumnsWithConfiguration(\n columnData,\n tableConfiguration?.columns\n );\n }\n\n return columnData || [];\n }, [\n isLoading,\n tableConfiguration?.columns,\n hasAdditionalColumns,\n columnData,\n processColumnsWithConfiguration,\n ]);\n\n const existingColumnConfiguration = useMemo(() => {\n if (shouldApplyTableConfiguration) {\n return tableConfiguration.columns;\n }\n\n if (!columnData || isEmpty(columnData)) {\n return [];\n }\n\n return columnData.map(column => ({\n key: column.key,\n isShown: !defaultHiddenColumns.includes(column.key),\n }));\n }, [\n shouldApplyTableConfiguration,\n columnData,\n tableConfiguration?.columns,\n defaultHiddenColumns,\n ]);\n\n const customizedColumns = useMemo(() => {\n const visibleColumnsConfig = existingColumnConfiguration.filter(\n prop(\"isShown\")\n );\n const visibleColumnKeys = pluck(\"key\", visibleColumnsConfig);\n\n return allProcessedColumns.filter(column =>\n visibleColumnKeys.includes(column.key)\n );\n }, [allProcessedColumns, existingColumnConfiguration]);\n\n const updateColumns = updatedColumns => {\n updateConfiguration({\n tableKey,\n payload: { table_key: tableKey, columns: updatedColumns },\n });\n };\n\n const hideColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: false } : column\n )\n );\n };\n\n const showColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: true } : column\n )\n );\n };\n\n return {\n customizedColumns, // Only visible columns (for displaying the columns in the table)\n allProcessedColumns, // All columns (for displaying the columns in the Subheader)\n isTableConfigurationLoading: isLoading,\n isTableConfigurationFetching: isFetching,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n };\n};\n\nexport default useTableConfigurations;\n","import { existsBy, removeBy } from \"neetocist\";\nimport { filter, includes, toLower, trim } from \"ramda\";\n\nexport const getHidableColumns = columnData =>\n removeBy({ isHidable: false }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ title }) => includes(trim(toLower(searchTerm)), trim(toLower(title))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ dataIndex: hiddenColumn }, columnData)\n );\n","import { useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport i18next from \"i18next\";\nimport { isNotEmpty, findIndexBy, noop } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { assoc, isEmpty, pluck, includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./columns.scss\";\nimport Item from \"./Item\";\nimport useTableConfigurations from \"./useTableConfigurations.js\";\nimport { filterBySearchTerm, getHidableColumns } from \"./utils.js\";\n\nconst Columns = ({\n actionBlock,\n checkboxProps = {},\n columnData = [],\n isSearchable = false,\n tableKey = \"\",\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n searchProps = {},\n allowConfigurationResetOnUpdate = true,\n onMutationSuccess = noop,\n defaultHiddenColumns = [],\n ...dropdownProps\n}) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n allProcessedColumns,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n isTableConfigurationFetching,\n } = useTableConfigurations(\n tableKey,\n columnData,\n onMutationSuccess,\n allowConfigurationResetOnUpdate,\n defaultHiddenColumns\n );\n\n const hiddenColumns = pluck(\n \"key\",\n existingColumnConfiguration.filter(column => column.isShown === false)\n );\n\n const handleDragEnd = event => {\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n\n const oldIndex = findIndexBy(\n { key: active.id },\n existingColumnConfiguration\n );\n\n const newIndex = findIndexBy({ key: over.id }, existingColumnConfiguration);\n\n if (oldIndex === -1 || newIndex === -1) return;\n\n const newOrder = [...existingColumnConfiguration];\n const [movedItem] = newOrder.splice(oldIndex, 1);\n newOrder.splice(newIndex, 0, movedItem);\n updateColumns(newOrder);\n };\n\n const columns = getHidableColumns(allProcessedColumns);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n const handleHideAllColumns = () => {\n const columnsToHideKeys = pluck(\"key\", columns);\n\n updateColumns(\n existingColumnConfiguration.map(column =>\n includes(column.key, columnsToHideKeys)\n ? assoc(\"isShown\", false, column)\n : column\n )\n );\n };\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n if (checked) showColumn(dataIndex);\n else hideColumn(dataIndex);\n };\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n return (\n <Dropdown\n appendTo={document.body}\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div\n className=\"neeto-molecules-columns__container\"\n data-testid=\"customize-columns-dropdown-container\"\n >\n {isSearchable && (\n <Input\n className=\"px-4 py-2\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n {isEmpty(filteredColumns) && (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {isNotEmpty(filteredColumns) && !searchTerm && (\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={pluck(\"key\", filteredColumns)}\n strategy={verticalListSortingStrategy}\n >\n {filteredColumns.map(column => (\n <Item\n {...{\n checkboxProps,\n column,\n hiddenColumns,\n isTableConfigurationFetching,\n }}\n key={column.key}\n onToggle={handleChange}\n />\n ))}\n </SortableContext>\n </DndContext>\n )}\n {isNotEmpty(filteredColumns) &&\n searchTerm &&\n filteredColumns.map(({ key, title }) => (\n <MenuItem key={key}>\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2\"\n htmlFor={key}\n >\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-testid=\"neeto-ui-columns-checkbox\"\n id={key}\n label={title}\n name={key}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))}\n <Divider />\n {!!actionBlock && (\n <>\n {actionBlock}\n <Divider />\n </>\n )}\n <div className=\"flex justify-end gap-2 p-1 pr-3\">\n <Button\n data-testid=\"column-visibility-hide-all-button\"\n label={t(\"neetoMolecules.columns.hideAll\")}\n style=\"tertiary\"\n onClick={handleHideAllColumns}\n />\n <Button\n data-testid=\"column-visibility-reset-button\"\n label={t(\"neetoMolecules.columns.reset\")}\n style=\"secondary\"\n onClick={() => destroyConfiguration(tableKey)}\n />\n </div>\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nColumns.propTypes = {\n /**\n * Controls whether the table configuration should be reset on adding custom fields (optional).\n */\n allowConfigurationResetOnUpdate: PropTypes.bool,\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The table key used to identify table configuration in the API (required).\n */\n tableKey: PropTypes.string,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n /**\n * The function will be called when the mutation is successful (optional).\n */\n onMutationSuccess: PropTypes.func,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["Item","_ref","_active$data","_over$data","column","hiddenColumns","checkboxProps","onToggle","isTableConfigurationFetching","key","title","_useSortable","useSortable","id","attributes","listeners","setNodeRef","transform","transition","isDragging","isOver","over","active","dragStyle","CSS","Transform","toString","undefined","opacity","isIndicatorVisible","draggedIndex","data","current","sortable","index","targetIndex","_jsxs","children","_jsx","className","classNames","ref","style","Label","htmlFor","_objectSpread","Reorder","size","Checkbox","checked","includes","disabled","label","name","onChange","baseUrl","fetch","tableKey","axios","get","concat","create","payload","post","tableConfiguration","update","patch","destroy","tableConfigurationApi","HIDDEN_COLUMNS_STORAGE_KEY","COLUMNS_ORDER_STORAGE_KEY","TABLE_CONFIGURATION_QUERY_KEY","useFetchTableConfiguration","_ref$options","options","useQuery","queryKey","enabled","queryFn","useUpdateTableConfiguration","arguments","length","useMutationWithInvalidation","keysToInvalidate","useDestroyTableConfiguration","useTableConfigurations","columnData","onMutationSuccess","noop","allowConfigurationResetOnUpdate","defaultHiddenColumns","_useFetchTableConfigu","isLoading","isFetching","_useUpdateTableConfig","onSuccess","updateConfiguration","mutate","_useDestroyTableConfi","destroyConfiguration","processColumnsWithConfiguration","useCallback","originalColumns","existingColumnConfiguration","isEmpty","originalColumnsByKey","Map","filter","prop","map","configurationByKey","config","orderedConfiguredColumns","Boolean","unconfiguredOriginalColumns","has","_toConsumableArray","hasAdditionalColumns","useMemo","columns","configurationKeys","pluck","sort","dataKeys","isNotEqualDeep","shouldApplyTableConfiguration","isNotEmpty","useEffect","allProcessedColumns","isShown","customizedColumns","visibleColumnsConfig","visibleColumnKeys","updateColumns","updatedColumns","table_key","hideColumn","columnKey","showColumn","isTableConfigurationLoading","getHidableColumns","removeBy","isHidable","filterBySearchTerm","searchTerm","trim","toLower","Columns","actionBlock","_ref$checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$tableKey","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$searchProps","searchProps","_ref$allowConfigurati","_ref$onMutationSucces","_ref$defaultHiddenCol","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useTableConfiguratio","handleDragEnd","event","oldIndex","findIndexBy","newIndex","newOrder","_newOrder$splice","splice","_newOrder$splice2","movedItem","filteredColumns","handleHideAllColumns","columnsToHideKeys","assoc","handleChange","_ref2","_ref2$target","target","dataIndex","handleSearch","_ref3","value","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","position","onClose","Input","placeholder","prefix","Search","type","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","items","strategy","verticalListSortingStrategy","_createElement","_ref4","_Fragment","Button","onClick","displayName"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Columns-7xltEL2z.js","sources":["../../node_modules/@dnd-kit/utilities/dist/utilities.esm.js","../../src/components/Columns/Item.jsx","../../src/components/Columns/api.js","../../src/components/Columns/constants.js","../../src/components/Columns/useTableConfigurationsApi.js","../../src/components/Columns/useTableConfigurations.js","../../src/components/Columns/utils.js","../../src/components/Columns/Columns.jsx"],"sourcesContent":["import { useMemo, useLayoutEffect, useEffect, useRef, useCallback } from 'react';\n\nfunction useCombinedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useMemo(() => node => {\n refs.forEach(ref => ref(node));\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n refs);\n}\n\n// https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\nconst canUseDOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\nfunction isWindow(element) {\n const elementString = Object.prototype.toString.call(element);\n return elementString === '[object Window]' || // In Electron context the Window object serializes to [object global]\n elementString === '[object global]';\n}\n\nfunction isNode(node) {\n return 'nodeType' in node;\n}\n\nfunction getWindow(target) {\n var _target$ownerDocument, _target$ownerDocument2;\n\n if (!target) {\n return window;\n }\n\n if (isWindow(target)) {\n return target;\n }\n\n if (!isNode(target)) {\n return window;\n }\n\n return (_target$ownerDocument = (_target$ownerDocument2 = target.ownerDocument) == null ? void 0 : _target$ownerDocument2.defaultView) != null ? _target$ownerDocument : window;\n}\n\nfunction isDocument(node) {\n const {\n Document\n } = getWindow(node);\n return node instanceof Document;\n}\n\nfunction isHTMLElement(node) {\n if (isWindow(node)) {\n return false;\n }\n\n return node instanceof getWindow(node).HTMLElement;\n}\n\nfunction isSVGElement(node) {\n return node instanceof getWindow(node).SVGElement;\n}\n\nfunction getOwnerDocument(target) {\n if (!target) {\n return document;\n }\n\n if (isWindow(target)) {\n return target.document;\n }\n\n if (!isNode(target)) {\n return document;\n }\n\n if (isDocument(target)) {\n return target;\n }\n\n if (isHTMLElement(target) || isSVGElement(target)) {\n return target.ownerDocument;\n }\n\n return document;\n}\n\n/**\r\n * A hook that resolves to useEffect on the server and useLayoutEffect on the client\r\n * @param callback {function} Callback function that is invoked when the dependencies of the hook change\r\n */\n\nconst useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n\nfunction useEvent(handler) {\n const handlerRef = useRef(handler);\n useIsomorphicLayoutEffect(() => {\n handlerRef.current = handler;\n });\n return useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return handlerRef.current == null ? void 0 : handlerRef.current(...args);\n }, []);\n}\n\nfunction useInterval() {\n const intervalRef = useRef(null);\n const set = useCallback((listener, duration) => {\n intervalRef.current = setInterval(listener, duration);\n }, []);\n const clear = useCallback(() => {\n if (intervalRef.current !== null) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n return [set, clear];\n}\n\nfunction useLatestValue(value, dependencies) {\n if (dependencies === void 0) {\n dependencies = [value];\n }\n\n const valueRef = useRef(value);\n useIsomorphicLayoutEffect(() => {\n if (valueRef.current !== value) {\n valueRef.current = value;\n }\n }, dependencies);\n return valueRef;\n}\n\nfunction useLazyMemo(callback, dependencies) {\n const valueRef = useRef();\n return useMemo(() => {\n const newValue = callback(valueRef.current);\n valueRef.current = newValue;\n return newValue;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [...dependencies]);\n}\n\nfunction useNodeRef(onChange) {\n const onChangeHandler = useEvent(onChange);\n const node = useRef(null);\n const setNodeRef = useCallback(element => {\n if (element !== node.current) {\n onChangeHandler == null ? void 0 : onChangeHandler(element, node.current);\n }\n\n node.current = element;\n }, //eslint-disable-next-line\n []);\n return [node, setNodeRef];\n}\n\nfunction usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nlet ids = {};\nfunction useUniqueId(prefix, value) {\n return useMemo(() => {\n if (value) {\n return value;\n }\n\n const id = ids[prefix] == null ? 0 : ids[prefix] + 1;\n ids[prefix] = id;\n return prefix + \"-\" + id;\n }, [prefix, value]);\n}\n\nfunction createAdjustmentFn(modifier) {\n return function (object) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((accumulator, adjustment) => {\n const entries = Object.entries(adjustment);\n\n for (const [key, valueAdjustment] of entries) {\n const value = accumulator[key];\n\n if (value != null) {\n accumulator[key] = value + modifier * valueAdjustment;\n }\n }\n\n return accumulator;\n }, { ...object\n });\n };\n}\n\nconst add = /*#__PURE__*/createAdjustmentFn(1);\nconst subtract = /*#__PURE__*/createAdjustmentFn(-1);\n\nfunction hasViewportRelativeCoordinates(event) {\n return 'clientX' in event && 'clientY' in event;\n}\n\nfunction isKeyboardEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n KeyboardEvent\n } = getWindow(event.target);\n return KeyboardEvent && event instanceof KeyboardEvent;\n}\n\nfunction isTouchEvent(event) {\n if (!event) {\n return false;\n }\n\n const {\n TouchEvent\n } = getWindow(event.target);\n return TouchEvent && event instanceof TouchEvent;\n}\n\n/**\r\n * Returns the normalized x and y coordinates for mouse and touch events.\r\n */\n\nfunction getEventCoordinates(event) {\n if (isTouchEvent(event)) {\n if (event.touches && event.touches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.touches[0];\n return {\n x,\n y\n };\n } else if (event.changedTouches && event.changedTouches.length) {\n const {\n clientX: x,\n clientY: y\n } = event.changedTouches[0];\n return {\n x,\n y\n };\n }\n }\n\n if (hasViewportRelativeCoordinates(event)) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n\n return null;\n}\n\nconst CSS = /*#__PURE__*/Object.freeze({\n Translate: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n x,\n y\n } = transform;\n return \"translate3d(\" + (x ? Math.round(x) : 0) + \"px, \" + (y ? Math.round(y) : 0) + \"px, 0)\";\n }\n\n },\n Scale: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n const {\n scaleX,\n scaleY\n } = transform;\n return \"scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\";\n }\n\n },\n Transform: {\n toString(transform) {\n if (!transform) {\n return;\n }\n\n return [CSS.Translate.toString(transform), CSS.Scale.toString(transform)].join(' ');\n }\n\n },\n Transition: {\n toString(_ref) {\n let {\n property,\n duration,\n easing\n } = _ref;\n return property + \" \" + duration + \"ms \" + easing;\n }\n\n }\n});\n\nconst SELECTOR = 'a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]';\nfunction findFirstFocusableNode(element) {\n if (element.matches(SELECTOR)) {\n return element;\n }\n\n return element.querySelector(SELECTOR);\n}\n\nexport { CSS, add, canUseDOM, findFirstFocusableNode, getEventCoordinates, getOwnerDocument, getWindow, hasViewportRelativeCoordinates, isDocument, isHTMLElement, isKeyboardEvent, isNode, isSVGElement, isTouchEvent, isWindow, subtract, useCombinedRefs, useEvent, useInterval, useIsomorphicLayoutEffect, useLatestValue, useLazyMemo, useNodeRef, usePrevious, useUniqueId };\n//# sourceMappingURL=utilities.esm.js.map\n","import { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport classNames from \"classnames\";\nimport { Reorder } from \"neetoicons\";\nimport { Checkbox, Label } from \"neetoui\";\n\nconst Item = ({\n column,\n hiddenColumns,\n checkboxProps,\n onToggle,\n isTableConfigurationFetching,\n}) => {\n const { key, title } = column;\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n isOver,\n over,\n active,\n } = useSortable({ id: key });\n\n const dragStyle = {\n transform: isDragging ? CSS.Transform.toString(transform) : undefined,\n transition,\n opacity: isDragging ? 0.5 : 1,\n };\n\n const isIndicatorVisible = !isDragging && isOver;\n const draggedIndex = active?.data?.current?.sortable?.index;\n const targetIndex = over?.data?.current?.sortable?.index;\n\n return (\n <div>\n <div\n className={classNames({\n \"neeto-ui-bg-gray-200 h-1 w-full\":\n isIndicatorVisible && targetIndex < draggedIndex,\n })}\n />\n <div\n className=\"neeto-molecules-columns__sortable-item\"\n data-testid=\"column-sortable-item\"\n ref={setNodeRef}\n style={dragStyle}\n >\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer neeto-ui-items-center px-4 py-2\"\n htmlFor={key}\n >\n <div\n {...attributes}\n {...listeners}\n className=\"neeto-ui-mr-2 neeto-ui-cursor-grab neeto-ui-flex neeto-ui-items-center\"\n data-testid=\"column-drag-handle\"\n >\n <Reorder className=\"neeto-ui-text-gray-800\" size={18} />\n </div>\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-testid=\"neeto-ui-columns-checkbox\"\n disabled={isTableConfigurationFetching}\n id={key}\n label={title}\n name={key}\n onChange={onToggle}\n {...checkboxProps}\n />\n </Label>\n </div>\n <div\n className={classNames({\n \"neeto-ui-bg-gray-200 h-1 w-full\":\n isIndicatorVisible && targetIndex > draggedIndex,\n })}\n />\n </div>\n );\n};\n\nexport default Item;\n","import axios from \"axios\";\n\nconst baseUrl = \"api/v1/table_configurations\";\n\nconst fetch = tableKey => axios.get(`${baseUrl}/${tableKey}`);\n\nconst create = payload => axios.post(baseUrl, { tableConfiguration: payload });\n\nconst update = ({ tableKey, payload }) =>\n axios.patch(`${baseUrl}/${tableKey}`, { tableConfiguration: payload });\n\nconst destroy = tableKey => axios.delete(`${baseUrl}/${tableKey}`);\n\nconst tableConfigurationApi = { fetch, create, update, destroy };\n\nexport default tableConfigurationApi;\n","export const HIDDEN_COLUMNS_STORAGE_KEY = \"neeto-molecules-hidden-columns\";\nexport const COLUMNS_ORDER_STORAGE_KEY = \"neeto-molecules-columns-order\";\nexport const TABLE_CONFIGURATION_QUERY_KEY = \"table-configuration\";\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport tableConfigurationApi from \"./api\";\nimport { TABLE_CONFIGURATION_QUERY_KEY } from \"./constants.js\";\n\nconst useFetchTableConfiguration = ({ tableKey, options = {} }) =>\n useQuery({\n queryKey: [TABLE_CONFIGURATION_QUERY_KEY, tableKey],\n enabled: !!tableKey,\n queryFn: () => tableConfigurationApi.fetch(tableKey),\n ...options,\n });\n\nconst useUpdateTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.update, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nconst useDestroyTableConfiguration = (tableKey, options = {}) =>\n useMutationWithInvalidation(tableConfigurationApi.destroy, {\n keysToInvalidate: [[TABLE_CONFIGURATION_QUERY_KEY, tableKey]],\n ...options,\n });\n\nexport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n};\n","import { useEffect, useMemo, useCallback } from \"react\";\n\nimport { isNotEqualDeep, isNotEmpty, noop } from \"neetocist\";\nimport { isEmpty, pluck, prop } from \"ramda\";\n\nimport {\n useFetchTableConfiguration,\n useUpdateTableConfiguration,\n useDestroyTableConfiguration,\n} from \"./useTableConfigurationsApi.js\";\n\nconst useTableConfigurations = (\n tableKey,\n columnData,\n onMutationSuccess = noop,\n allowConfigurationResetOnUpdate = true,\n defaultHiddenColumns = []\n) => {\n const {\n data: tableConfiguration,\n isLoading,\n isFetching,\n } = useFetchTableConfiguration({ tableKey });\n\n const { mutate: updateConfiguration } = useUpdateTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const { mutate: destroyConfiguration } = useDestroyTableConfiguration(\n tableKey,\n { onSuccess: onMutationSuccess }\n );\n\n const processColumnsWithConfiguration = useCallback(\n (originalColumns = [], existingColumnConfiguration = []) => {\n if (isEmpty(existingColumnConfiguration)) {\n return originalColumns;\n }\n\n const originalColumnsByKey = new Map(\n originalColumns?.filter(prop(\"key\")).map(column => [column.key, column])\n );\n\n const configurationByKey = new Map(\n existingColumnConfiguration.map(config => [config.key, config])\n );\n\n const orderedConfiguredColumns = existingColumnConfiguration\n .map(config => originalColumnsByKey.get(config.key))\n .filter(Boolean);\n\n const unconfiguredOriginalColumns = originalColumns.filter(\n column => column.key && !configurationByKey.has(column.key)\n );\n\n return [...orderedConfiguredColumns, ...unconfiguredOriginalColumns];\n },\n []\n );\n\n const hasAdditionalColumns = useMemo(() => {\n if (!tableConfiguration?.columns || !columnData) {\n return false;\n }\n\n const configurationKeys = pluck(\"key\", tableConfiguration.columns).sort();\n const dataKeys = pluck(\"key\", columnData).sort();\n\n return isNotEqualDeep(configurationKeys, dataKeys);\n }, [tableConfiguration, columnData]);\n\n const shouldApplyTableConfiguration = useMemo(\n () =>\n !isLoading &&\n tableConfiguration?.columns &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns,\n [tableConfiguration, isLoading, hasAdditionalColumns]\n );\n\n useEffect(() => {\n if (\n hasAdditionalColumns &&\n tableConfiguration &&\n allowConfigurationResetOnUpdate\n ) {\n destroyConfiguration(tableKey);\n }\n }, [hasAdditionalColumns, tableKey, allowConfigurationResetOnUpdate]);\n\n const allProcessedColumns = useMemo(() => {\n if (\n !isLoading &&\n isNotEmpty(tableConfiguration?.columns) &&\n !hasAdditionalColumns\n ) {\n return processColumnsWithConfiguration(\n columnData,\n tableConfiguration?.columns\n );\n }\n\n return columnData || [];\n }, [\n isLoading,\n tableConfiguration?.columns,\n hasAdditionalColumns,\n columnData,\n processColumnsWithConfiguration,\n ]);\n\n const existingColumnConfiguration = useMemo(() => {\n if (shouldApplyTableConfiguration) {\n return tableConfiguration.columns;\n }\n\n if (!columnData || isEmpty(columnData)) {\n return [];\n }\n\n return columnData.map(column => ({\n key: column.key,\n isShown: !defaultHiddenColumns.includes(column.key),\n }));\n }, [\n shouldApplyTableConfiguration,\n columnData,\n tableConfiguration?.columns,\n defaultHiddenColumns,\n ]);\n\n const customizedColumns = useMemo(() => {\n const visibleColumnsConfig = existingColumnConfiguration.filter(\n prop(\"isShown\")\n );\n const visibleColumnKeys = pluck(\"key\", visibleColumnsConfig);\n\n return allProcessedColumns.filter(column =>\n visibleColumnKeys.includes(column.key)\n );\n }, [allProcessedColumns, existingColumnConfiguration]);\n\n const updateColumns = updatedColumns => {\n updateConfiguration({\n tableKey,\n payload: { table_key: tableKey, columns: updatedColumns },\n });\n };\n\n const hideColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: false } : column\n )\n );\n };\n\n const showColumn = columnKey => {\n updateColumns(\n existingColumnConfiguration.map(column =>\n column.key === columnKey ? { ...column, isShown: true } : column\n )\n );\n };\n\n return {\n customizedColumns, // Only visible columns (for displaying the columns in the table)\n allProcessedColumns, // All columns (for displaying the columns in the Subheader)\n isTableConfigurationLoading: isLoading,\n isTableConfigurationFetching: isFetching,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n };\n};\n\nexport default useTableConfigurations;\n","import { existsBy, removeBy } from \"neetocist\";\nimport { filter, includes, toLower, trim } from \"ramda\";\n\nexport const getHidableColumns = columnData =>\n removeBy({ isHidable: false }, columnData);\n\nexport const filterBySearchTerm = (searchTerm, columns) =>\n filter(\n ({ title }) => includes(trim(toLower(searchTerm)), trim(toLower(title))),\n columns\n );\n\nexport const removeDeletedColumns = (hiddenColumns, columnData) =>\n hiddenColumns.filter(hiddenColumn =>\n existsBy({ dataIndex: hiddenColumn }, columnData)\n );\n","import { useState } from \"react\";\n\nimport { DndContext, closestCenter } from \"@dnd-kit/core\";\nimport {\n SortableContext,\n verticalListSortingStrategy,\n} from \"@dnd-kit/sortable\";\nimport i18next from \"i18next\";\nimport { isNotEmpty, findIndexBy, noop } from \"neetocist\";\nimport { Search } from \"neetoicons\";\nimport { Checkbox, Dropdown, Input, Label, Button } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { assoc, isEmpty, pluck, includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport \"./columns.scss\";\nimport Item from \"./Item\";\nimport useTableConfigurations from \"./useTableConfigurations.js\";\nimport { filterBySearchTerm, getHidableColumns } from \"./utils.js\";\n\nconst Columns = ({\n actionBlock,\n checkboxProps = {},\n columnData = [],\n isSearchable = false,\n tableKey = \"\",\n noColumnMessage = i18next.t(\"neetoMolecules.columns.noColumns\"),\n searchProps = {},\n allowConfigurationResetOnUpdate = true,\n onMutationSuccess = noop,\n defaultHiddenColumns = [],\n ...dropdownProps\n}) => {\n const { Divider, Menu, MenuItem } = Dropdown;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const { t } = useTranslation();\n\n const {\n allProcessedColumns,\n existingColumnConfiguration,\n hideColumn,\n showColumn,\n updateColumns,\n destroyConfiguration,\n isTableConfigurationFetching,\n } = useTableConfigurations(\n tableKey,\n columnData,\n onMutationSuccess,\n allowConfigurationResetOnUpdate,\n defaultHiddenColumns\n );\n\n const hiddenColumns = pluck(\n \"key\",\n existingColumnConfiguration.filter(column => column.isShown === false)\n );\n\n const handleDragEnd = event => {\n const { active, over } = event;\n if (!over || active.id === over.id) return;\n\n const oldIndex = findIndexBy(\n { key: active.id },\n existingColumnConfiguration\n );\n\n const newIndex = findIndexBy({ key: over.id }, existingColumnConfiguration);\n\n if (oldIndex === -1 || newIndex === -1) return;\n\n const newOrder = [...existingColumnConfiguration];\n const [movedItem] = newOrder.splice(oldIndex, 1);\n newOrder.splice(newIndex, 0, movedItem);\n updateColumns(newOrder);\n };\n\n const columns = getHidableColumns(allProcessedColumns);\n const filteredColumns = filterBySearchTerm(searchTerm, columns);\n\n const handleHideAllColumns = () => {\n const columnsToHideKeys = pluck(\"key\", columns);\n\n updateColumns(\n existingColumnConfiguration.map(column =>\n includes(column.key, columnsToHideKeys)\n ? assoc(\"isShown\", false, column)\n : column\n )\n );\n };\n\n const handleChange = ({ target: { name: dataIndex, checked } }) => {\n if (checked) showColumn(dataIndex);\n else hideColumn(dataIndex);\n };\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n return (\n <Dropdown\n appendTo={document.body}\n buttonSize=\"medium\"\n buttonStyle=\"text\"\n closeOnSelect={false}\n position=\"bottom-end\"\n onClose={() => setSearchTerm(\"\")}\n {...dropdownProps}\n >\n <Menu>\n <div\n className=\"neeto-molecules-columns__container\"\n data-testid=\"customize-columns-dropdown-container\"\n >\n {isSearchable && (\n <Input\n className=\"px-4 py-2\"\n data-testid=\"neeto-ui-columns-search\"\n placeholder={t(\"neetoMolecules.columns.search\")}\n prefix={<Search />}\n type=\"search\"\n value={searchTerm}\n onChange={handleSearch}\n {...searchProps}\n />\n )}\n {isEmpty(filteredColumns) && (\n <span className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-p-2\">\n {noColumnMessage}\n </span>\n )}\n {isNotEmpty(filteredColumns) && !searchTerm && (\n <DndContext\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n >\n <SortableContext\n items={pluck(\"key\", filteredColumns)}\n strategy={verticalListSortingStrategy}\n >\n {filteredColumns.map(column => (\n <Item\n {...{\n checkboxProps,\n column,\n hiddenColumns,\n isTableConfigurationFetching,\n }}\n key={column.key}\n onToggle={handleChange}\n />\n ))}\n </SortableContext>\n </DndContext>\n )}\n {isNotEmpty(filteredColumns) &&\n searchTerm &&\n filteredColumns.map(({ key, title }) => (\n <MenuItem key={key}>\n <Label\n className=\"neeto-ui-flex neeto-ui-w-full hover:neeto-ui-bg-gray-200 neeto-ui-cursor-pointer px-4 py-2\"\n htmlFor={key}\n >\n <Checkbox\n checked={!hiddenColumns.includes(key)}\n data-testid=\"neeto-ui-columns-checkbox\"\n id={key}\n label={title}\n name={key}\n onChange={handleChange}\n {...checkboxProps}\n />\n </Label>\n </MenuItem>\n ))}\n <Divider />\n {!!actionBlock && (\n <>\n {actionBlock}\n <Divider />\n </>\n )}\n <div className=\"flex justify-end gap-2 p-1 pr-3\">\n <Button\n data-testid=\"column-visibility-hide-all-button\"\n label={t(\"neetoMolecules.columns.hideAll\")}\n style=\"tertiary\"\n onClick={handleHideAllColumns}\n />\n <Button\n data-testid=\"column-visibility-reset-button\"\n label={t(\"neetoMolecules.columns.reset\")}\n style=\"secondary\"\n onClick={() => destroyConfiguration(tableKey)}\n />\n </div>\n </div>\n </Menu>\n </Dropdown>\n );\n};\n\nColumns.propTypes = {\n /**\n * Controls whether the table configuration should be reset on adding custom fields (optional).\n */\n allowConfigurationResetOnUpdate: PropTypes.bool,\n /**\n * Extra action items that can be added at the end of the dropdown (optional).\n */\n actionBlock: PropTypes.element,\n /**\n * Additional props for the checkboxes in the dropdown (optional).\n */\n checkboxProps: PropTypes.object,\n /**\n * The list of columns from which the dropdown options are built (required).\n */\n columnData: PropTypes.array,\n /**\n * Controls whether the dropdown options should be searchable (optional).\n */\n isSearchable: PropTypes.bool,\n /**\n * The table key used to identify table configuration in the API (required).\n */\n tableKey: PropTypes.string,\n /**\n * The message to be shown when there are no columns to be displayed in the dropdown (optional).\n */\n noColumnMessage: PropTypes.string,\n /**\n * Props to be passed to the search input in the column dropdown. Only works when `isSearchable` is set to `true` (optional).\n */\n searchProps: PropTypes.object,\n /**\n * The function will be called when the mutation is successful (optional).\n */\n onMutationSuccess: PropTypes.func,\n};\n\nColumns.displayName = \"Columns\";\nexport default Columns;\n"],"names":["Item","_ref","_active$data","_over$data","column","hiddenColumns","checkboxProps","onToggle","isTableConfigurationFetching","key","title","_useSortable","useSortable","id","attributes","listeners","setNodeRef","transform","transition","isDragging","isOver","over","active","dragStyle","CSS","Transform","toString","undefined","opacity","isIndicatorVisible","draggedIndex","data","current","sortable","index","targetIndex","_jsxs","children","_jsx","className","classNames","ref","style","Label","htmlFor","_objectSpread","Reorder","size","Checkbox","checked","includes","disabled","label","name","onChange","baseUrl","fetch","tableKey","axios","get","concat","create","payload","post","tableConfiguration","update","patch","destroy","tableConfigurationApi","HIDDEN_COLUMNS_STORAGE_KEY","COLUMNS_ORDER_STORAGE_KEY","TABLE_CONFIGURATION_QUERY_KEY","useFetchTableConfiguration","_ref$options","options","useQuery","queryKey","enabled","queryFn","useUpdateTableConfiguration","arguments","length","useMutationWithInvalidation","keysToInvalidate","useDestroyTableConfiguration","useTableConfigurations","columnData","onMutationSuccess","noop","allowConfigurationResetOnUpdate","defaultHiddenColumns","_useFetchTableConfigu","isLoading","isFetching","_useUpdateTableConfig","onSuccess","updateConfiguration","mutate","_useDestroyTableConfi","destroyConfiguration","processColumnsWithConfiguration","useCallback","originalColumns","existingColumnConfiguration","isEmpty","originalColumnsByKey","Map","filter","prop","map","configurationByKey","config","orderedConfiguredColumns","Boolean","unconfiguredOriginalColumns","has","_toConsumableArray","hasAdditionalColumns","useMemo","columns","configurationKeys","pluck","sort","dataKeys","isNotEqualDeep","shouldApplyTableConfiguration","isNotEmpty","useEffect","allProcessedColumns","isShown","customizedColumns","visibleColumnsConfig","visibleColumnKeys","updateColumns","updatedColumns","table_key","hideColumn","columnKey","showColumn","isTableConfigurationLoading","getHidableColumns","removeBy","isHidable","filterBySearchTerm","searchTerm","trim","toLower","Columns","actionBlock","_ref$checkboxProps","_ref$columnData","_ref$isSearchable","isSearchable","_ref$tableKey","_ref$noColumnMessage","noColumnMessage","i18next","t","_ref$searchProps","searchProps","_ref$allowConfigurati","_ref$onMutationSucces","_ref$defaultHiddenCol","dropdownProps","_objectWithoutProperties","_excluded","Divider","Dropdown","Menu","MenuItem","_useState","useState","_useState2","_slicedToArray","setSearchTerm","_useTranslation","useTranslation","_useTableConfiguratio","handleDragEnd","event","oldIndex","findIndexBy","newIndex","newOrder","_newOrder$splice","splice","_newOrder$splice2","movedItem","filteredColumns","handleHideAllColumns","columnsToHideKeys","assoc","handleChange","_ref2","_ref2$target","target","dataIndex","handleSearch","_ref3","value","appendTo","document","body","buttonSize","buttonStyle","closeOnSelect","position","onClose","Input","placeholder","prefix","Search","type","DndContext","collisionDetection","closestCenter","onDragEnd","SortableContext","items","strategy","verticalListSortingStrategy","_createElement","_ref4","_Fragment","Button","onClick","displayName"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ua-parser-E0eEtHJZ.js","sources":["../../node_modules/ua-parser-js/src/main/ua-parser.mjs"],"sourcesContent":["// Generated ESM version of ua-parser-js\n// DO NOT EDIT THIS FILE!\n// Source: /src/main/ua-parser.js\n\n/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v2.0.5\n Copyright © 2012-2025 Faisal Salman <f@faisalman.com>\n AGPLv3 License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://uaparser.dev\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n/* jshint esversion: 6 */ \n/* globals window */\n\n\n \n //////////////\n // Constants\n /////////////\n\n var LIBVERSION = '2.0.5',\n UA_MAX_LENGTH = 500,\n USER_AGENT = 'user-agent',\n EMPTY = '',\n UNKNOWN = '?',\n\n // typeof\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n\n // properties\n UA_BROWSER = 'browser',\n UA_CPU = 'cpu',\n UA_DEVICE = 'device',\n UA_ENGINE = 'engine',\n UA_OS = 'os',\n UA_RESULT = 'result',\n \n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n MAJOR = 'major',\n MODEL = 'model',\n\n // device types\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n XR = 'xr',\n EMBEDDED = 'embedded',\n\n // browser types\n INAPP = 'inapp',\n\n // client hints\n BRANDS = 'brands',\n FORMFACTORS = 'formFactors',\n FULLVERLIST = 'fullVersionList',\n PLATFORM = 'platform',\n PLATFORMVER = 'platformVersion',\n BITNESS = 'bitness',\n CH_HEADER = 'sec-ch-ua',\n CH_HEADER_FULL_VER_LIST = CH_HEADER + '-full-version-list',\n CH_HEADER_ARCH = CH_HEADER + '-arch',\n CH_HEADER_BITNESS = CH_HEADER + '-' + BITNESS,\n CH_HEADER_FORM_FACTORS = CH_HEADER + '-form-factors',\n CH_HEADER_MOBILE = CH_HEADER + '-' + MOBILE,\n CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,\n CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,\n CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',\n CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTORS, BITNESS],\n\n // device vendors\n AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LENOVO = 'Lenovo',\n HONOR = 'Honor',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n NVIDIA = 'Nvidia',\n ONEPLUS = 'OnePlus',\n OPPO = 'OPPO',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n\n // browsers\n CHROME = 'Chrome',\n CHROMIUM = 'Chromium',\n CHROMECAST = 'Chromecast',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n OPERA = 'Opera',\n FACEBOOK = 'Facebook',\n SOGOU = 'Sogou',\n\n PREFIX_MOBILE = 'Mobile ',\n SUFFIX_BROWSER = ' Browser',\n\n // os\n WINDOWS = 'Windows';\n \n var isWindow = typeof window !== UNDEF_TYPE,\n NAVIGATOR = (isWindow && window.navigator) ? \n window.navigator : \n undefined,\n NAVIGATOR_UADATA = (NAVIGATOR && NAVIGATOR.userAgentData) ? \n NAVIGATOR.userAgentData : \n undefined;\n\n ///////////\n // Helper\n //////////\n\n var extend = function (defaultRgx, extensions) {\n var mergedRgx = {};\n var extraRgx = extensions;\n if (!isExtensions(extensions)) {\n extraRgx = {};\n for (var i in extensions) {\n for (var j in extensions[i]) {\n extraRgx[j] = extensions[i][j].concat(extraRgx[j] ? extraRgx[j] : []);\n }\n }\n }\n for (var k in defaultRgx) {\n mergedRgx[k] = extraRgx[k] && extraRgx[k].length % 2 === 0 ? extraRgx[k].concat(defaultRgx[k]) : defaultRgx[k];\n }\n return mergedRgx;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i<arr.length; i++) {\n enums[arr[i].toUpperCase()] = arr[i];\n }\n return enums;\n },\n has = function (str1, str2) {\n if (typeof str1 === OBJ_TYPE && str1.length > 0) {\n for (var i in str1) {\n if (lowerize(str2) == lowerize(str1[i])) return true;\n }\n return false;\n }\n return isString(str1) ? lowerize(str2) == lowerize(str1) : false;\n },\n isExtensions = function (obj, deep) {\n for (var prop in obj) {\n return /^(browser|cpu|device|engine|os)$/.test(prop) || (deep ? isExtensions(obj[prop]) : false);\n }\n },\n isString = function (val) {\n return typeof val === STR_TYPE;\n },\n itemListToArray = function (header) {\n if (!header) return undefined;\n var arr = [];\n var tokens = strip(/\\\\?\\\"/g, header).split(',');\n for (var i = 0; i < tokens.length; i++) {\n if (tokens[i].indexOf(';') > -1) {\n var token = trim(tokens[i]).split(';v=');\n arr[i] = { brand : token[0], version : token[1] };\n } else {\n arr[i] = trim(tokens[i]);\n }\n }\n return arr;\n },\n lowerize = function (str) {\n return isString(str) ? str.toLowerCase() : str;\n },\n majorize = function (version) {\n return isString(version) ? strip(/[^\\d\\.]/g, version).split('.')[0] : undefined;\n },\n setProps = function (arr) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n var propName = arr[i];\n if (typeof propName == OBJ_TYPE && propName.length == 2) {\n this[propName[0]] = propName[1];\n } else {\n this[propName] = undefined;\n }\n }\n return this;\n },\n strip = function (pattern, str) {\n return isString(str) ? str.replace(pattern, EMPTY) : str;\n },\n stripQuotes = function (str) {\n return strip(/\\\\?\\\"/g, str); \n },\n trim = function (str, len) {\n if (isString(str)) {\n str = strip(/^\\s\\s*/, str);\n return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n\n ///////////////\n // Map helper\n //////////////\n\n var rgxMapper = function (ua, arrays) {\n\n if(!ua || !arrays) return;\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n if (!regex[j]) { break; }\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length >= 3) {\n // Check whether q[1] FUNCTION or REGEX\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n if (q.length > 3) {\n this[q[0]] = match ? q[1].apply(this, q.slice(2)) : undefined;\n } else {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n }\n } else {\n if (q.length == 3) {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n } else if (q.length == 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n } else if (q.length > 4) {\n this[q[0]] = match ? q[3].apply(this, [match.replace(q[1], q[2])].concat(q.slice(4))) : undefined;\n }\n }\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return map.hasOwnProperty('*') ? map['*'] : str;\n };\n\n ///////////////\n // String map\n //////////////\n\n var windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.51': '3.51',\n 'NT 4.0': '4.0',\n '2000' : ['5.0', '5.01'],\n 'XP' : ['5.1', '5.2'],\n 'Vista' : '6.0',\n '7' : '6.1',\n '8' : '6.2',\n '8.1' : '6.3',\n '10' : ['6.4', '10.0'],\n 'NT' : ''\n },\n \n formFactorsMap = {\n 'embedded' : 'Automotive',\n 'mobile' : 'Mobile',\n 'tablet' : ['Tablet', 'EInk'],\n 'smarttv' : 'TV',\n 'wearable' : 'Watch',\n 'xr' : ['VR', 'XR'],\n '?' : ['Desktop', 'Unknown'],\n '*' : undefined\n },\n\n browserHintsMap = {\n 'Chrome' : 'Google Chrome',\n 'Edge' : 'Microsoft Edge',\n 'Edge WebView2' : 'Microsoft Edge WebView2',\n 'Chrome WebView': 'Android WebView',\n 'Chrome Headless':'HeadlessChrome',\n 'Huawei Browser': 'HuaweiBrowser',\n 'MIUI Browser' : 'Miui Browser',\n 'Opera Mobi' : 'OperaMobile',\n 'Yandex' : 'YaBrowser'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var defaultRegexes = {\n\n browser : [[\n\n // Most common regardless engine\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, PREFIX_MOBILE + 'Chrome']], [\n /webview.+edge\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, EDGE+' WebView']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i \n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bop(?:rg)?x\\/([\\w\\.]+)/i // Opera GX\n ], [VERSION, [NAME, OPERA+' GX']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i // Baidu\n ], [VERSION, [NAME, 'Baidu']], [\n /\\b(?:mxbrowser|mxios|myie2)\\/?([-\\w\\.]*)\\b/i // Maxthon\n ], [VERSION, [NAME, 'Maxthon']], [\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\\/ ]?([\\w\\.]*)/i, \n // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir\n // Trident based\n /(avant|iemobile|slim(?:browser|boat|jet))[\\/ ]?([\\d\\.]*)/i, // Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Blink/Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon/LG Browser/Otter/qutebrowser/Dooble\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon\n /(heytap|ovi|115|surf)browser\\/([\\d\\.]+)/i, // HeyTap/Ovi/115/Surf\n /(ecosia|weibo)(?:__| \\w+@)([\\d\\.]+)/i // Ecosia/Weibo\n ], [NAME, VERSION], [\n /quark(?:pc)?\\/([-\\w\\.]+)/i // Quark\n ], [VERSION, [NAME, 'Quark']], [\n /\\bddg\\/([\\w\\.]+)/i // DuckDuckGo\n ], [VERSION, [NAME, 'DuckDuckGo']], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UCBrowser']], [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i, // WeChat Desktop for Windows Built-in Browser\n /\\bqbcore\\/([\\w\\.]+).+microm/i,\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /ya(?:search)?browser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /slbrowser\\/([\\w\\.]+)/i // Smart Lenovo Browser\n ], [VERSION, [NAME, 'Smart ' + LENOVO + SUFFIX_BROWSER]], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure' + SUFFIX_BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI' + SUFFIX_BROWSER]], [\n /fxios\\/([\\w\\.-]+)/i // Firefox for iOS\n ], [VERSION, [NAME, PREFIX_MOBILE + FIREFOX]], [\n /\\bqihoobrowser\\/?([\\w\\.]*)/i // 360\n ], [VERSION, [NAME, '360']], [\n /\\b(qq)\\/([\\w\\.]+)/i // QQ\n ], [[NAME, /(.+)/, '$1Browser'], VERSION], [\n /(oculus|sailfish|huawei|vivo|pico)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser\n /samsungbrowser\\/([\\w\\.]+)/i // Samsung Internet\n ], [VERSION, [NAME, SAMSUNG + ' Internet']], [\n /metasr[\\/ ]?([\\d\\.]+)/i // Sogou Explorer\n ], [VERSION, [NAME, SOGOU + ' Explorer']], [\n /(sogou)mo\\w+\\/([\\d\\.]+)/i // Sogou Mobile\n ], [[NAME, SOGOU + ' Mobile'], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|2345(?=browser|chrome|explorer))\\w*[\\/ ]?v?([\\w\\.]+)/i // QQ/2345\n ], [NAME, VERSION], [\n /(lbbrowser|rekonq)/i // LieBao Browser/Rekonq\n ], [NAME], [\n /ome\\/([\\w\\.]+) \\w* ?(iron) saf/i, // Iron\n /ome\\/([\\w\\.]+).+qihu (360)[es]e/i // 360\n ], [VERSION, NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION, [TYPE, INAPP]], [\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, // Kakao App\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, // Naver InApp\n /(daum)apps[\\/ ]([\\w\\.]+)/i, // Daum App\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(alipay)client\\/([\\w\\.]+)/i, // Alipay\n /(twitter)(?:and| f.+e\\/([\\w\\.]+))/i, // Twitter\n /(instagram|snapchat|klarna)[\\/ ]([-\\w\\.]+)/i // Instagram/Snapchat/Klarna\n ], [NAME, VERSION, [TYPE, INAPP]], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA'], [TYPE, INAPP]], [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i // TikTok\n ], [VERSION, [NAME, 'TikTok'], [TYPE, INAPP]], [\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [NAME, [TYPE, INAPP]], [\n /(zalo(?:app)?)[\\/\\sa-z]*([\\w\\.-]+)/i // Zalo \n ], [[NAME, /(.+)/, 'Zalo'], VERSION, [TYPE, INAPP]], [\n\n /(chromium)[\\/ ]([-\\w\\.]+)/i // Chromium\n ], [NAME, VERSION], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n /wv\\).+chrome\\/([\\w\\.]+).+edgw\\//i // Edge WebView2\n ], [VERSION, [NAME, EDGE+' WebView2']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android' + SUFFIX_BROWSER]], [\n\n /chrome\\/([\\w\\.]+) mobile/i // Chrome Mobile\n ], [VERSION, [NAME, PREFIX_MOBILE + 'Chrome']], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.\\,]+) .*mobile(?:\\/\\w+ | ?)safari/i // Safari Mobile\n ], [VERSION, [NAME, PREFIX_MOBILE + 'Safari']], [\n /iphone .*mobile(?:\\/\\w+ | ?)safari/i\n ], [[NAME, PREFIX_MOBILE + 'Safari']], [\n /version\\/([\\w\\.\\,]+) .*(safari)/i // Safari\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, '1']], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(?:mobile|tablet);.*(firefox)\\/([\\w\\.-]+)/i // Firefox Mobile\n ], [[NAME, PREFIX_MOBILE + FIREFOX], VERSION], [\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /(wolvic|librewolf)\\/([\\w\\.]+)/i // Wolvic/LibreWolf\n ], [NAME, VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser/Ladybird\n /\\b(links) \\(([\\w\\.]+)/i // Links\n ], [NAME, [VERSION, /_/g, '.']], [\n \n /(cobalt)\\/([\\w\\.]+)/i // Cobalt\n ], [NAME, [VERSION, /[^\\d\\.]+./, EMPTY]]\n ],\n\n cpu : [[\n\n /\\b((amd|x|x86[-_]?|wow|win)64)\\b/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i, // IA32 (quicktime)\n /\\b((i[346]|x)86)(pc)?\\b/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?[89]e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /( (ce|mobile); ppc;|\\/[\\w\\.]+arm\\b)/i\n ], [[ARCHITECTURE, 'arm']], [\n\n / sun4\\w[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n /\\b(avr32|ia64(?=;)|68k(?=\\))|\\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\\b|pa-risc)/i,\n /((ppc|powerpc)(64)?)( mac|;|\\))/i, // PowerPC\n /(?:osf1|[freopnt]{3,4}bsd) (alpha)/i // Alpha\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n /winnt.+\\[axp/i\n ], [[ARCHITECTURE, 'alpha']]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-(?![lr])\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]((?!sm-[lr]|browser)[-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n /(macintosh);/i\n ], [MODEL, [VENDOR, APPLE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\n\n // Honor\n /\\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\\)|;)/i\n ], [MODEL, [VENDOR, HONOR], [TYPE, TABLET]], [\n /honor([-\\w ]+)[;\\)]/i\n ], [MODEL, [VENDOR, HONOR], [TYPE, MOBILE]], [\n\n // Huawei\n /\\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\\w\\. ]*(?= bui|\\)))\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /oid[^\\)]+; (2[\\dbc]{4}(182|283|rp\\w{2})[cgl]|m2105k81a?c)(?: bui|\\))/i,\n /\\b((?:red)?mi[-_ ]?pad[\\w- ]*)(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n /\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i, // Xiaomi Redmi 'numeric' models\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\\))/i, // Xiaomi Mi\n / ([\\w ]+) miui\\/v?\\d/i\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n\n // OnePlus\n /droid.+; (cph2[3-6]\\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\\d|p[g-k]\\w[1m]10)\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, ONEPLUS], [TYPE, MOBILE]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ], [MODEL, [VENDOR, OPPO], [TYPE, MOBILE]], [\n /\\b(opd2(\\d{3}a?))(?: bui|\\))/i\n ], [MODEL, [VENDOR, strMapper, { 'OnePlus' : ['203', '304', '403', '404', '413', '415'], '*' : OPPO }], [TYPE, TABLET]], [\n\n // BLU\n /(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\\w\\+ ]*)(?: bui|\\))/i // Vivo series\n ], [MODEL, [VENDOR, 'BLU'], [TYPE, MOBILE]], [ \n\n // Vivo\n /; vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\\d{3,4}(?:f[cu]|xu|[av])|yt\\d?-[jx]?\\d+[lfmx])( bui|;|\\)|\\/)/i,\n /lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\\w- ]+?)|tb[\\w-]{6,7})( bui|;|\\)|\\/)/i\n ], [MODEL, [VENDOR, LENOVO], [TYPE, TABLET]], [ \n /lenovo[-_ ]?([-\\w ]+?)(?: bui|\\)|\\/)/i\n ], [MODEL, [VENDOR, LENOVO], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ]([\\w\\s]+)(\\)| bui)/i,\n /((?:moto(?! 360)[-\\w\\(\\) ]+|xt\\d{3,4}[cgkosw\\+]?[-\\d]*|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Nokia\n /(nokia) (t[12][01])/i\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n /(?:maemo|nokia).*(n900|lumia \\d+|rm-\\d+)/i,\n /nokia[-_ ]?(([-\\w\\. ]*))/i\n ], [[MODEL, /_/g, ' '], [TYPE, MOBILE], [VENDOR, 'Nokia']], [\n\n // Google\n /(pixel (c|tablet))\\b/i // Google Pixel C/Tablet\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n // Google Pixel\n /droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\\d ]*a?( pro)?( xl)?( fold)?( \\(5g\\))?)( bui|\\))/i\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n /(google) (pixelbook( go)?)/i\n ], [VENDOR, MODEL], [\n\n // Sony\n /droid.+; (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-\\w\\w\\d\\d)(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo(?!bc)\\w\\w)( bui|\\))/i, // Kindle Fire without Silk / Echo Show\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // TCL\n /tcl (xess p17aa)/i,\n /droid [\\w\\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\\w(\\w|\\w\\w))?(\\)| bui)/i\n ], [MODEL, [VENDOR, 'TCL'], [TYPE, TABLET]], [\n /droid [\\w\\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\\w(\\w|\\w\\w))?(\\)| bui)/i\n ], [MODEL, [VENDOR, 'TCL'], [TYPE, MOBILE]], [\n\n // itel\n /(itel) ((\\w+))/i\n ], [[VENDOR, lowerize], MODEL, [TYPE, strMapper, { 'tablet' : ['p10001l', 'w7001'], '*' : 'mobile' }]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n \n // Ulefone\n /; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]], [\n\n // Energizer\n /; (energy ?\\w+)(?: bui|\\))/i,\n /; energizer ([\\w ]+)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Energizer'], [TYPE, MOBILE]], [\n\n // Cat\n /; cat (b35);/i,\n /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Cat'], [TYPE, MOBILE]], [\n\n // Smartfren\n /((?:new )?andromax[\\w- ]+)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Smartfren'], [TYPE, MOBILE]], [\n\n // Nothing\n /droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i\n ], [MODEL, [VENDOR, 'Nothing'], [TYPE, MOBILE]], [\n\n // Archos\n /; (x67 5g|tikeasy \\w+|ac[1789]\\d\\w+)( b|\\))/i,\n /archos ?(5|gamepad2?|([\\w ]*[t1789]|hello) ?\\d+[\\w ]*)( b|\\))/i\n ], [MODEL, [VENDOR, 'Archos'], [TYPE, TABLET]], [\n /archos ([\\w ]+)( b|\\))/i,\n /; (ac[3-6]\\d\\w{2,8})( b|\\))/i \n ], [MODEL, [VENDOR, 'Archos'], [TYPE, MOBILE]], [\n\n // HMD\n /; (n159v)/i\n ], [MODEL, [VENDOR, 'HMD'], [TYPE, MOBILE]], [\n\n // MIXED\n /(imo) (tab \\w+)/i, // IMO\n /(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i // Infinix XPad / Tecno\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Tecno/Micromax/Advan\n /; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\\w\\+ ]+?)(?: bui|\\)|; r)/i, // BLU/HMD/IMO/Infinix/Lava/OnePlus/TCL\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(oppo) ?([\\w ]+) bui/i, // OPPO\n /droid[^;]+; (philips)[_ ]([sv-x][\\d]{3,4}[xz]?)/i // Philips\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(kobo)\\s(ereader|touch)/i, // Kobo\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i // Kindle\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /((?:tegranote|shield t(?!.+d tv))[\\w- ]*?)(?: b|\\))/i // Nvidia Tablets\n ], [MODEL, [VENDOR, NVIDIA], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /(philips)[\\w ]+tv/i, // Philips\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(vizio)(?: |.+model\\/)(\\w+-\\w+)/i, // Vizio\n /tcast.+(lg)e?. ([-\\w]+)/i // LG SmartTV\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey.*devicetype\\/chromecast/i // Google Chromecast Third Generation\n ], [[MODEL, CHROMECAST+' Third Generation'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /crkey.*devicetype\\/([^/]*)/i // Google Chromecast with specific device type\n ], [[MODEL, /^/, 'Chromecast '], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /fuchsia.*crkey/i // Google Chromecast Nest Hub\n ], [[MODEL, CHROMECAST+' Nest Hub'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast, Linux-based or unknown\n ], [[MODEL, CHROMECAST], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /(portaltv)/i // Facebook Portal TV\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, SMARTTV]], [\n /droid.+aft(\\w+)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /(shield \\w+ tv)/i // Nvidia Shield TV\n ], [MODEL, [VENDOR, NVIDIA], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i // Sharp\n ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\n /(bravia[\\w ]+)( bui|\\))/i // Sony\n ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\n /(mi(tv|box)-?\\w+) bui/i // Xiaomi\n ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\n /Hbbtv.*(technisat) (.*);/i // TechniSAT\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, /.+\\/(\\w+)/, '$1', strMapper, {'LG':'lge'}], [MODEL, trim], [TYPE, SMARTTV]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(playstation \\w+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n /(ouya)/i, // Ouya\n /(nintendo) (\\w+)/i, // Nintendo\n /(retroid) (pocket ([^\\)]+))/i // Retroid Pocket\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield)( bui|\\))/i // Nvidia Portable\n ], [MODEL, [VENDOR, NVIDIA], [TYPE, CONSOLE]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /\\b(sm-[lr]\\d\\d[0156][fnuw]?s?|gear live)\\b/i // Samsung Galaxy Watch\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]], [\n /((pebble))app/i, // Pebble\n /(asus|google|lg|oppo) ((pixel |zen)?watch[\\w ]*)( bui|\\))/i // Asus ZenWatch / LG Watch / Pixel Watch\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /(ow(?:19|20)?we?[1-3]{1,3})/i // Oppo Watch\n ], [MODEL, [VENDOR, OPPO], [TYPE, WEARABLE]], [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i // Apple Watch\n ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\n /(opwwe\\d{3})/i // OnePlus Watch\n ], [MODEL, [VENDOR, ONEPLUS], [TYPE, WEARABLE]], [\n /(moto 360)/i // Motorola 360\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, WEARABLE]], [\n /(smartwatch 3)/i // Sony SmartWatch\n ], [MODEL, [VENDOR, SONY], [TYPE, WEARABLE]], [\n /(g watch r)/i // LG G Watch R\n ], [MODEL, [VENDOR, LG], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n\n ///////////////////\n // XR\n ///////////////////\n\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, XR]], [\n /(pico) ([\\w ]+) os\\d/i // Pico\n ], [VENDOR, MODEL, [TYPE, XR]], [\n /(quest( \\d| pro)?s?).+vr/i // Meta Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, XR]], [\n /mobile vr; rv.+firefox/i // Unidentifiable VR device using Firefox Reality / Wolvic\n ], [[TYPE, XR]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n /(aeobc)\\b/i // Echo Dot\n ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\n /(homepod).+mac os/i // Apple HomePod\n ], [MODEL, [VENDOR, APPLE], [TYPE, EMBEDDED]], [\n /windows iot/i // Unidentifiable embedded device using Windows IoT\n ], [[TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid.+; ([\\w- ]+) (4k|android|smart|google)[- ]?tv/i // Unidentifiable SmartTV\n ], [MODEL, [TYPE, SMARTTV]], [\n /\\b((4k|android|smart|opera)[- ]?tv|tv; rv:|large screen[\\w ]+safari)\\b/i\n ], [[TYPE, SMARTTV]], [\n /droid .+?; ([^;]+?)(?: bui|; wv\\)|\\) applew).+?(mobile|vr|\\d) safari/i\n ], [MODEL, [TYPE, strMapper, { 'mobile' : 'Mobile', 'xr' : 'VR', '*' : TABLET }]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /droid .+?; ([\\w\\. -]+)( bui|\\))/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /(arkweb)\\/([\\w\\.]+)/i // ArkWeb\n ], [NAME, VERSION], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, // iCab\n\n /\\b(libweb)/i // LibWeb\n ], [NAME, VERSION], [\n /ladybird\\//i\n ], [[NAME, 'LibWeb']], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /(windows nt) (6\\.[23]); arm/i // Windows RT\n ], [[NAME, /N/, 'R'], [VERSION, strMapper, windowsVersionMap]], [\n /(windows (?:phone|mobile|iot))(?: os)?[\\/ ]?([\\d\\.]*( se)?)/i, // Windows IoT/Mobile/Phone\n // Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11\n /(windows)[\\/ ](1[01]|2000|3\\.1|7|8(\\.1)?|9[58]|me|server 20\\d\\d( r2)?|vista|xp)/i\n ], [NAME, VERSION], [\n /windows nt ?([\\d\\.\\)]*)(?!.+xbox)/i,\n /\\bwin(?=3| ?9|n)(?:nt| 9x )?([\\d\\.;]*)/i\n ], [[VERSION, /(;|\\))/g, '', strMapper, windowsVersionMap], [NAME, WINDOWS]], [\n /(windows ce)\\/?([\\d\\.]*)/i // Windows CE\n ], [NAME, VERSION], [\n\n // iOS/macOS\n /[adehimnop]{4,7}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+(haiku|morphos))/i // Mac OS\n ], [[NAME, 'macOS'], [VERSION, /_/g, '.']], [\n\n // Google Chromecast\n /android ([\\d\\.]+).*crkey/i // Google Chromecast, Android-based\n ], [VERSION, [NAME, CHROMECAST + ' Android']], [\n /fuchsia.*crkey\\/([\\d\\.]+)/i // Google Chromecast, Fuchsia-based\n ], [VERSION, [NAME, CHROMECAST + ' Fuchsia']], [\n /crkey\\/([\\d\\.]+).*devicetype\\/smartspeaker/i // Google Chromecast, Linux-based Smart Speaker\n ], [VERSION, [NAME, CHROMECAST + ' SmartSpeaker']], [\n /linux.*crkey\\/([\\d\\.]+)/i // Google Chromecast, Legacy Linux-based\n ], [VERSION, [NAME, CHROMECAST + ' Linux']], [\n /crkey\\/([\\d\\.]+)/i // Google Chromecast, unknown\n ], [VERSION, [NAME, CHROMECAST]], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86)/i // Android-x86\n ], [VERSION, NAME], [ \n /(ubuntu) ([\\w\\.]+) like android/i // Ubuntu Touch\n ], [[NAME, /(.+)/, '$1 Touch'], VERSION], [\n /(harmonyos)[\\/ ]?([\\d\\.]*)/i, // HarmonyOS\n // Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen\n /(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\\w*[-\\/\\.; ]?([\\d\\.]*)/i\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i, // WebOS\n /webos(?:[ \\/]?|\\.tv-20(?=2[2-9]))(\\d[\\d\\.]*)/i\n ], [VERSION, [NAME, 'webOS']], [\n /web0s;.+?(?:chr[o0]me|safari)\\/(\\d+)/i\n // https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine\n ], [[VERSION, strMapper, {'25':'120','24':'108','23':'94','22':'87','6':'79','5':'68','4':'53','3':'38','2':'538','1':'537','*':'TV'}], [NAME, 'webOS']], [ \n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i // watchOS\n ], [VERSION, [NAME, 'watchOS']], [\n\n // Google ChromeOS\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i // Chromium OS\n ], [[NAME, \"Chrome OS\"], VERSION],[\n\n // Smart TVs\n /panasonic;(viera)/i, // Panasonic Viera\n /(netrange)mmh/i, // Netrange\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, // NetTV\n\n // Console\n /(nintendo|playstation) (\\w+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n /(pico) .+os([\\w\\.]+)/i, // Pico\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /linux.+(mint)[\\/\\(\\) ]?([\\w\\.]*)/i, // Mint\n /(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\\d\\.]*)/i, // Mageia/VectorLinux/Fuchsia/ArcaOS/Arch\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire/Knoppix\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /\\b(aix)[; ]([1-9\\.]{0,4})/i, // AIX\n /(hurd|linux|morphos)(?: (?:arm|x86|ppc)\\w*| ?)([\\w\\.]*)/i, // Hurd/Linux/MorphOS\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) ?(r\\d)?/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\d\\.]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /\\b(beos|os\\/2|amigaos|openvms|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Factories\n ////////////////\n\n var defaultProps = (function () {\n var props = { init : {}, isIgnore : {}, isIgnoreRgx : {}, toString : {}};\n setProps.call(props.init, [\n [UA_BROWSER, [NAME, VERSION, MAJOR, TYPE]],\n [UA_CPU, [ARCHITECTURE]],\n [UA_DEVICE, [TYPE, MODEL, VENDOR]],\n [UA_ENGINE, [NAME, VERSION]],\n [UA_OS, [NAME, VERSION]]\n ]);\n setProps.call(props.isIgnore, [\n [UA_BROWSER, [VERSION, MAJOR]],\n [UA_ENGINE, [VERSION]],\n [UA_OS, [VERSION]]\n ]);\n setProps.call(props.isIgnoreRgx, [\n [UA_BROWSER, / ?browser$/i],\n [UA_OS, / ?os$/i]\n ]);\n setProps.call(props.toString, [\n [UA_BROWSER, [NAME, VERSION]],\n [UA_CPU, [ARCHITECTURE]],\n [UA_DEVICE, [VENDOR, MODEL]],\n [UA_ENGINE, [NAME, VERSION]],\n [UA_OS, [NAME, VERSION]]\n ]);\n return props;\n })();\n\n var createIData = function (item, itemType) {\n\n var init_props = defaultProps.init[itemType],\n is_ignoreProps = defaultProps.isIgnore[itemType] || 0,\n is_ignoreRgx = defaultProps.isIgnoreRgx[itemType] || 0,\n toString_props = defaultProps.toString[itemType] || 0;\n\n function IData () {\n setProps.call(this, init_props);\n }\n\n IData.prototype.getItem = function () {\n return item;\n };\n\n IData.prototype.withClientHints = function () {\n\n // nodejs / non-client-hints browsers\n if (!NAVIGATOR_UADATA) {\n return item\n .parseCH()\n .get();\n }\n\n // browsers based on chromium 85+\n return NAVIGATOR_UADATA\n .getHighEntropyValues(CH_ALL_VALUES)\n .then(function (res) {\n return item\n .setCH(new UACHData(res, false))\n .parseCH()\n .get();\n });\n };\n\n IData.prototype.withFeatureCheck = function () {\n return item.detectFeature().get();\n };\n\n if (itemType != UA_RESULT) {\n IData.prototype.is = function (strToCheck) {\n var is = false;\n for (var i in this) {\n if (this.hasOwnProperty(i) && !has(is_ignoreProps, i) && lowerize(is_ignoreRgx ? strip(is_ignoreRgx, this[i]) : this[i]) == lowerize(is_ignoreRgx ? strip(is_ignoreRgx, strToCheck) : strToCheck)) {\n is = true;\n if (strToCheck != UNDEF_TYPE) break;\n } else if (strToCheck == UNDEF_TYPE && is) {\n is = !is;\n break;\n }\n }\n return is;\n };\n IData.prototype.toString = function () {\n var str = EMPTY;\n for (var i in toString_props) {\n if (typeof(this[toString_props[i]]) !== UNDEF_TYPE) {\n str += (str ? ' ' : EMPTY) + this[toString_props[i]];\n }\n }\n return str || UNDEF_TYPE;\n };\n }\n\n if (!NAVIGATOR_UADATA) {\n IData.prototype.then = function (cb) { \n var that = this;\n var IDataResolve = function () {\n for (var prop in that) {\n if (that.hasOwnProperty(prop)) {\n this[prop] = that[prop];\n }\n }\n };\n IDataResolve.prototype = {\n is : IData.prototype.is,\n toString : IData.prototype.toString\n };\n var resolveData = new IDataResolve();\n cb(resolveData);\n return resolveData;\n };\n }\n\n return new IData();\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n function UACHData (uach, isHttpUACH) {\n uach = uach || {};\n setProps.call(this, CH_ALL_VALUES);\n if (isHttpUACH) {\n setProps.call(this, [\n [BRANDS, itemListToArray(uach[CH_HEADER])],\n [FULLVERLIST, itemListToArray(uach[CH_HEADER_FULL_VER_LIST])],\n [MOBILE, /\\?1/.test(uach[CH_HEADER_MOBILE])],\n [MODEL, stripQuotes(uach[CH_HEADER_MODEL])],\n [PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])],\n [PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])],\n [ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])],\n [FORMFACTORS, itemListToArray(uach[CH_HEADER_FORM_FACTORS])],\n [BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])]\n ]);\n } else {\n for (var prop in uach) {\n if(this.hasOwnProperty(prop) && typeof uach[prop] !== UNDEF_TYPE) this[prop] = uach[prop];\n }\n }\n }\n\n function UAItem (itemType, ua, rgxMap, uaCH) {\n\n this.get = function (prop) {\n if (!prop) return this.data;\n return this.data.hasOwnProperty(prop) ? this.data[prop] : undefined;\n };\n\n this.set = function (prop, val) {\n this.data[prop] = val;\n return this;\n };\n\n this.setCH = function (ch) {\n this.uaCH = ch;\n return this;\n };\n\n this.detectFeature = function () {\n if (NAVIGATOR && NAVIGATOR.userAgent == this.ua) {\n switch (this.itemType) {\n case UA_BROWSER:\n // Brave-specific detection\n if (NAVIGATOR.brave && typeof NAVIGATOR.brave.isBrave == FUNC_TYPE) {\n this.set(NAME, 'Brave');\n }\n break;\n case UA_DEVICE:\n // Chrome-specific detection: check for 'mobile' value of navigator.userAgentData\n if (!this.get(TYPE) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[MOBILE]) {\n this.set(TYPE, MOBILE);\n }\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n if (this.get(MODEL) == 'Macintosh' && NAVIGATOR && typeof NAVIGATOR.standalone !== UNDEF_TYPE && NAVIGATOR.maxTouchPoints && NAVIGATOR.maxTouchPoints > 2) {\n this.set(MODEL, 'iPad')\n .set(TYPE, TABLET);\n }\n break;\n case UA_OS:\n // Chrome-specific detection: check for 'platform' value of navigator.userAgentData\n if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM]) {\n this.set(NAME, NAVIGATOR_UADATA[PLATFORM]);\n }\n break;\n case UA_RESULT:\n var data = this.data;\n var detect = function (itemType) {\n return data[itemType]\n .getItem()\n .detectFeature()\n .get();\n };\n this.set(UA_BROWSER, detect(UA_BROWSER))\n .set(UA_CPU, detect(UA_CPU))\n .set(UA_DEVICE, detect(UA_DEVICE))\n .set(UA_ENGINE, detect(UA_ENGINE))\n .set(UA_OS, detect(UA_OS));\n }\n }\n return this;\n };\n\n this.parseUA = function () {\n if (this.itemType != UA_RESULT) {\n rgxMapper.call(this.data, this.ua, this.rgxMap);\n }\n if (this.itemType == UA_BROWSER) {\n this.set(MAJOR, majorize(this.get(VERSION)));\n }\n return this;\n };\n\n this.parseCH = function () {\n var uaCH = this.uaCH,\n rgxMap = this.rgxMap;\n \n switch (this.itemType) {\n case UA_BROWSER:\n case UA_ENGINE:\n var brands = uaCH[FULLVERLIST] || uaCH[BRANDS], prevName;\n if (brands) {\n for (var i=0; i<brands.length; i++) {\n var brandName = brands[i].brand || brands[i],\n brandVersion = brands[i].version;\n if (this.itemType == UA_BROWSER && \n !/not.a.brand/i.test(brandName) && \n (!prevName || \n (/Chrom/.test(prevName) && brandName != CHROMIUM) || \n (prevName == EDGE && /WebView2/.test(brandName))\n )) {\n brandName = strMapper(brandName, browserHintsMap);\n prevName = this.get(NAME);\n if (!(prevName && !/Chrom/.test(prevName) && /Chrom/.test(brandName))) {\n this.set(NAME, brandName)\n .set(VERSION, brandVersion)\n .set(MAJOR, majorize(brandVersion));\n }\n prevName = brandName;\n }\n if (this.itemType == UA_ENGINE && brandName == CHROMIUM) {\n this.set(VERSION, brandVersion);\n }\n }\n }\n break;\n case UA_CPU:\n var archName = uaCH[ARCHITECTURE];\n if (archName) {\n if (archName && uaCH[BITNESS] == '64') archName += '64';\n rgxMapper.call(this.data, archName + ';', rgxMap);\n }\n break;\n case UA_DEVICE:\n if (uaCH[MOBILE]) {\n this.set(TYPE, MOBILE);\n }\n if (uaCH[MODEL]) {\n this.set(MODEL, uaCH[MODEL]);\n if (!this.get(TYPE) || !this.get(VENDOR)) {\n var reParse = {};\n rgxMapper.call(reParse, 'droid 9; ' + uaCH[MODEL] + ')', rgxMap);\n if (!this.get(TYPE) && !!reParse.type) {\n this.set(TYPE, reParse.type);\n }\n if (!this.get(VENDOR) && !!reParse.vendor) {\n this.set(VENDOR, reParse.vendor);\n }\n }\n }\n if (uaCH[FORMFACTORS]) {\n var ff;\n if (typeof uaCH[FORMFACTORS] !== 'string') {\n var idx = 0;\n while (!ff && idx < uaCH[FORMFACTORS].length) {\n ff = strMapper(uaCH[FORMFACTORS][idx++], formFactorsMap);\n }\n } else {\n ff = strMapper(uaCH[FORMFACTORS], formFactorsMap);\n }\n this.set(TYPE, ff);\n }\n break;\n case UA_OS:\n var osName = uaCH[PLATFORM];\n if(osName) {\n var osVersion = uaCH[PLATFORMVER];\n if (osName == WINDOWS) osVersion = (parseInt(majorize(osVersion), 10) >= 13 ? '11' : '10');\n this.set(NAME, osName)\n .set(VERSION, osVersion);\n }\n // Xbox-Specific Detection\n if (this.get(NAME) == WINDOWS && uaCH[MODEL] == 'Xbox') {\n this.set(NAME, 'Xbox')\n .set(VERSION, undefined);\n } \n break;\n case UA_RESULT:\n var data = this.data;\n var parse = function (itemType) {\n return data[itemType]\n .getItem()\n .setCH(uaCH)\n .parseCH()\n .get();\n };\n this.set(UA_BROWSER, parse(UA_BROWSER))\n .set(UA_CPU, parse(UA_CPU))\n .set(UA_DEVICE, parse(UA_DEVICE))\n .set(UA_ENGINE, parse(UA_ENGINE))\n .set(UA_OS, parse(UA_OS));\n }\n return this;\n };\n\n setProps.call(this, [\n ['itemType', itemType],\n ['ua', ua],\n ['uaCH', uaCH],\n ['rgxMap', rgxMap],\n ['data', createIData(this, itemType)]\n ]);\n\n return this;\n }\n\n function UAParser (ua, extensions, headers) {\n\n if (typeof ua === OBJ_TYPE) {\n if (isExtensions(ua, true)) {\n if (typeof extensions === OBJ_TYPE) {\n headers = extensions; // case UAParser(extensions, headers) \n }\n extensions = ua; // case UAParser(extensions)\n } else {\n headers = ua; // case UAParser(headers)\n extensions = undefined;\n }\n ua = undefined;\n } else if (typeof ua === STR_TYPE && !isExtensions(extensions, true)) {\n headers = extensions; // case UAParser(ua, headers)\n extensions = undefined;\n }\n\n if (headers) {\n if (typeof headers.append === FUNC_TYPE) {\n // Convert Headers object into a plain object\n var kv = {};\n headers.forEach(function (v, k) { kv[String(k).toLowerCase()] = v; });\n headers = kv;\n } else {\n // Normalize headers field name into lowercase\n var normalized = {};\n for (var header in headers) {\n if (headers.hasOwnProperty(header)) {\n normalized[String(header).toLowerCase()] = headers[header];\n }\n }\n headers = normalized;\n }\n }\n \n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions, headers).getResult();\n }\n\n var userAgent = typeof ua === STR_TYPE ? ua : // Passed user-agent string\n (headers && headers[USER_AGENT] ? headers[USER_AGENT] : // User-Agent from passed headers\n ((NAVIGATOR && NAVIGATOR.userAgent) ? NAVIGATOR.userAgent : // navigator.userAgent\n EMPTY)), // empty string\n\n httpUACH = new UACHData(headers, true),\n regexMap = extensions ? \n extend(defaultRegexes, extensions) : \n defaultRegexes,\n\n createItemFunc = function (itemType) {\n if (itemType == UA_RESULT) {\n return function () {\n return new UAItem(itemType, userAgent, regexMap, httpUACH)\n .set('ua', userAgent)\n .set(UA_BROWSER, this.getBrowser())\n .set(UA_CPU, this.getCPU())\n .set(UA_DEVICE, this.getDevice())\n .set(UA_ENGINE, this.getEngine())\n .set(UA_OS, this.getOS())\n .get();\n };\n } else {\n return function () {\n return new UAItem(itemType, userAgent, regexMap[itemType], httpUACH)\n .parseUA()\n .get();\n };\n }\n };\n \n // public methods\n setProps.call(this, [\n ['getBrowser', createItemFunc(UA_BROWSER)],\n ['getCPU', createItemFunc(UA_CPU)],\n ['getDevice', createItemFunc(UA_DEVICE)],\n ['getEngine', createItemFunc(UA_ENGINE)],\n ['getOS', createItemFunc(UA_OS)],\n ['getResult', createItemFunc(UA_RESULT)],\n ['getUA', function () { return userAgent; }],\n ['setUA', function (ua) {\n if (isString(ua))\n userAgent = ua.length > UA_MAX_LENGTH ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n }]\n ])\n .setUA(userAgent);\n\n return this;\n }\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR, TYPE]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n export {UAParser};"],"names":[],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,IAAI,IAAI,UAAU,IAAI,OAAO;AAC7B,QAAQ,aAAa,GAAG,GAAG;AAC3B,QAAQ,UAAU,IAAI,YAAY;AAClC,QAAQ,KAAK,SAAS,EAAE;AACxB,QAAQ,OAAO,OAAO,GAAG;;AAEzB;AACA,QAAQ,SAAS,KAAK,UAAU;AAChC,QAAQ,UAAU,IAAI,WAAW;AACjC,QAAQ,QAAQ,MAAM,QAAQ;AAC9B,QAAQ,QAAQ,MAAM,QAAQ;;AAE9B;AACA,QAAQ,UAAU,IAAI,SAAS;AAC/B,QAAQ,MAAM,QAAQ,KAAK;AAC3B,QAAQ,SAAS,KAAK,QAAQ;AAC9B,QAAQ,SAAS,KAAK,QAAQ;AAC9B,QAAQ,KAAK,SAAS,IAAI;AAC1B,QAAQ,SAAS,KAAK,QAAQ;AAC9B;AACA,QAAQ,IAAI,UAAU,MAAM;AAC5B,QAAQ,IAAI,UAAU,MAAM;AAC5B,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,OAAO,OAAO,SAAS;AAC/B,QAAQ,YAAY,EAAE,cAAc;AACpC,QAAQ,KAAK,SAAS,OAAO;AAC7B,QAAQ,KAAK,SAAS,OAAO;;AAE7B;AACA,QAAQ,OAAO,OAAO,SAAS;AAC/B,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,OAAO,OAAO,SAAS;AAC/B,QAAQ,QAAQ,MAAM,UAAU;AAChC,QAAQ,EAAE,YAAY,IAAI;AAC1B,QAAQ,QAAQ,MAAM,UAAU;;AAEhC;AACA,QAAQ,KAAK,SAAS,OAAO;;AAE7B;AACA,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,WAAW,GAAG,aAAa;AACnC,QAAQ,WAAW,GAAG,iBAAiB;AACvC,QAAQ,QAAQ,MAAM,UAAU;AAChC,QAAQ,WAAW,GAAG,iBAAiB;AACvC,QAAQ,OAAO,OAAO,SAAS;AAC/B,QAAQ,SAAS,KAAK,WAAW;AACjC,QAAQ,uBAAuB,GAAG,SAAS,GAAG,oBAAoB;AAClE,QAAQ,cAAc,QAAQ,SAAS,GAAG,OAAO;AACjD,QAAQ,iBAAiB,KAAK,SAAS,GAAG,GAAG,GAAG,OAAO;AACvD,QAAQ,sBAAsB,GAAG,SAAS,GAAG,eAAe;AAC5D,QAAQ,gBAAgB,MAAM,SAAS,GAAG,GAAG,GAAG,MAAM;AACtD,QAAQ,eAAe,OAAO,SAAS,GAAG,GAAG,GAAG,KAAK;AACrD,QAAQ,kBAAkB,IAAI,SAAS,GAAG,GAAG,GAAG,QAAQ;AACxD,QAAQ,sBAAsB,GAAG,kBAAkB,GAAG,UAAU;AAChE,QAAQ,aAAa,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC;;AAE7H;AACA,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,KAAK,SAAS,OAAO;AAC7B,QAAQ,IAAI,UAAU,MAAM;AAC5B,QAAQ,UAAU,IAAI,YAAY;AAClC,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,KAAK,SAAS,OAAO;AAC7B,QAAQ,EAAE,YAAY,IAAI;AAC1B,QAAQ,SAAS,KAAK,WAAW;AACjC,QAAQ,QAAQ,MAAM,UAAU;AAChC,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,OAAO,OAAO,SAAS;AAC/B,QAAQ,IAAI,UAAU,MAAM;AAC5B,QAAQ,OAAO,OAAO,SAAS;AAC/B,QAAQ,KAAK,SAAS,OAAO;AAC7B,QAAQ,IAAI,UAAU,MAAM;AAC5B,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,KAAK,SAAS,OAAO;;AAE7B;AACA,QAAQ,MAAM,QAAQ,QAAQ;AAC9B,QAAQ,QAAQ,MAAM,UAAU;AAChC,QAAQ,UAAU,IAAI,YAAY;AAClC,QAAQ,IAAI,UAAU,MAAM;AAC5B,QAAQ,OAAO,OAAO,SAAS;AAC/B,QAAQ,KAAK,SAAS,OAAO;AAC7B,QAAQ,QAAQ,MAAM,UAAU;AAChC,QAAQ,KAAK,SAAS,OAAO;;AAE7B,QAAQ,aAAa,IAAI,SAAS;AAClC,QAAQ,cAAc,GAAG,UAAU;;AAEnC;AACA,QAAQ,OAAO,OAAO,SAAS;AAC/B;AACA,IAAI,IAAI,QAAQ,cAAc,OAAO,MAAM,KAAK,UAAU;AAC1D,QAAQ,SAAS,aAAa,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS;AAC3D,gCAAgC,MAAM,CAAC,SAAS;AAChD,gCAAgC,SAAS;AACzC,QAAQ,gBAAgB,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,aAAa;AACnE,gCAAgC,SAAS,CAAC,aAAa;AACvD,gCAAgC,SAAS;;AAEzC;AACA;AACA;;AAEA,IAAI,IAAI,MAAM,GAAG,UAAU,UAAU,EAAE,UAAU,EAAE;AACnD,YAAY,IAAI,SAAS,GAAG,EAAE;AAC9B,YAAY,IAAI,QAAQ,GAAG,UAAU;AACrC,YAAY,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;AAC3C,gBAAgB,QAAQ,GAAG,EAAE;AAC7B,gBAAgB,KAAK,IAAI,CAAC,IAAI,UAAU,EAAE;AAC1C,oBAAoB,KAAK,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;AACjD,wBAAwB,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC7F,oBAAoB;AACpB,gBAAgB;AAChB,YAAY;AACZ,YAAY,KAAK,IAAI,CAAC,IAAI,UAAU,EAAE;AACtC,gBAAgB,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;AAC9H,YAAY;AACZ,YAAY,OAAO,SAAS;AAC5B,QAAQ,CAAC;AACT,QAAQ,SAAS,GAAG,UAAU,GAAG,EAAE;AACnC,YAAY,IAAI,KAAK,GAAG,EAAE;AAC1B,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,gBAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACpD,YAAY;AACZ,YAAY,OAAO,KAAK;AACxB,QAAQ,CAAC;AACT,QAAQ,GAAG,GAAG,UAAU,IAAI,EAAE,IAAI,EAAE;AACpC,YAAY,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7D,gBAAgB,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;AACpC,oBAAoB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI;AACxE,gBAAgB;AAChB,gBAAgB,OAAO,KAAK;AAC5B,YAAY;AACZ,YAAY,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK;AAC5E,QAAQ,CAAC;AACT,QAAQ,YAAY,GAAG,UAAU,GAAG,EAAE,IAAI,EAAE;AAC5C,YAAY,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;AAClC,gBAAgB,OAAO,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;AAChH,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,QAAQ,GAAG,UAAU,GAAG,EAAE;AAClC,YAAY,OAAO,OAAO,GAAG,KAAK,QAAQ;AAC1C,QAAQ,CAAC;AACT,QAAQ,eAAe,GAAG,UAAU,MAAM,EAAE;AAC5C,YAAY,IAAI,CAAC,MAAM,EAAE,OAAO,SAAS;AACzC,YAAY,IAAI,GAAG,GAAG,EAAE;AACxB,YAAY,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3D,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpD,gBAAgB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE;AACjD,oBAAoB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5D,oBAAoB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;AACrE,gBAAgB,CAAC,MAAM;AACvB,oBAAoB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5C,gBAAgB;AAChB,YAAY;AACZ,YAAY,OAAO,GAAG;AACtB,QAAQ,CAAC;AACT,QAAQ,QAAQ,GAAG,UAAU,GAAG,EAAE;AAClC,YAAY,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG;AAC1D,QAAQ,CAAC;AACT,QAAQ,QAAQ,GAAG,UAAU,OAAO,EAAE;AACtC,YAAY,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;AAC3F,QAAQ,CAAC;AACT,QAAQ,QAAQ,GAAG,UAAU,GAAG,EAAE;AAClC,YAAY,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;AAC/B,gBAAgB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;;AAE5C,gBAAgB,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC;AACrC,gBAAgB,IAAI,OAAO,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;AACzE,oBAAoB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AACnD,gBAAgB,CAAC,MAAM;AACvB,oBAAoB,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS;AAC9C,gBAAgB;AAChB,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;AACT,QAAQ,KAAK,GAAG,UAAU,OAAO,EAAE,GAAG,EAAE;AACxC,YAAY,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,GAAG;AACpE,QAAQ,CAAC;AACT,QAAQ,WAAW,GAAG,UAAU,GAAG,EAAE;AACrC,YAAY,OAAO,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACxC,QAAQ,CAAC;AACT,QAAQ,IAAI,GAAG,UAAU,GAAG,EAAE,GAAG,EAAE;AACnC,YAAY,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC/B,gBAAgB,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;AAC1C,gBAAgB,OAAO,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC;AACxF,YAAY;AACZ,IAAI,CAAC;;AAEL;AACA;AACA;;AAEA,IAAI,IAAI,SAAS,GAAG,UAAU,EAAE,EAAE,MAAM,EAAE;;AAE1C,YAAY,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE;;AAE/B,YAAY,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK;;AAEjD;AACA,YAAY,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;;AAElD,gBAAgB,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AACrC,oBAAoB,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;;AAEzB;AACA,gBAAgB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;;AAErD,oBAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC;AAC5C,oBAAoB,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;AAEjD,oBAAoB,IAAI,CAAC,CAAC,OAAO,EAAE;AACnC,wBAAwB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3D,4BAA4B,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAChD,4BAA4B,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACxC;AACA,4BAA4B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACvE,gCAAgC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACpD,oCAAoC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE;AAClE;AACA,wCAAwC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC3E,oCAAoC,CAAC,MAAM;AAC3C;AACA,wCAAwC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACzD,oCAAoC;AACpC,gCAAgC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;AAC1D;AACA,oCAAoC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;AAChG,wCAAwC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1D,4CAA4C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;AACzG,wCAAwC,CAAC,MAAM;AAC/C;AACA,4CAA4C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;AACzG,wCAAwC;AACxC,oCAAoC,CAAC,MAAM;AAC3C,wCAAwC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;AAC3D;AACA,4CAA4C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;AACtG,wCAAwC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;AAClE,4CAA4C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;AACvH,wCAAwC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACjE,4CAA4C,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;AAC7I,wCAAwC;AACxC,oCAAoC;AACpC,gCAAgC;AAChC,4BAA4B,CAAC,MAAM;AACnC,gCAAgC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS;AACnE,4BAA4B;AAC5B,wBAAwB;AACxB,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB,CAAC,IAAI,CAAC;AACtB,YAAY;AACZ,QAAQ,CAAC;;AAET,QAAQ,SAAS,GAAG,UAAU,GAAG,EAAE,GAAG,EAAE;;AAExC,YAAY,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;AAC/B;AACA,gBAAgB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACrE,oBAAoB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5D,wBAAwB,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AACjD,4BAA4B,OAAO,CAAC,CAAC,KAAK,OAAO,IAAI,SAAS,GAAG,CAAC;AAClE,wBAAwB;AACxB,oBAAoB;AACpB,gBAAgB,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AAC7C,oBAAoB,OAAO,CAAC,CAAC,KAAK,OAAO,IAAI,SAAS,GAAG,CAAC;AAC1D,gBAAgB;AAChB,YAAY;AACZ,YAAY,OAAO,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG;AAC3D,IAAI,CAAC;;AAEL;AACA;AACA;;AAEA,IAAI,IAAI,iBAAiB,GAAG;AAC5B,YAAY,IAAI,MAAM,MAAM;AAC5B,YAAY,SAAS,EAAE,MAAM;AAC7B,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;AACrC,YAAY,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC;AACpC,YAAY,OAAO,GAAG,KAAK;AAC3B,YAAY,GAAG,OAAO,KAAK;AAC3B,YAAY,GAAG,OAAO,KAAK;AAC3B,YAAY,KAAK,KAAK,KAAK;AAC3B,YAAY,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;AACrC,YAAY,IAAI,MAAM;AACtB,SAAS;AACT;AACA,QAAQ,cAAc,GAAG;AACzB,YAAY,UAAU,IAAI,YAAY;AACtC,YAAY,QAAQ,MAAM,QAAQ;AAClC,YAAY,QAAQ,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC5C,YAAY,SAAS,KAAK,IAAI;AAC9B,YAAY,UAAU,IAAI,OAAO;AACjC,YAAY,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;AACtC,YAAY,GAAG,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC;AAChD,YAAY,GAAG,WAAW;AAC1B,SAAS;;AAET,QAAQ,eAAe,GAAG;AAC1B,YAAY,QAAQ,UAAU,eAAe;AAC7C,YAAY,MAAM,YAAY,gBAAgB;AAC9C,YAAY,eAAe,GAAG,yBAAyB;AACvD,YAAY,gBAAgB,EAAE,iBAAiB;AAC/C,YAAY,iBAAiB,CAAC,gBAAgB;AAC9C,YAAY,gBAAgB,EAAE,eAAe;AAC7C,YAAY,cAAc,IAAI,cAAc;AAC5C,YAAY,YAAY,MAAM,aAAa;AAC3C,YAAY,QAAQ,UAAU;AAC9B,KAAK;;AAEL;AACA;AACA;;AAEA,IAAI,IAAI,cAAc,GAAG;;AAEzB,QAAQ,OAAO,GAAG,CAAC;;AAEnB;AACA,YAAY,8BAA8B;AAC1C,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,CAAC,EAAE;AAC5D,YAAY,2BAA2B;AACvC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;AACnD,YAAY,6BAA6B;AACzC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE1C;AACA,YAAY,2BAA2B;AACvC,YAAY,kDAAkD;AAC9D,YAAY,yCAAyC;AACrD,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAChC,YAAY,uBAAuB;AACnC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;AACjD,YAAY,0BAA0B;AACtC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AAC/C,YAAY,mBAAmB;AAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;;AAEzC;AACA,YAAY,wDAAwD;AACpE,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC3C,YAAY,6CAA6C;AACzD,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE;AAC7C,YAAY,sBAAsB;AAClC,YAAY,sEAAsE;AAClF;AACA;AACA,YAAY,2DAA2D;AACvE,YAAY,0BAA0B;;AAEtC;AACA,YAAY,+PAA+P;AAC3Q;AACA,YAAY,0CAA0C;AACtD,YAAY,sCAAsC;AAClD,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAChC,YAAY,2BAA2B;AACvC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC3C,YAAY,mBAAmB;AAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,EAAE;AAChD,YAAY,mDAAmD;AAC/D,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE;AAC/C,YAAY,8BAA8B;AAC1C,YAAY,8BAA8B;AAC1C,YAAY,4BAA4B;AACxC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC5C,YAAY,uBAAuB;AACnC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE;AAC/C,YAAY,6CAA6C;AACzD,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;AACxC,YAAY,kCAAkC;AAC9C,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC5C,YAAY,uBAAuB;AACnC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE;AACtE,YAAY,yBAAyB;AACrC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,GAAG,cAAc,CAAC,EAAE,OAAO,CAAC,EAAE;AACxE,YAAY,qBAAqB;AACjC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;AACpD,YAAY,mBAAmB;AAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;AAClD,YAAY,wBAAwB;AACpC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE;AAC7C,YAAY,oBAAoB;AAChC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE;AAC7C,YAAY,mBAAmB;AAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;AAClD,YAAY,yBAAyB;AACrC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE;AAC3D,YAAY,oBAAoB;AAChC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE;AAC3D,YAAY,6BAA6B;AACzC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACzC,YAAY,oBAAoB;AAChC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,EAAE;AACvD,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,cAAc,CAAC,EAAE,OAAO,CAAC,EAAE;AACjE,YAAY,4BAA4B;AACxC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,EAAE;AACzD,YAAY,wBAAwB;AACpC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,CAAC,CAAC,EAAE;AACvD,YAAY,0BAA0B;AACtC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE;AACrD,YAAY,+BAA+B;AAC3C,YAAY,gDAAgD;AAC5D,YAAY,oEAAoE;AAChF,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAChC,YAAY,qBAAqB;AACjC,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE;AACvB,YAAY,iCAAiC;AAC7C,YAAY,kCAAkC;AAC9C,aAAa,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;;AAEhC;AACA,YAAY,6DAA6D;AACzE,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AAC3D,YAAY,sCAAsC;AAClD,YAAY,iCAAiC;AAC7C,YAAY,2BAA2B;AACvC,YAAY,2BAA2B;AACvC,YAAY,2BAA2B;AACvC,YAAY,4BAA4B;AACxC,YAAY,oCAAoC;AAChD,YAAY,6CAA6C;AACzD,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AAC/C,YAAY,8BAA8B;AAC1C,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACxD,YAAY,4CAA4C;AACxD,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AAC3D,YAAY,oBAAoB;AAChC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACtC,YAAY,qCAAqC;AACjD,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;;AAEjE,YAAY,4BAA4B;AACxC,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;;AAEhC,YAAY,kCAAkC;AAC9C,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;;AAEtD,YAAY,kCAAkC;AAC9C,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE;;AAEpD,YAAY,6BAA6B;AACzC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE;;AAErD,YAAY,yDAAyD;AACrE,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC,EAAE;;AAE9D,YAAY,2BAA2B;AACvC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,CAAC,EAAE;;AAE5D,YAAY,6DAA6D;AACzE,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;;AAEhC,YAAY,mDAAmD;AAC/D,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,CAAC,EAAE;AAC5D,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,CAAC,EAAE;AACnD,YAAY,kCAAkC;AAC9C,aAAa,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;AAChC,YAAY,8CAA8C;AAC1D,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE;;AAEvC,YAAY;AACZ,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;;AAEhC;AACA,YAAY,4CAA4C;AACxD,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;AAC3D,YAAY,sCAAsC;AAClD,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE;AAC9C,YAAY,gCAAgC;AAC5C,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAChC,YAAY,qCAAqC;AACjD,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE;AACtD,YAAY,4BAA4B;AACxC,YAAY,aAAa;AACzB,YAAY,6FAA6F;AACzG;AACA,YAAY,8FAA8F;AAC1G;AACA,YAAY,uBAAuB;AACnC,YAAY,0CAA0C;;AAEtD;AACA,YAAY,uHAAuH;AACnI;AACA,YAAY,wBAAwB;AACpC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE;AAC7C;AACA,YAAY,sBAAsB;AAClC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC;AACnD,SAAS;;AAET,QAAQ,GAAG,GAAG,CAAC;;AAEf,YAAY,mCAAmC;AAC/C,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,EAAE;;AAE1C,YAAY,cAAc;AAC1B,YAAY,0BAA0B;AACtC,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEzC,YAAY,qCAAqC;AACjD,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,EAAE;;AAE1C,YAAY,+BAA+B;AAC3C,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,EAAE;;AAE1C;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE;;AAExC,YAAY,eAAe;AAC3B,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,EAAE;AAC1C;AACA,YAAY,mGAAmG;AAC/G,YAAY,kCAAkC;AAC9C,YAAY,qCAAqC;AACjD,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC1D,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC;AACvC,SAAS;;AAET,QAAQ,MAAM,GAAG,CAAC;;AAElB;AACA;AACA;;AAEA;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC3D,YAAY,gEAAgE;AAC5E,YAAY,yCAAyC;AACrD,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE3D;AACA,YAAY,0CAA0C;AACtD,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACzD,YAAY,4BAA4B;AACxC,YAAY,mCAAmC;AAC/C,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACzD,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;;AAEzC;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEzD;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACzD,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEzD;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC1D,YAAY,2BAA2B;AACvC,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE1D;AACA,YAAY,uEAAuE;AACnF,YAAY,4CAA4C;AACxD,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEtE,YAAY,iDAAiD;AAC7D,YAAY,wBAAwB;AACpC,YAAY,sCAAsC;AAClD,YAAY,gDAAgD;AAC5D,YAAY,2DAA2D;AACvE,YAAY,2GAA2G;AACvH,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEvE;AACA,YAAY,4GAA4G;AACxH,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE3D;AACA,YAAY,qBAAqB;AACjC,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACxD,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAErI;AACA,YAAY,8DAA8D;AAC1E,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEzD;AACA,YAAY,0BAA0B;AACtC,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE1D;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE5D;AACA,YAAY,6IAA6I;AACzJ,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC1D,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE1D;AACA,YAAY,gFAAgF;AAC5F,YAAY,wCAAwC;AACpD,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC5D,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE5D;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACtD,YAAY,qDAAqD;AACjE,YAAY,qEAAqE;AACjF,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEtD;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAChD,YAAY,2CAA2C;AACvD,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE;;AAExE;AACA,YAAY,uBAAuB;AACnC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC1D;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC1D,YAAY;AACZ,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;;AAEhC;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACxD,YAAY,mBAAmB;AAC/B,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE3E;AACA,YAAY,cAAc;AAC1B,YAAY,wCAAwC;AACpD,YAAY,8BAA8B;AAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC1D,YAAY,+CAA+C;AAC3D,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEtF;AACA,YAAY,8BAA8B;AAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAChD,YAAY,+BAA+B;AAC3C,YAAY,gBAAgB;AAC5B,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE9D;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACxD,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAExD;AACA,YAAY,YAAY;AACxB,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACzD,YAAY,0CAA0C;;AAEtD;AACA,YAAY,mCAAmC;AAC/C,YAAY,+EAA+E;AAC3F,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE7D;AACA,YAAY,mBAAmB;AAC/B,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACzD,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEzD;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE;;AAEpH;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE1D;AACA,YAAY,6BAA6B;AACzC,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC3D;AACA;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE7D;AACA,YAAY,6BAA6B;AACzC,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE/D;AACA,YAAY,eAAe;AAC3B,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEzD;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE/D;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE7D;AACA,YAAY,8CAA8C;AAC1D,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC5D,YAAY,yBAAyB;AACrC,YAAY,8BAA8B;AAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAE5D;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEzD;AACA,YAAY,kBAAkB;AAC9B,YAAY,4EAA4E;AACxF,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEhD,YAAY,qIAAqI;AACjJ;AACA,YAAY,yEAAyE;AACrF,YAAY,kBAAkB;AAC9B,YAAY,6BAA6B;AACzC,YAAY,uBAAuB;AACnC,YAAY,kDAAkD;AAC9D,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEhD,YAAY,0BAA0B;AACtC,YAAY,sCAAsC;AAClD,YAAY,sBAAsB;AAClC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEhD,YAAY,gBAAgB;AAC5B,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC7D,YAAY,mCAAmC;AAC/C,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC/D,YAAY,sDAAsD;AAClE,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC1D,YAAY,iBAAiB;AAC7B,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAChD,YAAY,oBAAoB;AAChC,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AAC3E,YAAY,qDAAqD;AACjE,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACzD,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;;AAEzD;AACA;AACA;;AAEA,YAAY,oBAAoB;AAChC,YAAY,sBAAsB;AAClC,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC1C,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC9E,YAAY,kCAAkC;AAC9C,YAAY,0BAA0B;AACtC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACjD,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAChD,YAAY,cAAc;AAC1B,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAChE,YAAY,gCAAgC;AAC5C,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC7F,YAAY,6BAA6B;AACzC,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACjF,YAAY,iBAAiB;AAC7B,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACrF,YAAY,QAAQ;AACpB,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACzE,YAAY,aAAa;AACzB,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC7D,YAAY,2BAA2B;AACvC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC3D,YAAY,kBAAkB;AAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC3D,YAAY,sBAAsB;AAClC,YAAY,qBAAqB;AACjC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACzD,YAAY,0BAA0B;AACtC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACzD,YAAY,wBAAwB;AACpC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC3D,YAAY,2BAA2B;AACvC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACjD,YAAY,yCAAyC;AACrD,YAAY,2DAA2D;AACvE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;;AAEvG;AACA;AACA;;AAEA,YAAY,oBAAoB;AAChC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACzD,YAAY,oCAAoC;AAChD,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC9D,YAAY,SAAS;AACrB,YAAY,mBAAmB;AAC/B,YAAY,8BAA8B;AAC1C,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACjD,YAAY,6BAA6B;AACzC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;;AAE3D;AACA;AACA;;AAEA,YAAY,6CAA6C;AACzD,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC7D,YAAY,gBAAgB;AAC5B,YAAY,4DAA4D;AACxE,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAClD,YAAY,8BAA8B;AAC1C,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC1D,YAAY,sCAAsC;AAClD,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC3D,YAAY,eAAe;AAC3B,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC7D,YAAY,aAAa;AACzB,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC9D,YAAY,iBAAiB;AAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC1D,YAAY,cAAc;AAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AACxD,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;;AAE3D;AACA;AACA;;AAEA,YAAY,sBAAsB;AAClC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE;AACtD,YAAY,uBAAuB;AACnC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE;AAC5C,YAAY,2BAA2B;AACvC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE;AACxD,YAAY,yBAAyB;AACrC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE;;AAE7B;AACA;AACA;;AAEA,YAAY,sCAAsC;AAClD,aAAa,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC3C,YAAY,YAAY;AACxB,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC5D,YAAY,oBAAoB;AAChC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;AAC3D,YAAY,cAAc;AAC1B,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;;AAEnC;AACA;AACA;;AAEA,YAAY,sDAAsD;AAClE,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACzC,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAClC,YAAY;AACZ,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC,CAAC,EAAE;AAC/F,YAAY,8CAA8C;AAC1D,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACjC,YAAY,gEAAgE;AAC5E,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE;AACjC,YAAY,kCAAkC;AAC9C,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;AAC1C,SAAS;;AAET,QAAQ,MAAM,GAAG,CAAC;;AAElB,YAAY,4BAA4B;AACxC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;;AAE/C,YAAY,sBAAsB;AAClC,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;;AAEhC,YAAY,2CAA2C;AACvD,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;;AAE3C,YAAY,sBAAsB;AAClC,YAAY,2EAA2E;AACvF,YAAY,yBAAyB;AACrC,YAAY,wCAAwC;AACpD,YAAY,6BAA6B;;AAEzC,YAAY,aAAa;AACzB,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAChC,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE;;AAEnC,YAAY,+BAA+B;AAC3C,aAAa,EAAE,CAAC,OAAO,EAAE,IAAI;AAC7B,SAAS;;AAET,QAAQ,EAAE,GAAG,CAAC;;AAEd;AACA,YAAY,8BAA8B;AAC1C,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,EAAE;AAC5E,YAAY,8DAA8D;AAC1E;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAChC,YAAY,oCAAoC;AAChD,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC1F,YAAY,2BAA2B;AACvC,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;;AAEhC;AACA,YAAY,sDAAsD;AAClE,YAAY,2CAA2C;AACvD,YAAY;AACZ,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;AACtD,YAAY,yBAAyB;AACrC,YAAY,iDAAiD;AAC7D,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE;;AAExD;AACA,YAAY,2BAA2B;AACvC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,EAAE;AAC3D,YAAY,4BAA4B;AACxC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,EAAE;AAC3D,YAAY,6CAA6C;AACzD,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC,CAAC,EAAE;AAChE,YAAY,0BAA0B;AACtC,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAC,EAAE;AACzD,YAAY,mBAAmB;AAC/B,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE;;AAE9C;AACA,YAAY,sCAAsC;AAClD,aAAa,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;AAChC,YAAY,kCAAkC;AAC9C,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE;AACtD,YAAY,6BAA6B;AACzC;AACA,YAAY;AACZ,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAChC,YAAY,YAAY;AACxB,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE;AAC9C,YAAY,6DAA6D;AACzE,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE;AAC7C,YAAY,iFAAiF;AAC7F,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;AACjD,YAAY,sCAAsC;AAClD,YAAY;AACZ,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AAC3C,YAAY;AACZ;AACA,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;AACtK,YAAY,sCAAsC;AAClD,aAAa,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE;;AAE7C;AACA,YAAY,kCAAkC;AAC9C,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;;AAE9C;AACA,YAAY,oBAAoB;AAChC,YAAY,gBAAgB;AAC5B,YAAY,0BAA0B;;AAEtC;AACA,YAAY,+BAA+B;AAC3C,YAAY,0BAA0B;AACtC,YAAY,uBAAuB;;AAEnC;AACA,YAAY,uCAAuC;AACnD,YAAY,mCAAmC;AAC/C,YAAY,oEAAoE;AAChF,YAAY,ySAAyS;AACrT;AACA,YAAY,qCAAqC;AACjD,YAAY,4BAA4B;AACxC,YAAY,0DAA0D;AACtE,YAAY,mBAAmB;AAC/B,YAAY,4EAA4E;AACxF,YAAY,kBAAkB;AAC9B,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;AAChC,YAAY,qBAAqB;AACjC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE;AAC7C,YAAY,kDAAkD;AAC9D,YAAY,oBAAoB;AAChC,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO;AAC7B;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,IAAI,IAAI,YAAY,GAAG,CAAC,YAAY;AACpC,YAAY,IAAI,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC;AACpF,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;AACtC,gBAAgB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1D,gBAAgB,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC;AACxC,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAClD,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5C,gBAAgB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;AACvC,aAAa,CAAC;AACd,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC1C,gBAAgB,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,gBAAgB,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;AACtC,gBAAgB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;AACjC,aAAa,CAAC;AACd,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;AAC7C,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC;AAC3C,gBAAgB,CAAC,KAAK,EAAE,QAAQ;AAChC,aAAa,CAAC;AACd,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;AAC1C,gBAAgB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7C,gBAAgB,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC;AACxC,gBAAgB,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5C,gBAAgB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5C,gBAAgB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC;AACvC,aAAa,CAAC;AACd,YAAY,OAAO,KAAK;AACxB,IAAI,CAAC,GAAG;;AAER,IAAI,IAAI,WAAW,GAAG,UAAU,IAAI,EAAE,QAAQ,EAAE;;AAEhD,QAAQ,IAAI,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpD,YAAY,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjE,YAAY,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;AAClE,YAAY,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;;AAEjE,QAAQ,SAAS,KAAK,IAAI;AAC1B,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;AAC3C,QAAQ;;AAER,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY;AAC9C,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;;AAET,QAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,YAAY;;AAEtD;AACA,YAAY,IAAI,CAAC,gBAAgB,EAAE;AACnC,gBAAgB,OAAO;AACvB,yBAAyB,OAAO;AAChC,yBAAyB,GAAG,EAAE;AAC9B,YAAY;;AAEZ;AACA,YAAY,OAAO;AACnB,qBAAqB,oBAAoB,CAAC,aAAa;AACvD,qBAAqB,IAAI,CAAC,UAAU,GAAG,EAAE;AACzC,wBAAwB,OAAO;AAC/B,iCAAiC,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;AAC/D,iCAAiC,OAAO;AACxC,iCAAiC,GAAG,EAAE;AACtC,YAAY,CAAC,CAAC;AACd,QAAQ,CAAC;;AAET,QAAQ,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,YAAY;AACvD,YAAY,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE;AAC7C,QAAQ,CAAC;;AAET,QAAQ,IAAI,QAAQ,IAAI,SAAS,EAAE;AACnC,YAAY,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,UAAU,UAAU,EAAE;AACvD,gBAAgB,IAAI,EAAE,GAAG,KAAK;AAC9B,gBAAgB,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;AACpC,oBAAoB,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,EAAE;AACvN,wBAAwB,EAAE,GAAG,IAAI;AACjC,wBAAwB,IAAI,UAAU,IAAI,UAAU,EAAE;AACtD,oBAAoB,CAAC,MAAM,IAAI,UAAU,IAAI,UAAU,IAAI,EAAE,EAAE;AAC/D,wBAAwB,EAAE,GAAG,CAAC,EAAE;AAChC,wBAAwB;AACxB,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB,OAAO,EAAE;AACzB,YAAY,CAAC;AACb,YAAY,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AACnD,gBAAgB,IAAI,GAAG,GAAG,KAAK;AAC/B,gBAAgB,KAAK,IAAI,CAAC,IAAI,cAAc,EAAE;AAC9C,oBAAoB,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;AACxE,wBAAwB,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAC5E,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB,OAAO,GAAG,IAAI,UAAU;AACxC,YAAY,CAAC;AACb,QAAQ;;AAER,QAAQ,IAAI,CAAC,gBAAgB,EAAE;AAC/B,YAAY,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE;AACjD,gBAAgB,IAAI,IAAI,GAAG,IAAI;AAC/B,gBAAgB,IAAI,YAAY,GAAG,YAAY;AAC/C,oBAAoB,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE;AAC3C,wBAAwB,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AACvD,4BAA4B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AACnD,wBAAwB;AACxB,oBAAoB;AACpB,gBAAgB,CAAC;AACjB,gBAAgB,YAAY,CAAC,SAAS,GAAG;AACzC,oBAAoB,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE;AAC3C,oBAAoB,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;AAC/C,iBAAiB;AACjB,gBAAgB,IAAI,WAAW,GAAG,IAAI,YAAY,EAAE;AACpD,gBAAgB,EAAE,CAAC,WAAW,CAAC;AAC/B,gBAAgB,OAAO,WAAW;AAClC,YAAY,CAAC;AACb,QAAQ;;AAER,QAAQ,OAAO,IAAI,KAAK,EAAE;AAC1B,IAAI,CAAC;;AAEL;AACA;AACA;;AAEA,IAAI,SAAS,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE;AACzC,QAAQ,IAAI,GAAG,IAAI,IAAI,EAAE;AACzB,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;AAC1C,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;AAChC,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1D,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC7E,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC5D,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;AAC3D,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACjE,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACxE,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AACjE,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;AAC5E,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC9D,aAAa,CAAC;AACd,QAAQ,CAAC,MAAM;AACf,YAAY,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE;AACnC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AACzG,YAAY;AACZ,QAAQ;AACR,IAAI;;AAEJ,IAAI,SAAS,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;AAEjD,QAAQ,IAAI,CAAC,GAAG,GAAG,UAAU,IAAI,EAAE;AACnC,YAAY,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI;AACvC,YAAY,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS;AAC/E,QAAQ,CAAC;;AAET,QAAQ,IAAI,CAAC,GAAG,GAAG,UAAU,IAAI,EAAE,GAAG,EAAE;AACxC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;AACjC,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;;AAET,QAAQ,IAAI,CAAC,KAAK,GAAG,UAAU,EAAE,EAAE;AACnC,YAAY,IAAI,CAAC,IAAI,GAAG,EAAE;AAC1B,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;;AAET,QAAQ,IAAI,CAAC,aAAa,GAAG,YAAY;AACzC,YAAY,IAAI,SAAS,IAAI,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,EAAE;AAC7D,gBAAgB,QAAQ,IAAI,CAAC,QAAQ;AACrC,oBAAoB,KAAK,UAAU;AACnC;AACA,wBAAwB,IAAI,SAAS,CAAC,KAAK,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE;AAC5F,4BAA4B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;AACnD,wBAAwB;AACxB,wBAAwB;AACxB,oBAAoB,KAAK,SAAS;AAClC;AACA,wBAAwB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;AAC7F,4BAA4B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AAClD,wBAAwB;AACxB;AACA,wBAAwB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,UAAU,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,EAAE;AACnL,4BAA4B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM;AAClD,iCAAiC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AAClD,wBAAwB;AACxB,wBAAwB;AACxB,oBAAoB,KAAK,KAAK;AAC9B;AACA,wBAAwB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE;AAC/F,4BAA4B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACtE,wBAAwB;AACxB,wBAAwB;AACxB,oBAAoB,KAAK,SAAS;AAClC,wBAAwB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI;AAC5C,wBAAwB,IAAI,MAAM,GAAG,UAAU,QAAQ,EAAE;AACzD,4BAA4B,OAAO,IAAI,CAAC,QAAQ;AAChD,qCAAqC,OAAO;AAC5C,qCAAqC,aAAa;AAClD,qCAAqC,GAAG,EAAE;AAC1C,wBAAwB,CAAC;AACzB,wBAAwB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;AAC/D,6BAA6B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;AACvD,6BAA6B,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;AAC7D,6BAA6B,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;AAC7D,6BAA6B,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACtD;AACA,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;;AAET,QAAQ,IAAI,CAAC,OAAO,GAAG,YAAY;AACnC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;AAC5C,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;AAC/D,YAAY;AACZ,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU,EAAE;AAC7C,gBAAgB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5D,YAAY;AACZ,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;;AAET,QAAQ,IAAI,CAAC,OAAO,GAAG,YAAY;AACnC,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI;AAChC,gBAAgB,MAAM,GAAG,IAAI,CAAC,MAAM;AACpC;AACA,YAAY,QAAQ,IAAI,CAAC,QAAQ;AACjC,gBAAgB,KAAK,UAAU;AAC/B,gBAAgB,KAAK,SAAS;AAC9B,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ;AAC5E,oBAAoB,IAAI,MAAM,EAAE;AAChC,wBAAwB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5D,4BAA4B,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC;AACxE,gCAAgC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO;AAChE,4BAA4B,IAAI,IAAI,CAAC,QAAQ,IAAI,UAAU;AAC3D,gCAAgC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;AAC/D,iCAAiC,CAAC,QAAQ;AAC1C,qCAAqC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,QAAQ,CAAC;AACrF,qCAAqC,QAAQ,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;AACnF,iCAAiC,EAAE;AACnC,oCAAoC,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;AACrF,oCAAoC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7D,oCAAoC,IAAI,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;AAC3G,wCAAwC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS;AAChE,6CAA6C,GAAG,CAAC,OAAO,EAAE,YAAY;AACtE,6CAA6C,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC/E,oCAAoC;AACpC,oCAAoC,QAAQ,GAAG,SAAS;AACxD,4BAA4B;AAC5B,4BAA4B,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,SAAS,IAAI,QAAQ,EAAE;AACrF,gCAAgC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC;AAC/D,4BAA4B;AAC5B,wBAAwB;AACxB,oBAAoB;AACpB,oBAAoB;AACpB,gBAAgB,KAAK,MAAM;AAC3B,oBAAoB,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;AACrD,oBAAoB,IAAI,QAAQ,EAAE;AAClC,wBAAwB,IAAI,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,QAAQ,IAAI,IAAI;AAC/E,wBAAwB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,GAAG,EAAE,MAAM,CAAC;AACzE,oBAAoB;AACpB,oBAAoB;AACpB,gBAAgB,KAAK,SAAS;AAC9B,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE;AACtC,wBAAwB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AAC9C,oBAAoB;AACpB,oBAAoB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE;AACrC,wBAAwB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,wBAAwB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AAClE,4BAA4B,IAAI,OAAO,GAAG,EAAE;AAC5C,4BAA4B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC;AAC5F,4BAA4B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;AACnE,gCAAgC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;AAC5D,4BAA4B;AAC5B,4BAA4B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE;AACvE,gCAAgC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;AAChE,4BAA4B;AAC5B,wBAAwB;AACxB,oBAAoB;AACpB,oBAAoB,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE;AAC3C,wBAAwB,IAAI,EAAE;AAC9B,wBAAwB,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE;AACnE,4BAA4B,IAAI,GAAG,GAAG,CAAC;AACvC,4BAA4B,OAAO,CAAC,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE;AAC1E,gCAAgC,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,cAAc,CAAC;AACxF,4BAA4B;AAC5B,wBAAwB,CAAC,MAAM;AAC/B,4BAA4B,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;AAC7E,wBAAwB;AACxB,wBAAwB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;AAC1C,oBAAoB;AACpB,oBAAoB;AACpB,gBAAgB,KAAK,KAAK;AAC1B,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC/C,oBAAoB,GAAG,MAAM,EAAE;AAC/B,wBAAwB,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;AACzD,wBAAwB,IAAI,MAAM,IAAI,OAAO,EAAE,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAClH,wBAAwB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM;AAC7C,6BAA6B,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;AACpD,oBAAoB;AACpB;AACA,oBAAoB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE;AAC5E,wBAAwB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM;AAC7C,6BAA6B,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;AACpD,oBAAoB,CAAC;AACrB,oBAAoB;AACpB,gBAAgB,KAAK,SAAS;AAC9B,oBAAoB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI;AACxC,oBAAoB,IAAI,KAAK,GAAG,UAAU,QAAQ,EAAE;AACpD,wBAAwB,OAAO,IAAI,CAAC,QAAQ;AAC5C,iCAAiC,OAAO;AACxC,iCAAiC,KAAK,CAAC,IAAI;AAC3C,iCAAiC,OAAO;AACxC,iCAAiC,GAAG,EAAE;AACtC,oBAAoB,CAAC;AACrB,oBAAoB,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;AAC1D,yBAAyB,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;AAClD,yBAAyB,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;AACxD,yBAAyB,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;AACxD,yBAAyB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AACjD;AACA,YAAY,OAAO,IAAI;AACvB,QAAQ,CAAC;;AAET,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;AAC5B,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC;AAClC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;AACtB,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;AAC1B,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC9B,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;AAChD,SAAS,CAAC;;AAEV,QAAQ,OAAO,IAAI;AACnB,IAAI;;AAEJ,IAAI,SAAS,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE;;AAEhD,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AACpC,YAAY,IAAI,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE;AACxC,gBAAgB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AACpD,oBAAoB,OAAO,GAAG,UAAU,CAAC;AACzC,gBAAgB;AAChB,gBAAgB,UAAU,GAAG,EAAE,CAAC;AAChC,YAAY,CAAC,MAAM;AACnB,gBAAgB,OAAO,GAAG,EAAE,CAAC;AAC7B,gBAAgB,UAAU,GAAG,SAAS;AACtC,YAAY;AACZ,YAAY,EAAE,GAAG,SAAS;AAC1B,QAAQ,CAAC,MAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;AAC9E,YAAY,OAAO,GAAG,UAAU,CAAC;AACjC,YAAY,UAAU,GAAG,SAAS;AAClC,QAAQ;;AAER,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;AACrD;AACA,gBAAgB,IAAI,EAAE,GAAG,EAAE;AAC3B,gBAAgB,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,gBAAgB,OAAO,GAAG,EAAE;AAC5B,YAAY,CAAC,MAAM;AACnB;AACA,gBAAgB,IAAI,UAAU,GAAG,EAAE;AACnC,gBAAgB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;AAC5C,oBAAoB,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;AACxD,wBAAwB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;AAClF,oBAAoB;AACpB,gBAAgB;AAChB,gBAAgB,OAAO,GAAG,UAAU;AACpC,YAAY;AACZ,QAAQ;AACR;AACA,QAAQ,IAAI,EAAE,IAAI,YAAY,QAAQ,CAAC,EAAE;AACzC,YAAY,OAAO,IAAI,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE;AACpE,QAAQ;;AAER,QAAQ,IAAI,SAAS,GAAG,OAAO,EAAE,KAAK,QAAQ,GAAG,EAAE;AACnD,iCAAiC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;AACrF,iCAAiC,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,SAAS;AACzF,oCAAoC,KAAK,CAAC,CAAC;;AAE3C,YAAY,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;AAClD,YAAY,QAAQ,GAAG,UAAU;AACjC,wBAAwB,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC;AAC1D,wBAAwB,cAAc;;AAEtC,YAAY,cAAc,GAAG,UAAU,QAAQ,EAAE;AACjD,gBAAgB,IAAI,QAAQ,IAAI,SAAS,EAAE;AAC3C,oBAAoB,OAAO,YAAY;AACvC,wBAAwB,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;AACjF,qCAAqC,GAAG,CAAC,IAAI,EAAE,SAAS;AACxD,qCAAqC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;AACtE,qCAAqC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AAC9D,qCAAqC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AACpE,qCAAqC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AACpE,qCAAqC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AAC5D,qCAAqC,GAAG,EAAE;AAC1C,oBAAoB,CAAC;AACrB,gBAAgB,CAAC,MAAM;AACvB,oBAAoB,OAAO,YAAY;AACvC,wBAAwB,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ;AAC3F,qCAAqC,OAAO;AAC5C,qCAAqC,GAAG,EAAE;AAC1C,oBAAoB,CAAC;AACrB,gBAAgB;AAChB,YAAY,CAAC;AACb;AACA;AACA,QAAQ,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;AAC5B,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;AACtD,YAAY,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;AAC9C,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5C,YAAY,CAAC,WAAW,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;AACxD,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE;AACpC,gBAAgB,IAAI,QAAQ,CAAC,EAAE,CAAC;AAChC,oBAAoB,SAAS,GAAG,EAAE,CAAC,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,EAAE;AACxF,gBAAgB,OAAO,IAAI;AAC3B,YAAY,CAAC;AACb,SAAS;AACT,SAAS,KAAK,CAAC,SAAS,CAAC;;AAEzB,QAAQ,OAAO,IAAI;AACnB,IAAI;;AAEJ,IAAI,QAAQ,CAAC,OAAO,GAAG,UAAU;AACjC,IAAI,QAAQ,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/D,IAAI,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5G,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;;;;","x_google_ignoreList":[0]}