@symbo.ls/uikit 2.11.24 → 2.11.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/scratch/dist/cjs/index.js", "../../../../refactor/domql/packages/key/dist/cjs/index.js", "../../../../refactor/domql/packages/tags/dist/cjs/htmlTags.js", "../../../../refactor/domql/packages/tags/dist/cjs/index.js", "../../../../refactor/domql/packages/globals/dist/cjs/index.js", "../../../../refactor/domql/packages/utils/dist/cjs/node.js", "../../../../refactor/domql/packages/utils/dist/cjs/types.js", "../../../../refactor/domql/packages/utils/dist/cjs/array.js", "../../../../refactor/domql/packages/utils/dist/cjs/object.js", "../../../../refactor/domql/packages/utils/dist/cjs/function.js", "../../../../refactor/domql/packages/utils/dist/cjs/log.js", "../../../../refactor/domql/packages/utils/dist/cjs/index.js", "../../../node_modules/@domql/event/dist/cjs/on.js", "../../../../refactor/domql/packages/report/dist/cjs/index.js", "../../../node_modules/@domql/event/dist/cjs/can.js", "../../../node_modules/@domql/event/dist/cjs/index.js", "../Datepicker/node_modules/@symbo.ls/scratch/dist/cjs/index.js", "../../../../refactor/domql/packages/router/dist/cjs/index.js", "../Notification/node_modules/@symbo.ls/scratch/dist/cjs/index.js", "../index.js", "../Atoms/Block.js", "../Atoms/Direction.js", "../Atoms/Flex.js", "../Atoms/Grid.js", "../Atoms/Img.js", "../Atoms/Form.js", "../Atoms/Media.js", "../Atoms/Theme.js", "../Atoms/Shape/style.js", "../Atoms/Timing.js", "../Atoms/Iframe.js", "../Atoms/Interaction.js", "../Atoms/InteractiveComponent.js", "../Atoms/Overflow.js", "../../../node_modules/@domql/state/index.js", "../Atoms/Collection.js", "../Atoms/Position.js", "../Atoms/Picture.js", "../Atoms/Pseudo.js", "../Atoms/Svg.js", "../Atoms/Shape/index.js", "../Atoms/Text.js", "../Atoms/Transform.js", "../Atoms/XYZ.js", "../Atoms/Animation.js", "../../../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js", "../../../node_modules/stylis/src/Enum.js", "../../../node_modules/stylis/src/Utility.js", "../../../node_modules/stylis/src/Tokenizer.js", "../../../node_modules/stylis/src/Parser.js", "../../../node_modules/stylis/src/Serializer.js", "../../../node_modules/stylis/src/Middleware.js", "../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js", "../../../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js", "../../../node_modules/@emotion/hash/dist/emotion-hash.esm.js", "../../../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js", "../../../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js", "../../../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js", "../../../node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js", "../../../packages/emotion/index.js", "../Box/index.js", "../Avatar/index.js", "../Icon/index.js", "../Button/index.js", "../ButtonSet/index.js", "../Datepicker/style.js", "../Datepicker/node_modules/@symbo.ls/atoms/Block.js", "../Datepicker/node_modules/@symbo.ls/atoms/Flex.js", "../Datepicker/node_modules/@symbo.ls/atoms/Grid.js", "../Datepicker/node_modules/@symbo.ls/atoms/Media.js", "../Datepicker/node_modules/@symbo.ls/atoms/Theme.js", "../Datepicker/node_modules/@symbo.ls/atoms/Shape/style.js", "../Datepicker/node_modules/@symbo.ls/atoms/Timing.js", "../Datepicker/node_modules/@symbo.ls/atoms/Collection.js", "../Datepicker/node_modules/@symbo.ls/atoms/Position.js", "../Datepicker/node_modules/@symbo.ls/atoms/Shape/index.js", "../Datepicker/node_modules/@symbo.ls/atoms/Text.js", "../Datepicker/node_modules/@symbo.ls/atoms/Animation.js", "../Datepicker/node_modules/@symbo.ls/emotion/index.js", "../Datepicker/index.js", "../Dropdown/index.js", "../node_modules/@symbo.ls/icon/index.js", "../Link/index.js", "../Input/index.js", "../Field/node_modules/@symbo.ls/atoms/Block.js", "../Field/node_modules/@symbo.ls/atoms/Grid.js", "../Field/node_modules/@symbo.ls/atoms/Media.js", "../Field/node_modules/@symbo.ls/atoms/Theme.js", "../Field/node_modules/@symbo.ls/atoms/Shape/style.js", "../Field/node_modules/@symbo.ls/atoms/Timing.js", "../Field/node_modules/@symbo.ls/atoms/InteractiveComponent.js", "../Field/node_modules/@symbo.ls/atoms/Collection.js", "../Field/node_modules/@symbo.ls/atoms/Position.js", "../Field/node_modules/@symbo.ls/atoms/Shape/index.js", "../Field/node_modules/@symbo.ls/atoms/Text.js", "../Field/node_modules/@symbo.ls/atoms/Animation.js", "../Field/node_modules/@symbo.ls/emotion/index.js", "../Field/index.js", "../Video/index.js", "../Range/index.js", "../Slider/style.js", "../Slider/index.js", "../Notification/node_modules/@symbo.ls/atoms/Block.js", "../Notification/node_modules/@symbo.ls/atoms/Flex.js", "../Notification/node_modules/@symbo.ls/atoms/Grid.js", "../Notification/node_modules/@symbo.ls/atoms/Media.js", "../Notification/node_modules/@symbo.ls/atoms/Theme.js", "../Notification/node_modules/@symbo.ls/atoms/Shape/style.js", "../Notification/node_modules/@symbo.ls/atoms/Timing.js", "../Notification/node_modules/@symbo.ls/atoms/Collection.js", "../Notification/node_modules/@symbo.ls/atoms/Position.js", "../Notification/node_modules/@symbo.ls/atoms/Shape/index.js", "../Notification/node_modules/@symbo.ls/atoms/Text.js", "../Notification/node_modules/@symbo.ls/atoms/Animation.js", "../Notification/node_modules/@symbo.ls/emotion/index.js", "../Notification/index.js", "../Tooltip/index.js", "../Textarea/index.js", "../Label/index.js", "../Pills/index.js", "../Select/index.js"],
4
- "sourcesContent": ["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../../refactor/domql/packages/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../../refactor/domql/packages/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../../refactor/domql/packages/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../../refactor/domql/packages/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../../refactor/domql/packages/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../../refactor/domql/packages/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../../refactor/domql/packages/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../../refactor/domql/packages/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray6,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray6 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray6(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray6,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_object = require_object();\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n var mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var import_array = require_array();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone2(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n };\n var overwriteDeep = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar replaceIdsAndUrls = (code, key) => {\n const idRegex = /id=\"([^\"]*)\"/;\n const urlRegex = /url\\(#([^)]*)\\)/g;\n const matches = code.match(/id=\"([^\"]*)\"/g);\n let replacedCode = code;\n if ((0, import_utils7.isArray)(matches)) {\n matches.forEach(() => {\n const randomKey = Math.floor(Math.random() * 1e5);\n replacedCode = code.replace(idRegex, `id=\"${key}-${randomKey}\"`).replace(urlRegex, `url(#${key}-${randomKey})`);\n });\n }\n return replacedCode;\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n const replacedCode = replaceIdsAndUrls(code, key);\n let symbol = replacedCode.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (!rgb)\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n if (tone && !val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n }\n if (val[tone])\n rgb = val[tone].rgb;\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n};\nvar getMediaColor = (value, globalTheme, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`, config);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`, config);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName, config);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n if (!import_globals2.document || !import_globals2.document.createElementNS)\n return;\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc || !doc.documentElement) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n if (svgSpriteDOM && svgSpriteDOM.innerHTML) {\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"subpixel-antialiased\",\n scrollBehavior: \"smooth\",\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar key_exports = {};\n__export(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n});\nmodule.exports = __toCommonJS(key_exports);\nconst createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n}();\nconst createSnapshotId = createKey;\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar htmlTags_exports = {};\n__export(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n});\nmodule.exports = __toCommonJS(htmlTags_exports);\nconst HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar tags_exports = {};\nmodule.exports = __toCommonJS(tags_exports);\n__reExport(tags_exports, require(\"./htmlTags.js\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar globals_exports = {};\n__export(globals_exports, {\n document: () => document,\n global: () => global,\n self: () => self,\n window: () => window\n});\nmodule.exports = __toCommonJS(globals_exports);\nconst global = globalThis;\nconst self = globalThis;\nconst window = globalThis;\nconst document = window.document;\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar node_exports = {};\n__export(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n});\nmodule.exports = __toCommonJS(node_exports);\nvar import_globals = require(\"@domql/globals\");\nconst isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n};\nconst isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar types_exports = {};\n__export(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined,\n isFunction: () => isFunction,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject,\n isObjectLike: () => isObjectLike,\n isString: () => isString,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n});\nmodule.exports = __toCommonJS(types_exports);\nvar import_tags = require(\"@domql/tags\");\nvar import_node = require(\"./node\");\nconst isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\nconst isObject = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n};\nconst isString = (arg) => typeof arg === \"string\";\nconst isNumber = (arg) => typeof arg === \"number\";\nconst isFunction = (arg) => typeof arg === \"function\";\nconst isBoolean = (arg) => arg === true || arg === false;\nconst isNull = (arg) => arg === null;\nconst isArray = (arg) => Array.isArray(arg);\nconst isObjectLike = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n};\nconst isDefined = (arg) => {\n return isObject(arg) || isObjectLike(arg) || isString(arg) || isNumber(arg) || isFunction(arg) || isArray(arg) || isObjectLike(arg) || isBoolean(arg) || isNull(arg);\n};\nconst isUndefined = (arg) => {\n return arg === void 0;\n};\nconst TYPES = {\n boolean: isBoolean,\n array: isArray,\n object: isObject,\n string: isString,\n number: isNumber,\n null: isNull,\n function: isFunction,\n objectLike: isObjectLike,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined\n};\nconst is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n};\nconst isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar array_exports = {};\n__export(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n});\nmodule.exports = __toCommonJS(array_exports);\nvar import_object = require(\"./object\");\nvar import_types = require(\"./types\");\nconst arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n};\nconst removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n};\nconst swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n};\nconst joinArrays = (...arrays) => {\n return [].concat(...arrays);\n};\nconst mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n};\nconst mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar object_exports = {};\n__export(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n});\nmodule.exports = __toCommonJS(object_exports);\nvar import_globals = require(\"@domql/globals\");\nvar import_types = require(\"./types.js\");\nvar import_array = require(\"./array.js\");\nconst exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n};\nconst map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n};\nconst merge = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n};\nconst deepMerge = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n};\nconst clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n};\nconst deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n};\nconst mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge(acc, deepCloneExclude(curr, excl)), {});\n};\nconst deepClone = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n};\nconst deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n};\nconst detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n};\nconst deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n};\nconst diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n};\nconst diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n};\nconst diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n};\nconst overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n};\nconst overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n};\nconst overwriteDeep = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n};\nconst mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge(a, b);\n return a || b;\n};\nconst flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n};\nconst isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n};\nconst removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar function_exports = {};\n__export(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n});\nmodule.exports = __toCommonJS(function_exports);\nconst debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n};\nconst memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar log_exports = {};\n__export(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n});\nmodule.exports = __toCommonJS(log_exports);\nconst logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n};\nconst logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar utils_exports = {};\nmodule.exports = __toCommonJS(utils_exports);\n__reExport(utils_exports, require(\"@domql/key\"), module.exports);\n__reExport(utils_exports, require(\"./types.js\"), module.exports);\n__reExport(utils_exports, require(\"./object.js\"), module.exports);\n__reExport(utils_exports, require(\"./function.js\"), module.exports);\n__reExport(utils_exports, require(\"./array.js\"), module.exports);\n__reExport(utils_exports, require(\"./node.js\"), module.exports);\n__reExport(utils_exports, require(\"./log.js\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar on_exports = {};\n__export(on_exports, {\n applyEvent: () => applyEvent,\n applyEventsOnNode: () => applyEventsOnNode,\n triggerEventOn: () => triggerEventOn\n});\nmodule.exports = __toCommonJS(on_exports);\nvar import_utils = require(\"@domql/utils\");\nconst applyEvent = (param, element, state, context, updatedObj) => {\n if (updatedObj)\n return param(updatedObj, element, state || element.state, context || element.context);\n return param(element, state || element.state, context || element.context);\n};\nconst triggerEventOn = (param, element, updatedObj) => {\n if (element.on && (0, import_utils.isFunction)(element.on[param])) {\n if (updatedObj) {\n const { state, context } = element;\n return applyEvent(element.on[param], element, state, context, updatedObj);\n }\n return applyEvent(element.on[param], element);\n }\n};\nconst applyEventsOnNode = (element) => {\n const { node, on } = element;\n for (const param in on) {\n if (param === \"init\" || param === \"beforeClassAssign\" || param === \"render\" || param === \"renderRouter\" || param === \"attachNode\" || param === \"stateInit\" || param === \"stateCreated\" || param === \"initStateUpdated\" || param === \"stateUpdated\" || param === \"initUpdate\" || param === \"update\")\n continue;\n const appliedFunction = element.on[param];\n if ((0, import_utils.isFunction)(appliedFunction)) {\n const { state, context } = element;\n node.addEventListener(param, (event) => appliedFunction(event, element, state, context));\n }\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar report_exports = {};\n__export(report_exports, {\n ERRORS_REGISTRY: () => ERRORS_REGISTRY,\n report: () => report\n});\nmodule.exports = __toCommonJS(report_exports);\nconst ERRORS_REGISTRY = {\n en: {\n DocumentNotDefined: {\n title: \"Document is undefined\",\n description: \"To tweak with DOM, you should use browser.\"\n },\n OverwriteToBuiltin: {\n title: \"Overwriting to builtin method\",\n description: \"Overwriting a builtin method in the window define is not possible, please choose different name\"\n },\n BrowserNotDefined: {\n title: \"Can't recognize environment\",\n description: \"Environment should be browser application, that can run Javascript\"\n },\n SetQuickPreferancesIsNotObject: {\n title: \"Quick preferances object is required\",\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n InvalidParams: {\n title: \"Params are invalid\",\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n CantCreateWithoutNode: {\n title: \"You must provide node\",\n description: \"Can't create DOM element without setting node or text\"\n },\n HTMLInvalidTag: {\n title: \"Element tag name (or DOM nodeName) is invalid\",\n description: \"To create element, you must provide valid DOM node. See full list of them at here: http://www.w3schools.com/tags/\"\n },\n HTMLInvalidAttr: {\n title: \"Attibutes object is invalid\",\n description: \"Please pass a valid plain object to apply as an attributes for a DOM node\"\n },\n HTMLInvalidData: {\n title: \"Data object is invalid\",\n description: \"Please pass a valid plain object to apply as an dataset for a DOM node\"\n },\n HTMLInvalidStyles: {\n title: \"Styles object is invalid\",\n description: \"Please pass a valid plain object to apply as an style for a DOM node\"\n },\n HTMLInvalidText: {\n title: \"Text string is invalid\",\n description: \"Please pass a valid string to apply text to DOM node\"\n },\n ElementOnStateIsNotDefined: {\n title: \"Element on state is not defined\",\n description: \"Please check the element object\"\n }\n }\n};\nconst report = (err, arg, element) => {\n const currentLang = \"en\";\n let errObj;\n if (err && typeof err === \"string\")\n errObj = ERRORS_REGISTRY[currentLang][err];\n return new Error(\n `\"${err}\", \"${arg}\"\n\n`,\n `${errObj.description}`,\n element ? `\n\n${element}` : \"\"\n );\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar can_exports = {};\n__export(can_exports, {\n canRender: () => canRender\n});\nmodule.exports = __toCommonJS(can_exports);\nvar import_report = require(\"@domql/report\");\nvar import_utils = require(\"@domql/utils\");\nconst canRender = (element) => {\n const tag = element.tag || \"div\";\n return (0, import_utils.isValidHtmlTag)(tag) || (0, import_report.report)(\"HTMLInvalidTag\");\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar event_exports = {};\nmodule.exports = __toCommonJS(event_exports);\n__reExport(event_exports, require(\"./on\"), module.exports);\n__reExport(event_exports, require(\"./can\"), module.exports);\n", "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../node_modules/@domql/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../node_modules/@domql/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../node_modules/@domql/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../node_modules/@domql/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray5,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray5 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray5(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray5,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteObj: () => overwriteObj,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj) => {\n for (const e in obj) {\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend) => {\n for (const e in extend) {\n const elementProp = element[e];\n const extendProp = extend[e];\n if (e === \"parent\" || e === \"props\")\n continue;\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj) => {\n const o = {};\n for (const prop in obj) {\n if (prop === \"node\")\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, exclude = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, exclude));\n }\n const o = {};\n for (const k in obj) {\n if (exclude.indexOf(k) > -1)\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, exclude);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, exclude));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, exclude);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map(deepClone2);\n }\n const o = {};\n for (const prop in obj) {\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = mergeArray(objProp);\n }\n if ((0, import_types.isArray)(objProp)) {\n o[prop] = objProp.map((v) => (0, import_types.isObject)(v) ? deepClone2(v) : v);\n } else if ((0, import_types.isObject)(objProp)) {\n o[prop] = deepClone2(objProp);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var overwrite = (element, params, options) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (e === \"props\")\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwriteObj = (params, obj) => {\n const changes = {};\n for (const e in params) {\n const objProp = obj[e];\n const paramsProp = params[e];\n if (paramsProp) {\n obj[e] = changes[e] = objProp;\n }\n }\n return changes;\n };\n var overwriteDeep = (params, obj) => {\n for (const e in params) {\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(paramsProp, objProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var mergeArray = (arr) => {\n return arr.reduce((a, c) => deepMerge3(a, deepClone2(c)), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : deepClone2(obj);\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = mergeAndCloneIfArray(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n let symbol = code.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key) => {\n const CONFIG2 = getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (rgb) {\n if (tone) {\n if (!val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n } else\n rgb = val[tone].rgb;\n }\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n } else\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n};\nvar getMediaColor = (value, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"antialiased\",\n scrollBehavior: \"smooth\",\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar router_exports = {};\n__export(router_exports, {\n default: () => router_default,\n getActiveRoute: () => getActiveRoute,\n lastLevel: () => lastLevel,\n router: () => router\n});\nmodule.exports = __toCommonJS(router_exports);\nvar import_globals = require(\"@domql/globals\");\nvar import_utils = require(\"@domql/utils\");\nvar _a;\nconst getActiveRoute = (route = import_globals.window.location.pathname, level) => `/${route.split(\"/\")[level + 1]}`;\nlet lastLevel = 0;\nconst defaultOptions = {\n level: lastLevel,\n pushState: true,\n scrollToTop: true,\n scrollToNode: false,\n scrollNode: (_a = import_globals.document) == null ? void 0 : _a.documentElement,\n scrollBody: false,\n scrollDocument: true,\n useFragment: false,\n updateState: true,\n scrollToOffset: 0,\n scrollToOptions: { behavior: \"smooth\" }\n};\nconst router = (path, element, state = {}, options = defaultOptions) => {\n (0, import_utils.merge)(options, defaultOptions);\n lastLevel = options.lastLevel;\n const [pathname, hash] = path.split(\"#\");\n const route = getActiveRoute(pathname, options.level);\n const content = element.routes[route] || element.routes[\"/*\"];\n if (!content)\n return;\n if (options.pushState)\n import_globals.window.history.pushState(state, null, pathname + (hash ? `#${hash}` : \"\"));\n element.set({ tag: options.useFragment && \"fragment\", extend: content });\n if (options.updateState) {\n element.state.update({ route, hash }, {\n preventContentUpdate: !options.stateContentUpdate\n });\n }\n const rootNode = element.node;\n const scrollNode = options.scrollNode;\n if (options.scrollToTop) {\n scrollNode.scrollTo({\n ...options.scrollToOptions || {},\n top: 0,\n left: 0\n });\n }\n if (options.scrollToNode) {\n content.content.node.scrollIntoView(\n options.scrollToOptions\n );\n }\n if (hash) {\n const activeNode = import_globals.document.getElementById(hash);\n if (activeNode) {\n const top = activeNode.getBoundingClientRect().top + rootNode.scrollTop - options.scrollToOffset || 0;\n scrollNode.scrollTo({\n ...options.scrollToOptions || {},\n top,\n left: 0\n });\n }\n }\n};\nvar router_default = router;\n", "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../node_modules/@domql/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../node_modules/@domql/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../node_modules/@domql/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../node_modules/@domql/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray5,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray5 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray5(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray5,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteObj: () => overwriteObj,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj) => {\n for (const e in obj) {\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend) => {\n for (const e in extend) {\n const elementProp = element[e];\n const extendProp = extend[e];\n if (e === \"parent\" || e === \"props\")\n continue;\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj) => {\n const o = {};\n for (const prop in obj) {\n if (prop === \"node\")\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, exclude = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, exclude));\n }\n const o = {};\n for (const k in obj) {\n if (exclude.indexOf(k) > -1)\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, exclude);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, exclude));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, exclude);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map(deepClone2);\n }\n const o = {};\n for (const prop in obj) {\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = mergeArray(objProp);\n }\n if ((0, import_types.isArray)(objProp)) {\n o[prop] = objProp.map((v) => (0, import_types.isObject)(v) ? deepClone2(v) : v);\n } else if ((0, import_types.isObject)(objProp)) {\n o[prop] = deepClone2(objProp);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var overwrite = (element, params, options) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (e === \"props\")\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwriteObj = (params, obj) => {\n const changes = {};\n for (const e in params) {\n const objProp = obj[e];\n const paramsProp = params[e];\n if (paramsProp) {\n obj[e] = changes[e] = objProp;\n }\n }\n return changes;\n };\n var overwriteDeep = (params, obj) => {\n for (const e in params) {\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(paramsProp, objProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var mergeArray = (arr) => {\n return arr.reduce((a, c) => deepMerge3(a, deepClone2(c)), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : deepClone2(obj);\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = mergeAndCloneIfArray(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n let symbol = code.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key) => {\n const CONFIG2 = getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (rgb) {\n if (tone) {\n if (!val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n } else\n rgb = val[tone].rgb;\n }\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n } else\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n};\nvar getMediaColor = (value, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"antialiased\",\n scrollBehavior: \"smooth\",\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "'use strict'\n\n// export * from './styles'\n\nexport * from '@symbo.ls/atoms'\nexport * from '@symbo.ls/box'\n\nexport * from '@symbo.ls/avatar'\nexport * from '@symbo.ls/button'\nexport * from '@symbo.ls/buttonset'\nexport * from '@symbo.ls/datepicker'\nexport * from '@symbo.ls/dropdown'\n\nexport * from '@symbo.ls/icon'\nexport * from '@symbo.ls/link'\nexport * from '@symbo.ls/input'\nexport * from '@symbo.ls/field'\nexport * from '@symbo.ls/video'\n\nexport * from '@symbo.ls/range'\nexport * from '@symbo.ls/slider'\nexport * from '@symbo.ls/notification'\nexport * from '@symbo.ls/tooltip'\nexport * from '@symbo.ls/textarea'\nexport * from '@symbo.ls/label'\nexport * from '@symbo.ls/pills'\nexport * from '@symbo.ls/select'\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Direction = {\n props: {\n direction: 'ltr'\n },\n class: {\n direction: ({ props }) => ({ direction: props.direction })\n }\n}\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nexport const Img = {\n tag: 'img',\n\n props: {\n src: '',\n alt: '',\n title: ''\n },\n\n attr: {\n src: ({ props }) => props.src,\n alt: ({ props }) => props.alt,\n title: ({ props }) => props.title || props.alt\n }\n}\n", "'use strict'\n\nexport const Form = {\n tag: 'form',\n props: {},\n attr: {\n action: ({ props }) => props.action,\n method: ({ props }) => props.method,\n enctype: ({ props }) => props.enctype\n }\n}\n", "'use strict'\n\nimport { merge, isArray, overwriteShallow } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(key, props, isSubtree ? result : result?.media, element),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result?.selector, element),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result?.selector, element),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result?.selector, element),\n $: (key, props, result, element, isSubtree) => applyCaseProps(key, props, isSubtree ? result : result?.case, element),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(key, props, isSubtree ? result : result?.case, element),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(key, props, isSubtree ? result : result?.case, element)\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey]\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n overwriteShallow(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n if (!context) return\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n class: {\n case: (el, s) => {\n return {\n //\n }\n }\n },\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nexport const Iframe = {\n tag: 'iframe',\n props: {\n position: 'relative',\n minWidth: 'H',\n minHeight: 'H'\n },\n attr: {\n src: ({ props }) => props.src,\n loading: ({ props }) => props.loading,\n allowfullscreen: ({ props }) => props.allowfullscreen,\n referrerpolicy: ({ props }) => props.referrerpolicy\n }\n}\n", "'use strict'\n\nexport const Interaction = {\n class: {\n userSelect: ({ props }) => props.userSelect && ({ userSelect: props.userSelect }),\n pointerEvents: ({ props }) => props.pointerEvents && ({ pointerEvents: props.pointerEvents }),\n cursor: ({ props }) => props.cursor && ({ cursor: props.cursor })\n }\n}\n", "'use strict'\n\nconst style = {\n appearance: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit'\n}\n\nexport const Hoverable = {\n props: {\n transition: 'C defaultBezier',\n transitionProperty: 'opacity, transform',\n opacity: 0.85,\n\n ':hover': {\n opacity: 0.9,\n transform: 'scale(1.015)'\n },\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1,\n transform: 'scale(1.015)',\n\n ':hover': { opacity: 1 }\n }\n }\n}\n\nexport const Clickable = {\n extend: Hoverable,\n props: {\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1\n }\n }\n}\n\nexport const Focusable = {\n props: {\n border: 'none',\n outline: 'solid, 0, blue .3',\n ':focus-visible': {\n opacity: 1,\n outline: 'solid, X, blue .3'\n }\n },\n\n attr: {\n placeholder: ({ props }) => props.placeholder,\n tabIndex: ({ props }) => props.tabIndex\n }\n}\n\nexport const FocusableComponent = {\n extend: Focusable,\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n fontFamily: 'inherit',\n style\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nexport const Overflow = {\n class: {\n overflow: ({ props }) => props.overflow && ({ overflow: props.overflow })\n }\n}\n", "'use strict'\n\nimport { IGNORE_STATE_PARAMS } from './ignore'\n\nimport { triggerEventOn } from '@domql/event'\nimport {\n is,\n isObject,\n exec,\n isFunction,\n isUndefined,\n arrayContainsOtherArray,\n isObjectLike,\n isArray,\n removeFromArray,\n removeFromObject,\n deepClone,\n overwriteShallow,\n overwriteDeep\n} from '@domql/utils'\n\nexport const parse = function () {\n const state = this\n if (isObject(state)) {\n const obj = {}\n for (const param in state) {\n if (!IGNORE_STATE_PARAMS.includes(param)) {\n obj[param] = state[param]\n }\n }\n return obj\n } else if (isArray(state)) {\n return state.filter(item => !IGNORE_STATE_PARAMS.includes(item))\n }\n}\n\nexport const clean = function (options = {}) {\n const state = this\n for (const param in state) {\n if (!IGNORE_STATE_PARAMS.includes(param)) {\n delete state[param]\n }\n }\n state.update(state, { skipOverwrite: true, options })\n return state\n}\n\nexport const destroy = function () {\n const state = this\n const element = state.__element\n delete element.state\n element.state = state.parent\n\n if (state.parent) {\n delete state.parent.__children[element.key]\n }\n\n if (state.__children) {\n for (const key in state.__children) {\n const child = state.__children[key]\n if (child.state) {\n child.parent = state.parent\n }\n }\n }\n\n element.state.update()\n return element.state\n}\n\nexport const rootUpdate = function (obj, options = {}) {\n const state = this\n if (!state) return\n const rootState = (state.__element.__ref.__root).state\n return rootState.update(obj, options)\n}\n\nexport const updateState = function (obj, options = {}) {\n const state = this\n const element = state.__element\n const __elementRef = element.__ref\n const parentState = element.parent.state\n state.parent = parentState\n\n for (const param in state) {\n if (isUndefined(state[param])) {\n delete state[param]\n }\n }\n\n if (!state.__element) {\n create(element, element.parent)\n }\n\n const initStateUpdateReturns = triggerEventOn('initStateUpdated', element, obj)\n if (initStateUpdateReturns === false) return element\n\n if (!options.skipOverwrite) {\n if (options.shallow) {\n overwriteShallow(state, obj, IGNORE_STATE_PARAMS)\n } else {\n overwriteDeep(state, obj, IGNORE_STATE_PARAMS)\n }\n }\n\n const stateKey = __elementRef.__state\n const shouldPropagateState = stateKey && parentState && parentState[stateKey] && !options.stopStatePropagation\n if (shouldPropagateState) {\n const isStringState = (__elementRef.__stateType === 'string')\n const value = isStringState ? state.value : state.parse()\n parentState[stateKey] = value\n parentState.update(value, { skipOverwrite: true, ...options })\n return state\n }\n\n if (!options.preventUpdate) {\n element.update({}, options)\n } else if (options.preventUpdate === 'recursive') {\n element.update({}, { ...options, preventUpdate: true })\n }\n\n if (state.__depends) {\n for (const el in state.__depends) {\n const findElement = state.__depends[el]\n findElement.clean().update(state.parse(), options)\n }\n }\n\n if (!options.preventUpdateListener) {\n triggerEventOn('stateUpdated', element, obj)\n }\n\n return state\n}\n\nexport const remove = function (key, options) {\n const state = this\n if (isArray(state)) removeFromArray(state, key)\n if (isObject(state)) removeFromObject(state, key)\n return state.update(state, { skipOverwrite: true, options })\n}\n\nexport const apply = function (func, options) {\n const state = this\n if (isFunction(func)) {\n func(state)\n return state.update(state, { skipOverwrite: true, options })\n }\n}\n\nconst getParentStateInKey = (stateKey, parentState) => {\n const arr = stateKey.split('../')\n const arrLength = arr.length - 1\n for (let i = 0; i < arrLength; i++) {\n if (!parentState.parent) return null\n parentState = parentState.parent\n }\n return parentState\n}\n\nconst getChildStateInKey = (stateKey, parentState) => {\n const arr = stateKey.split('/')\n const arrLength = arr.length - 1\n for (let i = 0; i < arrLength; i++) {\n const childKey = arr[i]\n const grandChildKey = arr[i + 1]\n const childInParent = parentState[childKey]\n if (childInParent && childInParent[grandChildKey]) {\n stateKey = grandChildKey\n parentState = childInParent\n } else return\n }\n return parentState[stateKey]\n}\n\nconst createInheritedState = function (element, parent) {\n const __elementRef = element.__ref\n let stateKey = __elementRef.__state\n if (!stateKey) return element.state\n\n let parentState = parent.state\n if (stateKey.includes('../')) {\n parentState = getParentStateInKey(stateKey, parent.state)\n stateKey = stateKey.replaceAll('../', '')\n }\n if (!parentState) return {}\n\n const keyInParentState = getChildStateInKey(stateKey, parentState)\n if (!keyInParentState) return {}\n\n if (is(keyInParentState)('object', 'array')) {\n return deepClone(keyInParentState, IGNORE_STATE_PARAMS)\n } else if (is(keyInParentState)('string', 'number')) {\n __elementRef.__stateType = 'string'\n return { value: keyInParentState }\n }\n\n console.warn(stateKey, 'is not present. Replacing with', {})\n return {}\n}\n\nexport const createState = function (element, parent, opts) {\n const skip = (opts && opts.skip) ? opts.skip : false\n let { state, __ref: __elementRef } = element\n\n if (isFunction(state)) element.state = exec(state, element)\n\n if (is(state)('string', 'number')) {\n __elementRef.__state = state\n element.state = {}\n }\n if (state === true) {\n __elementRef.__state = element.key\n element.state = {}\n }\n\n // trigger `on.stateInit`\n triggerEventOn('stateInit', element)\n\n state = element.state = createInheritedState(element, parent)\n\n if (!state) {\n if (parent && parent.state) return parent.state\n return {}\n } else {\n __elementRef.__hasRootState = true\n }\n\n // reference other state\n // TODO: check why __ref is assigned with element\n // /docs/intro\n const { __ref } = state\n if (__ref) {\n state = deepClone(__ref, IGNORE_STATE_PARAMS)\n if (isObject(__ref.__depends)) {\n __ref.__depends[element.key] = state\n } else __ref.__depends = { [element.key]: state }\n } else {\n state = deepClone(state, IGNORE_STATE_PARAMS)\n }\n\n element.state = state\n\n // NOTE: Only true when 'onlyResolveExtends' option is set to true\n if (skip) return state\n\n applyMethods(element, state)\n\n // trigger `on.stateCreated`\n triggerEventOn('stateCreated', element)\n\n return state\n}\n\nexport const isState = function (state) {\n if (!isObjectLike(state)) return false\n const keys = Object.keys(state)\n return arrayContainsOtherArray(keys, ['update', 'parse', 'clean', 'create', 'parent', 'rootUpdate'])\n}\n\nconst applyMethods = (element, state) => {\n const __elementRef = element.__ref\n\n state.clean = clean\n state.parse = parse\n state.destroy = destroy\n state.update = updateState\n state.rootUpdate = rootUpdate\n state.create = createState\n state.remove = remove\n state.apply = apply\n state.parent = element.parent.state\n state.__element = element\n state.__children = {}\n state.__root = __elementRef.__root ? __elementRef.__root.state : state\n\n if (state.parent) state.parent.__children[element.key] = state\n}\n\nexport default createState\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { getSystemTheme } from './Theme'\n\nexport const Picture = {\n tag: 'picture',\n\n childExtend: {\n tag: 'source',\n attr: {\n media: element => {\n const { props, key, context } = element\n const { MEDIA } = context.designSystem\n const globalTheme = getSystemTheme(element)\n const mediaName = (props.media || key).slice(1)\n\n if (mediaName === globalTheme) return '(min-width: 0px)'\n else if (mediaName === 'dark' || mediaName === 'light') return '(max-width: 0px)'\n\n return MEDIA[mediaName]\n },\n srcset: ({ props }) => props.srcset\n }\n },\n\n Img: ({ props }) => ({\n width: 'inherit',\n height: 'inherit',\n src: props.src\n })\n}\n", "'use strict'\n\nexport const Pseudo = {\n class: {\n content: ({ props }) => props.content && ({ content: props.content })\n }\n}\n", "'use strict'\n\n// import { init } from '@symbo.ls/init'\n\n// create SVG symbol\nexport const Svg = {\n tag: 'svg',\n props: {\n style: { '*': { fill: 'currentColor' } }\n },\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink'\n },\n html: ({ key, props, context, ...el }) => {\n const { designSystem, utils } = context\n const SVG = designSystem && designSystem.SVG\n const useSvgSprite = props.spriteId || (context.designSystem && context.designSystem.useSvgSprite)\n const useSVGSymbol = icon => `<use xlink:href=\"#${icon}\" />`\n\n const init = utils && utils.init\n\n if (!useSvgSprite && props.src) return props.src\n\n const spriteId = props.spriteId\n if (spriteId) return useSVGSymbol(spriteId)\n\n const symbolId = Symbol.for(props.src)\n let SVGKey = SVG[symbolId]\n if (SVGKey && SVG[SVGKey]) return useSVGSymbol(SVGKey)\n\n SVGKey = SVG[symbolId] = Math.random()\n if (props.src) {\n init({\n svg: { [SVGKey]: props.src }\n }, {\n document: context.document,\n emotion: context.emotion\n })\n }\n\n return useSVGSymbol(SVGKey)\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n", "'use strict'\n\nexport const Transform = {\n class: {\n transform: ({ props }) => props.transform && ({ transform: props.transform }),\n transformOrigin: ({ props }) => props.transformOrigin && ({ transformOrigin: props.transformOrigin })\n }\n}\n", "'use strict'\n\nexport const XYZ = {\n class: {\n zIndex: ({ props }) => props.zIndex && ({ zIndex: props.zIndex })\n }\n}\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "/*\n\nBased off glamor's StyleSheet, thanks Sunil \u2764\uFE0F\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n", "export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n", "/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n", "import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n", "import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n", "import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n", "import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", "function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n", "import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n", "/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n", "var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n", "import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n", "var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n", "import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport default createEmotion;\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport {\n Shape,\n Position,\n Theme,\n Block,\n Text,\n Overflow,\n Timing,\n Transform,\n Media,\n Interaction,\n XYZ,\n Animation\n} from '@symbo.ls/atoms'\n\nconst PropsCSS = {\n class: {\n style: ({ props }) => props && props.style\n }\n}\n\nexport const Box = {\n extend: [\n PropsCSS,\n Shape,\n Position,\n Theme,\n Block,\n Text,\n Overflow,\n Timing,\n Transform,\n Media,\n Interaction,\n XYZ,\n Animation\n ],\n attr: {\n id: ({ props }) => props.id\n }\n}\n", "'use strict'\n\nimport { Img, Flex } from '@symbo.ls/atoms'\n\nexport const Avatar = {\n extend: Img,\n props: {\n display: 'block',\n avatarType: 'initials',\n borderRadius: '100%',\n boxSize: 'B',\n cursor: 'pointer'\n },\n attr: {\n src: ({ key, props }) => props.src || `https://avatars.dicebear.com/api/${props.avatarType || 'adventurer-neutral'}/${props.key || key}.svg`\n }\n}\n\nexport const AvatarBundle = {\n extend: Flex,\n childExtend: {\n extend: Avatar,\n props: {\n boxSize: 'B1',\n border: '0.1312em, black .85, solid',\n ':not(:last-child)': {\n margin: '0 -Y2 0 0'\n }\n }\n }\n}\n", "'use strict'\n\nimport { Flex, Svg } from '@symbo.ls/atoms'\n\nexport const Icon = {\n extend: Svg,\n props: ({ key, props, parent, context }) => {\n const { ICONS, useIconSprite, verbose } = context && context.designSystem\n const { toCamelCase } = context && context.utils\n const iconName = props.inheritedString || props.name || props.icon || key\n const camelCase = toCamelCase(iconName)\n\n const isArray = camelCase.split(/([a-z])([A-Z])/g)\n\n let activeIconName\n if (props.active) {\n activeIconName = props['.active'].name || props['.active'].icon\n }\n if (\n parent &&\n parent.props &&\n parent.props.active &&\n parent.props['.active'] &&\n parent.props['.active'].icon\n ) {\n activeIconName = parent.props['.active'].icon.name || parent.props['.active'].icon.icon || parent.props['.active'].icon\n }\n\n let validIconName\n if (ICONS[activeIconName]) validIconName = activeIconName\n if (ICONS[camelCase]) validIconName = camelCase\n else if (ICONS[isArray[0] + isArray[1]]) validIconName = isArray[0] + isArray[1]\n else if (ICONS[isArray[0]]) validIconName = isArray[0]\n else {\n if (verbose) console.warn('Can\\'t find icon:', iconName, validIconName)\n }\n\n const iconFromLibrary = ICONS[validIconName]\n const directSrc = (parent && parent.props && parent.props.src) || props.src\n\n return {\n width: 'A',\n height: 'A',\n display: 'inline-block',\n spriteId: useIconSprite && validIconName,\n src: iconFromLibrary || directSrc || ICONS.noIcon,\n style: { fill: 'currentColor' }\n }\n },\n attr: { viewBox: '0 0 24 24' }\n}\n\nexport const IconText = {\n extend: Flex,\n\n props: {\n align: 'center center',\n lineHeight: 1\n },\n\n icon: {\n extend: Icon,\n if: ({ parent }) => parent.props.icon\n },\n\n Icon: {\n props: {},\n if: ({ props }) => props.name || props.icon\n },\n\n text: ({ props }) => props.text\n}\n", "'use strict'\n\nimport { FocusableComponent } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\n\nexport const Button = {\n extend: [FocusableComponent, IconText],\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n display: 'inline-flex',\n align: 'center center',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n padding: 'Z A1',\n fontFamily: 'inherit',\n round: 'C2'\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n\nexport const SquareButton = {\n extend: Button,\n props: {\n fontSize: 'A',\n width: 'A',\n padding: 'Z',\n aspectRatio: '1 / 1',\n justifyContent: 'center',\n round: 'Z',\n style: { boxSizing: 'content-box' }\n }\n}\n\nexport const CircleButton = {\n extend: SquareButton,\n props: { round: 'C' }\n}\n\nexport const KangorooButton = {\n extend: Button,\n childExtend: IconText\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { SquareButton } from '@symbo.ls/button'\n\nexport const ButtonSet = {\n tag: 'nav',\n extend: Flex,\n childExtend: SquareButton\n}\n", "'use strict'\n\nexport default {\n main: {\n 'section > header span:nth-child(6)': {\n opacity: 0.5\n },\n 'section > header span:nth-child(7)': {\n opacity: 0.5\n },\n 'section > div button:nth-child(7n)': {\n opacity: 0.5\n },\n 'section > div button:nth-child(7n - 1)': {\n opacity: 0.5\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(key, props, isSubtree ? result : result.media, element),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n $: (key, props, result, element, isSubtree) => applyCaseProps(key, props, isSubtree ? result : result.case, element),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(key, props, isSubtree ? result : result.case, element),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(key, props, isSubtree ? result : result.case, element)\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n merge(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport style from './style'\n\nimport { SquareButton, Button } from '@symbo.ls/button'\nimport { Flex, Grid } from '@symbo.ls/atoms'\n\nconst buttonProps = {\n theme: 'transparent',\n color: '--theme-quinary-dark-color',\n ':hover': {\n theme: 'quinary .child'\n }\n}\n\nconst aside = {\n props: {\n gap: 'X2',\n margin: '-Z - -Z -X2',\n padding: 'Z - Z X2',\n minHeight: '100%',\n height: '100%',\n width: '--spacing-D'\n },\n\n cnt: {\n extend: Flex,\n props: {\n flow: 'column',\n overflow: 'hidden auto',\n boxSize: '100% --spacing-D',\n top: '0',\n position: 'absolute',\n maxHeight: '100%',\n justifyContent: 'flex-end'\n },\n\n childExtend: {\n extend: Button,\n props: {\n ...buttonProps,\n fontSize: 'Z1'\n },\n text: ({ state }) => state.value\n }\n }\n\n}\n\nconst main = {\n extend: Flex,\n\n props: {\n flex: 1,\n gap: 'X2',\n flow: 'column',\n\n header: {\n align: 'center space-between'\n }\n },\n\n header: {\n extend: Flex,\n left: {\n extend: SquareButton,\n props: {\n ...buttonProps,\n round: 'C',\n icon: 'arrowAngleLeft'\n }\n },\n month: {\n tag: 'span',\n text: 'December'\n },\n right: {\n extend: SquareButton,\n props: {\n ...buttonProps,\n round: 'C',\n icon: 'arrowAngleRight'\n }\n }\n },\n days: {\n extend: Flex,\n props: {\n flow: 'column',\n gap: 'X2'\n },\n childExtend: {\n extend: Grid,\n props: {\n columns: 'repeat(7, 1fr)',\n gap: 'X2'\n }\n },\n weekDays: {\n childExtend: {\n extend: Button,\n props: {\n ...buttonProps,\n fontSize: 'Z1',\n padding: 'X2'\n }\n },\n ...[\n { text: 'Mo' },\n { text: 'Tu' },\n { text: 'We' },\n { text: 'Th' },\n { text: 'Fr' },\n { text: 'Sa' },\n { text: 'Su' }\n ]\n },\n\n cnt: {\n childExtend: {\n extend: SquareButton,\n\n props: ({ key, state }) => ({\n ...buttonProps,\n theme: 'quaternary',\n active: key === '18',\n '.active': {\n theme: 'quinary'\n }\n })\n },\n\n ...new Array(31).fill(undefined).map((_, i) => ({ text: i + 1 }))\n }\n }\n}\n\nexport const DatePicker = {\n style,\n extend: Flex,\n\n props: {\n position: 'relative',\n theme: 'quinary',\n transition: 'A all',\n round: 'Z',\n padding: 'Z Z2 Z X2',\n gap: 'X2',\n depth: 16,\n minHeight: '0',\n align: 'stretch center'\n },\n\n aside,\n main\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { Button } from '@symbo.ls/button'\n\nexport const DropdownList = {\n extend: Flex,\n\n props: {\n padding: '0 Y',\n maxHeight: 'G',\n flow: 'column',\n theme: 'quaternary',\n overflow: 'hidden auto',\n style: { listStyleType: 'none' }\n },\n\n childExtend: {\n extend: Button,\n state: {},\n props: ({ key, state }) => ({\n active: state.active === key,\n position: 'relative',\n round: '0',\n align: 'center flex-end',\n flow: 'row-reverse',\n padding: 'Z2 C Z2 Y2',\n margin: '0',\n gap: 'Y2',\n theme: 'quaternary .child',\n\n ':hover': {\n style: {\n svg: { opacity: '0.5' }\n }\n },\n\n icon: {\n active: state.active === key,\n name: 'checkmark',\n opacity: '0.1',\n '.active': { opacity: '1' }\n },\n\n ':not(:first-child)': {\n '@dark': { border: 'gray4 .65, solid' },\n '@light': { border: 'gray11, solid' },\n borderWidth: '1px 0 0'\n }\n })\n }\n}\n\nexport const DropdownParent = {\n props: {\n position: 'relative',\n zIndex: 999,\n style: {\n '&:hover': {\n zIndex: 1000,\n '& [dropdown]': {\n transform: 'translate3d(0,0,0)',\n opacity: 1,\n visibility: 'visible'\n }\n }\n }\n }\n}\n", "'use strict'\n\nimport { Flex, Svg } from '@symbo.ls/atoms'\n\nexport const Icon = {\n extend: Svg,\n props: ({ key, props, parent, context }) => {\n const { ICONS, useIconSprite, verbose } = context && context.designSystem\n const { toCamelCase } = context && context.utils\n const iconName = props.inheritedString || props.name || props.icon || key\n const camelCase = toCamelCase(iconName)\n\n const isArray = camelCase.split(/([a-z])([A-Z])/g)\n\n let activeIconName\n if (props.active) {\n activeIconName = props['.active'].name || props['.active'].icon\n }\n if (\n parent &&\n parent.props &&\n parent.props.active &&\n parent.props['.active'] &&\n parent.props['.active'].icon\n ) {\n activeIconName = parent.props['.active'].icon.name || parent.props['.active'].icon.icon || parent.props['.active'].icon\n }\n\n let validIconName\n if (ICONS[activeIconName]) validIconName = activeIconName\n if (ICONS[camelCase]) validIconName = camelCase\n else if (ICONS[isArray[0] + isArray[1]]) validIconName = isArray[0] + isArray[1]\n else if (ICONS[isArray[0]]) validIconName = isArray[0]\n else {\n if (verbose) console.warn('Can\\'t find icon:', iconName, validIconName)\n }\n\n const iconFromLibrary = ICONS[validIconName]\n const directSrc = parent.props.src || props.src\n\n return {\n width: 'A',\n height: 'A',\n display: 'inline-block',\n spriteId: useIconSprite && validIconName,\n src: iconFromLibrary || directSrc || ICONS.noIcon,\n style: { fill: 'currentColor' }\n }\n },\n attr: { viewBox: '0 0 24 24' }\n}\n\nexport const IconText = {\n extend: Flex,\n\n props: {\n align: 'center center',\n lineHeight: 1\n },\n\n icon: {\n extend: Icon,\n if: ({ parent }) => parent.props.icon\n },\n\n text: ({ props }) => props.text\n}\n", "'use strict'\n\nimport { router as defaultRouter } from '@domql/router'\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Link = {\n extend: Focusable,\n tag: 'a',\n props: {\n aria: {},\n fontWeight: 'bold',\n textDecoration: 'none',\n color: 'currentColor',\n draggable: false\n },\n attr: {\n href: (el, s, ctx) => {\n const { exec } = ctx.utils\n return exec(el.props.href, el) || exec(el.props, el).href\n },\n target: ({ props }) => props.target,\n 'aria-label': ({ props }) => props.aria ? props.aria.label : props.text,\n draggable: ({ props }) => props.draggable\n }\n}\n\nexport const RouterLink = {\n on: {\n click: (event, el, s, ctx) => {\n const { props } = el\n const { utils, routerOptions } = ctx\n const { router } = utils\n const root = el.__ref.__root\n const { href } = props\n const linkIsExternal = href.includes('http://') ||\n href.includes('https://') ||\n href.includes('mailto:') ||\n href.includes('tel:')\n const options = props.routerOptions || routerOptions || {\n scrollToOptions: { behaviour: 'instant' }\n }\n if (href && !linkIsExternal) {\n (router || defaultRouter)(href, root, {}, options)\n event.preventDefault()\n }\n }\n }\n}\n\nexport const RouteLink = {\n extend: [Link, RouterLink]\n}\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Input = {\n extend: [Focusable],\n tag: 'input',\n\n props: {\n border: 'none',\n type: 'input',\n theme: 'quaternary',\n fontSize: 'A',\n round: 'C',\n lineHeight: 1,\n fontFamily: 'smbls',\n padding: 'Z A'\n },\n\n attr: {\n pattern: ({ props }) => props.pattern,\n minlength: ({ props }) => props.minlength,\n maxlength: ({ props }) => props.maxlength,\n name: ({ props }) => props.name,\n autocomplete: ({ props }) => props.autocomplete,\n placeholder: ({ props }) => props.placeholder,\n value: ({ props, state }) => props.value,\n disabled: ({ props }) => props.disabled || null,\n readonly: ({ props }) => props.readonly,\n required: ({ props }) => props.required,\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(key, props, isSubtree ? result : result.media, element),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n $: (key, props, result, element, isSubtree) => applyCaseProps(key, props, isSubtree ? result : result.case, element),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(key, props, isSubtree ? result : result.case, element),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(key, props, isSubtree ? result : result.case, element)\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n merge(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nconst style = {\n appearance: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit'\n}\n\nexport const Hoverable = {\n props: {\n transition: 'C defaultBezier',\n transitionProperty: 'opacity, transform',\n opacity: 0.85,\n\n ':hover': {\n opacity: 0.9,\n transform: 'scale(1.015)'\n },\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1,\n transform: 'scale(1.015)',\n\n ':hover': { opacity: 1 }\n }\n }\n}\n\nexport const Clickable = {\n extend: Hoverable,\n props: {\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1\n }\n }\n}\n\nexport const Focusable = {\n props: {\n border: 'none',\n outline: 'solid, 0, blue .3',\n ':focus-visible': {\n opacity: 1,\n outline: 'solid, X, blue .3'\n }\n },\n\n attr: {\n placeholder: ({ props }) => props.placeholder,\n tabIndex: ({ props }) => props.tabIndex\n }\n}\n\nexport const FocusableComponent = {\n extend: Focusable,\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n fontFamily: 'inherit',\n style\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\nimport { Input } from '@symbo.ls/input'\n\nexport const Field = {\n extend: [IconText],\n\n props: ({ state, key }) => ({\n value: state[key],\n\n depth: 16,\n placeholder: '',\n padding: 'A B',\n round: 'C',\n type: 'text',\n position: 'relative',\n width: '16em',\n\n style: {\n appearance: 'none',\n outline: 0,\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit',\n boxSizing: 'border-box'\n },\n\n input: {\n width: '100%',\n height: '100%',\n border: 'none'\n },\n\n svg: {\n position: 'absolute',\n right: '1em'\n }\n }),\n\n input: { extend: [Focusable, Input] }\n}\n", "'use strict'\n\nexport const Video = {\n tag: 'video',\n\n childExtend: {\n tag: 'source',\n attr: {\n src: ({ props }) => props.src,\n controls: ({ props }) => props.controls\n }\n },\n\n props: {\n controls: true\n },\n\n attr: {\n autoplay: ({ props }) => props.autoplay,\n controls: ({ props }) => props.controls\n }\n}\n", "'use strict'\n\nimport { isFunction } from '@domql/utils'\nimport { opacify } from '@symbo.ls/scratch'\nimport { SquareButton } from '@symbo.ls/button'\n\nconst props = {\n appearance: 'none',\n width: '100%',\n height: '2px',\n outline: 'none',\n flex: 1,\n\n onInput: (ev, el, s) => s.update({ value: el.node.value }),\n onChange: (ev, el, s) => s.update({ value: el.node.value }),\n\n style: {\n appearance: 'none'\n },\n\n '::-webkit-slider-thumb': {\n boxSizing: 'content-box',\n width: '8px',\n height: '8px',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: '100%',\n opacity: '.8',\n\n style: {\n appearance: 'none'\n }\n },\n\n '::-webkit-slider-runnable-track': {\n },\n\n '@dark': {\n background: 'white 0.2',\n\n '::-webkit-slider-thumb': {\n background: '#232526',\n borderColor: opacify('#454646', 0.75)\n },\n\n ':hover': {\n '::-webkit-slider-thumb': {\n borderColor: opacify('#fff', 0.35)\n }\n },\n\n ':focus': {\n '::-webkit-slider-thumb': {\n borderColor: '#3C6AC0'\n }\n }\n },\n\n '@light': {\n background: 'gray9',\n\n '::-webkit-slider-thumb': {\n background: 'white',\n borderColor: 'gray9'\n },\n\n ':hover': {\n '::-webkit-slider-thumb': {\n borderColor: 'gray7'\n }\n },\n\n ':focus': {\n '::-webkit-slider-thumb': {\n borderColor: 'blue'\n }\n }\n }\n}\n\nexport const Range = {\n props,\n\n tag: 'input',\n attr: { type: 'range' }\n}\n\nconst listenProp = (el, prop, def) => {\n const val = el.props && el.props[prop]\n const r = (isFunction(val) ? val(el, el.state) : val !== undefined ? val : def !== undefined ? def : 50)\n return r + ''\n}\n\nexport const RangeWithButtons = {\n minus: {\n extend: SquareButton,\n props: { theme: 'tertiary', icon: 'minus' },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.onClick) && el.props.onClick(ev, el, s)\n }\n }\n },\n value: {\n style: { width: '4ch' },\n tag: 'span',\n text: (el, s) => {\n const unit = listenProp(el.parent.input, 'unit', '')\n return '' + (s.value || 50) + unit\n }\n },\n input: {\n extend: Range,\n attr: {\n value: (el, s) => parseFloat(s.value),\n min: (el, s) => listenProp(el, 'min', 0),\n max: (el, s) => listenProp(el, 'max', 100),\n step: (el, s) => listenProp(el, 'step', 1)\n },\n on: {\n input: (ev, el, s) => el.props && isFunction(el.props.onInput) && el.props.onInput(ev, el, s),\n change: (ev, el, s) => el.props && isFunction(el.props.onChange) && el.props.onChange(ev, el, s)\n }\n },\n plus: {\n extend: SquareButton,\n props: { theme: 'tertiary', icon: 'plus' },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.onClick) && el.props.onClick(ev, el, s)\n }\n }\n }\n}\n", "'use strict'\n\nexport default {\n appearance: 'none',\n width: '100%',\n height: '2px',\n outline: 'none',\n flex: 1,\n '&::-webkit-slider-thumb': {\n boxSizing: 'content-box',\n appearance: 'none',\n width: '8px',\n height: '8px',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: '100%',\n opacity: '.8'\n }\n}\n", "'use strict'\n\nimport style from './style'\n\nimport { set, opacify } from '@symbo.ls/scratch'\nimport { isFunction } from '@domql/utils'\n\nimport { SquareButton } from '@symbo.ls/button'\n\nset({\n theme: {\n sliderThumb: {\n background: 'white 0.2',\n\n '&::-webkit-slider-thumb': {\n background: '#232526',\n borderColor: opacify('#454646', 0.75)\n },\n\n '&:hover': {\n '&::-webkit-slider-thumb': {\n borderColor: opacify('#fff', 0.35)\n }\n },\n\n '&:focus, &:active': {\n '&::-webkit-slider-thumb': {\n borderColor: '#3C6AC0'\n }\n }\n }\n }\n})\n\nexport const RangeSlider = {\n style,\n props: {\n theme: 'sliderThumb'\n },\n\n tag: 'input',\n attr: { type: 'range' }\n}\n\nconst listenProp = (el, prop, def) => {\n const val = el && el.props && el.props[prop]\n const r = (isFunction(val) ? val() : val) || (def !== undefined ? def : 50)\n return r\n}\n\nexport const Slider = {\n button0: {\n extend: [SquareButton],\n props: {\n icon: 'minus'\n },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.click) && el.props.click(ev, el, s)\n const input = el.parent.input\n const props = input.props\n const value = isFunction(props.value) ? props.value() : props.value\n input.node.value = value\n }\n }\n },\n value: {\n style: { width: '4ch' },\n tag: 'span',\n text: (el, s) => {\n const value = listenProp(el.parent.input, 'value')\n const unit = listenProp(el.parent.input, 'unit', '')\n return '' + value + unit\n }\n },\n range: {\n extend: RangeSlider,\n attr: {\n value: (el, s) => listenProp(el, 'value', 50),\n min: (el, s) => listenProp(el, 'min', 0),\n max: (el, s) => listenProp(el, 'max', 100),\n step: (el, s) => listenProp(el, 'step', 1)\n },\n on: {\n input: (ev, el, s) => el.props && isFunction(el.props.input) && el.props.input(ev, el, s),\n change: (ev, el, s) => el.props && isFunction(el.props.change) && el.props.change(ev, el, s)\n }\n },\n button1: {\n extend: [SquareButton],\n props: {\n icon: 'plus'\n },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.click) && el.props.click(ev, el, s)\n const input = el.parent.input\n const props = input.props\n const value = isFunction(props.value) ? props.value() : props.value\n input.node.value = value\n }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(key, props, isSubtree ? result : result.media, element),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n $: (key, props, result, element, isSubtree) => applyCaseProps(key, props, isSubtree ? result : result.case, element),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(key, props, isSubtree ? result : result.case, element),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(key, props, isSubtree ? result : result.case, element)\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n merge(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\n\nexport const Notification = {\n extend: Flex,\n\n props: {\n theme: 'alert',\n padding: 'Z1 B Z A',\n round: 'A A A Y2',\n gap: 'X2',\n cursor: 'pointer',\n align: 'flex-start center',\n\n icon: {\n icon: 'info outline'\n },\n\n article: {\n flow: 'column',\n align: 'flex-start',\n gap: 'X2',\n title: {\n fontWeight: '600',\n lineHeight: '1em',\n text: 'Notification'\n },\n p: {\n fontSize: 'Z',\n margin: '0',\n text: 'is not always a distraction'\n }\n }\n },\n\n icon: {\n extend: [IconText]\n },\n\n article: {\n extend: Flex,\n title: {},\n p: {}\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Tooltip = {\n extend: Flex,\n props: {\n background: 'black',\n color: 'white',\n flow: 'column',\n shape: 'tooltip',\n shapeDirection: 'top',\n padding: 'Z1 A',\n round: 'Y2',\n minWidth: 'D2',\n gap: 'X',\n textAlign: 'center',\n\n title: {\n fontWeight: 500,\n color: 'gray12',\n text: 'And tooltip is coming'\n },\n p: {\n fontSize: 'Z2',\n margin: '0',\n color: 'gray6',\n text: 'and winter too',\n fontWeight: '400'\n }\n },\n\n attr: { tooltip: true },\n\n title: {},\n p: {}\n}\n\nexport const TooltipParent = {\n props: {\n position: 'relative',\n zIndex: 999,\n style: {\n '&:hover, &:focus-visible': {\n zIndex: 1000,\n '& [tooltip]': {\n transform: 'translate3d(-50%,0,0)',\n opacity: 1,\n visibility: 'visible'\n }\n }\n }\n }\n}\n", "'use strict'\n\nimport { Input } from '@symbo.ls/input'\n\nconst props = {\n height: 'E',\n lineHeight: 1.4,\n style: { resize: 'none' }\n}\n\nexport const Textarea = {\n extend: [Input],\n props,\n tag: 'textarea'\n}\n", "'use strict'\n\nimport { Button } from '@symbo.ls/button'\n\nexport const Label = {\n extend: Button,\n\n props: {\n fontSize: 'Z2',\n emoji: '\uD83D\uDC4D',\n text: '3',\n padding: 'X2 Z',\n round: 'C',\n lineHeight: 1,\n gap: 'X2',\n depth: 16,\n fontWeight: '500',\n background: 'blue .3',\n color: 'white'\n },\n\n emoji: {\n props: ({ parent }) => ({ text: parent.props.emoji })\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Pills = {\n extend: Flex,\n props: (el, s) => ({\n display: 'flex',\n gap: 'Y2',\n\n childProps: {\n background: 'gray6',\n width: 'Y2',\n height: 'Y2',\n round: 'A',\n\n '.active': {\n background: 'gray9'\n }\n }\n }),\n childExtend: {\n props: (el, s) => ({ active: parseInt(el.key) === s.active })\n }\n}\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Select = {\n extend: Focusable,\n tag: 'select',\n\n props: {\n fontSize: 'A',\n style: {\n border: 'none',\n boxSizing: 'border-box',\n cursor: 'pointer'\n }\n },\n\n childExtend: {\n tag: 'option',\n props: {\n value: '',\n selected: '',\n disabled: ''\n },\n attr: {\n value: ({ props }) => props.value,\n selected: ({ props }) => props.selected,\n disabled: ({ props }) => props.disabled\n }\n },\n\n attr: {\n name: ({ props }) => props.name,\n disabled: ({ props }) => props.disabled\n }\n}\n"],
5
- "mappings": "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,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAEA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIG,gBAAejB,YAAW;AAAA,MAC5B,mDAAmDM,UAASC,UAAS;AACnE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIE,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkBU,cAAa,QAAQ,KAAK,SAAS,GAAG,gBAAgBA,cAAa,cAAc,KAAK,SAAS;AAChJ,YAAIC,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,eAAe,CAAC;AACpB,QAAAD,SAAQ,UAAUO,eAAc,YAAY;AAC5C,mBAAW,cAAcE,kBAAiB,GAAGT,SAAQ,OAAO;AAAA,MAC9D;AAAA,IACF,CAAC;AAGD,QAAIW,gBAAelB,YAAW;AAAA,MAC5B,mDAAmDM,UAASC,UAAS;AACnE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIW,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,eAAe,CAAC;AACpB,QAAAI,WAAU,cAAc;AAAA,UACtB,eAAe,MAAM;AAAA,UACrB,QAAQ,MAAM;AAAA,QAChB,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,YAAY;AAC5C,YAAI,kBAAkBtB,cAAY;AAClC,YAAI,SAAS,CAAC,QAAQ;AACpB,kBAAQ,OAAO,SAAS,WAAW,eAAe,gBAAgB,OAAO,OAAO,OAAO,OAAO,QAAQ,YAAY,OAAO,IAAI,aAAa,YAAY,OAAO,IAAI,aAAa,aAAa;AAAA,QAC7L;AACA,YAAI,gBAAgB,CAAC,QAAQ;AAC3B,kBAAQ,OAAO,gBAAgB,WAAW,eAAe,gBAAgB,OAAO,cAAc,OAAO,OAAO,QAAQ,YAAY,QAAQ,QAAQ,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,aAAa;AAAA,QAC7M;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAI2B,iBAAgBnB,YAAW;AAAA,MAC7B,oDAAoDM,UAASC,UAAS;AACpE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIW,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,gBAAgB,CAAC;AACrB,QAAAI,WAAU,eAAe;AAAA,UACvB,OAAO,MAAM;AAAA,UACb,IAAI,MAAMQ;AAAA,UACV,SAAS,MAAMC;AAAA,UACf,WAAW,MAAM;AAAA,UACjB,WAAW,MAAM;AAAA,UACjB,YAAY,MAAMC;AAAA,UAClB,OAAO,MAAMC;AAAA,UACb,QAAQ,MAAM;AAAA,UACd,UAAU,MAAM;AAAA,UAChB,UAAU,MAAMC;AAAA,UAChB,cAAc,MAAMC;AAAA,UACpB,UAAU,MAAM;AAAA,UAChB,aAAa,MAAMC;AAAA,UACnB,gBAAgB,MAAM;AAAA,QACxB,CAAC;AACD,QAAAnB,SAAQ,UAAUO,eAAc,aAAa;AAC7C,YAAI,cAAcG,cAAa;AAC/B,YAAI,cAAcC,cAAa;AAC/B,YAAI,iBAAiB,CAAC,QAAQ,YAAY,UAAU,KAAK,SAAS,GAAG;AACrE,YAAIM,aAAY,CAAC,QAAQ;AACvB,cAAI,QAAQ;AACV,mBAAO;AACT,iBAAO,OAAO,QAAQ,YAAY,IAAI,gBAAgB;AAAA,QACxD;AACA,YAAI,YAAY,CAAC,QAAQ,OAAO,QAAQ;AACxC,YAAI,WAAW,CAAC,QAAQ,OAAO,QAAQ;AACvC,YAAIF,eAAc,CAAC,QAAQ,OAAO,QAAQ;AAC1C,YAAI,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AACjD,YAAI,SAAS,CAAC,QAAQ,QAAQ;AAC9B,YAAID,YAAW,CAAC,QAAQ,MAAM,QAAQ,GAAG;AACzC,YAAII,iBAAgB,CAAC,QAAQ;AAC3B,cAAI,QAAQ;AACV,mBAAO;AACT,iBAAO,OAAO,QAAQ;AAAA,QACxB;AACA,YAAI,aAAa,CAAC,QAAQ;AACxB,iBAAOD,WAAU,GAAG,KAAKC,eAAc,GAAG,KAAK,UAAU,GAAG,KAAK,SAAS,GAAG,KAAKH,aAAY,GAAG,KAAKD,UAAS,GAAG,KAAKI,eAAc,GAAG,KAAK,UAAU,GAAG,KAAK,OAAO,GAAG;AAAA,QAC3K;AACA,YAAIC,eAAc,CAAC,QAAQ;AACzB,iBAAO,QAAQ;AAAA,QACjB;AACA,YAAI,QAAQ;AAAA,UACV,SAAS;AAAA,UACT,OAAOL;AAAA,UACP,QAAQG;AAAA,UACR,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,MAAM;AAAA,UACN,UAAUF;AAAA,UACV,YAAYG;AAAA,UACZ,MAAM,YAAY;AAAA,UAClB,aAAa,YAAY;AAAA,UACzB,SAAS;AAAA,QACX;AACA,YAAIL,MAAK,CAAC,QAAQ;AAChB,iBAAO,IAAI,SAAS;AAClB,mBAAO,KAAK,IAAI,CAAC,QAAQ,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS;AAAA,UACtE;AAAA,QACF;AACA,YAAIG,SAAQ,CAAC,QAAQ;AACnB,iBAAO,IAAI,SAAS;AAClB,mBAAO,KAAK,IAAI,CAAC,QAAQ,MAAM,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW;AAAA,UACxE;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAII,kBAAiB3B,YAAW;AAAA,MAC9B,qDAAqDM,UAASC,UAAS;AACrE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIW,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,iBAAiB,CAAC;AACtB,QAAAI,WAAU,gBAAgB;AAAA,UACxB,OAAO,MAAM;AAAA,UACb,WAAW,MAAMgB;AAAA,UACjB,kBAAkB,MAAM;AAAA,UACxB,iBAAiB,MAAM;AAAA,UACvB,WAAW,MAAM;AAAA,UACjB,eAAe,MAAM;AAAA,UACrB,2BAA2B,MAAM;AAAA,UACjC,MAAM,MAAMC;AAAA,UACZ,YAAY,MAAM;AAAA,UAClB,aAAa,MAAM;AAAA,UACnB,MAAM,MAAMC;AAAA,UACZ,kBAAkB,MAAM;AAAA,UACxB,aAAa,MAAM;AAAA,UACnB,KAAK,MAAM;AAAA,UACX,OAAO,MAAMC;AAAA,UACb,sBAAsB,MAAM;AAAA,UAC5B,YAAY,MAAM;AAAA,UAClB,mBAAmB,MAAM;AAAA,UACzB,gBAAgB,MAAM;AAAA,UACtB,WAAW,MAAM;AAAA,UACjB,eAAe,MAAMC;AAAA,UACrB,cAAc,MAAM;AAAA,UACpB,kBAAkB,MAAMC;AAAA,QAC1B,CAAC;AACD,QAAA1B,SAAQ,UAAUO,eAAc,cAAc;AAC9C,YAAI,kBAAkBtB,cAAY;AAClC,YAAI,eAAe2B,eAAc;AACjC,YAAIW,QAAO,CAAC,OAAO,SAAS,OAAO,YAAY;AAC7C,eAAK,GAAG,aAAa,YAAY,KAAK,GAAG;AACvC,mBAAO;AAAA,cACL;AAAA,cACA,SAAS,QAAQ;AAAA,cACjB,WAAW,QAAQ;AAAA,YACrB;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,MAAM,CAAC,KAAK,WAAW,YAAY;AACrC,qBAAW,KAAK,WAAW;AACzB,gBAAI,CAAC,IAAIA,MAAK,UAAU,CAAC,GAAG,OAAO;AAAA,UACrC;AAAA,QACF;AACA,YAAIC,UAAS,CAAC,SAAS,QAAQ;AAC7B,qBAAW,KAAK,KAAK;AACnB,kBAAM,cAAc,QAAQ,CAAC;AAC7B,kBAAM,UAAU,IAAI,CAAC;AACrB,gBAAI,gBAAgB,QAAQ;AAC1B,sBAAQ,CAAC,IAAI;AAAA,YACf;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,aAAa,CAAC,SAAS,WAAW;AACpC,qBAAW,KAAK,QAAQ;AACtB,kBAAM,cAAc,QAAQ,CAAC;AAC7B,kBAAM,aAAa,OAAO,CAAC;AAC3B,gBAAI,MAAM,YAAY,MAAM;AAC1B;AACF,iBAAK,GAAG,aAAa,cAAc,WAAW,MAAM,GAAG,aAAa,cAAc,UAAU,GAAG;AAC7F,yBAAW,aAAa,UAAU;AAAA,YACpC,WAAW,gBAAgB,QAAQ;AACjC,sBAAQ,CAAC,IAAI;AAAA,YACf;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,QAAQ,CAAC,QAAQ;AACnB,gBAAM,IAAI,CAAC;AACX,qBAAW,QAAQ,KAAK;AACtB,gBAAI,SAAS;AACX;AACF,cAAE,IAAI,IAAI,IAAI,IAAI;AAAA,UACpB;AACA,iBAAO;AAAA,QACT;AACA,YAAI,mBAAmB,CAAC,KAAK,UAAU,CAAC,MAAM;AAC5C,eAAK,GAAG,aAAa,SAAS,GAAG,GAAG;AAClC,mBAAO,IAAI,IAAI,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAAA,UACpD;AACA,gBAAM,IAAI,CAAC;AACX,qBAAW,KAAK,KAAK;AACnB,gBAAI,QAAQ,QAAQ,CAAC,IAAI;AACvB;AACF,gBAAI,IAAI,IAAI,CAAC;AACb,gBAAI,MAAM,aAAa,GAAG,aAAa,SAAS,CAAC,GAAG;AAClD,kBAAI,kBAAkB,GAAG,OAAO;AAAA,YAClC;AACA,iBAAK,GAAG,aAAa,SAAS,CAAC,GAAG;AAChC,gBAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAAA,YAClD,YAAY,GAAG,aAAa,UAAU,CAAC,GAAG;AACxC,gBAAE,CAAC,IAAI,iBAAiB,GAAG,OAAO;AAAA,YACpC;AACE,gBAAE,CAAC,IAAI;AAAA,UACX;AACA,iBAAO;AAAA,QACT;AACA,YAAI,oBAAoB,CAAC,KAAK,OAAO,CAAC,MAAM;AAC1C,iBAAO,IAAI,OAAO,CAAC,KAAK,SAAS,WAAW,KAAK,iBAAiB,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAAA,QACpF;AACA,YAAIH,cAAa,CAAC,QAAQ;AACxB,eAAK,GAAG,aAAa,SAAS,GAAG,GAAG;AAClC,mBAAO,IAAI,IAAIA,WAAU;AAAA,UAC3B;AACA,gBAAM,IAAI,CAAC;AACX,qBAAW,QAAQ,KAAK;AACtB,gBAAI,UAAU,IAAI,IAAI;AACtB,gBAAI,SAAS,aAAa,GAAG,aAAa,SAAS,OAAO,GAAG;AAC3D,wBAAU,WAAW,OAAO;AAAA,YAC9B;AACA,iBAAK,GAAG,aAAa,SAAS,OAAO,GAAG;AACtC,gBAAE,IAAI,IAAI,QAAQ,IAAI,CAAC,OAAO,GAAG,aAAa,UAAU,CAAC,IAAIA,YAAW,CAAC,IAAI,CAAC;AAAA,YAChF,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,gBAAE,IAAI,IAAIA,YAAW,OAAO;AAAA,YAC9B;AACE,gBAAE,IAAI,IAAI;AAAA,UACd;AACA,iBAAO;AAAA,QACT;AACA,YAAI,gBAAgB,CAAC,KAAK,cAAc,CAAC,MAAM;AAC7C,qBAAW,QAAQ,KAAK;AACtB,kBAAM,UAAU,IAAI,IAAI;AACxB,iBAAK,GAAG,aAAa,YAAY,OAAO,GAAG;AACzC,0BAAY,IAAI,IAAI,QAAQ,SAAS;AAAA,YACvC,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,0BAAY,IAAI,IAAI,CAAC;AACrB,4BAAc,SAAS,YAAY,IAAI,CAAC;AAAA,YAC1C,YAAY,GAAG,aAAa,SAAS,OAAO,GAAG;AAC7C,0BAAY,IAAI,IAAI,CAAC;AACrB,sBAAQ,QAAQ,CAAC,GAAG,MAAM;AACxB,qBAAK,GAAG,aAAa,UAAU,CAAC,GAAG;AACjC,8BAAY,IAAI,EAAE,CAAC,IAAI,CAAC;AACxB,gCAAc,GAAG,YAAY,IAAI,EAAE,CAAC,CAAC;AAAA,gBACvC,YAAY,GAAG,aAAa,YAAY,CAAC,GAAG;AAC1C,8BAAY,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS;AAAA,gBACpC,OAAO;AACL,8BAAY,IAAI,EAAE,CAAC,IAAI;AAAA,gBACzB;AAAA,cACF,CAAC;AAAA,YACH,OAAO;AACL,0BAAY,IAAI,IAAI;AAAA,YACtB;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,4BAA4B,CAAC,KAAK,WAAW,CAAC,MAAM;AACtD,qBAAW,QAAQ,KAAK;AACtB,kBAAM,UAAU,IAAI,IAAI;AACxB,iBAAK,GAAG,aAAa,YAAY,OAAO;AACtC;AAAA,sBACQ,GAAG,aAAa,UAAU,OAAO,GAAG;AAC5C,uBAAS,IAAI,IAAI,CAAC;AAClB,4BAAc,SAAS,SAAS,IAAI,CAAC;AAAA,YACvC,YAAY,GAAG,aAAa,SAAS,OAAO,GAAG;AAC7C,uBAAS,IAAI,IAAI,CAAC;AAClB,sBAAQ,QAAQ,CAAC,GAAG,MAAM;AACxB,qBAAK,GAAG,aAAa,YAAY,CAAC;AAChC;AACF,qBAAK,GAAG,aAAa,UAAU,CAAC,GAAG;AACjC,2BAAS,IAAI,EAAE,CAAC,IAAI,CAAC;AACrB,4CAA0B,GAAG,SAAS,IAAI,EAAE,CAAC,CAAC;AAAA,gBAChD,OAAO;AACL,2BAAS,IAAI,EAAE,CAAC,IAAI;AAAA,gBACtB;AAAA,cACF,CAAC;AAAA,YACH,OAAO;AACL,uBAAS,IAAI,IAAI;AAAA,YACnB;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,kBAAkB,CAAC,KAAK,cAAc,CAAC,MAAM;AAC/C,qBAAW,QAAQ,KAAK;AACtB,kBAAM,UAAU,IAAI,IAAI;AACxB,iBAAK,GAAG,aAAa,UAAU,OAAO,GAAG;AACvC,kBAAI,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,UAAU,KAAK,QAAQ,WAAW,GAAG,GAAG;AACrF,oBAAI;AACF,wBAAM,WAAW,gBAAgB,OAAO,KAAK,IAAI,UAAU;AAC3D,8BAAY,IAAI,IAAI;AAAA,gBACtB,SAAS,GAAP;AACA,sBAAI;AACF,gCAAY,IAAI,IAAI;AAAA,gBACxB;AAAA,cACF,OAAO;AACL,4BAAY,IAAI,IAAI;AAAA,cACtB;AAAA,YACF,YAAY,GAAG,aAAa,SAAS,OAAO,GAAG;AAC7C,0BAAY,IAAI,IAAI,CAAC;AACrB,sBAAQ,QAAQ,CAAC,YAAY;AAC3B,qBAAK,GAAG,aAAa,UAAU,OAAO,GAAG;AACvC,sBAAI,QAAQ,SAAS,IAAI,KAAK,QAAQ,SAAS,UAAU,KAAK,QAAQ,WAAW,GAAG,GAAG;AACrF,wBAAI;AACF,4BAAM,WAAW,gBAAgB,OAAO,KAAK,IAAI,UAAU;AAC3D,kCAAY,IAAI,EAAE,KAAK,QAAQ;AAAA,oBACjC,SAAS,GAAP;AACA,0BAAI;AACF,oCAAY,IAAI,EAAE,KAAK,OAAO;AAAA,oBAClC;AAAA,kBACF,OAAO;AACL,gCAAY,IAAI,EAAE,KAAK,OAAO;AAAA,kBAChC;AAAA,gBACF,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,8BAAY,IAAI,EAAE,KAAK,gBAAgB,OAAO,CAAC;AAAA,gBACjD,OAAO;AACL,8BAAY,IAAI,EAAE,KAAK,OAAO;AAAA,gBAChC;AAAA,cACF,CAAC;AAAA,YACH,YAAY,GAAG,aAAa,UAAU,OAAO,GAAG;AAC9C,0BAAY,IAAI,IAAI,gBAAgB,SAAS,YAAY,IAAI,CAAC;AAAA,YAChE,OAAO;AACL,0BAAY,IAAI,IAAI;AAAA,YACtB;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,YAAY,CAAC,SAAS,QAAQ,YAAY;AAC5C,gBAAM,EAAE,IAAI,IAAI;AAChB,gBAAM,UAAU,CAAC;AACjB,qBAAW,KAAK,QAAQ;AACtB,gBAAI,MAAM;AACR;AACF,kBAAM,cAAc,QAAQ,CAAC;AAC7B,kBAAM,aAAa,OAAO,CAAC;AAC3B,gBAAI,YAAY;AACd,kBAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI;AAC9B,kBAAI,CAAC,IAAI;AAAA,YACX;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,cAAc,CAAC,UAAU,WAAW,UAAU;AAChD,qBAAW,KAAK,WAAW;AACzB,gBAAI,MAAM;AACR;AACF,kBAAM,eAAe,SAAS,CAAC;AAC/B,kBAAM,gBAAgB,UAAU,CAAC;AACjC,iBAAK,GAAG,aAAa,UAAU,YAAY,MAAM,GAAG,aAAa,UAAU,aAAa,GAAG;AACzF,oBAAM,CAAC,IAAI,CAAC;AACZ,cAAAC,MAAK,cAAc,eAAe,MAAM,CAAC,CAAC;AAAA,YAC5C,WAAW,kBAAkB,QAAQ;AACnC,oBAAM,CAAC,IAAI;AAAA,YACb;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,aAAa,CAAC,UAAU,WAAW,UAAU;AAC/C,cAAI,SAAS,WAAW,UAAU,QAAQ;AACxC,oBAAQ;AAAA,UACV,OAAO;AACL,kBAAM,UAAU,CAAC;AACjB,qBAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,oBAAM,UAAUA,MAAK,SAAS,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9C,kBAAI,OAAO,KAAK,OAAO,EAAE,SAAS,GAAG;AACnC,wBAAQ,KAAK,OAAO;AAAA,cACtB;AAAA,YACF;AACA,gBAAI,QAAQ,SAAS,GAAG;AACtB,sBAAQ;AAAA,YACV;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAIA,QAAO,CAAC,UAAU,WAAW,QAAQ,CAAC,MAAM;AAC9C,eAAK,GAAG,aAAa,SAAS,QAAQ,MAAM,GAAG,aAAa,SAAS,SAAS,GAAG;AAC/E,oBAAQ,CAAC;AACT,uBAAW,UAAU,WAAW,KAAK;AAAA,UACvC,OAAO;AACL,wBAAY,UAAU,WAAW,KAAK;AAAA,UACxC;AACA,iBAAO;AAAA,QACT;AACA,YAAI,eAAe,CAAC,QAAQ,QAAQ;AAClC,gBAAM,UAAU,CAAC;AACjB,qBAAW,KAAK,QAAQ;AACtB,kBAAM,UAAU,IAAI,CAAC;AACrB,kBAAM,aAAa,OAAO,CAAC;AAC3B,gBAAI,YAAY;AACd,kBAAI,CAAC,IAAI,QAAQ,CAAC,IAAI;AAAA,YACxB;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAIG,iBAAgB,CAAC,QAAQ,QAAQ;AACnC,qBAAW,KAAK,QAAQ;AACtB,kBAAM,UAAU,IAAI,CAAC;AACrB,kBAAM,aAAa,OAAO,CAAC;AAC3B,iBAAK,GAAG,aAAa,cAAc,OAAO,MAAM,GAAG,aAAa,cAAc,UAAU,GAAG;AACzF,cAAAA,eAAc,YAAY,OAAO;AAAA,YACnC,WAAW,eAAe,QAAQ;AAChC,kBAAI,CAAC,IAAI;AAAA,YACX;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAI,iBAAiB,CAAC,GAAG,MAAM;AAC7B,eAAK,GAAG,aAAa,cAAc,CAAC,MAAM,GAAG,aAAa,cAAc,CAAC;AACvE,mBAAO,WAAW,GAAG,CAAC;AACxB,iBAAO,KAAK;AAAA,QACd;AACA,YAAI,aAAa,CAAC,QAAQ;AACxB,iBAAO,IAAI,OAAO,CAAC,GAAG,MAAM,WAAW,GAAGJ,YAAW,CAAC,CAAC,GAAG,CAAC,CAAC;AAAA,QAC9D;AACA,YAAI,uBAAuB,CAAC,QAAQ;AAClC,kBAAQ,GAAG,aAAa,SAAS,GAAG,IAAI,WAAW,GAAG,IAAIA,YAAW,GAAG;AAAA,QAC1E;AACA,YAAI,mBAAmB,CAAC,OAAO,MAAM,QAAQ,CAAC,MAAM;AAClD,gBAAM,aAAa,qBAAqB,KAAK;AAC7C,gBAAM,KAAK,UAAU;AACrB,gBAAM,iBAAiB,WAAW,IAAI;AACtC,cAAI;AACF,6BAAiB,gBAAgB,MAAM,KAAK;AAC9C,iBAAO,WAAW,IAAI;AACtB,iBAAO;AAAA,QACT;AACA,YAAI,cAAc,CAAC,OAAO,YAAY;AACpC,cAAI,UAAU;AACZ,mBAAO;AACT,cAAI,CAAC,SAAS,CAAC;AACb,mBAAO;AACT,qBAAW,QAAQ,OAAO;AACxB,kBAAM,YAAY,MAAM,IAAI;AAC5B,kBAAM,cAAc,QAAQ,IAAI;AAChC,iBAAK,GAAG,aAAa,cAAc,SAAS,GAAG;AAC7C,oBAAM,UAAU,YAAY,WAAW,WAAW;AAClD,kBAAI,CAAC;AACH,uBAAO;AAAA,YACX,OAAO;AACL,oBAAM,UAAU,cAAc;AAC9B,kBAAI,CAAC;AACH,uBAAO;AAAA,YACX;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AACA,YAAIK,oBAAmB,CAAC,KAAKC,WAAU;AACrC,cAAIA,WAAU,UAAUA,WAAU;AAChC,mBAAO;AACT,eAAK,GAAG,aAAa,IAAIA,MAAK,EAAE,UAAU,QAAQ,GAAG;AACnD,mBAAO,IAAIA,MAAK;AAAA,UAClB,YAAY,GAAG,aAAa,SAASA,MAAK,GAAG;AAC3C,YAAAA,OAAM,QAAQ,CAAC,SAAS,OAAO,IAAI,IAAI,CAAC;AAAA,UAC1C,OAAO;AACL,kBAAM,IAAI,MAAM,8DAA8D;AAAA,UAChF;AACA,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIC,oBAAmBnC,YAAW;AAAA,MAChC,uDAAuDM,UAASC,UAAS;AACvE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIW,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,mBAAmB,CAAC;AACxB,QAAAI,WAAU,kBAAkB;AAAA,UAC1B,UAAU,MAAM;AAAA,UAChB,SAAS,MAAMwB;AAAA,QACjB,CAAC;AACD,QAAA7B,SAAQ,UAAUO,eAAc,gBAAgB;AAChD,YAAI,WAAW,CAAC,SAAS,MAAM,UAAU,QAAQ;AAC/C,cAAI;AACJ,iBAAO,IAAI,SAAS;AAClB,yBAAa,KAAK;AAClB,oBAAQ,WAAW,MAAM;AACvB,mBAAK,MAAM,SAAS,IAAI;AAAA,YAC1B,GAAG,OAAO;AAAA,UACZ;AAAA,QACF;AACA,YAAIsB,WAAU,CAAC,OAAO;AACpB,gBAAM,QAAQ,CAAC;AACf,iBAAO,IAAI,SAAS;AAClB,kBAAM,IAAI,KAAK,CAAC;AAChB,gBAAI,KAAK,OAAO;AACd,qBAAO,MAAM,CAAC;AAAA,YAChB,OAAO;AACL,oBAAM,SAAS,GAAG,CAAC;AACnB,oBAAM,CAAC,IAAI;AACX,qBAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIC,iBAAgBrC,YAAW;AAAA,MAC7B,oDAAoDM,UAASC,UAAS;AACpE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIW,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,gBAAgB,CAAC;AACrB,QAAAI,WAAU,eAAe;AAAA,UACvB,yBAAyB,MAAM0B;AAAA,UAC/B,YAAY,MAAM;AAAA,UAClB,iBAAiB,MAAMC;AAAA,UACvB,kBAAkB,MAAM;AAAA,QAC1B,CAAC;AACD,QAAAhC,SAAQ,UAAUO,eAAc,aAAa;AAC7C,YAAI,eAAeK,eAAc;AACjC,YAAImB,2BAA0B,CAAC,MAAM,SAAS;AAC5C,iBAAO,KAAK,MAAM,CAAC,QAAQ,KAAK,SAAS,GAAG,CAAC;AAAA,QAC/C;AACA,YAAIC,mBAAkB,CAAC,KAAK,UAAU;AACpC,eAAK,GAAG,aAAa,UAAU,KAAK;AAClC,oBAAQ,SAAS,KAAK;AACxB,eAAK,GAAG,aAAa,UAAU,KAAK,GAAG;AACrC,gBAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,MAAM,KAAK,GAAG;AACpD,oBAAM,IAAI,MAAM,eAAe;AAAA,YACjC;AACA,gBAAI,OAAO,OAAO,CAAC;AAAA,UACrB,YAAY,GAAG,aAAa,SAAS,KAAK,GAAG;AAC3C,kBAAM,QAAQ,CAAC,QAAQA,iBAAgB,KAAK,GAAG,CAAC;AAAA,UAClD,OAAO;AACL,kBAAM,IAAI,MAAM,eAAe;AAAA,UACjC;AACA,iBAAO;AAAA,QACT;AACA,YAAI,mBAAmB,CAAC,KAAK,GAAG,MAAM;AACpC,WAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAAA,QACpC;AACA,YAAI,aAAa,IAAI,WAAW;AAC9B,iBAAO,CAAC,EAAE,OAAO,GAAG,MAAM;AAAA,QAC5B;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAIC,eAAcxC,YAAW;AAAA,MAC3B,kDAAkDM,UAASC,UAAS;AAClE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIC,aAAY,CAAC,QAAQ,QAAQ;AAC/B,mBAAS,QAAQ;AACf,YAAAJ,YAAW,QAAQ,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,QACjE;AACA,YAAIK,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAIW,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,cAAc,CAAC;AACnB,QAAAI,WAAU,aAAa;AAAA,UACrB,YAAY,MAAM;AAAA,UAClB,OAAO,MAAM;AAAA,QACf,CAAC;AACD,QAAAL,SAAQ,UAAUO,eAAc,WAAW;AAC3C,YAAI,QAAQ,CAAC,SAAS,QAAQ;AAC5B,cAAI;AACF,gBAAI,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,CAAC;AAAA,QACjC;AACA,YAAI,aAAa,CAAC,MAAM,QAAQ,QAAQ;AACtC,cAAI,MAAM;AACR,oBAAQ,MAAM,GAAG;AACjB,gBAAI,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,CAAC;AAC7B,oBAAQ,SAAS,GAAG;AAAA,UACtB;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAGD,QAAI2B,gBAAezC,YAAW;AAAA,MAC5B,oDAAoDM,UAASC,UAAS;AACpE;AACA,YAAIC,cAAa,OAAO;AACxB,YAAIC,qBAAoB,OAAO;AAC/B,YAAIC,sBAAqB,OAAO;AAChC,YAAIC,iBAAgB,OAAO,UAAU;AACrC,YAAIE,gBAAe,CAAC,IAAIV,OAAM,QAAQ,SAAS;AAC7C,cAAIA,SAAQ,OAAOA,UAAS,YAAY,OAAOA,UAAS,YAAY;AAClE,qBAAS,OAAOO,oBAAmBP,KAAI;AACrC,kBAAI,CAACQ,eAAc,KAAK,IAAI,GAAG,KAAK,QAAQ;AAC1C,gBAAAH,YAAW,IAAI,KAAK,EAAE,KAAK,MAAML,MAAK,GAAG,GAAG,YAAY,EAAE,OAAOM,mBAAkBN,OAAM,GAAG,MAAM,KAAK,WAAW,CAAC;AAAA,UACzH;AACA,iBAAO;AAAA,QACT;AACA,YAAI,aAAa,CAAC,QAAQ,KAAK,kBAAkBU,cAAa,QAAQ,KAAK,SAAS,GAAG,gBAAgBA,cAAa,cAAc,KAAK,SAAS;AAChJ,YAAIC,iBAAgB,CAAC,QAAQD,cAAaL,YAAW,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AAC5F,YAAI,iBAAiB,CAAC;AACtB,QAAAD,SAAQ,UAAUO,eAAc,cAAc;AAC9C,mBAAW,gBAAgBC,cAAa,GAAGR,SAAQ,OAAO;AAC1D,mBAAW,gBAAgBY,eAAc,GAAGZ,SAAQ,OAAO;AAC3D,mBAAW,gBAAgBoB,gBAAe,GAAGpB,SAAQ,OAAO;AAC5D,mBAAW,gBAAgB4B,kBAAiB,GAAG5B,SAAQ,OAAO;AAC9D,mBAAW,gBAAgB8B,eAAc,GAAG9B,SAAQ,OAAO;AAC3D,mBAAW,gBAAgBW,cAAa,GAAGX,SAAQ,OAAO;AAC1D,mBAAW,gBAAgBiC,aAAY,GAAGjC,SAAQ,OAAO;AAAA,MAC3D;AAAA,IACF,CAAC;AAGD,QAAI,cAAc,CAAC;AACnB,IAAAN,UAAS,aAAa;AAAA,MACpB,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,QAAQ,MAAMyC;AAAA,MACd,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,mBAAmB,MAAM;AAAA,MACzB,UAAU,MAAM;AAAA,MAChB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,KAAK,MAAM;AAAA,MACX,UAAU,MAAM;AAAA,MAChB,OAAO,MAAM;AAAA,MACb,QAAQ,MAAM;AAAA,MACd,YAAY,MAAM;AAAA,MAClB,MAAM,MAAM;AAAA,MACZ,oBAAoB,MAAM;AAAA,MAC1B,gBAAgB,MAAM;AAAA,MACtB,mBAAmB,MAAM;AAAA,MACzB,iBAAiB,MAAM;AAAA,MACvB,eAAe,MAAM;AAAA,MACrB,eAAe,MAAM;AAAA,MACrB,YAAY,MAAM;AAAA,MAClB,mBAAmB,MAAM;AAAA,MACzB,sBAAsB,MAAM;AAAA,MAC5B,qBAAqB,MAAM;AAAA,MAC3B,yBAAyB,MAAM;AAAA,MAC/B,iBAAiB,MAAM;AAAA,MACvB,wBAAwB,MAAM;AAAA,MAC9B,oBAAoB,MAAM;AAAA,MAC1B,mBAAmB,MAAM;AAAA,MACzB,cAAc,MAAM;AAAA,MACpB,kBAAkB,MAAM;AAAA,MACxB,gBAAgB,MAAM;AAAA,MACtB,qBAAqB,MAAM;AAAA,MAC3B,iBAAiB,MAAMC;AAAA,MACvB,UAAU,MAAMC;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,sBAAsB,MAAM;AAAA,MAC5B,aAAa,MAAM;AAAA,MACnB,iBAAiB,MAAM;AAAA,MACvB,uBAAuB,MAAM;AAAA,MAC7B,mBAAmB,MAAM;AAAA,MACzB,eAAe,MAAMC;AAAA,MACrB,eAAe,MAAM;AAAA,MACrB,kBAAkB,MAAMC;AAAA,MACxB,eAAe,MAAMC;AAAA,MACrB,eAAe,MAAMC;AAAA,MACrB,kBAAkB,MAAM;AAAA,MACxB,8BAA8B,MAAM;AAAA,MACpC,wBAAwB,MAAMC;AAAA,MAC9B,iBAAiB,MAAMC;AAAA,MACvB,UAAU,MAAMC;AAAA,MAChB,gBAAgB,MAAMC;AAAA,MACtB,mBAAmB,MAAMC;AAAA,MACzB,UAAU,MAAM;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,WAAW,MAAM;AAAA,MACjB,UAAU,MAAM;AAAA,MAChB,cAAc,MAAM;AAAA,MACpB,WAAW,MAAM;AAAA,MACjB,YAAY,MAAM;AAAA,MAClB,gBAAgB,MAAM;AAAA,MACtB,SAAS,MAAMC;AAAA,MACf,yBAAyB,MAAM;AAAA,MAC/B,eAAe,MAAM;AAAA,MACrB,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,iBAAiB,MAAM;AAAA,MACvB,eAAe,MAAM;AAAA,MACrB,cAAc,MAAM;AAAA,MACpB,KAAK,MAAMC;AAAA,MACX,iBAAiB,MAAM;AAAA,MACvB,UAAU,MAAM;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,oBAAoB,MAAM;AAAA,MAC1B,SAAS,MAAM;AAAA,MACf,SAAS,MAAM;AAAA,MACf,eAAe,MAAM;AAAA,MACrB,aAAa,MAAM;AAAA,MACnB,SAAS,MAAM;AAAA,MACf,sBAAsB,MAAM;AAAA,MAC5B,eAAe,MAAM;AAAA,MACrB,QAAQ,MAAM;AAAA,MACd,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,cAAc,MAAM;AAAA,MACpB,iBAAiB,MAAMC;AAAA,MACvB,0BAA0B,MAAMC;AAAA,MAChC,iBAAiB,MAAMC;AAAA,MACvB,mBAAmB,MAAMC;AAAA,MACzB,iBAAiB,MAAMC;AAAA,MACvB,qBAAqB,MAAMC;AAAA,MAC3B,qBAAqB,MAAM;AAAA,MAC3B,cAAc,MAAMC;AAAA,IACtB,CAAC;AACD,IAAArE,QAAO,UAAUY,cAAa,WAAW;AAGzC,QAAI,gBAAgB,CAAC;AACrB,IAAAJ,UAAS,eAAe;AAAA,MACtB,mBAAmB,MAAM;AAAA,MACzB,iBAAiB,MAAM;AAAA,MACvB,wBAAwB,MAAM;AAAA,MAC9B,oBAAoB,MAAM;AAAA,MAC1B,mBAAmB,MAAM;AAAA,MACzB,cAAc,MAAM;AAAA,MACpB,kBAAkB,MAAM;AAAA,MACxB,gBAAgB,MAAM;AAAA,MACtB,qBAAqB,MAAM;AAAA,MAC3B,eAAe,MAAM;AAAA,MACrB,sBAAsB,MAAM;AAAA,MAC5B,aAAa,MAAM;AAAA,MACnB,iBAAiB,MAAM;AAAA,MACvB,uBAAuB,MAAM;AAAA,MAC7B,mBAAmB,MAAM;AAAA,MACzB,eAAe,MAAM;AAAA,MACrB,kBAAkB,MAAM;AAAA,MACxB,8BAA8B,MAAM;AAAA,MACpC,UAAU,MAAM;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,WAAW,MAAM;AAAA,MACjB,UAAU,MAAM;AAAA,MAChB,cAAc,MAAM;AAAA,MACpB,WAAW,MAAM;AAAA,MACjB,YAAY,MAAM;AAAA,MAClB,gBAAgB,MAAM;AAAA,MACtB,SAAS,MAAMqD;AAAA,MACf,yBAAyB,MAAM;AAAA,MAC/B,eAAe,MAAM;AAAA,MACrB,UAAU,MAAM;AAAA,MAChB,UAAU,MAAM;AAAA,MAChB,eAAe,MAAM;AAAA,MACrB,oBAAoB,MAAM;AAAA,MAC1B,sBAAsB,MAAM;AAAA,MAC5B,cAAc,MAAM;AAAA,IACtB,CAAC;AAGD,QAAI,iBAAiBlD,SAAQZ,cAAY,GAAG,CAAC;AAC7C,QAAI,MAAM;AACV,QAAI,yBAAyB,CAAC,UAAU;AACtC,UAAI,UAAU;AACZ;AACF,UAAI,MAAM,YAAY,MAAM;AAC1B,eAAO,CAAC,GAAG,GAAG,GAAG,CAAC;AACpB,UAAI,MAAM,CAAC,MAAM,KAAK;AACpB,YAAI,MAAM,SAAS,GAAG;AACpB,kBAAQ,MAAM,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI;AAAA,QAC5H;AACA,eAAO;AAAA,UACL,SAAS,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;AAAA,UAC/B,SAAS,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;AAAA,UAC/B,SAAS,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;AAAA,UAC/B,MAAM,SAAS,IAAI,SAAS,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,MAAM;AAAA,QAC9D;AAAA,MACF;AACA,UAAI,MAAM,QAAQ,KAAK,MAAM,IAAI;AAC/B,YAAI,eAAe,YAAY,eAAe,QAAQ;AACpD,gBAAM,OAAO,eAAe,SAAS,KAAK,YAAY,eAAe,SAAS,cAAc,QAAQ,CAAC;AACrG,gBAAM,OAAO;AACb,eAAK,MAAM,QAAQ;AACnB,cAAI,KAAK,MAAM,UAAU;AACvB;AACF,eAAK,MAAM,QAAQ;AACnB,cAAI,KAAK,MAAM,UAAU,QAAQ,KAAK,MAAM,UAAU;AACpD;AACF,kBAAQ,eAAe,OAAO,iBAAiB,IAAI,EAAE;AACrD,yBAAe,SAAS,KAAK,YAAY,IAAI;AAAA,QAC/C;AAAA,MACF;AACA,UAAI,MAAM,QAAQ,KAAK,MAAM,GAAG;AAC9B,YAAI,MAAM,QAAQ,MAAM,MAAM;AAC5B,kBAAQ,GAAG;AACb,eAAO,MAAM,MAAM,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAAA,MAC9C;AACA,aAAO,CAAC;AAAA,IACV;AACA,QAAI,eAAe,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AAClD,eAAS,uBAAuB,MAAM;AACtC,eAAS,uBAAuB,MAAM;AACtC,aAAO,WAAW,QAAQ,QAAQ,KAAK;AAAA,IACzC;AACA,QAAI,WAAW,CAAC,KAAK,QAAQ,MAAM;AACjC,YAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,OAAO,EAAE,IAAI,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC/D,aAAO,OAAO,KAAK,KAAK;AAAA,IAC1B;AACA,QAAI,gBAAgB,CAAC,KAAK,QAAQ,MAAM;AACtC,YAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,OAAO,EAAE,IAAI,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC/D,aAAO,CAAC,GAAG,GAAG,CAAC;AAAA,IACjB;AACA,QAAI,WAAW,CAAC,GAAG,GAAG,MAAM;AAC1B,aAAO,QAAQ,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,GAAG,SAAS,EAAE,EAAE,MAAM,CAAC;AAAA,IAC1E;AACA,QAAI,gBAAgB,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM;AACjC,eAAS,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,GAAG,SAAS,EAAE,EAAE,MAAM,CAAC;AAAA,IACpE;AACA,QAAI,YAAY,CAAC,KAAK,QAAQ,MAAM;AAClC,YAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,MAAM,OAAO,EAAE,IAAI,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC/D,aAAO,QAAQ,KAAK,KAAK,KAAK;AAAA,IAChC;AACA,QAAI,YAAY,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AAC/C,YAAM,MAAM,CAAC;AACb,eAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,YAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK;AAAA,MACpD;AACA,aAAO,OAAO;AAAA,IAChB;AACA,QAAI,kBAAkB,CAAC,OAAO,QAAQ;AACpC,YAAM,CAAC,KAAK,YAAY,SAAS,IAAI;AACrC,YAAM,eAAe,KAAK;AAAA,QACxB;AAAA,QACA,KAAK,IAAI,KAAK,YAAY,WAAW,KAAK,CAAC;AAAA,MAC7C;AACA,aAAO,CAAC,KAAK,YAAY,YAAY;AAAA,IACvC;AACA,QAAI,WAAW,CAAC,GAAG,GAAG,MAAM;AAC1B,YAAM,IAAI,KAAK,IAAI,GAAG,GAAG,CAAC;AAC1B,YAAM,IAAI,IAAI,KAAK,IAAI,GAAG,GAAG,CAAC;AAC9B,YAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC;AACpC,YAAM,IAAI,MAAM,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK;AAChF,aAAO,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC;AAAA,IAClE;AACA,QAAI,WAAW,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,MAAM,OAAO,IAAI,IAAI,KAAK;AAAA,MAClG,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC;AAAA,MACxB;AAAA,IACF,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACvB,QAAI,gBAAgB,CAAC,KAAK,QAAQ;AAChC,YAAM,MAAM,SAAS,KAAK,EAAE;AAC5B,UAAI,KAAK,OAAO,MAAM;AACtB,UAAI,IAAI;AACN,YAAI;AAAA,eACG,IAAI;AACX,YAAI;AACN,UAAI,KAAK,OAAO,IAAI,OAAO;AAC3B,UAAI,IAAI;AACN,YAAI;AAAA,eACG,IAAI;AACX,YAAI;AACN,UAAI,KAAK,MAAM,OAAO;AACtB,UAAI,IAAI;AACN,YAAI;AAAA,eACG,IAAI;AACX,YAAI;AACN,cAAQ,IAAI,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;AAAA,IAC3C;AACA,QAAI,aAAa,CAAC,QAAQ,QAAQ,QAAQ,QAAQ;AAChD,YAAM,MAAM,CAAC;AACb,eAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,cAAM,QAAQ,MAAM,IAAI,CAAC,MAAM,IAAI,KAAK;AACxC,YAAI,CAAC,IAAI;AAAA,UACP,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK;AAAA,QACxC;AAAA,MACF;AACA,aAAO,QAAQ;AAAA,IACjB;AACA,QAAI8D,WAAU,CAAC,OAAO,YAAY;AAChC,YAAM,MAAM,uBAAuB,KAAK;AACxC,UAAI,CAAC,KAAK;AACR,YAAI,QAAQ,UAAU,QAAQ;AAC5B,kBAAQ,KAAK,QAAQ,mBAAmB;AAC1C;AAAA,MACF;AACA,UAAI,CAAC,IAAI;AACT,aAAO,QAAQ;AAAA,IACjB;AAGA,QAAI,0BAA0B,CAAC,MAAM,UAAU;AAC7C,UAAI,CAAC;AACH;AACF,UAAI,KAAK,UAAU,KAAK,OAAO,KAAK;AAClC,eAAO,KAAK,OAAO,KAAK;AAC1B,UAAI,KAAK,KAAK;AACZ,eAAO,CAAC,MAAM,KAAK,KAAK,CAAC;AAC3B,aAAO;AAAA,IACT;AAGA,QAAI,uBAAuB,CAAC,SAAS,QAAQ;AAC3C,UAAI,QAAQ,GAAG;AACb,eAAO,QAAQ,GAAG,EAAE;AACtB,UAAI,QAAQ;AACV,eAAO,QAAQ,QAAQ,OAAO,EAAE;AAClC,YAAM,WAAW,OAAO,KAAK,OAAO,EAAE,CAAC;AACvC,aAAO,YAAY,QAAQ,QAAQ,KAAK,QAAQ,QAAQ,EAAE;AAAA,IAC5D;AACA,QAAI,gBAAgB,CAAC,QAAQ,IAAI,MAAM,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK;AACxE,QAAI,uBAAuB,CAAC,QAAQ,gBAAgB;AACpD,QAAI,gBAAgB,CAAC,MAAM,KAAK,WAAW;AAAA,kBACzB;AAAA;AAAA,IAEd,UAAU,gBAAgB;AAAA,cAChB,iBAAiB,cAAc,GAAG;AAChD,QAAI,qBAAqB,CAAC,MAAM,KAAK,WAAW;AAAA,IAC5C,cAAc,MAAM,KAAK,MAAM;AAAA;AAEnC,QAAI,kBAAkB,CAAC,MAAM,YAAY;AACvC,YAAM,OAAO,OAAO,KAAK,OAAO;AAChC,aAAO,KAAK,IAAI,CAAC,QAAQ;AACvB,cAAM,EAAE,KAAK,WAAW,IAAI,QAAQ,GAAG;AACvC,eAAO,cAAc,MAAM,KAAK,UAAU;AAAA,MAC5C,CAAC;AAAA,IACH;AACA,QAAI,cAAc,CAAC,YAAY;AAC7B,YAAM,OAAO,OAAO,KAAK,OAAO;AAChC,aAAO,KAAK,IAAI,CAAC,QAAQ,gBAAgB,KAAK,QAAQ,GAAG,EAAE,KAAK,CAAC;AAAA,IACnE;AACA,QAAI,wBAAwB,CAAC,MAAM,YAAY;AAC7C,YAAM,QAAQ,QAAQ,CAAC;AACvB,UAAI;AACF,eAAO,gBAAgB,MAAM,OAAO,EAAE,IAAI,oBAAoB;AAChE,aAAO,mBAAmB,MAAM,QAAQ,GAAG;AAAA,IAC7C;AACA,QAAI,oBAAoB,CAAC,YAAY;AACnC,YAAM,OAAO,OAAO,KAAK,OAAO;AAChC,aAAO,KAAK,IAAI,CAAC,QAAQ,sBAAsB,KAAK,QAAQ,GAAG,EAAE,KAAK,CAAC;AAAA,IACzE;AAGA,QAAIS,iBAAgB3D,SAAQqC,cAAa,GAAG,CAAC;AAG7C,QAAIuB,iBAAgB5D,SAAQqC,cAAa,CAAC;AAG1C,QAAIwB,iBAAe7D,SAAQqC,cAAa,CAAC;AAGzC,QAAI,cAAc,CAAC,QAAQ;AACzB,aAAO,IAAI,QAAQ,uBAAuB,SAAS,MAAM,OAAO;AAC9D,eAAO,UAAU,IAAI,KAAK,YAAY,IAAI,KAAK,YAAY;AAAA,MAC7D,CAAC,EAAE,WAAW,QAAQ,EAAE;AAAA,IAC1B;AACA,QAAI,aAAa,CAAC,QAAQ,IAAI,QAAQ,UAAU,CAACyB,QAAO,YAAY,SAAS,IAAI,MAAM,MAAMA,OAAM,YAAY,CAAC,EAAE,QAAQ,KAAK,GAAG;AAClI,QAAI,eAAe,CAAC,QAAQ;AAC1B,WAAK,GAAGF,eAAc,UAAU,GAAG;AACjC,eAAO,IAAI,MAAM,GAAG;AACtB,WAAK,GAAGA,eAAc,UAAU,GAAG;AACjC,eAAO,OAAO,KAAK,GAAG,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;AAC3C,WAAK,GAAGA,eAAc,SAAS,GAAG;AAChC,eAAO;AAAA,IACX;AAGA,QAAIG,iBAAgB/D,SAAQqC,cAAa,GAAG,CAAC;AAG7C,QAAI,wBAAwB,CAAC;AAC7B,IAAAxC,UAAS,uBAAuB;AAAA,MAC9B,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,SAAS,MAAM;AAAA,MACf,UAAU,MAAM;AAAA,MAChB,MAAM,MAAM;AAAA,MACZ,WAAW,MAAM;AAAA,MACjB,aAAa,MAAM;AAAA,MACnB,mBAAmB,MAAM;AAAA,MACzB,UAAU,MAAM;AAAA,MAChB,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,KAAK,MAAM;AAAA,MACX,UAAU,MAAM;AAAA,MAChB,OAAO,MAAM;AAAA,MACb,QAAQ,MAAM;AAAA,MACd,YAAY,MAAM;AAAA,MAClB,MAAM,MAAM;AAAA,IACd,CAAC;AAGD,QAAI,WAAW;AAAA,MACb,gBAAgB;AAAA,MAChB,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,oBAAoB;AAAA,MACpB,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,KAAK;AAAA;AAAA,MAEL,eAAe;AAAA,MACf,iBAAiB;AAAA;AAAA,MAEjB,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,iBAAiB;AAAA;AAAA,MAEjB,eAAe;AAAA,MACf,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,IAAI;AAAA;AAAA,MAEJ,iBAAiB;AAAA,IACnB;AAGA,QAAI,OAAO;AAAA,MACT,SAAS;AAAA,IACX;AAGA,QAAI,eAAe;AAAA,MACjB,gBAAgB;AAAA,MAChB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO,SAAS,aAAa;AAAA,MAC7B,OAAO,CAAC,IAAI,EAAE;AAAA,MACd,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,WAAW,CAAC;AAAA,MACZ,UAAU,CAAC;AAAA,MACX,QAAQ,CAAC;AAAA,MACT,MAAM,CAAC;AAAA,IACT;AACA,QAAI,aAAa;AAGjB,QAAI,OAAO,CAAC;AAGZ,QAAI,cAAc,CAAC;AACnB,QAAI,oBAAoB;AAAA,MACtB,cAAc;AAAA,MACd,OAAO;AAAA,MACP,WAAW;AAAA,IACb;AACA,QAAI,YAAY,CAAC;AAGjB,QAAI,QAAQ;AAAA,MACV,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,aAAa;AAAA,MACb,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAGA,QAAI,gBAAgB;AAAA,MAClB,MAAM,WAAW;AAAA,MACjB,MAAM;AAAA,MACN,OAAO,SAAS;AAAA,MAChB,OAAO,CAAC,IAAI,EAAE;AAAA,MACd,aAAa;AAAA,MACb,MAAM;AAAA,MACN,UAAU,CAAC;AAAA,MACX,QAAQ,CAAC;AAAA,MACT,MAAM,CAAC;AAAA,IACT;AACA,QAAI,UAAU;AAGd,QAAI,QAAQ,CAAC;AACb,QAAI,WAAW,CAAC;AAGhB,QAAI,QAAQ,CAAC;AAGb,QAAI,QAAQ,CAAC;AAGb,QAAI,gBAAgB;AAAA,MAClB,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO,SAAS,gBAAgB;AAAA,MAChC,OAAO,CAAC,IAAI,EAAE;AAAA,MACd,MAAM;AAAA,MACN,UAAU,CAAC;AAAA,MACX,QAAQ,CAAC;AAAA,MACT,MAAM,CAAC;AAAA,IACT;AACA,QAAI,SAAS;AAGb,QAAI,WAAW,CAAC;AAGhB,QAAI,cAAc;AAAA,MAChB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AACA,QAAI,UAAU;AAAA,MACZ,SAAS,CAAC,MAAM,IAAI;AAAA,MACpB,SAAS,CAAC,MAAM,IAAI;AAAA,MACpB,SAAS,CAAC,MAAM,GAAG;AAAA,MACnB,SAAS,CAAC,MAAM,GAAG;AAAA,MACnB,SAAS,CAAC,MAAM,GAAG;AAAA,MACnB,SAAS,CAAC,MAAM,GAAG;AAAA,MACnB,SAAS,CAAC,KAAK,GAAG;AAAA,MAClB,SAAS,CAAC,KAAK,GAAG;AAAA,MAClB,SAAS,CAAC,KAAK,GAAG;AAAA,MAClB,UAAU,CAAC,KAAK,GAAG;AAAA,IACrB;AAGA,QAAI,QAAQ,CAAC;AAGb,QAAI,YAAY,CAAC;AAGjB,QAAI,MAAM,CAAC;AACX,QAAI,WAAW,CAAC;AAGhB,QAAI,QAAQ,CAAC;AAGb,QAAI,WAAW,CAAC;AAChB,QAAIyC,UAAS;AAAA,MACX,SAAS;AAAA,MACT,aAAa;AAAA,MACb,UAAU;AAAA,MACV;AAAA,MACA,GAAG;AAAA,IACL;AACA,QAAI,gBAAgB,GAAGyB,eAAc,WAAWzB,OAAM;AACtD,QAAI,UAAU;AAAA,MACZ,QAAQ;AAAA,MACR,GAAGA;AAAA,IACL;AACA,QAAI,iBAAiB,CAAC,QAAQ;AAC5B,WAAK,GAAGyB,eAAc,WAAW,GAAG,GAAG;AACrC,gBAAQ,SAAS;AAAA,MACnB;AACA,aAAO,QAAQ,OAAO,QAAQ,MAAM;AAAA,IACtC;AACA,QAAIxB,mBAAkB,CAAC,QAAQ;AAC7B,aAAO,QAAQ,OAAO,QAAQ,MAAM;AAAA,IACtC;AACA,QAAI,kBAAkB,CAAC,cAAc;AACnC,UAAI,EAAE,GAAGwB,eAAc,UAAU,SAAS;AACxC;AACF,cAAQ,SAAS;AACjB,cAAQ,GAAG,KAAK,GAAGA,eAAc,WAAW,YAAY,GAAGA,eAAc,WAAW,YAAY,CAAC;AACjG,aAAO;AAAA,IACT;AAGA,QAAI,iBAAiB;AAAA,MACnB,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AACA,QAAI,mBAAmB,CAACjC,QAAO,kBAAkB;AAC/C,YAAM,EAAE,KAAK,UAAU,OAAO,SAAS,MAAM,IAAIA;AACjD,oBAAc,SAAS,GAAG,IAAI;AAAA,QAC5B;AAAA,QACA,SAAS,CAAC,EAAE,QAAQ,OAAO;AAAA,QAC3B,KAAK,CAAC,CAAC;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,oBAAc,OAAO,GAAG,IAAI;AAC5B,oBAAc,KAAK,QAAQ,IAAI,UAAU,cAAc;AAAA,IACzD;AACA,QAAI,sBAAsB,CAACA,QAAO,kBAAkB;AAClD,YAAM,EAAE,KAAK,MAAM,OAAO,OAAO,UAAU,MAAM,IAAIA;AACrD,YAAMkC,QAAO,QAAQ;AACrB,YAAMvC,QAAOuC,QAAO;AACpB,YAAM,aAAavC,QAAO;AAC1B,YAAM,eAAe,CAAC,CAAC;AACvB,YAAM,cAAc,CAAC,CAACuC;AACtB,YAAM,cAAc,cAAc;AAClC,UAAI,MAAM,CAAC;AACX,YAAM,QAAQA,QAAO;AACrB,YAAM,SAAS,QAAQ;AACvB,YAAM,UAAU,QAAQ,UAAU;AAClC,UAAI,cAAc;AAChB,cAAM,CAAC,OAAO,QAAQ,MAAM;AAAA;AAE5B,cAAM,CAAC,OAAO,MAAM;AACtB,UAAI,IAAI,CAAC,GAAG,MAAM;AAChB,cAAM,UAAU,CAAC,EAAE,IAAI,OAAO,OAAO;AACrC,cAAM,SAAS,YAAY,IAAI;AAC/B,cAAMC,UAAS;AAAA,UACb,KAAK,OAAO,IAAI;AAAA,UAChB,UAAU;AAAA,UACV,OAAO;AAAA,UACP;AAAA,UACA,OAAO,SAAS,IAAI,KAAK;AAAA,QAC3B;AACA,eAAO,iBAAiBA,SAAQ,aAAa;AAAA,MAC/C,CAAC;AAAA,IACH;AACA,QAAI,2BAA2B,CAAC,KAAK,MAAM,UAAU;AACnD,aAAO,OAAO,KAAK,IAAI,OAAO,GAAG;AAAA,IACnC;AACA,QAAI,mBAAmB,CAAC,kBAAkB;AACxC,YAAM,EAAE,MAAM,MAAM,OAAO,OAAO,YAAY,IAAI;AAClD,YAAM,IAAI,KAAK,IAAI,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,MAAM,CAAC,CAAC;AAChD,YAAMC,UAAS,QAAQ,QAAQ,KAAK,QAAQ,KAAK,GAAG,KAAK;AACzD,eAAS,IAAI,GAAG,KAAK,GAAG,KAAK;AAC3B,cAAM,MAAM,MAAM,CAAC,IAAI;AACvB,cAAM,YAAY,eAAe,GAAG;AACpC,cAAM,QAAQ,yBAAyB,KAAK,MAAM,KAAK;AACvD,cAAM,UAAU,CAAC,EAAE,QAAQ,OAAO,OAAO;AACzC,cAAM,WAAWA,UAAS;AAC1B,cAAMpC,SAAQ;AAAA,UACZ,KAAK;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO;AAAA,QACT;AACA,yBAAiBA,QAAO,aAAa;AACrC,YAAI;AACF,8BAAoBA,QAAO,aAAa;AAAA,MAC5C;AACA,aAAO;AAAA,IACT;AACA,QAAI,mBAAmB,CAAC,QAAQ,KAAK,kBAAkB;AACrD,YAAMqC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,MAAM,MAAM,IAAI4B;AACxB,YAAM;AAAA,QACJ;AAAA,QACA,OAAO,MAAM;AAAA,QACb;AAAA,MACF,IAAI;AACJ,WAAK,GAAGR,eAAc,UAAU,KAAK,KAAK,MAAM,MAAM,GAAG,CAAC,MAAM;AAC9D,eAAO,OAAO;AAChB,YAAMO,UAAS,KAAK,WAAW,cAAc,KAAK,QAAQ,KAAK,GAAG,CAAC;AACnE,YAAM,8BAA8B;AACpC,YAAM,yBAAyB,4BAA4B,KAAK,KAAK;AACrE,UAAI,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,UAAU,aAAa,UAAU,iBAAiB,UAAU,iBAAiB,UAAU,iBAAiB,MAAM,SAAS,MAAM,KAAK,CAAC;AAClM,eAAO;AACT,YAAM,YAAY,MAAM,YAAY;AACpC,YAAM,aAAa,UAAU,MAAM,GAAG,CAAC,MAAM,MAAM,MAAM;AACzD,UAAI,WAAW,aAAa,UAAU,MAAM,CAAC,IAAI;AACjD,UAAI,YAAY;AAChB,UAAI,SAAS,SAAS,GAAG,GAAG;AAC1B,oBAAY,MAAM,SAAS,MAAM,GAAG,EAAE,CAAC,EAAE,YAAY;AACrD,mBAAW,SAAS,MAAM,GAAG,EAAE,CAAC;AAAA,MAClC;AACA,YAAM,WAAW,CAAC,MAAM,OAAOA,UAAS,IAAI;AAC5C,UAAI,SAAS,SAAS,GAAG,GAAG;AAC1B,cAAM,OAAO,SAAS,MAAM,GAAG;AAC/B,cAAM,CAAC,OAAO,MAAM,IAAI;AACxB,cAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,SAAS,MAAM;AACrD,eAAO,aAAa,SAAS,iBAAiB,QAAQ;AAAA,MACxD,WAAW,SAAS,SAAS,GAAG,GAAG;AACjC,cAAM,OAAO,SAAS,MAAM,GAAG;AAC/B,cAAM,CAAC,OAAO,MAAM,IAAI;AACxB,cAAM,QAAQ,GAAG,SAAS,KAAK,OAAO,SAAS,MAAM;AACrD,eAAO,aAAa,SAAS,iBAAiB,QAAQ;AAAA,MACxD;AACA,UAAI,CAAC,SAAS,QAAQ,KAAK,SAAS,WAAW,GAAG;AAChD,YAAIC,SAAQ;AACV,kBAAQ,KAAK,UAAU,4DAA4D;AACrF,mBAAW,SAAS,MAAM,GAAG,CAAC;AAAA,MAChC;AACA,UAAI,eAAeA,SAAQ,aAAa;AACtC,cAAM,YAAY,OAAOD,UAAS,WAAW;AAC7C,eAAO,aAAa,QAAQ,oBAAoB;AAAA,MAClD;AACA,YAAM,eAAe,WAAW,SAAS,QAAQ,IAAI;AACrD,UAAI,CAAC;AACH,eAAO,QAAQ,KAAK,cAAc,UAAU,QAAQ;AACtD,UAAI,SAAS,QAAQ,SAAS,KAAK;AACjC,eAAO,aAAa,aAAa,MAAM;AAAA,MACzC;AACA,aAAO,aAAa,aAAa,UAAU;AAAA,IAC7C;AACA,QAAI,+BAA+B,CAAC,OAAO,cAAc,kBAAkB;AACzE,UAAI,OAAO,UAAU,UAAU;AAC7B,gBAAQ,KAAK,cAAc,OAAO,iBAAiB;AACnD,eAAO,CAAC;AAAA,MACV;AACA,UAAI,UAAU,OAAO,UAAU;AAC7B,eAAO,CAAC;AACV,aAAO,EAAE,CAAC,YAAY,GAAG,iBAAiB,OAAO,aAAa,EAAE;AAAA,IAClE;AACA,QAAI,oBAAoB,CAAC,WAAW,UAAU,eAAe,YAAY,KAAK;AAC9E,QAAI,eAAe,CAAC,kBAAkB;AACpC,YAAM,EAAE,WAAW,SAAS,IAAI;AAChC,aAAO,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM;AAC3C,cAAM,aAAa,kBAAkB,WAAW,CAAC;AACjD,eAAO,SAAS,UAAU;AAAA,MAC5B,CAAC;AAAA,IACH;AAGA,QAAIE,iBAAgBpE,SAAQqC,cAAa,GAAG,CAAC;AAC7C,QAAI,eAAe,CAAC,QAAQ,QAAQ;AAClC,YAAM8B,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,UAAU,UAAU,IAAI4B;AAChC,WAAK,GAAGC,eAAc,cAAc,OAAO,KAAK,GAAG;AAAA,MACnD,OAAO;AACL,kBAAU,OAAO,GAAG,IAAI,OAAO;AAAA,MACjC;AAAA,IACF;AACA,QAAI,oBAAoB,CAACtC,QAAO,WAAW,UAAU,CAAC,MAAM;AAC1D,YAAMqC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,MAAM,OAAO,OAAO,QAAQ,QAAQ,SAAS,UAAU,UAAU,IAAI4B;AAC7E,YAAM,OAAOrC,OAAM,QAAQ,MAAM;AACjC,YAAM,EAAE,UAAU,OAAO,IAAIA;AAC7B,iBAAW,OAAO,UAAU;AAC1B,cAAM,OAAO,SAAS,GAAG;AACzB,cAAM,SAASA,OAAM,SAAS,QAAQ,OAAO,SAAS,GAAG,EAAE,MAAM,OAAO,GAAG,KAAK;AAChF,YAAI,WAAW;AACb,gBAAM,QAAQ,OAAO,SAAS;AAC9B,cAAI,CAAC,OAAO;AACV,gBAAIqC,SAAQ;AACV,sBAAQ,KAAK,qBAAqB,KAAK;AAAA,UAC3C;AACA,cAAI,kBAAkB,UAAU,UAAU,OAAO;AACjD,cAAI,CAAC;AACH,8BAAkB,UAAU,UAAU,OAAO,IAAI,CAAC;AACpD,0BAAgB,KAAK,QAAQ,IAAI,OAAO,KAAK,WAAW,MAAM;AAC9D,oBAAU,KAAK,WAAW,MAAM,SAAS,IAAI;AAAA,QAC/C,OAAO;AACL,cAAI,QAAQ,eAAe,OAAO;AAChC,sBAAU,KAAK,QAAQ,IAAI;AAAA,UAC7B,OAAO;AACL,sBAAU,KAAK,WAAW,UAAU,IAAI;AACxC,sBAAU,KAAK,QAAQ,IAAI,OAAO,KAAK,WAAW;AAAA,UACpD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAGA,QAAIE,iBAAgBrE,SAAQqC,cAAa,GAAG,CAAC;AAC7C,QAAI,iBAAiB,CAAC,UAAU;AAC9B,YAAM8B,WAAU5B,iBAAgB;AAChC,UAAI,SAAS;AACb,iBAAW,OAAO,OAAO;AACvB,YAAI4B,SAAQ,YAAY,GAAG;AACzB;AAAA;AAEA,UAAAA,SAAQ,YAAY,GAAG,IAAI;AAC7B,kBAAU,MAAM,GAAG;AAAA,MACrB;AACA,aAAO;AAAA,IACT;AACA,QAAI,sBAAsB,CAAC,eAAe;AACxC,UAAI,EAAE,GAAGE,eAAc,UAAU,UAAU,GAAG;AAC5C,eAAO,QAAQ,KAAK,wBAAwB,4BAA4B;AAAA,MAC1E;AACA,YAAMP,SAAQ,WAAW,MAAM,eAAe;AAC9C,UAAI,CAACA,UAAS,CAACA,OAAM,CAAC,GAAG;AACvB,eAAO,CAAC;AAAA,MACV;AACA,YAAM,aAAaA,OAAM,CAAC;AAC1B,YAAM,QAAQ,WAAW,MAAM,6DAA6D;AAC5F,aAAO,MAAM,OAAO,CAAC,KAAK,SAAS;AACjC,cAAM,CAAC,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG;AACnC,YAAI,GAAG,IAAI,MAAM,QAAQ,SAAS,EAAE;AACpC,eAAO;AAAA,MACT,GAAG,CAAC,CAAC;AAAA,IACP;AACA,QAAI,qBAAqB,CAAC,KAAK,SAAS;AACtC,YAAM,eAAe,oBAAoB,IAAI;AAC7C,YAAM,EAAE,OAAO,OAAO,IAAI;AAC1B,YAAM,UAAU,aAAa,WAAW,OAAO,SAAS,MAAM,UAAU;AACxE,YAAM,QAAQ;AACd,UAAI,SAAS,KAAK;AAAA,QAChB;AAAA,QACA,eAAe,eAAe,mBAAmB;AAAA,MACnD;AACA,eAAS,OAAO,QAAQ,iBAAiB,EAAE;AAC3C,eAAS,OAAO,QAAQ,kBAAkB,EAAE;AAC5C,eAAS,OAAO,QAAQ,SAAS,UAAU;AAC3C,aAAO;AAAA,IACT;AAGA,QAAI,iBAAiB,CAAC;AACtB,IAAAjE,UAAS,gBAAgB;AAAA,MACvB,mBAAmB,MAAM;AAAA,MACzB,iBAAiB,MAAM;AAAA,MACvB,eAAe,MAAM;AAAA,MACrB,eAAe,MAAM;AAAA,MACrB,YAAY,MAAM;AAAA,MAClB,sBAAsB,MAAM;AAAA,MAC5B,qBAAqB,MAAM;AAAA,MAC3B,yBAAyB,MAAM;AAAA,MAC/B,UAAU,MAAM2C;AAAA,MAChB,eAAe,MAAMC;AAAA,MACrB,kBAAkB,MAAMC;AAAA,MACxB,eAAe,MAAMC;AAAA,MACrB,eAAe,MAAMC;AAAA,MACrB,wBAAwB,MAAMC;AAAA,MAC9B,iBAAiB,MAAMC;AAAA,MACvB,UAAU,MAAMC;AAAA,MAChB,gBAAgB,MAAMC;AAAA,MACtB,mBAAmB,MAAMC;AAAA,MACzB,iBAAiB,MAAM;AAAA,MACvB,UAAU,MAAM;AAAA,MAChB,SAAS,MAAM;AAAA,MACf,eAAe,MAAM;AAAA,MACrB,aAAa,MAAM;AAAA,MACnB,SAAS,MAAM;AAAA,MACf,eAAe,MAAM;AAAA,MACrB,QAAQ,MAAM;AAAA,MACd,UAAU,MAAM;AAAA,IAClB,CAAC;AAGD,QAAIqB,iBAAgBtE,SAAQqC,cAAa,GAAG,CAAC;AAC7C,QAAIG,YAAW,CAAC,OAAO,QAAQ;AAC7B,YAAM2B,WAAU5B,iBAAgB;AAChC,UAAI,EAAE,GAAG+B,eAAc,UAAU,KAAK,GAAG;AACvC,YAAIH,SAAQ;AACV,kBAAQ,KAAK,OAAO,+BAA+B;AACrD;AAAA,MACF;AACA,UAAI,MAAM,MAAM,GAAG,CAAC,MAAM;AACxB,eAAO,OAAO;AAChB,UAAI,OAAO,MAAM,GAAG;AAClB,gBAAQ,MAAM,GAAG;AACnB,YAAM,CAAC,MAAM,OAAO,IAAI,KAAK,GAAGG,eAAc,SAAS,KAAK,IAAI,QAAQ,MAAM,MAAM,GAAG;AACvF,YAAM,EAAE,OAAO,QAAQ,UAAU,UAAU,IAAIH;AAC/C,UAAI,MAAM,OAAO,IAAI,KAAK,UAAU,IAAI;AACxC,UAAI,CAAC,KAAK;AACR,YAAIA,SAAQ;AACV,kBAAQ,KAAK,qBAAqB,IAAI;AACxC,eAAO;AAAA,MACT;AACA,UAAI,KAAK;AACP,YAAI,IAAI,GAAG;AACT,gBAAM,IAAI,GAAG;AAAA,iBACNA,SAAQ;AACf,kBAAQ,KAAK,OAAO,qBAAqB,GAAG;AAAA,MAChD;AACA,UAAI,MAAM,IAAI;AACd,UAAI,KAAK;AACP,YAAI,MAAM;AACR,cAAI,CAAC,IAAI,IAAI,GAAG;AACd,kBAAM,QAAQ,cAAc,IAAI,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;AACrE,kBAAMI,OAAM,KAAK,MAAM,GAAG,CAAC;AAC3B,gBAAIA,SAAQ,OAAOA,SAAQ,KAAK;AAC9B,oBAAM;AAAA,gBACJ,cAAc,OAAO,WAAW,IAAI,CAAC;AAAA,cACvC,EAAE,KAAK,IAAI;AAAA,YACb,OAAO;AACL,oBAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;AAC7D,oBAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAC5B,oBAAM,CAAC,GAAG,GAAG,CAAC,IAAI;AAClB,oBAAM,SAAS,SAAS,GAAG,GAAG,WAAW,IAAI,IAAI,MAAM,GAAG;AAC1D,oBAAM;AAAA,YACR;AACA,gBAAI,IAAI,IAAI,EAAE,KAAK,KAAK,GAAG,IAAI,OAAO,OAAO;AAAA,UAC/C;AACE,kBAAM,IAAI,IAAI,EAAE;AAAA,QACpB;AACA,YAAI;AACF,iBAAO,QAAQ,QAAQ;AACzB,eAAOJ,SAAQ,cAAc,OAAO,IAAI,SAAS,OAAO;AAAA,MAC1D;AACE,eAAOA,SAAQ,cAAc,OAAO,IAAI,SAAS,IAAI;AAAA,IACzD;AACA,QAAIxB,iBAAgB,CAAC,OAAO,gBAAgB;AAC1C,YAAMwB,WAAU5B,iBAAgB;AAChC,UAAI,CAAC;AACH,sBAAc4B,SAAQ;AACxB,UAAI,EAAE,GAAGG,eAAc,UAAU,KAAK,GAAG;AACvC,YAAIH,SAAQ;AACV,kBAAQ,KAAK,OAAO,+BAA+B;AACrD;AAAA,MACF;AACA,UAAI,MAAM,MAAM,GAAG,CAAC,MAAM;AACxB,eAAO,OAAO;AAChB,YAAM,CAAC,IAAI,KAAK,GAAGG,eAAc,SAAS,KAAK,IAAI,QAAQ,MAAM,MAAM,GAAG;AAC1E,YAAM,EAAE,OAAO,QAAQ,UAAU,UAAU,IAAIH;AAC/C,YAAM,MAAM,OAAO,IAAI,KAAK,UAAU,IAAI;AAC1C,YAAM,SAAS,GAAGG,eAAc,UAAU,GAAG;AAC7C,UAAI,SAAS,IAAI;AACf,eAAO9B,UAAS,OAAO,IAAI,aAAa;AAAA,eACjC,OAAO;AACd,YAAI;AACF,iBAAOA,UAAS,OAAO,IAAI,aAAa;AAAA,aACrC;AACH,gBAAM,MAAM,CAAC;AACb,qBAAW,aAAa,KAAK;AAC3B,kBAAM,QAAQ2B,SAAQ,MAAM,UAAU,MAAM,CAAC,CAAC;AAC9C,kBAAM,QAAQ,qBAAqB;AACnC,gBAAI,KAAK,IAAI3B,UAAS,OAAO,SAAS;AAAA,UACxC;AACA,iBAAO;AAAA,QACT;AAAA,MACF,OAAO;AACL,YAAI2B,SAAQ;AACV,kBAAQ,KAAK,oBAAoB,KAAK;AACxC,eAAO;AAAA,MACT;AAAA,IACF;AACA,QAAI,WAAW,CAAC,KAAK,KAAK,WAAW;AACnC,YAAMA,WAAU5B,iBAAgB;AAChC,WAAK,GAAG+B,eAAc,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM;AAC1D,cAAM9B,UAAS,IAAI,MAAM,CAAC,CAAC;AAC7B,WAAK,GAAG8B,eAAc,SAAS,GAAG,GAAG;AACnC,eAAO;AAAA,UACL,UAAU,SAAS,IAAI,CAAC,GAAG,KAAK,OAAO;AAAA,UACvC,SAAS,SAAS,IAAI,CAAC,GAAG,KAAK,MAAM;AAAA,QACvC;AAAA,MACF;AACA,WAAK,GAAGA,eAAc,UAAU,GAAG,GAAG;AACpC,cAAM,MAAM,CAAC;AACb,mBAAW,WAAW;AACpB,cAAI,OAAO,IAAI,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC,MAAM,MAAM,QAAQ,MAAM,CAAC,IAAI,OAAO;AACrG,eAAO;AAAA,MACT;AACA,YAAM,SAAS,WAAW,SAAS,SAAS,IAAI,WAAW;AAC3D,YAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,uBAAuB,IAAI,SAAS,GAAG;AAChE,YAAM,QAAQ,WAAW,EAAE,QAAQ,CAAC,CAAC;AACrC,YAAM,MAAM,GAAG,MAAM,MAAM;AAC3B,YAAM,QAAQ,QAAQ,QAAQ;AAC9B,UAAIH,SAAQ,aAAa;AACvB,QAAAA,SAAQ,SAAS,MAAM,IAAI;AAAA,MAC7B;AACA,aAAO;AAAA,QACL,KAAK;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,QAAI,cAAc,CAAC,KAAK,KAAK,WAAW;AACtC,YAAMA,WAAU5B,iBAAgB;AAChC,WAAK,GAAG+B,eAAc,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM;AAC1D,cAAM9B,UAAS,IAAI,MAAM,CAAC,CAAC;AAC7B,WAAK,GAAG8B,eAAc,SAAS,GAAG,GAAG;AACnC,eAAO;AAAA,UACL,UAAU,YAAY,IAAI,CAAC,GAAG,KAAK,OAAO;AAAA,UAC1C,SAAS,YAAY,IAAI,CAAC,GAAG,KAAK,MAAM;AAAA,QAC1C;AAAA,MACF;AACA,WAAK,GAAGA,eAAc,UAAU,GAAG,GAAG;AACpC,cAAM,MAAM,CAAC;AACb,mBAAW,WAAW;AACpB,cAAI,OAAO,IAAI,YAAY,IAAI,OAAO,GAAG,KAAK,QAAQ,MAAM,GAAG,CAAC,MAAM,MAAM,QAAQ,MAAM,CAAC,IAAI,OAAO;AACxG,eAAO;AAAA,MACT;AACA,YAAM,SAAS,cAAc,SAAS,SAAS,IAAI,WAAW;AAC9D,UAAIH,SAAQ,aAAa;AACvB,QAAAA,SAAQ,SAAS,MAAM,IAAI,IAAI,SAAS;AAAA,MAC1C;AACA,aAAO;AAAA,QACL,KAAK;AAAA,QACL,OAAO,IAAI,SAAS;AAAA,MACtB;AAAA,IACF;AAGA,QAAIK,kBAAiBxE,SAAQqC,cAAa,GAAG,CAAC;AAC9C,QAAI,gBAAgB,CAAC,UAAU;AAC7B,YAAM,QAAQ,CAAC;AACf,YAAM,EAAE,OAAO,OAAO,SAAS,GAAG,KAAK,IAAI;AAC3C,YAAM,OAAO,OAAO,KAAK,IAAI;AAC7B,WAAK,IAAI,CAAC,QAAQ;AAChB,cAAM,aAAa,CAAC,SAAS,SAAS,cAAc,QAAQ;AAC5D,cAAM,UAAU,WAAW,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;AACtD,eAAO,MAAM,GAAG,IAAI,UAAUG,UAAS,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG;AAAA,MAChE,CAAC;AACD,aAAO;AAAA,IACT;AACA,QAAI,gBAAgB,CAAC,UAAU;AAC7B,UAAI,MAAM;AACR,eAAO,MAAM;AACf,YAAM,QAAQ,cAAc,KAAK;AACjC,aAAO,MAAM;AAAA,IACf;AACA,QAAIO,YAAW,CAAC,OAAO,aAAa;AAClC,YAAMoB,WAAU5B,iBAAgB;AAChC,UAAI4B,SAAQ;AACV,eAAOvB,eAAc,OAAO,QAAQ;AACtC,YAAM,EAAE,OAAO,OAAO,IAAIuB;AAC1B,WAAK,GAAGK,gBAAe,UAAU,KAAK,GAAG;AACvC,cAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,MAAM,GAAG;AACzC,cAAM,aAAa,OAAO,KAAK;AAC/B,YAAI,YAAY;AACd,cAAI,CAAC,YAAY,CAAC;AAChB,mBAAO,cAAc,UAAU;AACjC,kBAAQ,CAAC,OAAO,YAAY,QAAQ;AAAA,QACtC;AAAA,MACF;AACA,WAAK,GAAGA,gBAAe,cAAc,KAAK,KAAK,MAAM,CAAC,GAAG;AACvD,cAAM,YAAY,MAAM,CAAC;AACzB,cAAM,eAAe,MAAM,CAAC;AAC5B,cAAM,EAAE,SAAS,OAAO,MAAM,IAAI,OAAO,SAAS;AAClD,YAAI,SAAS,MAAM,YAAY;AAC7B,iBAAO,cAAc,MAAM,YAAY,CAAC;AAC1C,YAAI,WAAW,QAAQ,YAAY;AACjC,iBAAO,cAAc,QAAQ,YAAY,CAAC;AAC5C,YAAI,SAAS,MAAM,YAAY;AAC7B,iBAAO,cAAc,MAAM,YAAY,CAAC;AAAA,MAC5C,YAAY,GAAGA,gBAAe,UAAU,KAAK;AAC3C,eAAO,cAAc,KAAK;AAAA,IAC9B;AACA,QAAI,kBAAkB,CAAC,OAAO,SAAS,UAAU;AAC/C,WAAK,GAAGA,gBAAe,UAAU,OAAO,GAAG;AACzC,cAAM,SAAS,QAAQ,QAAQ,cAAc,OAAO;AAAA,MACtD,WAAW,YAAY,MAAM;AAC3B,cAAM,EAAE,OAAO,WAAW,IAAI;AAC9B,cAAM,SAAS,UAAU;AAAA,UACvB,OAAO;AAAA,YACL,OAAO;AAAA,YACP,YAAY;AAAA,UACd;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,YAAY,CAAC,OAAO,KAAK,SAAS,eAAe;AACnD,YAAM,SAASzB,UAAS,OAAO;AAC/B,iBAAW,KAAK,KAAK,IAAI;AACzB,WAAK,GAAGyB,gBAAe,UAAU,OAAO,KAAK,CAAC,QAAQ;AACpD,gBAAQ,QAAQ;AAAA,IACpB;AACA,QAAI,eAAe,CAAC,OAAO,UAAU;AACnC,YAAM,EAAE,MAAM,IAAI;AAClB,UAAI,CAAC;AACH;AACF,YAAM,OAAO,OAAO,KAAK,KAAK;AAC9B,WAAK,IAAI,CAAC,QAAQ;AAChB,cAAM,UAAU,MAAM,GAAG;AACzB,kBAAU,OAAO,KAAK,SAAS,KAAK;AACpC,eAAO;AAAA,MACT,CAAC;AACD,aAAO;AAAA,IACT;AACA,QAAI,mBAAmB,CAAC,OAAO,KAAK,SAAS,eAAe;AAC1D,YAAM,SAASzB,UAAS,OAAO;AAC/B,iBAAW,iCAAiC,MAAM,IAAI;AACtD,WAAK,GAAGyB,gBAAe,UAAU,OAAO,KAAK,CAAC,QAAQ;AACpD,gBAAQ,QAAQ;AAAA,IACpB;AACA,QAAI,WAAW,CAAC,OAAO,UAAU;AAC/B,YAAM,EAAE,MAAM,IAAI;AAClB,UAAI,CAAC;AACH;AACF,YAAM,OAAO,OAAO,KAAK,KAAK;AAC9B,WAAK,IAAI,CAAC,QAAQ;AAChB,cAAM,UAAU,MAAM,GAAG;AACzB,YAAI,QAAQ,UAAU,QAAQ;AAC5B,2BAAiB,OAAO,KAAK,SAAS,KAAK;AAC7C,YAAI,QAAQ;AACV,0BAAgB,OAAO,SAAS,KAAK;AACvC,eAAO;AAAA,MACT,CAAC;AACD,aAAO;AAAA,IACT;AACA,QAAI,aAAa,CAAC,OAAO,UAAU;AACjC,YAAML,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,QAAQ,IAAI;AACpB,UAAI,CAAC;AACH;AACF,YAAM,OAAO,OAAO,KAAK,OAAO;AAChC,WAAK,IAAI,CAAC,QAAQ;AAChB,cAAM,SAAS,QAAQ,GAAG;AAC1B,aAAK,GAAGiC,gBAAe,UAAU,MAAM;AACrC,kBAAQ,GAAG,IAAIL,SAAQ,MAAM,MAAM;AAAA;AAEnC,wBAAc,QAAQ,GAAG,CAAC;AAC5B,eAAO;AAAA,MACT,CAAC;AACD,aAAO;AAAA,IACT;AACA,QAAI,WAAW,CAAC,KAAK,QAAQ;AAC3B,YAAMA,WAAU5B,iBAAgB;AAChC,UAAI4B,SAAQ;AACV,eAAO,cAAc,KAAK,GAAG;AAC/B,YAAM,EAAE,OAAO,OAAO,QAAQ,IAAI;AAClC,YAAM,QAAQ,cAAc,KAAK,GAAG;AACpC,YAAM,SAAS,WAAW;AAC1B,mBAAa,KAAK,KAAK;AACvB,eAAS,KAAK,KAAK;AACnB,iBAAW,KAAK,KAAK;AACrB,aAAO,EAAE,KAAK,QAAQ,OAAO,OAAO,OAAO,QAAQ;AAAA,IACrD;AACA,QAAI,gBAAgB,CAAC,KAAK,KAAK,QAAQ,YAAY;AACjD,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,UAAU,UAAU,IAAI4B;AAChC,YAAM,QAAQ,EAAE,OAAO,IAAI;AAC3B,WAAK,GAAGK,gBAAe,cAAc,GAAG,GAAG;AACzC,mBAAW,SAAS,KAAK;AACvB,gBAAM,OAAO,MAAM,MAAM,GAAG,CAAC;AAC7B,gBAAM,QAAQ,IAAI,KAAK;AACvB,cAAI,SAAS,OAAO,SAAS,OAAO,SAAS,KAAK;AAChD,kBAAM,aAAa,SAAS,OAAO;AACnC,kBAAM,KAAK,IAAI,cAAc,OAAO,KAAK,OAAO,WAAW,UAAU;AAAA,UACvE,OAAO;AACL,kBAAM,QAAQhC,UAAS,OAAO,OAAO;AACrC,kBAAM,eAAe,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3F,kBAAM,oBAAoB,aAAa,SAAS,MAAM,aAAa,KAAK,GAAG,IAAI;AAC/E,kBAAM,SAAS,WAAW,MAAM,qBAAqB;AACrD,gBAAI2B,SAAQ,aAAa;AACvB,wBAAU,MAAM,IAAI;AACpB,oBAAM,KAAK,IAAI,OAAO;AAAA,YACxB,OAAO;AACL,oBAAM,KAAK,IAAI;AAAA,YACjB;AACA,kBAAM,IAAI,OAAO,IAAI,EAAE,CAAC,KAAK,GAAG,MAAM,KAAK,EAAE;AAAA,UAC/C;AAAA,QACF;AACA,YAAI,MAAM,cAAc,MAAM,SAAS,MAAM,iBAAiB;AAC5D,gBAAM,WAAW,IAAI;AAAA,YACnB,OAAO,MAAM,cAAc,MAAM;AAAA,YACjC,YAAY,MAAM;AAAA,UACpB;AAAA,QACF;AAAA,MACF;AACA,WAAK,GAAGK,gBAAe,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM,MAAM;AACjE,cAAM,EAAE,OAAO,OAAO,IAAIL;AAC1B,cAAM,QAAQ,OAAO,IAAI,MAAM,CAAC,CAAC;AACjC,cAAM,gBAAgBvB,eAAc,OAAO,OAAO;AAClD,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AACA,QAAI,iBAAiB,CAAC,QAAQ;AAC5B,YAAMuB,WAAU5B,iBAAgB;AAChC,YAAM,MAAM,CAAC;AACb,iBAAW,SAAS,KAAK;AACvB,cAAM,OAAO,MAAM,MAAM,GAAG,CAAC;AAC7B,aAAK,GAAGiC,gBAAe,cAAc,IAAI,KAAK,CAAC,GAAG;AAChD,cAAI,SAAS,KAAK;AAChB,kBAAM,QAAQL,SAAQ,MAAM,MAAM,MAAM,CAAC,CAAC;AAC1C,kBAAM,QAAQ,qBAAqB;AACnC,gBAAI,KAAK,IAAI,eAAe,IAAI,KAAK,CAAC;AAAA,UACxC,WAAW,SAAS,KAAK;AACvB,gBAAI,IAAI,OAAO,IAAI,eAAe,IAAI,KAAK,CAAC;AAAA,UAC9C;AAAA,QACF;AACE,cAAI,KAAK,IAAI,IAAI,KAAK;AAAA,MAC1B;AACA,aAAO;AAAA,IACT;AACA,QAAI,wBAAwB,CAAC,KAAK,kBAAkB;AAClD,YAAM,aAAa,cAAc,MAAM;AACvC,UAAI,IAAI,UAAU;AAChB,eAAO,sBAAsB,IAAI,UAAU,GAAG,aAAa;AAC7D,aAAO;AAAA,IACT;AACA,QAAI,eAAe,CAAC,KAAK,aAAa;AACpC,WAAK,GAAGK,gBAAe,SAAS,QAAQ;AACtC,eAAO,sBAAsB,KAAK,QAAQ;AAAA,gBAClC,GAAGA,gBAAe,UAAU,QAAQ,KAAK,IAAI,QAAQ;AAC7D,eAAO,IAAI,QAAQ;AAAA;AAEnB,eAAO;AAAA,IACX;AACA,QAAI5B,iBAAgB,CAAC,KAAK,QAAQ;AAChC,YAAMuB,WAAU5B,iBAAgB;AAChC,WAAK,GAAGiC,gBAAe,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM;AAC3D,cAAM5B,eAAc,IAAI,MAAM,CAAC,CAAC;AAClC,UAAI,CAAC,OAAO,EAAE,GAAG4B,gBAAe,UAAU,GAAG,GAAG;AAC9C,YAAIL,SAAQ;AACV,kBAAQ,KAAK,KAAK,uBAAuB;AAC3C;AAAA,MACF;AACA,YAAM,CAAC,MAAM,GAAG,QAAQ,KAAK,GAAGK,gBAAe,SAAS,GAAG,IAAI,MAAM,IAAI,MAAM,GAAG;AAClF,UAAI,QAAQL,SAAQ,MAAM,IAAI;AAC9B,UAAI,UAAU,YAAY,MAAM;AAC9B,gBAAQ,aAAa,OAAO,SAAS,SAAS,WAAW,GAAG;AAAA,MAC9D;AACA,YAAM,IAAI,eAAe,KAAK;AAC9B,aAAO;AAAA,IACT;AAGA,QAAIM,kBAAiBzE,SAAQqC,cAAa,GAAG,CAAC;AAC9C,QAAI,UAAU,CAAC,KAAK,QAAQ;AAC1B,YAAM,SAAS,UAAU;AACzB,YAAM,WAAW,IAAI,CAAC,IAAI,gBAAgB,KAAK,GAAG,IAAI,mBAAmB,KAAK,IAAI,GAAG;AACrF,aAAO,EAAE,KAAK,QAAQ,OAAO,KAAK,SAAS;AAAA,IAC7C;AACA,QAAII,iBAAgB,CAAC,KAAK,YAAY;AACpC,YAAM0B,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,aAAa,aAAa,IAAI4B;AACtC,aAAO,qBAAqB,WAAW,cAAc,GAAG;AAAA,IAC1D;AACA,QAAI,gBAAgB,CAAC,KAAK,QAAQ;AAChC,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,aAAa,cAAc,mBAAmB,mBAAmB,IAAI4B;AAC7E,UAAI,EAAE,OAAO,KAAK,IAAI;AACtB,UAAI,IAAI;AACN,qBAAa,UAAU;AACzB,WAAK,GAAGM,gBAAe,UAAU,KAAK;AACpC,gBAAQ,aAAa,KAAK;AAC5B,YAAM,SAAS,iBAAiB;AAChC,YAAM,MAAM,GAAG,MAAM,KAAK,IAAI,MAAM,mBAAmB,IAAI;AAC3D,aAAO,EAAE,KAAK,QAAQ,OAAO,KAAK,KAAK,OAAO,KAAK;AAAA,IACrD;AAGA,QAAIC,kBAAiB1E,SAAQqC,cAAa,GAAG,CAAC;AAC9C,QAAI,kBAAkB,CAACP,WAAU;AAC/B,YAAMqC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,YAAY,aAAa,OAAO,OAAO,IAAI4B;AACnD,iBAAW,QAAQrC,QAAO;AACxB,cAAM,aAAaA,OAAM,IAAI;AAC7B,YAAI,KAAK,MAAM,GAAG,CAAC,MAAM,KAAK;AAC5B,gBAAM,EAAE,MAAM,MAAM,OAAO,OAAO,aAAa,WAAW,KAAK,IAAIA;AACnE,WAAC,GAAG4C,gBAAe,OAAO,YAAY;AAAA,YACpC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,UAAU,CAAC;AAAA,YACX,QAAQ,CAAC;AAAA,YACT,WAAW,CAAC;AAAA,YACZ,MAAM,CAAC;AAAA,UACT,CAAC;AACD,2BAAiB,UAAU;AAC3B,gBAAM,YAAY,KAAK,MAAM,CAAC;AAC9B,4BAAkB,YAAY,SAAS;AACvC,gBAAM,QAAQ,OAAO,SAAS;AAC9B,sBAAY,UAAU,qBAAqB,OAAO,IAAI;AAAA,YACpD,UAAU,WAAW,OAAO,YAAY,iBAAiB;AAAA,UAC3D;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,gBAAgB,CAAC5C,WAAU;AAC7B,YAAMqC,WAAU5B,iBAAgB;AAChC,UAAIT,OAAM,WAAW;AACnB,cAAM,OAAOA,OAAM;AACnB,cAAM,WAAW,aAAaA,MAAK;AACnC,cAAM,EAAE,UAAU,IAAIA;AACtB,mBAAW,KAAK,UAAU;AACxB,gBAAM,aAAa,IAAI,SAAS,CAAC,IAAI;AACrC,gBAAM,cAAc,UAAU,UAAU;AACxC,oBAAU,UAAU,IAAI;AAAA,YACtB,UAAUqC,SAAQ,cAAc,OAAO,SAAS,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC,EAAE,UAAU;AAAA,YAC1F,QAAQ,cAAc,YAAY,SAAS;AAAA,YAC3C,YAAY,cAAc,YAAY,aAAarC,OAAM;AAAA,YACzD,eAAe,cAAc,YAAY,gBAAgBA,OAAM;AAAA,YAC/D,YAAY,cAAc,YAAY,aAAa,MAAM,IAAI;AAAA,UAC/D;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,0BAA0B,MAAM;AAClC,YAAMqC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,YAAY,YAAY,IAAI4B;AACpC,uBAAiB,WAAW;AAC5B,oBAAc,WAAW;AACzB,wBAAkB,WAAW;AAC7B,sBAAgB,WAAW;AAAA,IAC7B;AACA,QAAIzB,oBAAmB,CAAC,UAAU;AAChC,YAAMyB,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,YAAY,YAAY,IAAI4B;AACpC,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAGA,QAAIQ,kBAAiB3E,SAAQqC,cAAa,GAAG,CAAC;AAC9C,QAAI,mBAAmB,CAAC,kBAAkB;AACxC,iBAAW,QAAQ,eAAe;AAChC,cAAM,aAAa,cAAc,IAAI;AACrC,YAAI,KAAK,MAAM,GAAG,CAAC,MAAM,KAAK;AAC5B,gBAAM,EAAE,MAAM,MAAM,OAAO,OAAO,aAAa,WAAW,KAAK,IAAI;AACnE,WAAC,GAAGsC,gBAAe,OAAO,YAAY;AAAA,YACpC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,UAAU,CAAC;AAAA,YACX,QAAQ,CAAC;AAAA,YACT,WAAW,CAAC;AAAA,YACZ,MAAM,CAAC;AAAA,UACT,CAAC;AACD,2BAAiB,UAAU;AAC3B,gBAAM,YAAY,KAAK,MAAM,CAAC;AAC9B,4BAAkB,YAAY,SAAS;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AACA,QAAI,uBAAuB,MAAM;AAC/B,YAAMR,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,SAAS,SAAS,IAAI4B;AAC9B,uBAAiB,QAAQ;AACzB,wBAAkB,QAAQ;AAC1B,uBAAiB,QAAQ;AAAA,IAC3B;AACA,QAAI,cAAc,CAAC,kBAAkB;AACnC,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,SAAS,SAAS,IAAI4B;AAC9B,UAAI,CAAC;AACH,eAAO;AACT,YAAM,eAAe,OAAO,KAAK,cAAc,QAAQ,EAAE,SAAS;AAClE,aAAO,eAAe,gBAAgB,iBAAiB,aAAa;AAAA,IACtE;AACA,QAAIrB,mBAAkB,CAAC,OAAO,eAAe,WAAW,kBAAkB;AACxE,YAAM,WAAW,YAAY,aAAa;AAC1C,YAAM,QAAQ,aAAa,KAAK;AAChC,UAAI,CAAC;AACH;AACF,WAAK,GAAG6B,gBAAe,UAAU,KAAK,KAAK,MAAM,SAAS,MAAM,GAAG;AACjE,eAAO,EAAE,CAAC,YAAY,GAAG,MAAM;AAAA,MACjC;AACA,UAAI,MAAM,SAAS,GAAG;AACpB,YAAI,SAAS;AACb,YAAI,iBAAiB,eAAe;AAClC,yBAAe;AACf,mBAAS;AAAA,QACX;AACA,cAAM,aAAa;AAAA,UACjB,GAAG,CAAC,SAAS,QAAQ;AAAA,UACrB,GAAG,CAAC,cAAc,UAAU,UAAU;AAAA,UACtC,GAAG,CAAC,cAAc,aAAa,YAAY,aAAa;AAAA,QAC1D;AACA,cAAM,+BAA+B,CAAC,WAAW,MAAM;AAAA,UACrD,MAAM,CAAC;AAAA,UACP,eAAe,YAAY;AAAA,UAC3B;AAAA,QACF;AACA,eAAO,WAAW,MAAM,MAAM,EAAE,IAAI,CAAC,KAAK,QAAQ,6BAA6B,KAAK,GAAG,CAAC;AAAA,MAC1F;AACA,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,QAAI9B,2BAAyB,CAACf,QAAO,cAAc,QAAQ;AACzD,YAAMqC,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,SAAS,SAAS,IAAI4B;AAC9B,YAAM,EAAE,cAAc,KAAK,IAAIrC;AAC/B,YAAM,QAAQ,OAAOA,OAAM,YAAY;AACvC,UAAI,cAAc;AAChB,YAAI,gBAAgB,SAAS,YAAY;AACzC,YAAI,CAAC,eAAe;AAClB,gBAAM,EAAE,MAAM,MAAM,OAAO,YAAY,IAAI;AAC3C,0BAAgB,SAAS,YAAY,KAAK,GAAG6C,gBAAe,OAAO;AAAA,YACjE,OAAO;AAAA,YACP,MAAM,OAAO,MAAM;AAAA,YACnB;AAAA,YACA,UAAU,CAAC;AAAA,YACX,QAAQ,CAAC;AAAA,YACT,WAAW,CAAC;AAAA,YACZ,MAAM,CAAC;AAAA,UACT,GAAG;AAAA,YACD;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAO,SAAS;AAAA,YAChB,MAAM,SAAS;AAAA,UACjB,CAAC;AAAA,QACH;AACA,0BAAkB,eAAe,MAAM,EAAE,YAAY,MAAM,CAAC;AAC5D,eAAO7B,iBAAgB,OAAO,cAAc,aAAa;AAAA,MAC3D;AACA,aAAOA,iBAAgB,OAAO,YAAY;AAAA,IAC5C;AAGA,QAAI,sBAAsB,MAAM;AAC9B,YAAMqB,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,QAAQ,QAAQ,IAAI4B;AAC5B,uBAAiB,OAAO;AACxB,wBAAkB,OAAO;AAAA,IAC3B;AACA,QAAIlB,qBAAoB,CAAC,UAAU;AACjC,YAAMkB,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,QAAQ,QAAQ,IAAI4B;AAC5B,aAAO,QAAQ,KAAK,KAAK,QAAQ,YAAY,KAAK,CAAC,KAAK;AAAA,IAC1D;AACA,QAAInB,kBAAiB,CAAC,OAAO,WAAW,aAAa;AACnD,YAAMmB,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,QAAQ,QAAQ,IAAI4B;AAC5B,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAGA,QAAIS,kBAAiB5E,SAAQqC,cAAa,GAAG,CAAC;AAC9C,QAAI,gBAAgB,MAAM;AACxB,YAAM8B,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,UAAU,WAAW,aAAa,cAAc,OAAO,QAAQ,YAAY,YAAY,IAAI4B;AACnG,cAAQ,GAAGS,gBAAe,OAAO,WAAW;AAAA,QAC1C,OAAO,OAAO;AAAA,QACd,YAAY,qBAAqB,YAAY;AAAA,QAC7C,UAAU,YAAY;AAAA,QACtB,YAAY,YAAY;AAAA,MAC1B,CAAC;AAAA,IACH;AAGA,QAAI,kBAAkB5E,SAAQZ,cAAY,GAAG,CAAC;AAC9C,QAAI,cAAc;AAAA,MAChB,UAAU,gBAAgB;AAAA,IAC5B;AACA,QAAI,SAAS,CAAC,KAAK,QAAQ;AACzB,YAAM+E,WAAU5B,iBAAgB;AAChC,UAAI,CAAC,KAAK;AACR,YAAI4B,SAAQ;AACV,kBAAQ,KAAK,8BAA8B,GAAG;AAChD;AAAA,MACF;AACA,UAAIA,SAAQ,cAAc;AACxB,eAAO,mBAAmB,KAAK,GAAG;AAAA,MACpC;AACA,aAAO;AAAA,IACT;AACA,QAAI,kBAAkB,CAAC,SAAS,UAAU,gBAAgB;AACxD,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,MAAM,OAAO,KAAK,OAAO,EAAE,SAAS,CAAC,IAAI4B,SAAQ;AACvD,iBAAW,OAAO;AAChB,YAAI,GAAG,IAAIA,SAAQ,IAAI,GAAG;AAC5B,gBAAU,KAAK,OAAO;AAAA,IACxB;AACA,QAAI,UAAU,CAAC,KAAK,QAAQ;AAC1B,YAAMA,WAAU5B,iBAAgB;AAChC,UAAI4B,SAAQ,eAAe;AACzB,eAAO,OAAO,KAAK,GAAG;AAAA,MACxB;AACA,aAAO;AAAA,IACT;AACA,QAAI,oBAAoB,CAAC,SAAS,UAAU,gBAAgB;AAC1D,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,MAAM,OAAO,KAAK,OAAO,EAAE,SAAS,CAAC,IAAI4B,SAAQ;AACvD,iBAAW,OAAO;AAChB,YAAI,GAAG,IAAIA,SAAQ,MAAM,GAAG;AAC9B,gBAAU,KAAK,OAAO;AAAA,IACxB;AACA,QAAI,yBAAyB,CAAC,UAAU,EAAE,QAAQ,KAAK,MAAM;AAC3D,YAAM,UAAU,gBAAgB,SAAS,gBAAgB,8BAA8B,KAAK;AAC5F,UAAI,QAAQ,QAAQ;AAClB,gBAAQ,aAAa,eAAe,MAAM;AAC1C,gBAAQ,aAAa,SAAS,GAAG;AACjC,gBAAQ,aAAa,UAAU,GAAG;AAClC,gBAAQ,aAAa,SAAS,mBAAmB;AACjD,gBAAQ,aAAa,MAAM,WAAW;AAAA,MACxC;AACA,aAAO;AAAA,IACT;AACA,QAAI,YAAY,CAAC,KAAK,UAAU,gBAAgB;AAC9C,YAAMA,WAAU5B,iBAAgB;AAChC,YAAM,MAAM,QAAQ,YAAY,gBAAgB;AAChD,UAAI,CAAC,KAAK;AACR,YAAI4B,SAAQ,SAAS;AACnB,kBAAQ,KAAK,+DAA+D;AAAA,QAC9E;AACA,eAAO,eAAe,GAAG;AAAA,MAC3B;AACA,YAAM,SAAS,IAAI,cAAc,YAAY;AAC7C,YAAM,YAAY,eAAe,GAAG;AACpC,UAAI,QAAQ;AACV,cAAM,UAAU,uBAAuB,EAAE,QAAQ,MAAM,CAAC;AACxD,gBAAQ,YAAY;AACpB,eAAO,OAAO,GAAG,QAAQ,QAAQ;AAAA,MACnC,OAAO;AACL,cAAM,eAAe,uBAAuB;AAC5C,qBAAa,YAAY;AACzB,YAAI,KAAK,QAAQ,YAAY;AAAA,MAC/B;AAAA,IACF;AAGA,QAAI,iBAAiBnE,SAAQqC,cAAa,GAAG,CAAC;AAC9C,QAAI,aAAa,CAAC,QAAQ,CAAC,MAAM;AAC/B,YAAM8B,WAAU5B,iBAAgB;AAChC,YAAM,EAAE,OAAO,QAAQ,YAAY,aAAa,UAAU,UAAU,IAAI4B;AACxE,UAAI,QAAQ;AACV,YAAI,OAAO,OAAO,GAAG;AACnB,gBAAM,cAAc;AACpB,gBAAM,kBAAkB,YAAY;AACpC,sBAAY,OAAO;AAAA,YACjB,GAAGA,SAAQ,mBAAmBvB,eAAc,YAAY,IAAIuB,SAAQ,aAAa,IAAI,CAAC;AAAA,YACtF,GAAG,gBAAgB;AAAA,UACrB;AACA,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AACjC,sBAAY,KAAK,gBAAgB;AAAA,QACnC;AACA,cAAM,EAAE,MAAM,GAAG,UAAU,IAAI,YAAY;AAC3C,gBAAQ,GAAG,eAAe,YAAY,GAAG,eAAe,OAAO,QAAQ,KAAK,GAAG;AAAA,UAC7E,MAAM;AAAA,YACJ,UAAU;AAAA;AAAA,YAEV,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,KAAK;AAAA,YACL,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,qBAAqB;AAAA,YACrB,gBAAgB;AAAA,YAChB,UAAU,YAAY,iBAAiB;AAAA,YACvC,GAAGA,SAAQ,mBAAmBvB,eAAc,YAAY,IAAIuB,SAAQ,aAAa,IAAI,CAAC;AAAA,YACtF,YAAY,UAAU;AAAA,YACtB,YAAY,UAAU;AAAA,UACxB;AAAA,UACA,MAAM;AAAA,YACJ,WAAW;AAAA,YACX,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,YAAY,UAAU;AAAA,YACtB,UAAU,YAAY,OAAO,YAAY,iBAAiBA,SAAQ,KAAK;AAAA,YACvE,GAAG;AAAA,YACH,GAAG;AAAA,UACL;AAAA;AAAA,UAEA,UAAU;AAAA,YACR,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,QAAQ;AAAA,UACV;AAAA,UACA,iBAAiB;AAAA,YACf,YAAY,UAAU;AAAA,UACxB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,iBAAiBnE,SAAQqC,cAAa,GAAG,CAAC;AAC9C,QAAI,gBAAgB,CAAC,QAAQ;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;AAC7B,QAAIiB,mBAAkB,CAAC,WAAW;AAChC,YAAM,MAAM,OAAO,MAAM,IAAI;AAC7B,aAAO,IAAI,IAAI,CAAC,MAAM;AACpB,YAAI,EAAE,KAAK;AACX,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAAA,iBACP,cAAc,CAAC;AACtB,iBAAO,KAAK;AAAA,iBACL,EAAE,MAAM,EAAE,MAAM,QAAQ,EAAE,MAAM,EAAE,MAAM;AAC/C,iBAAO;AAAA,iBACAd,UAAS,CAAC,EAAE,SAAS;AAC5B,iBAAOA,UAAS,CAAC;AACnB,eAAOM,iBAAgB,GAAG,QAAQ,EAAE;AAAA,MACtC,CAAC,EAAE,KAAK,GAAG;AAAA,IACb;AACA,QAAIW,uBAAsB,CAAC,WAAW;AACpC,aAAO,OAAO,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM;AACnC,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAChB,YAAI,EAAE,SAAS,IAAI;AACjB,iBAAO;AAAA,iBACAjB,UAAS,CAAC;AACjB,iBAAOA,UAAS,CAAC;AACnB,eAAO;AAAA,MACT,CAAC,EAAE,KAAK,GAAG;AAAA,IACb;AACA,QAAIgB,mBAAkB,CAAC,YAAY,QAAQ,MAAM,GAAG,EAAE,IAAI,CAAC,WAAW;AACpE,aAAO,OAAO,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM;AACnC,YAAI,EAAE,KAAK;AACX,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAChB,YAAIhB,UAAS,CAAC,EAAE,SAAS;AACvB,iBAAOA,UAAS,CAAC;AACnB,YAAI,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM;AACtC,iBAAO;AACT,cAAM,MAAM,EAAE,MAAM,GAAG;AACvB,YAAI,CAAC,IAAI;AACP,iBAAO;AACT,eAAO,IAAI,IAAI,CAAC,OAAOM,iBAAgB,IAAI,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAG;AAAA,MACvE,CAAC,EAAE,KAAK,GAAG;AAAA,IACb,CAAC,EAAE,KAAK,GAAG;AACX,QAAIO,4BAA2B,CAAC,iBAAiB,gBAAgB;AAC/D,YAAMc,WAAU5B,iBAAgB;AAChC,aAAO,gBAAgB,MAAM,IAAI,EAAE,IAAI,CAAC,MAAM;AAC5C,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAChB,YAAI,EAAE,SAAS,KAAK,KAAK,EAAE,SAAS,UAAU;AAC5C,iBAAO;AAAA,iBACA4B,SAAQ,SAAS,eAAe,GAAG;AAC1C,iBAAO;AAAA,YACL,iBAAiBxB,eAAc,iBAAiB,eAAewB,SAAQ,WAAW;AAAA,UACpF;AAAA,QACF,WAAW,EAAE,SAAS,GAAG,KAAK,EAAE,SAAS,MAAM;AAC7C,iBAAO,OAAO;AAChB,eAAO;AAAA,MACT,CAAC,EAAE,KAAK,GAAG;AAAA,IACb;AACA,QAAIT,gBAAe,CAAC,SAAS,GAAG,eAAe,UAAU,GAAG,KAAK,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAMZ,iBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG;AAClI,QAAI,sBAAsB,CAAC,eAAe;AACxC,YAAM,MAAM,WAAW,MAAM,GAAG;AAChC,UAAI,CAAC,IAAI;AACP,eAAO;AACT,aAAO,IAAI,IAAI,CAAC,MAAM;AACpB,YAAI,EAAE,MAAM,GAAG,CAAC,MAAM;AACpB,iBAAO,OAAO;AAChB,YAAI,EAAE,SAAS,KAAK,EAAE,SAAS,IAAI,GAAG;AACpC,gBAAM,kBAAkBE,gBAAe,CAAC;AACxC,iBAAO,gBAAgB,UAAU;AAAA,QACnC;AACA,YAAIC,mBAAkB,CAAC;AACrB,iBAAOA,mBAAkB,CAAC;AAC5B,eAAO;AAAA,MACT,CAAC,EAAE,KAAK,GAAG;AAAA,IACb;AACA,QAAIM,qBAAoB,CAAC,UAAUzB,QAAO,iBAAiB;AACzD,UAAI,EAAE,GAAG,eAAe,UAAU,QAAQ;AACxC;AACF,aAAO,SAAS,MAAM,GAAG,EAAE,IAAI,CAAC,MAAMkB,gBAAe,CAAC,EAAE,UAAU,CAAC,EAAE,KAAK,GAAG;AAAA,IAC/E;AACA,QAAII,mBAAkB,CAAC,eAAe;AACpC,YAAM,MAAM,WAAW,MAAM,GAAG;AAChC,UAAI,CAAC,IAAI;AACP;AACF,aAAO,IAAI,IAAI,mBAAmB,EAAE,KAAK,GAAG;AAAA,IAC9C;AAGA,QAAI,iBAAiBpD,SAAQqC,cAAa,GAAG,CAAC;AAC9C,QAAI,WAAW,CAAC,KAAK,QAAQ;AAC3B,WAAK,GAAG,eAAe,YAAY,GAAG;AACpC,eAAO,IAAI;AACb,aAAO;AAAA,IACT;AACA,QAAI,eAAe,CAAC,KAAK,QAAQ;AACjC,QAAI,qBAAqB;AAAA,MACvB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,MACP,OAAO;AAAA,MACP,KAAK;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AACA,QAAI,WAAW,CAAC,cAAc,OAAO,QAAQ;AAC3C,YAAM8B,WAAU5B,iBAAgB;AAChC,YAAM,cAAc,aAAa,YAAY;AAC7C,YAAM,WAAW4B,SAAQ,YAAY;AACrC,UAAI,mBAAmB,WAAW,GAAG;AACnC,cAAM,SAAS,mBAAmB,WAAW,EAAE,OAAO,GAAG;AACzD,iBAAS,GAAG,IAAI;AAChB,eAAO;AAAA,MACT;AACA,UAAIA,SAAQ;AACV,gBAAQ,KAAK,gBAAgB,aAAa,mBAAmB;AAAA,IACjE;AACA,QAAI,UAAU,CAAC,aAAarC,WAAU;AACpC,YAAMqC,WAAU5B,iBAAgB;AAChC,YAAM,eAAe,YAAY,YAAY;AAC7C,YAAM,OAAO,OAAO,KAAKT,MAAK;AAC9B,WAAK,IAAI,CAAC,QAAQ,SAAS,cAAcA,OAAM,GAAG,GAAG,GAAG,CAAC;AACzD,aAAOqC,SAAQ,YAAY;AAAA,IAC7B;AACA,QAAI,cAAc,CAAC;AACnB,QAAIhB,OAAM,CAAC,eAAe,UAAU,gBAAgB;AAClD,UAAIgB,WAAU5B,iBAAgB;AAC9B,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACL,IAAI;AACJ,UAAI,QAAQ,WAAW;AACrB,QAAA4B,WAAU,gBAAgB,QAAQ,SAAS;AAAA,MAC7C;AACA,UAAI,YAAY;AACd,QAAAA,SAAQ,UAAU;AACpB,UAAI,gBAAgB;AAClB,QAAAA,SAAQ,cAAc;AACxB,UAAI,aAAa;AACf,QAAAA,SAAQ,WAAW;AACrB,UAAI,kBAAkB;AACpB,QAAAA,SAAQ,gBAAgB;AAC1B,UAAI,iBAAiB;AACnB,QAAAA,SAAQ,eAAe;AACzB,UAAI,kBAAkB;AACpB,QAAAA,SAAQ,gBAAgB;AAC1B,UAAI,qBAAqB;AACvB,QAAAA,SAAQ,mBAAmB;AAC7B,UAAI,gBAAgB;AAClB,QAAAA,SAAQ,cAAc;AACxB,UAAIA,SAAQ;AACV,gBAAQ,IAAIA,QAAO;AACrB,UAAI,CAACA,SAAQ;AACX,QAAAA,SAAQ,cAAc,CAAC;AACzB,YAAM,OAAO,OAAO,KAAK,MAAM;AAC/B,WAAK,IAAI,CAAC,QAAQ,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC;AAC3C,8BAAwB;AACxB,2BAAqB;AACrB,0BAAoB;AACpB,oBAAc;AACd,iBAAW;AACX,aAAOA;AAAA,IACT;AAAA;AAAA;;;AC1sFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAAAU;AAAA,EAAA,gBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,qBAAsE;AAE/D,IAAM,QAAQ;AAAA,EACnB,OAAO;AAAA,IACL,WAAW,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,YAC3B,EAAE,WAAWA,OAAM,UAAU,IAC9B;AAAA,MACE,WAAW;AAAA,IACb;AAAA,IAEJ,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,SAASA,OAAM,QAAQ;AAAA,IAEnE,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,QAAS,EAAE,SAAS,OAAO;AAAA,IAEtD,OAAO,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAAS,uCAAuBA,QAAO,OAAO;AAAA,IAC1E,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAU,uCAAuBA,QAAO,QAAQ;AAAA,IAC7E,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAM;AACtB,UAAI,OAAOA,OAAM,YAAY;AAAU;AACvC,YAAM,CAAC,QAAQ,KAAK,IAAIA,OAAM,QAAQ,MAAM,GAAG;AAC/C,aAAO;AAAA,QACL,OAAG,gCAAgB,QAAQ,QAAQ;AAAA,QACnC,OAAG,gCAAgB,SAAS,QAAQ,OAAO;AAAA,MAC7C;AAAA,IACF;AAAA,IAEA,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAY,uCAAuBA,QAAO,UAAU;AAAA,IACnF,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAY,uCAAuBA,QAAO,UAAU;AAAA,IACnF,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAM;AACzB,UAAI,OAAOA,OAAM,eAAe;AAAU;AAC1C,YAAM,CAAC,UAAU,QAAQ,IAAIA,OAAM,WAAW,MAAM,GAAG;AACvD,aAAO;AAAA,QACL,OAAG,gCAAgB,UAAU,UAAU;AAAA,QACvC,OAAG,gCAAgB,YAAY,UAAU,UAAU;AAAA,MACrD;AAAA,IACF;AAAA,IAEA,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,iBAAa,uCAAuBA,QAAO,WAAW;AAAA,IACtF,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,iBAAa,uCAAuBA,QAAO,WAAW;AAAA,IACtF,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAM;AAC1B,UAAI,OAAOA,OAAM,gBAAgB;AAAU;AAC3C,YAAM,CAAC,WAAW,SAAS,IAAIA,OAAM,YAAY,MAAM,GAAG;AAC1D,aAAO;AAAA,QACL,OAAG,gCAAgB,WAAW,WAAW;AAAA,QACzC,OAAG,gCAAgB,aAAa,WAAW,WAAW;AAAA,MACxD;AAAA,IACF;AAAA,IAEA,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAAc,EAAE,WAAWA,OAAM,UAAU;AAAA,IAE3E,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,eAAgB,EAAE,aAAaA,OAAM,YAAY;AAAA,IAEnF,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,kBAAc,uCAAuBA,QAAO,aAAa,IAAI;AAAA,IAE/F,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAU,uCAAuBA,QAAO,SAAS,IAAI;AAAA,IACnF,eAAe,CAAC,EAAE,OAAAA,OAAM,MAAM;AAC5B,UAAI,OAAOA,OAAM,kBAAkB;AAAU;AAC7C,YAAM,CAAC,oBAAoB,gBAAgB,IAAIA,OAAM,cAAc,MAAM,GAAG;AAC5E,aAAO;AAAA,QACL,OAAG,gCAAgB,oBAAoB,oBAAoB;AAAA,QAC3D,OAAG,gCAAgB,oBAAoB,oBAAoB,kBAAkB;AAAA,MAC/E;AAAA,IACF;AAAA,IACA,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAM;AAC3B,UAAI,OAAOA,OAAM,iBAAiB;AAAU;AAC5C,YAAM,CAAC,mBAAmB,eAAe,IAAIA,OAAM,aAAa,MAAM,GAAG;AACzE,aAAO;AAAA,QACL,OAAG,gCAAgB,mBAAmB,mBAAmB;AAAA,QACzD,OAAG,gCAAgB,mBAAmB,mBAAmB,iBAAiB;AAAA,MAC5E;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,yBAAqB,uCAAuBA,QAAO,oBAAoB,IAAI;AAAA,IACpH,kBAAkB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,uBAAmB,uCAAuBA,QAAO,kBAAkB,IAAI;AAAA,IAC9G,mBAAmB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,wBAAoB,uCAAuBA,QAAO,mBAAmB,IAAI;AAAA,IACjH,iBAAiB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,sBAAkB,uCAAuBA,QAAO,iBAAiB,IAAI;AAAA,IAE3G,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAAS,uCAAuBA,QAAO,QAAQ,IAAI;AAAA,IAChF,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAM;AAC3B,UAAI,OAAOA,OAAM,iBAAiB;AAAU;AAC5C,YAAM,CAAC,mBAAmB,eAAe,IAAIA,OAAM,aAAa,MAAM,GAAG;AACzE,aAAO;AAAA,QACL,OAAG,gCAAgB,mBAAmB,mBAAmB;AAAA,QACzD,OAAG,gCAAgB,mBAAmB,mBAAmB,iBAAiB;AAAA,MAC5E;AAAA,IACF;AAAA,IACA,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAM;AAC1B,UAAI,OAAOA,OAAM,gBAAgB;AAAU;AAC3C,YAAM,CAAC,kBAAkB,cAAc,IAAIA,OAAM,YAAY,MAAM,GAAG;AACtE,aAAO;AAAA,QACL,OAAG,gCAAgB,kBAAkB,kBAAkB;AAAA,QACvD,OAAG,gCAAgB,kBAAkB,kBAAkB,gBAAgB;AAAA,MACzE;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,wBAAoB,uCAAuBA,QAAO,mBAAmB,IAAI;AAAA,IACjH,iBAAiB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,sBAAkB,uCAAuBA,QAAO,iBAAiB,IAAI;AAAA,IAC3G,kBAAkB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,uBAAmB,uCAAuBA,QAAO,kBAAkB,IAAI;AAAA,IAC9G,gBAAgB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,qBAAiB,uCAAuBA,QAAO,gBAAgB,IAAI;AAAA,IAExG,KAAK,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,MACrB;AAAA,MACC,SAAK,6BAAaA,OAAM,GAAG;AAAA,IAC7B,IACA;AAAA,IACJ,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,YAAa,EAAE,UAAUA,OAAM,SAAS;AAAA,IAEvE,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,QAAS,EAAE,MAAMA,OAAM,KAAK;AAAA,IACvD,eAAe,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,iBAAkB,EAAE,eAAeA,OAAM,cAAc;AAAA,IAC3F,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,YAAYA,OAAM,WAAW;AAAA,IAC/E,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAiB,EAAE,cAAcA,OAAM,aAAa;AAAA,IACvF,gBAAgB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,kBAAmB,EAAE,gBAAgBA,OAAM,eAAe;AAAA,IAC/F,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAiB,EAAE,cAAcA,OAAM,aAAa;AAAA,IACvF,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAAc,EAAE,WAAWA,OAAM,UAAU;AAAA,IAC3E,OAAO,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,SAAU,EAAE,OAAOA,OAAM,MAAM;AAAA,IAE3D,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,YAAa;AAAA,MAC1C,SAAS;AAAA,MACT,UAAUA,OAAM;AAAA,IAClB;AAAA,IACA,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,YAAa;AAAA,MAC1C,SAAS;AAAA,MACT,UAAUA,OAAM;AAAA,IAClB;AAAA,IACA,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAM;AACxB,UAAI,OAAOA,OAAM,cAAc;AAAU;AACzC,YAAM,CAAC,YAAY,cAAc,IAAIA,OAAM,UAAU,MAAM,GAAG;AAC9D,aAAO;AAAA,QACL,SAAS;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,IAEA,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,YAAYA,OAAM,WAAW;AAAA,IAC/E,iBAAiB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cACjC;AAAA,MACC,iBAAiBA,OAAM;AAAA,IACzB,IACA;AAAA,IACJ,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,SAASA,OAAM,QAAQ;AAAA,IACnE,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,cAAcA,OAAM,SAAS,IAAK;AAAA,IAEnF,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAM;AACnB,UAAI,OAAOA,OAAM,gBAAgB;AAAU;AAC3C,YAAM,CAAC,WAAW,SAAS,IAAIA,OAAM,YAAY,MAAM,GAAG;AAC1D,aAAO;AAAA,QACL,OAAG,gCAAgB,WAAW,WAAW;AAAA,QACzC,OAAG,gCAAgB,aAAa,WAAW,WAAW;AAAA,MACxD;AAAA,IACF;AAAA,IAEA,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,SAASA,OAAM,QAAQ;AAAA,IACnE,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAY,uCAAuBA,QAAO,WAAW,IAAI;AAAA,IACzF,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,SAASA,OAAM,WAAW;AAAA,IAC5E,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,SAASA,OAAM,WAAW;AAAA,IAC5E,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,eAAgB,EAAE,SAASA,OAAM,YAAY;AAAA,EACjF;AACF;AAEO,IAAM,OAAO,EAAE,KAAK,OAAO;AAC3B,IAAM,OAAO;AAAA,EAClB,KAAK;AAAA,EACL,aAAa,EAAE,KAAK,KAAK;AAC3B;;;ACjKO,IAAM,YAAY;AAAA,EACvB,OAAO;AAAA,IACL,WAAW;AAAA,EACb;AAAA,EACA,OAAO;AAAA,IACL,WAAW,CAAC,EAAE,OAAAC,OAAM,OAAO,EAAE,WAAWA,OAAM,UAAU;AAAA,EAC1D;AACF;;;ACPO,IAAM,OAAO;AAAA,EAClB,OAAO;AAAA,IACL,SAAS;AAAA,EACX;AAAA,EAEA,OAAO;AAAA,IACL,MAAM,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,QAAS,EAAE,UAAUA,OAAM,KAAK;AAAA,IAC3D,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,QAAS,EAAE,UAAUA,OAAM,KAAK;AAAA,IAC3D,OAAO,CAAC,EAAE,OAAAA,OAAM,MAAM;AACpB,UAAI,OAAOA,OAAM,UAAU;AAAU;AACrC,YAAM,CAAC,YAAY,cAAc,IAAIA,OAAM,MAAM,MAAM,GAAG;AAC1D,aAAO,EAAE,YAAY,eAAe;AAAA,IACtC;AAAA,EACF;AACF;;;ACdA,IAAAC,kBAAuC;AAEhC,IAAM,OAAO;AAAA,EAClB,OAAO,EAAE,SAAS,OAAO;AAAA,EAEzB,OAAO;AAAA,IACL,MAAM,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,OAAQ,EAAE,UAAUA,OAAM,KAAK,IAAK;AAAA,IAC/D,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,cAAcA,OAAM,SAAS,IAAK;AAAA,IAC/E,eAAe,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAiB,EAAE,mBAAmBA,OAAM,cAAc,IAAK;AAAA,IAEnG,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,SAAU,EAAE,YAAYA,OAAM,OAAO,IAAK;AAAA,IACvE,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,UAAW,EAAE,qBAAqBA,OAAM,QAAQ,IAAK;AAAA,IACnF,iBAAiB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,kBAAmB,EAAE,qBAAqBA,OAAM,gBAAgB,IAAK;AAAA,IAC3G,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,iBAAiBA,OAAM,YAAY,IAAK;AAAA,IAC3F,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,iBAAiBA,OAAM,YAAY,IAAK;AAAA,IAE3F,KAAK,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,MAAO,EAAE,SAASA,OAAM,IAAI,IAAK;AAAA,IAC3D,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,OAAQ,EAAE,kBAAkBA,OAAM,KAAK,IAAK;AAAA,IACvE,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,eAAgB,EAAE,kBAAkBA,OAAM,aAAa,IAAK;AAAA,IAC/F,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,cAAcA,OAAM,SAAS,IAAK;AAAA,IAC/E,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,cAAcA,OAAM,SAAS,IAAK;AAAA,IAE/E,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,cAAcA,OAAM,SAAS,IAAK;AAAA,IAE/E,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAY,wCAAuBA,QAAO,WAAW,IAAI;AAAA,IACzF,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAAS,wCAAuBA,QAAO,QAAQ,IAAI;AAAA,EAClF;AACF;;;AC3BO,IAAM,MAAM;AAAA,EACjB,KAAK;AAAA,EAEL,OAAO;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,OAAO;AAAA,EACT;AAAA,EAEA,MAAM;AAAA,IACJ,KAAK,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAAA,IAC1B,KAAK,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAC1B,OAAO,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,SAASA,OAAM;AAAA,EAC7C;AACF;;;ACdO,IAAM,OAAO;AAAA,EAClB,KAAK;AAAA,EACL,OAAO,CAAC;AAAA,EACR,MAAM;AAAA,IACJ,QAAQ,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAAA,IAC7B,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAC7B,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EAChC;AACF;;;ACRA,mBAAiD;;;ACAjD,IAAAC,kBAOO;;;ACPP,IAAAC,kBAAoD;;;ACApD,IAAAC,kBAIO;AAEA,IAAM,SAAS;AAAA,EACpB,OAAO;AAAA,IACL,YAAY,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,cAAe;AAAA,MAC9C,gBAAY,iCAAgBA,OAAM,UAAU;AAAA,IAC9C;AAAA,IACA,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe;AAAA,MAC9C,YAAYA,OAAM;AAAA,IACpB;AAAA,IACA,oBAAoB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,sBAAuB;AAAA,MAC9D,wBAAoB,mCAAkBA,OAAM,kBAAkB;AAAA,IAChE;AAAA,IACA,iBAAiB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,mBAAoB;AAAA,MACxD,qBAAiB,mCAAkBA,OAAM,eAAe;AAAA,IAC1D;AAAA,IACA,0BAA0B,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,4BAA6B;AAAA,MAC1E,8BAA0B,mCAAkBA,OAAM,wBAAwB;AAAA,IAC5E;AAAA,IACA,oBAAoB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,sBAAuB;AAAA,MAC9D,oBAAoBA,OAAM;AAAA,MAC1B,YAAYA,OAAM;AAAA,IACpB;AAAA,EACF;AACF;;;ADzBA,IAAM,aAAS,iCAAgB;AAExB,IAAM,QAAQ;AAAA,EACnB,GAAG,EAAE,WAAW,sBAAsB,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU;AAAA,EACpF,GAAG,EAAE,WAAW,sBAAsB,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU;AAAA,EACpF,IAAI,EAAE,WAAW,sBAAsB,OAAO,KAAK,aAAa,OAAO,KAAK,UAAU;AAAA,EACtF,IAAI,EAAE,WAAW,sBAAsB,OAAO,KAAK,aAAa,OAAO,KAAK,UAAU;AAAA,EACtF,IAAI,EAAE,WAAW,uBAAuB,OAAO,KAAK,aAAa,OAAO,KAAK,UAAU;AAAA,EACvF,IAAI,EAAE,WAAW,uBAAuB,OAAO,KAAK,aAAa,OAAO,KAAK,UAAU;AACzF;AAEA,IAAM,6BAA6B,CAAC,EAAE,OAAAC,OAAM,MAAM;AAChD,aAAO,0BAASA,OAAM,mBAAmB,SACvC,0BAASA,OAAM,WAAW,SAC1B,0BAASA,OAAM,eAAe,SAC9B,0BAASA,OAAM,UAAU;AAC7B;AAEA,IAAM,oBAAoB,CAAC,EAAE,OAAAA,OAAM,MAAM;AACvC,QAAMC,QAAO,OAAO,MAAM,WAAW,EAAE,OAAAD,OAAM,CAAC;AAC9C,SAAOC,SAAQA,MAAK;AACtB;AAEO,IAAM,SAAS;AAAA,EACpB,WAAW,CAAC;AAAA,EACZ,QAAQ,EAAE,cAAc,OAAO;AAAA,EAC/B,QAAQ,CAAC;AAAA,EACT,IAAI;AAAA,IACF,cAAc;AAAA,EAChB;AAAA,EAEA,SAAS,CAAC,EAAE,OAAAD,OAAM,OAAO;AAAA,IACvB,UAAUA,OAAM,YAAY;AAAA,IAC5B,YAAY;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,aAAa,2BAA2B,EAAE,OAAAA,OAAM,CAAC;AAAA,MACjD,YAAY,kBAAkB,EAAE,OAAAA,OAAM,CAAC;AAAA,MACvC,oBAAoB;AAAA,MACpB,UAAU;AAAA,MACV,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,kBAAkB;AAAA,IAChB,KAAK;AAAA,MACH,YAAY;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,YAAY;AAAA,QACV,KAAK;AAAA,QACL,OAAO;AAAA,QACP,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,YAAY;AAAA,QACV,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,YAAY;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EAEA,KAAK,CAAC,EAAE,OAAAA,OAAM,OAAO;AAAA,IACnB,UAAU;AAAA,IACV,YAAY;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY,2BAA2B,EAAE,OAAAA,OAAM,CAAC;AAAA,MAChD,YAAY,kBAAkB,EAAE,OAAAA,OAAM,CAAC;AAAA,MACvC,oBAAoB;AAAA,MACpB,cAAc;AAAA,MACd,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,KAAK;AAAA,MACL,iBAAiB;AAAA,MACjB,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,IACZ,KAAK;AAAA,MACH,YAAY;AAAA,QACV,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,YAAY;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,YAAY;AAAA,QACV,KAAK;AAAA,QACL,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,MAAM;AAAA,MACJ,YAAY;AAAA,QACV,KAAK;AAAA,QACL,OAAO;AAAA,QACP,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EAEA,SAAS,CAAC,EAAE,OAAAA,OAAM,OAAO;AAAA,IACvB,UAAU;AAAA,IACV,qBAAqB;AAAA,MACnB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,aAAa;AAAA,MACb,KAAK;AAAA,MACL,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,YAAY,2BAA2B,EAAE,OAAAA,OAAM,CAAC;AAAA,MAChD,YAAY,kBAAkB,EAAE,OAAAA,OAAM,CAAC;AAAA,MACvC,oBAAoB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EAEA,SAAS,CAAC,EAAE,OAAAA,OAAM,OAAO;AAAA,IACvB,UAAU;AAAA;AAAA,IAEV,qBAAqB;AAAA,MACnB,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,KAAK;AAAA,MACL,iBAAiB;AAAA,MACjB,YAAY,kBAAkB,EAAE,OAAAA,OAAM,CAAC;AAAA,MACvC,oBAAoB;AAAA,IAEtB;AAAA,IACA,YAAY;AAAA,MACV,YAAY,2BAA2B,2BAA2B,EAAE,OAAAA,OAAM,CAAC,oDAAoD,2BAA2B,EAAE,OAAAA,OAAM,CAAC;AAAA,IACrK;AAAA,IACA,WAAW;AAAA,MACT,YAAY,2BAA2B,EAAE,OAAAA,OAAM,CAAC;AAAA,MAChD,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,kBAAkB;AAAA,IAChB,MAAM;AAAA,MACJ,YAAY;AAAA,QACV,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,YAAY;AAAA,QACV,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,MACA,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;;;ADnMO,IAAM,iBAAiB,CAAC,EAAE,SAAS,MAAM,MAAM;AACpD,QAAM,YAAY,SAAS,MAAM;AACjC,SAAO,YAAY,UAAU,cAAc,QAAQ,gBAAgB,QAAQ,aAAa;AAC1F;AAEO,IAAM,QAAQ;AAAA,EACnB,OAAO;AAAA,IACL,OAAO,CAAC,EAAE,OAAAE,OAAM,MAAMA,OAAM,SAAS,MAAMA,OAAM,KAAK;AAAA,IAEtD,OAAO,CAAC,YAAY;AAClB,YAAM,EAAE,OAAAA,OAAM,IAAI;AAClB,YAAM,cAAc,eAAe,OAAO;AAC1C,UAAI,CAACA,OAAM;AAAO;AAClB,iBAAO,+BAAcA,OAAM,OAAO,IAAIA,OAAM,iBAAiB,aAAa;AAAA,IAC5E;AAAA,IAEA,OAAO,CAAC,YAAY;AAClB,YAAM,EAAE,OAAAA,OAAM,IAAI;AAClB,YAAM,cAAc,eAAe,OAAO;AAC1C,UAAI,CAACA,OAAM;AAAO;AAClB,aAAO;AAAA,QACL,WAAO,+BAAcA,OAAM,OAAO,WAAW;AAAA,MAC/C;AAAA,IACF;AAAA,IAEA,YAAY,CAAC,YAAY;AACvB,YAAM,EAAE,OAAAA,OAAM,IAAI;AAClB,YAAM,cAAc,eAAe,OAAO;AAC1C,UAAI,CAACA,OAAM;AAAY;AACvB,aAAO;AAAA,QACL,gBAAY,+BAAcA,OAAM,YAAY,WAAW;AAAA,MACzD;AAAA,IACF;AAAA,IAEA,iBAAiB,CAAC,YAAY;AAC5B,YAAM,EAAE,OAAAA,OAAM,IAAI;AAClB,YAAM,cAAc,eAAe,OAAO;AAC1C,UAAI,CAACA,OAAM;AAAiB;AAC5B,aAAO;AAAA,QACL,qBAAiB,+BAAcA,OAAM,iBAAiB,WAAW;AAAA,MACnE;AAAA,IACF;AAAA,IAEA,iBAAiB,CAAC,YAAY;AAC5B,YAAM,EAAE,OAAAA,OAAM,IAAI;AAClB,YAAM,cAAc,eAAe,OAAO;AAC1C,UAAI,CAACA,OAAM;AAAiB;AAC5B,aAAQ;AAAA,QACN,qBAAiB,0CAAyBA,OAAM,iBAAiB,WAAW;AAAA,MAC9E;AAAA,IACF;AAAA,IACA,gBAAgB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,iBAChC;AAAA,MACC,gBAAgBA,OAAM;AAAA,IACxB,IACA;AAAA,IACJ,oBAAoB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,qBACpC;AAAA,MACC,oBAAoBA,OAAM;AAAA,IAC5B,IACA;AAAA,IAEJ,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAC5B;AAAA,MACC,sBAAkB,qCAAoBA,OAAM,UAAU;AAAA,IACxD,IACA;AAAA,IAEJ,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY;AAAA,MACxC,aAAS,iCAAgBA,OAAM,OAAO;AAAA,IACxC;AAAA,IAEA,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,UAAW;AAAA,MACtC,YAAQ,iCAAgBA,OAAM,MAAM;AAAA,IACtC;AAAA,IACA,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,eAAgB;AAAA,MAChD,iBAAa,+BAAcA,OAAM,WAAW;AAAA,IAC9C;AAAA,IACA,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,eAAgB;AAAA,MAChD,aAAaA,OAAM;AAAA,IACrB;AAAA,IAEA,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe;AAAA,MAC9C,gBAAY,iCAAgBA,OAAM,UAAU;AAAA,IAC9C;AAAA,IACA,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAAc;AAAA,MAC5C,eAAW,iCAAgBA,OAAM,SAAS;AAAA,IAC5C;AAAA,IACA,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,eAAgB;AAAA,MAChD,iBAAa,iCAAgBA,OAAM,WAAW;AAAA,IAChD;AAAA,IACA,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAiB;AAAA,MAClD,kBAAc,iCAAgBA,OAAM,YAAY;AAAA,IAClD;AAAA,IAEA,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAAc;AAAA,MAC5C,eAAW,iCAAgBA,OAAM,SAAS;AAAA,IAC5C;AAAA,IAEA,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe;AAAA,MAC9C,gBAAY,iCAAgBA,OAAM,UAAU;AAAA,IAC9C;AAAA,IAEA,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY;AAAA,MACxC,SAASA,OAAM;AAAA,IACjB;AAAA,IACA,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe;AAAA,MAC9C,YAAYA,OAAM;AAAA,IACpB;AAAA,IAEA,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe;AAAA,MAC9C,gBAAY,iCAAgBA,OAAM,UAAU;AAAA,IAC9C;AAAA,EACF;AACF;;;AD1HO,IAAM,aAAa;AAAA,EACxB,KAAK,CAAC,KAAKC,QAAO,QAAQ,SAAS,cAAc,gBAAgB,KAAKA,QAAO,YAAY,SAAS,QAAQ,OAAO,OAAO;AAAA,EACxH,KAAK,CAAC,KAAKA,QAAO,QAAQ,SAAS,cAAc,mBAAmB,KAAKA,QAAO,YAAY,SAAS,QAAQ,UAAU,OAAO;AAAA,EAC9H,KAAK,CAAC,KAAKA,QAAO,QAAQ,SAAS,cAAc,mBAAmB,KAAKA,QAAO,YAAY,SAAS,QAAQ,UAAU,OAAO;AAAA,EAC9H,KAAK,CAAC,KAAKA,QAAO,QAAQ,SAAS,cAAc,mBAAmB,KAAKA,QAAO,YAAY,SAAS,QAAQ,UAAU,OAAO;AAAA,EAC9H,GAAG,CAAC,KAAKA,QAAO,QAAQ,SAAS,cAAc,eAAe,KAAKA,QAAO,YAAY,SAAS,QAAQ,MAAM,OAAO;AAAA,EACpH,KAAK,CAAC,KAAKA,QAAO,QAAQ,SAAS,cAAc,0BAA0B,KAAKA,QAAO,YAAY,SAAS,QAAQ,MAAM,OAAO;AAAA,EACjI,KAAK,CAAC,KAAKA,QAAO,QAAQ,SAAS,cAAc,2BAA2B,KAAKA,QAAO,YAAY,SAAS,QAAQ,MAAM,OAAO;AACpI;AAEA,IAAM,YAAY,CAAC,KAAKA,QAAO,QAAQ,YAAY;AACjD,QAAM,EAAE,OAAO,UAAU,IAAI;AAC7B,QAAM,gBAAgB,UAAU,GAAG;AAEnC,MAAI,OAAO,kBAAkB;AAAY;AAEzC,MAAI,YAAY,cAAc;AAAA,IAC5B,OAAAA;AAAA,IACA,SAAS,QAAQ;AAAA,IACjB,OAAO,QAAQ;AAAA,EACjB,CAAC;AACD,UAAI,sBAAQ,SAAS,GAAG;AACtB,gBAAY,UAAU,OAAO,CAAC,GAAG,UAAM,oBAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AAAA,EACxD;AAEA,aAAW,aAAa,WAAW;AACjC,WAAO,SAAS,IAAI,UAAU,SAAS;AAAA,EACzC;AAEA,SAAO;AACT;AAEA,IAAM,sBAAsB,CAACA,QAAO,QAAQ,YAAY;AACtD,QAAM,gBAAgB,CAAC;AAEvB,aAAW,OAAOA,QAAO;AACvB,UAAM,SAAS,WAAW,IAAI,MAAM,GAAG,CAAC,CAAC;AACzC,QAAI,QAAQ;AACV,aAAO,KAAKA,OAAM,GAAG,GAAG,eAAe,SAAS,IAAI;AACpD;AAAA,IACF,OAAO;AACL,gBAAU,KAAKA,QAAO,eAAe,OAAO;AAAA,IAC9C;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAM,kBAAkB,CAAC,KAAKA,QAAO,QAAQ,YAAY;AACvD,QAAM,EAAE,QAAQ,IAAI;AACpB,MAAI,CAAC,QAAQ,gBAAgB,CAAC,QAAQ,aAAa;AAAO;AAC1D,QAAM,cAAc,eAAe,OAAO;AAC1C,QAAM,EAAE,MAAM,IAAI,QAAQ;AAC1B,QAAM,YAAY,MAAM,IAAI,MAAM,CAAC,CAAC;AACpC,QAAM,iBAAiB,oBAAoBA,QAAO,QAAQ,OAAO;AAEjE,QAAM,OAAO,IAAI,MAAM,CAAC;AACxB,QAAM,UAAU,CAAC,QAAQ,OAAO,EAAE,SAAS,IAAI;AAC/C,QAAM,gBAAgB,SAAS;AAE/B,MAAI,eAAe,SAAS;AAC1B,QAAI;AAAe,iBAAO,oBAAM,QAAQ,cAAc;AACtD;AAAA,EACF;AAEA,QAAM,WAAW,qBAAqB;AACtC,SAAO,QAAQ,IAAI;AACnB,SAAO,OAAO,QAAQ;AACxB;AAEA,IAAM,qBAAqB,CAAC,KAAKA,QAAO,QAAQ,YAAY;AAC1D,QAAM,cAAc,IAAI;AACxB,SAAO,WAAW,IAAI,oBAAoBA,QAAO,QAAQ,OAAO;AAChE,SAAO,OAAO,WAAW;AAC3B;AAEA,IAAM,iBAAiB,CAAC,KAAKA,QAAO,QAAQ,YAAY;AACtD,QAAM,EAAE,MAAM,IAAI,QAAQ,WAAW,QAAQ,QAAQ;AACrD,QAAM,UAAU,IAAI,MAAM,CAAC;AAC3B,QAAM,aAAa,QAAQ,MAAM,OAAO;AACxC,MAAI,CAAC,MAAM,OAAO,KAAK,CAAC;AAAY;AACpC,aAAO,oBAAM,QAAQ,oBAAoBA,QAAO,QAAQ,OAAO,CAAC;AAClE;AAEA,IAAM,4BAA4B,CAAC,KAAKA,QAAO,QAAQ,YAAY;AACjE,QAAM,UAAU,IAAI,MAAM,CAAC;AAC3B,QAAM,aAAa,QAAQ,MAAM,OAAO,KAAK,QAAQ,MAAM,OAAO;AAClE,MAAI,CAAC;AAAY;AACjB,aAAO,oBAAM,QAAQ,oBAAoBA,QAAO,QAAQ,OAAO,CAAC;AAClE;AAEA,IAAM,6BAA6B,CAAC,KAAKA,QAAO,QAAQ,YAAY;AAClE,QAAM,UAAU,IAAI,MAAM,CAAC;AAC3B,QAAM,aAAa,QAAQ,MAAM,OAAO,KAAK,QAAQ,MAAM,OAAO,MAAM;AACxE,MAAI,CAAC;AAAY,eAAO,oBAAM,QAAQ,oBAAoBA,QAAO,QAAQ,OAAO,CAAC;AACnF;AAEA,IAAM,iBAAiB,CAACA,QAAO,QAAQ,gBAAY,oBAAM,QAAQ,oBAAoBA,QAAO,QAAQ,OAAO,CAAC;AAE5G,IAAM,oBAAoB,CAAC,SAAS,MAAM;AACxC,QAAM,EAAE,OAAAA,QAAO,OAAO,UAAU,IAAI;AAEpC,QAAM,cAAc;AAAA,IAClB,OAAO,CAAC;AAAA,IACR,UAAU,CAAC;AAAA,IACX,MAAM,CAAC;AAAA,EACT;AAEA,aAAW,OAAOA,QAAO;AACvB,UAAM,SAAS,WAAW,IAAI,MAAM,GAAG,CAAC,CAAC;AACzC,QAAI;AAAQ,aAAO,KAAKA,OAAM,GAAG,GAAG,aAAa,OAAO;AAAA,EAC1D;AAEA,qCAAiB,WAAW,WAAW;AACzC;AAEA,IAAM,aAAa,CAAC,SAAS,YAAY;AACvC,QAAM,EAAE,OAAAA,QAAO,SAAS,OAAO,UAAU,IAAI;AAC7C,MAAI,CAAC;AAAS;AACd,QAAM,cAAc,QAAQ,aAAa;AAEzC,QAAM,cAAc,QAAQ,OAAO;AACnC,MAAI,eAAe,YAAY,gBAAgB,YAAY,qBAAqB;AAC9E,YAAQ,SAAS;AAAA,MACf,cAAc,YAAY;AAAA,MAC1B,qBAAqB;AAAA,IACvB,GAAG;AAAA,MACD,kBAAkB;AAAA,MAClB,2BAA2B;AAAA,IAC7B,CAAC;AAAA,EACH;AAEA,MAAI,aAAa;AACf,UAAM,cAAc;AAAA,MAClB,OAAO,CAAC;AAAA,MACR,UAAU,CAAC;AAAA,MACX,MAAM,CAAC;AAAA,IACT;AAEA,eAAW,OAAOA,QAAO;AACvB,YAAM,SAAS,WAAW,IAAI,MAAM,GAAG,CAAC,CAAC;AACzC,UAAI,QAAQ,SAAS;AACnB,QAAAA,OAAM,OAAO;AAAA,UACX,eAAe;AAAA,QACjB,GAAG;AAAA,UACD,kBAAkB;AAAA,UAClB,2BAA2B;AAAA,UAC3B,qBAAqB;AAAA,QACvB,CAAC;AAAA,MACH,WAAW,QAAQ;AAAQ,uBAAeA,OAAM,GAAG,GAAG,aAAa,OAAO;AAC1E,UAAI;AAAQ,eAAO,KAAKA,OAAM,GAAG,GAAG,aAAa,OAAO;AAAA,IAC1D;AAEA,QAAI,OAAO,KAAK,YAAY,KAAK,EAAE,QAAQ;AACzC,gBAAU,QAAQ,YAAY;AAAA,IAChC;AACA,cAAU,WAAW,YAAY;AACjC,cAAU,OAAO,YAAY;AAAA,EAC/B;AACF;AAEO,IAAM,QAAQ;AAAA,EACnB,OAAO;AAAA,IACL,MAAM,CAAC,IAAI,MAAM;AACf,aAAO;AAAA;AAAA,MAEP;AAAA,IACF;AAAA,EACF;AAAA,EACA,IAAI,EAAE,mBAAmB,WAAW;AACtC;;;AI7KO,IAAM,SAAS;AAAA,EACpB,KAAK;AAAA,EACL,OAAO;AAAA,IACL,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACJ,KAAK,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAAA,IAC1B,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAC9B,iBAAiB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IACtC,gBAAgB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EACvC;AACF;;;ACbO,IAAM,cAAc;AAAA,EACzB,OAAO;AAAA,IACL,YAAY,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,cAAe,EAAE,YAAYA,OAAM,WAAW;AAAA,IAC/E,eAAe,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,iBAAkB,EAAE,eAAeA,OAAM,cAAc;AAAA,IAC3F,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,UAAW,EAAE,QAAQA,OAAM,OAAO;AAAA,EACjE;AACF;;;ACNA,IAAM,QAAQ;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,YAAY;AACd;AAEO,IAAM,YAAY;AAAA,EACvB,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,oBAAoB;AAAA,IACpB,SAAS;AAAA,IAET,UAAU;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MAEX,UAAU,EAAE,SAAS,EAAE;AAAA,IACzB;AAAA,EACF;AACF;AAEO,IAAM,YAAY;AAAA,EACvB,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,WAAW;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAAA,IACA,WAAW;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEO,IAAM,YAAY;AAAA,EACvB,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,kBAAkB;AAAA,MAChB,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,MAAM;AAAA,IACJ,aAAa,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAAA,IAClC,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EACjC;AACF;AAEO,IAAM,qBAAqB;AAAA,EAChC,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,IACL,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EAC7B;AACF;;;AC3EO,IAAM,WAAW;AAAA,EACtB,OAAO;AAAA,IACL,UAAU,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,YAAa,EAAE,UAAUA,OAAM,SAAS;AAAA,EACzE;AACF;;;ACFA,mBAA+B;AAC/B,IAAAC,gBAcO;AA2OA,IAAM,UAAU,SAAU,OAAO;AACtC,MAAI,KAAC,4BAAa,KAAK;AAAG,WAAO;AACjC,QAAM,OAAO,OAAO,KAAK,KAAK;AAC9B,aAAO,uCAAwB,MAAM,CAAC,UAAU,SAAS,SAAS,UAAU,UAAU,YAAY,CAAC;AACrG;;;AC/PA,IAAAC,gBAAwE;AAEjE,IAAM,aAAa;AAAA,EACxB,QAAQ;AAAA,IACN,gBAAgB,CAAC,OAAO,IAAI,UAAU;AACpC,UAAI,CAAC;AAAO;AAEZ,UAAI,WAAO,uBAAQ,KAAK,IAAI,QAAQ,CAAC;AAErC,cAAI,wBAAS,KAAK,GAAG;AACnB,mBAAW,OAAO,OAAO;AAAE,eAAK,KAAK,MAAM,GAAG,CAAC;AAAA,QAAE;AAAA,MACnD;AAEA,aAAO,KAAK,IAAI,UAAQ,KAAC,4BAAa,IAAI,IACtC;AAAA,QACE,OAAO,EAAE,OAAO,KAAK;AAAA,MACvB,IACA,IAAI;AAER,UAAI,KAAK,QAAQ;AACf,cAAM,IAAI,WAAW,MAAM;AACzB,aAAG,IAAI,EAAE,KAAK,YAAY,GAAG,KAAK,GAAG,EAAE,qBAAqB,iBAAiB,CAAC;AAC9E,uBAAa,CAAC;AAAA,QAChB,CAAC;AAAA,MACH;AAEA,aAAO;AAAA,IACT;AAAA,IAEA,qBAAqB,CAAC,OAAO,IAAI,UAAU;AACzC,UAAI,CAAC;AAAO;AACZ,UAAI,QAAQ,KAAK;AAAG,gBAAQ,MAAM,MAAM;AACxC,cAAI,qBAAM,KAAK,EAAE,SAAS,QAAQ;AAAG;AAErC,UAAI,GAAG,QAAQ,OAAO;AACpB,YAAI,GAAG,MAAM,wBAAwB;AACnC,gBAAM,QAAI,oBAAK,OAAO,GAAG,MAAM,sBAAsB;AAAA,QACvD,OAAO;AACL,aAAG,MAAM,6BAAyB,yBAAU,KAAK;AAAA,QACnD;AAAA,MACF;AAEA,YAAM,MAAM,EAAE,KAAK,WAAW;AAE9B,iBAAW,OAAO,OAAO;AACvB,cAAM,QAAQ,MAAM,GAAG;AACvB,YAAI,GAAG,IAAI,EAAE,WAAO,4BAAa,KAAK,IAAI,QAAQ,EAAE,MAAM,EAAE;AAAA,MAC9D;AAEA,SAAG,cAAc;AACjB,SAAG,UAAU;AAEb,aAAO;AAAA,IACT;AAAA,IAEA,qBAAqB,CAAC,OAAO,IAAI,UAAU;AACzC,UAAI,CAAC;AAAO;AACZ,UAAI,QAAQ,KAAK;AAAG,gBAAQ,MAAM,MAAM;AACxC,cAAI,qBAAM,KAAK,EAAE,SAAS,QAAQ;AAAG;AAErC,YAAM,MAAM,EAAE,KAAK,WAAW;AAC9B,iBAAW,OAAO,OAAO;AACvB,cAAM,QAAQ,MAAM,GAAG;AACvB,YAAI,GAAG,IAAI,EAAE,WAAO,4BAAa,KAAK,IAAI,QAAQ,EAAE,MAAM,EAAE;AAAA,MAC9D;AAEA,SAAG,cAAc;AACjB,SAAG,UAAU;AAUb,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;ACjFA,IAAAC,kBAAgC;AAEzB,IAAM,WAAW;AAAA,EACtB,OAAO,CAAC;AAAA,EAER,OAAO;AAAA,IACL,UAAU,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,YAAa,EAAE,UAAUA,OAAM,SAAS;AAAA,IACvE,OAAO,CAAC,EAAE,OAAAA,OAAM,MAAM;AACpB,YAAM,EAAE,MAAM,IAAIA;AAClB,UAAI,OAAO,UAAU;AAAU;AAC/B,aAAO,EAAE,OAAO,MAAM,MAAM,GAAG,EAAE,IAAI,WAAK,iCAAgB,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE;AAAA,IACjF;AAAA,IAEA,MAAM,CAAC,EAAE,OAAAA,OAAM,UAAM,iCAAgBA,OAAM,MAAM,MAAM;AAAA,IACvD,KAAK,CAAC,EAAE,OAAAA,OAAM,UAAM,iCAAgBA,OAAM,KAAK,KAAK;AAAA,IACpD,OAAO,CAAC,EAAE,OAAAA,OAAM,UAAM,iCAAgBA,OAAM,OAAO,OAAO;AAAA,IAC1D,QAAQ,CAAC,EAAE,OAAAA,OAAM,UAAM,iCAAgBA,OAAM,QAAQ,QAAQ;AAAA,EAC/D;AACF;;;AChBO,IAAM,UAAU;AAAA,EACrB,KAAK;AAAA,EAEL,aAAa;AAAA,IACX,KAAK;AAAA,IACL,MAAM;AAAA,MACJ,OAAO,aAAW;AAChB,cAAM,EAAE,OAAAC,QAAO,KAAK,QAAQ,IAAI;AAChC,cAAM,EAAE,MAAM,IAAI,QAAQ;AAC1B,cAAM,cAAc,eAAe,OAAO;AAC1C,cAAM,aAAaA,OAAM,SAAS,KAAK,MAAM,CAAC;AAE9C,YAAI,cAAc;AAAa,iBAAO;AAAA,iBAC7B,cAAc,UAAU,cAAc;AAAS,iBAAO;AAE/D,eAAO,MAAM,SAAS;AAAA,MACxB;AAAA,MACA,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAC/B;AAAA,EACF;AAAA,EAEA,KAAK,CAAC,EAAE,OAAAA,OAAM,OAAO;AAAA,IACnB,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,KAAKA,OAAM;AAAA,EACb;AACF;;;AC5BO,IAAM,SAAS;AAAA,EACpB,OAAO;AAAA,IACL,SAAS,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,WAAY,EAAE,SAASA,OAAM,QAAQ;AAAA,EACrE;AACF;;;ACDO,IAAM,MAAM;AAAA,EACjB,KAAK;AAAA,EACL,OAAO;AAAA,IACL,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,EAAE;AAAA,EACzC;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,eAAe;AAAA,EACjB;AAAA,EACA,MAAM,CAAC,EAAE,KAAK,OAAAC,QAAO,SAAS,GAAG,GAAG,MAAM;AACxC,UAAM,EAAE,cAAc,MAAM,IAAI;AAChC,UAAM,MAAM,gBAAgB,aAAa;AACzC,UAAM,eAAeA,OAAM,YAAa,QAAQ,gBAAgB,QAAQ,aAAa;AACrF,UAAM,eAAe,UAAQ,qBAAqB;AAElD,UAAM,OAAO,SAAS,MAAM;AAE5B,QAAI,CAAC,gBAAgBA,OAAM;AAAK,aAAOA,OAAM;AAE7C,UAAM,WAAWA,OAAM;AACvB,QAAI;AAAU,aAAO,aAAa,QAAQ;AAE1C,UAAM,WAAW,OAAO,IAAIA,OAAM,GAAG;AACrC,QAAI,SAAS,IAAI,QAAQ;AACzB,QAAI,UAAU,IAAI,MAAM;AAAG,aAAO,aAAa,MAAM;AAErD,aAAS,IAAI,QAAQ,IAAI,KAAK,OAAO;AACrC,QAAIA,OAAM,KAAK;AACb,WAAK;AAAA,QACH,KAAK,EAAE,CAAC,MAAM,GAAGA,OAAM,IAAI;AAAA,MAC7B,GAAG;AAAA,QACD,UAAU,QAAQ;AAAA,QAClB,SAAS,QAAQ;AAAA,MACnB,CAAC;AAAA,IACH;AAEA,WAAO,aAAa,MAAM;AAAA,EAC5B;AACF;;;ACzCA,IAAAC,gBAA+B;AAE/B,IAAAC,kBAAsD;AAGtD,IAAM,wBAAwB,CAAC,QAAQC,QAAO,iBAAiB;AAC7D,MAAI,KAAC,wBAAS,MAAM;AAAG;AACvB,SAAO;AAAA,IACL,cAAc,OAAO,MAAM,GAAG,EAAE,IAAI,CAAC,GAAG,UAAM,wCAAuBA,QAAO,cAAc,CAAC,EAAE,YAAY,CAAC,EAAE,KAAK,GAAG;AAAA,EACtH;AACF;AAEO,IAAM,QAAQ;AAAA,EACnB,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,OAAO,CAAC,EAAE,OAAAA,OAAM,MAAM;AACpB,YAAM,EAAE,MAAM,IAAIA;AAClB,iBAAO,oBAAK,OAAO,KAAK,GAAI,EAAE,OAAAA,OAAM,CAAE;AAAA,IACxC;AAAA,IACA,gBAAgB,CAAC,EAAE,OAAAA,OAAM,MAAM;AAC7B,YAAM,EAAE,OAAO,eAAe,IAAIA;AAClC,UAAI,CAAC,SAAS,CAAC;AAAgB;AAC/B,YAAM,WAAW,OAAO,QAAQ,WAAW;AAC3C,aAAO,SAAS,WAAW,SAAS,kBAAkB,MAAM,IAAI;AAAA,IAClE;AAAA,IACA,qBAAqB,CAAC,EAAE,OAAAA,OAAM,MAAM;AAClC,YAAM,EAAE,YAAY,gBAAgB,IAAIA;AACxC,YAAM,cAAc;AAAA,QAClB,iBAAa,+BAAc,cAAc,eAAe;AAAA,MAC1D;AACA,aAAOA,OAAM,iBAAiB,cAAc;AAAA,IAC9C;AAAA,IAEA,OAAO,CAAC,EAAE,OAAAA,QAAO,KAAK,GAAG,GAAG,MAAM,sBAAsBA,OAAM,SAASA,OAAM,cAAcA,QAAO,OAAO;AAAA,IACzG,cAAc,CAAC,EAAE,OAAAA,QAAO,KAAK,GAAG,GAAG,MAAM,sBAAsBA,OAAM,gBAAgBA,OAAM,OAAOA,QAAO,cAAc;AAAA,EACzH;AACF;;;ACrCA,IAAAC,kBAAgD;AAEzC,IAAM,OAAO;AAAA,EAClB,MAAM,CAAC,EAAE,KAAK,OAAAC,QAAO,MAAM,MAAM;AAC/B,QAAIA,OAAM,SAAS;AAAM,aAAQ,SAAS,MAAM,GAAG,KAAOA,UAASA,OAAM,GAAG;AAC5E,WAAOA,OAAM;AAAA,EACf;AAAA,EACA,OAAO;AAAA,IACL,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,eAAW,kCAAiBA,OAAM,QAAQ,IAAI;AAAA,IAC7E,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,gBAAY,+BAAcA,OAAM,UAAU,KAAKA,OAAM,WAAW;AAAA,IAClH,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,YAAYA,OAAM,WAAW;AAAA;AAAA,IAE/E,gBAAgB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,kBAAmB,EAAE,gBAAgBA,OAAM,eAAe;AAAA,IAC/F,eAAe,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,iBAAkB,EAAE,eAAeA,OAAM,cAAc;AAAA,IAC3F,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,YAAYA,OAAM,WAAW;AAAA,IAC/E,eAAe,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,iBAAkB,EAAE,eAAeA,OAAM,cAAc;AAAA,IAC3F,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAAc,EAAE,WAAWA,OAAM,UAAU;AAAA,IAC3E,YAAY,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe;AAAA,MAC9C,YAAYA,OAAM;AAAA,MAClB,uBAAuB,YAAYA,OAAM;AAAA,IAC3C;AAAA,EACF;AACF;AAEO,IAAM,KAAK,EAAE,KAAK,KAAK;AACvB,IAAM,KAAK,EAAE,KAAK,KAAK;AACvB,IAAM,KAAK,EAAE,KAAK,KAAK;AACvB,IAAM,KAAK,EAAE,KAAK,KAAK;AACvB,IAAM,KAAK,EAAE,KAAK,KAAK;AACvB,IAAM,KAAK,EAAE,KAAK,KAAK;AACvB,IAAM,IAAI,EAAE,KAAK,IAAI;AACrB,IAAM,UAAU,EAAE,KAAK,UAAU;AACjC,IAAM,SAAS;AAAA,EACpB,KAAK;AAAA,EACL,OAAO,EAAE,YAAY,MAAM;AAC7B;AACO,IAAM,YAAY,EAAE,KAAK,IAAI;AAC7B,IAAM,SAAS,EAAE,KAAK,IAAI;;;ACrC1B,IAAM,YAAY;AAAA,EACvB,OAAO;AAAA,IACL,WAAW,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,aAAc,EAAE,WAAWA,OAAM,UAAU;AAAA,IAC3E,iBAAiB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,mBAAoB,EAAE,iBAAiBA,OAAM,gBAAgB;AAAA,EACrG;AACF;;;ACLO,IAAM,MAAM;AAAA,EACjB,OAAO;AAAA,IACL,QAAQ,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,UAAW,EAAE,QAAQA,OAAM,OAAO;AAAA,EACjE;AACF;;;ACJA,IAAAC,kBAAkD;AAClD,IAAAC,gBAAyB;;;ACoBzB,SAAS,YAAY,KAAK;AACxB,MAAI,IAAI,OAAO;AAEb,WAAO,IAAI;AAAA,EACb;AAKA,WAAS,IAAI,GAAG,IAAI,SAAS,YAAY,QAAQ,KAAK;AACpD,QAAI,SAAS,YAAY,CAAC,EAAE,cAAc,KAAK;AAE7C,aAAO,SAAS,YAAY,CAAC;AAAA,IAC/B;AAAA,EACF;AACF;AAEA,SAAS,mBAAmB,SAAS;AACnC,MAAI,MAAM,SAAS,cAAc,OAAO;AACxC,MAAI,aAAa,gBAAgB,QAAQ,GAAG;AAE5C,MAAI,QAAQ,UAAU,QAAW;AAC/B,QAAI,aAAa,SAAS,QAAQ,KAAK;AAAA,EACzC;AAEA,MAAI,YAAY,SAAS,eAAe,EAAE,CAAC;AAC3C,MAAI,aAAa,UAAU,EAAE;AAC7B,SAAO;AACT;AAEA,IAAI,aAA0B,2BAAY;AAExC,WAASC,YAAW,SAAS;AAC3B,QAAI,QAAQ;AAEZ,SAAK,aAAa,SAAU,KAAK;AAC/B,UAAI;AAEJ,UAAI,MAAM,KAAK,WAAW,GAAG;AAC3B,YAAI,MAAM,gBAAgB;AACxB,mBAAS,MAAM,eAAe;AAAA,QAChC,WAAW,MAAM,SAAS;AACxB,mBAAS,MAAM,UAAU;AAAA,QAC3B,OAAO;AACL,mBAAS,MAAM;AAAA,QACjB;AAAA,MACF,OAAO;AACL,iBAAS,MAAM,KAAK,MAAM,KAAK,SAAS,CAAC,EAAE;AAAA,MAC7C;AAEA,YAAM,UAAU,aAAa,KAAK,MAAM;AAExC,YAAM,KAAK,KAAK,GAAG;AAAA,IACrB;AAEA,SAAK,WAAW,QAAQ,WAAW,SAAY,QAAwC,QAAQ;AAC/F,SAAK,OAAO,CAAC;AACb,SAAK,MAAM;AACX,SAAK,QAAQ,QAAQ;AAErB,SAAK,MAAM,QAAQ;AACnB,SAAK,YAAY,QAAQ;AACzB,SAAK,UAAU,QAAQ;AACvB,SAAK,iBAAiB,QAAQ;AAC9B,SAAK,SAAS;AAAA,EAChB;AAEA,MAAI,SAASA,YAAW;AAExB,SAAO,UAAU,SAAS,QAAQ,OAAO;AACvC,UAAM,QAAQ,KAAK,UAAU;AAAA,EAC/B;AAEA,SAAO,SAAS,SAAS,OAAO,MAAM;AAIpC,QAAI,KAAK,OAAO,KAAK,WAAW,OAAQ,OAAO,GAAG;AAChD,WAAK,WAAW,mBAAmB,IAAI,CAAC;AAAA,IAC1C;AAEA,QAAI,MAAM,KAAK,KAAK,KAAK,KAAK,SAAS,CAAC;AAExC,QAAI,MAAuC;AACzC,UAAIC,gBAAe,KAAK,WAAW,CAAC,MAAM,MAAM,KAAK,WAAW,CAAC,MAAM;AAEvE,UAAIA,iBAAgB,KAAK,sCAAsC;AAI7D,gBAAQ,MAAM,sDAAsD,OAAO,wLAAwL;AAAA,MACrQ;AACA,WAAK,uCAAuC,KAAK,wCAAwC,CAACA;AAAA,IAC5F;AAEA,QAAI,KAAK,UAAU;AACjB,UAAI,QAAQ,YAAY,GAAG;AAE3B,UAAI;AAGF,cAAM,WAAW,MAAM,MAAM,SAAS,MAAM;AAAA,MAC9C,SAAS,GAAP;AACA,YAA6C,CAAC,4IAA4I,KAAK,IAAI,GAAG;AACpM,kBAAQ,MAAM,wDAAyD,OAAO,KAAM,CAAC;AAAA,QACvF;AAAA,MACF;AAAA,IACF,OAAO;AACL,UAAI,YAAY,SAAS,eAAe,IAAI,CAAC;AAAA,IAC/C;AAEA,SAAK;AAAA,EACP;AAEA,SAAO,QAAQ,SAAS,QAAQ;AAE9B,SAAK,KAAK,QAAQ,SAAU,KAAK;AAC/B,aAAO,IAAI,cAAc,IAAI,WAAW,YAAY,GAAG;AAAA,IACzD,CAAC;AACD,SAAK,OAAO,CAAC;AACb,SAAK,MAAM;AAEX,QAAI,MAAuC;AACzC,WAAK,uCAAuC;AAAA,IAC9C;AAAA,EACF;AAEA,SAAOD;AACT,EAAE;;;ACvJK,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,SAAS;AAEb,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,cAAc;AAIlB,IAAI,SAAS;AAMb,IAAI,YAAY;;;ACZhB,IAAI,MAAM,KAAK;AAMf,IAAI,OAAO,OAAO;AAMlB,IAAI,SAAS,OAAO;AAOpB,SAAS,KAAM,OAAOE,SAAQ;AACpC,SAAO,OAAO,OAAO,CAAC,IAAI,QAAYA,WAAU,IAAK,OAAO,OAAO,CAAC,MAAM,IAAK,OAAO,OAAO,CAAC,MAAM,IAAK,OAAO,OAAO,CAAC,MAAM,IAAK,OAAO,OAAO,CAAC,IAAI;AACvJ;AAMO,SAAS,KAAM,OAAO;AAC5B,SAAO,MAAM,KAAK;AACnB;AAOO,SAAS,MAAO,OAAO,SAAS;AACtC,UAAQ,QAAQ,QAAQ,KAAK,KAAK,KAAK,MAAM,CAAC,IAAI;AACnD;AAQO,SAAS,QAAS,OAAO,SAAS,aAAa;AACrD,SAAO,MAAM,QAAQ,SAAS,WAAW;AAC1C;AAOO,SAAS,QAAS,OAAO,QAAQ;AACvC,SAAO,MAAM,QAAQ,MAAM;AAC5B;AAOO,SAAS,OAAQ,OAAO,OAAO;AACrC,SAAO,MAAM,WAAW,KAAK,IAAI;AAClC;AAQO,SAAS,OAAQ,OAAO,OAAO,KAAK;AAC1C,SAAO,MAAM,MAAM,OAAO,GAAG;AAC9B;AAMO,SAAS,OAAQ,OAAO;AAC9B,SAAO,MAAM;AACd;AAMO,SAAS,OAAQ,OAAO;AAC9B,SAAO,MAAM;AACd;AAOO,SAAS,OAAQ,OAAO,OAAO;AACrC,SAAO,MAAM,KAAK,KAAK,GAAG;AAC3B;AAOO,SAAS,QAAS,OAAO,UAAU;AACzC,SAAO,MAAM,IAAI,QAAQ,EAAE,KAAK,EAAE;AACnC;;;AChHO,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,aAAa;AAWjB,SAAS,KAAM,OAAO,MAAM,QAAQ,MAAMC,QAAO,UAAUC,SAAQ;AACzE,SAAO,EAAC,OAAc,MAAY,QAAgB,MAAY,OAAOD,QAAO,UAAoB,MAAY,QAAgB,QAAQC,SAAQ,QAAQ,GAAE;AACvJ;AAOO,SAAS,KAAM,MAAMD,QAAO;AAClC,SAAO,OAAO,KAAK,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,CAAC,GAAG,MAAM,EAAC,QAAQ,CAAC,KAAK,OAAM,GAAGA,MAAK;AAC3F;AAKO,SAAS,OAAQ;AACvB,SAAO;AACR;AAKO,SAAS,OAAQ;AACvB,cAAY,WAAW,IAAI,OAAO,YAAY,EAAE,QAAQ,IAAI;AAE5D,MAAI,UAAU,cAAc;AAC3B,aAAS,GAAG;AAEb,SAAO;AACR;AAKO,SAAS,OAAQ;AACvB,cAAY,WAAW,SAAS,OAAO,YAAY,UAAU,IAAI;AAEjE,MAAI,UAAU,cAAc;AAC3B,aAAS,GAAG;AAEb,SAAO;AACR;AAKO,SAAS,OAAQ;AACvB,SAAO,OAAO,YAAY,QAAQ;AACnC;AAKO,SAAS,QAAS;AACxB,SAAO;AACR;AAOO,SAAS,MAAO,OAAO,KAAK;AAClC,SAAO,OAAO,YAAY,OAAO,GAAG;AACrC;AAMO,SAAS,MAAO,MAAM;AAC5B,UAAQ,MAAM;AAAA,IAEb,KAAK;AAAA,IAAG,KAAK;AAAA,IAAG,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AACtC,aAAO;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAE3D,KAAK;AAAA,IAAI,KAAK;AAAA,IAAK,KAAK;AACvB,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAAA,IAAI,KAAK;AAC/B,aAAO;AAAA,IAER,KAAK;AAAA,IAAI,KAAK;AACb,aAAO;AAAA,EACT;AAEA,SAAO;AACR;AAMO,SAAS,MAAO,OAAO;AAC7B,SAAO,OAAO,SAAS,GAAG,SAAS,OAAO,aAAa,KAAK,GAAG,WAAW,GAAG,CAAC;AAC/E;AAMO,SAAS,QAAS,OAAO;AAC/B,SAAO,aAAa,IAAI;AACzB;AAMO,SAAS,QAAS,MAAM;AAC9B,SAAO,KAAK,MAAM,WAAW,GAAG,UAAU,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC;AACnG;AAcO,SAAS,WAAY,MAAM;AACjC,SAAO,YAAY,KAAK;AACvB,QAAI,YAAY;AACf,WAAK;AAAA;AAEL;AAEF,SAAO,MAAM,IAAI,IAAI,KAAK,MAAM,SAAS,IAAI,IAAI,KAAK;AACvD;AAwBO,SAAS,SAAU,OAAO,OAAO;AACvC,SAAO,EAAE,SAAS,KAAK;AAEtB,QAAI,YAAY,MAAM,YAAY,OAAQ,YAAY,MAAM,YAAY,MAAQ,YAAY,MAAM,YAAY;AAC7G;AAEF,SAAO,MAAM,OAAO,MAAM,KAAK,QAAQ,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,GAAG;AAC1E;AAMO,SAAS,UAAW,MAAM;AAChC,SAAO,KAAK;AACX,YAAQ,WAAW;AAAA,MAElB,KAAK;AACJ,eAAO;AAAA,MAER,KAAK;AAAA,MAAI,KAAK;AACb,YAAI,SAAS,MAAM,SAAS;AAC3B,oBAAU,SAAS;AACpB;AAAA,MAED,KAAK;AACJ,YAAI,SAAS;AACZ,oBAAU,IAAI;AACf;AAAA,MAED,KAAK;AACJ,aAAK;AACL;AAAA,IACF;AAED,SAAO;AACR;AAOO,SAAS,UAAW,MAAM,OAAO;AACvC,SAAO,KAAK;AAEX,QAAI,OAAO,cAAc,KAAK;AAC7B;AAAA,aAEQ,OAAO,cAAc,KAAK,MAAM,KAAK,MAAM;AACnD;AAEF,SAAO,OAAO,MAAM,OAAO,WAAW,CAAC,IAAI,MAAM,KAAK,SAAS,KAAK,OAAO,KAAK,CAAC;AAClF;AAMO,SAAS,WAAY,OAAO;AAClC,SAAO,CAAC,MAAM,KAAK,CAAC;AACnB,SAAK;AAEN,SAAO,MAAM,OAAO,QAAQ;AAC7B;;;AC7OO,SAAS,QAAS,OAAO;AAC/B,SAAO,QAAQ,MAAM,IAAI,MAAM,MAAM,MAAM,CAAC,EAAE,GAAG,QAAQ,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACtF;AAcO,SAAS,MAAO,OAAO,MAAM,QAAQ,MAAM,OAAO,UAAU,QAAQ,QAAQ,cAAc;AAChG,MAAI,QAAQ;AACZ,MAAI,SAAS;AACb,MAAIE,UAAS;AACb,MAAI,SAAS;AACb,MAAI,WAAW;AACf,MAAI,WAAW;AACf,MAAI,WAAW;AACf,MAAI,WAAW;AACf,MAAI,YAAY;AAChB,MAAIC,aAAY;AAChB,MAAI,OAAO;AACX,MAAIC,SAAQ;AACZ,MAAI,WAAW;AACf,MAAI,YAAY;AAChB,MAAIC,cAAa;AAEjB,SAAO;AACN,YAAQ,WAAWF,YAAWA,aAAY,KAAK,GAAG;AAAA,MAEjD,KAAK;AACJ,YAAI,YAAY,OAAO,OAAOE,aAAYH,UAAS,CAAC,KAAK,IAAI;AAC5D,cAAI,QAAQG,eAAc,QAAQ,QAAQF,UAAS,GAAG,KAAK,KAAK,GAAG,KAAK,KAAK;AAC5E,wBAAY;AACb;AAAA,QACD;AAAA,MAED,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AACtB,QAAAE,eAAc,QAAQF,UAAS;AAC/B;AAAA,MAED,KAAK;AAAA,MAAG,KAAK;AAAA,MAAI,KAAK;AAAA,MAAI,KAAK;AAC9B,QAAAE,eAAc,WAAW,QAAQ;AACjC;AAAA,MAED,KAAK;AACJ,QAAAA,eAAc,SAAS,MAAM,IAAI,GAAG,CAAC;AACrC;AAAA,MAED,KAAK;AACJ,gBAAQ,KAAK,GAAG;AAAA,UACf,KAAK;AAAA,UAAI,KAAK;AACb,mBAAO,QAAQ,UAAU,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,MAAM,GAAG,YAAY;AACtE;AAAA,UACD;AACC,YAAAA,eAAc;AAAA,QAChB;AACA;AAAA,MAED,KAAK,MAAM;AACV,eAAO,OAAO,IAAI,OAAOA,WAAU,IAAI;AAAA,MAExC,KAAK,MAAM;AAAA,MAAU,KAAK;AAAA,MAAI,KAAK;AAClC,gBAAQF,YAAW;AAAA,UAElB,KAAK;AAAA,UAAG,KAAK;AAAK,uBAAW;AAAA,UAE7B,KAAK,KAAK;AAAQ,gBAAI,aAAa;AAAI,cAAAE,cAAa,QAAQA,aAAY,OAAO,EAAE;AAChF,gBAAI,WAAW,KAAM,OAAOA,WAAU,IAAIH;AACzC,qBAAO,WAAW,KAAK,YAAYG,cAAa,KAAK,MAAM,QAAQH,UAAS,CAAC,IAAI,YAAY,QAAQG,aAAY,KAAK,EAAE,IAAI,KAAK,MAAM,QAAQH,UAAS,CAAC,GAAG,YAAY;AACzK;AAAA,UAED,KAAK;AAAI,YAAAG,eAAc;AAAA,UAEvB;AACC,mBAAO,YAAY,QAAQA,aAAY,MAAM,QAAQ,OAAO,QAAQ,OAAO,QAAQ,MAAMD,SAAQ,CAAC,GAAG,WAAW,CAAC,GAAGF,OAAM,GAAG,QAAQ;AAErI,gBAAIC,eAAc;AACjB,kBAAI,WAAW;AACd,sBAAME,aAAY,MAAM,WAAW,WAAWD,QAAO,UAAUF,SAAQ,QAAQ,QAAQ;AAAA;AAEvF,wBAAQ,WAAW,MAAM,OAAOG,aAAY,CAAC,MAAM,MAAM,MAAM,QAAQ;AAAA,kBAEtE,KAAK;AAAA,kBAAK,KAAK;AAAA,kBAAK,KAAK;AACxB,0BAAM,OAAO,WAAW,WAAW,QAAQ,OAAO,QAAQ,OAAO,WAAW,WAAW,GAAG,GAAG,OAAO,QAAQ,MAAM,OAAOD,SAAQ,CAAC,GAAGF,OAAM,GAAG,QAAQ,GAAG,OAAO,UAAUA,SAAQ,QAAQ,OAAOE,SAAQ,QAAQ;AACjN;AAAA,kBACD;AACC,0BAAMC,aAAY,WAAW,WAAW,WAAW,CAAC,EAAE,GAAG,UAAU,GAAG,QAAQ,QAAQ;AAAA,gBACxF;AAAA,QACJ;AAEA,gBAAQ,SAAS,WAAW,GAAG,WAAW,YAAY,GAAG,OAAOA,cAAa,IAAIH,UAAS;AAC1F;AAAA,MAED,KAAK;AACJ,QAAAA,UAAS,IAAI,OAAOG,WAAU,GAAG,WAAW;AAAA,MAC7C;AACC,YAAI,WAAW;AACd,cAAIF,cAAa;AAChB,cAAE;AAAA,mBACMA,cAAa,OAAO,cAAc,KAAK,KAAK,KAAK;AACzD;AAAA;AAEF,gBAAQE,eAAc,KAAKF,UAAS,GAAGA,aAAY,UAAU;AAAA,UAE5D,KAAK;AACJ,wBAAY,SAAS,IAAI,KAAKE,eAAc,MAAM;AAClD;AAAA,UAED,KAAK;AACJ,mBAAO,OAAO,KAAK,OAAOA,WAAU,IAAI,KAAK,WAAW,YAAY;AACpE;AAAA,UAED,KAAK;AAEJ,gBAAI,KAAK,MAAM;AACd,cAAAA,eAAc,QAAQ,KAAK,CAAC;AAE7B,qBAAS,KAAK,GAAG,SAASH,UAAS,OAAO,OAAOG,eAAc,WAAW,MAAM,CAAC,CAAC,GAAGF;AACrF;AAAA,UAED,KAAK;AACJ,gBAAI,aAAa,MAAM,OAAOE,WAAU,KAAK;AAC5C,yBAAW;AAAA,QACd;AAAA,IACF;AAED,SAAO;AACR;AAgBO,SAAS,QAAS,OAAO,MAAM,QAAQ,OAAO,QAAQ,OAAO,QAAQ,MAAMD,QAAO,UAAUF,SAAQ;AAC1G,MAAI,OAAO,SAAS;AACpB,MAAI,OAAO,WAAW,IAAI,QAAQ,CAAC,EAAE;AACrC,MAAI,OAAO,OAAO,IAAI;AAEtB,WAAS,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,OAAO,EAAE;AAC1C,aAAS,IAAI,GAAG,IAAI,OAAO,OAAO,OAAO,GAAG,OAAO,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,MAAM,EAAE;AAC9F,UAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,IAAI,QAAQ,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC;AACnE,QAAAE,OAAM,GAAG,IAAI;AAEhB,SAAO,KAAK,OAAO,MAAM,QAAQ,WAAW,IAAI,UAAU,MAAMA,QAAO,UAAUF,OAAM;AACxF;AAQO,SAAS,QAAS,OAAO,MAAM,QAAQ;AAC7C,SAAO,KAAK,OAAO,MAAM,QAAQ,SAAS,KAAK,KAAK,CAAC,GAAG,OAAO,OAAO,GAAG,EAAE,GAAG,CAAC;AAChF;AASO,SAAS,YAAa,OAAO,MAAM,QAAQA,SAAQ;AACzD,SAAO,KAAK,OAAO,MAAM,QAAQ,aAAa,OAAO,OAAO,GAAGA,OAAM,GAAG,OAAO,OAAOA,UAAS,GAAG,EAAE,GAAGA,OAAM;AAC9G;;;ACtLO,SAAS,UAAW,UAAU,UAAU;AAC9C,MAAI,SAAS;AACb,MAAII,UAAS,OAAO,QAAQ;AAE5B,WAAS,IAAI,GAAG,IAAIA,SAAQ;AAC3B,cAAU,SAAS,SAAS,CAAC,GAAG,GAAG,UAAU,QAAQ,KAAK;AAE3D,SAAO;AACR;AASO,SAAS,UAAW,SAAS,OAAO,UAAU,UAAU;AAC9D,UAAQ,QAAQ,MAAM;AAAA,IACrB,KAAK;AAAA,IAAQ,KAAK;AAAa,aAAO,QAAQ,SAAS,QAAQ,UAAU,QAAQ;AAAA,IACjF,KAAK;AAAS,aAAO;AAAA,IACrB,KAAK;AAAW,aAAO,QAAQ,SAAS,QAAQ,QAAQ,MAAM,UAAU,QAAQ,UAAU,QAAQ,IAAI;AAAA,IACtG,KAAK;AAAS,cAAQ,QAAQ,QAAQ,MAAM,KAAK,GAAG;AAAA,EACrD;AAEA,SAAO,OAAO,WAAW,UAAU,QAAQ,UAAU,QAAQ,CAAC,IAAI,QAAQ,SAAS,QAAQ,QAAQ,MAAM,WAAW,MAAM;AAC3H;;;ACxBO,SAAS,WAAY,YAAY;AACvC,MAAIC,UAAS,OAAO,UAAU;AAE9B,SAAO,SAAU,SAAS,OAAO,UAAU,UAAU;AACpD,QAAI,SAAS;AAEb,aAAS,IAAI,GAAG,IAAIA,SAAQ;AAC3B,gBAAU,WAAW,CAAC,EAAE,SAAS,OAAO,UAAU,QAAQ,KAAK;AAEhE,WAAO;AAAA,EACR;AACD;;;ACrBA,SAAS,QAAQ,IAAI;AACnB,MAAI,QAAQ,uBAAO,OAAO,IAAI;AAC9B,SAAO,SAAU,KAAK;AACpB,QAAI,MAAM,GAAG,MAAM;AAAW,YAAM,GAAG,IAAI,GAAG,GAAG;AACjD,WAAO,MAAM,GAAG;AAAA,EAClB;AACF;AAEA,IAAO,8BAAQ;;;ACHf,IAAI,8BAA8B,SAASC,6BAA4B,OAAO,QAAQ,OAAO;AAC3F,MAAI,WAAW;AACf,MAAIC,aAAY;AAEhB,SAAO,MAAM;AACX,eAAWA;AACX,IAAAA,aAAY,KAAK;AAEjB,QAAI,aAAa,MAAMA,eAAc,IAAI;AACvC,aAAO,KAAK,IAAI;AAAA,IAClB;AAEA,QAAI,MAAMA,UAAS,GAAG;AACpB;AAAA,IACF;AAEA,SAAK;AAAA,EACP;AAEA,SAAO,MAAM,OAAO,QAAQ;AAC9B;AAEA,IAAI,UAAU,SAASC,SAAQ,QAAQ,QAAQ;AAE7C,MAAI,QAAQ;AACZ,MAAID,aAAY;AAEhB,KAAG;AACD,YAAQ,MAAMA,UAAS,GAAG;AAAA,MACxB,KAAK;AAEH,YAAIA,eAAc,MAAM,KAAK,MAAM,IAAI;AAKrC,iBAAO,KAAK,IAAI;AAAA,QAClB;AAEA,eAAO,KAAK,KAAK,4BAA4B,WAAW,GAAG,QAAQ,KAAK;AACxE;AAAA,MAEF,KAAK;AACH,eAAO,KAAK,KAAK,QAAQA,UAAS;AAClC;AAAA,MAEF,KAAK;AAEH,YAAIA,eAAc,IAAI;AAEpB,iBAAO,EAAE,KAAK,IAAI,KAAK,MAAM,KAAK,QAAQ;AAC1C,iBAAO,KAAK,IAAI,OAAO,KAAK,EAAE;AAC9B;AAAA,QACF;AAAA,MAIF;AACE,eAAO,KAAK,KAAK,KAAKA,UAAS;AAAA,IACnC;AAAA,EACF,SAASA,aAAY,KAAK;AAE1B,SAAO;AACT;AAEA,IAAI,WAAW,SAASE,UAAS,OAAO,QAAQ;AAC9C,SAAO,QAAQ,QAAQ,MAAM,KAAK,GAAG,MAAM,CAAC;AAC9C;AAGA,IAAI,gBAA+B,oBAAI,QAAQ;AAC/C,IAAI,SAAS,SAASC,QAAO,SAAS;AACpC,MAAI,QAAQ,SAAS,UAAU,CAAC,QAAQ;AAAA;AAAA,EAExC,QAAQ,SAAS,GAAG;AAClB;AAAA,EACF;AAEA,MAAI,QAAQ,QAAQ,OAChB,SAAS,QAAQ;AACrB,MAAI,iBAAiB,QAAQ,WAAW,OAAO,UAAU,QAAQ,SAAS,OAAO;AAEjF,SAAO,OAAO,SAAS,QAAQ;AAC7B,aAAS,OAAO;AAChB,QAAI,CAAC;AAAQ;AAAA,EACf;AAGA,MAAI,QAAQ,MAAM,WAAW,KAAK,MAAM,WAAW,CAAC,MAAM,MAEvD,CAAC,cAAc,IAAI,MAAM,GAAG;AAC7B;AAAA,EACF;AAIA,MAAI,gBAAgB;AAClB;AAAA,EACF;AAEA,gBAAc,IAAI,SAAS,IAAI;AAC/B,MAAI,SAAS,CAAC;AACd,MAAI,QAAQ,SAAS,OAAO,MAAM;AAClC,MAAI,cAAc,OAAO;AAEzB,WAAS,IAAI,GAAG,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AAC5C,aAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK,KAAK;AAChD,cAAQ,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,MAAM,CAAC,EAAE,QAAQ,QAAQ,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,MAAM,MAAM,CAAC;AAAA,IAC1G;AAAA,EACF;AACF;AACA,IAAI,cAAc,SAASC,aAAY,SAAS;AAC9C,MAAI,QAAQ,SAAS,QAAQ;AAC3B,QAAI,QAAQ,QAAQ;AAEpB;AAAA;AAAA,MACA,MAAM,WAAW,CAAC,MAAM;AAAA,MACxB,MAAM,WAAW,CAAC,MAAM;AAAA,MAAI;AAE1B,cAAQ,QAAQ,IAAI;AACpB,cAAQ,QAAQ;AAAA,IAClB;AAAA,EACF;AACF;AACA,IAAI,aAAa;AAEjB,IAAI,oBAAoB,SAASC,mBAAkB,SAAS;AAC1D,SAAO,QAAQ,SAAS,UAAU,QAAQ,SAAS,QAAQ,UAAU,IAAI;AAC3E;AAEA,IAAI,6BAA6B,SAASC,4BAA2B,OAAO;AAC1E,SAAO,SAAU,SAAS,OAAO,UAAU;AACzC,QAAI,QAAQ,SAAS,UAAU,MAAM;AAAQ;AAC7C,QAAI,sBAAsB,QAAQ,MAAM,MAAM,gCAAgC;AAE9E,QAAI,qBAAqB;AACvB,UAAI,WAAW,CAAC,CAAC,QAAQ;AAgBzB,UAAI,mBAAmB,WAAW,QAAQ,OAAO;AAAA;AAAA,QACjD;AAAA;AAEA,eAAS,IAAI,iBAAiB,SAAS,GAAG,KAAK,GAAG,KAAK;AACrD,YAAIC,QAAO,iBAAiB,CAAC;AAE7B,YAAIA,MAAK,OAAO,QAAQ,MAAM;AAC5B;AAAA,QACF;AAkBA,YAAIA,MAAK,SAAS,QAAQ,QAAQ;AAChC,cAAI,kBAAkBA,KAAI,GAAG;AAC3B;AAAA,UACF;AAEA;AAAA,QACF;AAAA,MACF;AAEA,0BAAoB,QAAQ,SAAU,mBAAmB;AACvD,gBAAQ,MAAM,uBAAwB,oBAAoB,mFAAqF,kBAAkB,MAAM,QAAQ,EAAE,CAAC,IAAI,YAAa;AAAA,MACrM,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEA,IAAI,eAAe,SAASC,cAAa,SAAS;AAChD,SAAO,QAAQ,KAAK,WAAW,CAAC,MAAM,OAAO,QAAQ,KAAK,WAAW,CAAC,MAAM;AAC9E;AAEA,IAAI,8BAA8B,SAASC,6BAA4B,OAAO,UAAU;AACtF,WAAS,IAAI,QAAQ,GAAG,KAAK,GAAG,KAAK;AACnC,QAAI,CAAC,aAAa,SAAS,CAAC,CAAC,GAAG;AAC9B,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAKA,IAAI,iBAAiB,SAASC,gBAAe,SAAS;AACpD,UAAQ,OAAO;AACf,UAAQ,QAAQ;AAChB,UAAQ,QAAQ,IAAI;AACpB,UAAQ,WAAW;AACnB,UAAQ,QAAQ;AAClB;AAEA,IAAI,uBAAuB,SAASC,sBAAqB,SAAS,OAAO,UAAU;AACjF,MAAI,CAAC,aAAa,OAAO,GAAG;AAC1B;AAAA,EACF;AAEA,MAAI,QAAQ,QAAQ;AAClB,YAAQ,MAAM,oLAAoL;AAClM,mBAAe,OAAO;AAAA,EACxB,WAAW,4BAA4B,OAAO,QAAQ,GAAG;AACvD,YAAQ,MAAM,sGAAsG;AACpH,mBAAe,OAAO;AAAA,EACxB;AACF;AAIA,SAAS,OAAO,OAAOC,SAAQ;AAC7B,UAAQ,KAAK,OAAOA,OAAM,GAAG;AAAA,IAE3B,KAAK;AACH,aAAO,SAAS,WAAW,QAAQ;AAAA,IAGrC,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IAEL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IAEL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IAEL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO,SAAS,QAAQ;AAAA,IAG1B,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO,SAAS,QAAQ,MAAM,QAAQ,KAAK,QAAQ;AAAA,IAGrD,KAAK;AAAA,IACL,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,QAAQ;AAAA,IAGvC,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,UAAU,QAAQ;AAAA,IAGjD,KAAK;AACH,aAAO,SAAS,QAAQ,QAAQ,OAAO,kBAAkB,SAAS,aAAa,KAAK,WAAW,IAAI;AAAA,IAGrG,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,eAAe,QAAQ,OAAO,eAAe,EAAE,IAAI;AAAA,IAGlF,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,mBAAmB,QAAQ,OAAO,6BAA6B,EAAE,IAAI;AAAA,IAGpG,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,UAAU,UAAU,IAAI;AAAA,IAGtE,KAAK;AACH,aAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,SAAS,gBAAgB,IAAI;AAAA,IAG3E,KAAK;AACH,aAAO,SAAS,SAAS,QAAQ,OAAO,SAAS,EAAE,IAAI,SAAS,QAAQ,KAAK,QAAQ,OAAO,QAAQ,UAAU,IAAI;AAAA,IAGpH,KAAK;AACH,aAAO,SAAS,QAAQ,OAAO,sBAAsB,OAAO,SAAS,IAAI,IAAI;AAAA,IAG/E,KAAK;AACH,aAAO,QAAQ,QAAQ,QAAQ,OAAO,gBAAgB,SAAS,IAAI,GAAG,eAAe,SAAS,IAAI,GAAG,OAAO,EAAE,IAAI;AAAA,IAGpH,KAAK;AAAA,IACL,KAAK;AACH,aAAO,QAAQ,OAAO,qBAAqB,SAAS,QAAa;AAAA,IAGnE,KAAK;AACH,aAAO,QAAQ,QAAQ,OAAO,qBAAqB,SAAS,gBAAgB,KAAK,cAAc,GAAG,cAAc,SAAS,IAAI,SAAS,QAAQ;AAAA,IAGhJ,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO,QAAQ,OAAO,mBAAmB,SAAS,MAAM,IAAI;AAAA,IAG9D,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAEH,UAAI,OAAO,KAAK,IAAI,IAAIA,UAAS;AAAG,gBAAQ,OAAO,OAAOA,UAAS,CAAC,GAAG;AAAA,UAErE,KAAK;AAEH,gBAAI,OAAO,OAAOA,UAAS,CAAC,MAAM;AAAI;AAAA,UAGxC,KAAK;AACH,mBAAO,QAAQ,OAAO,oBAAoB,OAAO,SAAS,YAAiB,OAAO,OAAO,OAAOA,UAAS,CAAC,KAAK,MAAM,OAAO,QAAQ,IAAI;AAAA,UAG1I,KAAK;AACH,mBAAO,CAAC,QAAQ,OAAO,SAAS,IAAI,OAAO,QAAQ,OAAO,WAAW,gBAAgB,GAAGA,OAAM,IAAI,QAAQ;AAAA,QAC9G;AACA;AAAA,IAGF,KAAK;AAEH,UAAI,OAAO,OAAOA,UAAS,CAAC,MAAM;AAAK;AAAA,IAGzC,KAAK;AACH,cAAQ,OAAO,OAAO,OAAO,KAAK,IAAI,KAAK,CAAC,QAAQ,OAAO,YAAY,KAAK,GAAG,GAAG;AAAA,QAEhF,KAAK;AACH,iBAAO,QAAQ,OAAO,KAAK,MAAM,MAAM,IAAI;AAAA,QAG7C,KAAK;AACH,iBAAO,QAAQ,OAAO,yBAAyB,OAAO,UAAU,OAAO,OAAO,EAAE,MAAM,KAAK,YAAY,MAAM,YAAiB,SAAS,WAAgB,KAAK,SAAS,IAAI;AAAA,MAC7K;AAEA;AAAA,IAGF,KAAK;AACH,cAAQ,OAAO,OAAOA,UAAS,EAAE,GAAG;AAAA,QAElC,KAAK;AACH,iBAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,sBAAsB,IAAI,IAAI;AAAA,QAG5E,KAAK;AACH,iBAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,sBAAsB,OAAO,IAAI;AAAA,QAG/E,KAAK;AACH,iBAAO,SAAS,QAAQ,KAAK,QAAQ,OAAO,sBAAsB,IAAI,IAAI;AAAA,MAC9E;AAEA,aAAO,SAAS,QAAQ,KAAK,QAAQ;AAAA,EACzC;AAEA,SAAO;AACT;AAEA,IAAI,WAAW,SAASC,UAAS,SAAS,OAAO,UAAU,UAAU;AACnE,MAAI,QAAQ,SAAS;AAAI,QAAI,CAAC,QAAQ,QAAQ;AAAG,cAAQ,QAAQ,MAAM;AAAA,QACrE,KAAK;AACH,kBAAQ,QAAQ,IAAI,OAAO,QAAQ,OAAO,QAAQ,MAAM;AACxD;AAAA,QAEF,KAAK;AACH,iBAAO,UAAU,CAAC,KAAK,SAAS;AAAA,YAC9B,OAAO,QAAQ,QAAQ,OAAO,KAAK,MAAM,MAAM;AAAA,UACjD,CAAC,CAAC,GAAG,QAAQ;AAAA,QAEf,KAAK;AACH,cAAI,QAAQ;AAAQ,mBAAO,QAAQ,QAAQ,OAAO,SAAU,OAAO;AACjE,sBAAQ,MAAM,OAAO,uBAAuB,GAAG;AAAA,gBAE7C,KAAK;AAAA,gBACL,KAAK;AACH,yBAAO,UAAU,CAAC,KAAK,SAAS;AAAA,oBAC9B,OAAO,CAAC,QAAQ,OAAO,eAAe,MAAM,MAAM,IAAI,CAAC;AAAA,kBACzD,CAAC,CAAC,GAAG,QAAQ;AAAA,gBAGf,KAAK;AACH,yBAAO,UAAU,CAAC,KAAK,SAAS;AAAA,oBAC9B,OAAO,CAAC,QAAQ,OAAO,cAAc,MAAM,SAAS,UAAU,CAAC;AAAA,kBACjE,CAAC,GAAG,KAAK,SAAS;AAAA,oBAChB,OAAO,CAAC,QAAQ,OAAO,cAAc,MAAM,MAAM,IAAI,CAAC;AAAA,kBACxD,CAAC,GAAG,KAAK,SAAS;AAAA,oBAChB,OAAO,CAAC,QAAQ,OAAO,cAAc,KAAK,UAAU,CAAC;AAAA,kBACvD,CAAC,CAAC,GAAG,QAAQ;AAAA,cACjB;AAEA,qBAAO;AAAA,YACT,CAAC;AAAA,MACL;AAAA;AACF;AAEA,IAAI,uBAAuB,CAAC,QAAQ;AAEpC,IAAI,cAAc,SAASC,aAAY,SAAS;AAC9C,MAAI,MAAM,QAAQ;AAElB,MAA6C,CAAC,KAAK;AACjD,UAAM,IAAI,MAAM,+OAAoP;AAAA,EACtQ;AAEA,MAAK,QAAQ,OAAO;AAClB,QAAI,YAAY,SAAS,iBAAiB,mCAAmC;AAK7E,UAAM,UAAU,QAAQ,KAAK,WAAW,SAAUP,OAAM;AAOtD,UAAI,uBAAuBA,MAAK,aAAa,cAAc;AAE3D,UAAI,qBAAqB,QAAQ,GAAG,MAAM,IAAI;AAC5C;AAAA,MACF;AACA,eAAS,KAAK,YAAYA,KAAI;AAC9B,MAAAA,MAAK,aAAa,UAAU,EAAE;AAAA,IAChC,CAAC;AAAA,EACH;AAEA,MAAI,gBAAgB,QAAQ,iBAAiB;AAE7C,MAAI,MAAuC;AAEzC,QAAI,UAAU,KAAK,GAAG,GAAG;AACvB,YAAM,IAAI,MAAM,iFAAkF,MAAM,cAAe;AAAA,IACzH;AAAA,EACF;AAEA,MAAI,WAAW,CAAC;AAChB,MAAI;AACJ,MAAI,iBAAiB,CAAC;AAEtB;AACE,gBAAY,QAAQ,aAAa,SAAS;AAC1C,UAAM,UAAU,QAAQ;AAAA;AAAA;AAAA,MAExB,SAAS,iBAAiB,0BAA2B,MAAM,KAAM;AAAA,MAAG,SAAUA,OAAM;AAClF,YAAI,SAASA,MAAK,aAAa,cAAc,EAAE,MAAM,GAAG;AAExD,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,mBAAS,OAAO,CAAC,CAAC,IAAI;AAAA,QACxB;AAEA,uBAAe,KAAKA,KAAI;AAAA,MAC1B;AAAA,IAAC;AAAA,EACH;AAEA,MAAI;AAEJ,MAAI,qBAAqB,CAAC,QAAQ,WAAW;AAE7C,MAAI,MAAuC;AACzC,uBAAmB,KAAK,2BAA2B;AAAA,MACjD,IAAI,SAAS;AACX,eAAO,MAAM;AAAA,MACf;AAAA,IAEF,CAAC,GAAG,oBAAoB;AAAA,EAC1B;AAEA;AACE,QAAI;AACJ,QAAI,oBAAoB,CAAC,WAAW,OAAwC,SAAU,SAAS;AAC7F,UAAI,CAAC,QAAQ,MAAM;AACjB,YAAI,QAAQ,QAAQ,GAAG;AACrB,uBAAa,OAAO,QAAQ,QAAQ,CAAC;AAAA,QACvC,WAAW,QAAQ,SAAS,QAAQ,SAAS,SAAS;AAGpD,uBAAa,OAAO,QAAQ,QAAQ,IAAI;AAAA,QAC1C;AAAA,MACF;AAAA,IACF,IAAI,UAAU,SAAU,MAAM;AAC5B,mBAAa,OAAO,IAAI;AAAA,IAC1B,CAAC,CAAC;AACF,QAAI,aAAa,WAAW,mBAAmB,OAAO,eAAe,iBAAiB,CAAC;AAEvF,QAAI,SAAS,SAASQ,QAAO,QAAQ;AACnC,aAAO,UAAU,QAAQ,MAAM,GAAG,UAAU;AAAA,IAC9C;AAEA,cAAU,SAAS,OAAO,UAAU,YAAY,OAAO,aAAa;AAClE,qBAAe;AAEf,UAA6C,WAAW,QAAQ,QAAW;AACzE,uBAAe;AAAA,UACb,QAAQ,SAASC,QAAO,MAAM;AAC5B,kBAAM,OAAO,OAAO,WAAW,GAAG;AAAA,UACpC;AAAA,QACF;AAAA,MACF;AAEA,aAAO,WAAW,WAAW,MAAM,WAAW,SAAS,MAAM,WAAW,MAAM;AAE9E,UAAI,aAAa;AACf,cAAM,SAAS,WAAW,IAAI,IAAI;AAAA,MACpC;AAAA,IACF;AAAA,EACF;AAEA,MAAI,QAAQ;AAAA,IACV;AAAA,IACA,OAAO,IAAI,WAAW;AAAA,MACpB;AAAA,MACA;AAAA,MACA,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,MAChB,SAAS,QAAQ;AAAA,MACjB,gBAAgB,QAAQ;AAAA,IAC1B,CAAC;AAAA,IACD,OAAO,QAAQ;AAAA,IACf;AAAA,IACA,YAAY,CAAC;AAAA,IACb,QAAQ;AAAA,EACV;AACA,QAAM,MAAM,QAAQ,cAAc;AAClC,SAAO;AACT;AAEA,IAAO,oCAAQ;;;ACnkBf,SAAS,QAAQ,KAAK;AAMpB,MAAI,IAAI;AAER,MAAI,GACA,IAAI,GACJ,MAAM,IAAI;AAEd,SAAO,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG;AAC9B,QAAI,IAAI,WAAW,CAAC,IAAI,OAAQ,IAAI,WAAW,EAAE,CAAC,IAAI,QAAS,KAAK,IAAI,WAAW,EAAE,CAAC,IAAI,QAAS,MAAM,IAAI,WAAW,EAAE,CAAC,IAAI,QAAS;AACxI;AAAA,KAEC,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AACpD;AAAA,IAEA,MAAM;AACN;AAAA,KAEC,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AAAA,KAEnD,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AAAA,EACtD;AAGA,UAAQ,KAAK;AAAA,IACX,KAAK;AACH,YAAM,IAAI,WAAW,IAAI,CAAC,IAAI,QAAS;AAAA,IAEzC,KAAK;AACH,YAAM,IAAI,WAAW,IAAI,CAAC,IAAI,QAAS;AAAA,IAEzC,KAAK;AACH,WAAK,IAAI,WAAW,CAAC,IAAI;AACzB;AAAA,OAEC,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AAAA,EACxD;AAIA,OAAK,MAAM;AACX;AAAA,GAEC,IAAI,SAAU,eAAe,MAAM,MAAM,SAAU;AACpD,WAAS,IAAI,MAAM,QAAQ,GAAG,SAAS,EAAE;AAC3C;AAEA,IAAO,2BAAQ;;;ACtDf,IAAI,eAAe;AAAA,EACjB,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,iBAAiB;AAAA;AAAA,EAEjB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,aAAa;AACf;AAEA,IAAO,+BAAQ;;;AC7Cf,IAAI,gCAAgC;AAAA;AAAA;AAAA;AACpC,IAAI,gCAAgC;AACpC,IAAI,iBAAiB;AACrB,IAAI,iBAAiB;AAErB,IAAI,mBAAmB,SAASC,kBAAiB,UAAU;AACzD,SAAO,SAAS,WAAW,CAAC,MAAM;AACpC;AAEA,IAAI,qBAAqB,SAASC,oBAAmB,OAAO;AAC1D,SAAO,SAAS,QAAQ,OAAO,UAAU;AAC3C;AAEA,IAAI,mBAAkC,4CAAQ,SAAU,WAAW;AACjE,SAAO,iBAAiB,SAAS,IAAI,YAAY,UAAU,QAAQ,gBAAgB,KAAK,EAAE,YAAY;AACxG,CAAC;AAED,IAAI,oBAAoB,SAASC,mBAAkB,KAAK,OAAO;AAC7D,UAAQ,KAAK;AAAA,IACX,KAAK;AAAA,IACL,KAAK,iBACH;AACE,UAAI,OAAO,UAAU,UAAU;AAC7B,eAAO,MAAM,QAAQ,gBAAgB,SAAUC,QAAO,IAAI,IAAI;AAC5D,mBAAS;AAAA,YACP,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAM;AAAA,UACR;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACJ;AAEA,MAAI,6BAAS,GAAG,MAAM,KAAK,CAAC,iBAAiB,GAAG,KAAK,OAAO,UAAU,YAAY,UAAU,GAAG;AAC7F,WAAO,QAAQ;AAAA,EACjB;AAEA,SAAO;AACT;AAEA,IAAI,MAAuC;AACrC,wBAAsB;AACtB,kBAAgB,CAAC,UAAU,QAAQ,WAAW,WAAW,OAAO;AAChE,yBAAuB;AACvB,cAAY;AACZ,kBAAgB;AAChB,oBAAkB,CAAC;AAEvB,sBAAoB,SAASD,mBAAkB,KAAK,OAAO;AACzD,QAAI,QAAQ,WAAW;AACrB,UAAI,OAAO,UAAU,YAAY,cAAc,QAAQ,KAAK,MAAM,MAAM,CAAC,oBAAoB,KAAK,KAAK,MAAM,MAAM,OAAO,CAAC,MAAM,MAAM,OAAO,MAAM,SAAS,CAAC,KAAK,MAAM,OAAO,CAAC,MAAM,OAAO,MAAM,OAAO,CAAC,MAAM,MAAM;AACtN,cAAM,IAAI,MAAM,mGAAmG,QAAQ,MAAM;AAAA,MACnI;AAAA,IACF;AAEA,QAAI,YAAY,qBAAqB,KAAK,KAAK;AAE/C,QAAI,cAAc,MAAM,CAAC,iBAAiB,GAAG,KAAK,IAAI,QAAQ,GAAG,MAAM,MAAM,gBAAgB,GAAG,MAAM,QAAW;AAC/G,sBAAgB,GAAG,IAAI;AACvB,cAAQ,MAAM,mFAAmF,IAAI,QAAQ,WAAW,KAAK,EAAE,QAAQ,eAAe,SAAU,KAAK,OAAO;AAC1K,eAAO,MAAM,YAAY;AAAA,MAC3B,CAAC,IAAI,GAAG;AAAA,IACV;AAEA,WAAO;AAAA,EACT;AACF;AAzBM;AACA;AACA;AACA;AACA;AACA;AAsBN,IAAI,6BAA6B;AAEjC,SAAS,oBAAoB,aAAa,YAAY,eAAe;AACnE,MAAI,iBAAiB,MAAM;AACzB,WAAO;AAAA,EACT;AAEA,MAAI,cAAc,qBAAqB,QAAW;AAChD,QAA6C,cAAc,SAAS,MAAM,yBAAyB;AACjG,YAAM,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AAEA,WAAO;AAAA,EACT;AAEA,UAAQ,OAAO,eAAe;AAAA,IAC5B,KAAK,WACH;AACE,aAAO;AAAA,IACT;AAAA,IAEF,KAAK,UACH;AACE,UAAI,cAAc,SAAS,GAAG;AAC5B,iBAAS;AAAA,UACP,MAAM,cAAc;AAAA,UACpB,QAAQ,cAAc;AAAA,UACtB,MAAM;AAAA,QACR;AACA,eAAO,cAAc;AAAA,MACvB;AAEA,UAAI,cAAc,WAAW,QAAW;AACtC,YAAIE,QAAO,cAAc;AAEzB,YAAIA,UAAS,QAAW;AAGtB,iBAAOA,UAAS,QAAW;AACzB,qBAAS;AAAA,cACP,MAAMA,MAAK;AAAA,cACX,QAAQA,MAAK;AAAA,cACb,MAAM;AAAA,YACR;AACA,YAAAA,QAAOA,MAAK;AAAA,UACd;AAAA,QACF;AAEA,YAAI,SAAS,cAAc,SAAS;AAEpC,YAA6C,cAAc,QAAQ,QAAW;AAC5E,oBAAU,cAAc;AAAA,QAC1B;AAEA,eAAO;AAAA,MACT;AAEA,aAAO,uBAAuB,aAAa,YAAY,aAAa;AAAA,IACtE;AAAA,IAEF,KAAK,YACH;AACE,UAAI,gBAAgB,QAAW;AAC7B,YAAI,iBAAiB;AACrB,YAAI,SAAS,cAAc,WAAW;AACtC,iBAAS;AACT,eAAO,oBAAoB,aAAa,YAAY,MAAM;AAAA,MAC5D,WAAW,MAAuC;AAChD,gBAAQ,MAAM,sWAA0X;AAAA,MAC1Y;AAEA;AAAA,IACF;AAAA,IAEF,KAAK;AACH,UAAI,MAAuC;AACzC,YAAI,UAAU,CAAC;AACf,YAAI,WAAW,cAAc,QAAQ,gBAAgB,SAAUD,QAAO,IAAI,IAAI;AAC5E,cAAI,cAAc,cAAc,QAAQ;AACxC,kBAAQ,KAAK,WAAW,cAAc,kBAAkB,GAAG,QAAQ,6BAA6B,EAAE,IAAI,GAAG;AACzG,iBAAO,OAAO,cAAc;AAAA,QAC9B,CAAC;AAED,YAAI,QAAQ,QAAQ;AAClB,kBAAQ,MAAM,oHAAyH,CAAC,EAAE,OAAO,SAAS,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,sDAAsD,SAAS,WAAW,IAAI;AAAA,QAC/Q;AAAA,MACF;AAEA;AAAA,EACJ;AAGA,MAAI,cAAc,MAAM;AACtB,WAAO;AAAA,EACT;AAEA,MAAI,SAAS,WAAW,aAAa;AACrC,SAAO,WAAW,SAAY,SAAS;AACzC;AAEA,SAAS,uBAAuB,aAAa,YAAY,KAAK;AAC5D,MAAI,SAAS;AAEb,MAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,aAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACnC,gBAAU,oBAAoB,aAAa,YAAY,IAAI,CAAC,CAAC,IAAI;AAAA,IACnE;AAAA,EACF,OAAO;AACL,aAAS,QAAQ,KAAK;AACpB,UAAI,QAAQ,IAAI,IAAI;AAEpB,UAAI,OAAO,UAAU,UAAU;AAC7B,YAAI,cAAc,QAAQ,WAAW,KAAK,MAAM,QAAW;AACzD,oBAAU,OAAO,MAAM,WAAW,KAAK,IAAI;AAAA,QAC7C,WAAW,mBAAmB,KAAK,GAAG;AACpC,oBAAU,iBAAiB,IAAI,IAAI,MAAM,kBAAkB,MAAM,KAAK,IAAI;AAAA,QAC5E;AAAA,MACF,OAAO;AACL,YAAI,SAAS,2BAA2B,MAAuC;AAC7E,gBAAM,IAAI,MAAM,0BAA0B;AAAA,QAC5C;AAEA,YAAI,MAAM,QAAQ,KAAK,KAAK,OAAO,MAAM,CAAC,MAAM,aAAa,cAAc,QAAQ,WAAW,MAAM,CAAC,CAAC,MAAM,SAAY;AACtH,mBAAS,KAAK,GAAG,KAAK,MAAM,QAAQ,MAAM;AACxC,gBAAI,mBAAmB,MAAM,EAAE,CAAC,GAAG;AACjC,wBAAU,iBAAiB,IAAI,IAAI,MAAM,kBAAkB,MAAM,MAAM,EAAE,CAAC,IAAI;AAAA,YAChF;AAAA,UACF;AAAA,QACF,OAAO;AACL,cAAI,eAAe,oBAAoB,aAAa,YAAY,KAAK;AAErE,kBAAQ,MAAM;AAAA,YACZ,KAAK;AAAA,YACL,KAAK,iBACH;AACE,wBAAU,iBAAiB,IAAI,IAAI,MAAM,eAAe;AACxD;AAAA,YACF;AAAA,YAEF,SACE;AACE,kBAA6C,SAAS,aAAa;AACjE,wBAAQ,MAAM,6BAA6B;AAAA,cAC7C;AAEA,wBAAU,OAAO,MAAM,eAAe;AAAA,YACxC;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAI,eAAe;AACnB,IAAI;AAEJ,IAAI,MAAuC;AACzC,qBAAmB;AACrB;AAIA,IAAI;AACJ,IAAI,kBAAkB,SAASE,iBAAgB,MAAM,YAAY,aAAa;AAC5E,MAAI,KAAK,WAAW,KAAK,OAAO,KAAK,CAAC,MAAM,YAAY,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,EAAE,WAAW,QAAW;AACxG,WAAO,KAAK,CAAC;AAAA,EACf;AAEA,MAAI,aAAa;AACjB,MAAI,SAAS;AACb,WAAS;AACT,MAAI,UAAU,KAAK,CAAC;AAEpB,MAAI,WAAW,QAAQ,QAAQ,QAAQ,QAAW;AAChD,iBAAa;AACb,cAAU,oBAAoB,aAAa,YAAY,OAAO;AAAA,EAChE,OAAO;AACL,QAA6C,QAAQ,CAAC,MAAM,QAAW;AACrE,cAAQ,MAAM,6BAA6B;AAAA,IAC7C;AAEA,cAAU,QAAQ,CAAC;AAAA,EACrB;AAGA,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,cAAU,oBAAoB,aAAa,YAAY,KAAK,CAAC,CAAC;AAE9D,QAAI,YAAY;AACd,UAA6C,QAAQ,CAAC,MAAM,QAAW;AACrE,gBAAQ,MAAM,6BAA6B;AAAA,MAC7C;AAEA,gBAAU,QAAQ,CAAC;AAAA,IACrB;AAAA,EACF;AAEA,MAAI;AAEJ,MAAI,MAAuC;AACzC,aAAS,OAAO,QAAQ,kBAAkB,SAAUF,QAAO;AACzD,kBAAYA;AACZ,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAGA,eAAa,YAAY;AACzB,MAAI,iBAAiB;AACrB,MAAIA;AAEJ,UAAQA,SAAQ,aAAa,KAAK,MAAM,OAAO,MAAM;AACnD,sBAAkB;AAAA,IAClBA,OAAM,CAAC;AAAA,EACT;AAEA,MAAI,OAAO,yBAAW,MAAM,IAAI;AAEhC,MAAI,MAAuC;AAEzC,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU,SAAS,WAAW;AAC5B,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR;AACF;;;ACzTA,IAAI,YAAY;AAChB,SAAS,oBAAoB,YAAY,kBAAkB,YAAY;AACrE,MAAI,eAAe;AACnB,aAAW,MAAM,GAAG,EAAE,QAAQ,SAAU,WAAW;AACjD,QAAI,WAAW,SAAS,MAAM,QAAW;AACvC,uBAAiB,KAAK,WAAW,SAAS,IAAI,GAAG;AAAA,IACnD,OAAO;AACL,sBAAgB,YAAY;AAAA,IAC9B;AAAA,EACF,CAAC;AACD,SAAO;AACT;AACA,IAAI,iBAAiB,SAASG,gBAAe,OAAO,YAAY,aAAa;AAC3E,MAAI,YAAY,MAAM,MAAM,MAAM,WAAW;AAE7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAKC,gBAAgB;AAAA;AAAA;AAAA;AAAA,IAIjB,cAAc,UAAW,MAAM,WAAW,SAAS,MAAM;AAAA,IAAW;AAClE,UAAM,WAAW,SAAS,IAAI,WAAW;AAAA,EAC3C;AACF;AACA,IAAI,eAAe,SAASC,cAAa,OAAO,YAAY,aAAa;AACvE,iBAAe,OAAO,YAAY,WAAW;AAC7C,MAAI,YAAY,MAAM,MAAM,MAAM,WAAW;AAE7C,MAAI,MAAM,SAAS,WAAW,IAAI,MAAM,QAAW;AACjD,QAAI,UAAU;AAEd,OAAG;AACD,UAAI,cAAc,MAAM,OAAO,eAAe,UAAU,MAAM,YAAY,IAAI,SAAS,MAAM,OAAO,IAAI;AAExG,gBAAU,QAAQ;AAAA,IACpB,SAAS,YAAY;AAAA,EACvB;AACF;;;ACrCA,SAAS,qBAAqB,OAAO,YAAY;AAC/C,MAAI,MAAM,SAAS,WAAW,IAAI,MAAM,QAAW;AACjD,WAAO,MAAM,OAAO,IAAI,YAAY,MAAM,OAAO,IAAI;AAAA,EACvD;AACF;AAEA,SAASC,OAAM,YAAY,KAAK,WAAW;AACzC,MAAI,mBAAmB,CAAC;AACxB,MAAI,eAAe,oBAAoB,YAAY,kBAAkB,SAAS;AAE9E,MAAI,iBAAiB,SAAS,GAAG;AAC/B,WAAO;AAAA,EACT;AAEA,SAAO,eAAe,IAAI,gBAAgB;AAC5C;AAEA,IAAI,gBAAgB,SAASC,eAAc,SAAS;AAClD,MAAI,QAAQ,kCAAY,OAAO;AAE/B,QAAM,MAAM,SAAS,SAAU,OAAO;AACpC,QAA6C,KAAK,QAAQ,GAAG;AAC3D,YAAM,IAAI,MAAM,sDAAsD;AAAA,IACxE;AAEA,SAAK,WAAW;AAAA,EAClB;AAEA,QAAM,SAAS;AAEf,MAAI,MAAM,SAASC,OAAM;AACvB,aAAS,OAAO,UAAU,QAAQ,OAAO,IAAI,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,MAAM,QAAQ;AACvF,WAAK,IAAI,IAAI,UAAU,IAAI;AAAA,IAC7B;AAEA,QAAI,aAAa,gBAAgB,MAAM,MAAM,YAAY,MAAS;AAClE,iBAAa,OAAO,YAAY,KAAK;AACrC,WAAO,MAAM,MAAM,MAAM,WAAW;AAAA,EACtC;AAEA,MAAIC,aAAY,SAASA,aAAY;AACnC,aAAS,QAAQ,UAAU,QAAQ,OAAO,IAAI,MAAM,KAAK,GAAG,QAAQ,GAAG,QAAQ,OAAO,SAAS;AAC7F,WAAK,KAAK,IAAI,UAAU,KAAK;AAAA,IAC/B;AAEA,QAAI,aAAa,gBAAgB,MAAM,MAAM,UAAU;AACvD,QAAI,YAAY,eAAe,WAAW;AAC1C,yBAAqB,OAAO;AAAA,MAC1B,MAAM,WAAW;AAAA,MACjB,QAAQ,gBAAgB,YAAY,MAAM,WAAW,SAAS;AAAA,IAChE,CAAC;AACD,WAAO;AAAA,EACT;AAEA,MAAI,eAAe,SAASC,gBAAe;AACzC,aAAS,QAAQ,UAAU,QAAQ,OAAO,IAAI,MAAM,KAAK,GAAG,QAAQ,GAAG,QAAQ,OAAO,SAAS;AAC7F,WAAK,KAAK,IAAI,UAAU,KAAK;AAAA,IAC/B;AAEA,QAAI,aAAa,gBAAgB,MAAM,MAAM,UAAU;AACvD,yBAAqB,OAAO,UAAU;AAAA,EACxC;AAEA,MAAI,KAAK,SAASC,MAAK;AACrB,aAAS,QAAQ,UAAU,QAAQ,OAAO,IAAI,MAAM,KAAK,GAAG,QAAQ,GAAG,QAAQ,OAAO,SAAS;AAC7F,WAAK,KAAK,IAAI,UAAU,KAAK;AAAA,IAC/B;AAEA,WAAOL,OAAM,MAAM,YAAY,KAAK,WAAW,IAAI,CAAC;AAAA,EACtD;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAWG;AAAA,IACX,SAAS,SAAS,QAAQ,KAAK;AAC7B,UAAI,QAAQ,SAAU,KAAK;AACzB,cAAM,SAAS,GAAG,IAAI;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,IACA,OAAO,SAAS,QAAQ;AACtB,YAAM,aAAa,CAAC;AACpB,YAAM,WAAW,CAAC;AAClB,YAAM,MAAM,MAAM;AAAA,IACpB;AAAA;AAAA,IAEA,OAAO,MAAM;AAAA,IACb;AAAA,IACA,qBAAqB,oBAAoB,KAAK,MAAM,MAAM,UAAU;AAAA,IACpE,OAAOH,OAAM,KAAK,MAAM,MAAM,YAAY,GAAG;AAAA,EAC/C;AACF;AAEA,IAAI,aAAa,SAASM,YAAW,MAAM;AACzC,MAAI,MAAM;AAEV,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,QAAI,MAAM,KAAK,CAAC;AAChB,QAAI,OAAO;AAAM;AACjB,QAAI,QAAQ;AAEZ,YAAQ,OAAO,KAAK;AAAA,MAClB,KAAK;AACH;AAAA,MAEF,KAAK,UACH;AACE,YAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,kBAAQA,YAAW,GAAG;AAAA,QACxB,OAAO;AACL,kBAAQ;AAER,mBAAS,KAAK,KAAK;AACjB,gBAAI,IAAI,CAAC,KAAK,GAAG;AACf,wBAAU,SAAS;AACnB,uBAAS;AAAA,YACX;AAAA,UACF;AAAA,QACF;AAEA;AAAA,MACF;AAAA,MAEF,SACE;AACE,gBAAQ;AAAA,MACV;AAAA,IACJ;AAEA,QAAI,OAAO;AACT,cAAQ,OAAO;AACf,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAO,0CAAQ;;;AC3IR,IAAMC,iBAAgB,CAAC,MAAM,SAAS,cAAc;AACzD,QAAM,WAAW,IAAI,WAAW,OAAO,GAAG;AAC1C,SAAO,wCAAe,EAAE,KAAK,UAAU,UAAU,CAAC;AACpD;AAEO,IAAM,UAAUA,eAAc;;;AfJrC,IAAM,EAAE,UAAU,IAAI;AAEtB,IAAM,sBAAsB,CAAC,WAAW,YAAY;AAClD,UAAI,wBAAS,SAAS;AAAG,WAAO,EAAE,eAAe,UAAU,SAAS,EAAE;AACtE,QAAM,EAAE,UAAU,IAAI,QAAQ,WAAW,QAAQ,QAAQ;AACzD,QAAM,SAAS,UAAU,SAAS;AAClC,SAAO,UAAU,MAAM;AACzB;AAEO,IAAM,YAAY;AAAA,EACvB,OAAO;AAAA,IACL,WAAW,CAAC,OAAO,GAAG,MAAM,aAAa;AAAA,MACvC,eAAe,oBAAoB,GAAG,MAAM,WAAW,EAAE;AAAA,MACzD,uBAAmB,gCAAe,GAAG,MAAM,qBAAqB,GAAG,EAAE;AAAA,MACrE,oBAAgB,gCAAe,GAAG,MAAM,kBAAkB,IAAI,EAAE;AAAA,MAChE,6BAAyB,mCAAkB,GAAG,MAAM,2BAA2B,MAAM;AAAA,MACrF,mBAAmB,GAAG,MAAM,qBAAqB;AAAA,MACjD,oBAAoB,GAAG,MAAM;AAAA,MAC7B,oBAAoB,GAAG,MAAM;AAAA,IAC/B;AAAA,IACA,eAAe,CAAC,OAAO,GAAG,MAAM,iBAAiB;AAAA,MAC/C,eAAe,oBAAoB,GAAG,MAAM,eAAe,EAAE;AAAA,IAC/D;AAAA,IAEA,mBAAmB,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,qBAAsB;AAAA,MAC5D,uBAAmB,gCAAeA,OAAM,iBAAiB,EAAE;AAAA,IAC7D;AAAA,IACA,gBAAgB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,kBAAmB;AAAA,MACtD,oBAAgB,gCAAeA,OAAM,cAAc,EAAE;AAAA,IACvD;AAAA,IACA,yBAAyB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,2BAA4B;AAAA,MACxE,6BAAyB,mCAAkBA,OAAM,uBAAuB;AAAA,IAC1E;AAAA,IACA,mBAAmB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,qBAAsB;AAAA,MAC5D,mBAAmBA,OAAM;AAAA,IAC3B;AAAA,IACA,oBAAoB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,sBAAuB;AAAA,MAC9D,oBAAoBA,OAAM;AAAA,IAC5B;AAAA,IACA,yBAAyB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,2BAA4B;AAAA,MACxE,yBAAyBA,OAAM,2BAA2B;AAAA,IAC5D;AAAA,IACA,oBAAoB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,sBAAuB;AAAA,MAC9D,oBAAoBA,OAAM;AAAA,IAC5B;AAAA,EACF;AACF;;;AgBlCA,IAAM,WAAW;AAAA,EACf,OAAO;AAAA,IACL,OAAO,CAAC,EAAE,OAAAC,OAAM,MAAMA,UAASA,OAAM;AAAA,EACvC;AACF;AAEO,IAAM,MAAM;AAAA,EACjB,QAAQ;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,IAAI,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EAC3B;AACF;;;ACtCO,IAAM,SAAS;AAAA,EACpB,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,MAAM;AAAA,IACJ,KAAK,CAAC,EAAE,KAAK,OAAAC,OAAM,MAAMA,OAAM,OAAO,oCAAoCA,OAAM,cAAc,wBAAwBA,OAAM,OAAO;AAAA,EACrI;AACF;AAEO,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,OAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,qBAAqB;AAAA,QACnB,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AACF;;;AC1BO,IAAM,OAAO;AAAA,EAClB,QAAQ;AAAA,EACR,OAAO,CAAC,EAAE,KAAK,OAAAC,QAAO,QAAQ,QAAQ,MAAM;AAC1C,UAAM,EAAE,OAAO,eAAe,QAAQ,IAAI,WAAW,QAAQ;AAC7D,UAAM,EAAE,YAAY,IAAI,WAAW,QAAQ;AAC3C,UAAM,WAAWA,OAAM,mBAAmBA,OAAM,QAAQA,OAAM,QAAQ;AACtE,UAAM,YAAY,YAAY,QAAQ;AAEtC,UAAMC,YAAU,UAAU,MAAM,iBAAiB;AAEjD,QAAI;AACJ,QAAID,OAAM,QAAQ;AAChB,uBAAiBA,OAAM,SAAS,EAAE,QAAQA,OAAM,SAAS,EAAE;AAAA,IAC7D;AACA,QACE,UACA,OAAO,SACP,OAAO,MAAM,UACb,OAAO,MAAM,SAAS,KACtB,OAAO,MAAM,SAAS,EAAE,MACxB;AACA,uBAAiB,OAAO,MAAM,SAAS,EAAE,KAAK,QAAQ,OAAO,MAAM,SAAS,EAAE,KAAK,QAAQ,OAAO,MAAM,SAAS,EAAE;AAAA,IACrH;AAEA,QAAI;AACJ,QAAI,MAAM,cAAc;AAAG,sBAAgB;AAC3C,QAAI,MAAM,SAAS;AAAG,sBAAgB;AAAA,aAC7B,MAAMC,UAAQ,CAAC,IAAIA,UAAQ,CAAC,CAAC;AAAG,sBAAgBA,UAAQ,CAAC,IAAIA,UAAQ,CAAC;AAAA,aACtE,MAAMA,UAAQ,CAAC,CAAC;AAAG,sBAAgBA,UAAQ,CAAC;AAAA,SAChD;AACH,UAAI;AAAS,gBAAQ,KAAK,oBAAqB,UAAU,aAAa;AAAA,IACxE;AAEA,UAAM,kBAAkB,MAAM,aAAa;AAC3C,UAAM,YAAa,UAAU,OAAO,SAAS,OAAO,MAAM,OAAQD,OAAM;AAExE,WAAO;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,UAAU,iBAAiB;AAAA,MAC3B,KAAK,mBAAmB,aAAa,MAAM;AAAA,MAC3C,OAAO,EAAE,MAAM,eAAe;AAAA,IAChC;AAAA,EACF;AAAA,EACA,MAAM,EAAE,SAAS,YAAY;AAC/B;AAEO,IAAM,WAAW;AAAA,EACtB,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AAAA,EAEA,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,IAAI,CAAC,EAAE,OAAO,MAAM,OAAO,MAAM;AAAA,EACnC;AAAA,EAEA,MAAM;AAAA,IACJ,OAAO,CAAC;AAAA,IACR,IAAI,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,QAAQA,OAAM;AAAA,EACzC;AAAA,EAEA,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAC7B;;;AClEO,IAAM,SAAS;AAAA,EACpB,QAAQ,CAAC,oBAAoB,QAAQ;AAAA,EACrC,KAAK;AAAA,EACL,OAAO;AAAA,IACL,UAAU;AAAA,IACV,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,CAAC,EAAE,OAAAE,OAAM,MAAMA,OAAM;AAAA,EAC7B;AACF;AAEO,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,UAAU;AAAA,IACV,OAAO;AAAA,IACP,SAAS;AAAA,IACT,aAAa;AAAA,IACb,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,OAAO,EAAE,WAAW,cAAc;AAAA,EACpC;AACF;AAEO,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,OAAO,EAAE,OAAO,IAAI;AACtB;AAEO,IAAM,iBAAiB;AAAA,EAC5B,QAAQ;AAAA,EACR,aAAa;AACf;;;AC1CO,IAAM,YAAY;AAAA,EACvB,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,aAAa;AACf;;;ACPA,IAAO,gBAAQ;AAAA,EACb,MAAM;AAAA,IACJ,sCAAsC;AAAA,MACpC,SAAS;AAAA,IACX;AAAA,IACA,sCAAsC;AAAA,MACpC,SAAS;AAAA,IACX;AAAA,IACA,sCAAsC;AAAA,MACpC,SAAS;AAAA,IACX;AAAA,IACA,0CAA0C;AAAA,MACxC,SAAS;AAAA,IACX;AAAA,EACF;AACF;;;ACfA,IAAAC,mBAAsE;;;ACA/D,IAAMC,QAAO;AAAA,EAClB,OAAO;AAAA,IACL,SAAS;AAAA,EACX;AAAA,EAEA,OAAO;AAAA,IACL,MAAM,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,QAAS,EAAE,UAAUA,OAAM,KAAK;AAAA,IAC3D,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,QAAS,EAAE,UAAUA,OAAM,KAAK;AAAA,IAC3D,OAAO,CAAC,EAAE,OAAAA,OAAM,MAAM;AACpB,UAAI,OAAOA,OAAM,UAAU;AAAU;AACrC,YAAM,CAAC,YAAY,cAAc,IAAIA,OAAM,MAAM,MAAM,GAAG;AAC1D,aAAO,EAAE,YAAY,eAAe;AAAA,IACtC;AAAA,EACF;AACF;;;ACdA,IAAAC,mBAAuC;AAEhC,IAAMC,QAAO;AAAA,EAClB,OAAO,EAAE,SAAS,OAAO;AAAA,EAEzB,OAAO;AAAA,IACL,MAAM,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,OAAQ,EAAE,UAAUA,OAAM,KAAK,IAAK;AAAA,IAC/D,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,cAAcA,OAAM,SAAS,IAAK;AAAA,IAC/E,eAAe,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAiB,EAAE,mBAAmBA,OAAM,cAAc,IAAK;AAAA,IAEnG,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,SAAU,EAAE,YAAYA,OAAM,OAAO,IAAK;AAAA,IACvE,SAAS,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,UAAW,EAAE,qBAAqBA,OAAM,QAAQ,IAAK;AAAA,IACnF,iBAAiB,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,kBAAmB,EAAE,qBAAqBA,OAAM,gBAAgB,IAAK;AAAA,IAC3G,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,iBAAiBA,OAAM,YAAY,IAAK;AAAA,IAC3F,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,cAAe,EAAE,iBAAiBA,OAAM,YAAY,IAAK;AAAA,IAE3F,KAAK,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,MAAO,EAAE,SAASA,OAAM,IAAI,IAAK;AAAA,IAC3D,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,OAAQ,EAAE,kBAAkBA,OAAM,KAAK,IAAK;AAAA,IACvE,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,eAAgB,EAAE,kBAAkBA,OAAM,aAAa,IAAK;AAAA,IAC/F,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,cAAcA,OAAM,SAAS,IAAK;AAAA,IAC/E,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,cAAcA,OAAM,SAAS,IAAK;AAAA,IAE/E,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,WAAY,EAAE,cAAcA,OAAM,SAAS,IAAK;AAAA,IAE/E,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,gBAAY,yCAAuBA,QAAO,WAAW,IAAI;AAAA,IACzF,QAAQ,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,aAAS,yCAAuBA,QAAO,QAAQ,IAAI;AAAA,EAClF;AACF;;;AC3BA,IAAAC,gBAA+B;;;ACA/B,IAAAC,mBAOO;;;ACPP,IAAAC,mBAAoD;;;ACApD,IAAAC,mBAIO;;;ADDP,IAAMC,cAAS,kCAAgB;AAExB,IAAMC,SAAQ;AAAA,EACnB,GAAG,EAAE,WAAW,sBAAsBD,QAAO,KAAK,YAAYA,QAAO,KAAK,UAAU;AAAA,EACpF,GAAG,EAAE,WAAW,sBAAsBA,QAAO,KAAK,YAAYA,QAAO,KAAK,UAAU;AAAA,EACpF,IAAI,EAAE,WAAW,sBAAsBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AAAA,EACtF,IAAI,EAAE,WAAW,sBAAsBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AAAA,EACtF,IAAI,EAAE,WAAW,uBAAuBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AAAA,EACvF,IAAI,EAAE,WAAW,uBAAuBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AACzF;;;AEXA,IAAAE,gBAAwE;;;ACDxE,IAAAC,mBAAgC;;;ACAhC,IAAAC,gBAA+B;AAE/B,IAAAC,mBAAsD;;;ACFtD,IAAAC,mBAAgD;;;ACAhD,IAAAC,mBAAkD;AAClD,IAAAC,iBAAyB;;;ACClB,IAAMC,iBAAgB,CAAC,MAAM,SAAS,cAAc;AACzD,QAAM,WAAW,IAAI,WAAW,OAAO,GAAG;AAC1C,SAAO,wCAAe,EAAE,KAAK,UAAU,UAAU,CAAC;AACpD;AAEO,IAAMC,WAAUD,eAAc;;;ADJrC,IAAM,EAAE,WAAAE,WAAU,IAAIC;;;AEEtB,IAAM,cAAc;AAAA,EAClB,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,IACR,OAAO;AAAA,EACT;AACF;AAEA,IAAM,QAAQ;AAAA,EACZ,OAAO;AAAA,IACL,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EAEA,KAAK;AAAA,IACH,QAAQC;AAAA,IACR,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,MACT,KAAK;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,MACX,gBAAgB;AAAA,IAClB;AAAA,IAEA,aAAa;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,GAAG;AAAA,QACH,UAAU;AAAA,MACZ;AAAA,MACA,MAAM,CAAC,EAAE,MAAM,MAAM,MAAM;AAAA,IAC7B;AAAA,EACF;AAEF;AAEA,IAAM,OAAO;AAAA,EACX,QAAQA;AAAA,EAER,OAAO;AAAA,IACL,MAAM;AAAA,IACN,KAAK;AAAA,IACL,MAAM;AAAA,IAEN,QAAQ;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN,QAAQA;AAAA,IACR,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,OAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,QAAQA;AAAA,IACR,OAAO;AAAA,MACL,MAAM;AAAA,MACN,KAAK;AAAA,IACP;AAAA,IACA,aAAa;AAAA,MACX,QAAQC;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,KAAK;AAAA,MACP;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,aAAa;AAAA,QACX,QAAQ;AAAA,QACR,OAAO;AAAA,UACL,GAAG;AAAA,UACH,UAAU;AAAA,UACV,SAAS;AAAA,QACX;AAAA,MACF;AAAA,MACA,GAAG;AAAA,QACD,EAAE,MAAM,KAAK;AAAA,QACb,EAAE,MAAM,KAAK;AAAA,QACb,EAAE,MAAM,KAAK;AAAA,QACb,EAAE,MAAM,KAAK;AAAA,QACb,EAAE,MAAM,KAAK;AAAA,QACb,EAAE,MAAM,KAAK;AAAA,QACb,EAAE,MAAM,KAAK;AAAA,MACf;AAAA,IACF;AAAA,IAEA,KAAK;AAAA,MACH,aAAa;AAAA,QACX,QAAQ;AAAA,QAER,OAAO,CAAC,EAAE,KAAK,MAAM,OAAO;AAAA,UAC1B,GAAG;AAAA,UACH,OAAO;AAAA,UACP,QAAQ,QAAQ;AAAA,UAChB,WAAW;AAAA,YACT,OAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,MAEA,GAAG,IAAI,MAAM,EAAE,EAAE,KAAK,MAAS,EAAE,IAAI,CAAC,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE;AAAA,IAClE;AAAA,EACF;AACF;AAEO,IAAM,aAAa;AAAA,EACxB;AAAA,EACA,QAAQD;AAAA,EAER,OAAO;AAAA,IACL,UAAU;AAAA,IACV,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,KAAK;AAAA,IACL,OAAO;AAAA,IACP,WAAW;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EAEA;AAAA,EACA;AACF;;;ACtJO,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,SAAS;AAAA,IACT,WAAW;AAAA,IACX,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,OAAO,EAAE,eAAe,OAAO;AAAA,EACjC;AAAA,EAEA,aAAa;AAAA,IACX,QAAQ;AAAA,IACR,OAAO,CAAC;AAAA,IACR,OAAO,CAAC,EAAE,KAAK,MAAM,OAAO;AAAA,MAC1B,QAAQ,MAAM,WAAW;AAAA,MACzB,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,OAAO;AAAA,MAEP,UAAU;AAAA,QACR,OAAO;AAAA,UACL,KAAK,EAAE,SAAS,MAAM;AAAA,QACxB;AAAA,MACF;AAAA,MAEA,MAAM;AAAA,QACJ,QAAQ,MAAM,WAAW;AAAA,QACzB,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW,EAAE,SAAS,IAAI;AAAA,MAC5B;AAAA,MAEA,sBAAsB;AAAA,QACpB,SAAS,EAAE,QAAQ,mBAAmB;AAAA,QACtC,UAAU,EAAE,QAAQ,gBAAgB;AAAA,QACpC,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,iBAAiB;AAAA,EAC5B,OAAO;AAAA,IACL,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,OAAO;AAAA,MACL,WAAW;AAAA,QACT,QAAQ;AAAA,QACR,gBAAgB;AAAA,UACd,WAAW;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AChEO,IAAME,QAAO;AAAA,EAClB,QAAQ;AAAA,EACR,OAAO,CAAC,EAAE,KAAK,OAAAC,QAAO,QAAQ,QAAQ,MAAM;AAC1C,UAAM,EAAE,OAAO,eAAe,QAAQ,IAAI,WAAW,QAAQ;AAC7D,UAAM,EAAE,YAAY,IAAI,WAAW,QAAQ;AAC3C,UAAM,WAAWA,OAAM,mBAAmBA,OAAM,QAAQA,OAAM,QAAQ;AACtE,UAAM,YAAY,YAAY,QAAQ;AAEtC,UAAMC,YAAU,UAAU,MAAM,iBAAiB;AAEjD,QAAI;AACJ,QAAID,OAAM,QAAQ;AAChB,uBAAiBA,OAAM,SAAS,EAAE,QAAQA,OAAM,SAAS,EAAE;AAAA,IAC7D;AACA,QACE,UACA,OAAO,SACP,OAAO,MAAM,UACb,OAAO,MAAM,SAAS,KACtB,OAAO,MAAM,SAAS,EAAE,MACxB;AACA,uBAAiB,OAAO,MAAM,SAAS,EAAE,KAAK,QAAQ,OAAO,MAAM,SAAS,EAAE,KAAK,QAAQ,OAAO,MAAM,SAAS,EAAE;AAAA,IACrH;AAEA,QAAI;AACJ,QAAI,MAAM,cAAc;AAAG,sBAAgB;AAC3C,QAAI,MAAM,SAAS;AAAG,sBAAgB;AAAA,aAC7B,MAAMC,UAAQ,CAAC,IAAIA,UAAQ,CAAC,CAAC;AAAG,sBAAgBA,UAAQ,CAAC,IAAIA,UAAQ,CAAC;AAAA,aACtE,MAAMA,UAAQ,CAAC,CAAC;AAAG,sBAAgBA,UAAQ,CAAC;AAAA,SAChD;AACH,UAAI;AAAS,gBAAQ,KAAK,oBAAqB,UAAU,aAAa;AAAA,IACxE;AAEA,UAAM,kBAAkB,MAAM,aAAa;AAC3C,UAAM,YAAY,OAAO,MAAM,OAAOD,OAAM;AAE5C,WAAO;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,UAAU,iBAAiB;AAAA,MAC3B,KAAK,mBAAmB,aAAa,MAAM;AAAA,MAC3C,OAAO,EAAE,MAAM,eAAe;AAAA,IAChC;AAAA,EACF;AAAA,EACA,MAAM,EAAE,SAAS,YAAY;AAC/B;AAEO,IAAME,YAAW;AAAA,EACtB,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,EACd;AAAA,EAEA,MAAM;AAAA,IACJ,QAAQH;AAAA,IACR,IAAI,CAAC,EAAE,OAAO,MAAM,OAAO,MAAM;AAAA,EACnC;AAAA,EAEA,MAAM,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAC7B;;;AChEA,oBAAwC;AAGjC,IAAM,OAAO;AAAA,EAClB,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,OAAO;AAAA,IACL,MAAM,CAAC;AAAA,IACP,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,WAAW;AAAA,EACb;AAAA,EACA,MAAM;AAAA,IACJ,MAAM,CAAC,IAAI,GAAG,QAAQ;AACpB,YAAM,EAAE,MAAAG,MAAK,IAAI,IAAI;AACrB,aAAOA,MAAK,GAAG,MAAM,MAAM,EAAE,KAAKA,MAAK,GAAG,OAAO,EAAE,EAAE;AAAA,IACvD;AAAA,IACA,QAAQ,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAAA,IAC7B,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,OAAOA,OAAM,KAAK,QAAQA,OAAM;AAAA,IACnE,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EAClC;AACF;AAEO,IAAM,aAAa;AAAA,EACxB,IAAI;AAAA,IACF,OAAO,CAAC,OAAO,IAAI,GAAG,QAAQ;AAC5B,YAAM,EAAE,OAAAA,OAAM,IAAI;AAClB,YAAM,EAAE,OAAO,cAAc,IAAI;AACjC,YAAM,EAAE,OAAO,IAAI;AACnB,YAAM,OAAO,GAAG,MAAM;AACtB,YAAM,EAAE,KAAK,IAAIA;AACjB,YAAM,iBAAiB,KAAK,SAAS,SAAS,KAC5C,KAAK,SAAS,UAAU,KACxB,KAAK,SAAS,SAAS,KACvB,KAAK,SAAS,MAAM;AACtB,YAAM,UAAUA,OAAM,iBAAiB,iBAAiB;AAAA,QACtD,iBAAiB,EAAE,WAAW,UAAU;AAAA,MAC1C;AACA,UAAI,QAAQ,CAAC,gBAAgB;AAC3B,SAAC,UAAU,cAAAC,QAAe,MAAM,MAAM,CAAC,GAAG,OAAO;AACjD,cAAM,eAAe;AAAA,MACvB;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,YAAY;AAAA,EACvB,QAAQ,CAAC,MAAM,UAAU;AAC3B;;;AC/CO,IAAM,QAAQ;AAAA,EACnB,QAAQ,CAAC,SAAS;AAAA,EAClB,KAAK;AAAA,EAEL,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,UAAU;AAAA,IACV,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,SAAS;AAAA,EACX;AAAA,EAEA,MAAM;AAAA,IACJ,SAAS,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAAA,IAC9B,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAChC,WAAW,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAChC,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAC3B,cAAc,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IACnC,aAAa,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAClC,OAAO,CAAC,EAAE,OAAAA,QAAO,MAAM,MAAMA,OAAM;AAAA,IACnC,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,YAAY;AAAA,IAC3C,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAC/B,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAC/B,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EAC7B;AACF;;;AC9BA,IAAAC,mBAAsE;;;ACAtE,IAAAC,mBAAuC;;;ACAvC,IAAAC,iBAA+B;;;ACA/B,IAAAC,mBAOO;;;ACPP,IAAAC,mBAAoD;;;ACApD,IAAAC,mBAIO;;;ADDP,IAAMC,cAAS,kCAAgB;AAExB,IAAMC,SAAQ;AAAA,EACnB,GAAG,EAAE,WAAW,sBAAsBD,QAAO,KAAK,YAAYA,QAAO,KAAK,UAAU;AAAA,EACpF,GAAG,EAAE,WAAW,sBAAsBA,QAAO,KAAK,YAAYA,QAAO,KAAK,UAAU;AAAA,EACpF,IAAI,EAAE,WAAW,sBAAsBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AAAA,EACtF,IAAI,EAAE,WAAW,sBAAsBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AAAA,EACtF,IAAI,EAAE,WAAW,uBAAuBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AAAA,EACvF,IAAI,EAAE,WAAW,uBAAuBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AACzF;;;AE+BO,IAAME,aAAY;AAAA,EACvB,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,kBAAkB;AAAA,MAChB,SAAS;AAAA,MACT,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,MAAM;AAAA,IACJ,aAAa,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAAA,IAClC,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EACjC;AACF;;;ACxDA,IAAAC,iBAAwE;;;ACDxE,IAAAC,mBAAgC;;;ACAhC,IAAAC,iBAA+B;AAE/B,IAAAC,mBAAsD;;;ACFtD,IAAAC,mBAAgD;;;ACAhD,IAAAC,mBAAkD;AAClD,IAAAC,iBAAyB;;;ACClB,IAAMC,iBAAgB,CAAC,MAAM,SAAS,cAAc;AACzD,QAAM,WAAW,IAAI,WAAW,OAAO,GAAG;AAC1C,SAAO,wCAAe,EAAE,KAAK,UAAU,UAAU,CAAC;AACpD;AAEO,IAAMC,WAAUD,eAAc;;;ADJrC,IAAM,EAAE,WAAAE,WAAU,IAAIC;;;AECf,IAAM,QAAQ;AAAA,EACnB,QAAQ,CAAC,QAAQ;AAAA,EAEjB,OAAO,CAAC,EAAE,OAAO,IAAI,OAAO;AAAA,IAC1B,OAAO,MAAM,GAAG;AAAA,IAEhB,OAAO;AAAA,IACP,aAAa;AAAA,IACb,SAAS;AAAA,IACT,OAAO;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,IACV,OAAO;AAAA,IAEP,OAAO;AAAA,MACL,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,IAEA,OAAO;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,IAEA,KAAK;AAAA,MACH,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,OAAO,EAAE,QAAQ,CAACC,YAAW,KAAK,EAAE;AACtC;;;ACxCO,IAAM,QAAQ;AAAA,EACnB,KAAK;AAAA,EAEL,aAAa;AAAA,IACX,KAAK;AAAA,IACL,MAAM;AAAA,MACJ,KAAK,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAAA,MAC1B,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,UAAU;AAAA,EACZ;AAAA,EAEA,MAAM;AAAA,IACJ,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAC/B,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EACjC;AACF;;;ACnBA,IAAAC,iBAA2B;AAC3B,IAAAC,mBAAwB;AAGxB,IAAM,QAAQ;AAAA,EACZ,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EAEN,SAAS,CAAC,IAAI,IAAI,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,MAAM,CAAC;AAAA,EACzD,UAAU,CAAC,IAAI,IAAI,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,MAAM,CAAC;AAAA,EAE1D,OAAO;AAAA,IACL,YAAY;AAAA,EACd;AAAA,EAEA,0BAA0B;AAAA,IACxB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,SAAS;AAAA,IAET,OAAO;AAAA,MACL,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EAEA,mCAAmC,CACnC;AAAA,EAEA,SAAS;AAAA,IACP,YAAY;AAAA,IAEZ,0BAA0B;AAAA,MACxB,YAAY;AAAA,MACZ,iBAAa,0BAAQ,WAAW,IAAI;AAAA,IACtC;AAAA,IAEA,UAAU;AAAA,MACR,0BAA0B;AAAA,QACxB,iBAAa,0BAAQ,QAAQ,IAAI;AAAA,MACnC;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,0BAA0B;AAAA,QACxB,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EAEA,UAAU;AAAA,IACR,YAAY;AAAA,IAEZ,0BAA0B;AAAA,MACxB,YAAY;AAAA,MACZ,aAAa;AAAA,IACf;AAAA,IAEA,UAAU;AAAA,MACR,0BAA0B;AAAA,QACxB,aAAa;AAAA,MACf;AAAA,IACF;AAAA,IAEA,UAAU;AAAA,MACR,0BAA0B;AAAA,QACxB,aAAa;AAAA,MACf;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,QAAQ;AAAA,EACnB;AAAA,EAEA,KAAK;AAAA,EACL,MAAM,EAAE,MAAM,QAAQ;AACxB;AAEA,IAAM,aAAa,CAAC,IAAI,MAAM,QAAQ;AACpC,QAAM,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AACrC,QAAM,QAAK,2BAAW,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,IAAI,QAAQ,SAAY,MAAM,QAAQ,SAAY,MAAM;AACrG,SAAO,IAAI;AACb;AAEO,IAAM,mBAAmB;AAAA,EAC9B,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,OAAO,EAAE,OAAO,YAAY,MAAM,QAAQ;AAAA,IAC1C,IAAI;AAAA,MACF,OAAO,CAAC,IAAI,IAAI,MAAM;AACpB,WAAG,aAAS,2BAAW,GAAG,MAAM,OAAO,KAAK,GAAG,MAAM,QAAQ,IAAI,IAAI,CAAC;AAAA,MACxE;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,OAAO,EAAE,OAAO,MAAM;AAAA,IACtB,KAAK;AAAA,IACL,MAAM,CAAC,IAAI,MAAM;AACf,YAAM,OAAO,WAAW,GAAG,OAAO,OAAO,QAAQ,EAAE;AACnD,aAAO,MAAM,EAAE,SAAS,MAAM;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,OAAO,CAAC,IAAI,MAAM,WAAW,EAAE,KAAK;AAAA,MACpC,KAAK,CAAC,IAAI,MAAM,WAAW,IAAI,OAAO,CAAC;AAAA,MACvC,KAAK,CAAC,IAAI,MAAM,WAAW,IAAI,OAAO,GAAG;AAAA,MACzC,MAAM,CAAC,IAAI,MAAM,WAAW,IAAI,QAAQ,CAAC;AAAA,IAC3C;AAAA,IACA,IAAI;AAAA,MACF,OAAO,CAAC,IAAI,IAAI,MAAM,GAAG,aAAS,2BAAW,GAAG,MAAM,OAAO,KAAK,GAAG,MAAM,QAAQ,IAAI,IAAI,CAAC;AAAA,MAC5F,QAAQ,CAAC,IAAI,IAAI,MAAM,GAAG,aAAS,2BAAW,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,SAAS,IAAI,IAAI,CAAC;AAAA,IACjG;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ;AAAA,IACR,OAAO,EAAE,OAAO,YAAY,MAAM,OAAO;AAAA,IACzC,IAAI;AAAA,MACF,OAAO,CAAC,IAAI,IAAI,MAAM;AACpB,WAAG,aAAS,2BAAW,GAAG,MAAM,OAAO,KAAK,GAAG,MAAM,QAAQ,IAAI,IAAI,CAAC;AAAA,MACxE;AAAA,IACF;AAAA,EACF;AACF;;;ACnIA,IAAOC,iBAAQ;AAAA,EACb,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM;AAAA,EACN,2BAA2B;AAAA,IACzB,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,SAAS;AAAA,EACX;AACF;;;ACdA,IAAAC,mBAA6B;AAC7B,IAAAC,iBAA2B;IAI3B,sBAAI;AAAA,EACF,OAAO;AAAA,IACL,aAAa;AAAA,MACX,YAAY;AAAA,MAEZ,2BAA2B;AAAA,QACzB,YAAY;AAAA,QACZ,iBAAa,0BAAQ,WAAW,IAAI;AAAA,MACtC;AAAA,MAEA,WAAW;AAAA,QACT,2BAA2B;AAAA,UACzB,iBAAa,0BAAQ,QAAQ,IAAI;AAAA,QACnC;AAAA,MACF;AAAA,MAEA,qBAAqB;AAAA,QACnB,2BAA2B;AAAA,UACzB,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEM,IAAM,cAAc;AAAA,EACzB,OAAAC;AAAA,EACA,OAAO;AAAA,IACL,OAAO;AAAA,EACT;AAAA,EAEA,KAAK;AAAA,EACL,MAAM,EAAE,MAAM,QAAQ;AACxB;AAEA,IAAMC,cAAa,CAAC,IAAI,MAAM,QAAQ;AACpC,QAAM,MAAM,MAAM,GAAG,SAAS,GAAG,MAAM,IAAI;AAC3C,QAAM,SAAK,2BAAW,GAAG,IAAI,IAAI,IAAI,SAAS,QAAQ,SAAY,MAAM;AACxE,SAAO;AACT;AAEO,IAAM,SAAS;AAAA,EACpB,SAAS;AAAA,IACP,QAAQ,CAAC,YAAY;AAAA,IACrB,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,IAAI;AAAA,MACF,OAAO,CAAC,IAAI,IAAI,MAAM;AACpB,WAAG,aAAS,2BAAW,GAAG,MAAM,KAAK,KAAK,GAAG,MAAM,MAAM,IAAI,IAAI,CAAC;AAClE,cAAM,QAAQ,GAAG,OAAO;AACxB,cAAMC,SAAQ,MAAM;AACpB,cAAM,YAAQ,2BAAWA,OAAM,KAAK,IAAIA,OAAM,MAAM,IAAIA,OAAM;AAC9D,cAAM,KAAK,QAAQ;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,OAAO,EAAE,OAAO,MAAM;AAAA,IACtB,KAAK;AAAA,IACL,MAAM,CAAC,IAAI,MAAM;AACf,YAAM,QAAQD,YAAW,GAAG,OAAO,OAAO,OAAO;AACjD,YAAM,OAAOA,YAAW,GAAG,OAAO,OAAO,QAAQ,EAAE;AACnD,aAAO,KAAK,QAAQ;AAAA,IACtB;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,OAAO,CAAC,IAAI,MAAMA,YAAW,IAAI,SAAS,EAAE;AAAA,MAC5C,KAAK,CAAC,IAAI,MAAMA,YAAW,IAAI,OAAO,CAAC;AAAA,MACvC,KAAK,CAAC,IAAI,MAAMA,YAAW,IAAI,OAAO,GAAG;AAAA,MACzC,MAAM,CAAC,IAAI,MAAMA,YAAW,IAAI,QAAQ,CAAC;AAAA,IAC3C;AAAA,IACA,IAAI;AAAA,MACF,OAAO,CAAC,IAAI,IAAI,MAAM,GAAG,aAAS,2BAAW,GAAG,MAAM,KAAK,KAAK,GAAG,MAAM,MAAM,IAAI,IAAI,CAAC;AAAA,MACxF,QAAQ,CAAC,IAAI,IAAI,MAAM,GAAG,aAAS,2BAAW,GAAG,MAAM,MAAM,KAAK,GAAG,MAAM,OAAO,IAAI,IAAI,CAAC;AAAA,IAC7F;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,QAAQ,CAAC,YAAY;AAAA,IACrB,OAAO;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,IAAI;AAAA,MACF,OAAO,CAAC,IAAI,IAAI,MAAM;AACpB,WAAG,aAAS,2BAAW,GAAG,MAAM,KAAK,KAAK,GAAG,MAAM,MAAM,IAAI,IAAI,CAAC;AAClE,cAAM,QAAQ,GAAG,OAAO;AACxB,cAAMC,SAAQ,MAAM;AACpB,cAAM,YAAQ,2BAAWA,OAAM,KAAK,IAAIA,OAAM,MAAM,IAAIA,OAAM;AAC9D,cAAM,KAAK,QAAQ;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AACF;;;ACrGA,IAAAC,mBAAsE;;;ACA/D,IAAMC,QAAO;AAAA,EAClB,OAAO;AAAA,IACL,SAAS;AAAA,EACX;AAAA,EAEA,OAAO;AAAA,IACL,MAAM,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM,QAAS,EAAE,UAAUA,OAAM,KAAK;AAAA,IAC3D,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM,QAAS,EAAE,UAAUA,OAAM,KAAK;AAAA,IAC3D,OAAO,CAAC,EAAE,OAAAA,OAAM,MAAM;AACpB,UAAI,OAAOA,OAAM,UAAU;AAAU;AACrC,YAAM,CAAC,YAAY,cAAc,IAAIA,OAAM,MAAM,MAAM,GAAG;AAC1D,aAAO,EAAE,YAAY,eAAe;AAAA,IACtC;AAAA,EACF;AACF;;;ACdA,IAAAC,mBAAuC;;;ACAvC,IAAAC,iBAA+B;;;ACA/B,IAAAC,mBAOO;;;ACPP,IAAAC,mBAAoD;;;ACApD,IAAAC,mBAIO;;;ADDP,IAAMC,cAAS,kCAAgB;AAExB,IAAMC,SAAQ;AAAA,EACnB,GAAG,EAAE,WAAW,sBAAsBD,QAAO,KAAK,YAAYA,QAAO,KAAK,UAAU;AAAA,EACpF,GAAG,EAAE,WAAW,sBAAsBA,QAAO,KAAK,YAAYA,QAAO,KAAK,UAAU;AAAA,EACpF,IAAI,EAAE,WAAW,sBAAsBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AAAA,EACtF,IAAI,EAAE,WAAW,sBAAsBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AAAA,EACtF,IAAI,EAAE,WAAW,uBAAuBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AAAA,EACvF,IAAI,EAAE,WAAW,uBAAuBA,QAAO,KAAK,aAAaA,QAAO,KAAK,UAAU;AACzF;;;AEXA,IAAAE,iBAAwE;;;ACDxE,IAAAC,mBAAgC;;;ACAhC,IAAAC,iBAA+B;AAE/B,IAAAC,mBAAsD;;;ACFtD,IAAAC,mBAAgD;;;ACAhD,IAAAC,mBAAkD;AAClD,IAAAC,iBAAyB;;;ACClB,IAAMC,iBAAgB,CAAC,MAAM,SAAS,cAAc;AACzD,QAAM,WAAW,IAAI,WAAW,OAAO,GAAG;AAC1C,SAAO,wCAAe,EAAE,KAAK,UAAU,UAAU,CAAC;AACpD;AAEO,IAAMC,WAAUD,eAAc;;;ADJrC,IAAM,EAAE,WAAAE,WAAU,IAAIC;;;AEAf,IAAM,eAAe;AAAA,EAC1B,QAAQC;AAAA,EAER,OAAO;AAAA,IACL,OAAO;AAAA,IACP,SAAS;AAAA,IACT,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,OAAO;AAAA,IAEP,MAAM;AAAA,MACJ,MAAM;AAAA,IACR;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,MAAM;AAAA,MACR;AAAA,MACA,GAAG;AAAA,QACD,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM;AAAA,IACJ,QAAQ,CAAC,QAAQ;AAAA,EACnB;AAAA,EAEA,SAAS;AAAA,IACP,QAAQA;AAAA,IACR,OAAO,CAAC;AAAA,IACR,GAAG,CAAC;AAAA,EACN;AACF;;;AC1CO,IAAM,UAAU;AAAA,EACrB,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,gBAAgB;AAAA,IAChB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,UAAU;AAAA,IACV,KAAK;AAAA,IACL,WAAW;AAAA,IAEX,OAAO;AAAA,MACL,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,IACA,GAAG;AAAA,MACD,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,MAAM;AAAA,MACN,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EAEA,MAAM,EAAE,SAAS,KAAK;AAAA,EAEtB,OAAO,CAAC;AAAA,EACR,GAAG,CAAC;AACN;AAEO,IAAM,gBAAgB;AAAA,EAC3B,OAAO;AAAA,IACL,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,OAAO;AAAA,MACL,4BAA4B;AAAA,QAC1B,QAAQ;AAAA,QACR,eAAe;AAAA,UACb,WAAW;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,QACd;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACjDA,IAAMC,SAAQ;AAAA,EACZ,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,OAAO,EAAE,QAAQ,OAAO;AAC1B;AAEO,IAAM,WAAW;AAAA,EACtB,QAAQ,CAAC,KAAK;AAAA,EACd,OAAAA;AAAA,EACA,KAAK;AACP;;;ACVO,IAAM,QAAQ;AAAA,EACnB,QAAQ;AAAA,EAER,OAAO;AAAA,IACL,UAAU;AAAA,IACV,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,OAAO,CAAC,EAAE,OAAO,OAAO,EAAE,MAAM,OAAO,MAAM,MAAM;AAAA,EACrD;AACF;;;ACpBO,IAAM,QAAQ;AAAA,EACnB,QAAQ;AAAA,EACR,OAAO,CAAC,IAAI,OAAO;AAAA,IACjB,SAAS;AAAA,IACT,KAAK;AAAA,IAEL,YAAY;AAAA,MACV,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,MAEP,WAAW;AAAA,QACT,YAAY;AAAA,MACd;AAAA,IACF;AAAA,EACF;AAAA,EACA,aAAa;AAAA,IACX,OAAO,CAAC,IAAI,OAAO,EAAE,QAAQ,SAAS,GAAG,GAAG,MAAM,EAAE,OAAO;AAAA,EAC7D;AACF;;;ACpBO,IAAM,SAAS;AAAA,EACpB,QAAQ;AAAA,EACR,KAAK;AAAA,EAEL,OAAO;AAAA,IACL,UAAU;AAAA,IACV,OAAO;AAAA,MACL,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,aAAa;AAAA,IACX,KAAK;AAAA,IACL,OAAO;AAAA,MACL,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,OAAO,CAAC,EAAE,OAAAC,OAAM,MAAMA,OAAM;AAAA,MAC5B,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,MAC/B,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IACjC;AAAA,EACF;AAAA,EAEA,MAAM;AAAA,IACJ,MAAM,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,IAC3B,UAAU,CAAC,EAAE,OAAAA,OAAM,MAAMA,OAAM;AAAA,EACjC;AACF;",
4
+ "sourcesContent": ["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../../refactor/domql/packages/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../../refactor/domql/packages/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../../refactor/domql/packages/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../../refactor/domql/packages/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../../refactor/domql/packages/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../../refactor/domql/packages/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../../refactor/domql/packages/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../../refactor/domql/packages/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray6,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray6 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray6(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray6,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_object = require_object();\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n var mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var import_array = require_array();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone2(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n };\n var overwriteDeep = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../../refactor/domql/packages/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../../refactor/domql/packages/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar replaceIdsAndUrls = (code, key) => {\n const idRegex = /id=\"([^\"]*)\"/;\n const urlRegex = /url\\(#([^)]*)\\)/g;\n const matches = code.match(/id=\"([^\"]*)\"/g);\n let replacedCode = code;\n if ((0, import_utils7.isArray)(matches)) {\n matches.forEach(() => {\n const randomKey = Math.floor(Math.random() * 1e5);\n replacedCode = code.replace(idRegex, `id=\"${key}-${randomKey}\"`).replace(urlRegex, `url(#${key}-${randomKey})`);\n });\n }\n return replacedCode;\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n const replacedCode = replaceIdsAndUrls(code, key);\n let symbol = replacedCode.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (!rgb)\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n if (tone && !val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n }\n if (val[tone])\n rgb = val[tone].rgb;\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n};\nvar getMediaColor = (value, globalTheme, config) => {\n const CONFIG2 = config || getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`, config);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`, config);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName, config);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n if (!import_globals2.document || !import_globals2.document.createElementNS)\n return;\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc || !doc.documentElement) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n if (svgSpriteDOM && svgSpriteDOM.innerHTML) {\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"subpixel-antialiased\",\n scrollBehavior: \"smooth\",\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar key_exports = {};\n__export(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n});\nmodule.exports = __toCommonJS(key_exports);\nconst createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n}();\nconst createSnapshotId = createKey;\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar htmlTags_exports = {};\n__export(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n});\nmodule.exports = __toCommonJS(htmlTags_exports);\nconst HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar tags_exports = {};\nmodule.exports = __toCommonJS(tags_exports);\n__reExport(tags_exports, require(\"./htmlTags.js\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar globals_exports = {};\n__export(globals_exports, {\n document: () => document,\n global: () => global,\n self: () => self,\n window: () => window\n});\nmodule.exports = __toCommonJS(globals_exports);\nconst global = globalThis;\nconst self = globalThis;\nconst window = globalThis;\nconst document = window.document;\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar node_exports = {};\n__export(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n});\nmodule.exports = __toCommonJS(node_exports);\nvar import_globals = require(\"@domql/globals\");\nconst isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n};\nconst isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar types_exports = {};\n__export(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined,\n isFunction: () => isFunction,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject,\n isObjectLike: () => isObjectLike,\n isString: () => isString,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n});\nmodule.exports = __toCommonJS(types_exports);\nvar import_tags = require(\"@domql/tags\");\nvar import_node = require(\"./node\");\nconst isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\nconst isObject = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n};\nconst isString = (arg) => typeof arg === \"string\";\nconst isNumber = (arg) => typeof arg === \"number\";\nconst isFunction = (arg) => typeof arg === \"function\";\nconst isBoolean = (arg) => arg === true || arg === false;\nconst isNull = (arg) => arg === null;\nconst isArray = (arg) => Array.isArray(arg);\nconst isObjectLike = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n};\nconst isDefined = (arg) => {\n return isObject(arg) || isObjectLike(arg) || isString(arg) || isNumber(arg) || isFunction(arg) || isArray(arg) || isObjectLike(arg) || isBoolean(arg) || isNull(arg);\n};\nconst isUndefined = (arg) => {\n return arg === void 0;\n};\nconst TYPES = {\n boolean: isBoolean,\n array: isArray,\n object: isObject,\n string: isString,\n number: isNumber,\n null: isNull,\n function: isFunction,\n objectLike: isObjectLike,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined\n};\nconst is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n};\nconst isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar array_exports = {};\n__export(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n});\nmodule.exports = __toCommonJS(array_exports);\nvar import_object = require(\"./object\");\nvar import_types = require(\"./types\");\nconst arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n};\nconst removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n};\nconst swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n};\nconst joinArrays = (...arrays) => {\n return [].concat(...arrays);\n};\nconst mergeArray = (arr, excludeFrom = []) => {\n return arr.reduce((a, c) => (0, import_object.deepMerge)(a, (0, import_object.deepClone)(c, excludeFrom), excludeFrom), {});\n};\nconst mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : (0, import_object.deepClone)(obj);\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar object_exports = {};\n__export(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteShallow: () => overwriteShallow,\n removeFromObject: () => removeFromObject\n});\nmodule.exports = __toCommonJS(object_exports);\nvar import_globals = require(\"@domql/globals\");\nvar import_types = require(\"./types.js\");\nvar import_array = require(\"./array.js\");\nconst exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n};\nconst map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n};\nconst merge = (element, obj, excludeFrom = []) => {\n for (const e in obj) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n};\nconst deepMerge = (element, extend, excludeFrom = []) => {\n for (const e in extend) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const extendProp = extend[e];\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n};\nconst clone = (obj, excludeFrom = []) => {\n const o = {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n o[prop] = obj[prop];\n }\n return o;\n};\nconst deepCloneExclude = (obj, excludeFrom = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, excludeFrom));\n }\n const o = {};\n for (const k in obj) {\n if (excludeFrom.includes(k) || k.includes(\"__\"))\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, excludeFrom);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, excludeFrom));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, excludeFrom);\n } else\n o[k] = v;\n }\n return o;\n};\nconst mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge(acc, deepCloneExclude(curr, excl)), {});\n};\nconst deepClone = (obj, excludeFrom = []) => {\n const o = (0, import_types.isArray)(obj) ? [] : {};\n for (const prop in obj) {\n if (excludeFrom.includes(prop) || prop.includes(\"__\"))\n continue;\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = (0, import_array.mergeArray)(objProp);\n }\n if ((0, import_types.isObjectLike)(objProp)) {\n o[prop] = deepClone(objProp, excludeFrom);\n } else\n o[prop] = objProp;\n }\n return o;\n};\nconst deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n};\nconst detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n};\nconst deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n};\nconst diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n};\nconst diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n};\nconst diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n};\nconst overwrite = (element, params, excludeFrom = []) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n};\nconst overwriteShallow = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n obj[e] = params[e];\n }\n return obj;\n};\nconst overwriteDeep = (obj, params, excludeFrom = []) => {\n for (const e in params) {\n if (excludeFrom.includes(e) || e.includes(\"__\"))\n continue;\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(objProp, paramsProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n};\nconst mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge(a, b);\n return a || b;\n};\nconst flattenRecursive = (param, prop, stack = []) => {\n const objectized = (0, import_array.mergeAndCloneIfArray)(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n};\nconst isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n};\nconst removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar function_exports = {};\n__export(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n});\nmodule.exports = __toCommonJS(function_exports);\nconst debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n};\nconst memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar log_exports = {};\n__export(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n});\nmodule.exports = __toCommonJS(log_exports);\nconst logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n};\nconst logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar utils_exports = {};\nmodule.exports = __toCommonJS(utils_exports);\n__reExport(utils_exports, require(\"@domql/key\"), module.exports);\n__reExport(utils_exports, require(\"./types.js\"), module.exports);\n__reExport(utils_exports, require(\"./object.js\"), module.exports);\n__reExport(utils_exports, require(\"./function.js\"), module.exports);\n__reExport(utils_exports, require(\"./array.js\"), module.exports);\n__reExport(utils_exports, require(\"./node.js\"), module.exports);\n__reExport(utils_exports, require(\"./log.js\"), module.exports);\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar on_exports = {};\n__export(on_exports, {\n applyEvent: () => applyEvent,\n applyEventsOnNode: () => applyEventsOnNode,\n triggerEventOn: () => triggerEventOn\n});\nmodule.exports = __toCommonJS(on_exports);\nvar import_utils = require(\"@domql/utils\");\nconst applyEvent = (param, element, state, context, updatedObj) => {\n if (updatedObj)\n return param(updatedObj, element, state || element.state, context || element.context);\n return param(element, state || element.state, context || element.context);\n};\nconst triggerEventOn = (param, element, updatedObj) => {\n if (element.on && (0, import_utils.isFunction)(element.on[param])) {\n if (updatedObj) {\n const { state, context } = element;\n return applyEvent(element.on[param], element, state, context, updatedObj);\n }\n return applyEvent(element.on[param], element);\n }\n};\nconst applyEventsOnNode = (element) => {\n const { node, on } = element;\n for (const param in on) {\n if (param === \"init\" || param === \"beforeClassAssign\" || param === \"render\" || param === \"renderRouter\" || param === \"attachNode\" || param === \"stateInit\" || param === \"stateCreated\" || param === \"initStateUpdated\" || param === \"stateUpdated\" || param === \"initUpdate\" || param === \"update\")\n continue;\n const appliedFunction = element.on[param];\n if ((0, import_utils.isFunction)(appliedFunction)) {\n const { state, context } = element;\n node.addEventListener(param, (event) => appliedFunction(event, element, state, context));\n }\n }\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar report_exports = {};\n__export(report_exports, {\n ERRORS_REGISTRY: () => ERRORS_REGISTRY,\n report: () => report\n});\nmodule.exports = __toCommonJS(report_exports);\nconst ERRORS_REGISTRY = {\n en: {\n DocumentNotDefined: {\n title: \"Document is undefined\",\n description: \"To tweak with DOM, you should use browser.\"\n },\n OverwriteToBuiltin: {\n title: \"Overwriting to builtin method\",\n description: \"Overwriting a builtin method in the window define is not possible, please choose different name\"\n },\n BrowserNotDefined: {\n title: \"Can't recognize environment\",\n description: \"Environment should be browser application, that can run Javascript\"\n },\n SetQuickPreferancesIsNotObject: {\n title: \"Quick preferances object is required\",\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n InvalidParams: {\n title: \"Params are invalid\",\n description: 'Please pass a plain object with \"lang\", \"culture\" and \"area\" properties'\n },\n CantCreateWithoutNode: {\n title: \"You must provide node\",\n description: \"Can't create DOM element without setting node or text\"\n },\n HTMLInvalidTag: {\n title: \"Element tag name (or DOM nodeName) is invalid\",\n description: \"To create element, you must provide valid DOM node. See full list of them at here: http://www.w3schools.com/tags/\"\n },\n HTMLInvalidAttr: {\n title: \"Attibutes object is invalid\",\n description: \"Please pass a valid plain object to apply as an attributes for a DOM node\"\n },\n HTMLInvalidData: {\n title: \"Data object is invalid\",\n description: \"Please pass a valid plain object to apply as an dataset for a DOM node\"\n },\n HTMLInvalidStyles: {\n title: \"Styles object is invalid\",\n description: \"Please pass a valid plain object to apply as an style for a DOM node\"\n },\n HTMLInvalidText: {\n title: \"Text string is invalid\",\n description: \"Please pass a valid string to apply text to DOM node\"\n },\n ElementOnStateIsNotDefined: {\n title: \"Element on state is not defined\",\n description: \"Please check the element object\"\n }\n }\n};\nconst report = (err, arg, element) => {\n const currentLang = \"en\";\n let errObj;\n if (err && typeof err === \"string\")\n errObj = ERRORS_REGISTRY[currentLang][err];\n return new Error(\n `\"${err}\", \"${arg}\"\n\n`,\n `${errObj.description}`,\n element ? `\n\n${element}` : \"\"\n );\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar can_exports = {};\n__export(can_exports, {\n canRender: () => canRender\n});\nmodule.exports = __toCommonJS(can_exports);\nvar import_report = require(\"@domql/report\");\nvar import_utils = require(\"@domql/utils\");\nconst canRender = (element) => {\n const tag = element.tag || \"div\";\n return (0, import_utils.isValidHtmlTag)(tag) || (0, import_report.report)(\"HTMLInvalidTag\");\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar event_exports = {};\nmodule.exports = __toCommonJS(event_exports);\n__reExport(event_exports, require(\"./on\"), module.exports);\n__reExport(event_exports, require(\"./can\"), module.exports);\n", "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../node_modules/@domql/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../node_modules/@domql/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../node_modules/@domql/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../node_modules/@domql/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray5,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray5 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray5(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray5,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteObj: () => overwriteObj,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj) => {\n for (const e in obj) {\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend) => {\n for (const e in extend) {\n const elementProp = element[e];\n const extendProp = extend[e];\n if (e === \"parent\" || e === \"props\")\n continue;\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj) => {\n const o = {};\n for (const prop in obj) {\n if (prop === \"node\")\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, exclude = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, exclude));\n }\n const o = {};\n for (const k in obj) {\n if (exclude.indexOf(k) > -1)\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, exclude);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, exclude));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, exclude);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map(deepClone2);\n }\n const o = {};\n for (const prop in obj) {\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = mergeArray(objProp);\n }\n if ((0, import_types.isArray)(objProp)) {\n o[prop] = objProp.map((v) => (0, import_types.isObject)(v) ? deepClone2(v) : v);\n } else if ((0, import_types.isObject)(objProp)) {\n o[prop] = deepClone2(objProp);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var overwrite = (element, params, options) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (e === \"props\")\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwriteObj = (params, obj) => {\n const changes = {};\n for (const e in params) {\n const objProp = obj[e];\n const paramsProp = params[e];\n if (paramsProp) {\n obj[e] = changes[e] = objProp;\n }\n }\n return changes;\n };\n var overwriteDeep = (params, obj) => {\n for (const e in params) {\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(paramsProp, objProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var mergeArray = (arr) => {\n return arr.reduce((a, c) => deepMerge3(a, deepClone2(c)), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : deepClone2(obj);\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = mergeAndCloneIfArray(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n let symbol = code.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key) => {\n const CONFIG2 = getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (rgb) {\n if (tone) {\n if (!val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n } else\n rgb = val[tone].rgb;\n }\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n } else\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n};\nvar getMediaColor = (value, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"antialiased\",\n scrollBehavior: \"smooth\",\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar router_exports = {};\n__export(router_exports, {\n default: () => router_default,\n getActiveRoute: () => getActiveRoute,\n lastLevel: () => lastLevel,\n router: () => router\n});\nmodule.exports = __toCommonJS(router_exports);\nvar import_globals = require(\"@domql/globals\");\nvar import_utils = require(\"@domql/utils\");\nvar _a;\nconst getActiveRoute = (route = import_globals.window.location.pathname, level) => `/${route.split(\"/\")[level + 1]}`;\nlet lastLevel = 0;\nconst defaultOptions = {\n level: lastLevel,\n pushState: true,\n scrollToTop: true,\n scrollToNode: false,\n scrollNode: (_a = import_globals.document) == null ? void 0 : _a.documentElement,\n scrollBody: false,\n scrollDocument: true,\n useFragment: false,\n updateState: true,\n scrollToOffset: 0,\n scrollToOptions: { behavior: \"smooth\" }\n};\nconst router = (path, element, state = {}, options = defaultOptions) => {\n (0, import_utils.merge)(options, defaultOptions);\n lastLevel = options.lastLevel;\n const [pathname, hash] = path.split(\"#\");\n const route = getActiveRoute(pathname, options.level);\n const content = element.routes[route] || element.routes[\"/*\"];\n if (!content)\n return;\n if (options.pushState)\n import_globals.window.history.pushState(state, null, pathname + (hash ? `#${hash}` : \"\"));\n element.set({ tag: options.useFragment && \"fragment\", extend: content });\n if (options.updateState) {\n element.state.update({ route, hash }, {\n preventContentUpdate: !options.stateContentUpdate\n });\n }\n const rootNode = element.node;\n const scrollNode = options.scrollNode;\n if (options.scrollToTop) {\n scrollNode.scrollTo({\n ...options.scrollToOptions || {},\n top: 0,\n left: 0\n });\n }\n if (options.scrollToNode) {\n content.content.node.scrollIntoView(\n options.scrollToOptions\n );\n }\n if (hash) {\n const activeNode = import_globals.document.getElementById(hash);\n if (activeNode) {\n const top = activeNode.getBoundingClientRect().top + rootNode.scrollTop - options.scrollToOffset || 0;\n scrollNode.scrollTo({\n ...options.scrollToOptions || {},\n top,\n left: 0\n });\n }\n }\n};\nvar router_default = router;\n", "\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// ../../node_modules/@domql/globals/dist/cjs/index.js\nvar require_cjs = __commonJS({\n \"../../node_modules/@domql/globals/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var globals_exports = {};\n __export2(globals_exports, {\n document: () => document4,\n global: () => global,\n self: () => self,\n window: () => window3\n });\n module2.exports = __toCommonJS2(globals_exports);\n var global = globalThis;\n var self = globalThis;\n var window3 = globalThis;\n var document4 = window3.document;\n }\n});\n\n// ../../node_modules/@domql/key/dist/cjs/index.js\nvar require_cjs2 = __commonJS({\n \"../../node_modules/@domql/key/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var key_exports = {};\n __export2(key_exports, {\n createKey: () => createKey,\n createSnapshotId: () => createSnapshotId\n });\n module2.exports = __toCommonJS2(key_exports);\n var createKey = function() {\n let index = 0;\n function newId() {\n index++;\n return index;\n }\n return newId;\n }();\n var createSnapshotId = createKey;\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/htmlTags.js\nvar require_htmlTags = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/htmlTags.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var htmlTags_exports = {};\n __export2(htmlTags_exports, {\n HTML_TAGS: () => HTML_TAGS\n });\n module2.exports = __toCommonJS2(htmlTags_exports);\n var HTML_TAGS = {\n root: [\n \"body\",\n \"html\"\n ],\n head: [\n \"title\",\n \"base\",\n \"meta\",\n \"style\"\n ],\n body: [\n \"string\",\n \"fragment\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"big\",\n \"blockquote\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"head\",\n \"header\",\n \"hr\",\n \"i\",\n \"iframe\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"meter\",\n \"nav\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"small\",\n \"source\",\n \"span\",\n \"strike\",\n \"strong\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n // SVG\n \"svg\",\n \"path\"\n ]\n };\n }\n});\n\n// ../../node_modules/@domql/tags/dist/cjs/index.js\nvar require_cjs3 = __commonJS({\n \"../../node_modules/@domql/tags/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var tags_exports = {};\n module2.exports = __toCommonJS2(tags_exports);\n __reExport(tags_exports, require_htmlTags(), module2.exports);\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/node.js\nvar require_node = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/node.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var node_exports = {};\n __export2(node_exports, {\n isHtmlElement: () => isHtmlElement,\n isNode: () => isNode\n });\n module2.exports = __toCommonJS2(node_exports);\n var import_globals3 = require_cjs();\n var isNode = (obj) => {\n return (typeof Node === \"object\" ? obj instanceof import_globals3.window.Node : obj && typeof obj === \"object\" && typeof obj.nodeType === \"number\" && typeof obj.nodeName === \"string\") || false;\n };\n var isHtmlElement = (obj) => {\n return (typeof HTMLElement === \"object\" ? obj instanceof import_globals3.window.HTMLElement : obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\") || false;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/types.js\nvar require_types = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/types.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var types_exports = {};\n __export2(types_exports, {\n TYPES: () => TYPES,\n is: () => is,\n isArray: () => isArray5,\n isBoolean: () => isBoolean,\n isDefined: () => isDefined2,\n isFunction: () => isFunction2,\n isNot: () => isNot,\n isNull: () => isNull,\n isNumber: () => isNumber,\n isObject: () => isObject7,\n isObjectLike: () => isObjectLike3,\n isString: () => isString8,\n isUndefined: () => isUndefined,\n isValidHtmlTag: () => isValidHtmlTag\n });\n module2.exports = __toCommonJS2(types_exports);\n var import_tags = require_cjs3();\n var import_node = require_node();\n var isValidHtmlTag = (arg) => import_tags.HTML_TAGS.body.includes(arg);\n var isObject7 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\" && arg.constructor === Object;\n };\n var isString8 = (arg) => typeof arg === \"string\";\n var isNumber = (arg) => typeof arg === \"number\";\n var isFunction2 = (arg) => typeof arg === \"function\";\n var isBoolean = (arg) => arg === true || arg === false;\n var isNull = (arg) => arg === null;\n var isArray5 = (arg) => Array.isArray(arg);\n var isObjectLike3 = (arg) => {\n if (arg === null)\n return false;\n return typeof arg === \"object\";\n };\n var isDefined2 = (arg) => {\n return isObject7(arg) || isObjectLike3(arg) || isString8(arg) || isNumber(arg) || isFunction2(arg) || isArray5(arg) || isObjectLike3(arg) || isBoolean(arg) || isNull(arg);\n };\n var isUndefined = (arg) => {\n return arg === void 0;\n };\n var TYPES = {\n boolean: isBoolean,\n array: isArray5,\n object: isObject7,\n string: isString8,\n number: isNumber,\n null: isNull,\n function: isFunction2,\n objectLike: isObjectLike3,\n node: import_node.isNode,\n htmlElement: import_node.isHtmlElement,\n defined: isDefined2\n };\n var is = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length > 0;\n };\n };\n var isNot = (arg) => {\n return (...args) => {\n return args.map((val) => TYPES[val](arg)).filter((v) => v).length === 0;\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/object.js\nvar require_object = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/object.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var object_exports = {};\n __export2(object_exports, {\n clone: () => clone,\n deepClone: () => deepClone2,\n deepCloneExclude: () => deepCloneExclude,\n deepDestringify: () => deepDestringify,\n deepMerge: () => deepMerge3,\n deepStringify: () => deepStringify,\n detachFunctionsFromObject: () => detachFunctionsFromObject,\n diff: () => diff,\n diffArrays: () => diffArrays,\n diffObjects: () => diffObjects,\n exec: () => exec,\n flattenRecursive: () => flattenRecursive,\n isEqualDeep: () => isEqualDeep,\n map: () => map,\n merge: () => merge5,\n mergeAndCloneIfArray: () => mergeAndCloneIfArray,\n mergeArray: () => mergeArray,\n mergeArrayExclude: () => mergeArrayExclude,\n mergeIfExisted: () => mergeIfExisted,\n overwrite: () => overwrite,\n overwriteDeep: () => overwriteDeep,\n overwriteObj: () => overwriteObj,\n removeFromObject: () => removeFromObject\n });\n module2.exports = __toCommonJS2(object_exports);\n var import_globals3 = require_cjs();\n var import_types = require_types();\n var exec = (param, element, state, context) => {\n if ((0, import_types.isFunction)(param)) {\n return param(\n element,\n state || element.state,\n context || element.context\n );\n }\n return param;\n };\n var map = (obj, extention, element) => {\n for (const e in extention) {\n obj[e] = exec(extention[e], element);\n }\n };\n var merge5 = (element, obj) => {\n for (const e in obj) {\n const elementProp = element[e];\n const objProp = obj[e];\n if (elementProp === void 0) {\n element[e] = objProp;\n }\n }\n return element;\n };\n var deepMerge3 = (element, extend) => {\n for (const e in extend) {\n const elementProp = element[e];\n const extendProp = extend[e];\n if (e === \"parent\" || e === \"props\")\n continue;\n if ((0, import_types.isObjectLike)(elementProp) && (0, import_types.isObjectLike)(extendProp)) {\n deepMerge3(elementProp, extendProp);\n } else if (elementProp === void 0) {\n element[e] = extendProp;\n }\n }\n return element;\n };\n var clone = (obj) => {\n const o = {};\n for (const prop in obj) {\n if (prop === \"node\")\n continue;\n o[prop] = obj[prop];\n }\n return o;\n };\n var deepCloneExclude = (obj, exclude = []) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map((x) => deepCloneExclude(x, exclude));\n }\n const o = {};\n for (const k in obj) {\n if (exclude.indexOf(k) > -1)\n continue;\n let v = obj[k];\n if (k === \"extend\" && (0, import_types.isArray)(v)) {\n v = mergeArrayExclude(v, exclude);\n }\n if ((0, import_types.isArray)(v)) {\n o[k] = v.map((x) => deepCloneExclude(x, exclude));\n } else if ((0, import_types.isObject)(v)) {\n o[k] = deepCloneExclude(v, exclude);\n } else\n o[k] = v;\n }\n return o;\n };\n var mergeArrayExclude = (arr, excl = []) => {\n return arr.reduce((acc, curr) => deepMerge3(acc, deepCloneExclude(curr, excl)), {});\n };\n var deepClone2 = (obj) => {\n if ((0, import_types.isArray)(obj)) {\n return obj.map(deepClone2);\n }\n const o = {};\n for (const prop in obj) {\n let objProp = obj[prop];\n if (prop === \"extend\" && (0, import_types.isArray)(objProp)) {\n objProp = mergeArray(objProp);\n }\n if ((0, import_types.isArray)(objProp)) {\n o[prop] = objProp.map((v) => (0, import_types.isObject)(v) ? deepClone2(v) : v);\n } else if ((0, import_types.isObject)(objProp)) {\n o[prop] = deepClone2(objProp);\n } else\n o[prop] = objProp;\n }\n return o;\n };\n var deepStringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp)) {\n stringified[prop] = objProp.toString();\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = {};\n deepStringify(objProp, stringified[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isObject)(v)) {\n stringified[prop][i] = {};\n deepStringify(v, stringified[prop][i]);\n } else if ((0, import_types.isFunction)(v)) {\n stringified[prop][i] = v.toString();\n } else {\n stringified[prop][i] = v;\n }\n });\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var detachFunctionsFromObject = (obj, detached = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isFunction)(objProp))\n continue;\n else if ((0, import_types.isObject)(objProp)) {\n detached[prop] = {};\n deepStringify(objProp, detached[prop]);\n } else if ((0, import_types.isArray)(objProp)) {\n detached[prop] = [];\n objProp.forEach((v, i) => {\n if ((0, import_types.isFunction)(v))\n return;\n if ((0, import_types.isObject)(v)) {\n detached[prop][i] = {};\n detachFunctionsFromObject(v, detached[prop][i]);\n } else {\n detached[prop][i] = v;\n }\n });\n } else {\n detached[prop] = objProp;\n }\n }\n return detached;\n };\n var deepDestringify = (obj, stringified = {}) => {\n for (const prop in obj) {\n const objProp = obj[prop];\n if ((0, import_types.isString)(objProp)) {\n if (objProp.includes(\"=>\") || objProp.includes(\"function\") || objProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${objProp})`);\n stringified[prop] = evalProp;\n } catch (e) {\n if (e)\n stringified[prop] = objProp;\n }\n } else {\n stringified[prop] = objProp;\n }\n } else if ((0, import_types.isArray)(objProp)) {\n stringified[prop] = [];\n objProp.forEach((arrProp) => {\n if ((0, import_types.isString)(arrProp)) {\n if (arrProp.includes(\"=>\") || arrProp.includes(\"function\") || arrProp.startsWith(\"(\")) {\n try {\n const evalProp = import_globals3.window.eval(`(${arrProp})`);\n stringified[prop].push(evalProp);\n } catch (e) {\n if (e)\n stringified[prop].push(arrProp);\n }\n } else {\n stringified[prop].push(arrProp);\n }\n } else if ((0, import_types.isObject)(arrProp)) {\n stringified[prop].push(deepDestringify(arrProp));\n } else {\n stringified[prop].push(arrProp);\n }\n });\n } else if ((0, import_types.isObject)(objProp)) {\n stringified[prop] = deepDestringify(objProp, stringified[prop]);\n } else {\n stringified[prop] = objProp;\n }\n }\n return stringified;\n };\n var overwrite = (element, params, options) => {\n const { ref } = element;\n const changes = {};\n for (const e in params) {\n if (e === \"props\")\n continue;\n const elementProp = element[e];\n const paramsProp = params[e];\n if (paramsProp) {\n ref.__cache[e] = changes[e] = elementProp;\n ref[e] = paramsProp;\n }\n }\n return changes;\n };\n var diffObjects = (original, objToDiff, cache) => {\n for (const e in objToDiff) {\n if (e === \"ref\")\n continue;\n const originalProp = original[e];\n const objToDiffProp = objToDiff[e];\n if ((0, import_types.isObject)(originalProp) && (0, import_types.isObject)(objToDiffProp)) {\n cache[e] = {};\n diff(originalProp, objToDiffProp, cache[e]);\n } else if (objToDiffProp !== void 0) {\n cache[e] = objToDiffProp;\n }\n }\n return cache;\n };\n var diffArrays = (original, objToDiff, cache) => {\n if (original.length !== objToDiff.length) {\n cache = objToDiff;\n } else {\n const diffArr = [];\n for (let i = 0; i < original.length; i++) {\n const diffObj = diff(original[i], objToDiff[i]);\n if (Object.keys(diffObj).length > 0) {\n diffArr.push(diffObj);\n }\n }\n if (diffArr.length > 0) {\n cache = diffArr;\n }\n }\n return cache;\n };\n var diff = (original, objToDiff, cache = {}) => {\n if ((0, import_types.isArray)(original) && (0, import_types.isArray)(objToDiff)) {\n cache = [];\n diffArrays(original, objToDiff, cache);\n } else {\n diffObjects(original, objToDiff, cache);\n }\n return cache;\n };\n var overwriteObj = (params, obj) => {\n const changes = {};\n for (const e in params) {\n const objProp = obj[e];\n const paramsProp = params[e];\n if (paramsProp) {\n obj[e] = changes[e] = objProp;\n }\n }\n return changes;\n };\n var overwriteDeep = (params, obj) => {\n for (const e in params) {\n const objProp = obj[e];\n const paramsProp = params[e];\n if ((0, import_types.isObjectLike)(objProp) && (0, import_types.isObjectLike)(paramsProp)) {\n overwriteDeep(paramsProp, objProp);\n } else if (paramsProp !== void 0) {\n obj[e] = paramsProp;\n }\n }\n return obj;\n };\n var mergeIfExisted = (a, b) => {\n if ((0, import_types.isObjectLike)(a) && (0, import_types.isObjectLike)(b))\n return deepMerge3(a, b);\n return a || b;\n };\n var mergeArray = (arr) => {\n return arr.reduce((a, c) => deepMerge3(a, deepClone2(c)), {});\n };\n var mergeAndCloneIfArray = (obj) => {\n return (0, import_types.isArray)(obj) ? mergeArray(obj) : deepClone2(obj);\n };\n var flattenRecursive = (param, prop, stack = []) => {\n const objectized = mergeAndCloneIfArray(param);\n stack.push(objectized);\n const extendOfExtend = objectized[prop];\n if (extendOfExtend)\n flattenRecursive(extendOfExtend, prop, stack);\n delete objectized[prop];\n return stack;\n };\n var isEqualDeep = (param, element) => {\n if (param === element)\n return true;\n if (!param || !element)\n return false;\n for (const prop in param) {\n const paramProp = param[prop];\n const elementProp = element[prop];\n if ((0, import_types.isObjectLike)(paramProp)) {\n const isEqual = isEqualDeep(paramProp, elementProp);\n if (!isEqual)\n return false;\n } else {\n const isEqual = paramProp === elementProp;\n if (!isEqual)\n return false;\n }\n }\n return true;\n };\n var removeFromObject = (obj, props) => {\n if (props === void 0 || props === null)\n return obj;\n if ((0, import_types.is)(props)(\"string\", \"number\")) {\n delete obj[props];\n } else if ((0, import_types.isArray)(props)) {\n props.forEach((prop) => delete obj[prop]);\n } else {\n throw new Error(\"Invalid input: props must be a string or an array of strings\");\n }\n return obj;\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/function.js\nvar require_function = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/function.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var function_exports = {};\n __export2(function_exports, {\n debounce: () => debounce,\n memoize: () => memoize\n });\n module2.exports = __toCommonJS2(function_exports);\n var debounce = (element, func, timeout = 300) => {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(element, args);\n }, timeout);\n };\n };\n var memoize = (fn) => {\n const cache = {};\n return (...args) => {\n const n = args[0];\n if (n in cache) {\n return cache[n];\n } else {\n const result = fn(n);\n cache[n] = result;\n return result;\n }\n };\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/array.js\nvar require_array = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/array.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var array_exports = {};\n __export2(array_exports, {\n arrayContainsOtherArray: () => arrayContainsOtherArray,\n joinArrays: () => joinArrays,\n removeFromArray: () => removeFromArray,\n swapItemsInArray: () => swapItemsInArray\n });\n module2.exports = __toCommonJS2(array_exports);\n var import_types = require_types();\n var arrayContainsOtherArray = (arr1, arr2) => {\n return arr2.every((val) => arr1.includes(val));\n };\n var removeFromArray = (arr, index) => {\n if ((0, import_types.isString)(index))\n index = parseInt(index);\n if ((0, import_types.isNumber)(index)) {\n if (index < 0 || index >= arr.length || isNaN(index)) {\n throw new Error(\"Invalid index\");\n }\n arr.splice(index, 1);\n } else if ((0, import_types.isArray)(index)) {\n index.forEach((idx) => removeFromArray(arr, idx));\n } else {\n throw new Error(\"Invalid index\");\n }\n return arr;\n };\n var swapItemsInArray = (arr, i, j) => {\n [arr[i], arr[j]] = [arr[j], arr[i]];\n };\n var joinArrays = (...arrays) => {\n return [].concat(...arrays);\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/log.js\nvar require_log = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/log.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __export2 = (target, all) => {\n for (var name in all)\n __defProp2(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var log_exports = {};\n __export2(log_exports, {\n logGroupIf: () => logGroupIf,\n logIf: () => logIf\n });\n module2.exports = __toCommonJS2(log_exports);\n var logIf = (bool, ...arg) => {\n if (bool)\n arg.map((v) => console.log(v));\n };\n var logGroupIf = (bool, key, ...arg) => {\n if (bool) {\n console.group(key);\n arg.map((v) => console.log(v));\n console.groupEnd(key);\n }\n };\n }\n});\n\n// ../../node_modules/@domql/utils/dist/cjs/index.js\nvar require_cjs4 = __commonJS({\n \"../../node_modules/@domql/utils/dist/cjs/index.js\"(exports, module2) {\n \"use strict\";\n var __defProp2 = Object.defineProperty;\n var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames2 = Object.getOwnPropertyNames;\n var __hasOwnProp2 = Object.prototype.hasOwnProperty;\n var __copyProps2 = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames2(from))\n if (!__hasOwnProp2.call(to, key) && key !== except)\n __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __reExport = (target, mod, secondTarget) => (__copyProps2(target, mod, \"default\"), secondTarget && __copyProps2(secondTarget, mod, \"default\"));\n var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, \"__esModule\", { value: true }), mod);\n var utils_exports2 = {};\n module2.exports = __toCommonJS2(utils_exports2);\n __reExport(utils_exports2, require_cjs2(), module2.exports);\n __reExport(utils_exports2, require_types(), module2.exports);\n __reExport(utils_exports2, require_object(), module2.exports);\n __reExport(utils_exports2, require_function(), module2.exports);\n __reExport(utils_exports2, require_array(), module2.exports);\n __reExport(utils_exports2, require_node(), module2.exports);\n __reExport(utils_exports2, require_log(), module2.exports);\n }\n});\n\n// src/index.js\nvar src_exports = {};\n__export(src_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n CONFIG: () => CONFIG,\n CSS_VARS: () => CSS_VARS,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FACTORY: () => FACTORY,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT,\n VALUE_TRANSFORMERS: () => VALUE_TRANSFORMERS,\n activateConfig: () => activateConfig,\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySequenceVars: () => applySequenceVars,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getActiveConfig: () => getActiveConfig,\n getColor: () => getColor,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFamily: () => getFontFamily,\n getFontFormat: () => getFontFormat,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n runThroughMedia: () => runThroughMedia,\n scratchSystem: () => system_exports,\n scratchUtils: () => utils_exports,\n set: () => set,\n setActiveConfig: () => setActiveConfig,\n setColor: () => setColor,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setEach: () => setEach,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme,\n setValue: () => setValue,\n setVariables: () => setVariables,\n splitTransition: () => splitTransition,\n transformBackgroundImage: () => transformBackgroundImage,\n transformBorder: () => transformBorder,\n transformDuration: () => transformDuration,\n transformShadow: () => transformShadow,\n transformTextStroke: () => transformTextStroke,\n transformTransition: () => transformTransition,\n transfromGap: () => transfromGap\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/utils/index.js\nvar utils_exports = {};\n__export(utils_exports, {\n applySequenceVars: () => applySequenceVars,\n changeLightness: () => changeLightness,\n colorStringToRgbaArray: () => colorStringToRgbaArray,\n convertSvgToSymbol: () => convertSvgToSymbol,\n findHeadingLetter: () => findHeadingLetter,\n findHeadings: () => findHeadings,\n generateSequence: () => generateSequence,\n generateSprite: () => generateSprite,\n generateSubSequence: () => generateSubSequence,\n getColorShade: () => getColorShade,\n getDefaultOrFirstKey: () => getDefaultOrFirstKey,\n getFontFace: () => getFontFace,\n getFontFaceEach: () => getFontFaceEach,\n getFontFaceEachString: () => getFontFaceEachString,\n getFontFaceString: () => getFontFaceString,\n getFontFormat: () => getFontFormat,\n getSequenceValue: () => getSequenceValue,\n getSequenceValuePropertyPair: () => getSequenceValuePropertyPair,\n hexToRgb: () => hexToRgb,\n hexToRgbArray: () => hexToRgbArray,\n hexToRgba: () => hexToRgba,\n hslToRgb: () => hslToRgb,\n mixTwoColors: () => mixTwoColors,\n mixTwoRgb: () => mixTwoRgb,\n mixTwoRgba: () => mixTwoRgba,\n numToLetterMap: () => numToLetterMap,\n opacify: () => opacify,\n returnSubThemeOrDefault: () => returnSubThemeOrDefault,\n rgbArrayToHex: () => rgbArrayToHex,\n rgbToHSL: () => rgbToHSL,\n rgbToHex: () => rgbToHex,\n setCustomFont: () => setCustomFont,\n setCustomFontMedia: () => setCustomFontMedia,\n setInCustomFontMedia: () => setInCustomFontMedia,\n setVariables: () => setVariables\n});\n\n// src/utils/color.js\nvar import_globals = __toESM(require_cjs(), 1);\nvar ENV = \"development\";\nvar colorStringToRgbaArray = (color) => {\n if (color === \"\")\n return;\n if (color.toLowerCase() === \"transparent\")\n return [0, 0, 0, 0];\n if (color[0] === \"#\") {\n if (color.length < 7) {\n color = \"#\" + color[1] + color[1] + color[2] + color[2] + color[3] + color[3] + (color.length > 4 ? color[4] + color[4] : \"\");\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n color.length > 7 ? parseInt(color.substr(7, 2), 16) / 255 : 1\n ];\n }\n if (color.indexOf(\"rgb\") === -1) {\n if (import_globals.document && import_globals.window) {\n const elem = import_globals.document.body.appendChild(import_globals.document.createElement(\"fictum\"));\n const flag = \"rgb(1, 2, 3)\";\n elem.style.color = flag;\n if (elem.style.color !== flag)\n return;\n elem.style.color = color;\n if (elem.style.color === flag || elem.style.color === \"\")\n return;\n color = import_globals.window.getComputedStyle(elem).color;\n import_globals.document.body.removeChild(elem);\n }\n }\n if (color.indexOf(\"rgb\") === 0) {\n if (color.indexOf(\"rgba\") === -1)\n color = `${color}, 1`;\n return color.match(/[\\.\\d]+/g).map((a) => +a);\n }\n return [];\n};\nvar mixTwoColors = (colorA, colorB, range = 0.5) => {\n colorA = colorStringToRgbaArray(colorA);\n colorB = colorStringToRgbaArray(colorB);\n return mixTwoRgba(colorA, colorB, range);\n};\nvar hexToRgb = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgb(${r},${g},${b})`;\n};\nvar hexToRgbArray = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return [r, g, b];\n};\nvar rgbToHex = (r, g, b) => {\n return \"#\" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar rgbArrayToHex = ([r, g, b]) => {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);\n};\nvar hexToRgba = (hex, alpha = 1) => {\n const [r, g, b] = hex.match(/\\w\\w/g).map((x) => parseInt(x, 16));\n return `rgba(${r},${g},${b},${alpha})`;\n};\nvar mixTwoRgb = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 3; i++) {\n arr[i] = ~~(colorA[i] + (colorB[i] - colorA[i]) * range);\n }\n return `rgb(${arr})`;\n};\nvar changeLightness = (delta, hsl) => {\n const [hue, saturation, lightness] = hsl;\n const newLightness = Math.max(\n 0,\n Math.min(100, lightness + parseFloat(delta))\n );\n return [hue, saturation, newLightness];\n};\nvar rgbToHSL = (r, g, b) => {\n const a = Math.max(r, g, b);\n const n = a - Math.min(r, g, b);\n const f = 1 - Math.abs(a + a - n - 1);\n const h = n && (a == r ? (g - b) / n : a == g ? 2 + (b - r) / n : 4 + (r - g) / n);\n return [60 * (h < 0 ? h + 6 : h), f ? n / f : 0, (a + a - n) / 2];\n};\nvar hslToRgb = (h, s, l, a = s * Math.min(l, 1 - l), f = (n, k = (n + h / 30) % 12) => l - a * Math.max(\n Math.min(k - 3, 9 - k, 1),\n -1\n)) => [f(0), f(8), f(4)];\nvar getColorShade = (col, amt) => {\n const num = parseInt(col, 16);\n let r = (num >> 16) + amt;\n if (r > 255)\n r = 255;\n else if (r < 0)\n r = 0;\n let b = (num >> 8 & 255) + amt;\n if (b > 255)\n b = 255;\n else if (b < 0)\n b = 0;\n let g = (num & 255) + amt;\n if (g > 255)\n g = 255;\n else if (g < 0)\n g = 0;\n return (g | b << 8 | r << 16).toString(16);\n};\nvar mixTwoRgba = (colorA, colorB, range = 0.5) => {\n const arr = [];\n for (let i = 0; i < 4; i++) {\n const round = i === 3 ? (x) => x : Math.round;\n arr[i] = round(\n colorA[i] + (colorB[i] - colorA[i]) * range\n );\n }\n return `rgba(${arr})`;\n};\nvar opacify = (color, opacity) => {\n const arr = colorStringToRgbaArray(color);\n if (!arr) {\n if (ENV === \"test\" || ENV === \"development\")\n console.warn(color + \"color is not rgba\");\n return;\n }\n arr[3] = opacity;\n return `rgba(${arr})`;\n};\n\n// src/utils/theme.js\nvar returnSubThemeOrDefault = (orig, theme) => {\n if (!orig)\n return;\n if (orig.themes && orig.themes[theme])\n return orig.themes[theme];\n if (orig[theme])\n return [orig, orig[theme]];\n return orig;\n};\n\n// src/utils/font.js\nvar getDefaultOrFirstKey = (LIBRARY, key) => {\n if (LIBRARY[key])\n return LIBRARY[key].value;\n if (LIBRARY.default)\n return LIBRARY[LIBRARY.default].value;\n const hasValue = Object.keys(LIBRARY)[0];\n return hasValue && LIBRARY[hasValue] && LIBRARY[hasValue].value;\n};\nvar getFontFormat = (url) => url.split(/[#?]/)[0].split(\".\").pop().trim();\nvar setInCustomFontMedia = (str) => `@font-face { ${str} }`;\nvar setCustomFont = (name, url, weight) => `\n font-family: '${name}';\n font-style: normal;\n ${weight && `font-weight: ${weight};`}\n src: url('${url}') format('${getFontFormat(url)}');`;\nvar setCustomFontMedia = (name, url, weight) => `@font-face {\n ${setCustomFont(name, url, weight)}\n}`;\nvar getFontFaceEach = (name, weights) => {\n const keys = Object.keys(weights);\n return keys.map((key) => {\n const { url, fontWeight } = weights[key];\n return setCustomFont(name, url, fontWeight);\n });\n};\nvar getFontFace = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEach(key, LIBRARY[key].value));\n};\nvar getFontFaceEachString = (name, weights) => {\n const isArr = weights[0];\n if (isArr)\n return getFontFaceEach(name, weights).map(setInCustomFontMedia);\n return setCustomFontMedia(name, weights.url);\n};\nvar getFontFaceString = (LIBRARY) => {\n const keys = Object.keys(LIBRARY);\n return keys.map((key) => getFontFaceEachString(key, LIBRARY[key].value));\n};\n\n// src/utils/sequence.js\nvar import_utils4 = __toESM(require_cjs4(), 1);\n\n// ../utils/src/index.js\nvar import_utils2 = __toESM(require_cjs4());\n\n// ../utils/src/scaling.js\nvar import_utils = __toESM(require_cjs4());\n\n// ../utils/src/index.js\nvar toCamelCase = (str) => {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\n return index === 0 ? word.toLowerCase() : word.toUpperCase();\n }).replaceAll(/\\s+/g, \"\");\n};\nvar toDashCase = (val) => val.replace(/[A-Z]/g, (match, offset) => (offset > 0 ? \"-\" : \"\") + match.toLowerCase()).replace(\".\", \"-\");\nvar arrayzeValue = (val) => {\n if ((0, import_utils2.isString)(val))\n return val.split(\" \");\n if ((0, import_utils2.isObject)(val))\n return Object.keys(val).map((v) => val[v]);\n if ((0, import_utils2.isArray)(val))\n return val;\n};\n\n// src/factory.js\nvar import_utils3 = __toESM(require_cjs4(), 1);\n\n// src/defaultConfig/index.js\nvar defaultConfig_exports = {};\n__export(defaultConfig_exports, {\n ANIMATION: () => ANIMATION,\n BREAKPOINTS: () => BREAKPOINTS,\n CASES: () => CASES,\n COLOR: () => COLOR,\n DEVICES: () => DEVICES,\n DOCUMENT: () => DOCUMENT,\n FONT: () => FONT,\n FONT_FACE: () => FONT_FACE,\n FONT_FAMILY: () => FONT_FAMILY,\n FONT_FAMILY_TYPES: () => FONT_FAMILY_TYPES,\n GRADIENT: () => GRADIENT,\n ICONS: () => ICONS,\n MEDIA: () => MEDIA,\n RESET: () => RESET,\n SEQUENCE: () => SEQUENCE,\n SPACING: () => SPACING,\n SVG: () => SVG,\n SVG_DATA: () => SVG_DATA,\n THEME: () => THEME,\n TIMING: () => TIMING,\n TYPOGRAPHY: () => TYPOGRAPHY,\n UNIT: () => UNIT\n});\n\n// src/defaultConfig/sequence.js\nvar SEQUENCE = {\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"minor-sixth\": 1.6,\n phi: 1.618,\n // golden-ratio\n \"major-sixth\": 1.667,\n \"square-root-3\": 1.732,\n // theodorus\n \"minor-seventh\": 1.778,\n \"major-seventh\": 1.875,\n octave: 2,\n \"square-root-5\": 2.23,\n // pythagoras\n \"major-tenth\": 2.5,\n \"major-eleventh\": 2.667,\n \"major-twelfth\": 3,\n pi: 3.14,\n // archimedes\n \"double-octave\": 4\n};\n\n// src/defaultConfig/unit.js\nvar UNIT = {\n default: \"em\"\n};\n\n// src/defaultConfig/typography.js\nvar defaultProps = {\n browserDefault: 16,\n base: 16,\n type: \"font-size\",\n ratio: SEQUENCE[\"minor-third\"],\n range: [-3, 12],\n h1Matches: 6,\n lineHeight: 1.5,\n unit: \"em\",\n templates: {},\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TYPOGRAPHY = defaultProps;\n\n// src/defaultConfig/font.js\nvar FONT = {};\n\n// src/defaultConfig/font-family.js\nvar FONT_FAMILY = {};\nvar FONT_FAMILY_TYPES = {\n \"sans-serif\": \"Helvetica, Arial, sans-serif, --system-default\",\n serif: \"Times New Roman, Georgia, serif, --system-default\",\n monospace: \"Courier New, monospace, --system-default\"\n};\nvar FONT_FACE = {};\n\n// src/defaultConfig/media.js\nvar MEDIA = {\n tv: \"(min-width: 2780px)\",\n screenL: \"(max-width: 1920px)\",\n \"screenL<\": \"(min-width: 1920px)\",\n screenM: \"(max-width: 1680px)\",\n \"screenM<\": \"(min-width: 1680px)\",\n screenS: \"(max-width: 1440px)\",\n \"screenS<\": \"(min-width: 1440px)\",\n tabletL: \"(max-width: 1366px)\",\n \"tabletL<\": \"(min-width: 1366px)\",\n tabletM: \"(max-width: 1280px)\",\n \"tabletM<\": \"(min-width: 1280px)\",\n tabletS: \"(max-width: 1024px)\",\n \"tabletS<\": \"(min-width: 1024px)\",\n mobileL: \"(max-width: 768px)\",\n \"mobileL<\": \"(min-width: 768px)\",\n mobileM: \"(max-width: 560px)\",\n \"mobileM<\": \"(min-width: 560px)\",\n mobileS: \"(max-width: 480px)\",\n \"mobileS<\": \"(min-width: 480px)\",\n mobileXS: \"(max-width: 375px)\",\n \"mobileXS<\": \"(min-width: 375px)\",\n light: \"(prefers-color-scheme: light)\",\n dark: \"(prefers-color-scheme: dark)\",\n print: \"print\"\n};\n\n// src/defaultConfig/spacing.js\nvar defaultProps2 = {\n base: TYPOGRAPHY.base,\n type: \"spacing\",\n ratio: SEQUENCE.phi,\n range: [-5, 15],\n subSequence: true,\n unit: \"em\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar SPACING = defaultProps2;\n\n// src/defaultConfig/color.js\nvar COLOR = {};\nvar GRADIENT = {};\n\n// src/defaultConfig/theme.js\nvar THEME = {};\n\n// src/defaultConfig/icons.js\nvar ICONS = {};\n\n// src/defaultConfig/timing.js\nvar defaultProps3 = {\n default: 150,\n base: 150,\n type: \"timing\",\n ratio: SEQUENCE[\"perfect-fourth\"],\n range: [-3, 12],\n unit: \"ms\",\n sequence: {},\n scales: {},\n vars: {}\n};\nvar TIMING = defaultProps3;\n\n// src/defaultConfig/document.js\nvar DOCUMENT = {};\n\n// src/defaultConfig/responsive.js\nvar BREAKPOINTS = {\n screenL: 1920,\n screenM: 1680,\n screenS: 1440,\n tabletL: 1366,\n tabletM: 1280,\n tabletS: 1024,\n mobileL: 768,\n mobileM: 560,\n mobileS: 480,\n mobileXS: 375\n};\nvar DEVICES = {\n screenL: [1920, 1024],\n screenM: [1680, 1024],\n screenS: [1440, 978],\n tabletL: [1366, 926],\n tabletM: [1280, 768],\n tabletS: [1024, 768],\n mobileL: [768, 375],\n mobileM: [560, 768],\n mobileS: [480, 768],\n mobileXS: [375, 768]\n};\n\n// src/defaultConfig/cases.js\nvar CASES = {};\n\n// src/defaultConfig/animation.js\nvar ANIMATION = {};\n\n// src/defaultConfig/svg.js\nvar SVG = {};\nvar SVG_DATA = {};\n\n// src/defaultConfig/index.js\nvar RESET = {};\n\n// src/factory.js\nvar CSS_VARS = {};\nvar CONFIG = {\n verbose: false,\n useVariable: true,\n useReset: true,\n CSS_VARS,\n ...defaultConfig_exports\n};\nvar cachedConfig = (0, import_utils3.deepClone)(CONFIG);\nvar FACTORY = {\n active: \"0\",\n 0: CONFIG\n};\nvar activateConfig = (def) => {\n if ((0, import_utils3.isDefined)(def)) {\n FACTORY.active = def;\n }\n return FACTORY[def || FACTORY.active];\n};\nvar getActiveConfig = (def) => {\n return FACTORY[def || FACTORY.active];\n};\nvar setActiveConfig = (newConfig) => {\n if (!(0, import_utils3.isObject)(newConfig))\n return;\n FACTORY.active = \"1\";\n FACTORY[\"1\"] = (0, import_utils3.deepMerge)(newConfig, (0, import_utils3.deepClone)(cachedConfig));\n return newConfig;\n};\n\n// src/utils/sequence.js\nvar numToLetterMap = {\n \"-6\": \"U\",\n \"-5\": \"V\",\n \"-4\": \"W\",\n \"-3\": \"X\",\n \"-2\": \"Y\",\n \"-1\": \"Z\",\n 0: \"A\",\n 1: \"B\",\n 2: \"C\",\n 3: \"D\",\n 4: \"E\",\n 5: \"F\",\n 6: \"G\",\n 7: \"H\",\n 8: \"I\",\n 9: \"J\",\n 10: \"K\",\n 11: \"L\",\n 12: \"M\",\n 13: \"N\",\n 14: \"O\",\n 15: \"P\",\n 16: \"Q\",\n 17: \"R\",\n 18: \"S\",\n 19: \"T\"\n};\nvar setSequenceValue = (props, sequenceProps) => {\n const { key, variable, value, scaling, index } = props;\n sequenceProps.sequence[key] = {\n key,\n decimal: ~~(value * 100) / 100,\n val: ~~value,\n scaling,\n index,\n variable\n };\n sequenceProps.scales[key] = scaling;\n sequenceProps.vars[variable] = scaling + sequenceProps.unit;\n};\nvar generateSubSequence = (props, sequenceProps) => {\n const { key, base, value, ratio, variable, index } = props;\n const next = value * ratio;\n const diff = next - value;\n const smallscale = diff / 1.618;\n const valueRounded = ~~value;\n const nextRounded = ~~next;\n const diffRounded = nextRounded - valueRounded;\n let arr = [];\n const first = next - smallscale;\n const second = value + smallscale;\n const middle = (first + second) / 2;\n if (diffRounded > 16)\n arr = [first, middle, second];\n else\n arr = [first, second];\n arr.map((v, k) => {\n const scaling = ~~(v / base * 1e3) / 1e3;\n const newVar = variable + (k + 1);\n const props2 = {\n key: key + (k + 1),\n variable: newVar,\n value: v,\n scaling,\n index: index + (k + 1) / 10\n };\n return setSequenceValue(props2, sequenceProps);\n });\n};\nvar switchSequenceOnNegative = (key, base, ratio) => {\n return base * Math.pow(ratio, key);\n};\nvar generateSequence = (sequenceProps) => {\n const { type, base, ratio, range, subSequence } = sequenceProps;\n const n = Math.abs(range[0]) + Math.abs(range[1]);\n const prefix = \"--\" + (type && type.replace(\".\", \"-\")) + \"-\";\n for (let i = 0; i <= n; i++) {\n const key = range[1] - i;\n const letterKey = numToLetterMap[key];\n const value = switchSequenceOnNegative(key, base, ratio);\n const scaling = ~~(value / base * 100) / 100;\n const variable = prefix + letterKey;\n const props = {\n key: letterKey,\n variable,\n value,\n base,\n scaling,\n ratio,\n index: key\n };\n setSequenceValue(props, sequenceProps);\n if (subSequence)\n generateSubSequence(props, sequenceProps);\n }\n return sequenceProps;\n};\nvar getSequenceValue = (value = \"A\", sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2 } = CONFIG2;\n const {\n sequence,\n unit = UNIT2.default,\n useVariable\n } = sequenceProps;\n if ((0, import_utils4.isString)(value) && value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const prefix = `--${toDashCase(sequenceProps.type.replace(\".\", \"-\"))}-`;\n const startsWithDashOrLetterRegex = /^-?[a-zA-Z]/i;\n const startsWithDashOrLetter = startsWithDashOrLetterRegex.test(value);\n if (value === \"none\" || value === \"auto\" || value === \"unset\" || value === \"inherit\" || value === \"fit-content\" || value === \"min-content\" || value === \"max-content\" || value.includes(\"calc\") || !startsWithDashOrLetter)\n return value;\n const letterVal = value.toUpperCase();\n const isNegative = letterVal.slice(0, 1) === \"-\" ? \"-\" : \"\";\n let absValue = isNegative ? letterVal.slice(1) : letterVal;\n let mediaName = \"\";\n if (absValue.includes(\"-\")) {\n mediaName = \"-\" + absValue.split(\"-\")[1].toLowerCase();\n absValue = absValue.split(\"-\")[0];\n }\n const varValue = (v) => `var(${prefix}${v}${mediaName})`;\n if (absValue.includes(\"+\")) {\n const args = absValue.split(\"+\");\n const [first, second] = args;\n const joint = `${varValue(first)} + ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n } else if (absValue.includes(\"-\")) {\n const args = absValue.split(\"-\");\n const [first, second] = args;\n const joint = `${varValue(first)} - ${varValue(second)}`;\n return isNegative ? `calc((${joint}) * -1)` : `calc(${joint})`;\n }\n if (!sequence[absValue] && absValue.length === 2) {\n if (CONFIG2.verbose)\n console.warn(absValue, \"- value is not found because `subSequence` is set to false\");\n absValue = absValue.slice(0, 1);\n }\n if (useVariable || CONFIG2.useVariable) {\n const varValue2 = `var(${prefix}${absValue}${mediaName})`;\n return isNegative ? `calc(${varValue2} * -1)` : varValue2;\n }\n const sequenceItem = sequence ? sequence[absValue] : null;\n if (!sequenceItem)\n return console.warn(\"can't find\", sequence, absValue);\n if (unit === \"ms\" || unit === \"s\") {\n return isNegative + sequenceItem.val + unit;\n }\n return isNegative + sequenceItem.scaling + unit;\n};\nvar getSequenceValuePropertyPair = (value, propertyName, sequenceProps) => {\n if (typeof value !== \"string\") {\n console.warn(propertyName, value, \"is not a string\");\n return {};\n }\n if (value === \"-\" || value === \"\")\n return {};\n return { [propertyName]: getSequenceValue(value, sequenceProps) };\n};\nvar findHeadingLetter = (h1Matches, index) => numToLetterMap[h1Matches - index];\nvar findHeadings = (propertyNames) => {\n const { h1Matches, sequence } = propertyNames;\n return new Array(6).fill(null).map((_, i) => {\n const findLetter = findHeadingLetter(h1Matches, i);\n return sequence[findLetter];\n });\n};\n\n// src/utils/var.js\nvar import_utils6 = __toESM(require_cjs4(), 1);\nvar setVariables = (result, key) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n if ((0, import_utils6.isObjectLike)(result.value)) {\n } else {\n CSS_VARS2[result.var] = result.value;\n }\n};\nvar applySequenceVars = (props, mediaName, options = {}) => {\n const CONFIG2 = getActiveConfig();\n const { UNIT: UNIT2, MEDIA: MEDIA2, TIMING: TIMING2, CSS_VARS: CSS_VARS2 } = CONFIG2;\n const unit = props.unit || UNIT2.default;\n const { sequence, scales } = props;\n for (const key in sequence) {\n const item = sequence[key];\n const value = (props.type === TIMING2.type ? sequence[key].val : scales[key]) + unit;\n if (mediaName) {\n const query = MEDIA2[mediaName];\n if (!query) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find query \", query);\n }\n let underMediaQuery = CSS_VARS2[`@media ${query}`];\n if (!underMediaQuery)\n underMediaQuery = CSS_VARS2[`@media ${query}`] = {};\n underMediaQuery[item.variable] = `var(${item.variable + \"-\" + mediaName})`;\n CSS_VARS2[item.variable + \"-\" + mediaName] = value;\n } else {\n if (options.useDefault === false) {\n CSS_VARS2[item.variable] = value;\n } else {\n CSS_VARS2[item.variable + \"-default\"] = value;\n CSS_VARS2[item.variable] = `var(${item.variable + \"-default\"})`;\n }\n }\n }\n};\n\n// src/utils/sprite.js\nvar import_utils7 = __toESM(require_cjs4(), 1);\nvar generateSprite = (icons) => {\n const CONFIG2 = getActiveConfig();\n let sprite = \"\";\n for (const key in icons) {\n if (CONFIG2.__svg_cache[key])\n continue;\n else\n CONFIG2.__svg_cache[key] = true;\n sprite += icons[key];\n }\n return sprite;\n};\nvar parseRootAttributes = (htmlString) => {\n if (!(0, import_utils7.isString)(htmlString)) {\n return console.warn(`parseRootAttributes: ${htmlString} is not a string`);\n }\n const match = htmlString.match(/<svg\\s+(.*?)>/);\n if (!match || !match[1]) {\n return {};\n }\n const attrString = match[1];\n const attrs = attrString.match(/(\\S+)=[\"']?((?:.(?![\"']?\\s+(?:\\S+)=|\\s*\\/?[>\"']))+.)[\"']?/gm);\n return attrs.reduce((acc, attr) => {\n const [key, value] = attr.split(\"=\");\n acc[key] = value.replace(/['\"]/g, \"\");\n return acc;\n }, {});\n};\nvar convertSvgToSymbol = (key, code) => {\n const extractAttrs = parseRootAttributes(code);\n const { width, height } = extractAttrs;\n const viewBox = extractAttrs.viewBox || `0 0 ${width || 24} ${height || 24}`;\n const xmlns = \"http://www.w3.org/2000/svg\";\n let symbol = code.replace(\n \"<svg\",\n `<symbol id=\"${key}\" xmlns=\"${xmlns}\" viewBox=\"${viewBox}\"`\n );\n symbol = symbol.replace(/width=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(/height=\"[^\"]*\"/, \"\");\n symbol = symbol.replace(\"</svg\", \"</symbol\");\n return symbol;\n};\n\n// src/system/index.js\nvar system_exports = {};\n__export(system_exports, {\n appendIconsSprite: () => appendIconsSprite,\n appendSVGSprite: () => appendSVGSprite,\n applyDocument: () => applyDocument,\n applyHeadings: () => applyHeadings,\n applyReset: () => applyReset,\n applySpacingSequence: () => applySpacingSequence,\n applyTimingSequence: () => applyTimingSequence,\n applyTypographySequence: () => applyTypographySequence,\n getColor: () => getColor,\n getFontFamily: () => getFontFamily,\n getFontSizeByKey: () => getFontSizeByKey,\n getMediaColor: () => getMediaColor,\n getMediaTheme: () => getMediaTheme,\n getSpacingBasedOnRatio: () => getSpacingBasedOnRatio,\n getSpacingByKey: () => getSpacingByKey,\n getTheme: () => getTheme,\n getTimingByKey: () => getTimingByKey,\n getTimingFunction: () => getTimingFunction,\n runThroughMedia: () => runThroughMedia,\n setColor: () => setColor,\n setFont: () => setFont,\n setFontFamily: () => setFontFamily,\n setGradient: () => setGradient,\n setIcon: () => setIcon,\n setMediaTheme: () => setMediaTheme,\n setSVG: () => setSVG,\n setTheme: () => setTheme\n});\n\n// src/system/color.js\nvar import_utils8 = __toESM(require_cjs4(), 1);\nvar getColor = (value, key) => {\n const CONFIG2 = getActiveConfig();\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n if (key && value[key])\n value = value[key];\n const [name, alpha, tone] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n let val = COLOR2[name] || GRADIENT2[name];\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color \", name);\n return value;\n }\n if (key) {\n if (val[key])\n val = val[key];\n else if (CONFIG2.verbose)\n console.warn(value, \" - does not have \", key);\n }\n let rgb = val.rgb;\n if (rgb) {\n if (tone) {\n if (!val[tone]) {\n const toHex = rgbArrayToHex(rgb.split(\", \").map((v) => parseFloat(v)));\n const abs = tone.slice(0, 1);\n if (abs === \"-\" || abs === \"+\") {\n rgb = hexToRgbArray(\n getColorShade(toHex, parseFloat(tone))\n ).join(\", \");\n } else {\n const [r, g, b] = [...rgb.split(\", \").map((v) => parseInt(v))];\n const hsl = rgbToHSL(r, g, b);\n const [h, s, l] = hsl;\n const newRgb = hslToRgb(h, s, parseFloat(tone) / 100 * 255);\n rgb = newRgb;\n }\n val[tone] = { rgb, var: `${val.var}-${tone}` };\n } else\n rgb = val[tone].rgb;\n }\n if (alpha)\n return `rgba(${rgb}, ${alpha})`;\n return CONFIG2.useVariable ? `var(${val.var})` : `rgb(${rgb})`;\n } else\n return CONFIG2.useVariable ? `var(${val.var})` : val.value;\n};\nvar getMediaColor = (value, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n if (!globalTheme)\n globalTheme = CONFIG2.globalTheme;\n if (!(0, import_utils8.isString)(value)) {\n if (CONFIG2.verbose)\n console.warn(value, \"- type for color is not valid\");\n return;\n }\n if (value.slice(0, 2) === \"--\")\n return `var(${value})`;\n const [name] = (0, import_utils8.isArray)(value) ? value : value.split(\" \");\n const { COLOR: COLOR2, GRADIENT: GRADIENT2 } = CONFIG2;\n const val = COLOR2[name] || GRADIENT2[name];\n const isObj = (0, import_utils8.isObject)(val);\n if (isObj && val.value)\n return getColor(value, `@${globalTheme}`);\n else if (isObj) {\n if (globalTheme)\n return getColor(value, `@${globalTheme}`);\n else {\n const obj = {};\n for (const mediaName in val) {\n const query = CONFIG2.MEDIA[mediaName.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = getColor(value, mediaName);\n }\n return obj;\n }\n } else {\n if (CONFIG2.verbose)\n console.warn(\"Can't find color\", value);\n return value;\n }\n};\nvar setColor = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setColor(val[0], key, \"light\"),\n \"@dark\": setColor(val[1], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setColor(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--color-${key}` + (suffix ? `-${suffix}` : \"\");\n const [r, g, b, a = 1] = colorStringToRgbaArray(val.value || val);\n const alpha = parseFloat(a.toFixed(2));\n const rgb = `${r}, ${g}, ${b}`;\n const value = `rgba(${rgb}, ${alpha})`;\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = value;\n }\n return {\n var: CSSVar,\n rgb,\n alpha,\n value\n };\n};\nvar setGradient = (val, key, suffix) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils8.isString)(val) && val.slice(0, 2) === \"--\")\n val = getColor(val.slice(2));\n if ((0, import_utils8.isArray)(val)) {\n return {\n \"@light\": setGradient(val[0], key, \"light\"),\n \"@dark\": setGradient(val[0], key, \"dark\")\n };\n }\n if ((0, import_utils8.isObject)(val)) {\n const obj = {};\n for (const variant in val)\n obj[variant] = setGradient(val[variant], key, variant.slice(0, 1) === \"@\" ? variant.slice(1) : variant);\n return obj;\n }\n const CSSVar = `--gradient-${key}` + (suffix ? `-${suffix}` : \"\");\n if (CONFIG2.useVariable) {\n CONFIG2.CSS_VARS[CSSVar] = val.value || val;\n }\n return {\n var: CSSVar,\n value: val.value || val\n };\n};\n\n// src/system/theme.js\nvar import_utils10 = __toESM(require_cjs4(), 1);\nvar setThemeValue = (theme) => {\n const value = {};\n const { state, media, helpers, ...rest } = theme;\n const keys = Object.keys(rest);\n keys.map((key) => {\n const conditions = [\"color\", \"Color\", \"background\", \"border\"];\n const isColor = conditions.some((k) => key.includes(k));\n return value[key] = isColor ? getColor(theme[key]) : theme[key];\n });\n return value;\n};\nvar getThemeValue = (theme) => {\n if (theme.value)\n return theme.value;\n theme.value = setThemeValue(theme);\n return theme.value;\n};\nvar getTheme = (value, modifier) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return getMediaTheme(value, modifier);\n const { THEME: THEME2 } = CONFIG2;\n if ((0, import_utils10.isString)(value)) {\n const [theme, subtheme] = value.split(\" \");\n const isOurTheme = THEME2[theme];\n if (isOurTheme) {\n if (!subtheme && !modifier)\n return getThemeValue(isOurTheme);\n value = [theme, subtheme || modifier];\n }\n }\n if ((0, import_utils10.isObjectLike)(value) && value[1]) {\n const themeName = value[0];\n const subThemeName = value[1];\n const { helpers, media, state } = THEME2[themeName];\n if (media && media[subThemeName])\n return getThemeValue(media[subThemeName]);\n if (helpers && helpers[subThemeName])\n return getThemeValue(helpers[subThemeName]);\n if (state && state[subThemeName])\n return getThemeValue(state[subThemeName]);\n } else if ((0, import_utils10.isObject)(value))\n return setThemeValue(value);\n};\nvar setInverseTheme = (theme, variant, value) => {\n if ((0, import_utils10.isObject)(variant)) {\n theme.variants.inverse.value = setThemeValue(variant);\n } else if (variant === true) {\n const { color, background } = value;\n theme.variants.inverse = {\n value: {\n color: background,\n background: color\n }\n };\n }\n};\nvar setPseudo = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`&:${key}`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setSelectors = (theme, value) => {\n const { state } = theme;\n if (!state)\n return;\n const keys = Object.keys(state);\n keys.map((key) => {\n const variant = state[key];\n setPseudo(theme, key, variant, value);\n return theme;\n });\n return theme;\n};\nvar setPrefersScheme = (theme, key, variant, themeValue) => {\n const result = getTheme(variant);\n themeValue[`@media (prefers-color-scheme: ${key})`] = result;\n if ((0, import_utils10.isObject)(variant) && !variant.value)\n variant.value = result;\n};\nvar setMedia = (theme, value) => {\n const { media } = theme;\n if (!media)\n return;\n const keys = Object.keys(media);\n keys.map((key) => {\n const variant = media[key];\n if (key === \"dark\" || key === \"light\")\n setPrefersScheme(theme, key, variant, value);\n if (key === \"inverse\")\n setInverseTheme(theme, variant, value);\n return theme;\n });\n return theme;\n};\nvar setHelpers = (theme, value) => {\n const CONFIG2 = getActiveConfig();\n const { helpers } = theme;\n if (!helpers)\n return;\n const keys = Object.keys(helpers);\n keys.map((key) => {\n const helper = helpers[key];\n if ((0, import_utils10.isString)(helper))\n helpers[key] = CONFIG2.THEME[helper];\n else\n getThemeValue(helpers[key]);\n return theme;\n });\n return theme;\n};\nvar setTheme = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useVariable)\n return setMediaTheme(val, key);\n const { state, media, helpers } = val;\n const value = setThemeValue(val, key);\n const CSSvar = `--theme-${key}`;\n setSelectors(val, value);\n setMedia(val, value);\n setHelpers(val, value);\n return { var: CSSvar, value, state, media, helpers };\n};\nvar setMediaTheme = (val, key, suffix, prefers) => {\n const CONFIG2 = getActiveConfig();\n const { CSS_VARS: CSS_VARS2 } = CONFIG2;\n const theme = { value: val };\n if ((0, import_utils10.isObjectLike)(val)) {\n for (const param in val) {\n const symb = param.slice(0, 1);\n const value = val[param];\n if (symb === \"@\" || symb === \":\" || symb === \".\") {\n const hasPrefers = symb === \"@\" && param;\n theme[param] = setMediaTheme(value, key, param, prefers || hasPrefers);\n } else {\n const color = getColor(value, prefers);\n const metaSuffixes = [...new Set([prefers, suffix].filter((v) => v).map((v) => v.slice(1)))];\n const varmetaSuffixName = metaSuffixes.length ? \"-\" + metaSuffixes.join(\"-\") : \"\";\n const CSSVar = `--theme-${key}${varmetaSuffixName}-${param}`;\n if (CONFIG2.useVariable) {\n CSS_VARS2[CSSVar] = color;\n theme[param] = `var(${CSSVar})`;\n } else {\n theme[param] = color;\n }\n theme[`.${param}`] = { [param]: theme[param] };\n }\n }\n if (theme.background || theme.color || theme.backgroundColor) {\n theme[\".inversed\"] = {\n color: theme.background || theme.backgroundColor,\n background: theme.color\n };\n }\n }\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\") {\n const { THEME: THEME2 } = CONFIG2;\n const value = THEME2[val.slice(2)];\n const getReferenced = getMediaTheme(value, prefers);\n return getReferenced;\n }\n return theme;\n};\nvar recursiveTheme = (val) => {\n const CONFIG2 = getActiveConfig();\n const obj = {};\n for (const param in val) {\n const symb = param.slice(0, 1);\n if ((0, import_utils10.isObjectLike)(val[param])) {\n if (symb === \"@\") {\n const query = CONFIG2.MEDIA[param.slice(1)];\n const media = `@media screen and ${query}`;\n obj[media] = recursiveTheme(val[param]);\n } else if (symb === \":\") {\n obj[`&${param}`] = recursiveTheme(val[param]);\n }\n } else\n obj[param] = val[param];\n }\n return obj;\n};\nvar findModifierFromArray = (val, modifierArray) => {\n const currentMod = modifierArray.shift();\n if (val[currentMod])\n return findModifierFromArray(val[currentMod], modifierArray);\n return val;\n};\nvar findModifier = (val, modifier) => {\n if ((0, import_utils10.isArray)(modifier))\n return findModifierFromArray(val, modifier);\n else if ((0, import_utils10.isString)(modifier) && val[modifier])\n return val[modifier];\n else\n return val;\n};\nvar getMediaTheme = (val, mod) => {\n const CONFIG2 = getActiveConfig();\n if ((0, import_utils10.isString)(val) && val.slice(0, 2) === \"--\")\n val = getMediaTheme(val.slice(2));\n if (!val || !(0, import_utils10.isString)(val)) {\n if (CONFIG2.verbose)\n console.warn(val, \"- theme is not string\");\n return;\n }\n const [name, ...modifier] = (0, import_utils10.isArray)(val) ? val : val.split(\" \");\n let value = CONFIG2.THEME[name];\n if (value && (modifier || mod)) {\n value = findModifier(value, modifier.length ? modifier : mod);\n }\n const r = recursiveTheme(value);\n return r;\n};\n\n// src/system/font.js\nvar import_utils11 = __toESM(require_cjs4(), 1);\nvar setFont = (val, key) => {\n const CSSvar = `--font-${key}`;\n const fontFace = val[0] ? getFontFaceEach(key, val) : setCustomFontMedia(key, val.url);\n return { var: CSSvar, value: val, fontFace };\n};\nvar getFontFamily = (key, factory) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2 } = CONFIG2;\n return getDefaultOrFirstKey(factory || FONT_FAMILY2, key);\n};\nvar setFontFamily = (val, key) => {\n const CONFIG2 = getActiveConfig();\n const { FONT_FAMILY: FONT_FAMILY2, FONT_FAMILY_TYPES: FONT_FAMILY_TYPES2 } = CONFIG2;\n let { value, type } = val;\n if (val.isDefault)\n FONT_FAMILY2.default = key;\n if ((0, import_utils11.isObject)(value))\n value = arrayzeValue(value);\n const CSSvar = `--font-family-${key}`;\n const str = `${value.join(\", \")}, ${FONT_FAMILY_TYPES2[type]}`;\n return { var: CSSvar, value: str, arr: value, type };\n};\n\n// src/system/typography.js\nvar import_utils14 = __toESM(require_cjs4(), 1);\nvar runThroughMedia = (props) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2, MEDIA: MEDIA2 } = CONFIG2;\n for (const prop in props) {\n const mediaProps = props[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = props;\n (0, import_utils14.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n const query = MEDIA2[mediaName];\n TYPOGRAPHY2.templates[`@media screen and ${query}`] = {\n fontSize: mediaProps.base / TYPOGRAPHY2.browserDefault + unit\n };\n }\n }\n};\nvar applyHeadings = (props) => {\n const CONFIG2 = getActiveConfig();\n if (props.h1Matches) {\n const unit = props.unit;\n const HEADINGS = findHeadings(props);\n const { templates } = props;\n for (const k in HEADINGS) {\n const headerName = `h${parseInt(k) + 1}`;\n const headerStyle = templates[headerName];\n templates[headerName] = {\n fontSize: CONFIG2.useVariable ? `var(${HEADINGS[k].variable})` : `${HEADINGS[k].scaling}${unit}`,\n margin: headerStyle ? headerStyle.margin : 0,\n lineHeight: headerStyle ? headerStyle.lineHeight : props.lineHeight,\n letterSpacing: headerStyle ? headerStyle.letterSpacing : props.letterSpacing,\n fontWeight: headerStyle ? headerStyle.fontWeight : 900 - k * 100\n };\n }\n }\n};\nvar applyTypographySequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n generateSequence(TYPOGRAPHY2);\n applyHeadings(TYPOGRAPHY2);\n applySequenceVars(TYPOGRAPHY2);\n runThroughMedia(TYPOGRAPHY2);\n};\nvar getFontSizeByKey = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n \"fontSize\",\n TYPOGRAPHY2\n );\n};\n\n// src/system/spacing.js\nvar import_utils17 = __toESM(require_cjs4(), 1);\nvar runThroughMedia2 = (sequenceProps) => {\n for (const prop in sequenceProps) {\n const mediaProps = sequenceProps[prop];\n if (prop.slice(0, 1) === \"@\") {\n const { type, base, ratio, range, subSequence, h1Matches, unit } = sequenceProps;\n (0, import_utils17.merge)(mediaProps, {\n type,\n base,\n ratio,\n range,\n subSequence,\n h1Matches,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n });\n generateSequence(mediaProps);\n const mediaName = prop.slice(1);\n applySequenceVars(mediaProps, mediaName);\n }\n }\n};\nvar applySpacingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n generateSequence(SPACING2);\n applySequenceVars(SPACING2);\n runThroughMedia2(SPACING2);\n};\nvar getSequence = (sequenceProps) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n if (!sequenceProps)\n return SPACING2;\n const hasGenerated = Object.keys(sequenceProps.sequence).length > 0;\n return hasGenerated ? sequenceProps : generateSequence(sequenceProps);\n};\nvar getSpacingByKey = (value, propertyName = \"padding\", sequenceProps) => {\n const sequence = getSequence(sequenceProps);\n const stack = arrayzeValue(value);\n if (!stack)\n return;\n if ((0, import_utils17.isString)(value) && value.includes(\"calc\")) {\n return { [propertyName]: value };\n }\n if (stack.length > 1) {\n let suffix = \"\";\n if (propertyName === \"borderWidth\") {\n propertyName = \"border\";\n suffix = \"Width\";\n }\n const directions = {\n 2: [\"Block\", \"Inline\"],\n 3: [\"BlockStart\", \"Inline\", \"BlockEnd\"],\n 4: [\"BlockStart\", \"InlineEnd\", \"BlockEnd\", \"InlineStart\"]\n };\n const wrapSequenceValueByDirection = (direction, i) => getSequenceValuePropertyPair(\n stack[i],\n propertyName + direction + suffix,\n sequence\n );\n return directions[stack.length].map((dir, key) => wrapSequenceValueByDirection(dir, key));\n }\n return getSequenceValuePropertyPair(\n value,\n propertyName,\n sequence\n );\n};\nvar getSpacingBasedOnRatio = (props, propertyName, val) => {\n const CONFIG2 = getActiveConfig();\n const { SPACING: SPACING2 } = CONFIG2;\n const { spacingRatio, unit } = props;\n const value = val || props[propertyName];\n if (spacingRatio) {\n let sequenceProps = SPACING2[spacingRatio];\n if (!sequenceProps) {\n const { type, base, range, subSequence } = SPACING2;\n sequenceProps = SPACING2[spacingRatio] = (0, import_utils17.merge)({\n ratio: spacingRatio,\n type: type + \"-\" + spacingRatio,\n unit,\n sequence: {},\n scales: {},\n templates: {},\n vars: {}\n }, {\n base,\n range,\n subSequence,\n ratio: SPACING2.ratio,\n unit: SPACING2.unit\n });\n }\n applySequenceVars(sequenceProps, null, { useDefault: false });\n return getSpacingByKey(value, propertyName, sequenceProps);\n }\n return getSpacingByKey(value, propertyName);\n};\n\n// src/system/timing.js\nvar applyTimingSequence = () => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n generateSequence(TIMING2);\n applySequenceVars(TIMING2);\n};\nvar getTimingFunction = (value) => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return TIMING2[value] || TIMING2[toCamelCase(value)] || value;\n};\nvar getTimingByKey = (value, property = \"timing\") => {\n const CONFIG2 = getActiveConfig();\n const { TIMING: TIMING2 } = CONFIG2;\n return getSequenceValuePropertyPair(\n value,\n property,\n TIMING2\n );\n};\n\n// src/system/document.js\nvar import_utils21 = __toESM(require_cjs4(), 1);\nvar applyDocument = () => {\n const CONFIG2 = getActiveConfig();\n const { DOCUMENT: DOCUMENT2, FONT_FAMILY: FONT_FAMILY2, THEME: THEME2, TYPOGRAPHY: TYPOGRAPHY2 } = CONFIG2;\n return (0, import_utils21.merge)(DOCUMENT2, {\n theme: THEME2.document,\n fontFamily: getDefaultOrFirstKey(FONT_FAMILY2),\n fontSize: TYPOGRAPHY2.base,\n lineHeight: TYPOGRAPHY2.lineHeight\n });\n};\n\n// src/system/svg.js\nvar import_globals2 = __toESM(require_cjs(), 1);\nvar DEF_OPTIONS = {\n document: import_globals2.document\n};\nvar setSVG = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (!val) {\n if (CONFIG2.verbose)\n console.warn(\"setSVG: val is not defined\", key);\n return;\n }\n if (CONFIG2.useSvgSprite) {\n return convertSvgToSymbol(key, val);\n }\n return val;\n};\nvar appendSVGSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.SVG;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.SVG[key];\n appendSVG(lib, options);\n};\nvar setIcon = (val, key) => {\n const CONFIG2 = getActiveConfig();\n if (CONFIG2.useIconSprite) {\n return setSVG(val, key);\n }\n return val;\n};\nvar appendIconsSprite = (LIBRARY, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const lib = Object.keys(LIBRARY).length ? {} : CONFIG2.ICONS;\n for (const key in LIBRARY)\n lib[key] = CONFIG2.ICONS[key];\n appendSVG(lib, options);\n};\nvar createSVGSpriteElement = (options = { isRoot: true }) => {\n const svgElem = import_globals2.document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n if (options.isRoot) {\n svgElem.setAttribute(\"aria-hidden\", \"true\");\n svgElem.setAttribute(\"width\", \"0\");\n svgElem.setAttribute(\"height\", \"0\");\n svgElem.setAttribute(\"style\", \"position:absolute\");\n svgElem.setAttribute(\"id\", \"svgSprite\");\n }\n return svgElem;\n};\nvar appendSVG = (lib, options = DEF_OPTIONS) => {\n const CONFIG2 = getActiveConfig();\n const doc = options.document || import_globals2.document;\n if (!doc) {\n if (CONFIG2.verbose) {\n console.warn(\"To append SVG sprites it should be run in browser environment\");\n }\n return generateSprite(lib);\n }\n const exists = doc.querySelector(\"#svgSprite\");\n const SVGsprite = generateSprite(lib);\n if (exists) {\n const tempSVG = createSVGSpriteElement({ isRoot: false });\n tempSVG.innerHTML = SVGsprite;\n exists.append(...tempSVG.children);\n } else {\n const svgSpriteDOM = createSVGSpriteElement();\n svgSpriteDOM.innerHTML = SVGsprite;\n doc.body.prepend(svgSpriteDOM);\n }\n};\n\n// src/system/reset.js\nvar import_utils24 = __toESM(require_cjs4(), 1);\nvar applyReset = (reset = {}) => {\n const CONFIG2 = getActiveConfig();\n const { RESET: RESET2, TYPOGRAPHY: TYPOGRAPHY2, DOCUMENT: DOCUMENT2 } = CONFIG2;\n if (RESET2) {\n if (RESET2[\":root\"]) {\n const configReset = RESET2;\n const configTemplates = TYPOGRAPHY2.templates;\n configReset.body = {\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n ...configTemplates.body\n };\n configReset.h1 = configTemplates.h1;\n configReset.h2 = configTemplates.h2;\n configReset.h3 = configTemplates.h3;\n configReset.h4 = configTemplates.h4;\n configReset.h5 = configTemplates.h5;\n configReset.h6 = configTemplates.h6;\n }\n const { body, ...templates } = TYPOGRAPHY2.templates;\n return (0, import_utils24.deepMerge)((0, import_utils24.merge)(RESET2, reset), {\n html: {\n position: \"absolute\",\n // overflow: 'hidden',\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n margin: \"0\",\n WebkitFontSmoothing: \"antialiased\",\n scrollBehavior: \"smooth\",\n fontSize: TYPOGRAPHY2.browserDefault + \"px\",\n ...CONFIG2.useDocumentTheme ? getMediaTheme(\"document\", `@${CONFIG2.globalTheme}`) : {},\n fontFamily: DOCUMENT2.fontFamily,\n lineHeight: DOCUMENT2.lineHeight\n },\n body: {\n boxSizing: \"border-box\",\n height: \"100%\",\n margin: 0,\n fontFamily: DOCUMENT2.fontFamily,\n fontSize: TYPOGRAPHY2.base / TYPOGRAPHY2.browserDefault + CONFIG2.UNIT.default,\n ...templates,\n ...body\n },\n // form elements\n fieldset: {\n border: 0,\n padding: 0,\n margin: 0\n },\n \"select, input\": {\n fontFamily: DOCUMENT2.fontFamily\n }\n });\n }\n};\n\n// src/transforms/index.js\nvar import_utils25 = __toESM(require_cjs4(), 1);\nvar isBorderStyle = (str) => [\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\",\n \"initial\"\n].some((v) => str.includes(v));\nvar transformBorder = (border) => {\n const arr = border.split(\", \");\n return arr.map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n else if (isBorderStyle(v))\n return v || \"solid\";\n else if (v.slice(-2) === \"px\" || v.slice(-2) === \"em\")\n return v;\n else if (getColor(v).length > 2)\n return getColor(v);\n return getSpacingByKey(v, \"border\").border;\n }).join(\" \");\n};\nvar transformTextStroke = (stroke) => {\n return stroke.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"px\"))\n return v;\n else if (getColor(v))\n return getColor(v);\n return v;\n }).join(\" \");\n};\nvar transformShadow = (shadows) => shadows.split(\"|\").map((shadow) => {\n return shadow.split(\", \").map((v) => {\n v = v.trim();\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (getColor(v).length > 2)\n return getColor(v);\n if (v.includes(\"px\") || v.slice(-2) === \"em\")\n return v;\n const arr = v.split(\" \");\n if (!arr.length)\n return v;\n return arr.map((v2) => getSpacingByKey(v2, \"shadow\").shadow).join(\" \");\n }).join(\" \");\n}).join(\",\");\nvar transformBackgroundImage = (backgroundImage, globalTheme) => {\n const CONFIG2 = getActiveConfig();\n return backgroundImage.split(\", \").map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.includes(\"url\") || v.includes(\"gradient\"))\n return v;\n else if (CONFIG2.GRADIENT[backgroundImage]) {\n return {\n backgroundImage: getMediaColor(backgroundImage, globalTheme || CONFIG2.globalTheme)\n };\n } else if (v.includes(\"/\") || v.includes(\"http\"))\n return `url(${v})`;\n return v;\n }).join(\" \");\n};\nvar transfromGap = (gap) => (0, import_utils25.isString)(gap) && gap.split(\" \").map((v) => getSpacingByKey(v, \"gap\").gap).join(\" \");\nvar transformTransition = (transition) => {\n const arr = transition.split(\" \");\n if (!arr.length)\n return transition;\n return arr.map((v) => {\n if (v.slice(0, 2) === \"--\")\n return `var(${v})`;\n if (v.length < 3 || v.includes(\"ms\")) {\n const mapWithSequence = getTimingByKey(v);\n return mapWithSequence.timing || v;\n }\n if (getTimingFunction(v))\n return getTimingFunction(v);\n return v;\n }).join(\" \");\n};\nvar transformDuration = (duration, props, propertyName) => {\n if (!(0, import_utils25.isString)(duration))\n return;\n return duration.split(\",\").map((v) => getTimingByKey(v).timing || v).join(\",\");\n};\nvar splitTransition = (transition) => {\n const arr = transition.split(\",\");\n if (!arr.length)\n return;\n return arr.map(transformTransition).join(\",\");\n};\n\n// src/set.js\nvar import_utils26 = __toESM(require_cjs4(), 1);\nvar setCases = (val, key) => {\n if ((0, import_utils26.isFunction)(val))\n return val();\n return val;\n};\nvar setSameValue = (val, key) => val;\nvar VALUE_TRANSFORMERS = {\n color: setColor,\n gradient: setGradient,\n font: setFont,\n font_family: setFontFamily,\n theme: setTheme,\n icons: setIcon,\n svg: setSVG,\n svg_data: setSameValue,\n typography: setSameValue,\n cases: setCases,\n spacing: setSameValue,\n media: setSameValue,\n timing: setSameValue,\n reset: setSameValue,\n unit: setSameValue,\n animation: setSameValue\n};\nvar setValue = (FACTORY_NAME, value, key) => {\n const CONFIG2 = getActiveConfig();\n const factoryName = FACTORY_NAME.toLowerCase();\n const FACTORY2 = CONFIG2[FACTORY_NAME];\n if (VALUE_TRANSFORMERS[factoryName]) {\n const result = VALUE_TRANSFORMERS[factoryName](value, key);\n FACTORY2[key] = result;\n return FACTORY2;\n }\n if (CONFIG2.verbose)\n console.warn(\"Can not find\", factoryName, \"method in scratch\");\n};\nvar setEach = (factoryName, props) => {\n const CONFIG2 = getActiveConfig();\n const FACTORY_NAME = factoryName.toUpperCase();\n const keys = Object.keys(props);\n keys.map((key) => setValue(FACTORY_NAME, props[key], key));\n return CONFIG2[FACTORY_NAME];\n};\nvar SET_OPTIONS = {};\nvar set = (recivedConfig, options = SET_OPTIONS) => {\n let CONFIG2 = getActiveConfig();\n const {\n version,\n verbose,\n useVariable,\n useReset,\n useSvgSprite,\n useFontImport,\n useIconSprite,\n globalTheme,\n useDocumentTheme,\n ...config\n } = recivedConfig;\n if (options.newConfig) {\n CONFIG2 = setActiveConfig(options.newConfig);\n }\n if (verbose !== void 0)\n CONFIG2.verbose = verbose;\n if (useVariable !== void 0)\n CONFIG2.useVariable = useVariable;\n if (useReset !== void 0)\n CONFIG2.useReset = useReset;\n if (useFontImport !== void 0)\n CONFIG2.useFontImport = useFontImport;\n if (useSvgSprite !== void 0)\n CONFIG2.useSvgSprite = useSvgSprite;\n if (useIconSprite !== void 0)\n CONFIG2.useIconSprite = useIconSprite;\n if (useDocumentTheme !== void 0)\n CONFIG2.useDocumentTheme = useDocumentTheme;\n if (globalTheme !== void 0)\n CONFIG2.globalTheme = globalTheme;\n if (CONFIG2.verbose)\n console.log(CONFIG2);\n if (!CONFIG2.__svg_cache)\n CONFIG2.__svg_cache = {};\n const keys = Object.keys(config);\n keys.map((key) => setEach(key, config[key]));\n applyTypographySequence();\n applySpacingSequence();\n applyTimingSequence();\n applyDocument();\n applyReset();\n return CONFIG2;\n};\n", "'use strict'\n\n// export * from './styles'\n\nexport * from '@symbo.ls/atoms'\nexport * from '@symbo.ls/box'\n\nexport * from '@symbo.ls/avatar'\nexport * from '@symbo.ls/button'\nexport * from '@symbo.ls/buttonset'\nexport * from '@symbo.ls/datepicker'\nexport * from '@symbo.ls/dropdown'\n\nexport * from '@symbo.ls/icon'\nexport * from '@symbo.ls/link'\nexport * from '@symbo.ls/input'\nexport * from '@symbo.ls/field'\nexport * from '@symbo.ls/video'\n\nexport * from '@symbo.ls/range'\nexport * from '@symbo.ls/slider'\nexport * from '@symbo.ls/notification'\nexport * from '@symbo.ls/tooltip'\nexport * from '@symbo.ls/textarea'\nexport * from '@symbo.ls/label'\nexport * from '@symbo.ls/pills'\nexport * from '@symbo.ls/select'\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Direction = {\n props: {\n direction: 'ltr'\n },\n class: {\n direction: ({ props }) => ({ direction: props.direction })\n }\n}\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nexport const Img = {\n tag: 'img',\n\n props: {\n src: '',\n alt: '',\n title: ''\n },\n\n attr: {\n src: ({ props }) => props.src,\n alt: ({ props }) => props.alt,\n title: ({ props }) => props.title || props.alt\n }\n}\n", "'use strict'\n\nexport const Form = {\n tag: 'form',\n props: {},\n attr: {\n action: ({ props }) => props.action,\n method: ({ props }) => props.method,\n enctype: ({ props }) => props.enctype\n }\n}\n", "'use strict'\n\nimport { merge, isArray, overwriteShallow } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(key, props, isSubtree ? result : result?.media, element),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result?.selector, element),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result?.selector, element),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result?.selector, element),\n $: (key, props, result, element, isSubtree) => applyCaseProps(key, props, isSubtree ? result : result?.case, element),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(key, props, isSubtree ? result : result?.case, element),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(key, props, isSubtree ? result : result?.case, element)\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey]\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n overwriteShallow(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n if (!context) return\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n class: {\n case: (el, s) => {\n return {\n //\n }\n }\n },\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nexport const Iframe = {\n tag: 'iframe',\n props: {\n position: 'relative',\n minWidth: 'H',\n minHeight: 'H'\n },\n attr: {\n src: ({ props }) => props.src,\n loading: ({ props }) => props.loading,\n allowfullscreen: ({ props }) => props.allowfullscreen,\n referrerpolicy: ({ props }) => props.referrerpolicy\n }\n}\n", "'use strict'\n\nexport const Interaction = {\n class: {\n userSelect: ({ props }) => props.userSelect && ({ userSelect: props.userSelect }),\n pointerEvents: ({ props }) => props.pointerEvents && ({ pointerEvents: props.pointerEvents }),\n cursor: ({ props }) => props.cursor && ({ cursor: props.cursor })\n }\n}\n", "'use strict'\n\nconst style = {\n appearance: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit'\n}\n\nexport const Hoverable = {\n props: {\n transition: 'C defaultBezier',\n transitionProperty: 'opacity, transform',\n opacity: 0.85,\n\n ':hover': {\n opacity: 0.9,\n transform: 'scale(1.015)'\n },\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1,\n transform: 'scale(1.015)',\n\n ':hover': { opacity: 1 }\n }\n }\n}\n\nexport const Clickable = {\n extend: Hoverable,\n props: {\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1\n }\n }\n}\n\nexport const Focusable = {\n props: {\n border: 'none',\n outline: 'solid, 0, blue .3',\n ':focus-visible': {\n opacity: 1,\n outline: 'solid, X, blue .3'\n }\n },\n\n attr: {\n placeholder: ({ props }) => props.placeholder,\n tabIndex: ({ props }) => props.tabIndex\n }\n}\n\nexport const FocusableComponent = {\n extend: Focusable,\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n fontFamily: 'inherit',\n style\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nexport const Overflow = {\n class: {\n overflow: ({ props }) => props.overflow && ({ overflow: props.overflow })\n }\n}\n", "'use strict'\n\nimport { IGNORE_STATE_PARAMS } from './ignore'\n\nimport { triggerEventOn } from '@domql/event'\nimport {\n is,\n isObject,\n exec,\n isFunction,\n isUndefined,\n arrayContainsOtherArray,\n isObjectLike,\n isArray,\n removeFromArray,\n removeFromObject,\n deepClone,\n overwriteShallow,\n overwriteDeep\n} from '@domql/utils'\n\nexport const parse = function () {\n const state = this\n if (isObject(state)) {\n const obj = {}\n for (const param in state) {\n if (!IGNORE_STATE_PARAMS.includes(param)) {\n obj[param] = state[param]\n }\n }\n return obj\n } else if (isArray(state)) {\n return state.filter(item => !IGNORE_STATE_PARAMS.includes(item))\n }\n}\n\nexport const clean = function (options = {}) {\n const state = this\n for (const param in state) {\n if (!IGNORE_STATE_PARAMS.includes(param)) {\n delete state[param]\n }\n }\n state.update(state, { skipOverwrite: true, options })\n return state\n}\n\nexport const destroy = function () {\n const state = this\n const element = state.__element\n delete element.state\n element.state = state.parent\n\n if (state.parent) {\n delete state.parent.__children[element.key]\n }\n\n if (state.__children) {\n for (const key in state.__children) {\n const child = state.__children[key]\n if (child.state) {\n child.parent = state.parent\n }\n }\n }\n\n element.state.update()\n return element.state\n}\n\nexport const rootUpdate = function (obj, options = {}) {\n const state = this\n if (!state) return\n const rootState = (state.__element.__ref.__root).state\n return rootState.update(obj, options)\n}\n\nexport const updateState = function (obj, options = {}) {\n const state = this\n const element = state.__element\n const __elementRef = element.__ref\n const parentState = element.parent.state\n state.parent = parentState\n\n for (const param in state) {\n if (isUndefined(state[param])) {\n delete state[param]\n }\n }\n\n if (!state.__element) {\n create(element, element.parent)\n }\n\n const initStateUpdateReturns = triggerEventOn('initStateUpdated', element, obj)\n if (initStateUpdateReturns === false) return element\n\n if (!options.skipOverwrite) {\n if (options.shallow) {\n overwriteShallow(state, obj, IGNORE_STATE_PARAMS)\n } else {\n overwriteDeep(state, obj, IGNORE_STATE_PARAMS)\n }\n }\n\n const stateKey = __elementRef.__state\n const shouldPropagateState = stateKey && parentState && parentState[stateKey] && !options.stopStatePropagation\n if (shouldPropagateState) {\n const isStringState = (__elementRef.__stateType === 'string')\n const value = isStringState ? state.value : state.parse()\n parentState[stateKey] = value\n parentState.update(value, { skipOverwrite: true, ...options })\n return state\n }\n\n if (!options.preventUpdate) {\n element.update({}, options)\n } else if (options.preventUpdate === 'recursive') {\n element.update({}, { ...options, preventUpdate: true })\n }\n\n if (state.__depends) {\n for (const el in state.__depends) {\n const findElement = state.__depends[el]\n findElement.clean().update(state.parse(), options)\n }\n }\n\n if (!options.preventUpdateListener) {\n triggerEventOn('stateUpdated', element, obj)\n }\n\n return state\n}\n\nexport const remove = function (key, options) {\n const state = this\n if (isArray(state)) removeFromArray(state, key)\n if (isObject(state)) removeFromObject(state, key)\n return state.update(state, { skipOverwrite: true, options })\n}\n\nexport const apply = function (func, options) {\n const state = this\n if (isFunction(func)) {\n func(state)\n return state.update(state, { skipOverwrite: true, options })\n }\n}\n\nconst getParentStateInKey = (stateKey, parentState) => {\n const arr = stateKey.split('../')\n const arrLength = arr.length - 1\n for (let i = 0; i < arrLength; i++) {\n if (!parentState.parent) return null\n parentState = parentState.parent\n }\n return parentState\n}\n\nconst getChildStateInKey = (stateKey, parentState) => {\n const arr = stateKey.split('/')\n const arrLength = arr.length - 1\n for (let i = 0; i < arrLength; i++) {\n const childKey = arr[i]\n const grandChildKey = arr[i + 1]\n const childInParent = parentState[childKey]\n if (childInParent && childInParent[grandChildKey]) {\n stateKey = grandChildKey\n parentState = childInParent\n } else return\n }\n return parentState[stateKey]\n}\n\nconst createInheritedState = function (element, parent) {\n const __elementRef = element.__ref\n let stateKey = __elementRef.__state\n if (!stateKey) return element.state\n\n let parentState = parent.state\n if (stateKey.includes('../')) {\n parentState = getParentStateInKey(stateKey, parent.state)\n stateKey = stateKey.replaceAll('../', '')\n }\n if (!parentState) return {}\n\n const keyInParentState = getChildStateInKey(stateKey, parentState)\n if (!keyInParentState) return {}\n\n if (is(keyInParentState)('object', 'array')) {\n return deepClone(keyInParentState, IGNORE_STATE_PARAMS)\n } else if (is(keyInParentState)('string', 'number')) {\n __elementRef.__stateType = 'string'\n return { value: keyInParentState }\n }\n\n console.warn(stateKey, 'is not present. Replacing with', {})\n return {}\n}\n\nexport const createState = function (element, parent, opts) {\n const skip = (opts && opts.skip) ? opts.skip : false\n let { state, __ref: __elementRef } = element\n\n if (isFunction(state)) element.state = exec(state, element)\n\n if (is(state)('string', 'number')) {\n __elementRef.__state = state\n element.state = {}\n }\n if (state === true) {\n __elementRef.__state = element.key\n element.state = {}\n }\n\n // trigger `on.stateInit`\n triggerEventOn('stateInit', element)\n\n state = element.state = createInheritedState(element, parent)\n\n if (!state) {\n if (parent && parent.state) return parent.state\n return {}\n } else {\n __elementRef.__hasRootState = true\n }\n\n // reference other state\n // TODO: check why __ref is assigned with element\n // /docs/intro\n const { __ref } = state\n if (__ref) {\n state = deepClone(__ref, IGNORE_STATE_PARAMS)\n if (isObject(__ref.__depends)) {\n __ref.__depends[element.key] = state\n } else __ref.__depends = { [element.key]: state }\n } else {\n state = deepClone(state, IGNORE_STATE_PARAMS)\n }\n\n element.state = state\n\n // NOTE: Only true when 'onlyResolveExtends' option is set to true\n if (skip) return state\n\n applyMethods(element, state)\n\n // trigger `on.stateCreated`\n triggerEventOn('stateCreated', element)\n\n return state\n}\n\nexport const isState = function (state) {\n if (!isObjectLike(state)) return false\n const keys = Object.keys(state)\n return arrayContainsOtherArray(keys, ['update', 'parse', 'clean', 'create', 'parent', 'rootUpdate'])\n}\n\nconst applyMethods = (element, state) => {\n const __elementRef = element.__ref\n\n state.clean = clean\n state.parse = parse\n state.destroy = destroy\n state.update = updateState\n state.rootUpdate = rootUpdate\n state.create = createState\n state.remove = remove\n state.apply = apply\n state.parent = element.parent.state\n state.__element = element\n state.__children = {}\n state.__root = __elementRef.__root ? __elementRef.__root.state : state\n\n if (state.parent) state.parent.__children[element.key] = state\n}\n\nexport default createState\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { getSystemTheme } from './Theme'\n\nexport const Picture = {\n tag: 'picture',\n\n childExtend: {\n tag: 'source',\n attr: {\n media: (element) => {\n const { props, key, context } = element\n const { MEDIA } = context.designSystem\n const globalTheme = getSystemTheme(element)\n const mediaName = (props.media || key).slice(1)\n\n if (mediaName === globalTheme) return '(min-width: 0px)'\n else if (mediaName === 'dark' || mediaName === 'light') return '(max-width: 0px)'\n\n return MEDIA[mediaName]\n },\n srcset: ({ props }) => props.srcset\n }\n },\n\n Img: ({ props }) => ({\n width: 'inherit',\n height: 'inherit',\n src: props.src\n })\n}\n", "'use strict'\n\nexport const Pseudo = {\n class: {\n content: ({ props }) => props.content && ({ content: props.content })\n }\n}\n", "'use strict'\n\n// import { init } from '@symbo.ls/init'\n\n// create SVG symbol\nexport const Svg = {\n tag: 'svg',\n props: {\n style: { '*': { fill: 'currentColor' } }\n },\n attr: {\n xmlns: 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink'\n },\n html: ({ key, props, context, ...el }) => {\n const { designSystem, utils } = context\n const SVG = designSystem && designSystem.SVG\n const useSvgSprite = props.spriteId || (context.designSystem && context.designSystem.useSvgSprite)\n const useSVGSymbol = icon => `<use xlink:href=\"#${icon}\" />`\n\n const init = utils && utils.init\n\n if (!useSvgSprite && props.src) return props.src\n\n const spriteId = props.spriteId\n if (spriteId) return useSVGSymbol(spriteId)\n\n const symbolId = Symbol.for(props.src)\n let SVGKey = SVG[symbolId]\n if (SVGKey && SVG[SVGKey]) return useSVGSymbol(SVGKey)\n\n SVGKey = SVG[symbolId] = Math.random()\n if (props.src) {\n init({\n svg: { [SVGKey]: props.src }\n }, {\n document: context.document,\n emotion: context.emotion\n })\n }\n\n return useSVGSymbol(SVGKey)\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n", "'use strict'\n\nexport const Transform = {\n class: {\n transform: ({ props }) => props.transform && ({ transform: props.transform }),\n transformOrigin: ({ props }) => props.transformOrigin && ({ transformOrigin: props.transformOrigin })\n }\n}\n", "'use strict'\n\nexport const XYZ = {\n class: {\n zIndex: ({ props }) => props.zIndex && ({ zIndex: props.zIndex })\n }\n}\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "/*\n\nBased off glamor's StyleSheet, thanks Sunil \u2764\uFE0F\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n", "export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n", "/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n", "import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n", "import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n", "import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n", "import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", "function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n", "import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n", "/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n", "var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n", "import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n", "var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n", "import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport default createEmotion;\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport {\n Shape,\n Position,\n Theme,\n Block,\n Text,\n Overflow,\n Timing,\n Transform,\n Media,\n Interaction,\n XYZ,\n Animation\n} from '@symbo.ls/atoms'\n\nconst PropsCSS = {\n class: {\n style: ({ props }) => props && props.style\n }\n}\n\nexport const Box = {\n extend: [\n PropsCSS,\n Shape,\n Position,\n Theme,\n Block,\n Text,\n Overflow,\n Timing,\n Transform,\n Media,\n Interaction,\n XYZ,\n Animation\n ],\n attr: {\n id: ({ props }) => props.id\n }\n}\n", "'use strict'\n\nimport { Img, Flex } from '@symbo.ls/atoms'\n\nexport const Avatar = {\n extend: Img,\n props: {\n display: 'block',\n avatarType: 'initials',\n borderRadius: '100%',\n boxSize: 'B',\n cursor: 'pointer'\n },\n attr: {\n src: ({ key, props }) => props.src || `https://avatars.dicebear.com/api/${props.avatarType || 'adventurer-neutral'}/${props.key || key}.svg`\n }\n}\n\nexport const AvatarBundle = {\n extend: Flex,\n childExtend: {\n extend: Avatar,\n props: {\n boxSize: 'B1',\n border: '0.1312em, black .85, solid',\n ':not(:last-child)': {\n margin: '0 -Y2 0 0'\n }\n }\n }\n}\n", "'use strict'\n\nimport { Flex, Svg } from '@symbo.ls/atoms'\n\nexport const Icon = {\n extend: Svg,\n props: ({ key, props, parent, context }) => {\n const { ICONS, useIconSprite, verbose } = context && context.designSystem\n const { toCamelCase } = context && context.utils\n const iconName = props.inheritedString || props.name || props.icon || key\n const camelCase = toCamelCase(iconName)\n\n const isArray = camelCase.split(/([a-z])([A-Z])/g)\n\n let activeIconName\n if (props.active) {\n activeIconName = props['.active'].name || props['.active'].icon\n }\n if (\n parent &&\n parent.props &&\n parent.props.active &&\n parent.props['.active'] &&\n parent.props['.active'].icon\n ) {\n activeIconName = parent.props['.active'].icon.name || parent.props['.active'].icon.icon || parent.props['.active'].icon\n }\n\n let validIconName\n if (ICONS[activeIconName]) validIconName = activeIconName\n if (ICONS[camelCase]) validIconName = camelCase\n else if (ICONS[isArray[0] + isArray[1]]) validIconName = isArray[0] + isArray[1]\n else if (ICONS[isArray[0]]) validIconName = isArray[0]\n else {\n if (verbose) console.warn('Can\\'t find icon:', iconName, validIconName)\n }\n\n const iconFromLibrary = ICONS[validIconName]\n const directSrc = (parent && parent.props && parent.props.src) || props.src\n\n return {\n width: 'A',\n height: 'A',\n display: 'inline-block',\n spriteId: useIconSprite && validIconName,\n src: iconFromLibrary || directSrc || ICONS.noIcon,\n style: { fill: 'currentColor' }\n }\n },\n attr: { viewBox: '0 0 24 24' }\n}\n\nexport const IconText = {\n extend: Flex,\n\n props: {\n align: 'center center',\n lineHeight: 1\n },\n\n icon: {\n extend: Icon,\n if: ({ parent }) => parent.props.icon\n },\n\n Icon: {\n props: {},\n if: ({ props }) => props.name || props.icon\n },\n\n text: ({ props }) => props.text\n}\n", "'use strict'\n\nimport { FocusableComponent } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\n\nexport const Button = {\n extend: [FocusableComponent, IconText],\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n display: 'inline-flex',\n align: 'center center',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n padding: 'Z A1',\n fontFamily: 'inherit',\n round: 'C2'\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n\nexport const SquareButton = {\n extend: Button,\n props: {\n fontSize: 'A',\n width: 'A',\n padding: 'Z',\n aspectRatio: '1 / 1',\n justifyContent: 'center',\n round: 'Z',\n style: { boxSizing: 'content-box' }\n }\n}\n\nexport const CircleButton = {\n extend: SquareButton,\n props: { round: 'C' }\n}\n\nexport const KangorooButton = {\n extend: Button,\n childExtend: IconText\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { SquareButton } from '@symbo.ls/button'\n\nexport const ButtonSet = {\n tag: 'nav',\n extend: Flex,\n childExtend: SquareButton\n}\n", "'use strict'\n\nexport default {\n main: {\n 'section > header span:nth-child(6)': {\n opacity: 0.5\n },\n 'section > header span:nth-child(7)': {\n opacity: 0.5\n },\n 'section > div button:nth-child(7n)': {\n opacity: 0.5\n },\n 'section > div button:nth-child(7n - 1)': {\n opacity: 0.5\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(key, props, isSubtree ? result : result.media, element),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n $: (key, props, result, element, isSubtree) => applyCaseProps(key, props, isSubtree ? result : result.case, element),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(key, props, isSubtree ? result : result.case, element),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(key, props, isSubtree ? result : result.case, element)\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n merge(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport style from './style'\n\nimport { SquareButton, Button } from '@symbo.ls/button'\nimport { Flex, Grid } from '@symbo.ls/atoms'\n\nconst buttonProps = {\n theme: 'transparent',\n color: '--theme-quinary-dark-color',\n ':hover': {\n theme: 'quinary .child'\n }\n}\n\nconst aside = {\n props: {\n gap: 'X2',\n margin: '-Z - -Z -X2',\n padding: 'Z - Z X2',\n minHeight: '100%',\n height: '100%',\n width: '--spacing-D'\n },\n\n cnt: {\n extend: Flex,\n props: {\n flow: 'column',\n overflow: 'hidden auto',\n boxSize: '100% --spacing-D',\n top: '0',\n position: 'absolute',\n maxHeight: '100%',\n justifyContent: 'flex-end'\n },\n\n childExtend: {\n extend: Button,\n props: {\n ...buttonProps,\n fontSize: 'Z1'\n },\n text: ({ state }) => state.value\n }\n }\n\n}\n\nconst main = {\n extend: Flex,\n\n props: {\n flex: 1,\n gap: 'X2',\n flow: 'column',\n\n header: {\n align: 'center space-between'\n }\n },\n\n header: {\n extend: Flex,\n left: {\n extend: SquareButton,\n props: {\n ...buttonProps,\n round: 'C',\n icon: 'arrowAngleLeft'\n }\n },\n month: {\n tag: 'span',\n text: 'December'\n },\n right: {\n extend: SquareButton,\n props: {\n ...buttonProps,\n round: 'C',\n icon: 'arrowAngleRight'\n }\n }\n },\n days: {\n extend: Flex,\n props: {\n flow: 'column',\n gap: 'X2'\n },\n childExtend: {\n extend: Grid,\n props: {\n columns: 'repeat(7, 1fr)',\n gap: 'X2'\n }\n },\n weekDays: {\n childExtend: {\n extend: Button,\n props: {\n ...buttonProps,\n fontSize: 'Z1',\n padding: 'X2'\n }\n },\n ...[\n { text: 'Mo' },\n { text: 'Tu' },\n { text: 'We' },\n { text: 'Th' },\n { text: 'Fr' },\n { text: 'Sa' },\n { text: 'Su' }\n ]\n },\n\n cnt: {\n childExtend: {\n extend: SquareButton,\n\n props: ({ key, state }) => ({\n ...buttonProps,\n theme: 'quaternary',\n active: key === '18',\n '.active': {\n theme: 'quinary'\n }\n })\n },\n\n ...new Array(31).fill(undefined).map((_, i) => ({ text: i + 1 }))\n }\n }\n}\n\nexport const DatePicker = {\n style,\n extend: Flex,\n\n props: {\n position: 'relative',\n theme: 'quinary',\n transition: 'A all',\n round: 'Z',\n padding: 'Z Z2 Z X2',\n gap: 'X2',\n depth: 16,\n minHeight: '0',\n align: 'stretch center'\n },\n\n aside,\n main\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { Button } from '@symbo.ls/button'\n\nexport const DropdownList = {\n extend: Flex,\n\n props: {\n padding: '0 Y',\n maxHeight: 'G',\n flow: 'column',\n theme: 'quaternary',\n overflow: 'hidden auto',\n style: { listStyleType: 'none' }\n },\n\n childExtend: {\n extend: Button,\n state: {},\n props: ({ key, state }) => ({\n active: state.active === key,\n position: 'relative',\n round: '0',\n align: 'center flex-end',\n flow: 'row-reverse',\n padding: 'Z2 C Z2 Y2',\n margin: '0',\n gap: 'Y2',\n theme: 'quaternary .child',\n\n ':hover': {\n style: {\n svg: { opacity: '0.5' }\n }\n },\n\n icon: {\n active: state.active === key,\n name: 'checkmark',\n opacity: '0.1',\n '.active': { opacity: '1' }\n },\n\n ':not(:first-child)': {\n '@dark': { border: 'gray4 .65, solid' },\n '@light': { border: 'gray11, solid' },\n borderWidth: '1px 0 0'\n }\n })\n }\n}\n\nexport const DropdownParent = {\n props: {\n position: 'relative',\n zIndex: 999,\n style: {\n '&:hover': {\n zIndex: 1000,\n '& [dropdown]': {\n transform: 'translate3d(0,0,0)',\n opacity: 1,\n visibility: 'visible'\n }\n }\n }\n }\n}\n", "'use strict'\n\nimport { Flex, Svg } from '@symbo.ls/atoms'\n\nexport const Icon = {\n extend: Svg,\n props: ({ key, props, parent, context }) => {\n const { ICONS, useIconSprite, verbose } = context && context.designSystem\n const { toCamelCase } = context && context.utils\n const iconName = props.inheritedString || props.name || props.icon || key\n const camelCase = toCamelCase(iconName)\n\n const isArray = camelCase.split(/([a-z])([A-Z])/g)\n\n let activeIconName\n if (props.active) {\n activeIconName = props['.active'].name || props['.active'].icon\n }\n if (\n parent &&\n parent.props &&\n parent.props.active &&\n parent.props['.active'] &&\n parent.props['.active'].icon\n ) {\n activeIconName = parent.props['.active'].icon.name || parent.props['.active'].icon.icon || parent.props['.active'].icon\n }\n\n let validIconName\n if (ICONS[activeIconName]) validIconName = activeIconName\n if (ICONS[camelCase]) validIconName = camelCase\n else if (ICONS[isArray[0] + isArray[1]]) validIconName = isArray[0] + isArray[1]\n else if (ICONS[isArray[0]]) validIconName = isArray[0]\n else {\n if (verbose) console.warn('Can\\'t find icon:', iconName, validIconName)\n }\n\n const iconFromLibrary = ICONS[validIconName]\n const directSrc = parent.props.src || props.src\n\n return {\n width: 'A',\n height: 'A',\n display: 'inline-block',\n spriteId: useIconSprite && validIconName,\n src: iconFromLibrary || directSrc || ICONS.noIcon,\n style: { fill: 'currentColor' }\n }\n },\n attr: { viewBox: '0 0 24 24' }\n}\n\nexport const IconText = {\n extend: Flex,\n\n props: {\n align: 'center center',\n lineHeight: 1\n },\n\n icon: {\n extend: Icon,\n if: ({ parent }) => parent.props.icon\n },\n\n text: ({ props }) => props.text\n}\n", "'use strict'\n\nimport { router as defaultRouter } from '@domql/router'\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Link = {\n extend: Focusable,\n tag: 'a',\n props: {\n aria: {},\n fontWeight: 'bold',\n textDecoration: 'none',\n color: 'currentColor',\n draggable: false\n },\n attr: {\n href: (el, s, ctx) => {\n const { exec } = ctx.utils\n return exec(el.props.href, el) || exec(el.props, el).href\n },\n target: ({ props }) => props.target,\n 'aria-label': ({ props }) => props.aria ? props.aria.label : props.text,\n draggable: ({ props }) => props.draggable\n }\n}\n\nexport const RouterLink = {\n on: {\n click: (event, el, s, ctx) => {\n const { props } = el\n const { utils, routerOptions } = ctx\n const { router } = utils\n const root = el.__ref.__root\n const { href } = props\n const linkIsExternal = href.includes('http://') ||\n href.includes('https://') ||\n href.includes('mailto:') ||\n href.includes('tel:')\n const options = props.routerOptions || routerOptions || {\n scrollToOptions: { behaviour: 'instant' }\n }\n if (href && !linkIsExternal) {\n (router || defaultRouter)(href, root, {}, options)\n event.preventDefault()\n }\n }\n }\n}\n\nexport const RouteLink = {\n extend: [Link, RouterLink]\n}\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Input = {\n extend: [Focusable],\n tag: 'input',\n\n props: {\n border: 'none',\n type: 'input',\n theme: 'quaternary',\n fontSize: 'A',\n round: 'C',\n lineHeight: 1,\n fontFamily: 'smbls',\n padding: 'Z A'\n },\n\n attr: {\n pattern: ({ props }) => props.pattern,\n minlength: ({ props }) => props.minlength,\n maxlength: ({ props }) => props.maxlength,\n name: ({ props }) => props.name,\n autocomplete: ({ props }) => props.autocomplete,\n placeholder: ({ props }) => props.placeholder,\n value: ({ props, state }) => props.value,\n disabled: ({ props }) => props.disabled || null,\n readonly: ({ props }) => props.readonly,\n required: ({ props }) => props.required,\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(key, props, isSubtree ? result : result.media, element),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n $: (key, props, result, element, isSubtree) => applyCaseProps(key, props, isSubtree ? result : result.case, element),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(key, props, isSubtree ? result : result.case, element),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(key, props, isSubtree ? result : result.case, element)\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n merge(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nconst style = {\n appearance: 'none',\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit'\n}\n\nexport const Hoverable = {\n props: {\n transition: 'C defaultBezier',\n transitionProperty: 'opacity, transform',\n opacity: 0.85,\n\n ':hover': {\n opacity: 0.9,\n transform: 'scale(1.015)'\n },\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1,\n transform: 'scale(1.015)',\n\n ':hover': { opacity: 1 }\n }\n }\n}\n\nexport const Clickable = {\n extend: Hoverable,\n props: {\n ':active': {\n opacity: 1,\n transform: 'scale(1.015)'\n },\n '.active': {\n opacity: 1\n }\n }\n}\n\nexport const Focusable = {\n props: {\n border: 'none',\n outline: 'solid, 0, blue .3',\n ':focus-visible': {\n opacity: 1,\n outline: 'solid, X, blue .3'\n }\n },\n\n attr: {\n placeholder: ({ props }) => props.placeholder,\n tabIndex: ({ props }) => props.tabIndex\n }\n}\n\nexport const FocusableComponent = {\n extend: Focusable,\n tag: 'button',\n props: {\n fontSize: 'A',\n type: 'button',\n border: 'none',\n textDecoration: 'none',\n lineHeight: '1',\n whiteSpace: 'nowrap',\n fontFamily: 'inherit',\n style\n },\n attr: {\n type: ({ props }) => props.type\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\nimport { Input } from '@symbo.ls/input'\n\nexport const Field = {\n extend: [IconText],\n\n props: ({ state, key }) => ({\n value: state[key],\n\n depth: 16,\n placeholder: '',\n padding: 'A B',\n round: 'C',\n type: 'text',\n position: 'relative',\n width: '16em',\n\n style: {\n appearance: 'none',\n outline: 0,\n border: 'none',\n cursor: 'pointer',\n fontFamily: 'inherit',\n boxSizing: 'border-box'\n },\n\n input: {\n width: '100%',\n height: '100%',\n border: 'none'\n },\n\n svg: {\n position: 'absolute',\n right: '1em'\n }\n }),\n\n input: { extend: [Focusable, Input] }\n}\n", "'use strict'\n\nexport const Video = {\n tag: 'video',\n\n childExtend: {\n tag: 'source',\n attr: {\n src: ({ props }) => props.src,\n controls: ({ props }) => props.controls\n }\n },\n\n props: {\n controls: true\n },\n\n attr: {\n autoplay: ({ props }) => props.autoplay,\n controls: ({ props }) => props.controls\n }\n}\n", "'use strict'\n\nimport { isFunction } from '@domql/utils'\nimport { opacify } from '@symbo.ls/scratch'\nimport { SquareButton } from '@symbo.ls/button'\n\nconst props = {\n appearance: 'none',\n width: '100%',\n height: '2px',\n outline: 'none',\n flex: 1,\n\n onInput: (ev, el, s) => s.update({ value: el.node.value }),\n onChange: (ev, el, s) => s.update({ value: el.node.value }),\n\n style: {\n appearance: 'none'\n },\n\n '::-webkit-slider-thumb': {\n boxSizing: 'content-box',\n width: '8px',\n height: '8px',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: '100%',\n opacity: '.8',\n\n style: {\n appearance: 'none'\n }\n },\n\n '::-webkit-slider-runnable-track': {\n },\n\n '@dark': {\n background: 'white 0.2',\n\n '::-webkit-slider-thumb': {\n background: '#232526',\n borderColor: opacify('#454646', 0.75)\n },\n\n ':hover': {\n '::-webkit-slider-thumb': {\n borderColor: opacify('#fff', 0.35)\n }\n },\n\n ':focus': {\n '::-webkit-slider-thumb': {\n borderColor: '#3C6AC0'\n }\n }\n },\n\n '@light': {\n background: 'gray9',\n\n '::-webkit-slider-thumb': {\n background: 'white',\n borderColor: 'gray9'\n },\n\n ':hover': {\n '::-webkit-slider-thumb': {\n borderColor: 'gray7'\n }\n },\n\n ':focus': {\n '::-webkit-slider-thumb': {\n borderColor: 'blue'\n }\n }\n }\n}\n\nexport const Range = {\n props,\n\n tag: 'input',\n attr: { type: 'range' }\n}\n\nconst listenProp = (el, prop, def) => {\n const val = el.props && el.props[prop]\n const r = (isFunction(val) ? val(el, el.state) : val !== undefined ? val : def !== undefined ? def : 50)\n return r + ''\n}\n\nexport const RangeWithButtons = {\n minus: {\n extend: SquareButton,\n props: { theme: 'tertiary', icon: 'minus' },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.onClick) && el.props.onClick(ev, el, s)\n }\n }\n },\n value: {\n style: { width: '4ch' },\n tag: 'span',\n text: (el, s) => {\n const unit = listenProp(el.parent.input, 'unit', '')\n return '' + (s.value || 50) + unit\n }\n },\n input: {\n extend: Range,\n attr: {\n value: (el, s) => parseFloat(s.value),\n min: (el, s) => listenProp(el, 'min', 0),\n max: (el, s) => listenProp(el, 'max', 100),\n step: (el, s) => listenProp(el, 'step', 1)\n },\n on: {\n input: (ev, el, s) => el.props && isFunction(el.props.onInput) && el.props.onInput(ev, el, s),\n change: (ev, el, s) => el.props && isFunction(el.props.onChange) && el.props.onChange(ev, el, s)\n }\n },\n plus: {\n extend: SquareButton,\n props: { theme: 'tertiary', icon: 'plus' },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.onClick) && el.props.onClick(ev, el, s)\n }\n }\n }\n}\n", "'use strict'\n\nexport default {\n appearance: 'none',\n width: '100%',\n height: '2px',\n outline: 'none',\n flex: 1,\n '&::-webkit-slider-thumb': {\n boxSizing: 'content-box',\n appearance: 'none',\n width: '8px',\n height: '8px',\n borderWidth: '2px',\n borderStyle: 'solid',\n borderRadius: '100%',\n opacity: '.8'\n }\n}\n", "'use strict'\n\nimport style from './style'\n\nimport { set, opacify } from '@symbo.ls/scratch'\nimport { isFunction } from '@domql/utils'\n\nimport { SquareButton } from '@symbo.ls/button'\n\nset({\n theme: {\n sliderThumb: {\n background: 'white 0.2',\n\n '&::-webkit-slider-thumb': {\n background: '#232526',\n borderColor: opacify('#454646', 0.75)\n },\n\n '&:hover': {\n '&::-webkit-slider-thumb': {\n borderColor: opacify('#fff', 0.35)\n }\n },\n\n '&:focus, &:active': {\n '&::-webkit-slider-thumb': {\n borderColor: '#3C6AC0'\n }\n }\n }\n }\n})\n\nexport const RangeSlider = {\n style,\n props: {\n theme: 'sliderThumb'\n },\n\n tag: 'input',\n attr: { type: 'range' }\n}\n\nconst listenProp = (el, prop, def) => {\n const val = el && el.props && el.props[prop]\n const r = (isFunction(val) ? val() : val) || (def !== undefined ? def : 50)\n return r\n}\n\nexport const Slider = {\n button0: {\n extend: [SquareButton],\n props: {\n icon: 'minus'\n },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.click) && el.props.click(ev, el, s)\n const input = el.parent.input\n const props = input.props\n const value = isFunction(props.value) ? props.value() : props.value\n input.node.value = value\n }\n }\n },\n value: {\n style: { width: '4ch' },\n tag: 'span',\n text: (el, s) => {\n const value = listenProp(el.parent.input, 'value')\n const unit = listenProp(el.parent.input, 'unit', '')\n return '' + value + unit\n }\n },\n range: {\n extend: RangeSlider,\n attr: {\n value: (el, s) => listenProp(el, 'value', 50),\n min: (el, s) => listenProp(el, 'min', 0),\n max: (el, s) => listenProp(el, 'max', 100),\n step: (el, s) => listenProp(el, 'step', 1)\n },\n on: {\n input: (ev, el, s) => el.props && isFunction(el.props.input) && el.props.input(ev, el, s),\n change: (ev, el, s) => el.props && isFunction(el.props.change) && el.props.change(ev, el, s)\n }\n },\n button1: {\n extend: [SquareButton],\n props: {\n icon: 'plus'\n },\n on: {\n click: (ev, el, s) => {\n el.props && isFunction(el.props.click) && el.props.click(ev, el, s)\n const input = el.parent.input\n const props = input.props\n const value = isFunction(props.value) ? props.value() : props.value\n input.node.value = value\n }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio, getSpacingByKey, transfromGap } from '@symbo.ls/scratch'\n\nexport const Block = {\n class: {\n boxSizing: ({ props }) => props.boxSizing\n ? ({ boxSizing: props.boxSizing })\n : {\n boxSizing: 'border-box'\n },\n\n display: ({ props }) => props.display && ({ display: props.display }),\n\n hide: ({ props }) => props.hide && ({ display: 'none' }),\n\n width: ({ props }) => props.width && getSpacingBasedOnRatio(props, 'width'),\n height: ({ props }) => props.height && getSpacingBasedOnRatio(props, 'height'),\n boxSize: ({ props }) => {\n if (typeof props.boxSize !== 'string') return\n const [height, width] = props.boxSize.split(' ')\n return {\n ...getSpacingByKey(height, 'height'),\n ...getSpacingByKey(width || height, 'width')\n }\n },\n\n maxWidth: ({ props }) => props.maxWidth && getSpacingBasedOnRatio(props, 'maxWidth'),\n minWidth: ({ props }) => props.minWidth && getSpacingBasedOnRatio(props, 'minWidth'),\n widthRange: ({ props }) => {\n if (typeof props.widthRange !== 'string') return\n const [minWidth, maxWidth] = props.widthRange.split(' ')\n return {\n ...getSpacingByKey(minWidth, 'minWidth'),\n ...getSpacingByKey(maxWidth || minWidth, 'maxWidth')\n }\n },\n\n maxHeight: ({ props }) => props.maxHeight && getSpacingBasedOnRatio(props, 'maxHeight'),\n minHeight: ({ props }) => props.minHeight && getSpacingBasedOnRatio(props, 'minHeight'),\n heightRange: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n direction: ({ props }) => props.direction && ({ direction: props.direction }),\n\n aspectRatio: ({ props }) => props.aspectRatio && ({ aspectRatio: props.aspectRatio }),\n\n borderWidth: ({ props }) => props.borderWidth ? getSpacingBasedOnRatio(props, 'borderWidth') : null,\n\n padding: ({ props }) => props.padding ? getSpacingBasedOnRatio(props, 'padding') : null,\n paddingInline: ({ props }) => {\n if (typeof props.paddingInline !== 'string') return\n const [paddingInlineStart, paddingInlineEnd] = props.paddingInline.split(' ')\n return {\n ...getSpacingByKey(paddingInlineStart, 'paddingInlineStart'),\n ...getSpacingByKey(paddingInlineEnd || paddingInlineStart, 'paddingInlineEnd')\n }\n },\n paddingBlock: ({ props }) => {\n if (typeof props.paddingBlock !== 'string') return\n const [paddingBlockStart, paddingBlockEnd] = props.paddingBlock.split(' ')\n return {\n ...getSpacingByKey(paddingBlockStart, 'paddingBlockStart'),\n ...getSpacingByKey(paddingBlockEnd || paddingBlockStart, 'paddingBlockEnd')\n }\n },\n paddingInlineStart: ({ props }) => props.paddingInlineStart ? getSpacingBasedOnRatio(props, 'paddingInlineStart') : null,\n paddingInlineEnd: ({ props }) => props.paddingInlineEnd ? getSpacingBasedOnRatio(props, 'paddingInlineEnd') : null,\n paddingBlockStart: ({ props }) => props.paddingBlockStart ? getSpacingBasedOnRatio(props, 'paddingBlockStart') : null,\n paddingBlockEnd: ({ props }) => props.paddingBlockEnd ? getSpacingBasedOnRatio(props, 'paddingBlockEnd') : null,\n\n margin: ({ props }) => props.margin ? getSpacingBasedOnRatio(props, 'margin') : null,\n marginInline: ({ props }) => {\n if (typeof props.marginInline !== 'string') return\n const [marginInlineStart, marginInlineEnd] = props.marginInline.split(' ')\n return {\n ...getSpacingByKey(marginInlineStart, 'marginInlineStart'),\n ...getSpacingByKey(marginInlineEnd || marginInlineStart, 'marginInlineEnd')\n }\n },\n marginBlock: ({ props }) => {\n if (typeof props.marginBlock !== 'string') return\n const [marginBlockStart, marginBlockEnd] = props.marginBlock.split(' ')\n return {\n ...getSpacingByKey(marginBlockStart, 'marginBlockStart'),\n ...getSpacingByKey(marginBlockEnd || marginBlockStart, 'marginBlockEnd')\n }\n },\n marginInlineStart: ({ props }) => props.marginInlineStart ? getSpacingBasedOnRatio(props, 'marginInlineStart') : null,\n marginInlineEnd: ({ props }) => props.marginInlineEnd ? getSpacingBasedOnRatio(props, 'marginInlineEnd') : null,\n marginBlockStart: ({ props }) => props.marginBlockStart ? getSpacingBasedOnRatio(props, 'marginBlockStart') : null,\n marginBlockEnd: ({ props }) => props.marginBlockEnd ? getSpacingBasedOnRatio(props, 'marginBlockEnd') : null,\n\n gap: ({ props }) => props.gap\n ? ({\n gap: transfromGap(props.gap)\n })\n : null,\n gridArea: ({ props }) => props.gridArea && ({ gridArea: props.gridArea }),\n\n flex: ({ props }) => props.flex && ({ flex: props.flex }),\n flexDirection: ({ props }) => props.flexDirection && ({ flexDirection: props.flexDirection }),\n alignItems: ({ props }) => props.alignItems && ({ alignItems: props.alignItems }),\n alignContent: ({ props }) => props.alignContent && ({ alignContent: props.alignContent }),\n justifyContent: ({ props }) => props.justifyContent && ({ justifyContent: props.justifyContent }),\n justifyItems: ({ props }) => props.justifyItems && ({ justifyItems: props.justifyItems }),\n alignSelf: ({ props }) => props.alignSelf && ({ alignSelf: props.alignSelf }),\n order: ({ props }) => props.order && ({ order: props.order }),\n\n flexWrap: ({ props }) => props.flexWrap && ({\n display: 'flex',\n flexFlow: props.flexWrap\n }),\n flexFlow: ({ props }) => props.flexFlow && ({\n display: 'flex',\n flexFlow: props.flexFlow\n }),\n flexAlign: ({ props }) => {\n if (typeof props.flexAlign !== 'string') return\n const [alignItems, justifyContent] = props.flexAlign.split(' ')\n return {\n display: 'flex',\n alignItems,\n justifyContent\n }\n },\n\n gridColumn: ({ props }) => props.gridColumn && ({ gridColumn: props.gridColumn }),\n gridColumnStart: ({ props }) => props.columnStart\n ? ({\n gridColumnStart: props.columnStart\n })\n : null,\n gridRow: ({ props }) => props.gridRow && ({ gridRow: props.gridRow }),\n gridRowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n size: ({ props }) => {\n if (typeof props.heightRange !== 'string') return\n const [minHeight, maxHeight] = props.heightRange.split(' ')\n return {\n ...getSpacingByKey(minHeight, 'minHeight'),\n ...getSpacingByKey(maxHeight || minHeight, 'maxHeight')\n }\n },\n\n columns: ({ props }) => props.columns && ({ columns: props.columns }),\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n columnSpan: ({ props }) => props.columnSpan && ({ columns: props.columnSpan }),\n columnFill: ({ props }) => props.columnFill && ({ columns: props.columnFill }),\n columnCount: ({ props }) => props.columnCount && ({ columns: props.columnCount })\n }\n}\n\nexport const Span = { tag: 'span' }\nexport const List = {\n tag: 'ul',\n childExtend: { tag: 'li' }\n}\n// export const Article = { tag: 'article' }\n", "'use strict'\n\nexport const Flex = {\n props: {\n display: 'flex'\n },\n\n class: {\n flow: ({ props }) => props.flow && ({ flexFlow: props.flow }),\n wrap: ({ props }) => props.wrap && ({ flexWrap: props.wrap }),\n align: ({ props }) => {\n if (typeof props.align !== 'string') return\n const [alignItems, justifyContent] = props.align.split(' ')\n return { alignItems, justifyContent }\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingBasedOnRatio } from '@symbo.ls/scratch'\n\nexport const Grid = {\n props: { display: 'grid' },\n\n class: {\n area: ({ props }) => props.area ? ({ gridArea: props.area }) : null,\n template: ({ props }) => props.template ? ({ gridTemplate: props.template }) : null,\n templateAreas: ({ props }) => props.templateAreas ? ({ gridTemplateAreas: props.templateAreas }) : null,\n\n column: ({ props }) => props.column ? ({ gridColumn: props.column }) : null,\n columns: ({ props }) => props.columns ? ({ gridTemplateColumns: props.columns }) : null,\n templateColumns: ({ props }) => props.templateColumns ? ({ gridTemplateColumns: props.templateColumns }) : null,\n autoColumns: ({ props }) => props.autoColumns ? ({ gridAutoColumns: props.autoColumns }) : null,\n columnStart: ({ props }) => props.columnStart ? ({ gridColumnStart: props.columnStart }) : null,\n\n row: ({ props }) => props.row ? ({ gridRow: props.row }) : null,\n rows: ({ props }) => props.rows ? ({ gridTemplateRows: props.rows }) : null,\n templateRows: ({ props }) => props.templateRows ? ({ gridTemplateRows: props.templateRows }) : null,\n autoRows: ({ props }) => props.autoRows ? ({ gridAutoRows: props.autoRows }) : null,\n rowStart: ({ props }) => props.rowStart ? ({ gridRowStart: props.rowStart }) : null,\n\n autoFlow: ({ props }) => props.autoFlow ? ({ gridAutoFlow: props.autoFlow }) : null,\n\n columnGap: ({ props }) => props.columnGap ? getSpacingBasedOnRatio(props, 'columnGap') : null,\n rowGap: ({ props }) => props.rowGap ? getSpacingBasedOnRatio(props, 'rowGap') : null\n }\n}\n", "'use strict'\n\nimport { merge, isArray } from '@domql/utils'\nimport { getSystemTheme } from './Theme'\n\nexport const keySetters = {\n '@': (key, props, result, element, isSubtree) => applyMediaProps(key, props, isSubtree ? result : result.media, element),\n ':': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '[': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n '&': (key, props, result, element, isSubtree) => applySelectorProps(key, props, isSubtree ? result : result.selector, element),\n $: (key, props, result, element, isSubtree) => applyCaseProps(key, props, isSubtree ? result : result.case, element),\n '.': (key, props, result, element, isSubtree) => applyConditionalCaseProps(key, props, isSubtree ? result : result.case, element),\n '!': (key, props, result, element, isSubtree) => applyConditionalFalsyProps(key, props, isSubtree ? result : result.case, element)\n}\n\nconst execClass = (key, props, result, element) => {\n const { class: className } = element\n const classnameExec = className[key]\n\n if (typeof classnameExec !== 'function') return\n\n let classExec = classnameExec({\n props,\n context: element.context,\n state: element.state\n })\n if (isArray(classExec)) {\n classExec = classExec.reduce((a, c) => merge(a, c), {})\n }\n\n for (const finalProp in classExec) {\n result[finalProp] = classExec[finalProp]\n }\n\n return classExec\n}\n\nconst convertPropsToClass = (props, result, element) => {\n const propsClassObj = {}\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) {\n setter(key, props[key], propsClassObj, element, true)\n continue\n } else {\n execClass(key, props, propsClassObj, element)\n }\n }\n\n return propsClassObj\n}\n\nconst applyMediaProps = (key, props, result, element) => {\n const { context } = element\n if (!context.designSystem || !context.designSystem.MEDIA) return\n const globalTheme = getSystemTheme(element)\n const { MEDIA } = context.designSystem\n const mediaName = MEDIA[key.slice(1)]\n const generatedClass = convertPropsToClass(props, result, element)\n\n const name = key.slice(1)\n const isTheme = ['dark', 'light'].includes(name)\n const matchesGlobal = name === globalTheme\n\n if (globalTheme && isTheme) {\n if (matchesGlobal) return merge(result, generatedClass)\n return\n }\n\n const mediaKey = `@media screen and ${mediaName}`\n result[mediaKey] = generatedClass\n return result[mediaKey]\n}\n\nconst applySelectorProps = (key, props, result, element) => {\n const selectorKey = `&${key}`\n result[selectorKey] = convertPropsToClass(props, result, element)\n return result[selectorKey]\n}\n\nconst applyCaseProps = (key, props, result, element) => {\n const { CASES } = element.context && element.context.designSystem\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey]\n if (!CASES[caseKey] && !isPropTrue) return\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalCaseProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return // remove classname if not here\n return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyConditionalFalsyProps = (key, props, result, element) => {\n const caseKey = key.slice(1)\n const isPropTrue = element.props[caseKey] || element.state[caseKey] === true\n if (!isPropTrue) return merge(result, convertPropsToClass(props, result, element))\n}\n\nconst applyTrueProps = (props, result, element) => merge(result, convertPropsToClass(props, result, element))\n\nconst beforeClassAssign = (element, s) => {\n const { props, class: className } = element\n\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n merge(className, CLASS_NAMES)\n}\n\nconst initUpdate = (changes, element) => {\n const { props, context, class: className } = element\n const globalTheme = context.designSystem.globalTheme\n\n const parentProps = element.parent.props\n if (parentProps && parentProps.spacingRatio && parentProps.inheritSpacingRatio) {\n element.setProps({\n spacingRatio: parentProps.spacingRatio,\n inheritSpacingRatio: true\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true\n })\n }\n\n if (globalTheme) {\n const CLASS_NAMES = {\n media: {},\n selector: {},\n case: {}\n }\n\n for (const key in props) {\n const setter = keySetters[key.slice(0, 1)]\n if (key === 'theme') {\n props.update({\n themeModifier: globalTheme\n }, {\n preventRecursive: true,\n preventInitUpdateListener: true,\n preventDefineUpdate: true\n })\n } else if (key === 'true') applyTrueProps(props[key], CLASS_NAMES, element)\n if (setter) setter(key, props[key], CLASS_NAMES, element)\n }\n\n if (Object.keys(CLASS_NAMES.media).length) {\n className.media = CLASS_NAMES.media\n }\n className.selector = CLASS_NAMES.selector\n className.case = CLASS_NAMES.case\n }\n}\n\nexport const Media = {\n on: { beforeClassAssign, initUpdate }\n}\n", "'use strict'\n\nimport {\n getMediaTheme,\n getMediaColor,\n transformTextStroke,\n transformShadow,\n transformBorder,\n transformBackgroundImage\n} from '@symbo.ls/scratch'\n\nimport { depth } from './Shape/style'\n\nexport const getSystemTheme = ({ context, state }) => {\n const rootState = state && state.__root\n return rootState ? rootState.globalTheme : context.designSystem && context.designSystem.globalTheme\n}\n\nexport const Theme = {\n class: {\n depth: ({ props }) => props.depth && depth[props.depth],\n\n theme: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.theme) return\n return getMediaTheme(props.theme, `@${props.themeModifier || globalTheme}`)\n },\n\n color: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.color) return\n return {\n color: getMediaColor(props.color, globalTheme)\n }\n },\n\n background: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.background) return\n return {\n background: getMediaColor(props.background, globalTheme)\n }\n },\n\n backgroundColor: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundColor) return\n return {\n backgroundColor: getMediaColor(props.backgroundColor, globalTheme)\n }\n },\n\n backgroundImage: (element) => {\n const { props } = element\n const globalTheme = getSystemTheme(element)\n if (!props.backgroundImage) return\n return ({\n backgroundImage: transformBackgroundImage(props.backgroundImage, globalTheme)\n })\n },\n backgroundSize: ({ props }) => props.backgroundSize\n ? ({\n backgroundSize: props.backgroundSize\n })\n : null,\n backgroundPosition: ({ props }) => props.backgroundPosition\n ? ({\n backgroundPosition: props.backgroundPosition\n })\n : null,\n\n textStroke: ({ props }) => props.textStroke\n ? ({\n WebkitTextStroke: transformTextStroke(props.textStroke)\n })\n : null,\n\n outline: ({ props }) => props.outline && ({\n outline: transformBorder(props.outline)\n }),\n\n border: ({ props }) => props.border && ({\n border: transformBorder(props.border)\n }),\n borderColor: ({ props }) => props.borderColor && ({\n borderColor: getMediaColor(props.borderColor)\n }),\n borderStyle: ({ props }) => props.borderStyle && ({\n borderStyle: props.borderStyle\n }),\n\n borderLeft: ({ props }) => props.borderLeft && ({\n borderLeft: transformBorder(props.borderLeft)\n }),\n borderTop: ({ props }) => props.borderTop && ({\n borderTop: transformBorder(props.borderTop)\n }),\n borderRight: ({ props }) => props.borderRight && ({\n borderRight: transformBorder(props.borderRight)\n }),\n borderBottom: ({ props }) => props.borderBottom && ({\n borderBottom: transformBorder(props.borderBottom)\n }),\n\n boxShadow: ({ props }) => props.boxShadow && ({\n boxShadow: transformShadow(props.boxShadow)\n }),\n\n textShadow: ({ props }) => props.textShadow && ({\n textShadow: transformShadow(props.textShadow)\n }),\n\n opacity: ({ props }) => props.opacity && ({\n opacity: props.opacity\n }),\n visibility: ({ props }) => props.visibility && ({\n visibility: props.visibility\n }),\n\n columnRule: ({ props }) => props.columnRule && ({\n columnRule: transformBorder(props.columnRule)\n })\n }\n}\n", "'use strict'\n\nimport { getActiveConfig, getColor, getTheme } from '@symbo.ls/scratch' // eslint-disable-line no-unused-vars\nimport { Timing } from '../Timing'\n\nconst CONFIG = getActiveConfig()\n\nexport const depth = {\n 4: { boxShadow: `rgba(0,0,0,.10) 0 2${CONFIG.UNIT.default} 4${CONFIG.UNIT.default}` },\n 6: { boxShadow: `rgba(0,0,0,.10) 0 3${CONFIG.UNIT.default} 6${CONFIG.UNIT.default}` },\n 10: { boxShadow: `rgba(0,0,0,.10) 0 4${CONFIG.UNIT.default} 10${CONFIG.UNIT.default}` },\n 16: { boxShadow: `rgba(0,0,0,.10) 0 8${CONFIG.UNIT.default} 16${CONFIG.UNIT.default}` },\n 26: { boxShadow: `rgba(0,0,0,.10) 0 14${CONFIG.UNIT.default} 26${CONFIG.UNIT.default}` },\n 42: { boxShadow: `rgba(0,0,0,.10) 0 20${CONFIG.UNIT.default} 42${CONFIG.UNIT.default}` }\n}\n\nconst getComputedBackgroundColor = ({ props }) => {\n return getColor(props.shapeDirectionColor) ||\n getColor(props.borderColor) ||\n getColor(props.backgroundColor) ||\n getColor(props.background)\n}\n\nconst inheritTransition = ({ props }) => {\n const exec = Timing.class.transition({ props })\n return exec && exec.transition\n}\n\nexport const SHAPES = {\n rectangle: {},\n circle: { borderRadius: '100%' },\n bubble: {},\n tv: {\n borderRadius: '1.15em/2.5em'\n },\n\n tooltip: ({ props }) => ({\n position: props.position || 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n width: '0px',\n height: '0px',\n border: '.35em solid',\n borderColor: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'border-color',\n position: 'absolute',\n borderRadius: '.15em'\n }\n }),\n\n tooltipDirection: {\n top: {\n '&:before': {\n top: '0',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n right: '0',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n bottom: '0',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n left: '0',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n }\n },\n\n tag: ({ props }) => ({\n position: 'relative',\n '&:before': {\n content: '\"\"',\n display: 'block',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background',\n borderRadius: '.25em',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%'\n }\n }),\n\n tagDirection: {\n top: {\n '&:before': {\n bottom: '100%',\n left: '50%',\n transform: 'translate(-50%, 50%) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n top: '50%',\n left: '100%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n bottom: {\n '&:before': {\n top: '100%',\n left: '50%',\n transform: 'translate(-50%, -50%) rotate(45deg)'\n }\n },\n left: {\n '&:before': {\n top: '50%',\n right: '100%',\n transform: 'translate(50%, -50%) rotate(45deg)'\n }\n }\n },\n\n hexagon: ({ props }) => ({\n position: 'relative',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n borderRadius: '.25em',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n height: '73%',\n background: getComputedBackgroundColor({ props }),\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n },\n '&:before': {\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n },\n '&:after': {\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }),\n\n chevron: ({ props }) => ({\n position: 'relative',\n // overflow: 'hidden',\n '&:before, &:after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n zIndex: '-1',\n aspectRatio: '1/1',\n top: '50%',\n transformOrigin: '50% 50%',\n transition: inheritTransition({ props }),\n transitionProperty: 'background'\n\n },\n '&:before': {\n background: `linear-gradient(225deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%), linear-gradient(315deg, ${getComputedBackgroundColor({ props })} 25%, transparent 25%)`\n },\n '&:after': {\n background: getComputedBackgroundColor({ props }),\n borderRadius: '.25em'\n }\n }),\n\n chevronDirection: {\n left: {\n '&:before': {\n height: '100%',\n left: '100%',\n transform: 'translate3d(-1%, -50%, 1px) scale(-1, 1)'\n },\n '&:after': {\n height: '73%',\n left: '0',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n },\n right: {\n '&:before': {\n height: '100%',\n left: '0',\n transform: 'translate3d(-99%, -50%, 1px)'\n },\n '&:after': {\n height: '73%',\n left: '100%',\n transform: 'translate3d(-50%, -50%, 1px) rotate(45deg)'\n }\n }\n }\n}\n", "'use strict'\n\nimport {\n getTimingFunction,\n splitTransition,\n transformDuration\n} from '@symbo.ls/scratch'\n\nexport const Timing = {\n class: {\n transition: ({ props }) => props.transition && ({\n transition: splitTransition(props.transition)\n }),\n willChange: ({ props }) => props.willChange && ({\n willChange: props.willChange\n }),\n transitionDuration: ({ props }) => props.transitionDuration && ({\n transitionDuration: transformDuration(props.transitionDuration)\n }),\n transitionDelay: ({ props }) => props.transitionDelay && ({\n transitionDelay: transformDuration(props.transitionDelay)\n }),\n transitionTimingFunction: ({ props }) => props.transitionTimingFunction && ({\n transitionTimingFunction: getTimingFunction(props.transitionTimingFunction)\n }),\n transitionProperty: ({ props }) => props.transitionProperty && ({\n transitionProperty: props.transitionProperty,\n willChange: props.transitionProperty\n })\n }\n}\n", "'use strict'\n\nimport { isState } from '@domql/state'\nimport { isNot, isArray, isObject, isObjectLike, diff, deepClone } from '@domql/utils'\n\nexport const Collection = {\n define: {\n $setCollection: (param, el, state) => {\n if (!param) return\n\n let data = isArray(param) ? param : []\n\n if (isObject(param)) {\n for (const obj in param) { data.push(param[obj]) }\n }\n\n data = data.map(item => !isObjectLike(item)\n ? {\n props: { value: item }\n }\n : item)\n\n if (data.length) {\n const t = setTimeout(() => {\n el.set({ tag: 'fragment', ...data }, { preventDefineUpdate: '$setCollection' })\n clearTimeout(t)\n })\n }\n\n return data\n },\n\n $setStateCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n if (el.key === 'cnt') {\n if (el.__ref.__stateCollectionCache) {\n const d = diff(param, el.__ref.__stateCollectionCache) // eslint-disable-line\n } else {\n el.__ref.__stateCollectionCache = deepClone(param)\n }\n }\n\n const obj = { tag: 'fragment' }\n\n for (const key in param) {\n const value = param[key]\n obj[key] = { state: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n return obj\n },\n\n $setPropsCollection: (param, el, state) => {\n if (!param) return\n if (isState(param)) param = param.parse()\n if (isNot(param)('array', 'object')) return\n\n const obj = { tag: 'fragment' }\n for (const key in param) {\n const value = param[key]\n obj[key] = { props: isObjectLike(value) ? value : { value } }\n }\n\n el.removeContent()\n el.content = obj\n\n // const set = () => {\n // el.set(obj, { preventDefineUpdate: '$setPropsCollection' })\n // }\n\n // if (el.props && el.props.lazyLoad) {\n // window.requestAnimationFrame(set)\n // } else set()\n\n return obj\n }\n }\n}\n", "'use strict'\n\nimport { getSpacingByKey } from '@symbo.ls/scratch'\n\nexport const Position = {\n props: {},\n\n class: {\n position: ({ props }) => props.position && ({ position: props.position }),\n inset: ({ props }) => {\n const { inset } = props\n if (typeof inset !== 'string') return\n return { inset: inset.split(' ').map(v => getSpacingByKey(v, 'k').k).join(' ') }\n },\n\n left: ({ props }) => getSpacingByKey(props.left, 'left'),\n top: ({ props }) => getSpacingByKey(props.top, 'top'),\n right: ({ props }) => getSpacingByKey(props.right, 'right'),\n bottom: ({ props }) => getSpacingByKey(props.bottom, 'bottom')\n }\n}\n", "'use strict'\n\nimport { exec, isString } from '@domql/utils'\nimport { SHAPES } from './style'\nimport { getSpacingBasedOnRatio, getMediaColor } from '@symbo.ls/scratch'\nimport { Pseudo } from '../Pseudo'\n\nconst transformBorderRadius = (radius, props, propertyName) => {\n if (!isString(radius)) return\n return {\n borderRadius: radius.split(' ').map((v, k) => getSpacingBasedOnRatio(props, propertyName, v)[propertyName]).join(' ')\n }\n}\n\nexport const Shape = {\n extend: Pseudo,\n\n class: {\n shape: ({ props }) => {\n const { shape } = props\n return exec(SHAPES[shape], ({ props }))\n },\n shapeDirection: ({ props }) => {\n const { shape, shapeDirection } = props\n if (!shape || !shapeDirection) return\n const shapeDir = SHAPES[shape + 'Direction']\n return shape && shapeDir ? shapeDir[shapeDirection || 'left'] : null\n },\n shapeDirectionColor: ({ props }) => {\n const { background, backgroundColor } = props\n const borderColor = {\n borderColor: getMediaColor(background || backgroundColor)\n }\n return props.shapeDirection ? borderColor : null\n },\n\n round: ({ props, key, ...el }) => transformBorderRadius(props.round || props.borderRadius, props, 'round'),\n borderRadius: ({ props, key, ...el }) => transformBorderRadius(props.borderRadius || props.round, props, 'borderRadius')\n }\n}\n\nexport default Shape\n", "'use strict'\n\nimport { getFontSizeByKey, getFontFamily } from '@symbo.ls/scratch'\n\nexport const Text = {\n text: ({ key, props, state }) => {\n if (props.text === true) return (state && state[key]) || (props && props[key])\n return props.text\n },\n class: {\n fontSize: ({ props }) => props.fontSize ? getFontSizeByKey(props.fontSize) : null,\n fontFamily: ({ props }) => props.fontFamily && ({ fontFamily: getFontFamily(props.fontFamily) || props.fontFamily }),\n lineHeight: ({ props }) => props.lineHeight && ({ lineHeight: props.lineHeight }),\n // lineHeight: ({ props }) => props.lineHeight && getSpacingBasedOnRatio(props, 'lineHeight', null, ''),\n textDecoration: ({ props }) => props.textDecoration && ({ textDecoration: props.textDecoration }),\n textTransform: ({ props }) => props.textTransform && ({ textTransform: props.textTransform }),\n whiteSpace: ({ props }) => props.whiteSpace && ({ whiteSpace: props.whiteSpace }),\n letterSpacing: ({ props }) => props.letterSpacing && ({ letterSpacing: props.letterSpacing }),\n textAlign: ({ props }) => props.textAlign && ({ textAlign: props.textAlign }),\n fontWeight: ({ props }) => props.fontWeight && ({\n fontWeight: props.fontWeight,\n fontVariationSettings: '\"wght\" ' + props.fontWeight\n })\n }\n}\n\nexport const H1 = { tag: 'h1' }\nexport const H2 = { tag: 'h2' }\nexport const H3 = { tag: 'h3' }\nexport const H4 = { tag: 'h4' }\nexport const H5 = { tag: 'h5' }\nexport const H6 = { tag: 'h6' }\nexport const P = { tag: 'p' }\nexport const Caption = { tag: 'caption' }\nexport const Strong = {\n tag: 'strong',\n props: { fontWeight: '700' }\n}\nexport const Underline = { tag: 'u' }\nexport const Italic = { tag: 'i' }\n", "'use strict'\n\nimport { getTimingByKey, getTimingFunction } from '@symbo.ls/scratch'\nimport { isObject } from '@domql/utils'\nimport { emotion } from '@symbo.ls/emotion'\nconst { keyframes } = emotion\n\nconst applyAnimationProps = (animation, element) => {\n if (isObject(animation)) return { animationName: keyframes(animation) }\n const { ANIMATION } = element.context && element.context.designSystem\n const record = ANIMATION[animation]\n return keyframes(record)\n}\n\nexport const Animation = {\n class: {\n animation: (el) => el.props.animation && {\n animationName: applyAnimationProps(el.props.animation, el),\n animationDuration: getTimingByKey(el.props.animationDuration || 'A').timing,\n animationDelay: getTimingByKey(el.props.animationDelay || '0s').timing,\n animationTimingFunction: getTimingFunction(el.props.animationTimingFunction || 'ease'),\n animationFillMode: el.props.animationFillMode || 'both',\n animationPlayState: el.props.animationPlayState,\n animationDirection: el.props.animationDirection\n },\n animationName: (el) => el.props.animationName && {\n animationName: applyAnimationProps(el.props.animationName, el)\n },\n\n animationDuration: ({ props }) => props.animationDuration && ({\n animationDuration: getTimingByKey(props.animationDuration).timing\n }),\n animationDelay: ({ props }) => props.animationDelay && ({\n animationDelay: getTimingByKey(props.animationDelay).timing\n }),\n animationTimingFunction: ({ props }) => props.animationTimingFunction && ({\n animationTimingFunction: getTimingFunction(props.animationTimingFunction)\n }),\n animationFillMode: ({ props }) => props.animationFillMode && ({\n animationFillMode: props.animationFillMode\n }),\n animationPlayState: ({ props }) => props.animationPlayState && ({\n animationPlayState: props.animationPlayState\n }),\n animationIterationCount: ({ props }) => props.animationIterationCount && ({\n animationIterationCount: props.animationIterationCount || 1\n }),\n animationDirection: ({ props }) => props.animationDirection && ({\n animationDirection: props.animationDirection\n })\n }\n}\n", "'use strict'\n\nimport createInstance from '@emotion/css/create-instance'\n\nexport const createEmotion = (key = 'smbls', container) => {\n const cleanKey = key.replaceAll(/\\./g, '-')\n return createInstance({ key: cleanKey, container })\n}\n\nexport const emotion = createEmotion()\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\nimport { IconText } from '@symbo.ls/icon'\n\nexport const Notification = {\n extend: Flex,\n\n props: {\n theme: 'alert',\n padding: 'Z1 B Z A',\n round: 'A A A Y2',\n gap: 'X2',\n cursor: 'pointer',\n align: 'flex-start center',\n\n icon: {\n icon: 'info outline'\n },\n\n article: {\n flow: 'column',\n align: 'flex-start',\n gap: 'X2',\n title: {\n fontWeight: '600',\n lineHeight: '1em',\n text: 'Notification'\n },\n p: {\n fontSize: 'Z',\n margin: '0',\n text: 'is not always a distraction'\n }\n }\n },\n\n icon: {\n extend: [IconText]\n },\n\n article: {\n extend: Flex,\n title: {},\n p: {}\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Tooltip = {\n extend: Flex,\n props: {\n background: 'black',\n color: 'white',\n flow: 'column',\n shape: 'tooltip',\n shapeDirection: 'top',\n padding: 'Z1 A',\n round: 'Y2',\n minWidth: 'D2',\n gap: 'X',\n textAlign: 'center',\n\n title: {\n fontWeight: 500,\n color: 'gray12',\n text: 'And tooltip is coming'\n },\n p: {\n fontSize: 'Z2',\n margin: '0',\n color: 'gray6',\n text: 'and winter too',\n fontWeight: '400'\n }\n },\n\n attr: { tooltip: true },\n\n title: {},\n p: {}\n}\n\nexport const TooltipParent = {\n props: {\n position: 'relative',\n zIndex: 999,\n style: {\n '&:hover, &:focus-visible': {\n zIndex: 1000,\n '& [tooltip]': {\n transform: 'translate3d(-50%,0,0)',\n opacity: 1,\n visibility: 'visible'\n }\n }\n }\n }\n}\n", "'use strict'\n\nimport { Input } from '@symbo.ls/input'\n\nconst props = {\n height: 'E',\n lineHeight: 1.4,\n style: { resize: 'none' }\n}\n\nexport const Textarea = {\n extend: [Input],\n props,\n tag: 'textarea'\n}\n", "'use strict'\n\nimport { Button } from '@symbo.ls/button'\n\nexport const Label = {\n extend: Button,\n\n props: {\n fontSize: 'Z2',\n emoji: '\uD83D\uDC4D',\n text: '3',\n padding: 'X2 Z',\n round: 'C',\n lineHeight: 1,\n gap: 'X2',\n depth: 16,\n fontWeight: '500',\n background: 'blue .3',\n color: 'white'\n },\n\n emoji: {\n props: ({ parent }) => ({ text: parent.props.emoji })\n }\n}\n", "'use strict'\n\nimport { Flex } from '@symbo.ls/atoms'\n\nexport const Pills = {\n extend: Flex,\n props: (el, s) => ({\n display: 'flex',\n gap: 'Y2',\n\n childProps: {\n background: 'gray6',\n width: 'Y2',\n height: 'Y2',\n round: 'A',\n\n '.active': {\n background: 'gray9'\n }\n }\n }),\n childExtend: {\n props: (el, s) => ({ active: parseInt(el.key) === s.active })\n }\n}\n", "'use strict'\n\nimport { Focusable } from '@symbo.ls/atoms'\n\nexport const Select = {\n extend: Focusable,\n tag: 'select',\n\n props: {\n fontSize: 'A',\n style: {\n border: 'none',\n boxSizing: 'border-box',\n cursor: 'pointer'\n }\n },\n\n childExtend: {\n tag: 'option',\n props: {\n value: '',\n selected: '',\n disabled: ''\n },\n attr: {\n value: ({ props }) => props.value,\n selected: ({ props }) => props.selected,\n disabled: ({ props }) => props.disabled\n }\n },\n\n attr: {\n name: ({ props }) => props.name,\n disabled: ({ props }) => props.disabled\n }\n}\n"],
5
+ "mappings": "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,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAEA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAGD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",
6
6
  "names": ["module", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__commonJS", "__export", "__copyProps", "from", "__toESM", "__toCommonJS", "require_cjs", "exports", "module2", "__defProp2", "__getOwnPropDesc2", "__getOwnPropNames2", "__hasOwnProp2", "__export2", "__copyProps2", "__toCommonJS2", "require_cjs2", "require_htmlTags", "require_cjs3", "require_node", "require_types", "is", "isArray6", "isFunction2", "isNot", "isObject7", "isObjectLike3", "isUndefined", "require_array", "arrayContainsOtherArray", "removeFromArray", "require_object", "deepClone2", "diff", "exec", "merge5", "overwriteDeep", "overwriteShallow", "removeFromObject", "props", "require_function", "memoize", "require_log", "require_cjs4", "CONFIG", "getActiveConfig", "getColor", "getFontFamily", "getFontSizeByKey", "getMediaColor", "getMediaTheme", "getSpacingBasedOnRatio", "getSpacingByKey", "getTheme", "getTimingByKey", "getTimingFunction", "opacify", "set", "splitTransition", "transformBackgroundImage", "transformBorder", "transformDuration", "transformShadow", "transformTextStroke", "transfromGap", "import_utils4", "import_utils2", "import_utils", "match", "import_utils3", "next", "props2", "prefix", "CONFIG2", "import_utils6", "import_utils7", "import_utils8", "abs", "import_utils10", "import_utils11", "import_utils14", "import_utils17", "import_utils21", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "document", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "is", "isArray", "isFunction", "isNot", "isObject", "isObjectLike", "isString", "isUndefined", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "arrayContainsOtherArray", "removeFromArray", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "deepClone", "diff", "exec", "merge", "overwriteDeep", "overwriteShallow", "removeFromObject", "props", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "memoize", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "triggerEventOn", "import_utils", "node", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__copyProps", "from", "__toCommonJS", "require_cjs", "module", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__commonJS", "__export", "__copyProps", "from", "__toESM", "__toCommonJS", "exports", "module2", "__defProp2", "__getOwnPropDesc2", "__getOwnPropNames2", "__hasOwnProp2", "__export2", "__copyProps2", "__toCommonJS2", "require_cjs2", "require_htmlTags", "require_cjs3", "require_node", "require_types", "is", "isArray5", "isFunction2", "isNot", "isObject7", "isObjectLike3", "isUndefined", "require_object", "deepClone2", "diff", "exec", "merge5", "overwriteDeep", "removeFromObject", "props", "require_function", "memoize", "require_array", "arrayContainsOtherArray", "removeFromArray", "require_log", "require_cjs4", "CONFIG", "getActiveConfig", "getColor", "getFontFamily", "getFontSizeByKey", "getMediaColor", "getMediaTheme", "getSpacingBasedOnRatio", "getSpacingByKey", "getTheme", "getTimingByKey", "getTimingFunction", "opacify", "set", "splitTransition", "transformBackgroundImage", "transformBorder", "transformDuration", "transformShadow", "transformTextStroke", "transfromGap", "import_utils4", "import_utils2", "import_utils", "match", "import_utils3", "next", "props2", "prefix", "CONFIG2", "import_utils6", "import_utils7", "import_utils8", "abs", "import_utils10", "import_utils11", "import_utils14", "import_utils17", "import_utils21", "require_cjs", "module", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__hasOwnProp", "__export", "__copyProps", "from", "__toCommonJS", "import_utils", "hash", "require_cjs", "module", "__create", "__defProp", "__getOwnPropDesc", "__getOwnPropNames", "__getProtoOf", "__hasOwnProp", "__commonJS", "__export", "__copyProps", "from", "__toESM", "__toCommonJS", "exports", "module2", "__defProp2", "__getOwnPropDesc2", "__getOwnPropNames2", "__hasOwnProp2", "__export2", "__copyProps2", "__toCommonJS2", "require_cjs2", "require_htmlTags", "require_cjs3", "require_node", "require_types", "is", "isArray5", "isFunction2", "isNot", "isObject7", "isObjectLike3", "isUndefined", "require_object", "deepClone2", "diff", "exec", "merge5", "overwriteDeep", "removeFromObject", "props", "require_function", "memoize", "require_array", "arrayContainsOtherArray", "removeFromArray", "require_log", "require_cjs4", "CONFIG", "getActiveConfig", "getColor", "getFontFamily", "getFontSizeByKey", "getMediaColor", "getMediaTheme", "getSpacingBasedOnRatio", "getSpacingByKey", "getTheme", "getTimingByKey", "getTimingFunction", "opacify", "set", "splitTransition", "transformBackgroundImage", "transformBorder", "transformDuration", "transformShadow", "transformTextStroke", "transfromGap", "import_utils4", "import_utils2", "import_utils", "match", "import_utils3", "next", "props2", "prefix", "CONFIG2", "import_utils6", "import_utils7", "import_utils8", "abs", "import_utils10", "import_utils11", "import_utils14", "import_utils17", "import_utils21", "Icon", "IconText", "props", "props", "props", "import_scratch", "props", "props", "props", "import_scratch", "import_scratch", "import_scratch", "props", "props", "exec", "props", "props", "props", "props", "props", "props", "import_utils", "import_utils", "import_scratch", "props", "props", "props", "props", "import_utils", "import_scratch", "props", "import_scratch", "props", "props", "props", "import_scratch", "import_utils", "StyleSheet", "isImportRule", "length", "props", "length", "length", "character", "props", "characters", "length", "length", "identifierWithPointTracking", "character", "toRules", "getRules", "compat", "removeLabel", "isIgnoringComment", "createUnsafeSelectorsAlarm", "node", "isImportRule", "isPrependedWithRegularRules", "nullifyElement", "incorrectImportAlarm", "length", "prefixer", "createCache", "stylis", "insert", "isCustomProperty", "isProcessableValue", "processStyleValue", "match", "next", "serializeStyles", "registerStyles", "insertStyles", "merge", "createEmotion", "css", "keyframes", "injectGlobal", "cx", "classnames", "createEmotion", "props", "props", "props", "props", "isArray", "props", "import_scratch", "Flex", "props", "import_scratch", "Grid", "props", "import_utils", "import_scratch", "import_scratch", "import_scratch", "CONFIG", "depth", "import_utils", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "import_utils", "createEmotion", "emotion", "keyframes", "emotion", "Flex", "Grid", "Icon", "props", "isArray", "IconText", "exec", "props", "defaultRouter", "props", "import_scratch", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "CONFIG", "depth", "Focusable", "props", "import_utils", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "import_utils", "createEmotion", "emotion", "keyframes", "emotion", "Focusable", "props", "import_utils", "import_scratch", "style_default", "import_scratch", "import_utils", "style_default", "listenProp", "props", "import_scratch", "Flex", "props", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "CONFIG", "depth", "import_utils", "import_scratch", "import_utils", "import_scratch", "import_scratch", "import_scratch", "import_utils", "createEmotion", "emotion", "keyframes", "emotion", "Flex", "props", "props"]
7
7
  }