@allurereport/web-components 3.0.0-beta.8

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 (42) hide show
  1. package/README.md +62 -0
  2. package/dist/components/Button/index.d.ts +29 -0
  3. package/dist/components/Button/index.d.ts.map +1 -0
  4. package/dist/components/Counter/index.d.ts +10 -0
  5. package/dist/components/Counter/index.d.ts.map +1 -0
  6. package/dist/components/Label/index.d.ts +3 -0
  7. package/dist/components/Label/index.d.ts.map +1 -0
  8. package/dist/components/Link/index.d.ts +9 -0
  9. package/dist/components/Link/index.d.ts.map +1 -0
  10. package/dist/components/Loadable/index.d.ts +16 -0
  11. package/dist/components/Loadable/index.d.ts.map +1 -0
  12. package/dist/components/Menu/index.d.ts +37 -0
  13. package/dist/components/Menu/index.d.ts.map +1 -0
  14. package/dist/components/PageLoader/index.d.ts +2 -0
  15. package/dist/components/PageLoader/index.d.ts.map +1 -0
  16. package/dist/components/SearchBox/index.d.ts +11 -0
  17. package/dist/components/SearchBox/index.d.ts.map +1 -0
  18. package/dist/components/Spinner/index.d.ts +5 -0
  19. package/dist/components/Spinner/index.d.ts.map +1 -0
  20. package/dist/components/SuccessRatePieChart/index.d.ts +13 -0
  21. package/dist/components/SuccessRatePieChart/index.d.ts.map +1 -0
  22. package/dist/components/SvgIcon/index.d.ts +60 -0
  23. package/dist/components/SvgIcon/index.d.ts.map +1 -0
  24. package/dist/components/Toggle/index.d.ts +9 -0
  25. package/dist/components/Toggle/index.d.ts.map +1 -0
  26. package/dist/components/Tooltip/index.d.ts +14 -0
  27. package/dist/components/Tooltip/index.d.ts.map +1 -0
  28. package/dist/components/Typography/index.d.ts +28 -0
  29. package/dist/components/Typography/index.d.ts.map +1 -0
  30. package/dist/fonts/JetBrainsMono_vf.woff +0 -0
  31. package/dist/fonts/JetBrainsMono_vf.woff2 +0 -0
  32. package/dist/fonts/pt-root-ui_vf.woff +0 -0
  33. package/dist/fonts/pt-root-ui_vf.woff2 +0 -0
  34. package/dist/hooks/useDebouncedCallback.d.ts +2 -0
  35. package/dist/hooks/useDebouncedCallback.d.ts.map +1 -0
  36. package/dist/index.css +1 -0
  37. package/dist/index.d.ts +230 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +2 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/mixins.scss +50 -0
  42. package/package.json +140 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../.yarn/cache/preact-npm-10.24.0-1e922a9bf3-855506eedf.zip/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs","../../../.yarn/cache/clsx-npm-2.1.1-96125b98be-cdfb57fa6c.zip/node_modules/clsx/dist/clsx.mjs","../svg-sprites-virtual-module","../src/assets/svg/arrows-chevron-down.svg","../src/assets/svg/github.svg","../src/assets/svg/line-alerts-alert-circle.svg","../src/assets/svg/line-alerts-notification-box.svg","../src/assets/svg/line-arrows-chevron-down-double.svg","../src/assets/svg/line-arrows-chevron-down.svg","../src/assets/svg/line-arrows-chevron-right.svg","../src/assets/svg/line-arrows-chevron-up-double.svg","../src/assets/svg/line-arrows-chevron-up.svg","../src/assets/svg/line-arrows-corner-down-right.svg","../src/assets/svg/line-arrows-expand-3.svg","../src/assets/svg/line-arrows-refresh-ccw-1.svg","../src/assets/svg/line-arrows-sort-line-asc.svg","../src/assets/svg/line-arrows-sort-line-desc.svg","../src/assets/svg/line-arrows-switch-vertical-1.svg","../src/assets/svg/line-dev-bug-2.svg","../src/assets/svg/line-dev-code-square.svg","../src/assets/svg/line-files-file-attachment-2.svg","../src/assets/svg/line-general-check.svg","../src/assets/svg/line-general-checklist3.svg","../src/assets/svg/line-general-copy-3.svg","../src/assets/svg/line-general-download-cloud.svg","../src/assets/svg/line-general-equal.svg","../src/assets/svg/line-general-eye.svg","../src/assets/svg/line-general-home-line.svg","../src/assets/svg/line-general-link-1.svg","../src/assets/svg/line-general-link-external.svg","../src/assets/svg/line-general-search-md.svg","../src/assets/svg/line-general-settings-1.svg","../src/assets/svg/line-general-x-close.svg","../src/assets/svg/line-general-zap.svg","../src/assets/svg/line-helpers-flag.svg","../src/assets/svg/line-helpers-play-circle.svg","../src/assets/svg/line-icon-bomb-2.svg","../src/assets/svg/line-images-image.svg","../src/assets/svg/line-security-key.svg","../src/assets/svg/line-shapes-dot-circle.svg","../src/assets/svg/line-shapes-moon.svg","../src/assets/svg/line-shapes-sun.svg","../src/assets/svg/line-time-clock-stopwatch.svg","../src/assets/svg/report-logo.svg","../src/assets/svg/solid-alert-circle.svg","../src/assets/svg/solid-check-circle.svg","../src/assets/svg/solid-help-circle.svg","../src/assets/svg/solid-minus-circle.svg","../src/assets/svg/solid-x-circle.svg","../src/assets/svg/spinner.svg","../src/assets/svg/view-off.svg","../src/assets/svg/view.svg","../src/components/SvgIcon/index.tsx","../src/components/Spinner/index.tsx","../src/components/Typography/index.tsx","../src/components/Button/index.tsx","../../../.yarn/cache/@floating-ui-utils-npm-0.2.8-01a00634a5-3e3ea3b2de.zip/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../.yarn/cache/@floating-ui-core-npm-1.6.8-496cdfbb6e-87d52989c3.zip/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../.yarn/cache/@floating-ui-utils-npm-0.2.9-f2d9dffc79-0ca786347d.zip/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../.yarn/cache/@floating-ui-utils-npm-0.2.9-f2d9dffc79-0ca786347d.zip/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../.yarn/cache/@floating-ui-dom-npm-1.6.13-faaec36e87-4bb732baf3.zip/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../src/components/Tooltip/index.tsx","../src/components/Loadable/index.tsx","../src/components/PageLoader/index.tsx","../src/hooks/useDebouncedCallback.ts","../src/components/SearchBox/index.tsx","../src/components/Menu/index.tsx","../src/components/Counter/index.tsx","../src/components/Toggle/index.tsx","../src/components/Link/index.tsx","../src/components/SuccessRatePieChart/index.tsx","../src/components/Label/index.tsx"],"sourcesContent":["import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\"&quot;\";break;case 38:f=\"&amp;\";break;case 60:f=\"&lt;\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),_=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(_=\"px;\"),i=i+l+\":\"+a+_}}return e+'=\"'+i+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(t)+'\"'}function _(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=_(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,_ as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/* eslint-disable */\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar deepmerge = {exports: {}};\n\n(function (module, exports) {\n(function (root, factory) {\n {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n}(deepmerge));\n\nvar merge = deepmerge.exports;\n\n// \n// An event handler can take an optional event argument\n// and should not return a value\n \n// An array of all currently registered event handlers for a type\n \n// A map of event types and their corresponding event handlers.\n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberof mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nvar namespaces$1 = {exports: {}};\n\n(function (module, exports) {\nconst namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n}(namespaces$1, namespaces$1.exports));\n\nvar namespaces = namespaces$1.exports;\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nfunction objectToAttrsString (attrs) {\n return Object.keys(attrs).map((attr) => {\n const value = attrs[attr].toString().replace(/\"/g, '&quot;');\n return `${attr}=\"${value}\"`;\n }).join(' ');\n}\n\nconst { svg: svg$1, xlink: xlink$1 } = namespaces;\n\nconst defaultAttrs = {\n [svg$1.name]: svg$1.uri,\n [xlink$1.name]: xlink$1.uri\n};\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nfunction wrapInSvgString (content = '', attributes) {\n const attrs = merge(defaultAttrs, attributes || {});\n const attrsRendered = objectToAttrsString(attrs);\n return `<svg ${attrsRendered}>${content}</svg>`;\n}\n\nconst { svg, xlink } = namespaces;\n\nvar defaultConfig$1 = {\n attrs: {\n [svg.name]: svg.uri,\n [xlink.name]: xlink.uri,\n style: ['position: absolute', 'width: 0', 'height: 0'].join('; '),\n 'aria-hidden': 'true'\n }\n};\n\nclass Sprite {\n /**\n * @param {Object} [config]\n */\n constructor(config) {\n this.config = merge(defaultConfig$1, config || {});\n this.symbols = [];\n }\n\n /**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * @param {SpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\n add(symbol) {\n const { symbols } = this;\n const existing = this.find(symbol.id);\n\n if (existing) {\n symbols[symbols.indexOf(existing)] = symbol;\n return false;\n }\n\n symbols.push(symbol);\n return true;\n }\n\n /**\n * Remove symbol & destroy it\n * @param {string} id\n * @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise\n */\n remove(id) {\n const { symbols } = this;\n const symbol = this.find(id);\n\n if (symbol) {\n symbols.splice(symbols.indexOf(symbol), 1);\n symbol.destroy();\n return true;\n }\n\n return false;\n }\n\n /**\n * @param {string} id\n * @return {SpriteSymbol|null}\n */\n find(id) {\n return this.symbols.filter(s => s.id === id)[0] || null;\n }\n\n /**\n * @param {string} id\n * @return {boolean}\n */\n has(id) {\n return this.find(id) !== null;\n }\n\n /**\n * @return {string}\n */\n stringify() {\n const { attrs } = this.config;\n const stringifiedSymbols = this.symbols.map(s => s.stringify()).join('');\n return wrapInSvgString(stringifiedSymbols, attrs);\n }\n\n /**\n * @return {string}\n */\n toString() {\n return this.stringify();\n }\n\n destroy() {\n this.symbols.forEach(s => s.destroy());\n }\n}\n\nclass SpriteSymbol {\n constructor({ id, viewBox, content }) {\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n }\n\n /**\n * @return {string}\n */\n stringify() {\n return this.content;\n }\n\n /**\n * @return {string}\n */\n toString() {\n return this.stringify();\n }\n\n destroy() {\n ['id', 'viewBox', 'content'].forEach(prop => delete this[prop]);\n }\n}\n\n/**\n * @param {string} content\n * @return {Element}\n */\nfunction parse (content) {\n const hasImportNode = !!document.importNode;\n const doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n}\n\nclass BrowserSpriteSymbol extends SpriteSymbol {\n get isMounted() {\n return !!this.node;\n }\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n static createFromExistingNode(node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n }\n\n destroy() {\n if (this.isMounted) {\n this.unmount();\n }\n super.destroy();\n }\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n mount(target) {\n if (this.isMounted) {\n return this.node;\n }\n\n const mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n const node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n }\n\n /**\n * @return {Element}\n */\n render() {\n const content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n }\n\n unmount() {\n this.node.parentNode.removeChild(this.node);\n }\n}\n\nvar defaultConfig = {\n /**\n * Should following options be automatically configured:\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @type {boolean}\n */\n autoConfigure: true,\n\n /**\n * Default mounting selector\n * @type {string}\n */\n mountTo: 'body',\n\n /**\n * Fix disappearing SVG elements when <base href> exists.\n * Executes when sprite mounted.\n * @see http://stackoverflow.com/a/18265336/796152\n * @see https://github.com/everdimension/angular-svg-base-fix\n * @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466\n * @type {boolean}\n */\n syncUrlsWithBaseTag: false,\n\n /**\n * Should sprite listen custom location change event\n * @type {boolean}\n */\n listenLocationChangeEvent: true,\n\n /**\n * Custom window event name which should be emitted to update sprite urls\n * @type {string}\n */\n locationChangeEvent: 'locationChange',\n\n /**\n * Emit location change event in Angular automatically\n * @type {boolean}\n */\n locationChangeAngularEmitter: false,\n\n /**\n * Selector to find symbols usages when updating sprite urls\n * @type {string}\n */\n usagesToUpdate: 'use[*|href]',\n\n /**\n * Fix Firefox bug when gradients and patterns don't work if they are within a symbol.\n * Executes when sprite is rendered, but not mounted.\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364\n * @type {boolean}\n */\n moveGradientsOutsideSymbol: false\n};\n\n/**\n * @param {*} arrayLike\n * @return {Array}\n */\nfunction arrayFrom (arrayLike) {\n return Array.prototype.slice.call(arrayLike, 0);\n}\n\nvar browser = {\n isChrome: () => /chrome/i.test(navigator.userAgent),\n isFirefox: () => /firefox/i.test(navigator.userAgent),\n\n // https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx\n isIE: () => /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent),\n isEdge: () => /edge/i.test(navigator.userAgent)\n};\n\n/**\n * @param {string} name\n * @param {*} data\n */\nfunction dispatchEvent (name, data) {\n const event = document.createEvent('CustomEvent');\n event.initCustomEvent(name, false, false, data);\n window.dispatchEvent(event);\n}\n\n/**\n * IE doesn't evaluate <style> tags in SVGs that are dynamically added to the page.\n * This trick will trigger IE to read and use any existing SVG <style> tags.\n * @see https://github.com/iconic/SVGInjector/issues/23\n * @see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/\n *\n * @param {Element} node DOM Element to search <style> tags in\n * @return {Array<HTMLStyleElement>}\n */\nfunction evalStylesIEWorkaround (node) {\n const updatedNodes = [];\n\n arrayFrom(node.querySelectorAll('style'))\n .forEach((style) => {\n style.textContent += '';\n updatedNodes.push(style);\n });\n\n return updatedNodes;\n}\n\n/**\n * @param {string} [url] If not provided - current URL will be used\n * @return {string}\n */\nfunction getUrlWithoutFragment (url) {\n return (url || window.location.href).split('#')[0];\n}\n\n/* global angular */\n\n/**\n * @param {string} eventName\n */\nfunction locationChangeAngularEmitter (eventName) {\n angular.module('ng').run(['$rootScope', ($rootScope) => {\n $rootScope.$on('$locationChangeSuccess', (e, newUrl, oldUrl) => {\n dispatchEvent(eventName, { oldUrl, newUrl });\n });\n }]);\n}\n\nconst defaultSelector = 'linearGradient, radialGradient, pattern, mask, clipPath';\n\n/**\n * @param {Element} svg\n * @param {string} [selector]\n * @return {Element}\n */\nfunction moveGradientsOutsideSymbol (svg, selector = defaultSelector) {\n arrayFrom(svg.querySelectorAll('symbol')).forEach((symbol) => {\n arrayFrom(symbol.querySelectorAll(selector)).forEach((node) => {\n symbol.parentNode.insertBefore(node, symbol);\n });\n });\n return svg;\n}\n\n/**\n * @param {NodeList} nodes\n * @param {Function} [matcher]\n * @return {Attr[]}\n */\nfunction selectAttributes(nodes, matcher) {\n const attrs = arrayFrom(nodes).reduce((acc, node) => {\n if (!node.attributes) {\n return acc;\n }\n\n const arrayfied = arrayFrom(node.attributes);\n const matched = matcher ? arrayfied.filter(matcher) : arrayfied;\n return acc.concat(matched);\n }, []);\n\n return attrs;\n}\n\nconst xLinkNS = namespaces.xlink.uri;\nconst xLinkAttrName = 'xlink:href';\n\n// eslint-disable-next-line no-useless-escape\nconst specialUrlCharsPattern = /[{}|\\\\\\^\\[\\]`\"<>]/g;\n\nfunction encoder(url) {\n return url.replace(specialUrlCharsPattern, (match) => {\n return `%${match[0].charCodeAt(0).toString(16).toUpperCase()}`;\n });\n}\n\nfunction escapeRegExp(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n}\n\n/**\n * @param {NodeList} nodes\n * @param {string} startsWith\n * @param {string} replaceWith\n * @return {NodeList}\n */\nfunction updateReferences(nodes, startsWith, replaceWith) {\n arrayFrom(nodes).forEach((node) => {\n const href = node.getAttribute(xLinkAttrName);\n if (href && href.indexOf(startsWith) === 0) {\n const newUrl = href.replace(startsWith, replaceWith);\n node.setAttributeNS(xLinkNS, xLinkAttrName, newUrl);\n }\n });\n\n return nodes;\n}\n\n/**\n * List of SVG attributes to update url() target in them\n */\nconst attList = [\n 'clipPath',\n 'colorProfile',\n 'src',\n 'cursor',\n 'fill',\n 'filter',\n 'marker',\n 'markerStart',\n 'markerMid',\n 'markerEnd',\n 'mask',\n 'stroke',\n 'style'\n];\n\nconst attSelector = attList.map(attr => `[${attr}]`).join(',');\n\n/**\n * Update URLs in svg image (like `fill=\"url(...)\"`) and update referencing elements\n * @param {Element} svg\n * @param {NodeList} references\n * @param {string|RegExp} startsWith\n * @param {string} replaceWith\n * @return {void}\n *\n * @example\n * const sprite = document.querySelector('svg.sprite');\n * const usages = document.querySelectorAll('use');\n * updateUrls(sprite, usages, '#', 'prefix#');\n */\nfunction updateUrls (svg, references, startsWith, replaceWith) {\n const startsWithEncoded = encoder(startsWith);\n const replaceWithEncoded = encoder(replaceWith);\n\n const nodes = svg.querySelectorAll(attSelector);\n const attrs = selectAttributes(nodes, ({ localName, value }) => {\n return attList.indexOf(localName) !== -1 && value.indexOf(`url(${startsWithEncoded}`) !== -1;\n });\n\n attrs.forEach(attr => attr.value = attr.value.replace(new RegExp(escapeRegExp(startsWithEncoded), 'g'), replaceWithEncoded));\n updateReferences(references, startsWithEncoded, replaceWithEncoded);\n}\n\n/**\n * Internal emitter events\n * @enum\n * @private\n */\nconst Events = {\n MOUNT: 'mount',\n SYMBOL_MOUNT: 'symbol_mount'\n};\n\nclass BrowserSprite extends Sprite {\n constructor(cfg = {}) {\n super(merge(defaultConfig, cfg));\n\n const emitter = mitt();\n this._emitter = emitter;\n this.node = null;\n\n const { config } = this;\n\n if (config.autoConfigure) {\n this._autoConfigure(cfg);\n }\n\n if (config.syncUrlsWithBaseTag) {\n const baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\n emitter.on(Events.MOUNT, () => this.updateUrls('#', baseUrl));\n }\n\n const handleLocationChange = this._handleLocationChange.bind(this);\n this._handleLocationChange = handleLocationChange;\n\n // Provide way to update sprite urls externally via dispatching custom window event\n if (config.listenLocationChangeEvent) {\n window.addEventListener(config.locationChangeEvent, handleLocationChange);\n }\n\n // Emit location change event in Angular automatically\n if (config.locationChangeAngularEmitter) {\n locationChangeAngularEmitter(config.locationChangeEvent);\n }\n\n // After sprite mounted\n emitter.on(Events.MOUNT, (spriteNode) => {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(spriteNode);\n }\n });\n\n // After symbol mounted into sprite\n emitter.on(Events.SYMBOL_MOUNT, (symbolNode) => {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(symbolNode.parentNode);\n }\n\n if (browser.isIE() || browser.isEdge()) {\n evalStylesIEWorkaround(symbolNode);\n }\n });\n }\n\n /**\n * @return {boolean}\n */\n get isMounted() {\n return !!this.node;\n }\n\n /**\n * Automatically configure following options\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @param {Object} cfg\n * @private\n */\n _autoConfigure(cfg) {\n const { config } = this;\n\n if (typeof cfg.syncUrlsWithBaseTag === 'undefined') {\n config.syncUrlsWithBaseTag = typeof document.getElementsByTagName('base')[0] !== 'undefined';\n }\n\n if (typeof cfg.locationChangeAngularEmitter === 'undefined') {\n config.locationChangeAngularEmitter = typeof window.angular !== 'undefined';\n }\n\n if (typeof cfg.moveGradientsOutsideSymbol === 'undefined') {\n config.moveGradientsOutsideSymbol = browser.isFirefox();\n }\n }\n\n /**\n * @param {Event} event\n * @param {Object} event.detail\n * @param {string} event.detail.oldUrl\n * @param {string} event.detail.newUrl\n * @private\n */\n _handleLocationChange(event) {\n const { oldUrl, newUrl } = event.detail;\n this.updateUrls(oldUrl, newUrl);\n }\n\n /**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * If sprite already mounted - `symbol.mount(sprite.node)` will be called.\n * @fires Events#SYMBOL_MOUNT\n * @param {BrowserSpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\n add(symbol) {\n const sprite = this;\n const isNewSymbol = super.add(symbol);\n\n if (this.isMounted && isNewSymbol) {\n symbol.mount(sprite.node);\n this._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n }\n\n return isNewSymbol;\n }\n\n /**\n * Attach to existing DOM node\n * @param {string|Element} target\n * @return {Element|null} attached DOM Element. null if node to attach not found.\n */\n attach(target) {\n const sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n /** @type Element */\n const node = typeof target === 'string' ? document.querySelector(target) : target;\n sprite.node = node;\n\n // Already added symbols needs to be mounted\n this.symbols.forEach((symbol) => {\n symbol.mount(sprite.node);\n this._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n });\n\n // Create symbols from existing DOM nodes, add and mount them\n arrayFrom(node.querySelectorAll('symbol'))\n .forEach((symbolNode) => {\n const symbol = BrowserSpriteSymbol.createFromExistingNode(symbolNode);\n symbol.node = symbolNode; // hack to prevent symbol mounting to sprite when adding\n sprite.add(symbol);\n });\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n }\n\n destroy() {\n const { config, symbols, _emitter } = this;\n\n symbols.forEach(s => s.destroy());\n\n _emitter.off('*');\n window.removeEventListener(config.locationChangeEvent, this._handleLocationChange);\n\n if (this.isMounted) {\n this.unmount();\n }\n }\n\n /**\n * @fires Events#MOUNT\n * @param {string|Element} [target]\n * @param {boolean} [prepend=false]\n * @return {Element|null} rendered sprite node. null if mount node not found.\n */\n mount(target = this.config.mountTo, prepend = false) {\n const sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n const mountNode = typeof target === 'string' ? document.querySelector(target) : target;\n const node = sprite.render();\n this.node = node;\n\n if (prepend && mountNode.childNodes[0]) {\n mountNode.insertBefore(node, mountNode.childNodes[0]);\n } else {\n mountNode.appendChild(node);\n }\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n }\n\n /**\n * @return {Element}\n */\n render() {\n return parse(this.stringify());\n }\n\n /**\n * Detach sprite from the DOM\n */\n unmount() {\n this.node.parentNode.removeChild(this.node);\n }\n\n /**\n * Update URLs in sprite and usage elements\n * @param {string} oldUrl\n * @param {string} newUrl\n * @return {boolean} `true` - URLs was updated, `false` - sprite is not mounted\n */\n updateUrls(oldUrl, newUrl) {\n if (!this.isMounted) {\n return false;\n }\n\n const usages = document.querySelectorAll(this.config.usagesToUpdate);\n\n updateUrls(\n this.node,\n usages,\n `${getUrlWithoutFragment(oldUrl)}#`,\n `${getUrlWithoutFragment(newUrl)}#`\n );\n\n return true;\n }\n\n}\n\nconst spriteNodeId = '__SVG_SPRITE_NODE__';\nconst spriteGlobalVarName = '__SVG_SPRITE__';\n\nconst loadSprite = () => {\n /**\n * Check for page already contains sprite node\n * If found - attach to and reuse it's content\n * If not - render and mount the new sprite\n */\n const existing = document.getElementById(spriteNodeId);\n\n if (existing) {\n sprite.attach(existing);\n } else {\n sprite.mount(document.body, true);\n }\n};\n\n/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n */\nconst createDomReady = () => {\n var fns = [],\n listener,\n doc = document,\n hack = doc.documentElement.doScroll,\n domContentLoaded = 'DOMContentLoaded',\n loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n if (!loaded)\n doc.addEventListener(\n domContentLoaded,\n (listener = function () {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while ((listener = fns.shift())) listener();\n })\n );\n\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n }\n};\n\nlet sprite = new BrowserSprite({\n attrs: {\n id: spriteNodeId,\n 'aria-hidden': 'true'\n },\n autoConfigure: typeof document !== 'undefined',\n listenLocationChangeEvent: typeof window !== 'undefined'\n});\n\nconst init = () => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return\n }\n\n if (window[spriteGlobalVarName]) {\n sprite = window[spriteGlobalVarName];\n } else {\n window[spriteGlobalVarName] = sprite;\n }\n\n if (document.body) {\n loadSprite();\n } else {\n createDomReady()(loadSprite);\n }\n};\n\ninit();\n\nexport { BrowserSpriteSymbol as SpriteSymbol, sprite };\n","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"7e3aa6e8f105b74dd36141c94bfbc1eb\",\"content\":\"<symbol viewBox=\\\"0 0 12 12\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"7e3aa6e8f105b74dd36141c94bfbc1eb\\\">\\n <path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M9.554 4.47a.6.6 0 0 1-.13.654l-3 3a.6.6 0 0 1-.849 0l-3-3A.6.6 0 0 1 3 4.1h6a.6.6 0 0 1 .554.37Z\\\" fill=\\\"currentColor\\\" fill-opacity=\\\".56\\\" />\\n</symbol>\",\"viewBox\":\"0 0 12 12\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"b1d648a783b58a400b404192338f655e\",\"content\":\"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 98 96\\\" id=\\\"b1d648a783b58a400b404192338f655e\\\">\\n <path fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\" d=\\\"M48.85 0C21.84 0 0 22 0 49.22 0 70.97 14 89.39 33.4 95.9c2.43.49 3.32-1.06 3.32-2.37 0-1.14-.08-5.05-.08-9.12-13.59 2.93-16.42-5.87-16.42-5.87-2.18-5.7-5.42-7.17-5.42-7.17-4.45-3.01.33-3.01.33-3.01 4.93.32 7.52 5.05 7.52 5.05 4.37 7.5 11.4 5.38 14.23 4.07.4-3.18 1.7-5.38 3.08-6.6-10.84-1.14-22.25-5.38-22.25-24.28 0-5.38 1.94-9.78 5.02-13.2-.49-1.22-2.19-6.28.48-13.04 0 0 4.13-1.3 13.43 5.05a46.97 46.97 0 0 1 12.21-1.63c4.13 0 8.33.57 12.22 1.63 9.3-6.35 13.42-5.05 13.42-5.05 2.67 6.76.97 11.82.49 13.04a18.9 18.9 0 0 1 5.01 13.2c0 18.9-11.4 23.06-22.32 24.28 1.78 1.55 3.32 4.48 3.32 9.13 0 6.6-.08 11.9-.08 13.52 0 1.3.89 2.86 3.31 2.37a49.18 49.18 0 0 0 33.4-46.7C97.72 22 75.8 0 48.86 0z\\\" clip-rule=\\\"evenodd\\\" />\\n</symbol>\",\"viewBox\":\"0 0 98 96\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"97e840812207a4e85942a3d4cc9c425d\",\"content\":\"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 16 16\\\" id=\\\"97e840812207a4e85942a3d4cc9c425d\\\">\\n <g clip-path=\\\"url(#97e840812207a4e85942a3d4cc9c425d_a)\\\">\\n <path stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-opacity=\\\".56\\\" stroke-width=\\\"1.5\\\" d=\\\"M8 5.333V8m0 2.666h.006M14.666 8A6.667 6.667 0 1 1 1.333 8a6.667 6.667 0 0 1 13.333 0Z\\\" />\\n </g>\\n <defs>\\n <clipPath id=\\\"97e840812207a4e85942a3d4cc9c425d_a\\\">\\n <path fill=\\\"currentColor\\\" d=\\\"M0 0h16v16H0z\\\" />\\n </clipPath>\\n </defs>\\n</symbol>\",\"viewBox\":\"0 0 16 16\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"fd1fdbebd322c484b74d1ba8222ec72e\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"fd1fdbebd322c484b74d1ba8222ec72e\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M11 4H7.8C6.11984 4 5.27976 4 4.63803 4.32698C4.07354 4.6146 3.6146 5.07354 3.32698 5.63803C3 6.27976 3 7.11984 3 8.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21H15.2C16.8802 21 17.7202 21 18.362 20.673C18.9265 20.3854 19.3854 19.9265 19.673 19.362C20 18.7202 20 17.8802 20 16.2V13M20.1213 3.87868C21.2929 5.05025 21.2929 6.94975 20.1213 8.12132C18.9497 9.29289 17.0503 9.29289 15.8787 8.12132C14.7071 6.94975 14.7071 5.05025 15.8787 3.87868C17.0503 2.70711 18.9497 2.70711 20.1213 3.87868Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"6a0dfad9d21a9029d1e845251a03a91c\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"6a0dfad9d21a9029d1e845251a03a91c\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M7 13L12 18L17 13M7 6L12 11L17 6\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"6714b0a01cad0cd868b19137adbf8ef7\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"6714b0a01cad0cd868b19137adbf8ef7\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M6 9L12 15L18 9\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"d369105b52d959e0f31d7e56dae2612e\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"d369105b52d959e0f31d7e56dae2612e\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M9 18L15 12L9 6\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"0b66582bad1b04536ee18b4b8d9e9a30\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"0b66582bad1b04536ee18b4b8d9e9a30\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M17 18L12 13L7 18M17 11L12 6L7 11\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"7d421dfdc55a22c840e4f6e7f6d142f1\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"7d421dfdc55a22c840e4f6e7f6d142f1\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M18 15L12 9L6 15\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"a5aca797db351fc35e3c4b4d5d3a6673\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"a5aca797db351fc35e3c4b4d5d3a6673\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M4 4V5.4C4 8.76031 4 10.4405 4.65396 11.7239C5.2292 12.8529 6.14708 13.7708 7.27606 14.346C8.55953 15 10.2397 15 13.6 15H20M20 15L15 10M20 15L15 20\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"14ab32a1c041859dcf2a710b85f4e6bb\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"14ab32a1c041859dcf2a710b85f4e6bb\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M14 10L21 3M21 3H15M21 3V9M10 14L3 21M3 21H9M3 21L3 15\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"2df7897188ce65409ea57e820129bd3f\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"2df7897188ce65409ea57e820129bd3f\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M8.54636 19.7675C10.9455 20.8319 13.803 20.7741 16.2499 19.3613C20.3154 17.0141 21.7084 11.8156 19.3612 7.75008L19.1112 7.31706M4.63826 16.2502C2.29105 12.1847 3.68399 6.98619 7.74948 4.63898C10.1965 3.22621 13.0539 3.16841 15.4531 4.23277M2.49316 16.3338L5.22521 17.0659L5.95727 14.3338M18.0424 9.6659L18.7744 6.93385L21.5065 7.6659\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"2e896c815a6200a31f8b8e813ff3443b\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"2e896c815a6200a31f8b8e813ff3443b\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M4.5 18H19.5M4.5 12H15.5M4.5 6H12.5\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"9401086058a257018c5f11bd2d0f1699\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"9401086058a257018c5f11bd2d0f1699\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M4.5 6H19.5M4.5 12C6.45262 12 13.5474 12 15.5 12M4.5 18L12.5 18\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"b46ed421558c23c2bc56040f64fea542\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"b46ed421558c23c2bc56040f64fea542\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M7 4V20M7 20L3 16M7 20L11 16M17 20V4M17 4L13 8M17 4L21 8\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"c2b90d2236acecf4ea15dfe9c6962306\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"c2b90d2236acecf4ea15dfe9c6962306\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M2.5 7L5 9.5M2.5 20.5L5.5 17.5M1.5 13.5H4.6213M19 13.5H22.5M19 9.5L21.5 7M18.5 17.5L21.5 20.5M8 7.5V6.5C8 4.29086 9.7908 2.5 12 2.5C14.2092 2.5 16 4.29086 16 6.5V7.5M12 21.5C8.13401 21.5 5 18.366 5 14.5V11.4999C5 10.3829 5 9.82428 5.15712 9.37516C5.43856 8.57093 6.07093 7.93856 6.87522 7.65712C7.32427 7.5 7.88284 7.5 9 7.5H15.0001C16.1171 7.5 16.6757 7.5 17.1248 7.65712C17.9291 7.93856 18.5614 8.57093 18.8429 9.37516C19 9.82428 19 10.3829 19 11.4999V14.5C19 18.366 15.866 21.5 12 21.5Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"11fffc2467a7bbf0274413a1ad37dc9f\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"11fffc2467a7bbf0274413a1ad37dc9f\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M14.5 15L17.5 12L14.5 9M9.5 9L6.5 12L9.5 15M7.8 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V7.8C21 6.11984 21 5.27976 20.673 4.63803C20.3854 4.07354 19.9265 3.6146 19.362 3.32698C18.7202 3 17.8802 3 16.2 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"301433459aced022caf70a344436a818\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"301433459aced022caf70a344436a818\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M20 7V6.8C20 5.11984 20 4.27976 19.673 3.63803C19.3854 3.07354 18.9265 2.6146 18.362 2.32698C17.7202 2 16.8802 2 15.2 2H8.8C7.11984 2 6.27976 2 5.63803 2.32698C5.07354 2.6146 4.6146 3.07354 4.32698 3.63803C4 4.27976 4 5.11984 4 6.8V17.2C4 18.8802 4 19.7202 4.32698 20.362C4.6146 20.9265 5.07354 21.3854 5.63803 21.673C6.27976 22 7.11984 22 8.8 22H12.5M12.5 11H8M11.5 15H8M16 7H8M18 18V12.5C18 11.6716 18.6716 11 19.5 11C20.3284 11 21 11.6716 21 12.5V18C21 19.6569 19.6569 21 18 21C16.3431 21 15 19.6569 15 18V14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"fcf877cdf00a9154483271d31c261114\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"fcf877cdf00a9154483271d31c261114\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M20 6L9 17L4 12\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"1bc28c2f0dfd279d91231ef6e553e638\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"1bc28c2f0dfd279d91231ef6e553e638\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M13 5H21M13 9H18M13 15H21M13 19H18M3 17.012L4.99133 19L9 15M4 4H8C8.55228 4 9 4.44772 9 5V9C9 9.55228 8.55228 10 8 10H4C3.44772 10 3 9.55228 3 9V5C3 4.44772 3.44772 4 4 4Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"472a7e86c3a9476a4f38bb06c801d30d\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"472a7e86c3a9476a4f38bb06c801d30d\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M5 15C4.06812 15 3.60218 15 3.23463 14.8478C2.74458 14.6448 2.35523 14.2554 2.15224 13.7654C2 13.3978 2 12.9319 2 12V5.2C2 4.0799 2 3.51984 2.21799 3.09202C2.40973 2.71569 2.71569 2.40973 3.09202 2.21799C3.51984 2 4.0799 2 5.2 2H12C12.9319 2 13.3978 2 13.7654 2.15224C14.2554 2.35523 14.6448 2.74458 14.8478 3.23463C15 3.60218 15 4.06812 15 5M12.2 22H18.8C19.9201 22 20.4802 22 20.908 21.782C21.2843 21.5903 21.5903 21.2843 21.782 20.908C22 20.4802 22 19.9201 22 18.8V12.2C22 11.0799 22 10.5198 21.782 10.092C21.5903 9.71569 21.2843 9.40973 20.908 9.21799C20.4802 9 19.9201 9 18.8 9H12.2C11.0799 9 10.5198 9 10.092 9.21799C9.71569 9.40973 9.40973 9.71569 9.21799 10.092C9 10.5198 9 11.0799 9 12.2V18.8C9 19.9201 9 20.4802 9.21799 20.908C9.40973 21.2843 9.71569 21.5903 10.092 21.782C10.5198 22 11.0799 22 12.2 22Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"0e6dd40015c633a2be9271018b9b22bf\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"0e6dd40015c633a2be9271018b9b22bf\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M4 16.2422C2.79401 15.435 2 14.0602 2 12.5C2 10.1564 3.79151 8.23129 6.07974 8.01937C6.54781 5.17213 9.02024 3 12 3C14.9798 3 17.4522 5.17213 17.9203 8.01937C20.2085 8.23129 22 10.1564 22 12.5C22 14.0602 21.206 15.435 20 16.2422M8 17L12 21M12 21L16 17M12 21V12\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"dacf24b7c84e8a250ab378b98cf65780\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"dacf24b7c84e8a250ab378b98cf65780\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M5 9H19M5 15H19\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"f6af8233c5d208fa571aed090bfc4178\",\"content\":\"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 16 16\\\" id=\\\"f6af8233c5d208fa571aed090bfc4178\\\">\\n <path stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-opacity=\\\".56\\\" stroke-width=\\\"1.5\\\" d=\\\"M1.613 8.475c-.09-.144-.136-.216-.161-.326a.782.782 0 0 1 0-.298c.025-.111.07-.183.161-.327C2.363 6.336 4.597 3.333 8 3.333c3.404 0 5.637 3.003 6.387 4.191.09.144.136.216.162.327.019.083.019.214 0 .298-.026.11-.071.182-.162.326-.75 1.188-2.983 4.191-6.387 4.191-3.403 0-5.636-3.003-6.387-4.19Z\\\" />\\n <path stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-opacity=\\\".56\\\" stroke-width=\\\"1.5\\\" d=\\\"M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z\\\" />\\n</symbol>\",\"viewBox\":\"0 0 16 16\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"e2bf3103166453fd92fed1c3c2fcc807\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"e2bf3103166453fd92fed1c3c2fcc807\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M8 17H16M11.0177 2.764L4.23539 8.03912C3.78202 8.39175 3.55534 8.56806 3.39203 8.78886C3.24737 8.98444 3.1396 9.20478 3.07403 9.43905C3 9.70352 3 9.9907 3 10.5651V17.8C3 18.9201 3 19.4801 3.21799 19.908C3.40973 20.2843 3.71569 20.5903 4.09202 20.782C4.51984 21 5.07989 21 6.2 21H17.8C18.9201 21 19.4802 21 19.908 20.782C20.2843 20.5903 20.5903 20.2843 20.782 19.908C21 19.4801 21 18.9201 21 17.8V10.5651C21 9.9907 21 9.70352 20.926 9.43905C20.8604 9.20478 20.7526 8.98444 20.608 8.78886C20.4447 8.56806 20.218 8.39175 19.7646 8.03913L12.9823 2.764C12.631 2.49075 12.4553 2.35412 12.2613 2.3016C12.0902 2.25526 11.9098 2.25526 11.7387 2.3016C11.5447 2.35412 11.369 2.49075 11.0177 2.764Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"db4c3937a96a0ed2c4446a44d3ed4487\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"db4c3937a96a0ed2c4446a44d3ed4487\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M10.0002 13C10.4297 13.5741 10.9776 14.0491 11.6067 14.3929C12.2359 14.7367 12.9317 14.9411 13.6468 14.9923C14.362 15.0435 15.0798 14.9403 15.7515 14.6897C16.4233 14.4392 17.0333 14.047 17.5402 13.54L20.5402 10.54C21.451 9.59695 21.955 8.33394 21.9436 7.02296C21.9322 5.71198 21.4063 4.45791 20.4793 3.53087C19.5523 2.60383 18.2982 2.07799 16.9872 2.0666C15.6762 2.0552 14.4132 2.55918 13.4702 3.46997L11.7502 5.17997M14.0002 11C13.5707 10.4258 13.0228 9.95078 12.3936 9.60703C11.7645 9.26327 11.0687 9.05885 10.3535 9.00763C9.63841 8.95641 8.92061 9.0596 8.24885 9.31018C7.5771 9.56077 6.96709 9.9529 6.4602 10.46L3.4602 13.46C2.54941 14.403 2.04544 15.666 2.05683 16.977C2.06822 18.288 2.59407 19.542 3.52111 20.4691C4.44815 21.3961 5.70221 21.9219 7.01319 21.9333C8.32418 21.9447 9.58719 21.4408 10.5302 20.53L12.2402 18.82\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"f346781556394af2bd92144ed8a81446\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"f346781556394af2bd92144ed8a81446\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M21 9L21 3M21 3H15M21 3L13 11M10 5H7.8C6.11984 5 5.27976 5 4.63803 5.32698C4.07354 5.6146 3.6146 6.07354 3.32698 6.63803C3 7.27976 3 8.11984 3 9.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21H14.2C15.8802 21 16.7202 21 17.362 20.673C17.9265 20.3854 18.3854 19.9265 18.673 19.362C19 18.7202 19 17.8802 19 16.2V14\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"eb91e2adaaf820e51d7f9276a36ae9bc\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"eb91e2adaaf820e51d7f9276a36ae9bc\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M21 21L16.65 16.65M19 11C19 15.4183 15.4183 19 11 19C6.58172 19 3 15.4183 3 11C3 6.58172 6.58172 3 11 3C15.4183 3 19 6.58172 19 11Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"a3d8dc7d008afa216e105f1d0e428c8a\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"a3d8dc7d008afa216e105f1d0e428c8a\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M3 8L15 8M15 8C15 9.65686 16.3431 11 18 11C19.6569 11 21 9.65685 21 8C21 6.34315 19.6569 5 18 5C16.3431 5 15 6.34315 15 8ZM9 16L21 16M9 16C9 17.6569 7.65685 19 6 19C4.34315 19 3 17.6569 3 16C3 14.3431 4.34315 13 6 13C7.65685 13 9 14.3431 9 16Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"00720afc1b6bf51893d1d598043a4de1\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"00720afc1b6bf51893d1d598043a4de1\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M18 6L6 18M6 6L18 18\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"72dc6b01e3eb761c8218eb9909e841a6\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"72dc6b01e3eb761c8218eb9909e841a6\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M12.9999 2L4.09332 12.6879C3.74451 13.1064 3.57011 13.3157 3.56744 13.4925C3.56512 13.6461 3.63359 13.7923 3.75312 13.8889C3.89061 14 4.16304 14 4.7079 14H11.9999L10.9999 22L19.9064 11.3121C20.2552 10.8936 20.4296 10.6843 20.4323 10.5075C20.4346 10.3539 20.3661 10.2077 20.2466 10.1111C20.1091 10 19.8367 10 19.2918 10H11.9999L12.9999 2Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"2b588854ea2eb02a33849edc6074ba47\",\"content\":\"<symbol fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 16 16\\\" id=\\\"2b588854ea2eb02a33849edc6074ba47\\\">\\n <path d=\\\"M2.667 10s.667-.667 2.667-.667c2 0 3.333 1.333 5.333 1.333S13.334 10 13.334 10V2s-.667.666-2.667.666c-2 0-3.333-1.333-5.333-1.333S2.667 2 2.667 2v12.666\\\" stroke=\\\"currentColor\\\" stroke-opacity=\\\".72\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 16 16\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"e7a5450a50d9dbdceccdc513ec1c2df5\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"e7a5450a50d9dbdceccdc513ec1c2df5\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M9.5 8.96533C9.5 8.48805 9.5 8.24941 9.59974 8.11618C9.68666 8.00007 9.81971 7.92744 9.96438 7.9171C10.1304 7.90525 10.3311 8.03429 10.7326 8.29239L15.4532 11.3271C15.8016 11.551 15.9758 11.663 16.0359 11.8054C16.0885 11.9298 16.0885 12.0702 16.0359 12.1946C15.9758 12.337 15.8016 12.449 15.4532 12.6729L10.7326 15.7076C10.3311 15.9657 10.1304 16.0948 9.96438 16.0829C9.81971 16.0726 9.68666 15.9999 9.59974 15.8838C9.5 15.7506 9.5 15.512 9.5 15.0347V8.96533Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"212b7cc7454a8f2131b99a6dc35cdac7\",\"content\":\"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 16 16\\\" id=\\\"212b7cc7454a8f2131b99a6dc35cdac7\\\">\\n <g clip-path=\\\"url(#212b7cc7454a8f2131b99a6dc35cdac7_a)\\\">\\n <path stroke=\\\"currentColor\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-opacity=\\\".56\\\" stroke-width=\\\"1.5\\\" d=\\\"m9.566 3.1 1.3-1.3a1.607 1.607 0 0 1 2.267 0L14.2 2.867a1.6 1.6 0 0 1 0 2.266l-1.3 1.3m1.766-5.1-1 1m-.333 6.334a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z\\\" />\\n </g>\\n <defs>\\n <clipPath id=\\\"212b7cc7454a8f2131b99a6dc35cdac7_a\\\">\\n <path fill=\\\"currentColor\\\" d=\\\"M0 0h16v16H0z\\\" />\\n </clipPath>\\n </defs>\\n</symbol>\",\"viewBox\":\"0 0 16 16\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"d509e5a11013615ea9a30a430727409d\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"d509e5a11013615ea9a30a430727409d\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M16.2 21H6.93137C6.32555 21 6.02265 21 5.88238 20.8802C5.76068 20.7763 5.69609 20.6203 5.70865 20.4608C5.72312 20.2769 5.93731 20.0627 6.36569 19.6343L14.8686 11.1314C15.2646 10.7354 15.4627 10.5373 15.691 10.4632C15.8918 10.3979 16.1082 10.3979 16.309 10.4632C16.5373 10.5373 16.7354 10.7354 17.1314 11.1314L21 15V16.2M16.2 21C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2M16.2 21H7.8C6.11984 21 5.27976 21 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3 18.7202 3 17.8802 3 16.2V7.8C3 6.11984 3 5.27976 3.32698 4.63803C3.6146 4.07354 4.07354 3.6146 4.63803 3.32698C5.27976 3 6.11984 3 7.8 3H16.2C17.8802 3 18.7202 3 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C21 5.27976 21 6.11984 21 7.8V16.2M10.5 8.5C10.5 9.60457 9.60457 10.5 8.5 10.5C7.39543 10.5 6.5 9.60457 6.5 8.5C6.5 7.39543 7.39543 6.5 8.5 6.5C9.60457 6.5 10.5 7.39543 10.5 8.5Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"2cfef4a6ca3bcab80737e78fa35a1e8e\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"2cfef4a6ca3bcab80737e78fa35a1e8e\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M15 9H15.01M15 15C18.3137 15 21 12.3137 21 9C21 5.68629 18.3137 3 15 3C11.6863 3 9 5.68629 9 9C9 9.27368 9.01832 9.54308 9.05381 9.80704C9.11218 10.2412 9.14136 10.4583 9.12172 10.5956C9.10125 10.7387 9.0752 10.8157 9.00469 10.9419C8.937 11.063 8.81771 11.1823 8.57913 11.4209L3.46863 16.5314C3.29568 16.7043 3.2092 16.7908 3.14736 16.8917C3.09253 16.9812 3.05213 17.0787 3.02763 17.1808C3 17.2959 3 17.4182 3 17.6627V19.4C3 19.9601 3 20.2401 3.10899 20.454C3.20487 20.6422 3.35785 20.7951 3.54601 20.891C3.75992 21 4.03995 21 4.6 21H6.33726C6.58185 21 6.70414 21 6.81923 20.9724C6.92127 20.9479 7.01881 20.9075 7.10828 20.8526C7.2092 20.7908 7.29568 20.7043 7.46863 20.5314L12.5791 15.4209C12.8177 15.1823 12.937 15.063 13.0581 14.9953C13.1843 14.9248 13.2613 14.8987 13.4044 14.8783C13.5417 14.8586 13.7588 14.8878 14.193 14.9462C14.4569 14.9817 14.7263 15 15 15Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"f5f0f4b804a352ab8e0f24140051bbe3\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"f5f0f4b804a352ab8e0f24140051bbe3\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M8.99999 12H12M8.99999 12C8.99999 12.3965 9.07692 12.7751 9.21667 13.1216M8.99999 12C8.99999 11.6224 9.06975 11.2611 9.19707 10.9283M15 12H12M15 12C15 11.6224 14.9303 11.2611 14.8029 10.9283M15 12C15 12.3776 14.9303 12.7389 14.8029 13.0717M12 15V12M12 15C11.6219 15 11.2601 14.93 10.9269 14.8024M12 15C12.4299 15 12.8388 14.9096 13.2085 14.7467M12 9V12M12 9C12.4299 9 12.8388 9.09044 13.2085 9.25334M12 9C11.5908 9 11.2008 9.08191 10.8454 9.23022M12 12L9.82377 9.93503M12 12L14.3085 13.916M12 12L9.94168 14.1825M12 12L14.1762 9.93503M12 12L14.8029 10.9283M12 12L9.21667 13.1216M12 12L10.9269 14.8024M12 12L13.2085 9.25334M12 12L14.8029 13.0717M12 12L13.2085 14.7467M12 12L10.8454 9.23022M12 12L9.19707 10.9283M9.82377 9.93503C10.1094 9.63416 10.4567 9.39246 10.8454 9.23022M9.82377 9.93503C9.55415 10.2191 9.33956 10.5559 9.19707 10.9283M14.3085 13.916C14.5165 13.6657 14.6846 13.381 14.8029 13.0717M14.3085 13.916C14.0131 14.2716 13.6371 14.5578 13.2085 14.7467M9.94168 14.1825C9.62921 13.8877 9.38003 13.5266 9.21667 13.1216M9.94168 14.1825C10.224 14.4488 10.5579 14.661 10.9269 14.8024M14.1762 9.93503C14.4458 10.2191 14.6604 10.5559 14.8029 10.9283M14.1762 9.93503C13.9039 9.64814 13.5755 9.41504 13.2085 9.25334M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"b53acf6616bc3217ee53f6fa11e30526\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"b53acf6616bc3217ee53f6fa11e30526\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M5.5839 4.7328C6.33209 3.98462 7.17125 3.38527 8.06529 2.9339C7.43285 6.41756 8.46285 10.1468 11.158 12.842C13.8532 15.5372 17.5824 16.5672 21.0661 15.9347C20.6147 16.8288 20.0154 17.6679 19.2672 18.4161C15.4887 22.1946 9.36244 22.1946 5.5839 18.4161C1.80537 14.6376 1.80537 8.51134 5.5839 4.7328Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"f6726cf2a294337e9b40efc54b12453b\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"f6726cf2a294337e9b40efc54b12453b\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M22 12H20M19.071 19.0711L17.6567 17.6569M4 12H2M6.34292 6.34317L4.92871 4.92896M12 4V2M17.6567 6.34317L19.071 4.92896M12 22V20M4.92871 19.0711L6.34292 17.6569M18 12C18 15.3137 15.3137 18 12 18C8.68629 18 6 15.3137 6 12C6 8.68629 8.68629 6 12 6C15.3137 6 18 8.68629 18 12Z\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"fcf01aebea5d02da45d4b8d3bac62b58\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"fcf01aebea5d02da45d4b8d3bac62b58\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" d=\\\"M12 9.5V13.5L14.5 15M12 5C7.30558 5 3.5 8.80558 3.5 13.5C3.5 18.1944 7.30558 22 12 22C16.6944 22 20.5 18.1944 20.5 13.5C20.5 8.80558 16.6944 5 12 5ZM12 5V2M10 2H14M20.329 5.59204L18.829 4.09204L19.579 4.84204M3.67102 5.59204L5.17102 4.09204L4.42102 4.84204\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"4af8011a58a597dd8fd8c52187120c54\",\"content\":\"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" fill=\\\"none\\\" viewBox=\\\"0 0 32 32\\\" id=\\\"4af8011a58a597dd8fd8c52187120c54\\\">\\n <g clip-path=\\\"url(#4af8011a58a597dd8fd8c52187120c54_a)\\\">\\n <path fill=\\\"url(#4af8011a58a597dd8fd8c52187120c54_b)\\\" fill-rule=\\\"evenodd\\\" d=\\\"M22.23 4.66a3.6 3.6 0 0 1 5.1.04A16.08 16.08 0 0 1 31.97 16a3.6 3.6 0 1 1-7.2 0c0-2.4-.98-4.61-2.58-6.24a3.6 3.6 0 0 1 .03-5.1Z\\\" clip-rule=\\\"evenodd\\\" />\\n <path fill=\\\"url(#4af8011a58a597dd8fd8c52187120c54_c)\\\" fill-rule=\\\"evenodd\\\" d=\\\"M12.4 3.6A3.6 3.6 0 0 1 16 0c4.4 0 8.4 1.8 11.29 4.66a3.6 3.6 0 0 1-5.06 5.13A8.87 8.87 0 0 0 16 7.2a3.6 3.6 0 0 1-3.6-3.6Z\\\" clip-rule=\\\"evenodd\\\" />\\n <path fill=\\\"url(#4af8011a58a597dd8fd8c52187120c54_d)\\\" fill-rule=\\\"evenodd\\\" d=\\\"M0 16A16 16 0 0 1 16 0a3.6 3.6 0 0 1 0 7.2 8.8 8.8 0 0 0-6.21 15.04 3.6 3.6 0 0 1-5.13 5.06A16.08 16.08 0 0 1 0 16Z\\\" clip-rule=\\\"evenodd\\\" />\\n <path fill=\\\"url(#4af8011a58a597dd8fd8c52187120c54_e)\\\" fill-rule=\\\"evenodd\\\" d=\\\"M4.66 22.24a3.6 3.6 0 0 1 5.1-.03 8.87 8.87 0 0 0 6.23 2.59 3.6 3.6 0 0 1 0 7.2c-4.4 0-8.4-1.8-11.3-4.66a3.6 3.6 0 0 1-.03-5.1Z\\\" clip-rule=\\\"evenodd\\\" />\\n <path fill=\\\"url(#4af8011a58a597dd8fd8c52187120c54_f)\\\" fill-rule=\\\"evenodd\\\" d=\\\"M28.38 12.4a3.6 3.6 0 0 1 3.6 3.6A16 16 0 0 1 16 32a3.6 3.6 0 0 1 0-7.2 8.8 8.8 0 0 0 8.8-8.8 3.6 3.6 0 0 1 3.6-3.6Z\\\" clip-rule=\\\"evenodd\\\" />\\n <path fill=\\\"url(#4af8011a58a597dd8fd8c52187120c54_g)\\\" fill-rule=\\\"evenodd\\\" d=\\\"M28.38 12.4a3.6 3.6 0 0 1 3.6 3.6v12.4a3.6 3.6 0 1 1-7.2 0V16a3.6 3.6 0 0 1 3.6-3.6Z\\\" clip-rule=\\\"evenodd\\\" />\\n <g clip-path=\\\"url(#4af8011a58a597dd8fd8c52187120c54_h)\\\">\\n <path fill=\\\"url(#4af8011a58a597dd8fd8c52187120c54_i)\\\" fill-rule=\\\"evenodd\\\" d=\\\"M22.23 4.66a3.6 3.6 0 0 1 5.1.04A16.08 16.08 0 0 1 31.97 16a3.6 3.6 0 1 1-7.2 0c0-2.4-.98-4.61-2.58-6.24a3.6 3.6 0 0 1 .03-5.1Z\\\" clip-rule=\\\"evenodd\\\" />\\n </g>\\n </g>\\n <defs>\\n <linearGradient id=\\\"4af8011a58a597dd8fd8c52187120c54_b\\\" x1=\\\"26.4\\\" x2=\\\"28.8\\\" y1=\\\"9.6\\\" y2=\\\"15.01\\\" gradientUnits=\\\"userSpaceOnUse\\\">\\n <stop stop-color=\\\"#7E22CE\\\" />\\n <stop offset=\\\"1\\\" stop-color=\\\"#8B5CF6\\\" />\\n </linearGradient>\\n <linearGradient id=\\\"4af8011a58a597dd8fd8c52187120c54_c\\\" x1=\\\"26.8\\\" x2=\\\"17.8\\\" y1=\\\"9.4\\\" y2=\\\"3.61\\\" gradientUnits=\\\"userSpaceOnUse\\\">\\n <stop stop-color=\\\"#EF4444\\\" />\\n <stop offset=\\\"1\\\" stop-color=\\\"#DC2626\\\" />\\n </linearGradient>\\n <linearGradient id=\\\"4af8011a58a597dd8fd8c52187120c54_d\\\" x1=\\\"3.6\\\" x2=\\\"5.4\\\" y1=\\\"14.01\\\" y2=\\\"24.81\\\" gradientUnits=\\\"userSpaceOnUse\\\">\\n <stop stop-color=\\\"#22C55E\\\" />\\n <stop offset=\\\"1\\\" stop-color=\\\"#15803D\\\" />\\n </linearGradient>\\n <linearGradient id=\\\"4af8011a58a597dd8fd8c52187120c54_e\\\" x1=\\\"4.8\\\" x2=\\\"14.4\\\" y1=\\\"22.21\\\" y2=\\\"29.21\\\" gradientUnits=\\\"userSpaceOnUse\\\">\\n <stop stop-color=\\\"#94A3B8\\\" />\\n <stop offset=\\\".96\\\" stop-color=\\\"#64748B\\\" />\\n <stop offset=\\\"1\\\" stop-color=\\\"#64748B\\\" />\\n </linearGradient>\\n <linearGradient id=\\\"4af8011a58a597dd8fd8c52187120c54_f\\\" x1=\\\"28.4\\\" x2=\\\"22.19\\\" y1=\\\"22.18\\\" y2=\\\"28.4\\\" gradientUnits=\\\"userSpaceOnUse\\\">\\n <stop stop-color=\\\"#D97706\\\" />\\n <stop offset=\\\"1\\\" stop-color=\\\"#FBBF24\\\" />\\n </linearGradient>\\n <linearGradient id=\\\"4af8011a58a597dd8fd8c52187120c54_g\\\" x1=\\\"29.2\\\" x2=\\\"30.63\\\" y1=\\\"54.43\\\" y2=\\\"54.28\\\" gradientUnits=\\\"userSpaceOnUse\\\">\\n <stop stop-color=\\\"#FBBF24\\\" />\\n <stop offset=\\\"1\\\" stop-color=\\\"#FBBF24\\\" />\\n </linearGradient>\\n <linearGradient id=\\\"4af8011a58a597dd8fd8c52187120c54_i\\\" x1=\\\"26.4\\\" x2=\\\"28.8\\\" y1=\\\"9.6\\\" y2=\\\"15.01\\\" gradientUnits=\\\"userSpaceOnUse\\\">\\n <stop stop-color=\\\"#7E22CE\\\" />\\n <stop offset=\\\"1\\\" stop-color=\\\"#8B5CF6\\\" />\\n </linearGradient>\\n <clipPath id=\\\"4af8011a58a597dd8fd8c52187120c54_a\\\">\\n <path fill=\\\"#fff\\\" d=\\\"M0 0h32v32H0z\\\" />\\n </clipPath>\\n <clipPath id=\\\"4af8011a58a597dd8fd8c52187120c54_h\\\">\\n <path fill=\\\"#fff\\\" d=\\\"M24.8 12H32v8h-7.2z\\\" />\\n </clipPath>\\n </defs>\\n</symbol>\",\"viewBox\":\"0 0 32 32\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"9a80d543f66830af93634ae4d68aa0b7\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"9a80d543f66830af93634ae4d68aa0b7\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM13 8C13 7.44772 12.5523 7 12 7C11.4477 7 11 7.44772 11 8V12C11 12.5523 11.4477 13 12 13C12.5523 13 13 12.5523 13 12V8ZM12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17H12.01C12.5623 17 13.01 16.5523 13.01 16C13.01 15.4477 12.5623 15 12.01 15H12Z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"9fc212651ca048f099abf61155ea3483\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"9fc212651ca048f099abf61155ea3483\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM17.2071 9.70711C17.5976 9.31658 17.5976 8.68342 17.2071 8.29289C16.8166 7.90237 16.1834 7.90237 15.7929 8.29289L10.5 13.5858L8.20711 11.2929C7.81658 10.9024 7.18342 10.9024 6.79289 11.2929C6.40237 11.6834 6.40237 12.3166 6.79289 12.7071L9.79289 15.7071C10.1834 16.0976 10.8166 16.0976 11.2071 15.7071L17.2071 9.70711Z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"6f69a868093429cca2d18204c014d1de\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"6f69a868093429cca2d18204c014d1de\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM10.9066 8.27123C11.3138 8.03191 11.7926 7.94443 12.2581 8.02428C12.7236 8.10413 13.1459 8.34615 13.45 8.70749C13.7542 9.06883 13.9207 9.52615 13.92 9.99847L13.92 9.99996C13.92 10.4691 13.5549 10.9582 12.8653 11.4179C12.5509 11.6275 12.2294 11.7889 11.9826 11.8986C11.8606 11.9529 11.7603 11.9929 11.6929 12.0186C11.663 12.03 11.6329 12.041 11.6027 12.0516C11.0794 12.2267 10.7968 12.7926 10.9713 13.3162C11.146 13.8401 11.7123 14.1233 12.2362 13.9486L12.4049 13.8876C12.5015 13.8508 12.6356 13.7971 12.7949 13.7263C13.1105 13.586 13.5391 13.3724 13.9747 13.082C14.7849 12.5419 15.9195 11.5312 15.92 10.0009C15.9213 9.05644 15.5883 8.14201 14.9801 7.41949C14.3717 6.69682 13.5273 6.21277 12.5962 6.05307C11.6652 5.89337 10.7077 6.06833 9.89327 6.54696C9.07886 7.02559 8.46013 7.77701 8.14666 8.66812C7.96339 9.18911 8.23716 9.76002 8.75815 9.9433C9.27914 10.1266 9.85006 9.85279 10.0333 9.33181C10.1901 8.88625 10.4994 8.51054 10.9066 8.27123ZM12 16C11.4477 16 11 16.4477 11 17C11 17.5522 11.4477 18 12 18H12.01C12.5623 18 13.01 17.5522 13.01 17C13.01 16.4477 12.5623 16 12.01 16H12Z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"27eb29a1af650efa3c8f236e96fd49b8\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"27eb29a1af650efa3c8f236e96fd49b8\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM8 11C7.44772 11 7 11.4477 7 12C7 12.5523 7.44772 13 8 13H16C16.5523 13 17 12.5523 17 12C17 11.4477 16.5523 11 16 11H8Z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"d37b4d7c76a2a7896f3890561ed86f2d\",\"content\":\"<symbol viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"d37b4d7c76a2a7896f3890561ed86f2d\\\">\\n<path vector-effect=\\\"non-scaling-stroke\\\" fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" d=\\\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM15.7071 8.29289C16.0976 8.68342 16.0976 9.31658 15.7071 9.70711L13.4142 12L15.7071 14.2929C16.0976 14.6834 16.0976 15.3166 15.7071 15.7071C15.3166 16.0976 14.6834 16.0976 14.2929 15.7071L12 13.4142L9.70711 15.7071C9.31658 16.0976 8.68342 16.0976 8.29289 15.7071C7.90237 15.3166 7.90237 14.6834 8.29289 14.2929L10.5858 12L8.29289 9.70711C7.90237 9.31658 7.90237 8.68342 8.29289 8.29289C8.68342 7.90237 9.31658 7.90237 9.70711 8.29289L12 10.5858L14.2929 8.29289C14.6834 7.90237 15.3166 7.90237 15.7071 8.29289Z\\\" fill=\\\"currentColor\\\" />\\n</symbol>\",\"viewBox\":\"0 0 24 24\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"eddd9bec4b080bb230775b072a486acc\",\"content\":\"<symbol viewBox=\\\"0 0 16 16\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"eddd9bec4b080bb230775b072a486acc\\\">\\n <circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"7\\\" stroke=\\\"currentColor\\\" stroke-opacity=\\\"0.32\\\" stroke-width=\\\"1.5\\\" vector-effect=\\\"non-scaling-stroke\\\" />\\n <path d=\\\"M 15 8 A 7 7 0 0 1 8 15\\\" stroke=\\\"currentColor\\\" stroke-opacity=\\\"1\\\" stroke-width=\\\"1.5\\\" class=\\\"allure-spinner\\\" vector-effect=\\\"non-scaling-stroke\\\" />\\n <style>\\n #eddd9bec4b080bb230775b072a486acc .allure-spinner {\\n transform-origin: center;\\n animation: allure-spinner-spin 0.75s infinite ease-in-out;\\n }\\n\\n @keyframes allure-spinner-spin {\\n 100% {\\n transform: rotate(360deg);\\n }\\n }\\n </style>\\n</symbol>\",\"viewBox\":\"0 0 16 16\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"baef59387353cd7f2939ebd4ddf30155\",\"content\":\"<symbol viewBox=\\\"0 0 32 32\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"baef59387353cd7f2939ebd4ddf30155\\\">\\n<g clip-path=\\\"url(#baef59387353cd7f2939ebd4ddf30155_clip0_428_25)\\\">\\n<path d=\\\"M5.24 22.51L6.67 21.09C5.10422 19.6841 3.87398 17.9447 3.07 16C5.1 10.93 10.7 7 16 7C17.3639 7.018 18.7154 7.26128 20 7.72L21.55 6.16C19.7927 5.41732 17.9077 5.02335 16 5C12.7405 5.12257 9.58839 6.19756 6.9332 8.09209C4.27802 9.98662 2.23616 12.6176 1.06 15.66C0.980569 15.8797 0.980569 16.1203 1.06 16.34C1.94825 18.697 3.38043 20.811 5.24 22.51Z\\\" fill=\\\"currentColor\\\" />\\n<path d=\\\"M12 15.73C12.0695 14.7717 12.4817 13.8705 13.1611 13.1911C13.8405 12.5117 14.7417 12.0995 15.7 12.03L17.51 10.21C16.4958 9.94295 15.4292 9.94642 14.4168 10.2201C13.4043 10.4937 12.4812 11.028 11.7396 11.7696C10.998 12.5112 10.4637 13.4343 10.1901 14.4468C9.91642 15.4592 9.91295 16.5258 10.18 17.54L12 15.73Z\\\" fill=\\\"currentColor\\\" />\\n<path d=\\\"M30.94 15.66C29.7933 12.6732 27.7981 10.087 25.2 8.22L30 3.41L28.59 2L2 28.59L3.41 30L8.51 24.9C10.7839 26.234 13.364 26.9574 16 27C19.2595 26.8774 22.4116 25.8024 25.0668 23.9079C27.722 22.0134 29.7638 19.3824 30.94 16.34C31.0194 16.1203 31.0194 15.8797 30.94 15.66ZM20 16C19.9958 16.7001 19.8079 17.3868 19.4551 17.9916C19.1023 18.5963 18.597 19.0978 17.9896 19.4461C17.3822 19.7943 16.6941 19.977 15.994 19.9759C15.2939 19.9749 14.6063 19.7901 14 19.44L19.44 14C19.7995 14.6057 19.9927 15.2957 20 16ZM16 25C13.9021 24.9634 11.8439 24.4214 10 23.42L12.54 20.88C13.6953 21.6816 15.0955 22.052 16.4961 21.9265C17.8967 21.8009 19.2087 21.1874 20.2031 20.1931C21.1974 19.1987 21.8109 17.8867 21.9365 16.4861C22.062 15.0855 21.6916 13.6853 20.89 12.53L23.76 9.66C26.0546 11.235 27.849 13.4354 28.93 16C26.9 21.07 21.3 25 16 25Z\\\" fill=\\\"currentColor\\\" />\\n</g>\\n<defs>\\n<clipPath id=\\\"baef59387353cd7f2939ebd4ddf30155_clip0_428_25\\\">\\n<rect width=\\\"32\\\" height=\\\"32\\\" fill=\\\"white\\\" />\\n</clipPath>\\n</defs>\\n</symbol>\",\"viewBox\":\"0 0 32 32\"})\nsprite.add(symbol)\n \nexport default symbol","\nimport { sprite, SpriteSymbol } from \"svg-sprites-virtual-module\"\n\nconst symbol = new SpriteSymbol({\"id\":\"81703ad6b4eb056b5d8424a52fc8c0e8\",\"content\":\"<symbol viewBox=\\\"0 0 32 32\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"81703ad6b4eb056b5d8424a52fc8c0e8\\\">\\n<g clip-path=\\\"url(#81703ad6b4eb056b5d8424a52fc8c0e8_clip0_428_24)\\\">\\n<path d=\\\"M30.94 15.66C29.7638 12.6176 27.722 9.98662 25.0668 8.09209C22.4116 6.19756 19.2595 5.12257 16 5C12.7405 5.12257 9.58839 6.19756 6.9332 8.09209C4.27802 9.98662 2.23616 12.6176 1.06 15.66C0.980569 15.8797 0.980569 16.1203 1.06 16.34C2.23616 19.3824 4.27802 22.0134 6.9332 23.9079C9.58839 25.8024 12.7405 26.8774 16 27C19.2595 26.8774 22.4116 25.8024 25.0668 23.9079C27.722 22.0134 29.7638 19.3824 30.94 16.34C31.0194 16.1203 31.0194 15.8797 30.94 15.66ZM16 25C10.7 25 5.1 21.07 3.07 16C5.1 10.93 10.7 7 16 7C21.3 7 26.9 10.93 28.93 16C26.9 21.07 21.3 25 16 25Z\\\" fill=\\\"currentColor\\\" />\\n<path d=\\\"M16 10C14.8133 10 13.6533 10.3519 12.6666 11.0112C11.6799 11.6705 10.9109 12.6075 10.4567 13.7039C10.0026 14.8003 9.88378 16.0067 10.1153 17.1705C10.3468 18.3344 10.9182 19.4035 11.7574 20.2426C12.5965 21.0818 13.6656 21.6532 14.8295 21.8847C15.9933 22.1162 17.1997 21.9974 18.2961 21.5433C19.3925 21.0892 20.3295 20.3201 20.9888 19.3334C21.6481 18.3467 22 17.1867 22 16C22 14.4087 21.3679 12.8826 20.2426 11.7574C19.1174 10.6321 17.5913 10 16 10ZM16 20C15.2089 20 14.4355 19.7654 13.7777 19.3259C13.1199 18.8864 12.6072 18.2616 12.3045 17.5307C12.0017 16.7998 11.9225 15.9956 12.0769 15.2196C12.2312 14.4437 12.6122 13.731 13.1716 13.1716C13.731 12.6122 14.4437 12.2312 15.2196 12.0769C15.9956 11.9225 16.7998 12.0017 17.5307 12.3045C18.2616 12.6072 18.8864 13.1199 19.3259 13.7777C19.7654 14.4355 20 15.2089 20 16C20 17.0609 19.5786 18.0783 18.8284 18.8284C18.0783 19.5786 17.0609 20 16 20Z\\\" fill=\\\"currentColor\\\" />\\n</g>\\n<defs>\\n<clipPath id=\\\"81703ad6b4eb056b5d8424a52fc8c0e8_clip0_428_24\\\">\\n<rect width=\\\"32\\\" height=\\\"32\\\" fill=\\\"white\\\" />\\n</clipPath>\\n</defs>\\n</symbol>\",\"viewBox\":\"0 0 32 32\"})\nsprite.add(symbol)\n \nexport default symbol",null,null,null,null,"/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n return [':popover-open', ':modal'].some(selector => {\n try {\n return element.matches(selector);\n } catch (e) {\n return false;\n }\n });\n}\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, detectOverflow as detectOverflow$1, offset as offset$1, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n if (ignoreScrollbarX === void 0) {\n ignoreScrollbarX = false;\n }\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n // RTL <body> scrollbar.\n getWindowScrollBarX(documentElement, htmlRect));\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n",null,null,null,null,null,null,null,null,null,null,null],"names":["f","u","e","t","n","o","i","a","c","p","l","type","props","key","ref","__k","__","__b","__e","__d","undefined","__c","constructor","__v","__i","__u","__source","__self","defaultProps","r","vnode","Array","isArray","length","clsx","arguments","globalThis","window","global","self","deepmerge","exports","isMergeableObject","val","Object","prototype","toString","call","emptyTarget","cloneIfNecessary","value","optionsArgument","clone","defaultArrayMerge","target","source","destination","slice","forEach","indexOf","push","mergeObject","keys","array","arrayMerge","all","Error","reduce","prev","next","factory","merge","module","namespaces$1","default","svg","name","uri","xlink","namespaces","svg$1","xlink$1","defaultAttrs","wrapInSvgString","content","attributes","attrsRendered","attrs","map","attr","replace","join","objectToAttrsString","defaultConfig$1","style","Sprite","config","this","symbols","add","symbol","existing","find","id","remove","splice","destroy","filter","s","has","stringify","SpriteSymbol","viewBox","prop","parse","hasImportNode","document","importNode","doc","DOMParser","parseFromString","documentElement","BrowserSpriteSymbol","isMounted","node","createFromExistingNode","getAttribute","outerHTML","unmount","super","mount","mountTarget","querySelector","render","appendChild","childNodes","parentNode","removeChild","defaultConfig","autoConfigure","mountTo","syncUrlsWithBaseTag","listenLocationChangeEvent","locationChangeEvent","locationChangeAngularEmitter","usagesToUpdate","moveGradientsOutsideSymbol","arrayFrom","arrayLike","browser","test","navigator","userAgent","getUrlWithoutFragment","url","location","href","split","eventName","angular","run","$rootScope","$on","newUrl","oldUrl","data","event","createEvent","initCustomEvent","dispatchEvent","selector","querySelectorAll","insertBefore","xLinkNS","xLinkAttrName","specialUrlCharsPattern","encoder","match","charCodeAt","toUpperCase","attList","attSelector","updateUrls","references","startsWith","replaceWith","startsWithEncoded","replaceWithEncoded","nodes","matcher","acc","matched","concat","selectAttributes","localName","RegExp","setAttributeNS","updateReferences","Events","spriteNodeId","spriteGlobalVarName","loadSprite","getElementById","sprite","attach","body","cfg","emitter","create","on","handler","off","emit","evt","_emitter","_autoConfigure","baseUrl","getElementsByTagName","handleLocationChange","_handleLocationChange","bind","addEventListener","spriteNode","symbolNode","updatedNodes","textContent","evalStylesIEWorkaround","detail","isNewSymbol","removeEventListener","prepend","mountNode","usages","listener","fns","hack","domContentLoaded","loaded","doScroll","readyState","shift","fn","setTimeout","allureIcons","arrowsChevronDown","github","lineAlertsAlertCircle","lineAlertsNotificationBox","lineArrowsChevronDown","lineArrowsChevronDownDouble","lineArrowsChevronRight","lineArrowsChevronUp","lineArrowsChevronUpDouble","lineArrowsCornerDownRight","lineArrowsExpand3","lineArrowsRefreshCcw1","lineArrowsSortLineAsc","lineArrowsSortLineDesc","lineArrowsSwitchVertical1","lineDevBug2","lineDevCodeSquare","lineFilesFileAttachment2","lineGeneralCheck","lineGeneralChecklist3","lineGeneralCopy3","lineGeneralDownloadCloud","lineGeneralEqual","lineGeneralEye","lineGeneralHomeLine","lineGeneralLink1","lineGeneralLinkExternal","lineGeneralSearchMd","lineGeneralSettings1","lineGeneralXClose","lineGeneralZap","lineHelpersFlag","lineHelpersPlayCircle","lineIconBomb2","lineImagesImage","lineSecurityKey","lineShapesDotCircle","lineShapesMoon","lineShapesSun","lineTimeClockStopwatch","reportLogo","solidAlertCircle","solidCheckCircle","solidHelpCircle","solidMinusCircle","solidXCircle","spinner","view","viewOff","SvgIcon","size","inline","className","_jsx","styles","icon","children","xlinkHref","Spinner","role","spinnerIcon","Text","tag","Tag","bold","rest","Code","Heading","BaseBtn","text","iconSize","onClick","isPending","action","fullWidth","isDisabled","isIconButton","isDropdownButton","isActive","focusable","isButtonDisabled","tabIndex","button","buttonIcon","danger","positive","pending","active","disabled","_jsxs","contentIcon","leadingIcon","dropdownIcon","Button","IconButton","DropdownButton","isExpanded","min","Math","max","oppositeSideMap","left","right","bottom","top","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","includes","getAlignmentAxis","getOppositeAlignmentPlacement","alignment","getOppositePlacement","side","rectToClientRect","rect","x","y","width","height","computeCoordsFromPlacement","_ref","rtl","reference","floating","sideAxis","alignmentAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","async","detectOverflow","state","options","_await$platform$isEle","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","padding","paddingObject","expandPaddingObject","getPaddingObject","element","clippingClientRect","getClippingRect","isElement","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","round","floor","createCoords","v","hasWindow","getNodeName","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","Node","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflow","overflowX","overflowY","display","getComputedStyle","isTableElement","isTopLayer","some","matches","isContainingBlock","elementOrCss","webkit","isWebKit","css","containerType","backdropFilter","willChange","contain","CSS","supports","isLastTraversableNode","getNodeScroll","scrollLeft","scrollTop","scrollX","scrollY","getParentNode","result","assignedSlot","host","getNearestOverflowAncestor","getOverflowAncestors","list","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","visualViewport","parent","getPrototypeOf","getCssDimensions","parseFloat","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","getBoundingClientRect","Number","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","isFixed","floatingOffsetParent","shouldAddVisualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getWindowScrollBarX","leftScroll","getHTMLOffset","scroll","ignoreScrollbarX","htmlRect","getClientRectFromClippingAncestor","clippingAncestor","html","clientWidth","clientHeight","visualViewportBased","getViewportRect","scrollWidth","scrollHeight","direction","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","position","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","htmlOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","svgOffsetParent","currentNode","getContainingBlock","topLayer","clippingAncestors","cache","cachedResult","get","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","set","getClippingElementAncestors","_c","firstClippingAncestor","clippingRect","accRect","getElementRects","getOffsetParentFn","getDimensionsFn","getDimensions","floatingDimensions","getClientRects","from","isRTL","rectsAreEqual","b","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","passive","cleanupIo","onMove","timeoutId","io","root","cleanup","_io","clearTimeout","disconnect","refresh","skip","threshold","elementRectForRootMargin","rootMargin","isFirstUpdate","handleObserve","entries","ratio","intersectionRatio","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","_resizeObserver","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset","_middlewareData$offse","_middlewareData$arrow","middlewareData","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","convertValueToCoords","arrow","alignmentOffset","checkMainAxis","checkCrossAxis","limiter","detectOverflowOptions","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","enabled","flip","_middlewareData$flip","initialPlacement","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","initialSideAxis","isBasePlacement","oppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","isStart","lr","rl","tb","bt","getSideList","getOppositeAxisPlacements","placements","overflows","overflowsData","sides","mainAlignmentSide","getAlignmentSides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","index","nextPlacement","reset","resetPlacement","d","sort","_overflowsData$filter2","currentSideAxis","computePosition","Map","mergedOptions","platformWithCache","middleware","validMiddleware","Boolean","statefulPlacement","resetCount","nextX","nextY","computePosition$1","Tooltip","TooltipWrapper","tooltipText","tooltipTextAfterClick","tooltipComponent","triggerMode","autoHideDelay","isTriggerActive","tooltipRef","useRef","triggerRef","isVisible","setIsVisible","useState","currentText","setCurrentText","hideTimer","useEffect","updatePosition","current","then","assign","tooltipContent","onMouseEnter","onMouseLeave","Loadable","transformData","renderLoader","renderError","err","renderData","loading","error","PageLoader","useDebouncedCallback","cb","timeout","cbRef","useCallback","timer","args","debounce","SearchBox","placeholder","onChange","changeDebounce","localValue","setLocalValue","onChangeDebounced","showClear","searchIcon","onInput","newValue","autocomplete","closeIcon","preventDefault","stopPropagation","MenuContext","createContext","Menu","menuTrigger","menuTriggerWrapper","MenuTriggerWrapper","isInitialOpened","isOpened","setIsOpened","menuRef","handleEscape","handleClickOutside","contains","Provider","_Fragment","menu","Section","section","Item","context","useContext","useMenuContext","rightSlot","ariaLabel","closeMenuOnClick","isInteractive","hasLeadingIcon","menuListItem","menuItem","interactive","ItemWithCheckmark","isChecked","itemProps","checkmarkIcon","check","Counter","count","truncateCount","status","displayedCount","counter","Toggle","label","checked","onToggle","Link","getColorFromStatus","SuccessRatePieChart","slices","percentage","transform","fill","Label"],"mappings":"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","x_google_ignoreList":[0,1,56,57,58,59,60]}