{"version":3,"file":"app.min.js","sources":["../../src/common/Store.js","../../src/common/WPDarkMode.js","../../src/common/Base.js","../../src/common/Accessibility.js","../../src/common/DarkModeAuto.js","../../src/common/Color.js","../../src/common/Images.js","../../src/common/Videos.js","../../node_modules/suncalc/suncalc.js","../../src/common/app.js","../../src/switches/SVG.js","../../src/switches/switch-1.js","../../src/switches/switch-10.js","../../src/switches/switch-11.js","../../src/switches/switch-12.js","../../src/switches/switch-13.js","../../src/switches/switch-14.js","../../src/switches/switch-15.js","../../src/switches/switch-16.js","../../src/switches/switch-17.js","../../src/switches/switch-18.js","../../src/switches/switch-19.js","../../src/switches/switch-2.js","../../src/switches/switch-3.js","../../src/switches/switch-4.js","../../src/switches/switch-5.js","../../src/switches/switch-6.js","../../src/switches/switch-7.js","../../src/switches/switch-8.js","../../src/switches/switch-9.js","../../src/common/switch.js","../../src/common/Utility.js","../../src/frontend/main.js"],"sourcesContent":["/**\n * Store class to handle cookies\n * WP Dark Mode\n */\n\nclass Store {\n\tstatic prefix = 'wp-dark-mode-';\n\tstatic set(key, value, daysToExpire = 365) {\n\t\tkey = `${Store.prefix}${key}`;\n\t\tconst expires = daysToExpire ? `expires = ${new Date( Date.now() + daysToExpire * 24 * 60 * 60 * 1000 ).toUTCString()};` : '';\n\t\tdocument.cookie = `${key} = ${encodeURIComponent( value )};${expires}path = / `;\n\n\t\treturn this\n\t}\n\n\tstatic get(key) {\n\t\tkey = `${Store.prefix}${key}`;\n\t\tconst cookies = document.cookie.split( ';' );\n\t\tfor (const cookie of cookies) {\n\t\t\tconst [cookieKey, cookieValue] = cookie.split( '=' ).map( item => item.trim() );\n\t\t\tif (cookieKey === key) {\n\t\t\t\treturn decodeURIComponent( cookieValue );\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tstatic delete(key) {\n\t\tkey = `${Store.prefix}${key}`;\n\t\tdocument.cookie = `${key} = ; expires = Thu, 01 Jan 1970 00:00:00 UTC; path = / ;`;\n\n\t\treturn this\n\t}\n}\n\nexport default Store;","import Store from './Store';\n\nclass DarkMode {\n\tstatic #instance = null;\n\n\t// Singleton: Return the existing instance if available, otherwise create a new one\n\tstatic getInstance() {\n\t\tif ( ! DarkMode.#instance) {\n\t\t\tDarkMode.#instance = new DarkMode();\n\t\t}\n\t\treturn DarkMode.#instance;\n\t}\n\n\t/**\n\t * Callbacks to be executed before and after dark mode is activated or deactivated\n\t */\n\t#callbacks = {\n\t\tonChange: [],\n\t}\n\n\t/**\n\t * Default configuration\n\t */\n\t#config = {\n\t\ttarget: 'html',\n\t\tactiveAttribute: 'data-wp-dark-mode-active',\n\t\tactiveClass: 'wp-dark-mode-active',\n\t\tignoreClass: 'wp-dark-mode-ignore',\n\t}\n\n\t// Register a callback to be executed after dark mode is activated or deactivated\n\tonChange(callback) {\n\t\t// if (typeof callback !== 'object') return;\n\t\tthis.#callbacks.onChange.push(callback);\n\t\treturn this;\n\t}\n\n\t// Check if the system is currently in dark mode\n\tget isDeviceDark() {\n\t\treturn window.matchMedia('(prefers-color-scheme: dark)').matches;\n\t}\n\n\t// Get the target element\n\tget target() {\n\t\treturn document.querySelector(this.#config.target);\n\t}\n\n\t// Check if dark mode is currently active on the page\n\tget isActive() {\n\t\treturn this.target?.hasAttribute(this.#config.activeAttribute);\n\t}\n\n\t// Toggle between activating and deactivating dark mode based on the current state\n\ttoggle() {\n\t\tthis.isActive ? this.deactivate() : this.activate();\n\t\treturn this;\n\t}\n\n\t// Update the class list of the HTML element to activate dark mode\n\tupdateTarget(active) {\n\t\tactive ? this.target.setAttribute(this.#config.activeAttribute, '') : this.target.removeAttribute(this.#config.activeAttribute);\n\t\tactive ? this.target.classList.add(this.#config.activeClass) : this.target.classList.remove(this.#config.activeClass);\n\t\treturn this;\n\t}\n\n\t// Activate dark mode\n\tactivate( config = {} ) {\n\t\t// Merge the default config with the provided config\n\t\tthis.#config = { ...this.#config, ...config };\n\n\t\tthis.updateTarget(true);\n\t\tthis.#callbacks.onChange.forEach(callback => callback({ isActive: this.isActive }));\n\t\treturn this;\n\t}\n\n\t// Deactivate dark mode\n\tdeactivate() {\n\t\tthis.updateTarget(false);\n\t\tthis.#callbacks.onChange.forEach(callback => callback({ isActive: this.isActive }));\n\t\treturn this;\n\t}\n\n\t// Remembers the user's choice of dark mode\n\tremember() {\n\t\tStore.set('choice', this.isActive ? 'dark' : 'light');\n\t\treturn this;\n\t}\n\n\t// Delete any previously stored choice of dark mode\n\tforget() {\n\t\tStore.delete('choice').delete('device').delete('timezone')\n\t\treturn this;\n\t}\n\n}\n\n// Global variable to access the DarkMode class\nconst WPDarkMode = DarkMode.getInstance();\nwindow.WPDarkMode = WPDarkMode;\n\n// Export a single instance of the DarkMode class as a singleton\nexport default WPDarkMode;\n","class Base {\n\n _el = (selector, context = document) => {\n return context.querySelector(selector);\n }\n\n _els = (selector, context = document) => {\n return context.querySelectorAll(selector);\n }\n \n\t/**\n\t * Is true.\n\t *\n\t * @param value\n\t * @return {boolean}\n\t */\n\tisTrue( value ) {\n\t\treturn [ '1', 'true', 'yes', 'on', 1, true ].includes( value );\n\t}\n\n /**\n\t * Determine if the user is premium\n\t */\n\tget isPremium() {\n\t\treturn this.isTrue( wp_dark_mode_json.is_ultimate || wp_dark_mode_json.is_pro ) // is_pro key is Deprecated, will be removed in future.\n\t}\n\n\n\t/**\n\t * Events\n\t */\n\t#events = {}\n\n /**\n * On\n */\n on(event, callback) {\n if (!this.#events[event]) {\n this.#events[event] = [];\n }\n try {\n this.#events[event].push(callback);\n } catch (e) {\n // console.error(e);\n }\n return this;\n }\n\n /**\n * Emit\n */\n emit(event, ...args) {\n if (this.#events[event]) {\n this.#events[event].forEach(callback => {\n callback(...args);\n });\n }\n return this;\n }\n\n // Constructor\n init () {\n this.events();\n // on state ready \n document.addEventListener('DOMContentLoaded', () => {\n // console.log('Document ready');\n this.ready();\n });\n }\n\n // Fires on DOMContentLoaded\n ready() {}\n\n // Events\n events() {}\n\n get html() {\n return document.querySelector('html');\n }\n}\n\nexport default Base;","import Base from \"./Base\"\nimport WPDarkMode from \"./WPDarkMode\"\n\nclass Accessibility extends Base {\n\t/**\n\t * Init\n\t */\n\tready() {\n\t\tthis.trackKeyBoardPress();\n\t\tthis.handleAnimation();\n\t}\n\n\t/**\n\t * Track keyboard press\n\t */\n\ttrackKeyBoardPress() {\n\n\t\t// Bail, if accessibility is disabled.\n\t\tif ( ! wp_dark_mode_json.options.accessibility_enabled_keyboard_shortcut ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocument.addEventListener('keydown', (e) => {\n\t\t\t// if pressed ctrl + alt + d\n\t\t\tif (e.ctrlKey && e.altKey && e.keyCode === 68) {\n\t\t\t\tWPDarkMode.toggle().remember();\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Handle animation\n\t */\n\thandleAnimation() {\n\t\t// Bail if animation_enabled is disabled.\n\t\tif ( ! wp_dark_mode_json.options.animation_enabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Add animation class.\n\t\tif(WPDarkMode.isActive) {\n\t\t\tdocument.querySelector('html').classList.add('wp-dark-mode-animation');\n\t\t}\n\n\t\tWPDarkMode.onChange(() => {\n\t\t\tif( !WPDarkMode.isActive ) {\n\t\t\t\tdocument.querySelector('html').classList.remove('wp-dark-mode-animation');\n\t\t\t} else {\n\t\t\t\tdocument.querySelector('html').classList.add('wp-dark-mode-animation');\n\t\t\t}\n\t\t})\n\t\t\n\t}\n}\n\nexport default new Accessibility();","(function (global, factory) {\n typeof exports === \"object\" && typeof module !== \"undefined\"\n ? factory(exports)\n : typeof define === \"function\" && define.amd\n ? define([\"exports\"], factory)\n : ((global =\n typeof globalThis !== \"undefined\" ? globalThis : global || self),\n factory((global.DarkModeAuto = {})));\n})(this, function (exports) {\n \"use strict\";\n\n var __assign = function () {\n __assign =\n Object.assign ||\n function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n\n function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P\n ? value\n : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done\n ? resolve(result.value)\n : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n }\n\n function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function () {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: [],\n },\n f,\n y,\n t,\n g;\n return (\n (g = {\n next: verb(0),\n throw: verb(1),\n return: verb(2),\n }),\n typeof Symbol === \"function\" &&\n (g[Symbol.iterator] = function () {\n return this;\n }),\n g\n );\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_)\n try {\n if (\n ((f = 1),\n y &&\n (t =\n op[0] & 2\n ? y[\"return\"]\n : op[0]\n ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0)\n : y.next) &&\n !(t = t.call(y, op[1])).done)\n )\n return t;\n if (((y = 0), t)) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return { value: op[1], done: false };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (\n !((t = _.trys), (t = t.length > 0 && t[t.length - 1])) &&\n (op[0] === 6 || op[0] === 2)\n ) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return { value: op[0] ? op[1] : void 0, done: true };\n }\n }\n\n function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\")\n return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n },\n };\n throw new TypeError(\n s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\"\n );\n }\n\n function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done)\n ar.push(r.value);\n } catch (error) {\n e = { error: error };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n return ar;\n }\n\n function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n }\n\n var userAgent =\n typeof navigator === \"undefined\"\n ? \"some useragent\"\n : navigator.userAgent.toLowerCase();\n var platform =\n typeof navigator === \"undefined\"\n ? \"some platform\"\n : navigator.platform.toLowerCase();\n var isChromium =\n userAgent.includes(\"chrome\") || userAgent.includes(\"chromium\");\n var isFirefox = userAgent.includes(\"firefox\");\n var isVivaldi = userAgent.includes(\"vivaldi\");\n var isYaBrowser = userAgent.includes(\"yabrowser\");\n var isOpera = userAgent.includes(\"opr\") || userAgent.includes(\"opera\");\n var isEdge = userAgent.includes(\"edg\");\n var isSafari = userAgent.includes(\"safari\") && !isChromium;\n var isWindows = platform.startsWith(\"win\");\n var isMacOS = platform.startsWith(\"mac\");\n var isMobile = userAgent.includes(\"mobile\");\n var isShadowDomSupported = typeof ShadowRoot === \"function\";\n var chromiumVersion = (function () {\n var m = userAgent.match(/chrom[e|ium]\\/([^ ]+)/);\n if (m && m[1]) {\n return m[1];\n } else {\n return \"\";\n }\n })();\n var isDefinedSelectorSupported = (function () {\n try {\n document.querySelector(\":defined\");\n return true;\n } catch (err) {\n return false;\n }\n })();\n var isCSSStyleSheetConstructorSupported = (function () {\n try {\n new CSSStyleSheet();\n return true;\n } catch (err) {\n return false;\n }\n })();\n\n function getOKResponse(url, mimeType) {\n return __awaiter(this, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [\n 4,\n fetch(url, {\n cache: \"force-cache\",\n credentials: \"omit\",\n }),\n ];\n case 1:\n response = _a.sent();\n if (\n isFirefox &&\n mimeType === \"text/css\" &&\n url.startsWith(\"moz-extension://\") &&\n url.endsWith(\".css\")\n ) {\n return [2, response];\n }\n if (\n mimeType &&\n !response.headers.get(\"Content-Type\").startsWith(mimeType)\n ) {\n throw new Error(\"Mime type mismatch when loading \" + url);\n }\n if (!response.ok) {\n throw new Error(\n \"Unable to load \" +\n url +\n \" \" +\n response.status +\n \" \" +\n response.statusText\n );\n }\n return [2, response];\n }\n });\n });\n }\n\n function loadAsDataURL(url, mimeType) {\n return __awaiter(this, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4, getOKResponse(url, mimeType)];\n case 1:\n response = _a.sent();\n return [4, readResponseAsDataURL(response)];\n case 2:\n return [2, _a.sent()];\n }\n });\n });\n }\n\n function readResponseAsDataURL(response) {\n return __awaiter(this, void 0, void 0, function () {\n var blob, dataURL;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4, response.blob()];\n case 1:\n blob = _a.sent();\n return [\n 4,\n new Promise(function (resolve) {\n var reader = new FileReader();\n reader.onloadend = function () {\n return resolve(reader.result);\n };\n reader.readAsDataURL(blob);\n }),\n ];\n case 2:\n dataURL = _a.sent();\n return [2, dataURL];\n }\n });\n });\n }\n\n var throwCORSError = function (url) {\n return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [\n 2,\n Promise.reject(\n new Error(\n [\n \"Embedded DarkMode cannot access a cross-origin resource\",\n url,\n \"Overview your URLs and CORS policies or use\",\n \"`DarkMode.setFetchMethod(fetch: (url) => Promise<Response>))`.\",\n \"See if using `DarkMode.setFetchMethod(window.fetch)`\",\n \"before `DarkMode.enable()` works.\",\n ].join(\" \")\n )\n ),\n ];\n });\n });\n };\n var fetcher = throwCORSError;\n\n function setFetchMethod(fetch) {\n if (fetch) {\n fetcher = fetch;\n } else {\n fetcher = throwCORSError;\n }\n }\n\n function callFetchMethod(url) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4, fetcher(url)];\n case 1:\n return [2, _a.sent()];\n }\n });\n });\n }\n\n if (!window.chrome) {\n window.chrome = {};\n }\n if (!chrome.runtime) {\n chrome.runtime = {};\n }\n var messageListeners = new Set();\n\n function sendMessage() {\n return;\n\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var id_1, _a, url, responseType, response, text_1, err_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(args[0] && args[0].type === \"fetch\")) return [3, 8];\n id_1 = args[0].id;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 7, , 8]);\n (_a = args[0].data),\n (url = _a.url),\n (responseType = _a.responseType);\n return [4, callFetchMethod(url)];\n case 2:\n response = _b.sent();\n if (!(responseType === \"data-url\")) return [3, 4];\n return [4, readResponseAsDataURL(response)];\n case 3:\n text_1 = _b.sent();\n return [3, 6];\n case 4:\n return [4, response.text()];\n case 5:\n text_1 = _b.sent();\n _b.label = 6;\n case 6:\n messageListeners.forEach(function (cb) {\n return cb({\n type: \"fetch-response\",\n data: text_1,\n error: null,\n id: id_1,\n });\n });\n return [3, 8];\n case 7:\n err_1 = _b.sent();\n console.error(err_1);\n messageListeners.forEach(function (cb) {\n return cb({\n type: \"fetch-response\",\n data: null,\n err: err_1,\n id: id_1,\n });\n });\n return [3, 8];\n case 8:\n return [2];\n }\n });\n });\n }\n\n function addMessageListener(callback) {\n messageListeners.add(callback);\n }\n\n if (typeof chrome.runtime.sendMessage === \"function\") {\n var nativeSendMessage_1 = chrome.runtime.sendMessage;\n chrome.runtime.sendMessage = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n sendMessage.apply(void 0, __spread(args));\n nativeSendMessage_1.apply(chrome.runtime, args);\n };\n } else {\n chrome.runtime.sendMessage = sendMessage;\n }\n if (!chrome.runtime.onMessage) {\n chrome.runtime.onMessage = {};\n }\n if (typeof chrome.runtime.onMessage.addListener === \"function\") {\n var nativeAddListener_1 = chrome.runtime.onMessage.addListener;\n chrome.runtime.onMessage.addListener = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n addMessageListener.apply(void 0, __spread(args));\n nativeAddListener_1.apply(chrome.runtime.onMessage, args);\n };\n } else {\n chrome.runtime.onMessage.addListener = addMessageListener;\n }\n\n var ThemeEngines = {\n cssFilter: \"cssFilter\",\n svgFilter: \"svgFilter\",\n staticTheme: \"staticTheme\",\n dynamicTheme: \"dynamicTheme\",\n };\n\n var DEFAULT_COLORS = {\n darkScheme: {\n background: \"#181a1b\",\n text: \"#e8e6e3\",\n },\n lightScheme: {\n background: \"#dcdad7\",\n text: \"#181a1b\",\n },\n };\n var DEFAULT_THEME = {\n mode: 1,\n brightness: 100,\n contrast: 100,\n grayscale: 0,\n sepia: 0,\n useFont: false,\n fontFamily: isMacOS\n ? \"Helvetica Neue\"\n : isWindows\n ? \"Segoe UI\"\n : \"Open Sans\",\n textStroke: 0,\n engine: ThemeEngines.dynamicTheme,\n stylesheet: \"\",\n darkSchemeBackgroundColor: DEFAULT_COLORS.darkScheme.background,\n darkSchemeTextColor: DEFAULT_COLORS.darkScheme.text,\n lightSchemeBackgroundColor: DEFAULT_COLORS.lightScheme.background,\n lightSchemeTextColor: DEFAULT_COLORS.lightScheme.text,\n scrollbarColor: isMacOS ? \"\" : \"auto\",\n selectionColor: \"auto\",\n styleSystemControls: true,\n };\n\n function isArrayLike(items) {\n return items.length != null;\n }\n\n function forEach(items, iterator) {\n var e_1, _a;\n if (isArrayLike(items)) {\n for (var i = 0, len = items.length; i < len; i++) {\n iterator(items[i]);\n }\n } else {\n try {\n for (\n var items_1 = __values(items), items_1_1 = items_1.next();\n !items_1_1.done;\n items_1_1 = items_1.next()\n ) {\n var item = items_1_1.value;\n iterator(item);\n }\n } catch (e_1_1) {\n e_1 = { error: e_1_1 };\n } finally {\n try {\n if (items_1_1 && !items_1_1.done && (_a = items_1.return))\n _a.call(items_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n }\n }\n }\n\n function push(array, addition) {\n forEach(addition, function (a) {\n return array.push(a);\n });\n }\n\n function toArray(items) {\n var results = [];\n for (var i = 0, len = items.length; i < len; i++) {\n results.push(items[i]);\n }\n return results;\n }\n\n var anchor;\n\n function fixBaseURL($url) {\n if (!anchor) {\n anchor = document.createElement(\"a\");\n }\n anchor.href = $url;\n return anchor.href;\n }\n\n function parseURL($url, $base) {\n if ($base === void 0) {\n $base = null;\n }\n if ($base) {\n $base = fixBaseURL($base);\n return new URL($url, $base);\n }\n $url = fixBaseURL($url);\n return new URL($url);\n }\n\n function getAbsoluteURL($base, $relative) {\n if ($relative.match(/^data\\:/)) {\n return $relative;\n }\n var b = parseURL($base);\n var a = parseURL($relative, b.href);\n return a.href;\n }\n\n function getURLHostOrProtocol($url) {\n var url = new URL($url);\n if (url.host) {\n return url.host;\n } else {\n return url.protocol;\n }\n }\n\n function logInfo() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n }\n\n function logWarn() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n }\n\n function iterateCSSRules(rules, iterate) {\n forEach(rules, function (rule) {\n if (rule instanceof CSSMediaRule) {\n var media = Array.from(rule.media);\n if (\n media.includes(\"screen\") ||\n media.includes(\"all\") ||\n !(media.includes(\"print\") || media.includes(\"speech\"))\n ) {\n iterateCSSRules(rule.cssRules, iterate);\n }\n } else if (rule instanceof CSSStyleRule) {\n iterate(rule);\n } else if (rule instanceof CSSImportRule) {\n try {\n iterateCSSRules(rule.styleSheet.cssRules, iterate);\n } catch (err) {\n logWarn(err);\n }\n } else if (rule instanceof CSSSupportsRule) {\n if (CSS.supports(rule.conditionText)) {\n iterateCSSRules(rule.cssRules, iterate);\n }\n } else {\n logWarn(\"CSSRule type not supported\", rule);\n }\n });\n }\n\n function iterateCSSDeclarations(style, iterate) {\n forEach(style, function (property) {\n var value = style.getPropertyValue(property).trim();\n if (!value) {\n return;\n }\n iterate(property, value);\n });\n }\n\n function isCSSVariable(property) {\n return property.startsWith(\"--\") && !property.startsWith(\"--wp-dark-mode\");\n }\n\n function getCSSVariables(rules) {\n var variables = new Map();\n rules &&\n iterateCSSRules(rules, function (rule) {\n rule.style &&\n iterateCSSDeclarations(rule.style, function (property, value) {\n if (isCSSVariable(property)) {\n variables.set(property, value);\n }\n });\n });\n return variables;\n }\n\n function getElementCSSVariables(element) {\n var variables = new Map();\n iterateCSSDeclarations(element.style, function (property, value) {\n if (isCSSVariable(property)) {\n variables.set(property, value);\n }\n });\n return variables;\n }\n\n var cssURLRegex = /url\\((('.+?')|(\".+?\")|([^\\)]*?))\\)/g;\n var cssImportRegex = /@import\\s*(url\\()?(('.+?')|(\".+?\")|([^\\)]*?))\\)?;?/g;\n\n function getCSSURLValue(cssURL) {\n return cssURL\n .replace(/^url\\((.*)\\)$/, \"$1\")\n .replace(/^\"(.*)\"$/, \"$1\")\n .replace(/^'(.*)'$/, \"$1\");\n }\n\n function getCSSBaseBath(url) {\n var cssURL = parseURL(url);\n return (\n \"\" +\n cssURL.origin +\n cssURL.pathname.replace(/\\?.*$/, \"\").replace(/(\\/)([^\\/]+)$/i, \"$1\")\n );\n }\n\n function replaceCSSRelativeURLsWithAbsolute($css, cssBasePath) {\n return $css.replace(cssURLRegex, function (match) {\n var pathValue = getCSSURLValue(match);\n return 'url(\"' + getAbsoluteURL(cssBasePath, pathValue) + '\")';\n });\n }\n\n var cssCommentsRegex = /\\/\\*[\\s\\S]*?\\*\\//g;\n\n function removeCSSComments($css) {\n return $css.replace(cssCommentsRegex, \"\");\n }\n\n var fontFaceRegex = /@font-face\\s*{[^}]*}/g;\n\n function replaceCSSFontFace($css) {\n return $css.replace(fontFaceRegex, \"\");\n }\n\n var varRegex =\n /var\\((--[^\\s,\\(\\)]+),?\\s*([^\\(\\)]*(\\([^\\(\\)]*\\)[^\\(\\)]*)*\\s*)\\)/g;\n\n function replaceCSSVariables(value, variables, stack) {\n if (stack === void 0) {\n stack = new Set();\n }\n var missing = false;\n var unresolvable = new Set();\n var result = value.replace(varRegex, function (match, name, fallback) {\n if (stack.has(name)) {\n logWarn(\"Circular reference to variable \" + name);\n if (fallback) {\n return fallback;\n }\n missing = true;\n return match;\n }\n if (variables.has(name)) {\n var value_1 = variables.get(name);\n if (value_1.match(varRegex)) {\n unresolvable.add(name);\n }\n return value_1;\n } else if (fallback) {\n return fallback;\n } else {\n logWarn(\"Variable \" + name + \" not found\");\n missing = true;\n }\n return match;\n });\n if (missing) {\n return result;\n }\n if (result.match(varRegex)) {\n unresolvable.forEach(function (v) {\n return stack.add(v);\n });\n return replaceCSSVariables(result, variables, stack);\n }\n return result;\n }\n\n function throttle(callback) {\n var pending = false;\n var frameId = null;\n var lastArgs;\n var throttled = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n lastArgs = args;\n if (frameId) {\n pending = true;\n } else {\n callback.apply(void 0, __spread(lastArgs));\n frameId = requestAnimationFrame(function () {\n frameId = null;\n if (pending) {\n callback.apply(void 0, __spread(lastArgs));\n pending = false;\n }\n });\n }\n };\n var cancel = function () {\n cancelAnimationFrame(frameId);\n pending = false;\n frameId = null;\n };\n return Object.assign(throttled, { cancel: cancel });\n }\n\n function createAsyncTasksQueue() {\n var tasks = [];\n var frameId = null;\n\n function runTasks() {\n var task;\n while ((task = tasks.shift())) {\n task();\n }\n frameId = null;\n }\n\n function add(task) {\n tasks.push(task);\n if (!frameId) {\n frameId = requestAnimationFrame(runTasks);\n }\n }\n\n function cancel() {\n tasks.splice(0);\n cancelAnimationFrame(frameId);\n frameId = null;\n }\n\n return { add: add, cancel: cancel };\n }\n\n function getDuration(time) {\n var duration = 0;\n if (time.seconds) {\n duration += time.seconds * 1000;\n }\n if (time.minutes) {\n duration += time.minutes * 60 * 1000;\n }\n if (time.hours) {\n duration += time.hours * 60 * 60 * 1000;\n }\n if (time.days) {\n duration += time.days * 24 * 60 * 60 * 1000;\n }\n return duration;\n }\n\n function removeNode(node) {\n node && node.parentNode && node.parentNode.removeChild(node);\n }\n\n function watchForNodePosition(node, mode, onRestore) {\n if (onRestore === void 0) {\n onRestore = Function.prototype;\n }\n var MAX_ATTEMPTS_COUNT = 10;\n var RETRY_TIMEOUT = getDuration({ seconds: 2 });\n var ATTEMPTS_INTERVAL = getDuration({ seconds: 10 });\n var prevSibling = node.previousSibling;\n var parent = node.parentNode;\n if (!parent) {\n throw new Error(\n \"Unable to watch for node position: parent element not found\"\n );\n }\n if (mode === \"prev-sibling\" && !prevSibling) {\n throw new Error(\n \"Unable to watch for node position: there is no previous sibling\"\n );\n }\n var attempts = 0;\n var start = null;\n var timeoutId = null;\n var restore = throttle(function () {\n if (timeoutId) {\n return;\n }\n attempts++;\n var now = Date.now();\n if (start == null) {\n start = now;\n } else if (attempts >= MAX_ATTEMPTS_COUNT) {\n if (now - start < ATTEMPTS_INTERVAL) {\n logWarn(\n \"Node position watcher paused: retry in \" + RETRY_TIMEOUT + \"ms\",\n node,\n prevSibling\n );\n timeoutId = setTimeout(function () {\n start = null;\n attempts = 0;\n timeoutId = null;\n restore();\n }, RETRY_TIMEOUT);\n return;\n }\n start = now;\n attempts = 1;\n }\n if (mode === \"parent\") {\n if (prevSibling && prevSibling.parentNode !== parent) {\n logWarn(\n \"Unable to restore node position: sibling parent changed\",\n node,\n prevSibling,\n parent\n );\n stop();\n return;\n }\n }\n if (mode === \"prev-sibling\") {\n if (prevSibling.parentNode == null) {\n logWarn(\n \"Unable to restore node position: sibling was removed\",\n node,\n prevSibling,\n parent\n );\n stop();\n return;\n }\n if (prevSibling.parentNode !== parent) {\n logWarn(\n \"Style was moved to another parent\",\n node,\n prevSibling,\n parent\n );\n updateParent(prevSibling.parentNode);\n }\n }\n logWarn(\"Restoring node position\", node, prevSibling, parent);\n parent.insertBefore(\n node,\n prevSibling ? prevSibling.nextSibling : parent.firstChild\n );\n observer.takeRecords();\n onRestore && onRestore();\n });\n var observer = new MutationObserver(function () {\n if (\n (mode === \"parent\" && node.parentNode !== parent) ||\n (mode === \"prev-sibling\" && node.previousSibling !== prevSibling)\n ) {\n restore();\n }\n });\n var run = function () {\n observer.observe(parent, { childList: true });\n };\n var stop = function () {\n clearTimeout(timeoutId);\n observer.disconnect();\n restore.cancel();\n };\n var skip = function () {\n observer.takeRecords();\n };\n var updateParent = function (parentNode) {\n parent = parentNode;\n stop();\n run();\n };\n run();\n return { run: run, stop: stop, skip: skip };\n }\n\n function iterateShadowHosts(root, iterator) {\n if (root == null) {\n return;\n }\n var walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode: function (node) {\n return node.shadowRoot == null\n ? NodeFilter.FILTER_SKIP\n : NodeFilter.FILTER_ACCEPT;\n },\n });\n for (\n var node = root.shadowRoot ? walker.currentNode : walker.nextNode();\n node != null;\n node = walker.nextNode()\n ) {\n iterator(node);\n iterateShadowHosts(node.shadowRoot, iterator);\n }\n }\n\n function isDOMReady() {\n return (\n document.readyState === \"complete\" ||\n document.readyState === \"interactive\"\n );\n }\n\n var readyStateListeners = new Set();\n\n function addDOMReadyListener(listener) {\n readyStateListeners.add(listener);\n }\n\n function removeDOMReadyListener(listener) {\n readyStateListeners.delete(listener);\n }\n\n if (!isDOMReady()) {\n var onReadyStateChange_1 = function () {\n if (isDOMReady()) {\n document.removeEventListener(\"readystatechange\", onReadyStateChange_1);\n readyStateListeners.forEach(function (listener) {\n return listener();\n });\n readyStateListeners.clear();\n }\n };\n document.addEventListener(\"readystatechange\", onReadyStateChange_1);\n }\n var HUGE_MUTATIONS_COUNT = 1000;\n\n function isHugeMutation(mutations) {\n if (mutations.length > HUGE_MUTATIONS_COUNT) {\n return true;\n }\n var addedNodesCount = 0;\n for (var i = 0; i < mutations.length; i++) {\n addedNodesCount += mutations[i].addedNodes.length;\n if (addedNodesCount > HUGE_MUTATIONS_COUNT) {\n return true;\n }\n }\n return false;\n }\n\n function getElementsTreeOperations(mutations) {\n var additions = new Set();\n var deletions = new Set();\n var moves = new Set();\n mutations.forEach(function (m) {\n forEach(m.addedNodes, function (n) {\n if (n instanceof Element && n.isConnected) {\n additions.add(n);\n }\n });\n forEach(m.removedNodes, function (n) {\n if (n instanceof Element) {\n if (n.isConnected) {\n moves.add(n);\n } else {\n deletions.add(n);\n }\n }\n });\n });\n moves.forEach(function (n) {\n return additions.delete(n);\n });\n var duplicateAdditions = [];\n var duplicateDeletions = [];\n additions.forEach(function (node) {\n if (additions.has(node.parentElement)) {\n duplicateAdditions.push(node);\n }\n });\n deletions.forEach(function (node) {\n if (deletions.has(node.parentElement)) {\n duplicateDeletions.push(node);\n }\n });\n duplicateAdditions.forEach(function (node) {\n return additions.delete(node);\n });\n duplicateDeletions.forEach(function (node) {\n return deletions.delete(node);\n });\n return { additions: additions, moves: moves, deletions: deletions };\n }\n\n var optimizedTreeObservers = new Map();\n var optimizedTreeCallbacks = new WeakMap();\n\n function createOptimizedTreeObserver(root, callbacks) {\n var observer;\n var observerCallbacks;\n var domReadyListener;\n if (optimizedTreeObservers.has(root)) {\n observer = optimizedTreeObservers.get(root);\n observerCallbacks = optimizedTreeCallbacks.get(observer);\n } else {\n var hadHugeMutationsBefore_1 = false;\n var subscribedForReadyState_1 = false;\n observer = new MutationObserver(function (mutations) {\n if (isHugeMutation(mutations)) {\n if (!hadHugeMutationsBefore_1 || isDOMReady()) {\n observerCallbacks.forEach(function (_a) {\n var onHugeMutations = _a.onHugeMutations;\n return onHugeMutations(root);\n });\n } else {\n if (!subscribedForReadyState_1) {\n domReadyListener = function () {\n return observerCallbacks.forEach(function (_a) {\n var onHugeMutations = _a.onHugeMutations;\n return onHugeMutations(root);\n });\n };\n addDOMReadyListener(domReadyListener);\n subscribedForReadyState_1 = true;\n }\n }\n hadHugeMutationsBefore_1 = true;\n } else {\n var elementsOperations_1 = getElementsTreeOperations(mutations);\n observerCallbacks.forEach(function (_a) {\n var onMinorMutations = _a.onMinorMutations;\n return onMinorMutations(elementsOperations_1);\n });\n }\n });\n observer.observe(root, { childList: true, subtree: true });\n optimizedTreeObservers.set(root, observer);\n observerCallbacks = new Set();\n optimizedTreeCallbacks.set(observer, observerCallbacks);\n }\n observerCallbacks.add(callbacks);\n return {\n disconnect: function () {\n observerCallbacks.delete(callbacks);\n if (domReadyListener) {\n removeDOMReadyListener(domReadyListener);\n }\n if (observerCallbacks.size === 0) {\n observer.disconnect();\n optimizedTreeCallbacks.delete(observer);\n optimizedTreeObservers.delete(root);\n }\n },\n };\n }\n\n var tempStyle = null;\n\n function getTempCSSStyleSheet() {\n if (tempStyle) {\n return tempStyle;\n }\n if (isCSSStyleSheetConstructorSupported) {\n tempStyle = new CSSStyleSheet();\n return tempStyle;\n } else {\n var tempStyleElement = document.createElement(\"style\");\n document.head.append(tempStyleElement);\n tempStyle = tempStyleElement.sheet;\n document.head.removeChild(tempStyleElement);\n return tempStyle;\n }\n }\n\n function hslToRGB(_a) {\n var h = _a.h,\n s = _a.s,\n l = _a.l,\n _b = _a.a,\n a = _b === void 0 ? 1 : _b;\n if (s === 0) {\n var _c = __read(\n [l, l, l].map(function (x) {\n return Math.round(x * 255);\n }),\n 3\n ),\n r_1 = _c[0],\n b_1 = _c[1],\n g_1 = _c[2];\n return { r: r_1, g: g_1, b: b_1, a: a };\n }\n var c = (1 - Math.abs(2 * l - 1)) * s;\n var x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n var m = l - c / 2;\n var _d = __read(\n (h < 60\n ? [c, x, 0]\n : h < 120\n ? [x, c, 0]\n : h < 180\n ? [0, c, x]\n : h < 240\n ? [0, x, c]\n : h < 300\n ? [x, 0, c]\n : [c, 0, x]\n ).map(function (n) {\n return Math.round((n + m) * 255);\n }),\n 3\n ),\n r = _d[0],\n g = _d[1],\n b = _d[2];\n return { r: r, g: g, b: b, a: a };\n }\n\n function rgbToHSL(_a) {\n var r255 = _a.r,\n g255 = _a.g,\n b255 = _a.b,\n _b = _a.a,\n a = _b === void 0 ? 1 : _b;\n var r = r255 / 255;\n var g = g255 / 255;\n var b = b255 / 255;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var c = max - min;\n var l = (max + min) / 2;\n if (c === 0) {\n return { h: 0, s: 0, l: l, a: a };\n }\n var h =\n (max === r\n ? ((g - b) / c) % 6\n : max === g\n ? (b - r) / c + 2\n : (r - g) / c + 4) * 60;\n if (h < 0) {\n h += 360;\n }\n var s = c / (1 - Math.abs(2 * l - 1));\n return { h: h, s: s, l: l, a: a };\n }\n\n function toFixed(n, digits) {\n if (digits === void 0) {\n digits = 0;\n }\n var fixed = n.toFixed(digits);\n if (digits === 0) {\n return fixed;\n }\n var dot = fixed.indexOf(\".\");\n if (dot >= 0) {\n var zerosMatch = fixed.match(/0+$/);\n if (zerosMatch) {\n if (zerosMatch.index === dot + 1) {\n return fixed.substring(0, dot);\n }\n return fixed.substring(0, zerosMatch.index);\n }\n }\n return fixed;\n }\n\n function rgbToString(rgb) {\n var r = rgb.r,\n g = rgb.g,\n b = rgb.b,\n a = rgb.a;\n if (a != null && a < 1) {\n return (\n \"rgba(\" +\n toFixed(r) +\n \", \" +\n toFixed(g) +\n \", \" +\n toFixed(b) +\n \", \" +\n toFixed(a, 2) +\n \")\"\n );\n }\n return \"rgb(\" + toFixed(r) + \", \" + toFixed(g) + \", \" + toFixed(b) + \")\";\n }\n\n function rgbToHexString(_a) {\n var r = _a.r,\n g = _a.g,\n b = _a.b,\n a = _a.a;\n return (\n \"#\" +\n (a != null && a < 1 ? [r, g, b, Math.round(a * 255)] : [r, g, b])\n .map(function (x) {\n return \"\" + (x < 16 ? \"0\" : \"\") + x.toString(16);\n })\n .join(\"\")\n );\n }\n\n function hslToString(hsl) {\n var h = hsl.h,\n s = hsl.s,\n l = hsl.l,\n a = hsl.a;\n if (a != null && a < 1) {\n return (\n \"hsla(\" +\n toFixed(h) +\n \", \" +\n toFixed(s * 100) +\n \"%, \" +\n toFixed(l * 100) +\n \"%, \" +\n toFixed(a, 2) +\n \")\"\n );\n }\n return (\n \"hsl(\" +\n toFixed(h) +\n \", \" +\n toFixed(s * 100) +\n \"%, \" +\n toFixed(l * 100) +\n \"%)\"\n );\n }\n\n var rgbMatch = /^rgba?\\([^\\(\\)]+\\)$/;\n var hslMatch = /^hsla?\\([^\\(\\)]+\\)$/;\n var hexMatch = /^#[0-9a-f]+$/i;\n\n function parse($color) {\n var c = $color.trim().toLowerCase();\n if (c.match(rgbMatch)) {\n return parseRGB(c);\n }\n if (c.match(hslMatch)) {\n return parseHSL(c);\n }\n if (c.match(hexMatch)) {\n return parseHex(c);\n }\n if (knownColors.has(c)) {\n return getColorByName(c);\n }\n if (systemColors.has(c)) {\n return getSystemColor(c);\n }\n if ($color === \"transparent\") {\n return { r: 0, g: 0, b: 0, a: 0 };\n }\n throw new Error(\"Unable to parse \" + $color);\n }\n\n function getNumbersFromString(str, splitter, range, units) {\n var raw = str.split(splitter).filter(function (x) {\n return x;\n });\n var unitsList = Object.entries(units);\n var numbers = raw\n .map(function (r) {\n return r.trim();\n })\n .map(function (r, i) {\n var n;\n var unit = unitsList.find(function (_a) {\n var _b = __read(_a, 1),\n u = _b[0];\n return r.endsWith(u);\n });\n if (unit) {\n n =\n (parseFloat(r.substring(0, r.length - unit[0].length)) / unit[1]) *\n range[i];\n } else {\n n = parseFloat(r);\n }\n if (range[i] > 1) {\n return Math.round(n);\n }\n return n;\n });\n return numbers;\n }\n\n var rgbSplitter = /rgba?|\\(|\\)|\\/|,|\\s/gi;\n var rgbRange = [255, 255, 255, 1];\n var rgbUnits = { \"%\": 100 };\n\n function parseRGB($rgb) {\n var _a = __read(\n getNumbersFromString($rgb, rgbSplitter, rgbRange, rgbUnits),\n 4\n ),\n r = _a[0],\n g = _a[1],\n b = _a[2],\n _b = _a[3],\n a = _b === void 0 ? 1 : _b;\n return { r: r, g: g, b: b, a: a };\n }\n\n var hslSplitter = /hsla?|\\(|\\)|\\/|,|\\s/gi;\n var hslRange = [360, 1, 1, 1];\n var hslUnits = { \"%\": 100, deg: 360, rad: 2 * Math.PI, turn: 1 };\n\n function parseHSL($hsl) {\n var _a = __read(\n getNumbersFromString($hsl, hslSplitter, hslRange, hslUnits),\n 4\n ),\n h = _a[0],\n s = _a[1],\n l = _a[2],\n _b = _a[3],\n a = _b === void 0 ? 1 : _b;\n return hslToRGB({ h: h, s: s, l: l, a: a });\n }\n\n function parseHex($hex) {\n var h = $hex.substring(1);\n switch (h.length) {\n case 3:\n case 4: {\n var _a = __read(\n [0, 1, 2].map(function (i) {\n return parseInt(\"\" + h[i] + h[i], 16);\n }),\n 3\n ),\n r = _a[0],\n g = _a[1],\n b = _a[2];\n var a = h.length === 3 ? 1 : parseInt(\"\" + h[3] + h[3], 16) / 255;\n return { r: r, g: g, b: b, a: a };\n }\n case 6:\n case 8: {\n var _b = __read(\n [0, 2, 4].map(function (i) {\n return parseInt(h.substring(i, i + 2), 16);\n }),\n 3\n ),\n r = _b[0],\n g = _b[1],\n b = _b[2];\n var a = h.length === 6 ? 1 : parseInt(h.substring(6, 8), 16) / 255;\n return { r: r, g: g, b: b, a: a };\n }\n }\n throw new Error(\"Unable to parse \" + $hex);\n }\n\n function getColorByName($color) {\n var n = knownColors.get($color);\n return {\n r: (n >> 16) & 255,\n g: (n >> 8) & 255,\n b: (n >> 0) & 255,\n a: 1,\n };\n }\n\n function getSystemColor($color) {\n var n = systemColors.get($color);\n return {\n r: (n >> 16) & 255,\n g: (n >> 8) & 255,\n b: (n >> 0) & 255,\n a: 1,\n };\n }\n\n var knownColors = new Map(\n Object.entries({\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgrey: 0xa9a9a9,\n darkgreen: 0x006400,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n grey: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgrey: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32,\n })\n );\n var systemColors = new Map(\n Object.entries({\n ActiveBorder: 0x3b99fc,\n ActiveCaption: 0x000000,\n AppWorkspace: 0xaaaaaa,\n Background: 0x6363ce,\n ButtonFace: 0xffffff,\n ButtonHighlight: 0xe9e9e9,\n ButtonShadow: 0x9fa09f,\n ButtonText: 0x000000,\n CaptionText: 0x000000,\n GrayText: 0x7f7f7f,\n Highlight: 0xb2d7ff,\n HighlightText: 0x000000,\n InactiveBorder: 0xffffff,\n InactiveCaption: 0xffffff,\n InactiveCaptionText: 0x000000,\n InfoBackground: 0xfbfcc5,\n InfoText: 0x000000,\n Menu: 0xf6f6f6,\n MenuText: 0xffffff,\n Scrollbar: 0xaaaaaa,\n ThreeDDarkShadow: 0x000000,\n ThreeDFace: 0xc0c0c0,\n ThreeDHighlight: 0xffffff,\n ThreeDLightShadow: 0xffffff,\n ThreeDShadow: 0x000000,\n Window: 0xececec,\n WindowFrame: 0xaaaaaa,\n WindowText: 0x000000,\n \"-webkit-focus-ring-color\": 0xe59700,\n }).map(function (_a) {\n var _b = __read(_a, 2),\n key = _b[0],\n value = _b[1];\n return [key.toLowerCase(), value];\n })\n );\n\n function scale(x, inLow, inHigh, outLow, outHigh) {\n return ((x - inLow) * (outHigh - outLow)) / (inHigh - inLow) + outLow;\n }\n\n function clamp(x, min, max) {\n return Math.min(max, Math.max(min, x));\n }\n\n function multiplyMatrices(m1, m2) {\n var result = [];\n for (var i = 0, len = m1.length; i < len; i++) {\n result[i] = [];\n for (var j = 0, len2 = m2[0].length; j < len2; j++) {\n var sum = 0;\n for (var k = 0, len3 = m1[0].length; k < len3; k++) {\n sum += m1[i][k] * m2[k][j];\n }\n result[i][j] = sum;\n }\n }\n return result;\n }\n\n function getMatches(regex, input, group) {\n if (group === void 0) {\n group = 0;\n }\n var matches = [];\n var m;\n while ((m = regex.exec(input))) {\n matches.push(m[group]);\n }\n return matches;\n }\n\n function formatCSS(text) {\n function trimLeft(text) {\n return text.replace(/^\\s+/, \"\");\n }\n\n function getIndent(depth) {\n if (depth === 0) {\n return \"\";\n }\n return \" \".repeat(4 * depth);\n }\n\n var emptyRuleRegexp = /[^{}]+{\\s*}/g;\n while (emptyRuleRegexp.test(text)) {\n text = text.replace(emptyRuleRegexp, \"\");\n }\n var css = text\n .replace(/\\s{2,}/g, \" \")\n .replace(/\\{/g, \"{\\n\")\n .replace(/\\}/g, \"\\n}\\n\")\n .replace(/\\;(?![^\\(|\\\"]*(\\)|\\\"))/g, \";\\n\")\n .replace(/\\,(?![^\\(|\\\"]*(\\)|\\\"))/g, \",\\n\")\n .replace(/\\n\\s*\\n/g, \"\\n\")\n .split(\"\\n\");\n var depth = 0;\n var formatted = [];\n for (var x = 0, len = css.length; x < len; x++) {\n var line = css[x] + \"\\n\";\n if (line.match(/\\{/)) {\n formatted.push(getIndent(depth++) + trimLeft(line));\n } else if (line.match(/\\}/)) {\n formatted.push(getIndent(--depth) + trimLeft(line));\n } else {\n formatted.push(getIndent(depth) + trimLeft(line));\n }\n }\n return formatted.join(\"\").trim();\n }\n\n function createFilterMatrix(config) {\n var m = Matrix.identity();\n if (config.sepia !== 0) {\n m = multiplyMatrices(m, Matrix.sepia(config.sepia / 100));\n }\n if (config.grayscale !== 0) {\n m = multiplyMatrices(m, Matrix.grayscale(config.grayscale / 100));\n }\n if (config.contrast !== 100) {\n m = multiplyMatrices(m, Matrix.contrast(config.contrast / 100));\n }\n if (config.brightness !== 100) {\n m = multiplyMatrices(m, Matrix.brightness(config.brightness / 100));\n }\n if (config.mode === 1) {\n m = multiplyMatrices(m, Matrix.invertNHue());\n }\n return m;\n }\n\n function applyColorMatrix(_a, matrix) {\n var _b = __read(_a, 3),\n r = _b[0],\n g = _b[1],\n b = _b[2];\n var rgb = [[r / 255], [g / 255], [b / 255], [1], [1]];\n var result = multiplyMatrices(matrix, rgb);\n return [0, 1, 2].map(function (i) {\n return clamp(Math.round(result[i][0] * 255), 0, 255);\n });\n }\n\n var Matrix = {\n identity: function () {\n return [\n [1, 0, 0, 0, 0],\n [0, 1, 0, 0, 0],\n [0, 0, 1, 0, 0],\n [0, 0, 0, 1, 0],\n [0, 0, 0, 0, 1],\n ];\n },\n invertNHue: function () {\n return [\n [0.333, -0.667, -0.667, 0, 1],\n [-0.667, 0.333, -0.667, 0, 1],\n [-0.667, -0.667, 0.333, 0, 1],\n [0, 0, 0, 1, 0],\n [0, 0, 0, 0, 1],\n ];\n },\n brightness: function (v) {\n return [\n [v, 0, 0, 0, 0],\n [0, v, 0, 0, 0],\n [0, 0, v, 0, 0],\n [0, 0, 0, 1, 0],\n [0, 0, 0, 0, 1],\n ];\n },\n contrast: function (v) {\n var t = (1 - v) / 2;\n return [\n [v, 0, 0, 0, t],\n [0, v, 0, 0, t],\n [0, 0, v, 0, t],\n [0, 0, 0, 1, 0],\n [0, 0, 0, 0, 1],\n ];\n },\n sepia: function (v) {\n return [\n [\n 0.393 + 0.607 * (1 - v),\n 0.769 - 0.769 * (1 - v),\n 0.189 - 0.189 * (1 - v),\n 0,\n 0,\n ],\n [\n 0.349 - 0.349 * (1 - v),\n 0.686 + 0.314 * (1 - v),\n 0.168 - 0.168 * (1 - v),\n 0,\n 0,\n ],\n [\n 0.272 - 0.272 * (1 - v),\n 0.534 - 0.534 * (1 - v),\n 0.131 + 0.869 * (1 - v),\n 0,\n 0,\n ],\n [0, 0, 0, 1, 0],\n [0, 0, 0, 0, 1],\n ];\n },\n grayscale: function (v) {\n return [\n [\n 0.2126 + 0.7874 * (1 - v),\n 0.7152 - 0.7152 * (1 - v),\n 0.0722 - 0.0722 * (1 - v),\n 0,\n 0,\n ],\n [\n 0.2126 - 0.2126 * (1 - v),\n 0.7152 + 0.2848 * (1 - v),\n 0.0722 - 0.0722 * (1 - v),\n 0,\n 0,\n ],\n [\n 0.2126 - 0.2126 * (1 - v),\n 0.7152 - 0.7152 * (1 - v),\n 0.0722 + 0.9278 * (1 - v),\n 0,\n 0,\n ],\n [0, 0, 0, 1, 0],\n [0, 0, 0, 0, 1],\n ];\n },\n };\n\n function getBgPole(theme) {\n var isDarkScheme = theme.mode === 1;\n var prop = isDarkScheme\n ? \"darkSchemeBackgroundColor\"\n : \"lightSchemeBackgroundColor\";\n return theme[prop];\n }\n\n function getFgPole(theme) {\n var isDarkScheme = theme.mode === 1;\n var prop = isDarkScheme ? \"darkSchemeTextColor\" : \"lightSchemeTextColor\";\n return theme[prop];\n }\n\n var colorModificationCache = new Map();\n var colorParseCache = new Map();\n\n function parseToHSLWithCache(color) {\n if (colorParseCache.has(color)) {\n return colorParseCache.get(color);\n }\n var rgb = parse(color);\n var hsl = rgbToHSL(rgb);\n colorParseCache.set(color, hsl);\n return hsl;\n }\n\n function clearColorModificationCache() {\n colorModificationCache.clear();\n colorParseCache.clear();\n }\n\n var rgbCacheKeys = [\"r\", \"g\", \"b\", \"a\"];\n var themeCacheKeys = [\n \"mode\",\n \"brightness\",\n \"contrast\",\n \"grayscale\",\n \"sepia\",\n \"darkSchemeBackgroundColor\",\n \"darkSchemeTextColor\",\n \"lightSchemeBackgroundColor\",\n \"lightSchemeTextColor\",\n ];\n\n function getCacheId(rgb, theme) {\n return rgbCacheKeys\n .map(function (k) {\n return rgb[k];\n })\n .concat(\n themeCacheKeys.map(function (k) {\n return theme[k];\n })\n )\n .join(\";\");\n }\n\n function modifyColorWithCache(\n rgb,\n theme,\n modifyHSL,\n poleColor,\n anotherPoleColor\n ) {\n var fnCache;\n if (colorModificationCache.has(modifyHSL)) {\n fnCache = colorModificationCache.get(modifyHSL);\n } else {\n fnCache = new Map();\n colorModificationCache.set(modifyHSL, fnCache);\n }\n var id = getCacheId(rgb, theme);\n if (fnCache.has(id)) {\n return fnCache.get(id);\n }\n var hsl = rgbToHSL(rgb);\n var pole = poleColor == null ? null : parseToHSLWithCache(poleColor);\n var anotherPole =\n anotherPoleColor == null ? null : parseToHSLWithCache(anotherPoleColor);\n var modified = modifyHSL(hsl, pole, anotherPole);\n var _a = hslToRGB(modified),\n r = _a.r,\n g = _a.g,\n b = _a.b,\n a = _a.a;\n var matrix = createFilterMatrix(theme);\n var _b = __read(applyColorMatrix([r, g, b], matrix), 3),\n rf = _b[0],\n gf = _b[1],\n bf = _b[2];\n var color =\n a === 1\n ? rgbToHexString({ r: rf, g: gf, b: bf })\n : rgbToString({ r: rf, g: gf, b: bf, a: a });\n fnCache.set(id, color);\n return color;\n }\n\n function noopHSL(hsl) {\n return hsl;\n }\n\n function modifyColor(rgb, theme) {\n return modifyColorWithCache(rgb, theme, noopHSL);\n }\n\n function modifyLightSchemeColor(rgb, theme) {\n var poleBg = getBgPole(theme);\n var poleFg = getFgPole(theme);\n return modifyColorWithCache(rgb, theme, modifyLightModeHSL, poleFg, poleBg);\n }\n\n function modifyLightModeHSL(_a, poleFg, poleBg) {\n var h = _a.h,\n s = _a.s,\n l = _a.l,\n a = _a.a;\n var isDark = l < 0.5;\n var isNeutral;\n if (isDark) {\n isNeutral = l < 0.2 || s < 0.12;\n } else {\n var isBlue = h > 200 && h < 280;\n isNeutral = s < 0.24 || (l > 0.8 && isBlue);\n }\n var hx = h;\n var sx = l;\n if (isNeutral) {\n if (isDark) {\n hx = poleFg.h;\n sx = poleFg.s;\n } else {\n hx = poleBg.h;\n sx = poleBg.s;\n }\n }\n var lx = scale(l, 0, 1, poleFg.l, poleBg.l);\n return { h: hx, s: sx, l: lx, a: a };\n }\n\n var MAX_BG_LIGHTNESS = 0.4;\n\n function modifyBgHSL(_a, pole) {\n var h = _a.h,\n s = _a.s,\n l = _a.l,\n a = _a.a;\n var isDark = l < 0.5;\n var isBlue = h > 200 && h < 280;\n var isNeutral = s < 0.12 || (l > 0.8 && isBlue);\n if (isDark) {\n var lx_1 = scale(l, 0, 0.5, 0, MAX_BG_LIGHTNESS);\n if (isNeutral) {\n var hx_1 = pole.h;\n var sx = pole.s;\n return { h: hx_1, s: sx, l: lx_1, a: a };\n }\n return { h: h, s: s, l: lx_1, a: a };\n }\n var lx = scale(l, 0.5, 1, MAX_BG_LIGHTNESS, pole.l);\n if (isNeutral) {\n var hx_2 = pole.h;\n var sx = pole.s;\n return { h: hx_2, s: sx, l: lx, a: a };\n }\n var hx = h;\n var isYellow = h > 60 && h < 180;\n if (isYellow) {\n var isCloserToGreen = h > 120;\n if (isCloserToGreen) {\n hx = scale(h, 120, 180, 135, 180);\n } else {\n hx = scale(h, 60, 120, 60, 105);\n }\n }\n return { h: hx, s: s, l: lx, a: a };\n }\n\n function modifyBackgroundColor(rgb, theme) {\n if (theme.mode === 0) {\n return modifyLightSchemeColor(rgb, theme);\n }\n var pole = getBgPole(theme);\n return modifyColorWithCache(\n rgb,\n __assign(__assign({}, theme), { mode: 0 }),\n modifyBgHSL,\n pole\n );\n }\n\n var MIN_FG_LIGHTNESS = 0.55;\n\n function modifyBlueFgHue(hue) {\n return scale(hue, 205, 245, 205, 220);\n }\n\n function modifyFgHSL(_a, pole) {\n var h = _a.h,\n s = _a.s,\n l = _a.l,\n a = _a.a;\n var isLight = l > 0.5;\n var isNeutral = l < 0.2 || s < 0.24;\n var isBlue = !isNeutral && h > 205 && h < 245;\n if (isLight) {\n var lx_2 = scale(l, 0.5, 1, MIN_FG_LIGHTNESS, pole.l);\n if (isNeutral) {\n var hx_3 = pole.h;\n var sx = pole.s;\n return { h: hx_3, s: sx, l: lx_2, a: a };\n }\n var hx_4 = h;\n if (isBlue) {\n hx_4 = modifyBlueFgHue(h);\n }\n return { h: hx_4, s: s, l: lx_2, a: a };\n }\n if (isNeutral) {\n var hx_5 = pole.h;\n var sx = pole.s;\n var lx_3 = scale(l, 0, 0.5, pole.l, MIN_FG_LIGHTNESS);\n return { h: hx_5, s: sx, l: lx_3, a: a };\n }\n var hx = h;\n var lx;\n if (isBlue) {\n hx = modifyBlueFgHue(h);\n lx = scale(l, 0, 0.5, pole.l, Math.min(1, MIN_FG_LIGHTNESS + 0.05));\n } else {\n lx = scale(l, 0, 0.5, pole.l, MIN_FG_LIGHTNESS);\n }\n return { h: hx, s: s, l: lx, a: a };\n }\n\n function modifyForegroundColor(rgb, theme) {\n if (theme.mode === 0) {\n return modifyLightSchemeColor(rgb, theme);\n }\n var pole = getFgPole(theme);\n return modifyColorWithCache(\n rgb,\n __assign(__assign({}, theme), { mode: 0 }),\n modifyFgHSL,\n pole\n );\n }\n\n function modifyBorderHSL(_a, poleFg, poleBg) {\n var h = _a.h,\n s = _a.s,\n l = _a.l,\n a = _a.a;\n var isDark = l < 0.5;\n var isNeutral = l < 0.2 || s < 0.24;\n var hx = h;\n var sx = s;\n if (isNeutral) {\n if (isDark) {\n hx = poleFg.h;\n sx = poleFg.s;\n } else {\n hx = poleBg.h;\n sx = poleBg.s;\n }\n }\n var lx = scale(l, 0, 1, 0.5, 0.2);\n return { h: hx, s: sx, l: lx, a: a };\n }\n\n function modifyBorderColor(rgb, theme) {\n if (theme.mode === 0) {\n return modifyLightSchemeColor(rgb, theme);\n }\n var poleFg = getFgPole(theme);\n var poleBg = getBgPole(theme);\n return modifyColorWithCache(\n rgb,\n __assign(__assign({}, theme), { mode: 0 }),\n modifyBorderHSL,\n poleFg,\n poleBg\n );\n }\n\n function modifyShadowColor(rgb, filter) {\n return modifyBackgroundColor(rgb, filter);\n }\n\n function modifyGradientColor(rgb, filter) {\n return modifyBackgroundColor(rgb, filter);\n }\n\n function createTextStyle(config) {\n var lines = [];\n lines.push(\"*:not(pre) {\");\n if (config.useFont && config.fontFamily) {\n lines.push(\" font-family: \" + config.fontFamily + \" !important;\");\n }\n if (config.textStroke > 0) {\n lines.push(\n \" -webkit-text-stroke: \" + config.textStroke + \"px !important;\"\n );\n lines.push(\" text-stroke: \" + config.textStroke + \"px !important;\");\n }\n lines.push(\"}\");\n return lines.join(\"\\n\");\n }\n\n var FilterMode;\n (function (FilterMode) {\n FilterMode[(FilterMode[\"light\"] = 0)] = \"light\";\n FilterMode[(FilterMode[\"dark\"] = 1)] = \"dark\";\n })(FilterMode || (FilterMode = {}));\n\n function getCSSFilterValue(config) {\n var filters = [];\n if (config.mode === FilterMode.dark) {\n filters.push(\"invert(100%) hue-rotate(180deg)\");\n }\n if (config.brightness !== 100) {\n filters.push(\"brightness(\" + config.brightness + \"%)\");\n }\n if (config.contrast !== 100) {\n filters.push(\"contrast(\" + config.contrast + \"%)\");\n }\n if (config.grayscale !== 0) {\n filters.push(\"grayscale(\" + config.grayscale + \"%)\");\n }\n if (config.sepia !== 0) {\n filters.push(\"sepia(\" + config.sepia + \"%)\");\n }\n if (filters.length === 0) {\n return null;\n }\n return filters.join(\" \");\n }\n\n function toSVGMatrix(matrix) {\n return matrix\n .slice(0, 4)\n .map(function (m) {\n return m\n .map(function (m) {\n return m.toFixed(3);\n })\n .join(\" \");\n })\n .join(\" \");\n }\n\n function getSVGFilterMatrixValue(config) {\n return toSVGMatrix(createFilterMatrix(config));\n }\n\n var counter = 0;\n var resolvers = new Map();\n var rejectors = new Map();\n\n function bgFetch(request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [\n 2,\n new Promise(function (resolve, reject) {\n var id = ++counter;\n resolvers.set(id, resolve);\n rejectors.set(id, reject);\n chrome.runtime.sendMessage({\n type: \"fetch\",\n data: request,\n id: id,\n });\n }),\n ];\n });\n });\n }\n\n chrome.runtime.onMessage.addListener(function (_a) {\n var type = _a.type,\n data = _a.data,\n error = _a.error,\n id = _a.id;\n if (type === \"fetch-response\") {\n var resolve = resolvers.get(id);\n var reject = rejectors.get(id);\n resolvers.delete(id);\n rejectors.delete(id);\n if (error) {\n reject && reject(error);\n } else {\n resolve && resolve(data);\n }\n }\n });\n\n function getImageDetails(url) {\n return __awaiter(this, void 0, void 0, function () {\n var dataURL, image, info;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!url.startsWith(\"data:\")) return [3, 1];\n dataURL = url;\n return [3, 3];\n case 1:\n return [4, getImageDataURL(url)];\n case 2:\n dataURL = _a.sent();\n _a.label = 3;\n case 3:\n return [4, urlToImage(dataURL)];\n case 4:\n image = _a.sent();\n info = analyzeImage(image);\n return [\n 2,\n __assign(\n {\n src: url,\n dataURL: dataURL,\n width: image.naturalWidth,\n height: image.naturalHeight,\n },\n info\n ),\n ];\n }\n });\n });\n }\n\n function getImageDataURL(url) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (\n !(\n getURLHostOrProtocol(url) ===\n (location.host || location.protocol)\n )\n )\n return [3, 2];\n return [4, loadAsDataURL(url)];\n case 1:\n return [2, _a.sent()];\n case 2:\n return [4, bgFetch({ url: url, responseType: \"data-url\" })];\n case 3:\n return [2, _a.sent()];\n }\n });\n });\n }\n\n function urlToImage(url) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [\n 2,\n new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n return resolve(image);\n };\n image.onerror = function () {\n return reject(\"Unable to load image \" + url);\n };\n image.src = url;\n }),\n ];\n });\n });\n }\n\n var MAX_ANALIZE_PIXELS_COUNT = 32 * 32;\n var canvas;\n var context;\n\n function createCanvas() {\n var maxWidth = MAX_ANALIZE_PIXELS_COUNT;\n var maxHeight = MAX_ANALIZE_PIXELS_COUNT;\n canvas = document.createElement(\"canvas\");\n canvas.width = maxWidth;\n canvas.height = maxHeight;\n context = canvas.getContext(\"2d\");\n context.imageSmoothingEnabled = false;\n }\n\n function removeCanvas() {\n canvas = null;\n context = null;\n }\n\n function analyzeImage(image) {\n return null;\n\n if (!canvas) {\n createCanvas();\n }\n var naturalWidth = image.naturalWidth,\n naturalHeight = image.naturalHeight;\n if (naturalHeight === 0 || naturalWidth === 0) {\n logWarn(\"logWarn(Image is empty \" + image.currentSrc + \")\");\n return null;\n }\n var naturalPixelsCount = naturalWidth * naturalHeight;\n var k = Math.min(\n 1,\n Math.sqrt(MAX_ANALIZE_PIXELS_COUNT / naturalPixelsCount)\n );\n var width = Math.ceil(naturalWidth * k);\n var height = Math.ceil(naturalHeight * k);\n context.clearRect(0, 0, width, height);\n context.drawImage(\n image,\n 0,\n 0,\n naturalWidth,\n naturalHeight,\n 0,\n 0,\n width,\n height\n );\n var imageData = context.getImageData(0, 0, width, height);\n var d = imageData.data;\n var TRANSPARENT_ALPHA_THRESHOLD = 0.05;\n var DARK_LIGHTNESS_THRESHOLD = 0.4;\n var LIGHT_LIGHTNESS_THRESHOLD = 0.7;\n var transparentPixelsCount = 0;\n var darkPixelsCount = 0;\n var lightPixelsCount = 0;\n var i, x, y;\n var r, g, b, a;\n var l;\n for (y = 0; y < height; y++) {\n for (x = 0; x < width; x++) {\n i = 4 * (y * width + x);\n r = d[i + 0] / 255;\n g = d[i + 1] / 255;\n b = d[i + 2] / 255;\n a = d[i + 3] / 255;\n if (a < TRANSPARENT_ALPHA_THRESHOLD) {\n transparentPixelsCount++;\n } else {\n l = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n if (l < DARK_LIGHTNESS_THRESHOLD) {\n darkPixelsCount++;\n }\n if (l > LIGHT_LIGHTNESS_THRESHOLD) {\n lightPixelsCount++;\n }\n }\n }\n }\n var totalPixelsCount = width * height;\n var opaquePixelsCount = totalPixelsCount - transparentPixelsCount;\n var DARK_IMAGE_THRESHOLD = 0.7;\n var LIGHT_IMAGE_THRESHOLD = 0.7;\n var TRANSPARENT_IMAGE_THRESHOLD = 0.1;\n var LARGE_IMAGE_PIXELS_COUNT = 800 * 600;\n return {\n isDark: darkPixelsCount / opaquePixelsCount >= DARK_IMAGE_THRESHOLD,\n isLight: lightPixelsCount / opaquePixelsCount >= LIGHT_IMAGE_THRESHOLD,\n isTransparent:\n transparentPixelsCount / totalPixelsCount >=\n TRANSPARENT_IMAGE_THRESHOLD,\n isLarge: naturalPixelsCount >= LARGE_IMAGE_PIXELS_COUNT,\n };\n }\n\n var objectURLs = new Set();\n\n function getFilteredImageDataURL(_a, filter) {\n var dataURL = _a.dataURL,\n width = _a.width,\n height = _a.height;\n var matrix = getSVGFilterMatrixValue(filter);\n var svg = [\n '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"' +\n width +\n '\" height=\"' +\n height +\n '\">',\n \"<defs>\",\n '<filter id=\"darkmoder-image-filter\">',\n '<feColorMatrix type=\"matrix\" values=\"' + matrix + '\" />',\n \"</filter>\",\n \"</defs>\",\n '<image width=\"' +\n width +\n '\" height=\"' +\n height +\n '\" filter=\"url(#darkmoder-image-filter)\" xlink:href=\"' +\n dataURL +\n '\" />',\n \"</svg>\",\n ].join(\"\");\n var bytes = new Uint8Array(svg.length);\n for (var i = 0; i < svg.length; i++) {\n bytes[i] = svg.charCodeAt(i);\n }\n var blob = new Blob([bytes], { type: \"image/svg+xml\" });\n var objectURL = URL.createObjectURL(blob);\n objectURLs.add(objectURL);\n return objectURL;\n }\n\n function cleanImageProcessingCache() {\n removeCanvas();\n objectURLs.forEach(function (u) {\n return URL.revokeObjectURL(u);\n });\n objectURLs.clear();\n }\n\n function getModifiableCSSDeclaration(\n property,\n value,\n rule,\n ignoreImageSelectors,\n isCancelled\n ) {\n var important = Boolean(\n rule && rule.style && rule.style.getPropertyPriority(property)\n );\n var sourceValue = value;\n if (property.startsWith(\"--\")) {\n return null;\n } else if (\n (property.indexOf(\"color\") >= 0 &&\n property !== \"-webkit-print-color-adjust\") ||\n property === \"fill\" ||\n property === \"stroke\" ||\n property === \"stop-color\"\n ) {\n var modifier = getColorModifier(property, value);\n if (modifier) {\n return {\n property: property,\n value: modifier,\n important: important,\n sourceValue: sourceValue,\n };\n }\n } else if (\n property === \"background-image\" ||\n property === \"list-style-image\"\n ) {\n var modifier = getBgImageModifier(\n value,\n rule,\n ignoreImageSelectors,\n isCancelled\n );\n if (modifier) {\n return {\n property: property,\n value: modifier,\n important: important,\n sourceValue: sourceValue,\n };\n }\n } else if (property.indexOf(\"shadow\") >= 0) {\n var modifier = getShadowModifier(property, value);\n if (modifier) {\n return {\n property: property,\n value: modifier,\n important: important,\n sourceValue: sourceValue,\n };\n }\n }\n return null;\n }\n\n function getModifiedUserAgentStyle(theme, isIFrame, styleSystemControls) {\n var lines = [];\n if (!isIFrame) {\n lines.push(\"html {\");\n lines.push(\n \" background-color: \" +\n modifyBackgroundColor(\n {\n r: 255,\n g: 255,\n b: 255,\n },\n theme\n ) +\n \" !important;\"\n );\n lines.push(\"}\");\n }\n lines.push(\n \"\" +\n (isIFrame ? \"\" : \"html, body, \") +\n (styleSystemControls ? \"input, textarea, select, button\" : \"\") +\n \" {\"\n );\n lines.push(\n \" background-color: \" +\n modifyBackgroundColor({ r: 255, g: 255, b: 255 }, theme) +\n \";\"\n );\n lines.push(\"}\");\n lines.push(\n \"html, body, \" +\n (styleSystemControls ? \"input, textarea, select, button\" : \"\") +\n \" {\"\n );\n lines.push(\n \" border-color: \" +\n modifyBorderColor({ r: 76, g: 76, b: 76 }, theme) +\n \";\"\n );\n lines.push(\n \" color: \" + modifyForegroundColor({ r: 0, g: 0, b: 0 }, theme) + \";\"\n );\n lines.push(\"}\");\n lines.push(\"a {\");\n lines.push(\n \" color: \" +\n modifyForegroundColor({ r: 0, g: 64, b: 255 }, theme) +\n \";\"\n );\n lines.push(\"}\");\n lines.push(\"table {\");\n lines.push(\n \" border-color: \" +\n modifyBorderColor({ r: 128, g: 128, b: 128 }, theme) +\n \";\"\n );\n lines.push(\"}\");\n lines.push(\"::placeholder {\");\n lines.push(\n \" color: \" +\n modifyForegroundColor({ r: 169, g: 169, b: 169 }, theme) +\n \";\"\n );\n lines.push(\"}\");\n lines.push(\"input:-webkit-autofill,\");\n lines.push(\"textarea:-webkit-autofill,\");\n lines.push(\"select:-webkit-autofill {\");\n lines.push(\n \" background-color: \" +\n modifyBackgroundColor({ r: 250, g: 255, b: 189 }, theme) +\n \" !important;\"\n );\n lines.push(\n \" color: \" +\n modifyForegroundColor({ r: 0, g: 0, b: 0 }, theme) +\n \" !important;\"\n );\n lines.push(\"}\");\n if (theme.scrollbarColor) {\n lines.push(getModifiedScrollbarStyle(theme));\n }\n if (theme.selectionColor) {\n lines.push(getModifiedSelectionStyle(theme));\n }\n return lines.join(\"\\n\");\n }\n\n function getSelectionColor(theme) {\n var backgroundColorSelection;\n var foregroundColorSelection;\n if (theme.selectionColor === \"auto\") {\n backgroundColorSelection = modifyBackgroundColor(\n {\n r: 0,\n g: 96,\n b: 212,\n },\n __assign(__assign({}, theme), { grayscale: 0 })\n );\n foregroundColorSelection = modifyForegroundColor(\n {\n r: 255,\n g: 255,\n b: 255,\n },\n __assign(__assign({}, theme), { grayscale: 0 })\n );\n } else {\n var rgb = parse(theme.selectionColor);\n var hsl = rgbToHSL(rgb);\n backgroundColorSelection = theme.selectionColor;\n if (hsl.l < 0.5) {\n foregroundColorSelection = \"#FFF\";\n } else {\n foregroundColorSelection = \"#000\";\n }\n }\n return {\n backgroundColorSelection: backgroundColorSelection,\n foregroundColorSelection: foregroundColorSelection,\n };\n }\n\n function getModifiedSelectionStyle(theme) {\n var lines = [];\n var modifiedSelectionColor = getSelectionColor(theme);\n var backgroundColorSelection =\n modifiedSelectionColor.backgroundColorSelection;\n var foregroundColorSelection =\n modifiedSelectionColor.foregroundColorSelection;\n [\"::selection\", \"::-moz-selection\"].forEach(function (selection) {\n lines.push(selection + \" {\");\n lines.push(\n \" background-color: \" + backgroundColorSelection + \" !important;\"\n );\n lines.push(\" color: \" + foregroundColorSelection + \" !important;\");\n lines.push(\"}\");\n });\n return lines.join(\"\\n\");\n }\n\n function getModifiedScrollbarStyle(theme) {\n var lines = [];\n var colorTrack;\n var colorIcons;\n var colorThumb;\n var colorThumbHover;\n var colorThumbActive;\n var colorCorner;\n if (theme.scrollbarColor === \"auto\") {\n colorTrack = modifyBackgroundColor({ r: 241, g: 241, b: 241 }, theme);\n colorIcons = modifyForegroundColor({ r: 96, g: 96, b: 96 }, theme);\n colorThumb = modifyBackgroundColor({ r: 176, g: 176, b: 176 }, theme);\n colorThumbHover = modifyBackgroundColor(\n { r: 144, g: 144, b: 144 },\n theme\n );\n colorThumbActive = modifyBackgroundColor({ r: 96, g: 96, b: 96 }, theme);\n colorCorner = modifyBackgroundColor({ r: 255, g: 255, b: 255 }, theme);\n } else {\n var rgb = parse(theme.scrollbarColor);\n var hsl_1 = rgbToHSL(rgb);\n var isLight = hsl_1.l > 0.5;\n var lighten = function (lighter) {\n return __assign(__assign({}, hsl_1), {\n l: clamp(hsl_1.l + lighter, 0, 1),\n });\n };\n var darken = function (darker) {\n return __assign(__assign({}, hsl_1), {\n l: clamp(hsl_1.l - darker, 0, 1),\n });\n };\n colorTrack = hslToString(darken(0.4));\n colorIcons = hslToString(isLight ? darken(0.4) : lighten(0.4));\n colorThumb = hslToString(hsl_1);\n colorThumbHover = hslToString(lighten(0.1));\n colorThumbActive = hslToString(lighten(0.2));\n }\n lines.push(\"::-webkit-scrollbar {\");\n lines.push(\" background-color: \" + colorTrack + \";\");\n lines.push(\" color: \" + colorIcons + \";\");\n lines.push(\"}\");\n lines.push(\"::-webkit-scrollbar-thumb {\");\n lines.push(\" background-color: \" + colorThumb + \";\");\n lines.push(\"}\");\n lines.push(\"::-webkit-scrollbar-thumb:hover {\");\n lines.push(\" background-color: \" + colorThumbHover + \";\");\n lines.push(\"}\");\n lines.push(\"::-webkit-scrollbar-thumb:active {\");\n lines.push(\" background-color: \" + colorThumbActive + \";\");\n lines.push(\"}\");\n lines.push(\"::-webkit-scrollbar-corner {\");\n lines.push(\" background-color: \" + colorCorner + \";\");\n lines.push(\"}\");\n lines.push(\"* {\");\n lines.push(\" scrollbar-color: \" + colorTrack + \" \" + colorThumb + \";\");\n lines.push(\"}\");\n return lines.join(\"\\n\");\n }\n\n function getModifiedFallbackStyle(filter, _a) {\n var strict = _a.strict;\n var lines = [];\n lines.push(\n \"html, body, \" +\n (strict ? \"body :not(iframe)\" : \"body > :not(iframe)\") +\n \" {\"\n );\n lines.push(\n \" background-color: \" +\n modifyBackgroundColor({ r: 255, g: 255, b: 255 }, filter) +\n \" !important;\"\n );\n lines.push(\n \" border-color: \" +\n modifyBorderColor({ r: 64, g: 64, b: 64 }, filter) +\n \" !important;\"\n );\n lines.push(\n \" color: \" +\n modifyForegroundColor({ r: 0, g: 0, b: 0 }, filter) +\n \" !important;\"\n );\n lines.push(\"}\");\n\n return \"\";\n return lines.join(\"\\n\");\n }\n\n var unparsableColors = new Set([\n \"inherit\",\n \"transparent\",\n \"initial\",\n \"currentcolor\",\n \"none\",\n \"unset\",\n ]);\n var colorParseCache$1 = new Map();\n\n function parseColorWithCache($color) {\n $color = $color.trim();\n if (colorParseCache$1.has($color)) {\n return colorParseCache$1.get($color);\n }\n var color = parse($color);\n colorParseCache$1.set($color, color);\n return color;\n }\n\n function tryParseColor($color) {\n try {\n return parseColorWithCache($color);\n } catch (err) {\n return null;\n }\n }\n\n function getColorModifier(prop, value) {\n if (unparsableColors.has(value.toLowerCase())) {\n return value;\n }\n try {\n var rgb_1 = parseColorWithCache(value);\n if (prop.indexOf(\"background\") >= 0) {\n return function (filter) {\n return modifyBackgroundColor(rgb_1, filter);\n };\n }\n if (prop.indexOf(\"border\") >= 0 || prop.indexOf(\"outline\") >= 0) {\n return function (filter) {\n return modifyBorderColor(rgb_1, filter);\n };\n }\n return function (filter) {\n return modifyForegroundColor(rgb_1, filter);\n };\n } catch (err) {\n logWarn(\"Color parse error\", err);\n return null;\n }\n }\n\n var gradientRegex =\n /[\\-a-z]+gradient\\(([^\\(\\)]*(\\(([^\\(\\)]*(\\(.*?\\)))*[^\\(\\)]*\\))){0,15}[^\\(\\)]*\\)/g;\n var imageDetailsCache = new Map();\n var awaitingForImageLoading = new Map();\n\n function shouldIgnoreImage(rule, selectors) {\n return false;\n\n if (!rule || selectors.length === 0) {\n return false;\n }\n if (\n selectors.some(function (s) {\n return s === \"*\";\n })\n ) {\n return true;\n }\n var ruleSelectors = rule.selectorText.split(/,\\s*/g);\n var _loop_1 = function (i) {\n var ignoredSelector = selectors[i];\n if (\n ruleSelectors.some(function (s) {\n return s === ignoredSelector;\n })\n ) {\n return { value: true };\n }\n };\n for (var i = 0; i < selectors.length; i++) {\n var state_1 = _loop_1(i);\n if (typeof state_1 === \"object\") return state_1.value;\n }\n return false;\n }\n\n function getBgImageModifier(value, rule, ignoreImageSelectors, isCancelled) {\n return null;\n\n var _this = this;\n try {\n var gradients = getMatches(gradientRegex, value);\n var urls = getMatches(cssURLRegex, value);\n if (urls.length === 0 && gradients.length === 0) {\n return value;\n }\n var getIndices = function (matches) {\n var index = 0;\n return matches.map(function (match) {\n var valueIndex = value.indexOf(match, index);\n index = valueIndex + match.length;\n return { match: match, index: valueIndex };\n });\n };\n var matches_1 = getIndices(urls)\n .map(function (i) {\n return __assign({ type: \"url\" }, i);\n })\n .concat(\n getIndices(gradients).map(function (i) {\n return __assign({ type: \"gradient\" }, i);\n })\n )\n .sort(function (a, b) {\n return a.index - b.index;\n });\n var getGradientModifier_1 = function (gradient) {\n var match = gradient.match(/^(.*-gradient)\\((.*)\\)$/);\n var type = match[1];\n var content = match[2];\n var partsRegex =\n /([^\\(\\),]+(\\([^\\(\\)]*(\\([^\\(\\)]*\\)*[^\\(\\)]*)?\\))?[^\\(\\),]*),?/g;\n var colorStopRegex = /^(from|color-stop|to)\\(([^\\(\\)]*?,\\s*)?(.*?)\\)$/;\n var parts = getMatches(partsRegex, content, 1).map(function (part) {\n part = part.trim();\n var rgb = tryParseColor(part);\n if (rgb) {\n return function (filter) {\n return modifyGradientColor(rgb, filter);\n };\n }\n var space = part.lastIndexOf(\" \");\n rgb = tryParseColor(part.substring(0, space));\n if (rgb) {\n return function (filter) {\n return (\n modifyGradientColor(rgb, filter) +\n \" \" +\n part.substring(space + 1)\n );\n };\n }\n var colorStopMatch = part.match(colorStopRegex);\n if (colorStopMatch) {\n rgb = tryParseColor(colorStopMatch[3]);\n if (rgb) {\n return function (filter) {\n return (\n colorStopMatch[1] +\n \"(\" +\n (colorStopMatch[2] ? colorStopMatch[2] + \", \" : \"\") +\n modifyGradientColor(rgb, filter) +\n \")\"\n );\n };\n }\n }\n return function () {\n return part;\n };\n });\n return function (filter) {\n return (\n type +\n \"(\" +\n parts\n .map(function (modify) {\n return modify(filter);\n })\n .join(\", \") +\n \")\"\n );\n };\n };\n var getURLModifier_1 = function (urlValue) {\n var url = getCSSURLValue(urlValue);\n if (rule.parentStyleSheet.href) {\n var basePath = getCSSBaseBath(rule.parentStyleSheet.href);\n url = getAbsoluteURL(basePath, url);\n } else if (\n rule.parentStyleSheet.ownerNode &&\n rule.parentStyleSheet.ownerNode.baseURI\n ) {\n url = getAbsoluteURL(rule.parentStyleSheet.ownerNode.baseURI, url);\n } else {\n url = getAbsoluteURL(location.origin, url);\n }\n var absoluteValue = 'url(\"' + url + '\")';\n return function (filter) {\n return __awaiter(_this, void 0, void 0, function () {\n var imageDetails, awaiters_1, err_1, bgImageValue;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!imageDetailsCache.has(url)) return [3, 1];\n imageDetails = imageDetailsCache.get(url);\n return [3, 7];\n case 1:\n _a.trys.push([1, 6, , 7]);\n if (shouldIgnoreImage(rule, ignoreImageSelectors)) {\n return [2, null];\n }\n if (!awaitingForImageLoading.has(url)) return [3, 3];\n awaiters_1 = awaitingForImageLoading.get(url);\n return [\n 4,\n new Promise(function (resolve) {\n return awaiters_1.push(resolve);\n }),\n ];\n case 2:\n imageDetails = _a.sent();\n if (!imageDetails) {\n return [2, null];\n }\n return [3, 5];\n case 3:\n awaitingForImageLoading.set(url, []);\n return [4, getImageDetails(url)];\n case 4:\n imageDetails = _a.sent();\n imageDetailsCache.set(url, imageDetails);\n awaitingForImageLoading.get(url).forEach(function (resolve) {\n return resolve(imageDetails);\n });\n awaitingForImageLoading.delete(url);\n _a.label = 5;\n case 5:\n if (isCancelled()) {\n return [2, null];\n }\n return [3, 7];\n case 6:\n err_1 = _a.sent();\n logWarn(err_1);\n if (awaitingForImageLoading.has(url)) {\n awaitingForImageLoading\n .get(url)\n .forEach(function (resolve) {\n return resolve(null);\n });\n awaitingForImageLoading.delete(url);\n }\n return [2, absoluteValue];\n case 7:\n bgImageValue =\n getBgImageValue_1(imageDetails, filter) || absoluteValue;\n return [2, bgImageValue];\n }\n });\n });\n };\n };\n var getBgImageValue_1 = function (imageDetails, filter) {\n var isDark = imageDetails.isDark,\n isLight = imageDetails.isLight,\n isTransparent = imageDetails.isTransparent,\n isLarge = imageDetails.isLarge,\n width = imageDetails.width;\n var result;\n if (\n isDark &&\n isTransparent &&\n filter.mode === 1 &&\n !isLarge &&\n width > 2\n ) {\n logInfo(\"Inverting dark image \" + imageDetails.src);\n var inverted = getFilteredImageDataURL(\n imageDetails,\n __assign(__assign({}, filter), {\n sepia: clamp(filter.sepia + 10, 0, 100),\n })\n );\n result = 'url(\"' + inverted + '\")';\n } else if (isLight && !isTransparent && filter.mode === 1) {\n if (isLarge) {\n result = \"none\";\n } else {\n logInfo(\"Dimming light image \" + imageDetails.src);\n var dimmed = getFilteredImageDataURL(imageDetails, filter);\n result = 'url(\"' + dimmed + '\")';\n }\n } else if (filter.mode === 0 && isLight && !isLarge) {\n logInfo(\"Applying filter to image \" + imageDetails.src);\n var filtered = getFilteredImageDataURL(\n imageDetails,\n __assign(__assign({}, filter), {\n brightness: clamp(filter.brightness - 10, 5, 200),\n sepia: clamp(filter.sepia + 10, 0, 100),\n })\n );\n result = 'url(\"' + filtered + '\")';\n } else {\n result = null;\n }\n return result;\n };\n var modifiers_1 = [];\n var index_1 = 0;\n matches_1.forEach(function (_a, i) {\n var match = _a.match,\n type = _a.type,\n matchStart = _a.index;\n var prefixStart = index_1;\n var matchEnd = matchStart + match.length;\n index_1 = matchEnd;\n modifiers_1.push(function () {\n return value.substring(prefixStart, matchStart);\n });\n modifiers_1.push(\n type === \"url\"\n ? getURLModifier_1(match)\n : getGradientModifier_1(match)\n );\n if (i === matches_1.length - 1) {\n modifiers_1.push(function () {\n return value.substring(matchEnd);\n });\n }\n });\n return function (filter) {\n var results = modifiers_1.map(function (modify) {\n return modify(filter);\n });\n if (\n results.some(function (r) {\n return r instanceof Promise;\n })\n ) {\n return Promise.all(results).then(function (asyncResults) {\n return asyncResults.join(\"\");\n });\n }\n return results.join(\"\");\n };\n } catch (err) {\n logWarn(\"Unable to parse gradient \" + value, err);\n return null;\n }\n }\n\n function getShadowModifier(prop, value) {\n try {\n var index_2 = 0;\n var colorMatches_1 = getMatches(\n /(^|\\s)([a-z]+\\(.+?\\)|#[0-9a-f]+|[a-z]+)(.*?(inset|outset)?($|,))/gi,\n value,\n 2\n );\n var modifiers_2 = colorMatches_1.map(function (match, i) {\n var prefixIndex = index_2;\n var matchIndex = value.indexOf(match, index_2);\n var matchEnd = matchIndex + match.length;\n index_2 = matchEnd;\n var rgb = tryParseColor(match);\n if (!rgb) {\n return function () {\n return value.substring(prefixIndex, matchEnd);\n };\n }\n return function (filter) {\n return (\n \"\" +\n value.substring(prefixIndex, matchIndex) +\n modifyShadowColor(rgb, filter) +\n (i === colorMatches_1.length - 1 ? value.substring(matchEnd) : \"\")\n );\n };\n });\n return function (filter) {\n return modifiers_2\n .map(function (modify) {\n return modify(filter);\n })\n .join(\"\");\n };\n } catch (err) {\n logWarn(\"Unable to parse shadow \" + value, err);\n return null;\n }\n }\n\n function cleanModificationCache() {\n colorParseCache$1.clear();\n clearColorModificationCache();\n imageDetailsCache.clear();\n cleanImageProcessingCache();\n awaitingForImageLoading.clear();\n }\n\n var overrides = {\n \"background-color\": {\n customProp: \"--wp-dark-mode-inline-bgcolor\",\n cssProp: \"background-color\",\n dataAttr: \"data-darkmoder-inline-bgcolor\",\n },\n \"background-image\": {\n customProp: \"--wp-dark-mode-inline-bgimage\",\n cssProp: \"background-image\",\n dataAttr: \"data-darkmoder-inline-bgimage\",\n },\n \"border-color\": {\n customProp: \"--wp-dark-mode-inline-border\",\n cssProp: \"border-color\",\n dataAttr: \"data-darkmoder-inline-border\",\n },\n \"border-bottom-color\": {\n customProp: \"--wp-dark-mode-inline-border-bottom\",\n cssProp: \"border-bottom-color\",\n dataAttr: \"data-darkmoder-inline-border-bottom\",\n },\n \"border-left-color\": {\n customProp: \"--wp-dark-mode-inline-border-left\",\n cssProp: \"border-left-color\",\n dataAttr: \"data-darkmoder-inline-border-left\",\n },\n \"border-right-color\": {\n customProp: \"--wp-dark-mode-inline-border-right\",\n cssProp: \"border-right-color\",\n dataAttr: \"data-darkmoder-inline-border-right\",\n },\n \"border-top-color\": {\n customProp: \"--wp-dark-mode-inline-border-top\",\n cssProp: \"border-top-color\",\n dataAttr: \"data-darkmoder-inline-border-top\",\n },\n \"box-shadow\": {\n customProp: \"--wp-dark-mode-inline-boxshadow\",\n cssProp: \"box-shadow\",\n dataAttr: \"data-darkmoder-inline-boxshadow\",\n },\n color: {\n customProp: \"--wp-dark-mode-inline-color\",\n cssProp: \"color\",\n dataAttr: \"data-darkmoder-inline-color\",\n },\n fill: {\n customProp: \"--wp-dark-mode-inline-fill\",\n cssProp: \"fill\",\n dataAttr: \"data-darkmoder-inline-fill\",\n },\n stroke: {\n customProp: \"--wp-dark-mode-inline-stroke\",\n cssProp: \"stroke\",\n dataAttr: \"data-darkmoder-inline-stroke\",\n },\n \"outline-color\": {\n customProp: \"--wp-dark-mode-inline-outline\",\n cssProp: \"outline-color\",\n dataAttr: \"data-darkmoder-inline-outline\",\n },\n \"stop-color\": {\n customProp: \"--wp-dark-mode-inline-stopcolor\",\n cssProp: \"stop-color\",\n dataAttr: \"data-darkmoder-inline-stopcolor\",\n },\n };\n var overridesList = Object.values(overrides);\n var INLINE_STYLE_ATTRS = [\n \"style\",\n \"fill\",\n \"stop-color\",\n \"stroke\",\n \"bgcolor\",\n \"color\",\n ];\n var INLINE_STYLE_SELECTOR = INLINE_STYLE_ATTRS.map(function (attr) {\n return \"[\" + attr + \"]\";\n }).join(\", \");\n\n function getInlineOverrideStyle() {\n return overridesList\n .map(function (_a) {\n var dataAttr = _a.dataAttr,\n customProp = _a.customProp,\n cssProp = _a.cssProp;\n return [\n \"[\" + dataAttr + \"] {\",\n \" \" + cssProp + \": var(\" + customProp + \") !important;\",\n \"}\",\n ].join(\"\\n\");\n })\n .join(\"\\n\");\n }\n\n function getInlineStyleElements(root) {\n var results = [];\n if (root instanceof Element && root.matches(INLINE_STYLE_SELECTOR)) {\n results.push(root);\n }\n if (\n root instanceof Element ||\n (isShadowDomSupported && root instanceof ShadowRoot) ||\n root instanceof Document\n ) {\n push(results, root.querySelectorAll(INLINE_STYLE_SELECTOR));\n }\n return results;\n }\n\n var treeObservers = new Map();\n var attrObservers = new Map();\n\n function watchForInlineStyles(elementStyleDidChange, shadowRootDiscovered) {\n deepWatchForInlineStyles(\n document,\n elementStyleDidChange,\n shadowRootDiscovered\n );\n iterateShadowHosts(document.documentElement, function (host) {\n deepWatchForInlineStyles(\n host.shadowRoot,\n elementStyleDidChange,\n shadowRootDiscovered\n );\n });\n }\n\n function deepWatchForInlineStyles(\n root,\n elementStyleDidChange,\n shadowRootDiscovered\n ) {\n if (treeObservers.has(root)) {\n treeObservers.get(root).disconnect();\n attrObservers.get(root).disconnect();\n }\n var discoveredNodes = new WeakSet();\n\n function discoverNodes(node) {\n getInlineStyleElements(node).forEach(function (el) {\n if (discoveredNodes.has(el)) {\n return;\n }\n discoveredNodes.add(el);\n elementStyleDidChange(el);\n });\n iterateShadowHosts(node, function (n) {\n if (discoveredNodes.has(node)) {\n return;\n }\n discoveredNodes.add(node);\n shadowRootDiscovered(n.shadowRoot);\n deepWatchForInlineStyles(\n n.shadowRoot,\n elementStyleDidChange,\n shadowRootDiscovered\n );\n });\n }\n\n var treeObserver = createOptimizedTreeObserver(root, {\n onMinorMutations: function (_a) {\n var additions = _a.additions;\n additions.forEach(function (added) {\n return discoverNodes(added);\n });\n },\n onHugeMutations: function () {\n discoverNodes(root);\n },\n });\n treeObservers.set(root, treeObserver);\n var attemptCount = 0;\n var start = null;\n var ATTEMPTS_INTERVAL = getDuration({ seconds: 10 });\n var RETRY_TIMEOUT = getDuration({ seconds: 2 });\n var MAX_ATTEMPTS_COUNT = 50;\n var cache = [];\n var timeoutId = null;\n var handleAttributeMutations = throttle(function (mutations) {\n mutations.forEach(function (m) {\n if (INLINE_STYLE_ATTRS.includes(m.attributeName)) {\n elementStyleDidChange(m.target);\n }\n });\n });\n var attrObserver = new MutationObserver(function (mutations) {\n if (timeoutId) {\n cache.push.apply(cache, __spread(mutations));\n return;\n }\n attemptCount++;\n var now = Date.now();\n if (start == null) {\n start = now;\n } else if (attemptCount >= MAX_ATTEMPTS_COUNT) {\n if (now - start < ATTEMPTS_INTERVAL) {\n timeoutId = setTimeout(function () {\n start = null;\n attemptCount = 0;\n timeoutId = null;\n var attributeCache = cache;\n cache = [];\n handleAttributeMutations(attributeCache);\n }, RETRY_TIMEOUT);\n cache.push.apply(cache, __spread(mutations));\n return;\n }\n start = now;\n attemptCount = 1;\n }\n handleAttributeMutations(mutations);\n });\n attrObserver.observe(root, {\n attributes: true,\n attributeFilter: INLINE_STYLE_ATTRS.concat(\n overridesList.map(function (_a) {\n var dataAttr = _a.dataAttr;\n return dataAttr;\n })\n ),\n subtree: true,\n });\n attrObservers.set(root, attrObserver);\n }\n\n function stopWatchingForInlineStyles() {\n treeObservers.forEach(function (o) {\n return o.disconnect();\n });\n attrObservers.forEach(function (o) {\n return o.disconnect();\n });\n treeObservers.clear();\n attrObservers.clear();\n }\n\n var inlineStyleCache = new WeakMap();\n var filterProps = [\"brightness\", \"contrast\", \"grayscale\", \"sepia\", \"mode\"];\n\n function getInlineStyleCacheKey(el, theme) {\n return INLINE_STYLE_ATTRS.map(function (attr) {\n return attr + '=\"' + el.getAttribute(attr) + '\"';\n })\n .concat(\n filterProps.map(function (prop) {\n return prop + '=\"' + theme[prop] + '\"';\n })\n )\n .join(\" \");\n }\n\n function shouldIgnoreInlineStyle(element, selectors) {\n for (var i = 0, len = selectors.length; i < len; i++) {\n var ingnoredSelector = selectors[i];\n if (element.matches(ingnoredSelector)) {\n return true;\n }\n }\n return false;\n }\n\n function overrideInlineStyle(\n element,\n theme,\n ignoreInlineSelectors,\n ignoreImageSelectors\n ) {\n var cacheKey = getInlineStyleCacheKey(element, theme);\n if (cacheKey === inlineStyleCache.get(element)) {\n return;\n }\n var unsetProps = new Set(Object.keys(overrides));\n\n function setCustomProp(targetCSSProp, modifierCSSProp, cssVal) {\n var _a = overrides[targetCSSProp],\n customProp = _a.customProp,\n dataAttr = _a.dataAttr;\n var mod = getModifiableCSSDeclaration(\n modifierCSSProp,\n cssVal,\n null,\n ignoreImageSelectors,\n null\n );\n if (!mod) {\n return;\n }\n var value = mod.value;\n if (typeof value === \"function\") {\n value = value(theme);\n }\n element.style.setProperty(customProp, value);\n if (!element.hasAttribute(dataAttr)) {\n element.setAttribute(dataAttr, \"\");\n }\n unsetProps.delete(targetCSSProp);\n }\n\n if (ignoreInlineSelectors.length > 0) {\n if (shouldIgnoreInlineStyle(element, ignoreInlineSelectors)) {\n unsetProps.forEach(function (cssProp) {\n element.removeAttribute(overrides[cssProp].dataAttr);\n });\n return;\n }\n }\n if (element.hasAttribute(\"bgcolor\")) {\n var value = element.getAttribute(\"bgcolor\");\n if (value.match(/^[0-9a-f]{3}$/i) || value.match(/^[0-9a-f]{6}$/i)) {\n value = \"#\" + value;\n }\n setCustomProp(\"background-color\", \"background-color\", value);\n }\n if (element.hasAttribute(\"color\")) {\n var value = element.getAttribute(\"color\");\n if (value.match(/^[0-9a-f]{3}$/i) || value.match(/^[0-9a-f]{6}$/i)) {\n value = \"#\" + value;\n }\n setCustomProp(\"color\", \"color\", value);\n }\n if (element instanceof SVGElement) {\n if (element.hasAttribute(\"fill\")) {\n var SMALL_SVG_LIMIT = 32;\n var value = element.getAttribute(\"fill\");\n var isBg = false;\n if (!(element instanceof SVGTextElement)) {\n var _a = element.getBoundingClientRect(),\n width = _a.width,\n height = _a.height;\n isBg = width > SMALL_SVG_LIMIT || height > SMALL_SVG_LIMIT;\n }\n setCustomProp(\"fill\", isBg ? \"background-color\" : \"color\", value);\n }\n if (element.hasAttribute(\"stop-color\")) {\n setCustomProp(\n \"stop-color\",\n \"background-color\",\n element.getAttribute(\"stop-color\")\n );\n }\n }\n if (element.hasAttribute(\"stroke\")) {\n var value = element.getAttribute(\"stroke\");\n setCustomProp(\n \"stroke\",\n element instanceof SVGLineElement || element instanceof SVGTextElement\n ? \"border-color\"\n : \"color\",\n value\n );\n }\n element.style &&\n iterateCSSDeclarations(element.style, function (property, value) {\n if (property === \"background-image\" && value.indexOf(\"url\") >= 0) {\n return;\n }\n if (overrides.hasOwnProperty(property)) {\n setCustomProp(property, property, value);\n }\n });\n if (\n element.style &&\n element instanceof SVGTextElement &&\n element.style.fill\n ) {\n setCustomProp(\"fill\", \"color\", element.style.getPropertyValue(\"fill\"));\n }\n forEach(unsetProps, function (cssProp) {\n element.removeAttribute(overrides[cssProp].dataAttr);\n });\n inlineStyleCache.set(element, getInlineStyleCacheKey(element, theme));\n }\n\n var metaThemeColorName = \"theme-color\";\n var metaThemeColorSelector = 'meta[name=\"' + metaThemeColorName + '\"]';\n var srcMetaThemeColor = null;\n var observer = null;\n\n function changeMetaThemeColor(meta, theme) {\n srcMetaThemeColor = srcMetaThemeColor || meta.content;\n try {\n var color = parse(srcMetaThemeColor);\n meta.content = modifyBackgroundColor(color, theme);\n } catch (err) {\n logWarn(err);\n }\n }\n\n function changeMetaThemeColorWhenAvailable(theme) {\n var meta = document.querySelector(metaThemeColorSelector);\n if (meta) {\n changeMetaThemeColor(meta, theme);\n } else {\n if (observer) {\n observer.disconnect();\n }\n observer = new MutationObserver(function (mutations) {\n loop: for (var i = 0; i < mutations.length; i++) {\n var addedNodes = mutations[i].addedNodes;\n for (var j = 0; j < addedNodes.length; j++) {\n var node = addedNodes[j];\n if (\n node instanceof HTMLMetaElement &&\n node.name === metaThemeColorName\n ) {\n observer.disconnect();\n observer = null;\n changeMetaThemeColor(node, theme);\n break loop;\n }\n }\n }\n });\n observer.observe(document.head, { childList: true });\n }\n }\n\n function restoreMetaThemeColor() {\n if (observer) {\n observer.disconnect();\n observer = null;\n }\n var meta = document.querySelector(metaThemeColorSelector);\n if (meta && srcMetaThemeColor) {\n meta.content = srcMetaThemeColor;\n }\n }\n\n var themeCacheKeys$1 = [\n \"mode\",\n \"brightness\",\n \"contrast\",\n \"grayscale\",\n \"sepia\",\n \"darkSchemeBackgroundColor\",\n \"darkSchemeTextColor\",\n \"lightSchemeBackgroundColor\",\n \"lightSchemeTextColor\",\n ];\n\n function getThemeKey(theme) {\n return themeCacheKeys$1\n .map(function (p) {\n return p + \":\" + theme[p];\n })\n .join(\";\");\n }\n\n var asyncQueue = createAsyncTasksQueue();\n\n function createStyleSheetModifier() {\n var renderId = 0;\n var rulesTextCache = new Map();\n var rulesModCache = new Map();\n var prevFilterKey = null;\n\n function modifySheet(options) {\n var newRules = options.sourceCSSRules;\n\n var theme = options.theme,\n variables = options.variables,\n ignoreImageAnalysis = options.ignoreImageAnalysis,\n force = options.force,\n prepareSheet = options.prepareSheet,\n isAsyncCancelled = options.isAsyncCancelled;\n var rulesChanged = rulesModCache.size === 0;\n var notFoundCacheKeys = new Set(rulesModCache.keys());\n var themeKey = getThemeKey(theme);\n var themeChanged = themeKey !== prevFilterKey;\n var modRules = [];\n iterateCSSRules(newRules, function (rule) {\n if (\n rule.parentStyleSheet.ownerNode && \n \"wp-dark-mode-custom-css\" ===\n rule.parentStyleSheet.ownerNode.getAttribute(\"id\")\n ) {\n return;\n }\n\n var cssText = rule.cssText;\n var textDiffersFromPrev = false;\n notFoundCacheKeys.delete(cssText);\n if (!rulesTextCache.has(cssText)) {\n rulesTextCache.set(cssText, cssText);\n textDiffersFromPrev = true;\n }\n var vars;\n var varsRule = null;\n if (variables.size > 0 || cssText.includes(\"var(\")) {\n var cssTextWithVariables = replaceCSSVariables(cssText, variables);\n if (rulesTextCache.get(cssText) !== cssTextWithVariables) {\n rulesTextCache.set(cssText, cssTextWithVariables);\n textDiffersFromPrev = true;\n vars = getTempCSSStyleSheet();\n vars.insertRule(cssTextWithVariables);\n varsRule = vars.cssRules[0];\n }\n }\n if (textDiffersFromPrev) {\n rulesChanged = true;\n } else {\n modRules.push(rulesModCache.get(cssText));\n return;\n }\n var modDecs = [];\n var targetRule = varsRule || rule;\n targetRule &&\n targetRule.style &&\n iterateCSSDeclarations(targetRule.style, function (property, value) {\n var mod = getModifiableCSSDeclaration(\n property,\n value,\n rule,\n ignoreImageAnalysis,\n isAsyncCancelled\n );\n if (mod) {\n modDecs.push(mod);\n }\n });\n var modRule = null;\n if (modDecs.length > 0) {\n var parentRule = rule.parentRule;\n modRule = {\n selector: rule.selectorText,\n declarations: modDecs,\n parentRule: parentRule,\n };\n modRules.push(modRule);\n }\n rulesModCache.set(cssText, modRule);\n vars && vars.deleteRule(0);\n });\n notFoundCacheKeys.forEach(function (key) {\n rulesTextCache.delete(key);\n rulesModCache.delete(key);\n });\n prevFilterKey = themeKey;\n if (!force && !rulesChanged && !themeChanged) {\n return;\n }\n renderId++;\n\n function setRule(target, index, rule) {\n var selector = rule.selector,\n declarations = rule.declarations;\n\n if (!selector) {\n return;\n }\n\n // const queryCheck = (s) =>\n // document.createDocumentFragment().querySelector(s);\n\n // const isSelectorValid = (selector) => {\n // try {\n // queryCheck(selector);\n // } catch {\n // return false;\n // }\n // return true;\n // };\n\n // //return if the selector is not valid\n // if (!isSelectorValid(selector)) return;\n\n const element = document.querySelector(selector);\n\n if (typeof element === \"undefined\" || !element) {\n return;\n }\n\n // Check if includes section is activated\n if (typeof wp_dark_mode_json !== \"undefined\" && \"\" !== wp_dark_mode_json.options.excludes_elements_includes ) {\n // Return if not included element\n if (!element.classList.contains(\"wp-dark-mode-include\")) {\n return;\n }\n }\n\n // Return if element is excluded\n if (element.classList.contains(\"wp-dark-mode-ignore\")) {\n return;\n }\n\n\n target.insertRule(selector + \" {}\", index);\n var style = target.cssRules[index].style;\n\n declarations.forEach(function (_a) {\n \n var property = _a.property,\n value = _a.value,\n important = _a.important,\n sourceValue = _a.sourceValue;\n\n if (\"background-image\" === property) {\n return;\n }\n\n style.setProperty(\n property,\n value == null ? sourceValue : value,\n important ? \"important\" : \"\"\n );\n });\n }\n\n var asyncDeclarations = new Map();\n var asyncDeclarationCounter = 0;\n var rootReadyGroup = { rule: null, rules: [], isGroup: true };\n var groupRefs = new WeakMap();\n\n function getGroup(rule) {\n if (rule == null) {\n return rootReadyGroup;\n }\n if (groupRefs.has(rule)) {\n return groupRefs.get(rule);\n }\n var group = { rule: rule, rules: [], isGroup: true };\n groupRefs.set(rule, group);\n var parentGroup = getGroup(rule.parentRule);\n parentGroup.rules.push(group);\n return group;\n }\n\n modRules\n .filter(function (r) {\n return r;\n })\n .forEach(function (_a) {\n var selector = _a.selector,\n declarations = _a.declarations,\n parentRule = _a.parentRule;\n var group = getGroup(parentRule);\n var readyStyleRule = {\n selector: selector,\n declarations: [],\n isGroup: false,\n };\n var readyDeclarations = readyStyleRule.declarations;\n group.rules.push(readyStyleRule);\n declarations.forEach(function (_a) {\n var property = _a.property,\n value = _a.value,\n important = _a.important,\n sourceValue = _a.sourceValue;\n if (typeof value === \"function\") {\n var modified = value(theme);\n if (modified instanceof Promise) {\n var asyncKey_1 = asyncDeclarationCounter++;\n var asyncDeclaration_1 = {\n property: property,\n value: null,\n important: important,\n asyncKey: asyncKey_1,\n sourceValue: sourceValue,\n };\n readyDeclarations.push(asyncDeclaration_1);\n var promise = modified;\n var currentRenderId_1 = renderId;\n promise.then(function (asyncValue) {\n if (\n !asyncValue ||\n isAsyncCancelled() ||\n currentRenderId_1 !== renderId\n ) {\n return;\n }\n asyncDeclaration_1.value = asyncValue;\n asyncQueue.add(function () {\n if (isAsyncCancelled() || currentRenderId_1 !== renderId) {\n return;\n }\n rebuildAsyncRule(asyncKey_1);\n });\n });\n } else {\n readyDeclarations.push({\n property: property,\n value: modified,\n important: important,\n sourceValue: sourceValue,\n });\n }\n } else {\n readyDeclarations.push({\n property: property,\n value: value,\n important: important,\n sourceValue: sourceValue,\n });\n }\n });\n });\n var sheet = prepareSheet();\n\n function buildStyleSheet() {\n function createTarget(group, parent) {\n var rule = group.rule;\n\n if (rule instanceof CSSMediaRule) {\n var media = rule.media;\n var index = parent.cssRules.length;\n parent.insertRule(\"@media \" + media.mediaText + \" {}\", index);\n return parent.cssRules[index];\n }\n return parent;\n }\n\n function iterateReadyRules(group, target, styleIterator) {\n group.rules.forEach(function (r) {\n if (r.isGroup) {\n var t = createTarget(r, target);\n iterateReadyRules(r, t, styleIterator);\n } else {\n styleIterator(r, target);\n }\n });\n }\n\n iterateReadyRules(rootReadyGroup, sheet, function (rule, target) {\n var index = target.cssRules.length;\n rule.declarations\n .filter(function (_a) {\n var value = _a.value;\n return value == null;\n })\n .forEach(function (_a) {\n var asyncKey = _a.asyncKey;\n return asyncDeclarations.set(asyncKey, {\n rule: rule,\n target: target,\n index: index,\n });\n });\n setRule(target, index, rule);\n });\n }\n\n function rebuildAsyncRule(key) {\n var _a = asyncDeclarations.get(key);\n\n if (typeof _a === \"undefined\") {\n return;\n }\n\n var rule = _a.rule,\n target = _a.target,\n index = _a.index;\n target.deleteRule(index);\n setRule(target, index, rule);\n asyncDeclarations.delete(key);\n }\n\n buildStyleSheet();\n }\n\n return { modifySheet: modifySheet };\n }\n\n var STYLE_SELECTOR = 'style, link[rel*=\"stylesheet\" i]:not([disabled])';\n\n function shouldManageStyle(element) {\n return (\n (element instanceof HTMLStyleElement ||\n element instanceof SVGStyleElement ||\n (element instanceof HTMLLinkElement &&\n element.rel &&\n element.rel.toLowerCase().includes(\"stylesheet\") &&\n !element.disabled)) &&\n !element.classList.contains(\"darkmoder\") &&\n element.media !== \"print\" &&\n !element.classList.contains(\"stylus\")\n );\n }\n\n function getManageableStyles(node, results, deep) {\n if (results === void 0) {\n results = [];\n }\n if (deep === void 0) {\n deep = true;\n }\n if (shouldManageStyle(node)) {\n results.push(node);\n } else if (\n node instanceof Element ||\n (isShadowDomSupported && node instanceof ShadowRoot) ||\n node === document\n ) {\n forEach(node.querySelectorAll(STYLE_SELECTOR), function (style) {\n return getManageableStyles(style, results, false);\n });\n if (deep) {\n iterateShadowHosts(node, function (host) {\n return getManageableStyles(host.shadowRoot, results, false);\n });\n }\n }\n return results;\n }\n\n var syncStyleSet = new WeakSet();\n var corsStyleSet = new WeakSet();\n var canOptimizeUsingProxy = false;\n document.addEventListener(\"__darkmoder__inlineScriptsAllowed\", function () {\n canOptimizeUsingProxy = true;\n });\n\n function manageStyle(element, _a) {\n var update = _a.update,\n loadingStart = _a.loadingStart,\n loadingEnd = _a.loadingEnd;\n var prevStyles = [];\n var next = element;\n while ((next = next.nextElementSibling) && next.matches(\".darkmoder\")) {\n prevStyles.push(next);\n }\n var corsCopy =\n prevStyles.find(function (el) {\n return el.matches(\".darkmoder--cors\") && !corsStyleSet.has(el);\n }) || null;\n var syncStyle =\n prevStyles.find(function (el) {\n return el.matches(\".darkmoder--sync\") && !syncStyleSet.has(el);\n }) || null;\n var corsCopyPositionWatcher = null;\n var syncStylePositionWatcher = null;\n var cancelAsyncOperations = false;\n var sheetModifier = createStyleSheetModifier();\n var observer = new MutationObserver(function () {\n update();\n });\n var observerOptions = {\n attributes: true,\n childList: true,\n characterData: true,\n };\n\n function containsCSSImport() {\n return (\n element instanceof HTMLStyleElement &&\n element.textContent.trim().match(cssImportRegex)\n );\n }\n\n function getRulesSync() {\n if (corsCopy) {\n return corsCopy.sheet.cssRules;\n }\n if (containsCSSImport()) {\n return null;\n }\n return safeGetSheetRules();\n }\n\n function insertStyle() {\n if (corsCopy) {\n if (element.nextSibling !== corsCopy) {\n element.parentNode.insertBefore(corsCopy, element.nextSibling);\n }\n if (corsCopy.nextSibling !== syncStyle) {\n element.parentNode.insertBefore(syncStyle, corsCopy.nextSibling);\n }\n } else if (element.nextSibling !== syncStyle) {\n element.parentNode.insertBefore(syncStyle, element.nextSibling);\n }\n }\n\n function createSyncStyle() {\n syncStyle =\n element instanceof SVGStyleElement\n ? document.createElementNS(\"http://www.w3.org/2000/svg\", \"style\")\n : document.createElement(\"style\");\n syncStyle.classList.add(\"darkmoder\");\n syncStyle.classList.add(\"darkmoder--sync\");\n syncStyle.media = \"screen\";\n syncStyleSet.add(syncStyle);\n }\n\n var isLoadingRules = false;\n var wasLoadingError = false;\n\n function getRulesAsync() {\n return __awaiter(this, void 0, void 0, function () {\n var cssText,\n cssBasePath,\n _a,\n cssRules,\n accessError,\n err_1,\n fullCSSText,\n err_2;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!(element instanceof HTMLLinkElement)) return [3, 7];\n (_a = __read(getRulesOrError(), 2)),\n (cssRules = _a[0]),\n (accessError = _a[1]);\n if (accessError) {\n logWarn(accessError);\n }\n if (\n !(\n (!cssRules && !accessError && !isSafari) ||\n (isSafari && !element.sheet) ||\n isStillLoadingError(accessError)\n )\n )\n return [3, 5];\n _c.label = 1;\n case 1:\n _c.trys.push([1, 3, , 4]);\n return [4, linkLoading(element)];\n case 2:\n _c.sent();\n return [3, 4];\n case 3:\n err_1 = _c.sent();\n logWarn(err_1);\n wasLoadingError = true;\n return [3, 4];\n case 4:\n if (cancelAsyncOperations) {\n return [2, null];\n }\n (_b = __read(getRulesOrError(), 2)),\n (cssRules = _b[0]),\n (accessError = _b[1]);\n if (accessError) {\n logWarn(accessError);\n }\n _c.label = 5;\n case 5:\n if (cssRules != null) {\n return [2, cssRules];\n }\n return [4, loadText(element.href)];\n case 6:\n cssText = _c.sent();\n cssBasePath = getCSSBaseBath(element.href);\n if (cancelAsyncOperations) {\n return [2, null];\n }\n return [3, 8];\n case 7:\n if (containsCSSImport()) {\n cssText = element.textContent.trim();\n cssBasePath = getCSSBaseBath(location.href);\n } else {\n return [2, null];\n }\n _c.label = 8;\n case 8:\n if (!cssText) return [3, 13];\n _c.label = 9;\n case 9:\n _c.trys.push([9, 11, , 12]);\n return [4, replaceCSSImports(cssText, cssBasePath)];\n case 10:\n fullCSSText = _c.sent();\n corsCopy = createCORSCopy(element, fullCSSText);\n return [3, 12];\n case 11:\n err_2 = _c.sent();\n logWarn(err_2);\n return [3, 12];\n case 12:\n if (corsCopy) {\n corsCopyPositionWatcher = watchForNodePosition(\n corsCopy,\n \"prev-sibling\"\n );\n return [2, corsCopy.sheet.cssRules];\n }\n _c.label = 13;\n case 13:\n return [2, null];\n }\n });\n });\n }\n\n function details() {\n var rules = getRulesSync();\n if (!rules) {\n if (isLoadingRules || wasLoadingError) {\n return null;\n }\n isLoadingRules = true;\n loadingStart();\n getRulesAsync()\n .then(function (results) {\n isLoadingRules = false;\n loadingEnd();\n if (results) {\n update();\n }\n })\n .catch(function (err) {\n logWarn(err);\n isLoadingRules = false;\n loadingEnd();\n });\n return null;\n }\n var variables = getCSSVariables(rules);\n return { variables: variables };\n }\n\n var forceRenderStyle = false;\n\n function render(theme, variables, ignoreImageAnalysis) {\n var rules = getRulesSync();\n if (!rules) {\n return;\n }\n cancelAsyncOperations = false;\n\n function prepareOverridesSheet() {\n if (!syncStyle) {\n createSyncStyle();\n }\n syncStylePositionWatcher && syncStylePositionWatcher.stop();\n insertStyle();\n if (syncStyle.sheet == null) {\n syncStyle.textContent = \"\";\n }\n var sheet = syncStyle.sheet;\n for (var i = sheet.cssRules.length - 1; i >= 0; i--) {\n sheet.deleteRule(i);\n }\n if (syncStylePositionWatcher) {\n syncStylePositionWatcher.run();\n } else {\n syncStylePositionWatcher = watchForNodePosition(\n syncStyle,\n \"prev-sibling\",\n function () {\n forceRenderStyle = true;\n buildOverrides();\n }\n );\n }\n return syncStyle.sheet;\n }\n\n function buildOverrides() {\n var force = forceRenderStyle;\n forceRenderStyle = false;\n sheetModifier.modifySheet({\n prepareSheet: prepareOverridesSheet,\n sourceCSSRules: rules,\n theme: theme,\n variables: variables,\n ignoreImageAnalysis: ignoreImageAnalysis,\n force: force,\n isAsyncCancelled: function () {\n return cancelAsyncOperations;\n },\n });\n }\n\n buildOverrides();\n }\n\n function getRulesOrError() {\n try {\n if (element.sheet == null) {\n return [null, null];\n }\n return [element.sheet.cssRules, null];\n } catch (err) {\n return [null, err];\n }\n }\n\n function isStillLoadingError(error) {\n return error && error.message && error.message.includes(\"loading\");\n }\n\n function safeGetSheetRules() {\n var _a = __read(getRulesOrError(), 2),\n cssRules = _a[0],\n err = _a[1];\n if (err) {\n logWarn(err);\n return null;\n }\n return cssRules;\n }\n\n function watchForSheetChanges() {\n watchForSheetChangesUsingProxy();\n if (!(canOptimizeUsingProxy && element.sheet)) {\n watchForSheetChangesUsingRAF();\n }\n }\n\n var rulesChangeKey = null;\n var rulesCheckFrameId = null;\n\n function getRulesChangeKey() {\n var rules = safeGetSheetRules();\n return rules ? rules.length : null;\n }\n\n function didRulesKeyChange() {\n return getRulesChangeKey() !== rulesChangeKey;\n }\n\n function watchForSheetChangesUsingRAF() {\n rulesChangeKey = getRulesChangeKey();\n stopWatchingForSheetChangesUsingRAF();\n var checkForUpdate = function () {\n if (didRulesKeyChange()) {\n rulesChangeKey = getRulesChangeKey();\n update();\n }\n if (canOptimizeUsingProxy && element.sheet) {\n stopWatchingForSheetChangesUsingRAF();\n return;\n }\n rulesCheckFrameId = requestAnimationFrame(checkForUpdate);\n };\n checkForUpdate();\n }\n\n function stopWatchingForSheetChangesUsingRAF() {\n cancelAnimationFrame(rulesCheckFrameId);\n }\n\n var areSheetChangesPending = false;\n\n function onSheetChange() {\n canOptimizeUsingProxy = true;\n stopWatchingForSheetChangesUsingRAF();\n if (areSheetChangesPending) {\n return;\n }\n\n function handleSheetChanges() {\n areSheetChangesPending = false;\n if (cancelAsyncOperations) {\n return;\n }\n update();\n }\n\n areSheetChangesPending = true;\n if (typeof queueMicrotask === \"function\") {\n queueMicrotask(handleSheetChanges);\n } else {\n requestAnimationFrame(handleSheetChanges);\n }\n }\n\n function watchForSheetChangesUsingProxy() {\n element.addEventListener(\"__darkmoder__updateSheet\", onSheetChange);\n }\n\n function stopWatchingForSheetChangesUsingProxy() {\n element.removeEventListener(\"__darkmoder__updateSheet\", onSheetChange);\n }\n\n function stopWatchingForSheetChanges() {\n stopWatchingForSheetChangesUsingProxy();\n stopWatchingForSheetChangesUsingRAF();\n }\n\n function pause() {\n observer.disconnect();\n cancelAsyncOperations = true;\n corsCopyPositionWatcher && corsCopyPositionWatcher.stop();\n syncStylePositionWatcher && syncStylePositionWatcher.stop();\n stopWatchingForSheetChanges();\n }\n\n function destroy() {\n pause();\n removeNode(corsCopy);\n removeNode(syncStyle);\n }\n\n function watch() {\n observer.observe(element, observerOptions);\n if (element instanceof HTMLStyleElement) {\n watchForSheetChanges();\n }\n }\n\n var maxMoveCount = 10;\n var moveCount = 0;\n\n function restore() {\n if (!syncStyle) {\n return;\n }\n moveCount++;\n if (moveCount > maxMoveCount) {\n logWarn(\"Style sheet was moved multiple times\", element);\n return;\n }\n logWarn(\"Restore style\", syncStyle, element);\n var shouldForceRender =\n syncStyle.sheet == null || syncStyle.sheet.cssRules.length > 0;\n insertStyle();\n corsCopyPositionWatcher && corsCopyPositionWatcher.skip();\n syncStylePositionWatcher && syncStylePositionWatcher.skip();\n if (shouldForceRender) {\n forceRenderStyle = true;\n update();\n }\n }\n\n return {\n details: details,\n render: render,\n pause: pause,\n destroy: destroy,\n watch: watch,\n restore: restore,\n };\n }\n\n function linkLoading(link) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [\n 2,\n new Promise(function (resolve, reject) {\n var cleanUp = function () {\n link.removeEventListener(\"load\", onLoad);\n link.removeEventListener(\"error\", onError);\n };\n var onLoad = function () {\n cleanUp();\n resolve();\n };\n var onError = function () {\n cleanUp();\n reject(\"Link loading failed \" + link.href);\n };\n link.addEventListener(\"load\", onLoad);\n link.addEventListener(\"error\", onError);\n }),\n ];\n });\n });\n }\n\n function getCSSImportURL(importDeclaration) {\n return getCSSURLValue(importDeclaration.substring(8).replace(/;$/, \"\"));\n }\n\n function loadText(url) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!url.startsWith(\"data:\")) return [3, 3];\n return [4, fetch(url)];\n case 1:\n return [4, _a.sent().text()];\n case 2:\n return [2, _a.sent()];\n case 3:\n return [\n 4,\n bgFetch({ url: url, responseType: \"text\", mimeType: \"text/css\" }),\n ];\n case 4:\n return [2, _a.sent()];\n }\n });\n });\n }\n\n function replaceCSSImports(cssText, basePath, cache) {\n if (cache === void 0) {\n cache = new Map();\n }\n return __awaiter(this, void 0, void 0, function () {\n var importMatches,\n importMatches_1,\n importMatches_1_1,\n match,\n importURL,\n absoluteURL,\n importedCSS,\n err_3,\n e_1_1;\n var e_1, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n cssText = removeCSSComments(cssText);\n cssText = replaceCSSFontFace(cssText);\n cssText = replaceCSSRelativeURLsWithAbsolute(cssText, basePath);\n importMatches = getMatches(cssImportRegex, cssText);\n _b.label = 1;\n case 1:\n _b.trys.push([1, 10, 11, 12]);\n (importMatches_1 = __values(importMatches)),\n (importMatches_1_1 = importMatches_1.next());\n _b.label = 2;\n case 2:\n if (!!importMatches_1_1.done) return [3, 9];\n match = importMatches_1_1.value;\n importURL = getCSSImportURL(match);\n absoluteURL = getAbsoluteURL(basePath, importURL);\n importedCSS = void 0;\n if (!cache.has(absoluteURL)) return [3, 3];\n importedCSS = cache.get(absoluteURL);\n return [3, 7];\n case 3:\n _b.trys.push([3, 6, , 7]);\n return [4, loadText(absoluteURL)];\n case 4:\n importedCSS = _b.sent();\n cache.set(absoluteURL, importedCSS);\n return [\n 4,\n replaceCSSImports(\n importedCSS,\n getCSSBaseBath(absoluteURL),\n cache\n ),\n ];\n case 5:\n importedCSS = _b.sent();\n return [3, 7];\n case 6:\n err_3 = _b.sent();\n logWarn(err_3);\n importedCSS = \"\";\n return [3, 7];\n case 7:\n cssText = cssText.split(match).join(importedCSS);\n _b.label = 8;\n case 8:\n importMatches_1_1 = importMatches_1.next();\n return [3, 2];\n case 9:\n return [3, 12];\n case 10:\n e_1_1 = _b.sent();\n e_1 = { error: e_1_1 };\n return [3, 12];\n case 11:\n try {\n if (\n importMatches_1_1 &&\n !importMatches_1_1.done &&\n (_a = importMatches_1.return)\n )\n _a.call(importMatches_1);\n } finally {\n if (e_1) throw e_1.error;\n }\n return [7];\n case 12:\n cssText = cssText.trim();\n return [2, cssText];\n }\n });\n });\n }\n\n function createCORSCopy(srcElement, cssText) {\n if (!cssText) {\n return null;\n }\n var cors = document.createElement(\"style\");\n cors.classList.add(\"darkmoder\");\n cors.classList.add(\"darkmoder--cors\");\n cors.media = \"screen\";\n cors.textContent = cssText;\n srcElement.parentNode.insertBefore(cors, srcElement.nextSibling);\n cors.sheet.disabled = true;\n corsStyleSet.add(cors);\n return cors;\n }\n\n var observers = [];\n var observedRoots;\n var undefinedGroups = new Map();\n var elementsDefinitionCallback;\n\n function collectUndefinedElements(root) {\n if (!isDefinedSelectorSupported) {\n return;\n }\n forEach(root.querySelectorAll(\":not(:defined)\"), function (el) {\n var tag = el.tagName.toLowerCase();\n if (!undefinedGroups.has(tag)) {\n undefinedGroups.set(tag, new Set());\n customElementsWhenDefined(tag).then(function () {\n if (elementsDefinitionCallback) {\n var elements = undefinedGroups.get(tag);\n undefinedGroups.delete(tag);\n elementsDefinitionCallback(Array.from(elements));\n }\n });\n }\n undefinedGroups.get(tag).add(el);\n });\n }\n\n var canOptimizeUsingProxy$1 = false;\n document.addEventListener(\"__darkmoder__inlineScriptsAllowed\", function () {\n canOptimizeUsingProxy$1 = true;\n });\n var resolvers$1 = new Map();\n\n function handleIsDefined(e) {\n canOptimizeUsingProxy$1 = true;\n if (resolvers$1.has(e.detail.tag)) {\n var resolve = resolvers$1.get(e.detail.tag);\n resolve();\n }\n }\n\n function customElementsWhenDefined(tag) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [\n 2,\n new Promise(function (resolve) {\n if (\n window.customElements &&\n typeof customElements.whenDefined === \"function\"\n ) {\n customElements.whenDefined(tag).then(resolve);\n } else if (canOptimizeUsingProxy$1) {\n resolvers$1.set(tag, resolve);\n document.dispatchEvent(\n new CustomEvent(\"__darkmoder__addUndefinedResolver\", {\n detail: { tag: tag },\n })\n );\n } else {\n var checkIfDefined_1 = function () {\n var elements = undefinedGroups.get(tag);\n if (elements && elements.size > 0) {\n if (elements.values().next().value.matches(\":defined\")) {\n resolve();\n } else {\n requestAnimationFrame(checkIfDefined_1);\n }\n }\n };\n requestAnimationFrame(checkIfDefined_1);\n }\n }),\n ];\n });\n });\n }\n\n function watchWhenCustomElementsDefined(callback) {\n elementsDefinitionCallback = callback;\n }\n\n function unsubscribeFromDefineCustomElements() {\n elementsDefinitionCallback = null;\n undefinedGroups.clear();\n document.removeEventListener(\"__darkmoder__isDefined\", handleIsDefined);\n }\n\n function watchForStyleChanges(currentStyles, update, shadowRootDiscovered) {\n stopWatchingForStyleChanges();\n var prevStyles = new Set(currentStyles);\n var prevStyleSiblings = new WeakMap();\n var nextStyleSiblings = new WeakMap();\n\n function saveStylePosition(style) {\n prevStyleSiblings.set(style, style.previousElementSibling);\n nextStyleSiblings.set(style, style.nextElementSibling);\n }\n\n function forgetStylePosition(style) {\n prevStyleSiblings.delete(style);\n nextStyleSiblings.delete(style);\n }\n\n function didStylePositionChange(style) {\n return (\n style.previousElementSibling !== prevStyleSiblings.get(style) ||\n style.nextElementSibling !== nextStyleSiblings.get(style)\n );\n }\n\n currentStyles.forEach(saveStylePosition);\n\n function handleStyleOperations(operations) {\n var createdStyles = operations.createdStyles,\n removedStyles = operations.removedStyles,\n movedStyles = operations.movedStyles;\n createdStyles.forEach(function (s) {\n return saveStylePosition(s);\n });\n movedStyles.forEach(function (s) {\n return saveStylePosition(s);\n });\n removedStyles.forEach(function (s) {\n return forgetStylePosition(s);\n });\n createdStyles.forEach(function (s) {\n return prevStyles.add(s);\n });\n removedStyles.forEach(function (s) {\n return prevStyles.delete(s);\n });\n if (createdStyles.size + removedStyles.size + movedStyles.size > 0) {\n update({\n created: Array.from(createdStyles),\n removed: Array.from(removedStyles),\n moved: Array.from(movedStyles),\n updated: [],\n });\n }\n }\n\n function handleMinorTreeMutations(_a) {\n var additions = _a.additions,\n moves = _a.moves,\n deletions = _a.deletions;\n var createdStyles = new Set();\n var removedStyles = new Set();\n var movedStyles = new Set();\n additions.forEach(function (node) {\n return getManageableStyles(node).forEach(function (style) {\n return createdStyles.add(style);\n });\n });\n deletions.forEach(function (node) {\n return getManageableStyles(node).forEach(function (style) {\n return removedStyles.add(style);\n });\n });\n moves.forEach(function (node) {\n return getManageableStyles(node).forEach(function (style) {\n return movedStyles.add(style);\n });\n });\n handleStyleOperations({\n createdStyles: createdStyles,\n removedStyles: removedStyles,\n movedStyles: movedStyles,\n });\n additions.forEach(function (n) {\n iterateShadowHosts(n, subscribeForShadowRootChanges);\n collectUndefinedElements(n);\n });\n }\n\n function handleHugeTreeMutations(root) {\n var styles = new Set(getManageableStyles(root));\n var createdStyles = new Set();\n var removedStyles = new Set();\n var movedStyles = new Set();\n styles.forEach(function (s) {\n if (!prevStyles.has(s)) {\n createdStyles.add(s);\n }\n });\n prevStyles.forEach(function (s) {\n if (!styles.has(s)) {\n removedStyles.add(s);\n }\n });\n styles.forEach(function (s) {\n if (\n !createdStyles.has(s) &&\n !removedStyles.has(s) &&\n didStylePositionChange(s)\n ) {\n movedStyles.add(s);\n }\n });\n handleStyleOperations({\n createdStyles: createdStyles,\n removedStyles: removedStyles,\n movedStyles: movedStyles,\n });\n iterateShadowHosts(root, subscribeForShadowRootChanges);\n collectUndefinedElements(root);\n }\n\n function handleAttributeMutations(mutations) {\n var updatedStyles = new Set();\n var removedStyles = new Set();\n mutations.forEach(function (m) {\n var target = m.target;\n if (target.isConnected) {\n if (shouldManageStyle(target)) {\n updatedStyles.add(target);\n } else if (target instanceof HTMLLinkElement && target.disabled) {\n removedStyles.add(target);\n }\n }\n });\n if (updatedStyles.size + removedStyles.size > 0) {\n update({\n updated: Array.from(updatedStyles),\n created: [],\n removed: Array.from(removedStyles),\n moved: [],\n });\n }\n }\n\n function observe(root) {\n var treeObserver = createOptimizedTreeObserver(root, {\n onMinorMutations: handleMinorTreeMutations,\n onHugeMutations: handleHugeTreeMutations,\n });\n var attrObserver = new MutationObserver(handleAttributeMutations);\n attrObserver.observe(root, {\n attributes: true,\n attributeFilter: [\"rel\", \"disabled\", \"media\"],\n subtree: true,\n });\n observers.push(treeObserver, attrObserver);\n observedRoots.add(root);\n }\n\n function subscribeForShadowRootChanges(node) {\n var shadowRoot = node.shadowRoot;\n if (shadowRoot == null || observedRoots.has(shadowRoot)) {\n return;\n }\n observe(shadowRoot);\n shadowRootDiscovered(shadowRoot);\n }\n\n observe(document);\n iterateShadowHosts(document.documentElement, subscribeForShadowRootChanges);\n watchWhenCustomElementsDefined(function (hosts) {\n var newStyles = [];\n hosts.forEach(function (host) {\n return push(newStyles, getManageableStyles(host.shadowRoot));\n });\n update({ created: newStyles, updated: [], removed: [], moved: [] });\n hosts.forEach(function (host) {\n var shadowRoot = host.shadowRoot;\n if (shadowRoot == null) {\n return;\n }\n subscribeForShadowRootChanges(host);\n iterateShadowHosts(shadowRoot, subscribeForShadowRootChanges);\n collectUndefinedElements(shadowRoot);\n });\n });\n document.addEventListener(\"__darkmoder__isDefined\", handleIsDefined);\n collectUndefinedElements(document);\n }\n\n function resetObservers() {\n observers.forEach(function (o) {\n return o.disconnect();\n });\n observers.splice(0, observers.length);\n observedRoots = new WeakSet();\n }\n\n function stopWatchingForStyleChanges() {\n resetObservers();\n unsubscribeFromDefineCustomElements();\n }\n\n function hexify(number) {\n return (number < 16 ? \"0\" : \"\") + number.toString(16);\n }\n\n function generateUID() {\n return Array.from(crypto.getRandomValues(new Uint8Array(16)))\n .map(function (x) {\n return hexify(x);\n })\n .join(\"\");\n }\n\n var adoptedStyleOverrides = new WeakMap();\n var overrideList = new WeakSet();\n\n function createAdoptedStyleSheetOverride(node) {\n var cancelAsyncOperations = false;\n\n function injectSheet(sheet, override) {\n var newSheets = __spread(node.adoptedStyleSheets);\n var sheetIndex = newSheets.indexOf(sheet);\n var existingIndex = newSheets.indexOf(override);\n if (sheetIndex === existingIndex - 1) {\n return;\n }\n if (existingIndex >= 0) {\n newSheets.splice(existingIndex, 1);\n }\n newSheets.splice(sheetIndex + 1, 0, override);\n node.adoptedStyleSheets = newSheets;\n }\n\n function destroy() {\n cancelAsyncOperations = true;\n var newSheets = __spread(node.adoptedStyleSheets);\n node.adoptedStyleSheets.forEach(function (adoptedStyleSheet) {\n if (overrideList.has(adoptedStyleSheet)) {\n var existingIndex = newSheets.indexOf(adoptedStyleSheet);\n if (existingIndex >= 0) {\n newSheets.splice(existingIndex, 1);\n }\n adoptedStyleOverrides.delete(adoptedStyleSheet);\n overrideList.delete(adoptedStyleSheet);\n }\n });\n node.adoptedStyleSheets = newSheets;\n }\n\n function render(theme, globalVariables, ignoreImageAnalysis) {\n node.adoptedStyleSheets.forEach(function (sheet) {\n if (overrideList.has(sheet)) {\n return;\n }\n var rules = sheet.rules;\n var override = new CSSStyleSheet();\n\n function prepareOverridesSheet() {\n for (var i = override.cssRules.length - 1; i >= 0; i--) {\n override.deleteRule(i);\n }\n injectSheet(sheet, override);\n adoptedStyleOverrides.set(sheet, override);\n overrideList.add(override);\n return override;\n }\n\n var variables = globalVariables;\n getCSSVariables(sheet.cssRules).forEach(function (value, key) {\n return variables.set(key, value);\n });\n var sheetModifier = createStyleSheetModifier();\n sheetModifier.modifySheet({\n prepareSheet: prepareOverridesSheet,\n sourceCSSRules: rules,\n theme: theme,\n variables: variables,\n ignoreImageAnalysis: ignoreImageAnalysis,\n force: false,\n isAsyncCancelled: function () {\n return cancelAsyncOperations;\n },\n });\n });\n }\n\n return {\n render: render,\n destroy: destroy,\n };\n }\n\n function injectProxy() {\n document.dispatchEvent(\n new CustomEvent(\"__darkmoder__inlineScriptsAllowed\")\n );\n var addRuleDescriptor = Object.getOwnPropertyDescriptor(\n CSSStyleSheet.prototype,\n \"addRule\"\n );\n var insertRuleDescriptor = Object.getOwnPropertyDescriptor(\n CSSStyleSheet.prototype,\n \"insertRule\"\n );\n var deleteRuleDescriptor = Object.getOwnPropertyDescriptor(\n CSSStyleSheet.prototype,\n \"deleteRule\"\n );\n var removeRuleDescriptor = Object.getOwnPropertyDescriptor(\n CSSStyleSheet.prototype,\n \"removeRule\"\n );\n var cleanUp = function () {\n Object.defineProperty(\n CSSStyleSheet.prototype,\n \"addRule\",\n addRuleDescriptor\n );\n Object.defineProperty(\n CSSStyleSheet.prototype,\n \"insertRule\",\n insertRuleDescriptor\n );\n Object.defineProperty(\n CSSStyleSheet.prototype,\n \"deleteRule\",\n deleteRuleDescriptor\n );\n Object.defineProperty(\n CSSStyleSheet.prototype,\n \"removeRule\",\n removeRuleDescriptor\n );\n document.removeEventListener(\"__darkmoder__cleanUp\", cleanUp);\n document.removeEventListener(\n \"__darkmoder__addUndefinedResolver\",\n function (e) {\n return addUndefinedResolver(e);\n }\n );\n };\n var addUndefinedResolver = function (e) {\n customElements.whenDefined(e.detail.tag).then(function () {\n document.dispatchEvent(\n new CustomEvent(\"__darkmoder__isDefined\", {\n detail: { tag: e.detail.tag },\n })\n );\n });\n };\n document.addEventListener(\"__darkmoder__cleanUp\", cleanUp);\n document.addEventListener(\n \"__darkmoder__addUndefinedResolver\",\n function (e) {\n return addUndefinedResolver(e);\n }\n );\n var updateSheetEvent = new Event(\"__darkmoder__updateSheet\");\n\n function proxyAddRule(selector, style, index) {\n addRuleDescriptor.value.call(this, selector, style, index);\n if (this.ownerNode && !this.ownerNode.classList.contains(\"darkmoder\")) {\n this.ownerNode.dispatchEvent(updateSheetEvent);\n }\n return -1;\n }\n\n function proxyInsertRule(rule, index) {\n var returnValue = insertRuleDescriptor.value.call(this, rule, index);\n if (this.ownerNode && !this.ownerNode.classList.contains(\"darkmoder\")) {\n this.ownerNode.dispatchEvent(updateSheetEvent);\n }\n return returnValue;\n }\n\n function proxyDeleteRule(index) {\n try {\n deleteRuleDescriptor.value.call(this, index);\n } catch (e) {}\n if (this.ownerNode && !this.ownerNode.classList.contains(\"darkmoder\")) {\n this.ownerNode.dispatchEvent(updateSheetEvent);\n }\n }\n\n function proxyRemoveRule(index) {\n removeRuleDescriptor.value.call(this, index);\n if (this.ownerNode && !this.ownerNode.classList.contains(\"darkmoder\")) {\n this.ownerNode.dispatchEvent(updateSheetEvent);\n }\n }\n\n Object.defineProperty(\n CSSStyleSheet.prototype,\n \"addRule\",\n Object.assign({}, addRuleDescriptor, { value: proxyAddRule })\n );\n Object.defineProperty(\n CSSStyleSheet.prototype,\n \"insertRule\",\n Object.assign({}, insertRuleDescriptor, { value: proxyInsertRule })\n );\n Object.defineProperty(\n CSSStyleSheet.prototype,\n \"deleteRule\",\n Object.assign({}, deleteRuleDescriptor, { value: proxyDeleteRule })\n );\n Object.defineProperty(\n CSSStyleSheet.prototype,\n \"removeRule\",\n Object.assign({}, removeRuleDescriptor, { value: proxyRemoveRule })\n );\n }\n\n var variables = new Map();\n var INSTANCE_ID = generateUID();\n var styleManagers = new Map();\n var adoptedStyleManagers = [];\n var filter = null;\n var fixes = null;\n var isIFrame = null;\n\n function createOrUpdateStyle(className, root) {\n if (root === void 0) {\n root = document.head || document;\n }\n var element = root.querySelector(\".\" + className);\n if (!element) {\n element = document.createElement(\"style\");\n element.classList.add(\"darkmoder\");\n element.classList.add(className);\n element.media = \"screen\";\n }\n return element;\n }\n\n function createOrUpdateScript(className, root) {\n if (root === void 0) {\n root = document.head || document;\n }\n var element = root.querySelector(\".\" + className);\n if (!element) {\n element = document.createElement(\"script\");\n element.classList.add(\"darkmoder\");\n element.classList.add(className);\n }\n return element;\n }\n\n var nodePositionWatchers = new Map();\n\n function setupNodePositionWatcher(node, alias) {\n nodePositionWatchers.has(alias) && nodePositionWatchers.get(alias).stop();\n nodePositionWatchers.set(alias, watchForNodePosition(node, \"parent\"));\n }\n\n function stopStylePositionWatchers() {\n forEach(nodePositionWatchers.values(), function (watcher) {\n return watcher.stop();\n });\n nodePositionWatchers.clear();\n }\n\n function createStaticStyleOverrides() {\n var fallbackStyle = createOrUpdateStyle(\"darkmoder--fallback\", document);\n fallbackStyle.textContent = getModifiedFallbackStyle(filter, {\n strict: true,\n });\n document.head.insertBefore(fallbackStyle, document.head.firstChild);\n setupNodePositionWatcher(fallbackStyle, \"fallback\");\n var userAgentStyle = createOrUpdateStyle(\"darkmoder--user-agent\");\n userAgentStyle.textContent = getModifiedUserAgentStyle(\n filter,\n isIFrame,\n filter.styleSystemControls\n );\n document.head.insertBefore(userAgentStyle, fallbackStyle.nextSibling);\n setupNodePositionWatcher(userAgentStyle, \"user-agent\");\n var textStyle = createOrUpdateStyle(\"darkmoder--text\");\n if (filter.useFont || filter.textStroke > 0) {\n textStyle.textContent = createTextStyle(filter);\n } else {\n textStyle.textContent = \"\";\n }\n document.head.insertBefore(textStyle, fallbackStyle.nextSibling);\n setupNodePositionWatcher(textStyle, \"text\");\n var invertStyle = createOrUpdateStyle(\"darkmoder--invert\");\n if (fixes && Array.isArray(fixes.invert) && fixes.invert.length > 0) {\n invertStyle.textContent = [\n fixes.invert.join(\", \") + \" {\",\n \" filter: \" +\n getCSSFilterValue(\n __assign(__assign({}, filter), {\n contrast:\n filter.mode === 0\n ? filter.contrast\n : clamp(filter.contrast - 10, 0, 100),\n })\n ) +\n \" !important;\",\n \"}\",\n ].join(\"\\n\");\n } else {\n invertStyle.textContent = \"\";\n }\n document.head.insertBefore(invertStyle, textStyle.nextSibling);\n setupNodePositionWatcher(invertStyle, \"invert\");\n var inlineStyle = createOrUpdateStyle(\"darkmoder--inline\");\n inlineStyle.textContent = getInlineOverrideStyle();\n document.head.insertBefore(inlineStyle, invertStyle.nextSibling);\n setupNodePositionWatcher(inlineStyle, \"inline\");\n var overrideStyle = createOrUpdateStyle(\"darkmoder--override\");\n overrideStyle.textContent =\n fixes && fixes.css ? replaceCSSTemplates(fixes.css) : \"\";\n document.head.appendChild(overrideStyle);\n setupNodePositionWatcher(overrideStyle, \"override\");\n var variableStyle = createOrUpdateStyle(\"darkmoder--variables\");\n var selectionColors = getSelectionColor(filter);\n var darkSchemeBackgroundColor = filter.darkSchemeBackgroundColor,\n darkSchemeTextColor = filter.darkSchemeTextColor,\n lightSchemeBackgroundColor = filter.lightSchemeBackgroundColor,\n lightSchemeTextColor = filter.lightSchemeTextColor,\n mode = filter.mode;\n var schemeBackgroundColor =\n mode === 0 ? lightSchemeBackgroundColor : darkSchemeBackgroundColor;\n var schemeTextColor =\n mode === 0 ? lightSchemeTextColor : darkSchemeTextColor;\n schemeBackgroundColor = modifyBackgroundColor(\n parse(schemeBackgroundColor),\n filter\n );\n schemeTextColor = modifyForegroundColor(parse(schemeTextColor), filter);\n variableStyle.textContent = [\n \":root {\",\n \" --wp-dark-mode-neutral-background: \" + schemeBackgroundColor + \";\",\n \" --wp-dark-mode-neutral-text: \" + schemeTextColor + \";\",\n \" --wp-dark-mode-selection-background: \" +\n selectionColors.backgroundColorSelection +\n \";\",\n \" --wp-dark-mode-selection-text: \" +\n selectionColors.foregroundColorSelection +\n \";\",\n \"}\",\n ].join(\"\\n\");\n document.head.insertBefore(variableStyle, inlineStyle.nextSibling);\n setupNodePositionWatcher(variableStyle, \"variables\");\n var proxyScript = createOrUpdateScript(\"darkmoder--proxy\");\n proxyScript.textContent = \"(\" + injectProxy + \")()\";\n document.head.insertBefore(proxyScript, variableStyle.nextSibling);\n }\n\n var shadowRootsWithOverrides = new Set();\n\n function createShadowStaticStyleOverrides(root) {\n var inlineStyle = createOrUpdateStyle(\"darkmoder--inline\", root);\n inlineStyle.textContent = getInlineOverrideStyle();\n root.insertBefore(inlineStyle, root.firstChild);\n var overrideStyle = createOrUpdateStyle(\"darkmoder--override\", root);\n overrideStyle.textContent =\n fixes && fixes.css ? replaceCSSTemplates(fixes.css) : \"\";\n root.insertBefore(overrideStyle, inlineStyle.nextSibling);\n shadowRootsWithOverrides.add(root);\n }\n\n function replaceCSSTemplates($cssText) {\n return $cssText.replace(/\\${(.+?)}/g, function (m0, $color) {\n try {\n var color = parseColorWithCache($color);\n return modifyColor(color, filter);\n } catch (err) {\n logWarn(err);\n return $color;\n }\n });\n }\n\n function cleanFallbackStyle() {\n var fallback = document.querySelector(\".darkmoder--fallback\");\n if (fallback) {\n fallback.textContent = \"\";\n }\n }\n\n function getIgnoreImageAnalysisSelectors() {\n return fixes && Array.isArray(fixes.ignoreImageAnalysis)\n ? fixes.ignoreImageAnalysis\n : [];\n }\n\n function createDynamicStyleOverrides() {\n cancelRendering();\n updateVariables(getElementCSSVariables(document.documentElement));\n var allStyles = getManageableStyles(document);\n var newManagers = allStyles\n .filter(function (style) {\n return !styleManagers.has(style);\n })\n .map(function (style) {\n return createManager(style);\n });\n var newVariables = newManagers\n .map(function (manager) {\n return manager.details();\n })\n .filter(function (details) {\n return details && details.variables.size > 0;\n })\n .map(function (_a) {\n var variables = _a.variables;\n return variables;\n });\n if (newVariables.length === 0) {\n styleManagers.forEach(function (manager) {\n return manager.render(\n filter,\n variables,\n getIgnoreImageAnalysisSelectors()\n );\n });\n if (loadingStyles.size === 0) {\n cleanFallbackStyle();\n }\n } else {\n newVariables.forEach(function (variables) {\n return updateVariables(variables);\n });\n throttledRenderAllStyles(function () {\n if (loadingStyles.size === 0) {\n cleanFallbackStyle();\n }\n });\n }\n newManagers.forEach(function (manager) {\n return manager.watch();\n });\n var inlineStyleElements = toArray(\n document.querySelectorAll(INLINE_STYLE_SELECTOR)\n );\n iterateShadowHosts(document.documentElement, function (host) {\n createShadowStaticStyleOverrides(host.shadowRoot);\n var elements = host.shadowRoot.querySelectorAll(INLINE_STYLE_SELECTOR);\n if (elements.length > 0) {\n push(inlineStyleElements, elements);\n }\n });\n var ignoredInlineSelectors =\n fixes && Array.isArray(fixes.ignoreInlineStyle)\n ? fixes.ignoreInlineStyle\n : [];\n inlineStyleElements.forEach(function (el) {\n return overrideInlineStyle(\n el,\n filter,\n getIgnoreImageAnalysisSelectors(),\n ignoredInlineSelectors\n );\n });\n handleAdoptedStyleSheets(document);\n }\n\n var loadingStylesCounter = 0;\n var loadingStyles = new Set();\n\n function createManager(element) {\n var loadingStyleId = ++loadingStylesCounter;\n\n function loadingStart() {\n if (!isDOMReady() || !didDocumentShowUp) {\n loadingStyles.add(loadingStyleId);\n var fallbackStyle = document.querySelector(\".darkmoder--fallback\");\n if (!fallbackStyle.textContent) {\n fallbackStyle.textContent = getModifiedFallbackStyle(filter, {\n strict: false,\n });\n }\n }\n }\n\n function loadingEnd() {\n loadingStyles.delete(loadingStyleId);\n if (loadingStyles.size === 0 && isDOMReady()) {\n cleanFallbackStyle();\n }\n }\n\n function update() {\n var details = manager.details();\n if (!details) {\n return;\n }\n if (details.variables.size === 0) {\n manager.render(filter, variables, getIgnoreImageAnalysisSelectors());\n } else {\n updateVariables(details.variables);\n throttledRenderAllStyles();\n }\n }\n\n var manager = manageStyle(element, {\n update: update,\n loadingStart: loadingStart,\n loadingEnd: loadingEnd,\n });\n styleManagers.set(element, manager);\n return manager;\n }\n\n function updateVariables(newVars) {\n if (newVars.size === 0) {\n return;\n }\n newVars.forEach(function (value, key) {\n variables.set(key, value);\n });\n variables.forEach(function (value, key) {\n variables.set(key, replaceCSSVariables(value, variables));\n });\n }\n\n function removeManager(element) {\n var manager = styleManagers.get(element);\n if (manager) {\n manager.destroy();\n styleManagers.delete(element);\n }\n }\n\n var throttledRenderAllStyles = throttle(function (callback) {\n styleManagers.forEach(function (manager) {\n return manager.render(\n filter,\n variables,\n getIgnoreImageAnalysisSelectors()\n );\n });\n adoptedStyleManagers.forEach(function (manager) {\n return manager.render(\n filter,\n variables,\n getIgnoreImageAnalysisSelectors()\n );\n });\n callback && callback();\n });\n var cancelRendering = function () {\n throttledRenderAllStyles.cancel();\n };\n\n function onDOMReady() {\n if (loadingStyles.size === 0) {\n cleanFallbackStyle();\n }\n }\n\n var documentVisibilityListener = null;\n var didDocumentShowUp = !document.hidden;\n\n function watchForDocumentVisibility(callback) {\n var alreadyWatching = Boolean(documentVisibilityListener);\n documentVisibilityListener = function () {\n if (!document.hidden) {\n stopWatchingForDocumentVisibility();\n callback();\n didDocumentShowUp = true;\n }\n };\n if (!alreadyWatching) {\n document.addEventListener(\"visibilitychange\", documentVisibilityListener);\n }\n }\n\n function stopWatchingForDocumentVisibility() {\n document.removeEventListener(\n \"visibilitychange\",\n documentVisibilityListener\n );\n documentVisibilityListener = null;\n }\n\n function createThemeAndWatchForUpdates() {\n createStaticStyleOverrides();\n\n function runDynamicStyle() {\n createDynamicStyleOverrides();\n watchForUpdates();\n }\n\n if (document.hidden) {\n watchForDocumentVisibility(runDynamicStyle);\n } else {\n runDynamicStyle();\n }\n changeMetaThemeColorWhenAvailable(filter);\n }\n\n function handleAdoptedStyleSheets(node) {\n if (Array.isArray(node.adoptedStyleSheets)) {\n if (node.adoptedStyleSheets.length > 0) {\n var newManger = createAdoptedStyleSheetOverride(node);\n adoptedStyleManagers.push(newManger);\n newManger.render(filter, variables, getIgnoreImageAnalysisSelectors());\n }\n }\n }\n\n function watchForUpdates() {\n var managedStyles = Array.from(styleManagers.keys());\n watchForStyleChanges(\n managedStyles,\n function (_a) {\n var created = _a.created,\n updated = _a.updated,\n removed = _a.removed,\n moved = _a.moved;\n var stylesToRemove = removed;\n var stylesToManage = created\n .concat(updated)\n .concat(moved)\n .filter(function (style) {\n return !styleManagers.has(style);\n });\n var stylesToRestore = moved.filter(function (style) {\n return styleManagers.has(style);\n });\n stylesToRemove.forEach(function (style) {\n return removeManager(style);\n });\n var newManagers = stylesToManage.map(function (style) {\n return createManager(style);\n });\n var newVariables = newManagers\n .map(function (manager) {\n return manager.details();\n })\n .filter(function (details) {\n return details && details.variables.size > 0;\n })\n .map(function (_a) {\n var variables = _a.variables;\n return variables;\n });\n if (newVariables.length === 0) {\n newManagers.forEach(function (manager) {\n return manager.render(\n filter,\n variables,\n getIgnoreImageAnalysisSelectors()\n );\n });\n } else {\n newVariables.forEach(function (variables) {\n return updateVariables(variables);\n });\n throttledRenderAllStyles();\n }\n newManagers.forEach(function (manager) {\n return manager.watch();\n });\n stylesToRestore.forEach(function (style) {\n return styleManagers.get(style).restore();\n });\n },\n function (shadowRoot) {\n createShadowStaticStyleOverrides(shadowRoot);\n handleAdoptedStyleSheets(shadowRoot);\n }\n );\n var ignoredInlineSelectors =\n fixes && Array.isArray(fixes.ignoreInlineStyle)\n ? fixes.ignoreInlineStyle\n : [];\n watchForInlineStyles(\n function (element) {\n overrideInlineStyle(\n element,\n filter,\n ignoredInlineSelectors,\n getIgnoreImageAnalysisSelectors()\n );\n if (element === document.documentElement) {\n var rootVariables = getElementCSSVariables(document.documentElement);\n if (rootVariables.size > 0) {\n updateVariables(rootVariables);\n throttledRenderAllStyles();\n }\n }\n },\n function (root) {\n createShadowStaticStyleOverrides(root);\n var inlineStyleElements = root.querySelectorAll(INLINE_STYLE_SELECTOR);\n if (inlineStyleElements.length > 0) {\n forEach(inlineStyleElements, function (el) {\n return overrideInlineStyle(\n el,\n filter,\n getIgnoreImageAnalysisSelectors(),\n ignoredInlineSelectors\n );\n });\n }\n }\n );\n addDOMReadyListener(onDOMReady);\n }\n\n function stopWatchingForUpdates() {\n styleManagers.forEach(function (manager) {\n return manager.pause();\n });\n stopStylePositionWatchers();\n stopWatchingForStyleChanges();\n stopWatchingForInlineStyles();\n removeDOMReadyListener(onDOMReady);\n }\n\n function createDarkModeInstanceMarker() {\n var metaElement = document.createElement(\"meta\");\n metaElement.name = \"darkmoder\";\n metaElement.content = INSTANCE_ID;\n document.head.appendChild(metaElement);\n }\n\n function isAnotherDarkModeInstanceActive() {\n var meta = document.querySelector('meta[name=\"darkmoder\"]');\n if (meta) {\n if (meta.content !== INSTANCE_ID) {\n return true;\n }\n return false;\n } else {\n createDarkModeInstanceMarker();\n return false;\n }\n }\n\n function createOrUpdateDynamicTheme(filterConfig, dynamicThemeFixes, iframe) {\n filter = filterConfig;\n fixes = dynamicThemeFixes;\n isIFrame = iframe;\n if (document.head) {\n if (isAnotherDarkModeInstanceActive()) {\n return;\n }\n createThemeAndWatchForUpdates();\n } else {\n if (!isFirefox) {\n var fallbackStyle = createOrUpdateStyle(\"darkmoder--fallback\");\n document.documentElement.appendChild(fallbackStyle);\n fallbackStyle.textContent = getModifiedFallbackStyle(filter, {\n strict: true,\n });\n }\n var headObserver_1 = new MutationObserver(function () {\n if (document.head) {\n headObserver_1.disconnect();\n if (isAnotherDarkModeInstanceActive()) {\n removeDynamicTheme();\n return;\n }\n createThemeAndWatchForUpdates();\n }\n });\n headObserver_1.observe(document, { childList: true, subtree: true });\n }\n }\n\n function removeProxy() {\n document.dispatchEvent(new CustomEvent(\"__darkmoder__cleanUp\"));\n removeNode(document.head.querySelector(\".darkmoder--proxy\"));\n }\n\n function removeDynamicTheme() {\n cleanDynamicThemeCache();\n removeNode(document.querySelector(\".darkmoder--fallback\"));\n if (document.head) {\n restoreMetaThemeColor();\n removeNode(document.head.querySelector(\".darkmoder--user-agent\"));\n removeNode(document.head.querySelector(\".darkmoder--text\"));\n removeNode(document.head.querySelector(\".darkmoder--invert\"));\n removeNode(document.head.querySelector(\".darkmoder--inline\"));\n removeNode(document.head.querySelector(\".darkmoder--override\"));\n removeNode(document.head.querySelector('meta[name=\"darkmoder\"]'));\n removeProxy();\n }\n shadowRootsWithOverrides.forEach(function (root) {\n removeNode(root.querySelector(\".darkmoder--inline\"));\n removeNode(root.querySelector(\".darkmoder--override\"));\n });\n shadowRootsWithOverrides.clear();\n forEach(styleManagers.keys(), function (el) {\n return removeManager(el);\n });\n forEach(document.querySelectorAll(\".darkmoder\"), removeNode);\n adoptedStyleManagers.forEach(function (manager) {\n manager.destroy();\n });\n adoptedStyleManagers.splice(0);\n }\n\n function cleanDynamicThemeCache() {\n stopWatchingForDocumentVisibility();\n cancelRendering();\n stopWatchingForUpdates();\n cleanModificationCache();\n }\n\n var blobRegex = /url\\(\\\"(blob\\:.*?)\\\"\\)/g;\n\n function replaceBlobs(text) {\n return __awaiter(this, void 0, void 0, function () {\n var promises, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n promises = [];\n getMatches(blobRegex, text, 1).forEach(function (url) {\n var promise = loadAsDataURL(url);\n promises.push(promise);\n });\n return [4, Promise.all(promises)];\n case 1:\n data = _a.sent();\n return [\n 2,\n text.replace(blobRegex, function () {\n return 'url(\"' + data.shift() + '\")';\n }),\n ];\n }\n });\n });\n }\n\n var banner =\n '/*\\n _______\\n / \\\\\\n .==. .==.\\n (( ))==(( ))\\n / \"==\" \"==\"\\\\\\n /____|| || ||___\\\\\\n ________ ____ ________ ___ ___\\n | ___ \\\\ / \\\\ | ___ \\\\ | | / /\\n | | \\\\ \\\\ / /\\\\ \\\\ | | \\\\ \\\\| |_/ /\\n | | ) / /__\\\\ \\\\ | |__/ /| ___ \\\\\\n | |__/ / ______ \\\\| ____ \\\\| | \\\\ \\\\\\n_______|_______/__/ ____ \\\\__\\\\__|___\\\\__\\\\__|___\\\\__\\\\____\\n| ___ \\\\ | ____/ / \\\\ | ___ \\\\ | ____| ___ \\\\\\n| | \\\\ \\\\| |___ / /\\\\ \\\\ | | \\\\ \\\\| |___| | \\\\ \\\\\\n| |__/ /| ____/ /__\\\\ \\\\ | | ) | ____| |__/ /\\n| ____ \\\\| |__/ ______ \\\\| |__/ /| |___| ____ \\\\\\n|__| \\\\__\\\\____/__/ \\\\__\\\\_______/ |______|__| \\\\__\\\\\\n https://darkmoder.org\\n*/';\n\n function collectCSS() {\n return __awaiter(this, void 0, void 0, function () {\n function addStaticCSS(selector, comment) {\n var staticStyle = document.querySelector(selector);\n if (staticStyle && staticStyle.textContent) {\n css.push(\"/* \" + comment + \" */\");\n css.push(staticStyle.textContent);\n css.push(\"\");\n }\n }\n\n var css, modifiedCSS, formattedCSS, _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n css = [banner];\n addStaticCSS(\".darkmoder--fallback\", \"Fallback Style\");\n addStaticCSS(\".darkmoder--user-agent\", \"User-Agent Style\");\n addStaticCSS(\".darkmoder--text\", \"Text Style\");\n addStaticCSS(\".darkmoder--invert\", \"Invert Style\");\n addStaticCSS(\".darkmoder--variables\", \"Variables Style\");\n modifiedCSS = [];\n document\n .querySelectorAll(\".darkmoder--sync\")\n .forEach(function (element) {\n forEach(element.sheet.cssRules, function (rule) {\n rule && rule.cssText && modifiedCSS.push(rule.cssText);\n });\n });\n if (!(modifiedCSS.length != 0)) return [3, 2];\n formattedCSS = formatCSS(modifiedCSS.join(\"\\n\"));\n css.push(\"/* Modified CSS */\");\n _b = (_a = css).push;\n return [4, replaceBlobs(formattedCSS)];\n case 1:\n _b.apply(_a, [_c.sent()]);\n css.push(\"\");\n _c.label = 2;\n case 2:\n addStaticCSS(\".darkmoder--override\", \"Override Style\");\n return [2, css.join(\"\\n\")];\n }\n });\n });\n }\n\n var isIFrame$1 = (function () {\n try {\n return window.self !== window.top;\n } catch (err) {\n console.warn(err);\n return true;\n }\n })();\n\n function enable(themeOptions, fixes) {\n if (themeOptions === void 0) {\n themeOptions = {};\n }\n if (fixes === void 0) {\n fixes = null;\n }\n var theme = __assign(__assign({}, DEFAULT_THEME), themeOptions);\n if (theme.engine !== ThemeEngines.dynamicTheme) {\n throw new Error(\"Theme engine is not supported.\");\n }\n createOrUpdateDynamicTheme(theme, fixes, isIFrame$1);\n\n exports.enabled = true;\n }\n\n function disable() {\n removeDynamicTheme();\n\n exports.enabled = false;\n }\n\n var darkScheme = matchMedia(\"(prefers-color-scheme: dark)\");\n var store = {\n themeOptions: null,\n fixes: null,\n };\n\n function handleColorScheme() {\n if (darkScheme.matches) {\n enable(store.themeOptions, store.fixes);\n } else {\n disable();\n }\n }\n\n function auto(themeOptions, fixes) {\n if (themeOptions === void 0) {\n themeOptions = {};\n }\n if (fixes === void 0) {\n fixes = null;\n }\n if (themeOptions) {\n store = { themeOptions: themeOptions, fixes: fixes };\n handleColorScheme();\n darkScheme.addEventListener(\"change\", handleColorScheme);\n } else {\n darkScheme.removeEventListener(\"change\", handleColorScheme);\n disable();\n }\n }\n\n function exportGeneratedCSS() {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n return [4, collectCSS()];\n case 1:\n return [2, _a.sent()];\n }\n });\n });\n }\n\n var setFetchMethod$1 = setFetchMethod;\n\n exports.auto = auto;\n exports.disable = disable;\n exports.enable = enable;\n exports.exportGeneratedCSS = exportGeneratedCSS;\n exports.setFetchMethod = setFetchMethod$1;\n\n Object.defineProperty(exports, \"__esModule\", { value: true });\n});","import Base from './Base';\nimport WPDarkMode from \"./WPDarkMode\";\nimport './DarkModeAuto'\n\nclass Color extends Base {\n\n // Fires when the DOM is ready\n ready() {\n // console.log('Color Ready');\n this.always();\n\n // When automatic mode is enabled\n if ( this.isAutoColor ) {\n const html = document.querySelector('html');\n\n html?.setAttribute('data-wp-dark-mode-loading', true);\n this.applyAutoDark();\n html?.removeAttribute('data-wp-dark-mode-loading');\n } else {\n // Colors need to be fixed when Automatic Mode is disabled\n this.applyPreset();\n }\n }\n\n /**\n * Do always\n */\n always() {\n // Removed loading attribute from html tag\n const html = document.querySelector('html');\n\n html?.removeAttribute('data-wp-dark-mode-loading');\n\n this.handleIncludes();\n this.HandleExcludes();\n }\n\n /**\n * When Automatic Mode is enabled\n *\n * @return {void}\n */\n async applyAutoDark(){\n const FiltersConfig = {\n brightness: wp_dark_mode_json.options.color_filter_brightness || 100,\n contrast: wp_dark_mode_json.options.color_filter_contrast || 90,\n sepia: wp_dark_mode_json.options.color_filter_sepia || 10,\n grayscale: wp_dark_mode_json.options.color_filter_grayscale || 0,\n }\n\n if ( WPDarkMode.isActive ) {\n DarkModeAuto.enable(FiltersConfig, {\n ignoreInlineStyle: '.wp-dark-mode-ignore'\n });\n }\n\n WPDarkMode.onChange(() => {\n // console.log('Dark Mode Changed');\n if ( WPDarkMode.isActive ) {\n DarkModeAuto.enable(FiltersConfig, {\n ignoreInlineStyle: '.wp-dark-mode-ignore'\n });\n } else {\n DarkModeAuto.disable();\n }\n })\n }\n\n\n\n // Get preset id\n get presetId() {\n const target = typeof wp_dark_mode_admin_json !== 'undefined' ? wp_dark_mode_admin_json : wp_dark_mode_json;\n return target?.options?.color_preset_id || false;\n }\n\n /**\n * Is Automatic Color.\n *\n * @return {boolean}\n */\n get isAutoColor() {\n return Number(this.presetId) === 0;\n }\n\n \n /**\n * Apply colors to the elements\n * \n * @param {boolean} isDark \n * @returns \n */\n initHandlers() {\n }\n\n /**\n * Fix colors\n *\n */\n applyPreset(){\n const all = document.querySelectorAll(`body *:not(.wp-dark-mode-ignore), body *:not(.wp-dark-mode-ignore *)`);\n // window.Log('all', all)\n\n if ( ! all || ! all.length) return;\n\n all.forEach(element => {\n\n // Add class .wp-dark-mode-background\n element.classList.add('wp-dark-mode-transparent');\n\n // Is excludable.\n if ( this.shouldIgnore(element) ) {\n\n const backgroundColor = window.getComputedStyle(element).backgroundColor || 'rgba(0, 0, 0, 0)';\n\n // Log('Background Color', backgroundColor) \n\n if ( ! this.isTransparent( backgroundColor ) ) {\n element.classList.add('wp-dark-mode-ignore');\n }\n\n // Log('Should Ignore', element, backgroundColor)\n element.classList.add('wp-dark-mode-transparent');\n\n } else {\n element.classList.remove('wp-dark-mode-transparent');\n }\n })\n }\n\n\t/**\n\t * Handle excludes\n\t */\n\tHandleExcludes() {\n const excludes = (\n wp_dark_mode_json.options.excludes_elements ? wp_dark_mode_json.options.excludes_elements + ',.wp-dark-mode-ignore' : '.wp-dark-mode-ignore'\n ) + ( wp_dark_mode_json.excluded_elements ? ', ' + wp_dark_mode_json.excluded_elements : '' );\n\t\tconst ignorableElements = document.querySelectorAll( excludes );\n\n\t\tif ( ! ignorableElements || ! ignorableElements.length) return;\n\n\t\tignorableElements.forEach(element => {\n\t\t\tconst ignoreRecursively = el => {\n\n\t\t\t\t// Bail, if element is not valid.\n\t\t\t\tif ( ! el ) return;\n\n\t\t\t\t// If el not intance of html.\n\t\t\t\tif ( ! (el instanceof HTMLElement) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n // If element has class .wp-dark-mode-include, return;\n if ( el.classList.contains('wp-dark-mode-include') ) return;\n\n\t\t\t\t// Add class.\n\t\t\t\tel.classList.add('wp-dark-mode-ignore');\n\n\t\t\t\t// if has background color, make it important.\n\t\t\t\tconst { color, borderColor } = window.getComputedStyle(el) || {};\n\n\t\t\t\t// Log('backgroundColor', backgroundColor, color, borderColor);\n\t\t\t\t\n\t\t\t\t// If has color, border color, make it important.\n\t\t\t\tif ( color !== 'rgba(0, 0, 0, 0)' ) {\n\t\t\t\t\tel.style.color = `${color} !important`;\n\t\t\t\t}\n\n\t\t\t\t// If has border color, make it important.\n\t\t\t\tif ( borderColor !== 'rgba(0, 0, 0, 0)' ) {\n\t\t\t\t\tel.style.borderColor = `${borderColor} !important`;\n\t\t\t\t}\n\n\t\t\t\t// if has children, apply recursively.\n\t\t\t\tif ( el.childNodes && el.childNodes.length ) {\n\t\t\t\t\tel.childNodes.forEach(child => {\n\t\t\t\t\t\tignoreRecursively(child);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tignoreRecursively(element);\n\t\t});\n\n\t\treturn this;\n\t}\n\n /**\n * Handle includes\n */\n handleIncludes(){\n const includedElements = document.querySelectorAll( wp_dark_mode_json.options.excludes_elements_includes || '.wp_dark_mode_include' );\n\n\t\tif ( ! includedElements || ! includedElements.length) return;\n\n includedElements.forEach(element => {\n // Add class .wp-dark-mode-include recursively\n const includeRecursively = el => {\n\n // Bail, if element is not valid.\n if ( ! el ) return;\n\n // If el not intance of html.\n if ( ! (el instanceof HTMLElement) ) {\n return;\n }\n\n // Add class.\n el.classList.add('wp-dark-mode-include');\n // Remove class.\n el.classList.remove('wp-dark-mode-ignore');\n\n // if has children, apply recursively.\n if ( el.childNodes && el.childNodes.length ) {\n el.childNodes.forEach(child => {\n includeRecursively(child);\n });\n }\n }\n\n includeRecursively(element);\n });\n }\n\n\n /**\n * isRGB\n *\n * @param {string} color\n * @return {boolean}\n */\n isRGB = color => {\n return color.indexOf('rgb') !== -1;\n }\n\n /**\n * Hex to RGB\n *\n * @param {string} colorString\n * @param {number} alpha\n * @return {string}\n */\n hexToRGB = (colorString, alpha = 1) => {\n\n if ( this.isRGB (colorString) ) return colorString\n\n // Create a temporary div element to apply the color as a style\n const tempDiv = document.createElement(\"div\");\n tempDiv.style.color = colorString;\n\n // Get the computed RGBA value\n const computedColor = window.getComputedStyle(tempDiv).color;\n\n // Parse the RGBA values\n const rgbaValues = computedColor.match(/(\\d+), (\\d+), (\\d+), (\\d+(\\.\\d+)?)\\)/);\n\n if (rgbaValues && rgbaValues.length === 6) {\n const red = parseInt(rgbaValues[1]);\n const green = parseInt(rgbaValues[2]);\n const blue = parseInt(rgbaValues[3]);\n const opacity = alpha !== undefined ? alpha : parseFloat(rgbaValues[4]);\n\n return `rgba(${red}, ${green}, ${blue}, ${opacity})`;\n } else {\n // console.error(`Invalid color string: ${colorString}`);\n return null;\n }\n }\n\n\n /**\n * Get White Percentage\n *\n * @param {string} color\n * @return {boolean}\n */\n luminance = color => {\n // Convert hex to RGB if the color is hex\n if (!this.isRGB(color)) {\n color = this.hexToRgb(color);\n }\n\n // Remove spaces from the color\n color = color.replace(/ /g, '');\n\n // Split the color into array\n color = color.split(',');\n const r = color[0];\n const g = color[1];\n const b = color[2];\n\n // Calculate the luminance\n return (0.299 * r + 0.587 * g + 0.114 * b);\n }\n\n /**\n * Is Dark Color\n * \n *\n * @param {string} color\n * @return {boolean}\n */\n isDarkColor = color => {\n // Log('luminance', this.luminance(color))\n return this.luminance(color) < 190;\n }\n\n /**\n * Get White Percentage\n *\n * @param {string} color\n * @return {number}\n */\n getWhitePercentage = color => {\n // Convert hex to RGB if the color is hex\n if (!this.isRGB(color)) {\n color = this.hexToRgb(color);\n }\n\n // Remove spaces from the color\n color = color.replace(/ /g, '');\n\n // Split the color into array\n color = color.split(',');\n const r = color[0];\n const g = color[1];\n const b = color[2];\n\n // Calculate the white percentage\n return Math.round(((255 - r) + (255 - g) + (255 - b)) / 7.65);\n }\n\n /**\n * Is Transparent\n *\n * @param {string} color\n * @return {boolean}\n */\n isTransparent = color => {\n\n // Bail, if color not set\n if (!color) return true\n\n let rgb = this.hexToRGB(color)\n\n if (!rgb) return true\n\n // Bail, if color is transparent\n if (rgb == 'rgba(0, 0, 0, 0)') return true;\n\n if (rgb == 'rgb(0, 0, 0)') return true;\n\n if (rgb == 'none') return true;\n\n // Remove spaces from the color\n rgb = rgb.replace(/ /g, '');\n\n // Split the color into array\n rgb = rgb.split(',');\n\n // Get the alpha value\n const alpha = parseFloat(rgb[3]);\n\n // Return true if the alpha value is 0\n if (alpha == 0) return true;\n \n\n return false\n }\n\n /**\n * Should Ignore.\n *\n * @param element \n * @return bool\n */\n shouldIgnore = element => {\n // Return true is element is null\n if (!element) return true;\n\n const backgroundColor = window.getComputedStyle(element).backgroundColor || 'rgba(0, 0, 0, 0)';\n\n // Return true if the element has class wp-dark-mode-ignore\n if (element.classList.contains('wp-dark-mode-ignore')) return true;\n\n // Return true if the element has class wp-dark-mode-switch\n if (element.classList.contains('wp-dark-mode-switch')) return true;\n\n // Return true if the element has class wp-dark-mode-background\n if (element.classList.contains('wp-dark-mode-background')) return true;\n\n // Return true if the background color is transparent\n if (this.isTransparent(backgroundColor)) {\n element.classList.add('wp-dark-mode-transparent');\n return true;\n }\n\n // Has background image.\n if (window.getComputedStyle(element).backgroundImage !== 'none') return true;\n\n // Is color darkish, return true.\n if (this.isDarkColor(backgroundColor)) return true;\n\n return false;\n }\n\n}\n\nexport default new Color();","import Base from './Base.js';\n\nclass Images extends Base {\n\t/**\n\t * Init\n\t */\n\tready() {\n\t\tthis.initImages();\n\t}\n\t/**\n\t * Replace images\n\t */\n\tinitImages() {\n\t\t// Set global CSS img opacity inherit\n\t\tdocument.body.style.setProperty('--wp-dark-mode-img-opacity', 1);\n\n\t\tthis.replaceImages();\n\t\tthis.replaceBackgroundImages();\n\t\tthis.excludeFilterImages();\n\n\t\tWPDarkMode.onChange(() => {\n\t\t\tthis.replaceImages();\n\t\t\tthis.replaceBackgroundImages();\n\t\t\tthis.excludeFilterImages();\n\t\t});\n\t}\n\n\treplaceImages() {\n\t\tconst images = document.querySelectorAll('img');\n\t\tif (!images || !images.length) return;\n\n\t\t// Replace images.\n\t\timages.forEach((image) => {\n\t\t\t// Bail, if image src is not set.\n\t\t\tif (!image.src) return;\n\n\t\t\tlet currentSrc = image.dataset.lightSrc || image.src;\n\n\t\t\tif (WPDarkMode.isActive) {\n\t\t\t\tconst darkSrc = this.getDarkSrc(currentSrc);\n\t\t\t\tif (darkSrc) {\n\t\t\t\t\timage.dataset.lightSrc = currentSrc;\n\t\t\t\t\timage.dataset.darkSrc = darkSrc;\n\t\t\t\t\timage.src = darkSrc;\n\t\t\t\t\timage.srcset = darkSrc;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst lightSrc = image.dataset.lightSrc;\n\t\t\t\tif (lightSrc) {\n\t\t\t\t\timage.src = lightSrc;\n\t\t\t\t\timage.srcset = lightSrc;\n\t\t\t\t}\n\t\t\t}\n\n\t\t});\n\t}\n\n\t// Background images\n\treplaceBackgroundImages() {\n\t\t// element having background image.\n\t\tvar elementsWithBackground = document.querySelectorAll('*');\n\n\t\t// Iterate through the selected elements\n\t\telementsWithBackground.forEach((element) => {\n\t\t\t// Check if the element has a background image\n\t\t\tvar backgroundImage = window.getComputedStyle(element).getPropertyValue('background-image');\n\t\t\t\n\t\t\tif (backgroundImage !== 'none') {\n\n\t\t\t\tbackgroundImage = backgroundImage.replace(/url\\((['\"])?(.*?)\\1\\)/gi, '$2').split(',')[0];\n\n\t\t\t\t// Add wp-dark-mode-ignore class.\n\t\t\t\telement.classList.add('wp-dark-mode-ignore');\n\n\t\t\t\t// Log('backgroundImage', backgroundImage)\n\t\t\t\t// change the background image to dark mode if dark mode is enabled\n\t\t\t\tif (WPDarkMode.isActive) {\n\t\t\t\t\tconst darkSrc = this.getDarkSrc(backgroundImage);\n\t\t\t\t\tif (darkSrc) {\n\t\t\t\t\t\telement.style.backgroundImage = `url(${darkSrc})`;\n\n\t\t\t\t\t\t// Set light src.\n\t\t\t\t\t\telement.dataset.lightSrc = backgroundImage;\n\t\t\t\t\t\telement.dataset.darkSrc = darkSrc;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// change the background image to light mode if dark mode is disabled\n\t\t\t\t\tconst lightSrc = element.dataset.lightSrc;\n\t\t\t\t\tif (lightSrc) {\n\t\t\t\t\t\telement.style.backgroundImage = `url(${lightSrc})`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Get dark src\n\t * \n\t * @param {string} src \n\t * @returns \n\t */\n\tgetDarkSrc(src) {\n\t\t// Bail, if src is not set.\n\t\tif (!src) return;\n\n\t\tconst replaceable_images = wp_dark_mode_json.options.image_replaces || false;\n\t\tif (!replaceable_images) return false\n\n\t\tconst imagePair = replaceable_images.find((img) => {\n\t\t\t// remove query string from image src\n\t\t\tconst srcWithoutQuery = src.split('?')[0];\n\n\t\t\treturn img.light === srcWithoutQuery\n\t\t});\n\n\t\tif (!imagePair) return false\n\n\t\treturn imagePair.dark;\n\t}\n\n\t/**\n\t * Exclude low brightness images\n\t */\n\texcludeFilterImages() {\n\t\tconst lowBrightnessExcludes = wp_dark_mode_json.options.image_enabled_low_brightness ? wp_dark_mode_json.options.image_low_brightness_excludes : false;\n\t\tconst lowGrayscaleExcludes = wp_dark_mode_json.options.image_enabled_low_grayscale ? wp_dark_mode_json.options.image_low_grayscale_excludes : false\n\n\t\tconst images = document.querySelectorAll('img');\n\n\t\tif( images && images.length ) {\n\t\t\timages.forEach((image) => {\n\t\t\t\tconst src = image.src;\n\t\n\t\t\t\tif( lowBrightnessExcludes && lowBrightnessExcludes.includes(src) ) {\n\t\t\t\t\t// Set filter to 0.\n\t\t\t\t\timage.style.setProperty('--wp-dark-mode-img-brightness', '100%');\n\t\t\t\t}\n\t\n\t\t\t\tif( lowGrayscaleExcludes && lowGrayscaleExcludes.includes(src) ) {\n\t\t\t\t\t// Set filter to 0.\n\t\t\t\t\timage.style.setProperty('--wp-dark-mode-img-grayscale', '0%');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t\n\t}\n\n}\n\nexport default new Images();","import Base from './Base';\n\nclass Videos extends Base {\n\t/**\n\t * Init\n\t */\n\tready() {\n\t\tthis.initVideos();\n\t}\n\n\t// Detect video host\n\tgetVideoHost = url => {\n\t\t// Regular expression for YouTube URLs\n\t\tconst youtubeRegex = /^(https?:\\/\\/)?(www\\.)?(youtube\\.com\\/(watch\\?v=|embed\\/)|youtu\\.be\\/)[\\w-]+/;\n\t\t// Regular expression for Vimeo URLs\n\t\tconst vimeoRegex = /^(https?:\\/\\/)?(www\\.)?(player\\.)?vimeo\\.com\\/(video\\/)?\\d+/;\n\t\t// Regular expression for common video file extensions\n\t\tconst videoFileRegex = /\\.(mp4|avi|mov|flv|wmv|webm|m4v|mkv|mpg|mpeg|vob|asf|divx|ogv|3gp)$/i;\n\n\n\t\tif (youtubeRegex.test(url)) {\n\t\t\treturn 'youtube';\n\t\t} else if (vimeoRegex.test(url)) {\n\t\t\treturn 'vimeo';\n\t\t} else if (videoFileRegex.test(url)) {\n\t\t\treturn 'file';\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\t/**\n\t * Get YouTube video ID\n\t*/\n\tgetYouTubeVideoID = url => {\n\t\t// Regular expression for extracting the YouTube video ID\n\t\tconst regex = /(?:youtube\\.com\\/(?:[^\\/\\n\\s]+\\/\\S+\\/|(?:v|e(?:mbed)?)\\/|.*[?&]v=)|youtu\\.be\\/)([^\"&?\\/\\s]{11})/i;\n\n\t\tconst match = url.match(regex);\n\t\treturn match ? match[1] : null;\n\t}\n\n\t// Get Vimeo video ID\n\tgetVimeoVideoID = url => {\n\t\t// Regular expression for extracting the Vimeo video ID\n\t\tconst regex = /(?:vimeo\\.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/[^\\/]+\\/videos\\/|album\\/\\d+\\/video\\/|video\\/|)(\\d+)|vimeo\\.com\\/(?:\\w*\\/)?(\\d+))/i;\n\n\t\tconst match = url.match(regex);\n\t\treturn match ? match[1] || match[2] : null;\n\t}\n\n\t/**\n\t * Replace videos\n\t */\n\tinitVideos() {\n\t\t// Bail, if no videos are replaceable.\n\t\tif (!wp_dark_mode_json.options.video_replaces) return false\n\n\t\t// Manipulate wp_dark_mode_json.options.video_replaces\n\t\twp_dark_mode_json.options.video_replaces = wp_dark_mode_json.options.video_replaces.map((vid) => {\n\n\t\t\t['light', 'dark'].forEach((mode) => {\n\t\t\t\t// Get video host.\n\t\t\t\tconst host = this.getVideoHost(vid[mode]);\n\n\t\t\t\t// If YouTube, get video ID and construct dark mode video src correctly.\n\t\t\t\tif ('youtube' === host) {\n\t\t\t\t\tconst videoID = this.getYouTubeVideoID(vid[mode]);\n\t\t\t\t\tif (!videoID) return;\n\n\t\t\t\t\tvid[mode] = `https://www.youtube.com/embed/${videoID}`;\n\t\t\t\t}\n\n\t\t\t\t// If Vimeo, get video ID and construct dark mode video src correctly.\n\t\t\t\tif ('vimeo' === host) {\n\t\t\t\t\tconst videoID = this.getVimeoVideoID(vid[mode]);\n\t\t\t\t\tif (!videoID) return;\n\n\t\t\t\t\tvid[mode] = `https://player.vimeo.com/video/${videoID}`;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn vid;\n\t\t});\n\n\t\t// Set global CSS vid opacity inherit\n\t\tdocument.body.style.setProperty('--wp-dark-mode-vid-opacity', 1);\n\n\t\t// Get all embedded video files.\n\t\tthis.replaceVideos();\n\t\tthis.adjustEmbeds();\n\t\tthis.setVideoFilters();\n\n\t\t// Replace external hosted videos.\n\t\t// this.\n\n\n\t\tWPDarkMode.onChange(() => {\n\t\t\tthis.replaceVideos();\n\t\t\tthis.setVideoFilters();\n\t\t});\n\t}\n\n\t/**\n\t * Replaces Direct Videos from URL\n\t */\n\treplaceVideos() {\n\t\tconst videos = document.querySelectorAll('video, iframe, video source');\n\n\t\t// Bail, if videos are not set.\n\t\tif (!videos || !videos.length) return;\n\n\t\t// Replace videos.\n\t\tvideos.forEach((video) => {\n\t\t\t// Bail, if video src is not set.\n\t\t\tif (!video.src) return;\n\n\t\t\tlet currentSrc = video.dataset.lightSrc || video.src;\n\n\n\t\t\t// Add wp-dark-mode-ignore class.\n\t\t\tvideo.classList.add('wp-dark-mode-ignore');\n\n\t\t\tif (WPDarkMode.isActive) {\n\t\t\t\tconst darkSrc = this.getDarkSrc(currentSrc);\n\t\t\t\tif (darkSrc) {\n\t\t\t\t\tvideo.dataset.lightSrc = currentSrc;\n\t\t\t\t\tvideo.dataset.darkSrc = darkSrc;\n\t\t\t\t\tvideo.src = darkSrc;\n\t\t\t\t\tvideo.srcset = darkSrc;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst lightSrc = video.dataset.lightSrc;\n\t\t\t\tif (lightSrc) {\n\t\t\t\t\tvideo.src = lightSrc;\n\t\t\t\t\tvideo.srcset = lightSrc;\n\t\t\t\t}\n\t\t\t}\n\n\t\t});\n\t}\n\n\t/**\n\t * Get dark src\n\t * \n\t * @param {string} src \n\t * @returns \n\t */\n\tgetDarkSrc(src = null) {\n\t\t// Bail, if src is not set.\n\t\tif (!src) return;\n\n\t\tconst replaceable_videos = wp_dark_mode_json.options.video_replaces || false;\n\t\tif (!replaceable_videos) return false\n\n\t\tconst videoPair = replaceable_videos.find((vid) => {\n\t\t\t// remove query string from video src\n\t\t\tconst srcWithoutQuery = src.split('?')[0];\n\n\t\t\treturn vid.light === srcWithoutQuery\n\t\t});\n\n\t\tif (!videoPair) return false\n\n\t\treturn videoPair.dark;\n\t}\n\n\t/**\n\t * Adjust embeds\n\t * \n\t */\n\tadjustEmbeds(){\n\t\t// detect all the embeds iframe videos from YouTube and Vimeo\n\t\tconst embeds = document.querySelectorAll('iframe');\n\n\t\t// Bail, if embeds are not set.\n\t\tif (!embeds || !embeds.length) return;\n\n\t\t// Filter embeds.\n\t\tconst embeddedVideos = Array.from(embeds).filter((embed) => {\n\t\t\t// Bail, if embed src is not set.\n\t\t\tif (!embed.src) return false;\n\n\t\t\t// Get video host.\n\t\t\tconst host = this.getVideoHost(embed.src);\n\n\t\t\t// If YouTube or Vimeo, return embed.\n\t\t\tif ('youtube' === host || 'vimeo' === host || 'file' === host) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\n\t\t// Bail, if no embeds are found.\n\t\tif (!embeddedVideos || !embeddedVideos.length) return;\n\n\t\tembeddedVideos.forEach((embed) => {\n\t\t\tif ( !embed || !embed.style ) return;\n\t\t\tembed.style.filter = 'brightness(var(--wp-dark-mode-video-brightness, 100%)) grayscale(var(--wp-dark-mode-video-grayscale, 0%))';\n\t\t});\n\t}\n\n\n\t/**\n\t * Exclude low brightness videos\n\t */\n\tsetVideoFilters() {\n\t\t// Log('Filtering');\n\t\tconst lowBrightnessExcludes = wp_dark_mode_json.options.video_enabled_low_brightness ? wp_dark_mode_json.options.video_low_brightness_excludes : [];\n\t\tconst lowGrayscaleExcludes = wp_dark_mode_json.options.video_enabled_low_grayscale ? wp_dark_mode_json.options.video_low_grayscale_excludes : []\n\n\t\tconst videos = document.querySelectorAll('video, iframe, video source');\n\n\t\tif(videos && videos.length) {\n\t\t\tvideos.forEach((video) => {\n\t\t\t\tconst src = video.src;\n\n\t\t\t\t// Log('video src', src);\n\t\n\t\t\t\tif( lowBrightnessExcludes && lowBrightnessExcludes.includes(src) ) {\n\t\t\t\t\tvideo?.style.setProperty('--wp-dark-mode-video-brightness', '100%');\n\t\t\t\t}\n\t\n\t\t\t\tif( lowGrayscaleExcludes && lowGrayscaleExcludes.includes(src) ) {\n\t\t\t\t\tvideo?.style.setProperty('--wp-dark-mode-video-grayscale', '0');\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t\n\t}\n\n}\n\nexport default new Videos();","/*\n (c) 2011-2015, Vladimir Agafonkin\n SunCalc is a JavaScript library for calculating sun/moon position and light phases.\n https://github.com/mourner/suncalc\n*/\n\n(function () { 'use strict';\n\n// shortcuts for easier to read formulas\n\nvar PI = Math.PI,\n sin = Math.sin,\n cos = Math.cos,\n tan = Math.tan,\n asin = Math.asin,\n atan = Math.atan2,\n acos = Math.acos,\n rad = PI / 180;\n\n// sun calculations are based on http://aa.quae.nl/en/reken/zonpositie.html formulas\n\n\n// date/time constants and conversions\n\nvar dayMs = 1000 * 60 * 60 * 24,\n J1970 = 2440588,\n J2000 = 2451545;\n\nfunction toJulian(date) { return date.valueOf() / dayMs - 0.5 + J1970; }\nfunction fromJulian(j) { return new Date((j + 0.5 - J1970) * dayMs); }\nfunction toDays(date) { return toJulian(date) - J2000; }\n\n\n// general calculations for position\n\nvar e = rad * 23.4397; // obliquity of the Earth\n\nfunction rightAscension(l, b) { return atan(sin(l) * cos(e) - tan(b) * sin(e), cos(l)); }\nfunction declination(l, b) { return asin(sin(b) * cos(e) + cos(b) * sin(e) * sin(l)); }\n\nfunction azimuth(H, phi, dec) { return atan(sin(H), cos(H) * sin(phi) - tan(dec) * cos(phi)); }\nfunction altitude(H, phi, dec) { return asin(sin(phi) * sin(dec) + cos(phi) * cos(dec) * cos(H)); }\n\nfunction siderealTime(d, lw) { return rad * (280.16 + 360.9856235 * d) - lw; }\n\nfunction astroRefraction(h) {\n if (h < 0) // the following formula works for positive altitudes only.\n h = 0; // if h = -0.08901179 a div/0 would occur.\n\n // formula 16.4 of \"Astronomical Algorithms\" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998.\n // 1.02 / tan(h + 10.26 / (h + 5.10)) h in degrees, result in arc minutes -> converted to rad:\n return 0.0002967 / Math.tan(h + 0.00312536 / (h + 0.08901179));\n}\n\n// general sun calculations\n\nfunction solarMeanAnomaly(d) { return rad * (357.5291 + 0.98560028 * d); }\n\nfunction eclipticLongitude(M) {\n\n var C = rad * (1.9148 * sin(M) + 0.02 * sin(2 * M) + 0.0003 * sin(3 * M)), // equation of center\n P = rad * 102.9372; // perihelion of the Earth\n\n return M + C + P + PI;\n}\n\nfunction sunCoords(d) {\n\n var M = solarMeanAnomaly(d),\n L = eclipticLongitude(M);\n\n return {\n dec: declination(L, 0),\n ra: rightAscension(L, 0)\n };\n}\n\n\nvar SunCalc = {};\n\n\n// calculates sun position for a given date and latitude/longitude\n\nSunCalc.getPosition = function (date, lat, lng) {\n\n var lw = rad * -lng,\n phi = rad * lat,\n d = toDays(date),\n\n c = sunCoords(d),\n H = siderealTime(d, lw) - c.ra;\n\n return {\n azimuth: azimuth(H, phi, c.dec),\n altitude: altitude(H, phi, c.dec)\n };\n};\n\n\n// sun times configuration (angle, morning name, evening name)\n\nvar times = SunCalc.times = [\n [-0.833, 'sunrise', 'sunset' ],\n [ -0.3, 'sunriseEnd', 'sunsetStart' ],\n [ -6, 'dawn', 'dusk' ],\n [ -12, 'nauticalDawn', 'nauticalDusk'],\n [ -18, 'nightEnd', 'night' ],\n [ 6, 'goldenHourEnd', 'goldenHour' ]\n];\n\n// adds a custom time to the times config\n\nSunCalc.addTime = function (angle, riseName, setName) {\n times.push([angle, riseName, setName]);\n};\n\n\n// calculations for sun times\n\nvar J0 = 0.0009;\n\nfunction julianCycle(d, lw) { return Math.round(d - J0 - lw / (2 * PI)); }\n\nfunction approxTransit(Ht, lw, n) { return J0 + (Ht + lw) / (2 * PI) + n; }\nfunction solarTransitJ(ds, M, L) { return J2000 + ds + 0.0053 * sin(M) - 0.0069 * sin(2 * L); }\n\nfunction hourAngle(h, phi, d) { return acos((sin(h) - sin(phi) * sin(d)) / (cos(phi) * cos(d))); }\nfunction observerAngle(height) { return -2.076 * Math.sqrt(height) / 60; }\n\n// returns set time for the given sun altitude\nfunction getSetJ(h, lw, phi, dec, n, M, L) {\n\n var w = hourAngle(h, phi, dec),\n a = approxTransit(w, lw, n);\n return solarTransitJ(a, M, L);\n}\n\n\n// calculates sun times for a given date, latitude/longitude, and, optionally,\n// the observer height (in meters) relative to the horizon\n\nSunCalc.getTimes = function (date, lat, lng, height) {\n\n height = height || 0;\n\n var lw = rad * -lng,\n phi = rad * lat,\n\n dh = observerAngle(height),\n\n d = toDays(date),\n n = julianCycle(d, lw),\n ds = approxTransit(0, lw, n),\n\n M = solarMeanAnomaly(ds),\n L = eclipticLongitude(M),\n dec = declination(L, 0),\n\n Jnoon = solarTransitJ(ds, M, L),\n\n i, len, time, h0, Jset, Jrise;\n\n\n var result = {\n solarNoon: fromJulian(Jnoon),\n nadir: fromJulian(Jnoon - 0.5)\n };\n\n for (i = 0, len = times.length; i < len; i += 1) {\n time = times[i];\n h0 = (time[0] + dh) * rad;\n\n Jset = getSetJ(h0, lw, phi, dec, n, M, L);\n Jrise = Jnoon - (Jset - Jnoon);\n\n result[time[1]] = fromJulian(Jrise);\n result[time[2]] = fromJulian(Jset);\n }\n\n return result;\n};\n\n\n// moon calculations, based on http://aa.quae.nl/en/reken/hemelpositie.html formulas\n\nfunction moonCoords(d) { // geocentric ecliptic coordinates of the moon\n\n var L = rad * (218.316 + 13.176396 * d), // ecliptic longitude\n M = rad * (134.963 + 13.064993 * d), // mean anomaly\n F = rad * (93.272 + 13.229350 * d), // mean distance\n\n l = L + rad * 6.289 * sin(M), // longitude\n b = rad * 5.128 * sin(F), // latitude\n dt = 385001 - 20905 * cos(M); // distance to the moon in km\n\n return {\n ra: rightAscension(l, b),\n dec: declination(l, b),\n dist: dt\n };\n}\n\nSunCalc.getMoonPosition = function (date, lat, lng) {\n\n var lw = rad * -lng,\n phi = rad * lat,\n d = toDays(date),\n\n c = moonCoords(d),\n H = siderealTime(d, lw) - c.ra,\n h = altitude(H, phi, c.dec),\n // formula 14.1 of \"Astronomical Algorithms\" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998.\n pa = atan(sin(H), tan(phi) * cos(c.dec) - sin(c.dec) * cos(H));\n\n h = h + astroRefraction(h); // altitude correction for refraction\n\n return {\n azimuth: azimuth(H, phi, c.dec),\n altitude: h,\n distance: c.dist,\n parallacticAngle: pa\n };\n};\n\n\n// calculations for illumination parameters of the moon,\n// based on http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mphase.pro formulas and\n// Chapter 48 of \"Astronomical Algorithms\" 2nd edition by Jean Meeus (Willmann-Bell, Richmond) 1998.\n\nSunCalc.getMoonIllumination = function (date) {\n\n var d = toDays(date || new Date()),\n s = sunCoords(d),\n m = moonCoords(d),\n\n sdist = 149598000, // distance from Earth to Sun in km\n\n phi = acos(sin(s.dec) * sin(m.dec) + cos(s.dec) * cos(m.dec) * cos(s.ra - m.ra)),\n inc = atan(sdist * sin(phi), m.dist - sdist * cos(phi)),\n angle = atan(cos(s.dec) * sin(s.ra - m.ra), sin(s.dec) * cos(m.dec) -\n cos(s.dec) * sin(m.dec) * cos(s.ra - m.ra));\n\n return {\n fraction: (1 + cos(inc)) / 2,\n phase: 0.5 + 0.5 * inc * (angle < 0 ? -1 : 1) / Math.PI,\n angle: angle\n };\n};\n\n\nfunction hoursLater(date, h) {\n return new Date(date.valueOf() + h * dayMs / 24);\n}\n\n// calculations for moon rise/set times are based on http://www.stargazing.net/kepler/moonrise.html article\n\nSunCalc.getMoonTimes = function (date, lat, lng, inUTC) {\n var t = new Date(date);\n if (inUTC) t.setUTCHours(0, 0, 0, 0);\n else t.setHours(0, 0, 0, 0);\n\n var hc = 0.133 * rad,\n h0 = SunCalc.getMoonPosition(t, lat, lng).altitude - hc,\n h1, h2, rise, set, a, b, xe, ye, d, roots, x1, x2, dx;\n\n // go in 2-hour chunks, each time seeing if a 3-point quadratic curve crosses zero (which means rise or set)\n for (var i = 1; i <= 24; i += 2) {\n h1 = SunCalc.getMoonPosition(hoursLater(t, i), lat, lng).altitude - hc;\n h2 = SunCalc.getMoonPosition(hoursLater(t, i + 1), lat, lng).altitude - hc;\n\n a = (h0 + h2) / 2 - h1;\n b = (h2 - h0) / 2;\n xe = -b / (2 * a);\n ye = (a * xe + b) * xe + h1;\n d = b * b - 4 * a * h1;\n roots = 0;\n\n if (d >= 0) {\n dx = Math.sqrt(d) / (Math.abs(a) * 2);\n x1 = xe - dx;\n x2 = xe + dx;\n if (Math.abs(x1) <= 1) roots++;\n if (Math.abs(x2) <= 1) roots++;\n if (x1 < -1) x1 = x2;\n }\n\n if (roots === 1) {\n if (h0 < 0) rise = i + x1;\n else set = i + x1;\n\n } else if (roots === 2) {\n rise = i + (ye < 0 ? x2 : x1);\n set = i + (ye < 0 ? x1 : x2);\n }\n\n if (rise && set) break;\n\n h0 = h2;\n }\n\n var result = {};\n\n if (rise) result.rise = hoursLater(t, rise);\n if (set) result.set = hoursLater(t, set);\n\n if (!rise && !set) result[ye > 0 ? 'alwaysUp' : 'alwaysDown'] = true;\n\n return result;\n};\n\n\n// export as Node module / AMD module / browser variable\nif (typeof exports === 'object' && typeof module !== 'undefined') module.exports = SunCalc;\nelse if (typeof define === 'function' && define.amd) define(SunCalc);\nelse window.SunCalc = SunCalc;\n\n}());\n","import WPDarkMode from \"./WPDarkMode\";\nimport Store from \"./Store\";\nimport Accessibility from \"./Accessibility\";\nimport Color from \"./Color\";\nimport Base from \"./Base\";\nimport Image from \"./Images\";\nimport Video from \"./Videos\";\nimport SunCalc from \"suncalc\";\n\nclass DarkModeApp extends Base {\n\n\t/**\n\t * Events\n\t */\n\tasync events() {\n\t\t// Sync storages.\n\t\tthis.syncStorage();\n\n\t\t// Try applying dark mode.\n\t\tthis.tryApplyingDarkMode();\n\n\t\t// Register event listeners.\n\t\tthis.registerEvents();\n\n\t\treturn this;\n\t}\n\n\t/**\n\t * Get user choice.\n\t *\n\t * @return {string}\n\t */\n\tget hasUserChoice() {\n\t\treturn null !== Store.get('choice');\n\t}\n\n\t/**\n\t * Sync storages\n\t */\n\tsyncStorage() {\n\t\t/**\n\t\t * Device preference for dark mode\n\t\t */\n\t\tStore.set('device', WPDarkMode.isDeviceDark ? 'dark' : 'light');\n\n\t\t/**\n\t\t * These are premium features\n\t\t */\n\t\tif (!this.isPremium) return;\n\n\t\t/**\n\t\t * Timezone of device, used for Time based dark mode\n\t\t */\n\t\tlet timeZoneOffset = (new Date().getTimezoneOffset() / 60);\n\n\t\t// Add + sign if offset is negative. Add - sign if offset is positive.\n\t\tif (timeZoneOffset > 0) {\n\t\t\ttimeZoneOffset = '-' + timeZoneOffset;\n\t\t} else {\n\t\t\ttimeZoneOffset = '+' + Math.abs(Number(timeZoneOffset));\n\t\t}\n\n\t\tStore.set('timezone', timeZoneOffset);\n\n\t\t/**\n\t\t * Location of device, used for sunset based dark mode\n\t\t * Ask, only if sunset mode is enabled.\n\t\t */\n\t\tif (wp_dark_mode_json.options.frontend_mode === 'sunset') {\n\t\t\tthis.syncDeviceLocation()\n\t\t}\n\t}\n\n\t/**\n\t * Update device location\n\t */\n\tasync syncDeviceLocation() {\n\n\t\t// Check if location was updated in last 24 hours.\n\t\tconst locationUpdated = Store.get('location-updated');\n\n\t\t// Bail if location was updated in last 24 hours.\n\t\tif (locationUpdated) {\n\t\t\tif (((new Date()) - (new Date().setTime(locationUpdated))) < (24 * 60 * 60 * 1000)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// Bail, if navigator is not available or geolocation is not supported.\n\t\tif (!navigator || !navigator.geolocation) {\n\t\t\treturn;\n\t\t}\n\n\t\tnavigator.geolocation.getCurrentPosition((position) => {\n\t\t\t// Save location for dark mode.\n\t\t\tStore.set('location', position.coords.latitude + ',' + position.coords.longitude);\n\n\t\t\t// Save location update time.\n\t\t\tStore.set('location-updated', new Date().getTime());\n\n\t\t\t// Apply sunset mode if it is enabled.\n\t\t\tif ( wp_dark_mode_json.options.frontend_mode === 'sunset' && this.isPremium ) {\n\t\t\t\tthis.applySunsetMode();\n\t\t\t}\n\t\t});\n\n\t}\n\n\t/**\n\t * Register event listeners\n\t */\n\tregisterEvents() {\n\n\t\t// Adjust presets, colors, exclude elements, etc.\n\t\tColor.init();\n\n\t\tAccessibility.init();\n\n\t\t// Replace images.\n\t\tImage.init();\n\n\t\t// Replace videos.\n\t\tVideo.init();\n\n\t\t// Track device settings.\n\t\tthis.followDevice();\n\t}\n\n\t/**\n\t * Listen for device dark mode change\n\t */\n\tfollowDevice() {\n\t\t// Bail, if dark mode is not following device mode.\n\t\tif (wp_dark_mode_json.options.frontend_mode !== 'device') return;\n\n\t\t// Bail, if device mode change is not supported.\n\t\tif (!window || !window.matchMedia) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaQuery = matchMedia('(prefers-color-scheme: dark)');\n\n\t\tif (!mediaQuery) return false;\n\n\t\tconst checkSystemMode = () => {\n\t\t\t// React to device preference change.\n\t\t\tif (mediaQuery.matches) {\n\t\t\t\tWPDarkMode.activate();\n\t\t\t} else {\n\t\t\t\tWPDarkMode.deactivate();\n\t\t\t}\n\t\t}\n\n\t\tmediaQuery.addEventListener('change', function () {\n\n\t\t\t// Update user device preference.\n\t\t\tStore.set('device', mediaQuery.matches ? 'dark' : 'light');\n\n\t\t\t// React to device preference change.\n\n\t\t\t// Bail, if user choice is set.\n\t\t\tif (Store.get('choice') !== null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcheckSystemMode()\n\t\t});\n\n\t\t// Check system mode on load.\n\t\tif (!WPDarkMode.isActive && !this.hasUserChoice) {\n\t\t\tcheckSystemMode()\n\t\t}\n\t}\n\n\t/**\n\t * Try applying dark mode.\n\t *\n\t * @return {Promise<void>}\n\t * @private\n\t */\n\tasync tryApplyingDarkMode() {\n\n\t\treturn new Promise(async (resolve) => {\n\n\t\t\t// Bail, if caching is not excluded.\n\t\t\tconst res = await fetch( wp_dark_mode_json.url.ajax + '?action=wp_dark_mode_options&nonce=' + wp_dark_mode_json.nonce)\n\t\t\tconst data = await res.json()\n\n\t\t\tif ( ! this.isTrue( data.data.performance_exclude_cache ) ) {\n\t\t\t\tresolve(true);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Bail, if current page is excluded from dark mode.\n\t\t\tif ( ! this.isTrue( wp_dark_mode_json.options.frontend_enabled ) ) {\n\t\t\t\tresolve(true);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\t// Apply dark mode, if user choice is set.\n\t\t\tif (this.hasUserChoice) {\n\t\t\t\tif ( 'dark' == Store.get('choice') ) {\n\t\t\t\t\tWPDarkMode.activate();\n\t\t\t\t} else {\n\t\t\t\t\tWPDarkMode.deactivate();\n\t\t\t\t}\n\n\t\t\t\tresolve(true);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check and apply selected mode.\n\t\t\tswitch (wp_dark_mode_json.options.frontend_mode) {\n\t\t\t\tcase 'default_light':\n\t\t\t\t\tWPDarkMode.deactivate();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\tcase 'default':\n\t\t\t\t\tWPDarkMode.activate();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'device':\n\n\t\t\t\t\tif (WPDarkMode.isDeviceDark) {\n\t\t\t\t\t\tWPDarkMode.activate();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tWPDarkMode.deactivate();\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'time':\n\n\t\t\t\t\t// Bail, if user is not premium.\n\t\t\t\t\tif (!this.isPremium) {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst starts = wp_dark_mode_json.options.frontend_time_starts;\n\t\t\t\t\tconst ends = wp_dark_mode_json.options.frontend_time_ends;\n\n\t\t\t\t\t// Helper function to convert \"hh:mm AA\" format to minutes since midnight\n\t\t\t\t\tfunction timeToMinutes(time) {\n\t\t\t\t\t\tconst [timePart, period] = time.split(' ');\n\t\t\t\t\t\tlet [hours, minutes] = timePart.split(':').map(Number);\n\n\t\t\t\t\t\t// Convert to 24-hour format\n\t\t\t\t\t\tif (period === 'PM' && hours !== 12) {\n\t\t\t\t\t\t\thours += 12;\n\t\t\t\t\t\t} else if (period === 'AM' && hours === 12) {\n\t\t\t\t\t\t\thours = 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn hours * 60 + minutes;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Get the current time in minutes since midnight\n\t\t\t\t\tconst now = new Date();\n\t\t\t\t\tconst currentMinutes = now.getHours() * 60 + now.getMinutes();\n\n\t\t\t\t\tconst startMinutes = timeToMinutes(starts);\n\t\t\t\t\tconst endMinutes = timeToMinutes(ends);\n\n\t\t\t\t\tlet isDarkMode = false;\n\n\t\t\t\t\t// Check if current time is between start and end time\n\t\t\t\t\tif (startMinutes < endMinutes) {\n\t\t\t\t\t\t// Time range is within the same day\n\t\t\t\t\t\tif (currentMinutes >= startMinutes && currentMinutes < endMinutes) {\n\t\t\t\t\t\t\tisDarkMode = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Time range spans across midnight\n\t\t\t\t\t\tif (currentMinutes >= startMinutes || currentMinutes < endMinutes) {\n\t\t\t\t\t\t\tisDarkMode = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (isDarkMode) {\n\t\t\t\t\t\tWPDarkMode.activate();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tWPDarkMode.deactivate();\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'sunset':\n\n\t\t\t\t\t// Bail, if user is not premium.\n\t\t\t\t\tif (!this.isPremium) {\n\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tawait this.applySunsetMode();\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tresolve(true)\n\n\t\t});\n\t}\n\n\tasync applySunsetMode() {\n\t\t// Get sunset time.\n\t\tconst loc = Store.get('location').split(',').map(Number);\n\t\tlet { sunrise, sunset } = SunCalc.getTimes(new Date(), loc[0], loc[1]);\n\t\t\n\t\t// Get current time.\n\t\tconst now = new Date();\n\n\t\t// Check if it is night time.\n\t\tconst isNight = now > sunset || now < sunrise;\n\n\t\t// Apply dark mode, if it is night time.\n\t\tif (isNight) {\n\t\t\tWPDarkMode.activate();\n\t\t} else {\n\t\t\tWPDarkMode.deactivate();\n\t\t}\n\t}\n\n}\n\nexport default new DarkModeApp();","export const HalfMoonFilled = `<svg viewBox=\"0 0 30 30\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.8956 0.505198C11.2091 0.818744 11.3023 1.29057 11.1316 1.69979C10.4835 3.25296 10.125 4.95832 10.125 6.75018C10.125 13.9989 16.0013 19.8752 23.25 19.8752C25.0419 19.8752 26.7472 19.5167 28.3004 18.8686C28.7096 18.6979 29.1814 18.7911 29.495 19.1046C29.8085 19.4182 29.9017 19.89 29.731 20.2992C27.4235 25.8291 21.9642 29.7189 15.5938 29.7189C7.13689 29.7189 0.28125 22.8633 0.28125 14.4064C0.28125 8.036 4.17113 2.57666 9.70097 0.269199C10.1102 0.098441 10.582 0.191653 10.8956 0.505198Z\" fill=\"currentColor\"/></svg>`\n\nexport const HalfMoonOutlined = `<svg viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path d=\"M23.3773 16.5026C22.0299 17.0648 20.5512 17.3753 19 17.3753C12.7178 17.3753 7.625 12.2826 7.625 6.00031C7.625 4.44912 7.9355 2.97044 8.49773 1.62305C4.38827 3.33782 1.5 7.39427 1.5 12.1253C1.5 18.4076 6.59276 23.5003 12.875 23.5003C17.606 23.5003 21.6625 20.612 23.3773 16.5026Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>`\n\nexport const StarMoonFilled = `<svg viewBox=\"0 0 23 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path d=\"M6.11767 1.57622C8.52509 0.186296 11.2535 -0.171447 13.8127 0.36126C13.6914 0.423195 13.5692 0.488292 13.4495 0.557448C9.41421 2.88721 8.09657 8.15546 10.503 12.3234C12.9105 16.4934 18.1326 17.9833 22.1658 15.6547C22.2856 15.5855 22.4031 15.5123 22.5174 15.4382C21.6991 17.9209 20.0251 20.1049 17.6177 21.4948C12.2943 24.5683 5.40509 22.5988 2.23017 17.0997C-0.947881 11.5997 0.79427 4.64968 6.11767 1.57622ZM4.77836 10.2579C4.70178 10.3021 4.6784 10.4022 4.72292 10.4793C4.76861 10.5585 4.86776 10.5851 4.94238 10.542C5.01896 10.4978 5.04235 10.3977 4.99783 10.3206C4.95331 10.2435 4.85495 10.2137 4.77836 10.2579ZM14.0742 19.6608C14.1508 19.6166 14.1741 19.5165 14.1296 19.4394C14.0839 19.3603 13.9848 19.3336 13.9102 19.3767C13.8336 19.4209 13.8102 19.521 13.8547 19.5981C13.8984 19.6784 13.9976 19.705 14.0742 19.6608ZM6.11345 5.87243C6.19003 5.82822 6.21341 5.72814 6.16889 5.65103C6.1232 5.57189 6.02405 5.54526 5.94943 5.58835C5.87285 5.63256 5.84947 5.73264 5.89399 5.80975C5.93654 5.88799 6.03687 5.91665 6.11345 5.87243ZM9.42944 18.3138C9.50603 18.2696 9.52941 18.1695 9.48489 18.0924C9.4392 18.0133 9.34004 17.9867 9.26543 18.0297C9.18885 18.074 9.16546 18.174 9.20998 18.2511C9.25254 18.3294 9.35286 18.358 9.42944 18.3138ZM6.25969 15.1954L7.35096 16.3781L6.87234 14.8416L8.00718 13.7644L6.50878 14.2074L5.41751 13.0247L5.89613 14.5611L4.76326 15.6372L6.25969 15.1954Z\" fill=\"white\"/>\n</svg>`\n\nexport const StarMoonOutlined = `<svg viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path d=\"M22.6583 15.6271C21.4552 16.1291 20.135 16.4063 18.75 16.4063C13.1409 16.4063 8.59375 11.8592 8.59375 6.25007C8.59375 4.86507 8.87098 3.54483 9.37297 2.3418C5.70381 3.87285 3.125 7.49468 3.125 11.7188C3.125 17.328 7.67211 21.8751 13.2812 21.8751C17.5054 21.8751 21.1272 19.2963 22.6583 15.6271Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<circle cx=\"16\" cy=\"3\" r=\"1\" fill=\"currentColor\"/>\n<circle cx=\"24\" cy=\"5\" r=\"1\" fill=\"currentColor\"/>\n<circle cx=\"20\" cy=\"11\" r=\"1\" fill=\"currentColor\"/>\n</svg>`\n\nexport const FullMoonFilled = `<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path d=\"M8 14.4C8.0896 14.4 8.0896 10.1336 8 1.6C6.30261 1.6 4.67475 2.27428 3.47452 3.47452C2.27428 4.67475 1.6 6.30261 1.6 8C1.6 9.69739 2.27428 11.3253 3.47452 12.5255C4.67475 13.7257 6.30261 14.4 8 14.4ZM8 16C3.5816 16 0 12.4184 0 8C0 3.5816 3.5816 0 8 0C12.4184 0 16 3.5816 16 8C16 12.4184 12.4184 16 8 16Z\" fill=\"currentColor\"/>\n</svg>`\n\nexport const RichSunOutlined = `<svg viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\"> <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.39113 2.94568C7.21273 2.94568 7.06816 2.80111 7.06816 2.62271V0.322968C7.06816 0.144567 7.21273 0 7.39113 0C7.56953 0 7.7141 0.144567 7.7141 0.322968V2.62271C7.7141 2.80111 7.56953 2.94568 7.39113 2.94568ZM7.39105 11.5484C6.84467 11.5484 6.31449 11.4414 5.81517 11.2302C5.33308 11.0262 4.9002 10.7344 4.52843 10.3628C4.15665 9.99108 3.86485 9.5582 3.66103 9.07611C3.44981 8.57679 3.34277 8.04661 3.34277 7.50023C3.34277 6.95385 3.44981 6.42367 3.66103 5.92435C3.86496 5.44225 4.15676 5.00937 4.52843 4.6377C4.9001 4.26603 5.33298 3.97413 5.81507 3.7703C6.31439 3.55909 6.84457 3.45205 7.39095 3.45205C7.93733 3.45205 8.46751 3.55909 8.96683 3.7703C9.44893 3.97423 9.88181 4.26603 10.2535 4.6377C10.6251 5.00937 10.917 5.44225 11.1209 5.92435C11.3321 6.42367 11.4391 6.95385 11.4391 7.50023C11.4391 8.04661 11.3321 8.57679 11.1209 9.07611C10.9169 9.5582 10.6251 9.99108 10.2535 10.3628C9.88181 10.7344 9.44893 11.0263 8.96683 11.2302C8.46761 11.4414 7.93743 11.5484 7.39105 11.5484ZM7.39105 4.09778C5.51497 4.09778 3.98871 5.62404 3.98871 7.50013C3.98871 9.37621 5.51497 10.9025 7.39105 10.9025C9.26714 10.9025 10.7934 9.37621 10.7934 7.50013C10.7934 5.62404 9.26714 4.09778 7.39105 4.09778ZM5.41926 3.02731C5.46693 3.15845 5.59079 3.23985 5.72274 3.23985C5.75935 3.23985 5.79667 3.2336 5.83317 3.22037C6.0008 3.15937 6.08724 2.9741 6.02623 2.80646L5.23962 0.645342C5.17862 0.477706 4.99335 0.391273 4.82571 0.452278C4.65808 0.513283 4.57164 0.698554 4.63265 0.86619L5.41926 3.02731ZM4.25602 4.08639C4.16384 4.08639 4.07228 4.04713 4.00841 3.97105L2.53013 2.20928C2.41551 2.07261 2.43335 1.86888 2.56992 1.75426C2.70659 1.63963 2.91031 1.65747 3.02494 1.79404L4.50322 3.5558C4.61784 3.69248 4.6 3.8962 4.46343 4.01083C4.40294 4.06158 4.32922 4.08639 4.25602 4.08639ZM3.00535 5.34148C3.0562 5.3709 3.11177 5.38485 3.16652 5.38485C3.27808 5.38485 3.38665 5.32692 3.44643 5.22326C3.53563 5.06875 3.48273 4.87128 3.32821 4.78208L1.33657 3.63221C1.18206 3.543 0.98459 3.59591 0.895389 3.75042C0.806188 3.90493 0.859094 4.10241 1.01361 4.19161L3.00535 5.34148ZM2.58819 6.97619C2.56953 6.97619 2.55067 6.97455 2.5317 6.97126L0.266921 6.57191C0.0912879 6.54095 -0.0260062 6.37341 0.00495775 6.19778C0.0359217 6.02215 0.203455 5.90485 0.379088 5.93582L2.64387 6.33507C2.8195 6.36603 2.93679 6.53357 2.90583 6.7092C2.87825 6.86597 2.74199 6.97619 2.58819 6.97619ZM0.00495775 8.80286C0.0325382 8.95962 0.1688 9.06984 0.322595 9.06984C0.341153 9.06984 0.36012 9.0682 0.379088 9.06482L2.64387 8.66547C2.8195 8.6345 2.93679 8.46697 2.90583 8.29134C2.87486 8.1157 2.70733 7.99841 2.5317 8.02937L0.266921 8.42873C0.0912879 8.45969 -0.0260062 8.62722 0.00495775 8.80286ZM1.1754 11.4112C1.06374 11.4112 0.955266 11.3533 0.895389 11.2496C0.806188 11.0951 0.859094 10.8976 1.01361 10.8084L3.00524 9.65857C3.15965 9.56937 3.35723 9.62228 3.44643 9.77679C3.53563 9.9313 3.48273 10.1288 3.32821 10.218L1.33657 11.3678C1.28572 11.3972 1.23025 11.4112 1.1754 11.4112ZM2.56995 13.2452C2.63044 13.296 2.70406 13.3208 2.77737 13.3208C2.86954 13.3208 2.9611 13.2815 3.02498 13.2055L4.50325 11.4437C4.61788 11.307 4.60014 11.1033 4.46347 10.9887C4.3268 10.874 4.12307 10.8918 4.00844 11.0284L2.53017 12.7902C2.41554 12.9269 2.43328 13.1306 2.56995 13.2452ZM4.93614 14.5672C4.89943 14.5672 4.86221 14.5609 4.82571 14.5476C4.65808 14.4866 4.57164 14.3012 4.63265 14.1337L5.41926 11.9725C5.48026 11.8049 5.66564 11.7185 5.83317 11.7795C6.0008 11.8405 6.08724 12.0259 6.02623 12.1934L5.23962 14.3545C5.19195 14.4857 5.06809 14.5672 4.93614 14.5672ZM7.06836 14.6774C7.06836 14.8558 7.21293 15.0004 7.39133 15.0004C7.56973 15.0004 7.7143 14.8558 7.7143 14.6774V12.3777C7.7143 12.1993 7.56973 12.0547 7.39133 12.0547C7.21293 12.0547 7.06836 12.1993 7.06836 12.3777V14.6774ZM9.84569 14.5672C9.71374 14.5672 9.58988 14.4857 9.54221 14.3545L8.7556 12.1934C8.69459 12.0258 8.78103 11.8405 8.94866 11.7795C9.1163 11.7185 9.30157 11.8049 9.36257 11.9725L10.1492 14.1337C10.2102 14.3013 10.1238 14.4866 9.95612 14.5476C9.91962 14.5609 9.8823 14.5672 9.84569 14.5672ZM11.757 13.2056C11.8209 13.2816 11.9125 13.3209 12.0046 13.3209C12.0779 13.3209 12.1516 13.2961 12.2121 13.2454C12.3486 13.1307 12.3665 12.927 12.2518 12.7903L10.7736 11.0286C10.6589 10.892 10.4552 10.8741 10.3185 10.9888C10.182 11.1034 10.1641 11.3071 10.2788 11.4438L11.757 13.2056ZM13.6064 11.4112C13.5516 11.4112 13.496 11.3973 13.4452 11.3678L11.4535 10.218C11.299 10.1288 11.2461 9.9313 11.3353 9.77679C11.4245 9.62228 11.622 9.56937 11.7765 9.65857L13.7682 10.8084C13.9227 10.8976 13.9756 11.0951 13.8864 11.2496C13.8265 11.3533 13.718 11.4112 13.6064 11.4112ZM14.4029 9.06482C14.4219 9.0681 14.4407 9.06974 14.4594 9.06974C14.6132 9.06974 14.7494 8.95942 14.777 8.80286C14.808 8.62722 14.6907 8.45969 14.5151 8.42873L12.2502 8.02937C12.0745 7.99841 11.907 8.1157 11.8761 8.29134C11.8451 8.46697 11.9624 8.6345 12.138 8.66547L14.4029 9.06482ZM12.194 6.976C12.0402 6.976 11.9039 6.86578 11.8763 6.70901C11.8454 6.53337 11.9627 6.36584 12.1383 6.33488L14.4032 5.93552C14.5788 5.90456 14.7464 6.02185 14.7773 6.19749C14.8083 6.37312 14.691 6.54065 14.5154 6.57162L12.2505 6.97097C12.2315 6.97435 12.2126 6.976 12.194 6.976ZM11.3353 5.22326C11.3952 5.32692 11.5037 5.38485 11.6153 5.38485C11.6702 5.38485 11.7257 5.3709 11.7765 5.34148L13.7682 4.19161C13.9227 4.10241 13.9756 3.90493 13.8864 3.75042C13.7972 3.59591 13.5996 3.543 13.4452 3.63221L11.4535 4.78208C11.299 4.87128 11.2461 5.06875 11.3353 5.22326ZM10.5259 4.08647C10.4526 4.08647 10.379 4.06166 10.3185 4.01091C10.1818 3.89628 10.1641 3.69255 10.2787 3.55588L11.757 1.79411C11.8716 1.65744 12.0753 1.6396 12.212 1.75433C12.3487 1.86896 12.3664 2.07269 12.2518 2.20936L10.7735 3.97102C10.7096 4.0472 10.6181 4.08647 10.5259 4.08647ZM8.94866 3.22037C8.98516 3.2337 9.02238 3.23996 9.05909 3.23996C9.19094 3.23996 9.3148 3.15855 9.36257 3.02731L10.1492 0.86619C10.2102 0.698657 10.1237 0.513283 9.95612 0.452278C9.78858 0.391273 9.60321 0.477706 9.54221 0.645342L8.7556 2.80646C8.69459 2.97399 8.78103 3.15937 8.94866 3.22037Z\" fill=\"currentColor\"/> </svg>`\n\nexport const RichSunFilled = `<svg viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.9999 3.73644C11.1951 3.73644 11.3548 3.57676 11.3548 3.3816V0.354838C11.3548 0.159677 11.1951 0 10.9999 0C10.8048 0 10.6451 0.159677 10.6451 0.354838V3.38515C10.6451 3.58031 10.8048 3.73644 10.9999 3.73644ZM10.9998 4.61291C7.47269 4.61291 4.6127 7.4729 4.6127 11C4.6127 14.5271 7.47269 17.3871 10.9998 17.3871C14.5269 17.3871 17.3868 14.5271 17.3868 11C17.3868 7.4729 14.5269 4.61291 10.9998 4.61291ZM10.9998 6.3871C8.45559 6.3871 6.38688 8.4558 6.38688 11C6.38688 11.1951 6.22721 11.3548 6.03205 11.3548C5.83688 11.3548 5.67721 11.1951 5.67721 11C5.67721 8.06548 8.06526 5.67742 10.9998 5.67742C11.1949 5.67742 11.3546 5.8371 11.3546 6.03226C11.3546 6.22742 11.1949 6.3871 10.9998 6.3871ZM10.6451 18.6184C10.6451 18.4232 10.8048 18.2635 10.9999 18.2635C11.1951 18.2635 11.3548 18.4197 11.3548 18.6148V21.6451C11.3548 21.8403 11.1951 22 10.9999 22C10.8048 22 10.6451 21.8403 10.6451 21.6451V18.6184ZM6.88367 4.58091C6.95109 4.69446 7.06819 4.75833 7.19238 4.75833C7.2527 4.75833 7.31302 4.74414 7.3698 4.7122C7.54012 4.61285 7.59689 4.3964 7.50109 4.22608L5.98593 1.60383C5.88658 1.43351 5.67013 1.37673 5.4998 1.47254C5.32948 1.57189 5.27271 1.78834 5.36851 1.95867L6.88367 4.58091ZM14.6298 17.2877C14.8001 17.1919 15.0166 17.2487 15.1159 17.419L16.6311 20.0413C16.7269 20.2116 16.6701 20.428 16.4998 20.5274C16.443 20.5593 16.3827 20.5735 16.3224 20.5735C16.1982 20.5735 16.0811 20.5096 16.0137 20.3961L14.4985 17.7738C14.4027 17.6035 14.4595 17.3871 14.6298 17.2877ZM1.60383 5.98611L4.22608 7.50127C4.28285 7.5332 4.34317 7.5474 4.4035 7.5474C4.52769 7.5474 4.64478 7.48353 4.7122 7.36998C4.81156 7.19966 4.75124 6.98321 4.58091 6.88385L1.95867 5.36869C1.78834 5.26934 1.57189 5.32966 1.47254 5.49998C1.37673 5.67031 1.43351 5.88676 1.60383 5.98611ZM17.774 14.4986L20.3963 16.0137C20.5666 16.1131 20.6234 16.3295 20.5276 16.4999C20.4601 16.6134 20.3431 16.6773 20.2189 16.6773C20.1585 16.6773 20.0982 16.6631 20.0414 16.6312L17.4192 15.116C17.2489 15.0166 17.1885 14.8002 17.2879 14.6299C17.3873 14.4596 17.6037 14.3992 17.774 14.4986ZM3.73644 10.9999C3.73644 10.8048 3.57676 10.6451 3.3816 10.6451H0.354837C0.159677 10.6451 0 10.8048 0 10.9999C0 11.1951 0.159677 11.3548 0.354837 11.3548H3.38515C3.58031 11.3548 3.73644 11.1951 3.73644 10.9999ZM18.6148 10.6451H21.6451C21.8403 10.6451 22 10.8048 22 10.9999C22 11.1951 21.8403 11.3548 21.6451 11.3548H18.6148C18.4197 11.3548 18.26 11.1951 18.26 10.9999C18.26 10.8048 18.4197 10.6451 18.6148 10.6451ZM4.7122 14.6299C4.61285 14.4596 4.3964 14.4028 4.22608 14.4986L1.60383 16.0138C1.43351 16.1131 1.37673 16.3296 1.47254 16.4999C1.53996 16.6135 1.65705 16.6773 1.78125 16.6773C1.84157 16.6773 1.90189 16.6631 1.95867 16.6312L4.58091 15.116C4.75124 15.0167 4.80801 14.8002 4.7122 14.6299ZM17.5963 7.54732C17.4721 7.54732 17.355 7.48345 17.2876 7.36991C17.1918 7.19958 17.2486 6.98313 17.4189 6.88378L20.0412 5.36862C20.2115 5.27282 20.4279 5.32959 20.5273 5.49991C20.6231 5.67023 20.5663 5.88669 20.396 5.98604L17.7737 7.5012C17.717 7.53313 17.6566 7.54732 17.5963 7.54732ZM7.37009 17.2877C7.19976 17.1883 6.98331 17.2487 6.88396 17.419L5.3688 20.0412C5.26945 20.2115 5.32977 20.428 5.50009 20.5274C5.55687 20.5593 5.61719 20.5735 5.67751 20.5735C5.8017 20.5735 5.9188 20.5096 5.98622 20.3961L7.50138 17.7738C7.59718 17.6035 7.54041 17.387 7.37009 17.2877ZM14.8072 4.7583C14.7469 4.7583 14.6866 4.7441 14.6298 4.71217C14.4595 4.61281 14.4027 4.39636 14.4985 4.22604L16.0137 1.60379C16.113 1.43347 16.3295 1.37315 16.4998 1.4725C16.6701 1.57186 16.7304 1.78831 16.6311 1.95863L15.1159 4.58088C15.0485 4.69443 14.9314 4.7583 14.8072 4.7583ZM8.68659 3.73643C8.72917 3.89611 8.87111 3.99901 9.02724 3.99901C9.05917 3.99901 9.08756 3.99546 9.11949 3.98837C9.30756 3.93869 9.4211 3.74353 9.37143 3.55546L8.86401 1.65708C8.81433 1.46902 8.61917 1.35547 8.43111 1.40515C8.24304 1.45483 8.1295 1.64999 8.17917 1.83805L8.68659 3.73643ZM12.8805 18.0152C13.0686 17.9655 13.2637 18.079 13.3134 18.2671L13.8208 20.1655C13.8705 20.3535 13.757 20.5487 13.5689 20.5984C13.537 20.6055 13.5086 20.609 13.4766 20.609C13.3205 20.609 13.1786 20.5061 13.136 20.3464L12.6286 18.4481C12.5789 18.26 12.6925 18.0648 12.8805 18.0152ZM5.36172 5.86548C5.43269 5.93645 5.5214 5.96838 5.61365 5.96838C5.70591 5.96838 5.79462 5.9329 5.86559 5.86548C6.00397 5.72709 6.00397 5.50355 5.86559 5.36516L4.47817 3.97775C4.33979 3.83936 4.11624 3.83936 3.97785 3.97775C3.83947 4.11613 3.83947 4.33968 3.97785 4.47807L5.36172 5.86548ZM16.138 16.1346C16.2764 15.9962 16.4999 15.9962 16.6383 16.1346L18.0293 17.522C18.1677 17.6604 18.1677 17.8839 18.0293 18.0223C17.9583 18.0897 17.8696 18.1252 17.7774 18.1252C17.6851 18.1252 17.5964 18.0933 17.5254 18.0223L16.138 16.6349C15.9996 16.4965 15.9996 16.273 16.138 16.1346ZM1.65365 8.86392L3.55203 9.37134C3.58396 9.37843 3.61235 9.38198 3.64429 9.38198C3.80041 9.38198 3.94235 9.27908 3.98493 9.1194C4.03461 8.93134 3.92461 8.73618 3.73299 8.6865L1.83461 8.17908C1.64655 8.1294 1.45139 8.2394 1.40171 8.43102C1.35203 8.61908 1.46558 8.81069 1.65365 8.86392ZM18.4517 12.6287L20.3466 13.1361C20.5346 13.1894 20.6482 13.381 20.5985 13.569C20.5595 13.7287 20.414 13.8316 20.2578 13.8316C20.2259 13.8316 20.1975 13.8281 20.1656 13.821L18.2708 13.3135C18.0791 13.2639 17.9691 13.0687 18.0188 12.8806C18.0685 12.689 18.2637 12.579 18.4517 12.6287ZM1.74579 13.835C1.77773 13.835 1.80612 13.8315 1.83805 13.8244L3.73643 13.317C3.9245 13.2673 4.03804 13.0721 3.98837 12.8841C3.93869 12.696 3.74353 12.5825 3.55546 12.6321L1.65708 13.1395C1.46902 13.1892 1.35547 13.3844 1.40515 13.5725C1.44418 13.7286 1.58967 13.835 1.74579 13.835ZM18.2671 8.68643L20.1619 8.17901C20.35 8.12579 20.5451 8.23934 20.5948 8.43095C20.6445 8.61901 20.5309 8.81417 20.3429 8.86385L18.4481 9.37127C18.4161 9.37837 18.3877 9.38191 18.3558 9.38191C18.1997 9.38191 18.0577 9.27901 18.0151 9.11933C17.9655 8.93127 18.079 8.73611 18.2671 8.68643ZM5.86559 16.1346C5.7272 15.9962 5.50365 15.9962 5.36527 16.1346L3.97785 17.522C3.83947 17.6604 3.83947 17.8839 3.97785 18.0223C4.04882 18.0933 4.13753 18.1252 4.22979 18.1252C4.32204 18.1252 4.41075 18.0897 4.48172 18.0223L5.86914 16.6349C6.00397 16.4965 6.00397 16.273 5.86559 16.1346ZM16.3865 5.96838C16.2942 5.96838 16.2055 5.93645 16.1346 5.86548C15.9962 5.72709 15.9962 5.50355 16.1381 5.36516L17.5255 3.97775C17.6639 3.83936 17.8875 3.83936 18.0258 3.97775C18.1642 4.11613 18.1642 4.33968 18.0258 4.47807L16.6384 5.86548C16.5675 5.9329 16.4788 5.96838 16.3865 5.96838ZM9.11929 18.0151C8.93123 17.9654 8.73607 18.0754 8.68639 18.267L8.17897 20.1654C8.1293 20.3534 8.2393 20.5486 8.43091 20.5983C8.46284 20.6054 8.49123 20.6089 8.52317 20.6089C8.67929 20.6089 8.82478 20.506 8.86381 20.3463L9.37123 18.448C9.42091 18.2599 9.31091 18.0647 9.11929 18.0151ZM12.973 3.99548C12.9411 3.99548 12.9127 3.99193 12.8808 3.98484C12.6891 3.93516 12.5791 3.74 12.6288 3.55194L13.1362 1.65355C13.1859 1.46194 13.3811 1.35194 13.5691 1.40162C13.7607 1.4513 13.8707 1.64646 13.8211 1.83452L13.3137 3.7329C13.2711 3.89258 13.1291 3.99548 12.973 3.99548Z\" fill=\"currentColor\"/>\n</svg>`\n\nexport const RichMoonFilled = `<svg viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 11C0 17.0655 4.93454 22 11 22C17.0655 22 21.9999 17.0654 21.9999 11C21.9999 4.93454 17.0654 0 11 0C4.93454 0 0 4.93461 0 11ZM4.57387 2.50047C2.30624 4.21915 0.744669 6.82303 0.408418 9.79286C0.462355 9.83055 0.51419 9.88498 0.54925 9.93864C0.618474 10.0443 0.672687 10.3381 0.672687 10.6078V11.506C0.672687 11.7309 0.729163 11.9933 0.796056 12.0789C0.869323 12.1724 0.974804 12.3422 1.03121 12.4576C1.08659 12.5704 1.16733 12.7331 1.21092 12.8191C1.25506 12.9061 1.32407 13.0723 1.36479 13.1895C1.40337 13.3008 1.46999 13.442 1.51016 13.4978C1.54998 13.5531 1.63236 13.6326 1.68993 13.6714C1.74819 13.7106 1.82906 13.755 1.86642 13.7681C1.90425 13.7815 1.97251 13.7995 2.01542 13.8075C2.05928 13.8155 2.16346 13.8278 2.24769 13.8348C2.3335 13.8419 2.44289 13.8556 2.49148 13.8653C2.54351 13.8757 2.63603 13.9215 2.70196 13.9698C2.76632 14.0167 2.84823 14.1028 2.88441 14.1615C2.91286 14.2075 2.98928 14.2541 3.04781 14.2611C3.10895 14.2683 3.16761 14.2415 3.1805 14.217C3.20346 14.1736 3.25089 14.0903 3.28639 14.0312C3.31216 13.9881 3.3417 13.9791 3.36192 13.9791C3.38111 13.9791 3.4284 13.9886 3.45239 14.0761C3.47254 14.1498 3.54478 14.275 3.61003 14.3496C3.68014 14.4295 3.77507 14.5512 3.82188 14.6208C3.86924 14.691 3.92948 14.8088 3.95635 14.8831C3.98239 14.9553 4.01632 15.0532 4.03167 15.1005C4.04751 15.1491 4.06731 15.2312 4.07574 15.2834C4.08493 15.3391 4.08274 15.417 4.07074 15.4607C4.06019 15.4991 4.04703 15.5547 4.04134 15.5845C4.03407 15.6224 4.00858 15.6699 3.98199 15.695C3.958 15.7177 3.90186 15.7516 3.85423 15.7723C3.8103 15.7912 3.74895 15.8165 3.71804 15.8285C3.6835 15.8418 3.63114 15.8522 3.59865 15.8522C3.5676 15.8522 3.52202 15.847 3.49495 15.8405C3.47994 15.8368 3.45479 15.8431 3.44704 15.8492C3.43896 15.8558 3.41675 15.8952 3.40489 15.9438C3.39358 15.9904 3.37103 16.1423 3.35575 16.2754C3.34115 16.4021 3.37892 16.5697 3.4382 16.6415C3.50366 16.7208 3.64348 16.8963 3.74978 17.0325C3.84971 17.1606 4.01091 17.2834 4.10172 17.3007C4.12146 17.3044 4.14456 17.3064 4.17026 17.3064C4.26073 17.3063 4.36669 17.2829 4.43399 17.2482C4.51836 17.2045 4.58964 17.1007 4.58964 17.0216V16.6382C4.58964 16.516 4.62364 16.3077 4.66538 16.1739C4.70684 16.0409 4.77086 15.8777 4.80801 15.81C4.83981 15.7518 4.92185 15.7157 5.02219 15.7157C5.05735 15.7157 5.09244 15.7201 5.1265 15.7289C5.24343 15.7593 5.43081 15.7935 5.54404 15.8052C5.67597 15.8187 5.78324 15.9694 5.78324 16.1412C5.78324 16.2932 5.80572 16.4965 5.83334 16.5945C5.86308 16.6998 5.86322 16.8798 5.83354 16.9957C5.80489 17.1079 5.72861 17.3253 5.6635 17.4802C5.59633 17.64 5.55226 17.7922 5.55473 17.8288C5.55713 17.8644 5.58996 17.9429 5.63327 17.9986C5.67495 18.0521 5.75774 18.1298 5.81408 18.1684C5.87179 18.2078 5.95472 18.2576 5.99522 18.277C6.02833 18.2929 6.14539 18.3106 6.26026 18.3106C6.37075 18.3106 6.48459 18.27 6.51755 18.2335C6.56258 18.1838 6.63729 18.1052 6.68438 18.0581C6.73324 18.0092 6.84674 17.925 6.93714 17.8704L6.93865 17.8695C6.38157 17.1515 6.07672 16.4385 6.03025 15.7466C5.93923 15.7332 5.86898 15.6554 5.86898 15.5608C5.86898 15.4569 5.95348 15.3723 6.05746 15.3723C6.16143 15.3723 6.24594 15.4569 6.24594 15.5608C6.24594 15.6505 6.18288 15.7255 6.09879 15.7444C6.14512 16.4246 6.4473 17.1272 6.99958 17.8364C7.06497 17.8033 7.14159 17.772 7.20698 17.7516C6.80679 17.2485 6.54572 16.7488 6.42887 16.2622C6.42715 16.2623 6.42547 16.2625 6.42379 16.2627C6.42265 16.2629 6.4215 16.2631 6.42035 16.2632C6.41934 16.2633 6.41832 16.2633 6.41728 16.2633C6.285 16.2633 6.1774 16.1557 6.1774 16.0235C6.1774 15.8912 6.285 15.7836 6.41728 15.7836C6.54956 15.7836 6.65717 15.8912 6.65717 16.0235C6.65717 16.1279 6.58966 16.2161 6.49624 16.2489C6.61282 16.7324 6.87539 17.2302 7.27915 17.7325C7.36133 17.714 7.45797 17.6813 7.49457 17.6591C7.53192 17.6365 7.59573 17.5681 7.63404 17.5096C7.67729 17.4438 7.76447 17.3526 7.82848 17.3065C7.89558 17.258 7.99832 17.22 8.0622 17.22H8.59124C8.68761 17.22 8.81338 17.1958 8.86615 17.1671C8.91783 17.139 8.98068 17.0753 9.00343 17.0282C9.02701 16.9793 9.04689 16.8972 9.04689 16.8488C9.04689 16.7987 9.02852 16.6824 9.00679 16.5951C8.9852 16.5084 8.94195 16.3929 8.91235 16.343C8.88452 16.296 8.81379 16.2368 8.75807 16.2136C8.68597 16.1836 8.60961 16.0931 8.58412 16.0076C8.56218 15.9337 8.55848 15.825 8.5946 15.7692C8.62312 15.7252 8.69467 15.6553 8.75759 15.6101C8.81317 15.5701 8.885 15.5028 8.91433 15.4633C8.94511 15.4216 9.00234 15.3327 9.04175 15.2651C9.07972 15.1999 9.12413 15.0997 9.13866 15.0463C9.15243 14.9955 9.15244 14.9073 9.13852 14.8541C9.12557 14.8044 9.09007 14.7726 9.07135 14.7726C9.0399 14.7726 8.99027 14.7931 8.96512 14.8164C8.92749 14.8511 8.8423 14.8783 8.77116 14.8783C8.69933 14.8783 8.59913 14.8326 8.54293 14.7742C8.48576 14.7149 8.45136 14.6035 8.46445 14.5209C8.47679 14.4432 8.51894 14.3363 8.56033 14.2774C8.58967 14.2357 8.59255 14.1684 8.56657 14.1333C8.53374 14.0891 8.44971 14.01 8.38303 13.9605C8.30763 13.9045 8.22237 13.7993 8.18913 13.7208C8.15884 13.6492 8.10113 13.5216 8.06049 13.4366C8.01909 13.3496 7.9718 13.2189 7.95521 13.1452C7.93705 13.0642 7.97522 12.9221 8.04226 12.8216C8.10415 12.7288 8.18749 12.6113 8.22799 12.5596C8.26836 12.5081 8.35876 12.4022 8.42936 12.3237C8.50023 12.2449 8.6164 12.1314 8.68836 12.0706C8.7665 12.0046 8.90035 11.9766 8.98205 12.0109C9.04935 12.0389 9.13955 12.0903 9.1743 12.1277C9.20028 12.1556 9.28204 12.2201 9.35277 12.2684C9.40959 12.3072 9.50082 12.2876 9.54674 12.2273C9.60225 12.1544 9.66764 12.0233 9.68936 11.9409C9.7091 11.8659 9.69478 11.7646 9.65866 11.724C9.61534 11.6753 9.53104 11.5898 9.47066 11.5336C9.41 11.477 9.32837 11.4047 9.28869 11.3722C9.23283 11.3267 9.20274 11.1897 9.20274 11.084C9.20274 10.9707 9.21385 10.8325 9.22742 10.7762C9.24181 10.7167 9.29801 10.6166 9.35531 10.5484C9.41172 10.4811 9.53029 10.3961 9.61966 10.3588C9.70814 10.322 9.89601 10.292 10.0384 10.292C10.1794 10.292 10.4037 10.3213 10.5383 10.3573C10.6762 10.3943 10.8265 10.4527 10.8804 10.4904C10.9344 10.5283 11.0046 10.5976 11.0402 10.6481C11.0529 10.6662 11.1211 10.6917 11.2327 10.6917C11.264 10.6917 11.2956 10.6896 11.3265 10.6856C11.4635 10.6678 11.587 10.6032 11.6059 10.5573C11.6247 10.5118 11.6016 10.4095 11.5383 10.3357C11.4678 10.2532 11.3971 10.1368 11.3773 10.0704C11.3585 10.0074 11.327 9.88949 11.3071 9.80745C11.2878 9.72857 11.2445 9.61548 11.2126 9.56051C11.1814 9.50678 11.0718 9.40603 10.9732 9.3405C10.8734 9.27423 10.7287 9.20055 10.6571 9.17957C10.5915 9.16059 10.4769 9.16045 10.4205 9.17923C10.3611 9.19904 10.272 9.26902 10.226 9.33214C10.1724 9.40555 10.0401 9.50191 9.9311 9.54701C9.82445 9.59115 9.61692 9.64166 9.46846 9.65969C9.32406 9.67737 9.12612 9.67716 9.04209 9.65921C8.94257 9.63789 8.86464 9.51973 8.86464 9.39006C8.86464 9.27553 8.88754 9.09644 8.9157 8.99082C8.94401 8.88486 9.0216 8.70982 9.08869 8.6005C9.15593 8.49084 9.29486 8.33087 9.39856 8.24382C9.50088 8.15788 9.67997 8.02971 9.79779 7.95809C9.91362 7.88756 10.0963 7.76522 10.205 7.68537C10.3122 7.60683 10.5164 7.38538 10.6605 7.19176C10.816 6.98286 11.0214 6.8366 11.135 6.86079C11.2488 6.88478 11.338 6.97834 11.338 7.07381V7.64898C11.338 7.74418 11.4346 7.91868 11.5488 8.02999C11.6694 8.14746 11.847 8.29619 11.945 8.36151C12.0456 8.42854 12.1846 8.54203 12.2546 8.61462C12.3174 8.67966 12.5175 8.75567 12.6917 8.78055C12.8739 8.80652 13.1697 8.8277 13.351 8.8277C13.5396 8.8277 13.7157 8.79419 13.756 8.76417C13.8156 8.71962 13.9017 8.69535 13.9501 8.71153C14.0057 8.7301 14.0343 8.8009 14.0152 8.8728C14.0003 8.92907 13.9563 9.02728 13.9171 9.09171C13.8815 9.15038 13.8258 9.30555 13.7956 9.43042C13.76 9.57723 13.6657 9.68799 13.5762 9.68799C13.5008 9.68552 13.4036 9.68367 13.3567 9.68367C13.3194 9.68367 13.2594 9.71486 13.2283 9.7505C13.203 9.77949 13.1988 9.86098 13.2333 9.93137C13.2736 10.0137 13.3053 10.2283 13.3053 10.4198C13.3053 10.5937 13.4272 10.8858 13.5714 11.0575C13.7092 11.2214 13.8619 11.4555 13.8789 11.5632C13.8936 11.6557 13.8936 11.8152 13.879 11.9188C13.8642 12.0242 13.8673 12.1181 13.876 12.1364C13.8761 12.1362 13.8765 12.1362 13.8774 12.1363C13.8782 12.1364 13.8794 12.1367 13.8809 12.1369C13.8879 12.1382 13.9028 12.141 13.9273 12.141C13.9634 12.141 14.0072 12.1348 14.0507 12.1236C14.1569 12.0961 14.3157 12.0739 14.4048 12.0739C14.5001 12.0739 14.6493 12.1391 14.7443 12.2223C14.8303 12.2975 14.907 12.4201 14.8798 12.4991C14.8663 12.5386 14.8959 12.6482 14.9557 12.7357C15.0143 12.8213 15.1139 12.9115 15.1731 12.9327C15.2299 12.953 15.3601 12.9528 15.4446 12.9316C15.5433 12.907 15.6263 12.8614 15.6423 12.8397C15.6623 12.8124 15.7215 12.669 15.7744 12.5066C15.8241 12.3537 15.8747 12.1443 15.8872 12.0399C15.9005 11.9273 15.9379 11.7968 15.9723 11.7428C16.0144 11.6763 16.1594 11.6169 16.2745 11.5947C16.3762 11.5752 16.6506 11.3533 16.8971 11.0543C17.128 10.7743 17.3619 10.4908 17.4169 10.4246C17.4692 10.3617 17.544 10.2365 17.5803 10.1511C17.6171 10.0642 17.6976 9.96249 17.7683 9.94295C17.8156 9.93 17.8813 9.88977 17.9117 9.85522C17.9405 9.82239 17.9465 9.78634 17.9425 9.77887C17.9281 9.75571 17.8907 9.70931 17.861 9.67778C17.8372 9.65256 17.74 9.60828 17.6384 9.58491C17.5382 9.56181 17.3772 9.52686 17.2795 9.50698C17.1803 9.4867 16.8173 9.37601 16.4701 9.26024C16.1107 9.14044 15.8235 9.05456 15.7907 9.05251C15.7453 9.05251 15.6685 9.02153 15.6196 8.9924C15.5641 8.95936 15.4963 8.90015 15.4651 8.85752C15.4417 8.8253 15.3537 8.74038 15.2601 8.66513C15.1777 8.59892 15.0785 8.48946 15.0549 8.42099C15.0336 8.35863 15.0336 8.26226 15.055 8.20147C15.0737 8.14835 15.1042 8.04835 15.1227 7.97844C15.1388 7.91868 15.1255 7.83102 15.0945 7.79092C15.0536 7.73788 15.0083 7.6446 14.9913 7.57852C14.9739 7.51026 14.9894 7.38079 15.0268 7.28374C15.0636 7.18847 15.1252 7.08327 15.1668 7.04447L15.1669 7.0444C15.168 7.04326 15.1708 7.04052 15.1704 7.03186C15.1691 7.00637 15.1415 6.95846 15.0836 6.91391C14.9935 6.84434 14.8972 6.78225 14.8639 6.76785C14.8262 6.75147 14.7288 6.72235 14.6511 6.70398C14.5656 6.6839 14.4591 6.63873 14.4086 6.60103C14.3536 6.56005 14.3106 6.4508 14.3106 6.35224C14.3106 6.26122 14.3347 6.1262 14.3644 6.05122C14.3911 5.98344 14.3855 5.91284 14.3698 5.89413C14.3628 5.88618 14.318 5.86966 14.2254 5.86966C14.1887 5.86966 14.1498 5.8724 14.1125 5.87761C13.9739 5.89687 13.7223 5.83388 13.5542 5.74108C13.3907 5.65075 13.0499 5.51628 12.7944 5.4413C12.6517 5.39935 12.4898 5.37427 12.3615 5.37427C12.2793 5.37427 12.2144 5.38496 12.1834 5.40353C12.0977 5.45501 12.0053 5.5964 11.982 5.71216C11.9558 5.84197 11.8614 6.05149 11.7716 6.17918C11.7318 6.23559 11.6688 6.26663 11.5941 6.26663C11.4864 6.26663 11.3663 6.20536 11.2646 6.09837C11.134 5.96123 10.996 5.70263 10.9165 5.46076L10.4716 5.81627C10.4936 5.8502 10.5067 5.89036 10.5067 5.93374C10.5067 6.05341 10.4093 6.1508 10.2896 6.1508C10.17 6.1508 10.0726 6.05341 10.0726 5.93374C10.0726 5.85527 10.1149 5.787 10.1775 5.7489L9.44626 3.99898C9.33022 3.90549 9.16532 3.80934 9.05312 3.77226C8.92064 3.72853 8.68884 3.64601 8.53641 3.58837C8.4626 3.56041 8.35122 3.54444 8.2308 3.54444C8.12464 3.54444 8.02108 3.55684 7.93938 3.57939C7.7485 3.63182 7.53144 3.67911 7.45543 3.68473C7.40362 3.68857 7.32034 3.79967 7.28648 3.94264C7.25119 4.09178 7.22247 4.29603 7.22247 4.39787C7.22247 4.50664 7.16222 4.71507 7.0882 4.86256C7.01096 5.01643 6.7782 5.14165 6.56923 5.14165C6.35999 5.14165 6.12387 5.05961 6.03162 4.95495C5.95355 4.86626 5.80339 4.79142 5.70366 4.79142C5.60168 4.79142 5.41299 4.86846 5.29154 4.95961C5.16262 5.05646 4.91554 5.22616 4.74077 5.33801C4.55928 5.45411 4.34208 5.5097 4.25662 5.45405C4.17423 5.40031 4.10974 5.22211 4.10974 5.04837C4.10974 4.88539 4.1743 4.50041 4.2536 4.1902C4.32034 3.92897 4.45416 3.21935 4.57387 2.50047ZM9.21974 3.45671L9.4333 3.9678L9.4965 3.94134L9.27868 3.42011C9.35113 3.36363 9.39862 3.27652 9.39862 3.17776C9.39862 3.00771 9.26025 2.86933 9.0902 2.86933C8.92016 2.86933 8.78178 3.00771 8.78178 3.17776C8.78178 3.3478 8.92016 3.48618 9.0902 3.48618C9.1366 3.48618 9.18026 3.47514 9.21974 3.45671ZM10.1412 5.93361C10.1412 6.01551 10.2078 6.08213 10.2896 6.08213C10.3715 6.08213 10.4381 6.01551 10.4381 5.93361C10.4381 5.85177 10.3715 5.78515 10.2896 5.78515C10.2078 5.78515 10.1412 5.85177 10.1412 5.93361ZM10.2896 5.71662C10.3411 5.71662 10.3878 5.7354 10.4251 5.76548L10.8949 5.39017C10.8829 5.34795 10.8727 5.30662 10.8653 5.26707C10.8154 5.00306 10.6468 4.71623 10.497 4.64057C10.3367 4.55962 10.0948 4.43619 9.95933 4.36628C9.84488 4.3072 9.6821 4.1963 9.56181 4.09781L10.2408 5.72265C10.2565 5.71901 10.2728 5.71662 10.2896 5.71662ZM12.4914 3.40914C12.4914 3.26267 12.3723 3.14356 12.2258 3.14356C12.0794 3.14356 11.9602 3.26267 11.9602 3.40914C11.9602 3.55561 12.0794 3.67473 12.2258 3.67473C12.3723 3.67473 12.4914 3.55561 12.4914 3.40914ZM12.184 4.44784C12.2274 4.47861 12.28 4.49718 12.3372 4.49718C12.4836 4.49718 12.6028 4.37807 12.6028 4.2316C12.6028 4.08513 12.4837 3.96601 12.3372 3.96601C12.1907 3.96601 12.0716 4.08513 12.0716 4.2316C12.0716 4.29596 12.0955 4.35421 12.1337 4.4002L10.9394 5.35453L10.9822 5.40806L12.184 4.44784ZM14.5561 6.1935C14.5561 6.40611 14.729 6.57903 14.9416 6.57903C15.1542 6.57903 15.3272 6.40611 15.3272 6.1935C15.3272 5.9809 15.1543 5.80798 14.9416 5.80798C14.729 5.80798 14.5561 5.9809 14.5561 6.1935ZM15.5414 8.56952C15.5414 8.6593 15.6144 8.7323 15.7041 8.7323C15.7939 8.7323 15.8669 8.6593 15.8669 8.56952C15.8669 8.47973 15.7939 8.40674 15.7041 8.40674C15.6144 8.40674 15.5414 8.47973 15.5414 8.56952ZM15.6956 2.52671C15.6956 2.60704 15.7609 2.67236 15.8412 2.67236C15.9215 2.67236 15.9869 2.60704 15.9869 2.52671C15.9869 2.44639 15.9215 2.38107 15.8412 2.38107C15.7609 2.38107 15.6956 2.44639 15.6956 2.52671ZM20.1848 11.6709C20.1848 11.6189 20.1425 11.5766 20.0906 11.5766C20.0386 11.5766 19.9963 11.6189 19.9963 11.6709C19.9963 11.7228 20.0386 11.7651 20.0906 11.7651C20.1425 11.7651 20.1848 11.7228 20.1848 11.6709ZM18.557 10.6856C18.557 10.5392 18.4379 10.42 18.2915 10.42C18.145 10.42 18.0259 10.5392 18.0259 10.6856C18.0259 10.8321 18.145 10.9512 18.2915 10.9512C18.3315 10.9512 18.3691 10.9416 18.4032 10.9257L18.6713 11.3078C18.6642 11.3217 18.6598 11.3372 18.6598 11.3539C18.6598 11.4106 18.706 11.4567 18.7627 11.4567C18.8193 11.4567 18.8655 11.4106 18.8655 11.3539C18.8655 11.2972 18.8193 11.2511 18.7627 11.2511C18.748 11.2511 18.7341 11.2543 18.7214 11.2598L18.4607 10.8885C18.5191 10.8398 18.557 10.7674 18.557 10.6856ZM18.5228 12.2391C18.6015 12.2391 18.6656 12.175 18.6656 12.0964C18.6656 12.0177 18.6015 11.9536 18.5228 11.9536C18.4441 11.9536 18.38 12.0177 18.38 12.0964C18.38 12.175 18.4441 12.2391 18.5228 12.2391ZM18.3034 13.6126C18.2625 13.5188 18.1689 13.4529 18.0601 13.4529C17.9137 13.4529 17.7945 13.572 17.7945 13.7184C17.7945 13.8649 17.9137 13.984 18.0601 13.984C18.2066 13.984 18.3257 13.8649 18.3257 13.7184C18.3257 13.7048 18.3237 13.6918 18.3217 13.6787L19.5683 13.3193C19.6388 13.5406 19.8462 13.7013 20.0906 13.7013C20.3929 13.7013 20.6389 13.4553 20.6389 13.153C20.6389 12.8507 20.3929 12.6047 20.0906 12.6047C19.8959 12.6047 19.725 12.707 19.6277 12.8604L19.3171 12.6965C19.3186 12.689 19.3195 12.6812 19.3195 12.6732C19.3195 12.6071 19.2657 12.5533 19.1995 12.5533C19.1334 12.5533 19.0796 12.6071 19.0796 12.6732C19.0796 12.7394 19.1334 12.7932 19.1995 12.7932C19.233 12.7932 19.2633 12.7793 19.2851 12.7571L19.5947 12.9206C19.5752 12.9619 19.5606 13.0059 19.5519 13.0521L18.9489 12.9858C18.9387 12.93 18.8899 12.8874 18.8312 12.8874C18.7651 12.8874 18.7112 12.9412 18.7112 13.0074C18.7112 13.0735 18.7651 13.1273 18.8312 13.1273C18.8807 13.1273 18.9234 13.097 18.9417 13.054L19.5439 13.1202L19.5433 13.1295C19.5428 13.1373 19.5423 13.1451 19.5423 13.153C19.5423 13.1871 19.5458 13.2203 19.5518 13.2527L18.3034 13.6126ZM8.2735 13.153C8.2735 13.2475 8.35033 13.3244 8.44485 13.3244C8.53936 13.3244 8.61619 13.2475 8.61619 13.153C8.61619 13.0585 8.53936 12.9817 8.44485 12.9817C8.35033 12.9817 8.2735 13.0585 8.2735 13.153ZM8.86464 12.3876C8.86464 12.4617 8.92482 12.5218 8.99884 12.5218C9.07286 12.5218 9.13304 12.4617 9.13304 12.3876C9.13304 12.3136 9.07286 12.2534 8.99884 12.2534C8.92482 12.2534 8.86464 12.3136 8.86464 12.3876ZM17.2205 14.738C17.2205 14.3175 16.8785 13.9755 16.4581 13.9755C16.0376 13.9755 15.6956 14.3175 15.6956 14.738C15.6956 15.1584 16.0376 15.5004 16.4581 15.5004C16.8785 15.5004 17.2205 15.1584 17.2205 14.738ZM11.746 9.24633C11.641 9.24633 11.5555 9.3318 11.5555 9.4368C11.5555 9.54194 11.6411 9.62741 11.746 9.62734C11.8511 9.62734 11.9365 9.54187 11.9365 9.4368C11.9365 9.3318 11.8511 9.24633 11.746 9.24633ZM9.49362 11.0019C9.49362 11.0629 9.54324 11.1126 9.60424 11.1126C9.66517 11.1126 9.71486 11.0629 9.71486 11.0019C9.71486 10.941 9.66517 10.8913 9.60424 10.8913C9.54331 10.8913 9.49362 10.941 9.49362 11.0019ZM8.49522 19.2765C8.24451 19.0929 7.57935 18.5746 7.0159 17.8575L6.96223 17.8995C7.54974 18.6472 8.24684 19.1809 8.47966 19.3493C8.4761 19.3737 8.47363 19.3986 8.47363 19.4239C8.47363 19.5299 8.50591 19.6285 8.56109 19.7104L8.26925 19.8966C8.20928 19.8351 8.12587 19.7966 8.03341 19.7966C7.85151 19.7966 7.70354 19.9446 7.70354 20.1265C7.70354 20.3084 7.85151 20.4564 8.03341 20.4564C8.21531 20.4564 8.36329 20.3083 8.36329 20.1265C8.36329 20.0619 8.34389 20.002 8.31161 19.951L8.60372 19.7646C8.69796 19.8707 8.8349 19.938 8.98767 19.938C9.01536 19.938 9.04229 19.9352 9.06875 19.931L9.20809 20.5954C9.11392 20.6335 9.04709 20.7255 9.04709 20.8333C9.04709 20.9749 9.1623 21.0901 9.30384 21.0901C9.44544 21.0901 9.56065 20.9749 9.56065 20.8333C9.56065 20.6917 9.44544 20.5764 9.30384 20.5764C9.29678 20.5764 9.28997 20.5774 9.28315 20.5783L9.27478 20.5794L9.13564 19.9161C9.33831 19.8551 9.488 19.6721 9.50027 19.4528C10.1582 19.4093 13.8922 19.0354 15.7784 16.1378C15.8185 16.157 15.8628 16.1685 15.91 16.1685C16.0801 16.1685 16.2184 16.0301 16.2184 15.8601C16.2184 15.69 16.0801 15.5516 15.91 15.5516C15.74 15.5516 15.6016 15.69 15.6016 15.8601C15.6016 15.9583 15.6486 16.0449 15.7204 16.1015C13.8542 18.967 10.1579 19.3403 9.49972 19.3842C9.49156 19.2789 9.45181 19.1825 9.38958 19.1045C10.1244 18.8433 13.9793 17.348 15.6095 14.2295C15.618 14.2314 15.6268 14.2323 15.6359 14.2323C15.7067 14.2323 15.7644 14.1747 15.7644 14.1038C15.7644 14.033 15.7067 13.9753 15.6359 13.9753C15.565 13.9753 15.5074 14.033 15.5074 14.1038C15.5074 14.141 15.5235 14.1742 15.5488 14.1977C13.908 17.3369 9.98977 18.8215 9.33886 19.0498L9.33606 19.0471L9.33601 19.0471C9.32931 19.0408 9.32265 19.0345 9.31562 19.0287C9.90272 18.584 13.0122 16.1303 13.5647 13.6633C13.5809 13.6654 13.5972 13.6668 13.6139 13.6668C13.8217 13.6668 13.9909 13.4977 13.9909 13.2899C13.9909 13.0821 13.8217 12.9129 13.6139 12.9129C13.4061 12.9129 13.237 13.0821 13.237 13.2899C13.237 13.4572 13.3466 13.5992 13.4978 13.6483C12.9447 16.1183 9.79224 18.5836 9.25696 18.987C9.23461 18.9733 9.21145 18.9607 9.18698 18.9503C10.9028 16.1595 11.5252 14.31 11.6077 14.0513C11.6328 14.0572 11.6586 14.061 11.6855 14.061C11.8744 14.061 12.0282 13.9073 12.0282 13.7183C12.0282 13.5294 11.8744 13.3756 11.6855 13.3756C11.4965 13.3756 11.3428 13.5294 11.3428 13.7183C11.3428 13.8563 11.4252 13.9747 11.5429 14.029C11.4635 14.2781 10.8433 16.1284 9.12022 18.9281C9.0778 18.9168 9.03345 18.9101 8.98753 18.9101C8.91941 18.9101 8.8545 18.9238 8.79501 18.9479C8.61625 18.6835 8.40597 18.2142 8.27858 17.9128C8.25856 17.9238 8.23721 17.9326 8.21482 17.9389C8.34137 18.2391 8.54991 18.7049 8.73284 18.9783C8.70632 18.9934 8.68124 19.0107 8.65793 19.0302C8.44211 18.8746 7.82094 18.4013 7.29224 17.7486L7.23899 17.7917C7.76468 18.4408 8.38063 18.9139 8.60804 19.0786C8.55684 19.1347 8.51763 19.2019 8.49522 19.2765ZM3.72819 15.1789C3.72819 14.9757 3.56294 14.8105 3.3598 14.8105C3.15672 14.8105 2.9914 14.9757 2.9914 15.1789C2.9914 15.382 3.15665 15.5473 3.3598 15.5473C3.56294 15.5473 3.72819 15.382 3.72819 15.1789ZM2.43343 14.5238C2.43343 14.434 2.36044 14.361 2.27065 14.361C2.18087 14.361 2.10788 14.434 2.10788 14.5238C2.10788 14.6136 2.18087 14.6865 2.27065 14.6865C2.36044 14.6865 2.43343 14.6136 2.43343 14.5238ZM12.2261 3.60622C12.3348 3.60622 12.4232 3.51781 12.4232 3.40918C12.4232 3.30054 12.3348 3.21213 12.2261 3.21213C12.1175 3.21213 12.0291 3.30054 12.0291 3.40918C12.0291 3.51781 12.1175 3.60622 12.2261 3.60622ZM14.805 7.19276C14.7483 7.19276 14.7022 7.14664 14.7022 7.08996C14.7022 7.03327 14.7483 6.98715 14.805 6.98715C14.8617 6.98715 14.9078 7.03327 14.9078 7.08996C14.9078 7.14664 14.8617 7.19276 14.805 7.19276ZM14.805 7.05569C14.7861 7.05569 14.7707 7.07111 14.7707 7.08996C14.7707 7.1088 14.7861 7.12422 14.805 7.12422C14.8238 7.12422 14.8393 7.1088 14.8393 7.08996C14.8393 7.07111 14.8238 7.05569 14.805 7.05569ZM6.85994 10.2857L9.11649 10.0776C9.14404 10.1999 9.25348 10.2915 9.38396 10.2915C9.53515 10.2915 9.65811 10.1685 9.65811 10.0173C9.65811 9.86612 9.53515 9.74316 9.38396 9.74316C9.2354 9.74316 9.11411 9.86186 9.10992 10.0094L6.84769 10.218C6.82564 10.1304 6.78098 10.0517 6.72041 9.98834L9.22918 6.91948C9.27408 6.94806 9.32692 6.96519 9.38401 6.96519C9.5435 6.96519 9.67324 6.83545 9.67324 6.67596C9.67324 6.51647 9.5435 6.38666 9.38401 6.38666C9.22452 6.38666 9.09478 6.51647 9.09478 6.67596C9.09478 6.75375 9.12597 6.82414 9.17614 6.87616L6.67004 9.9418C6.59876 9.88464 6.51199 9.84633 6.41706 9.83372L6.5159 8.45548C6.58635 8.44397 6.64043 8.38311 6.64043 8.30936C6.64043 8.22746 6.57381 8.16084 6.49198 8.16084C6.41007 8.16084 6.34345 8.22746 6.34345 8.30936C6.34345 8.37571 6.38739 8.43129 6.44749 8.45035L6.34866 9.82872C6.19109 9.82885 6.05004 9.90041 5.95573 10.0125L5.15781 9.28713C5.17049 9.26478 5.1783 9.23929 5.1783 9.21187C5.1783 9.12689 5.10908 9.05766 5.02409 9.05766C4.93911 9.05766 4.86981 9.12702 4.86981 9.21201C4.86981 9.297 4.93904 9.36622 5.02403 9.36622C5.05679 9.36622 5.08701 9.3558 5.11203 9.33833L5.91523 10.0685C5.86471 10.148 5.83511 10.2419 5.83511 10.3429C5.83511 10.358 5.83606 10.3729 5.83737 10.3878L4.11164 10.6763C4.05784 10.3517 3.77588 10.103 3.43627 10.103C3.25896 10.103 3.09769 10.1713 2.97583 10.2822L2.25179 9.73756C2.26372 9.7133 2.27105 9.68636 2.27105 9.65751C2.27105 9.55669 2.18908 9.47472 2.08833 9.47472C1.98751 9.47472 1.90554 9.55669 1.90554 9.65751C1.90554 9.75826 1.98751 9.84023 2.08833 9.84023C2.13548 9.84023 2.17811 9.82179 2.2106 9.79232L2.92703 10.3312C2.8356 10.4329 2.77412 10.5618 2.75651 10.7043L1.37951 10.4168L1.37978 10.4143L1.38006 10.4114C1.38006 10.3043 1.29294 10.2172 1.18589 10.2172C1.07883 10.2172 0.991719 10.3043 0.991719 10.4114C0.991719 10.5186 1.07883 10.6056 1.18589 10.6056C1.26731 10.6056 1.33688 10.5552 1.36573 10.4839L2.75164 10.7732L2.75128 10.7799C2.75108 10.7827 2.75089 10.7855 2.75089 10.7883C2.75089 11.064 2.9149 11.3015 3.15005 11.4102L2.81367 12.4058C2.79338 12.4015 2.77241 12.399 2.75082 12.399C2.5855 12.399 2.45096 12.5335 2.45096 12.6988C2.45096 12.8641 2.5855 12.9987 2.75082 12.9987C2.91613 12.9987 3.05067 12.8641 3.05067 12.6988C3.05067 12.5792 2.97981 12.4766 2.8783 12.4285L3.21366 11.4359C3.28357 11.46 3.3582 11.4737 3.4362 11.4737C3.81412 11.4737 4.12158 11.1662 4.12158 10.7883C4.12158 10.777 4.12083 10.7659 4.12008 10.7549L4.11939 10.7444L5.84785 10.4554C5.88212 10.6079 5.98424 10.7347 6.12084 10.8028L5.86273 11.5519L5.85849 11.5514C5.85639 11.5511 5.85428 11.5508 5.8521 11.5508C5.77651 11.5508 5.71503 11.6123 5.71503 11.6879C5.71503 11.7635 5.77651 11.825 5.8521 11.825C5.9277 11.825 5.98918 11.7635 5.98918 11.6879C5.98918 11.6402 5.96471 11.5983 5.9277 11.5737L6.18417 10.8292C6.23599 10.8469 6.2913 10.8569 6.34901 10.8569C6.43235 10.8569 6.51089 10.8365 6.5806 10.8011L7.1008 11.9923C7.06585 12.0189 7.04295 12.0605 7.04295 12.1077C7.04295 12.188 7.10827 12.2533 7.1886 12.2533C7.26893 12.2533 7.33424 12.188 7.33424 12.1077C7.33424 12.0274 7.26893 11.962 7.1886 11.962C7.18003 11.962 7.17167 11.9631 7.16351 11.9646L6.64009 10.766C6.69451 10.7286 6.74132 10.6809 6.77778 10.6257L8.15814 11.15C8.15224 11.1733 8.1482 11.1972 8.1482 11.2224C8.1482 11.3862 8.28144 11.5193 8.44524 11.5193C8.60905 11.5193 8.74222 11.3862 8.74222 11.2224C8.74222 11.0586 8.60905 10.9254 8.44524 10.9254C8.33086 10.9254 8.2325 10.9911 8.18288 11.086L6.81177 10.5652C6.84433 10.4978 6.86311 10.4225 6.86311 10.3428C6.86311 10.3235 6.86203 10.3044 6.85994 10.2857ZM12.1404 4.2316C12.1404 4.12296 12.2288 4.03455 12.3374 4.03455C12.4461 4.03455 12.5345 4.12296 12.5345 4.2316C12.5345 4.34023 12.4461 4.42865 12.3374 4.42865C12.2288 4.42865 12.1404 4.34023 12.1404 4.2316ZM14.942 5.94494C14.805 5.94494 14.6936 6.05638 14.6936 6.19339C14.6936 6.3304 14.805 6.44184 14.942 6.44184C15.0791 6.44184 15.1905 6.3304 15.1905 6.19339C15.1905 6.05638 15.0791 5.94494 14.942 5.94494ZM4.90962 6.51042C4.90962 6.58612 4.84825 6.64749 4.77255 6.64749C4.69684 6.64749 4.63547 6.58612 4.63547 6.51042C4.63547 6.43471 4.69684 6.37334 4.77255 6.37334C4.84825 6.37334 4.90962 6.43471 4.90962 6.51042ZM3.18742 13.41C3.18742 13.547 3.29886 13.6584 3.43587 13.6584C3.57288 13.6584 3.68432 13.547 3.68432 13.41C3.68432 13.273 3.57288 13.1615 3.43587 13.1615C3.29886 13.1615 3.18742 13.273 3.18742 13.41ZM5.21789 12.0736C5.33598 12.0736 5.43207 12.1697 5.43207 12.2878C5.43207 12.4058 5.33598 12.5019 5.21789 12.5019C5.0998 12.5019 5.00371 12.4058 5.00371 12.2878C5.00371 12.1697 5.0998 12.0736 5.21789 12.0736ZM8.03352 19.8652C7.88939 19.8652 7.77219 19.9824 7.77219 20.1265C7.77219 20.2707 7.88939 20.3879 8.03352 20.3879C8.17766 20.3879 8.29486 20.2707 8.29486 20.1265C8.29486 19.9824 8.17759 19.8652 8.03352 19.8652ZM11.6854 13.4443C11.8366 13.4443 11.9595 13.5672 11.9595 13.7184C11.9595 13.8696 11.8366 13.9926 11.6854 13.9926C11.5342 13.9926 11.4112 13.8696 11.4112 13.7184C11.4112 13.5672 11.5342 13.4443 11.6854 13.4443ZM9.22334 20.6694L9.22231 20.6645C9.15933 20.6949 9.11539 20.759 9.11539 20.8336C9.11539 20.9374 9.19976 21.0219 9.3036 21.0219C9.40743 21.0219 9.49187 20.9374 9.49187 20.8336C9.49187 20.7297 9.40743 20.6453 9.3036 20.6453L9.30093 20.6454L9.2982 20.6456L9.29437 20.6461L9.29129 20.6465L9.28859 20.6468L9.29037 20.6554L9.22334 20.6694ZM20.5021 13.153C20.5021 13.3798 20.3177 13.5642 20.0909 13.5642C19.8641 13.5642 19.6797 13.3798 19.6797 13.153C19.6797 12.9262 19.8641 12.7417 20.0909 12.7417C20.3177 12.7417 20.5021 12.9262 20.5021 13.153ZM13.9225 13.2901C13.9225 13.1201 13.7842 12.9817 13.6141 12.9817C13.4441 12.9817 13.3057 13.1201 13.3057 13.2901C13.3057 13.4602 13.4441 13.5986 13.6141 13.5986C13.7842 13.5986 13.9225 13.4602 13.9225 13.2901ZM18.4887 10.6855C18.4887 10.7941 18.4002 10.8826 18.2916 10.8826C18.183 10.8826 18.0946 10.7941 18.0946 10.6855C18.0946 10.5769 18.183 10.4885 18.2916 10.4885C18.4002 10.4885 18.4887 10.5769 18.4887 10.6855ZM5.23522 7.89274C5.30778 7.89274 5.3666 7.83391 5.3666 7.76135C5.3666 7.68878 5.30778 7.62996 5.23522 7.62996C5.16265 7.62996 5.10383 7.68878 5.10383 7.76135C5.10383 7.83391 5.16265 7.89274 5.23522 7.89274ZM6.73138 7.36715C6.73138 7.43654 6.67513 7.49278 6.60575 7.49278C6.53636 7.49278 6.48012 7.43654 6.48012 7.36715C6.48012 7.29777 6.53636 7.24152 6.60575 7.24152C6.67513 7.24152 6.73138 7.29777 6.73138 7.36715ZM3.4362 11.3367C3.13388 11.3367 2.88789 11.0907 2.88789 10.7884C2.88789 10.4861 3.13388 10.2401 3.4362 10.2401C3.73852 10.2401 3.98451 10.4861 3.98451 10.7884C3.98451 11.0907 3.73852 11.3367 3.4362 11.3367ZM6.34907 9.96593C6.55688 9.96593 6.72603 10.1351 6.72603 10.3429C6.72603 10.5507 6.55688 10.7198 6.34907 10.7198C6.14126 10.7198 5.97211 10.5507 5.97211 10.3429C5.97211 10.1351 6.14126 9.96593 6.34907 9.96593ZM3.9729 6.76737C3.9729 6.8209 3.92931 6.86449 3.87578 6.86449C3.85357 6.86449 3.83335 6.85675 3.81691 6.84414L3.10815 7.28415C3.13173 7.31547 3.14921 7.35125 3.15866 7.39052L4.58974 6.92988C4.59036 6.87059 4.63868 6.82241 4.69817 6.82241C4.758 6.82241 4.80667 6.87114 4.80667 6.93097C4.80667 6.99081 4.758 7.03947 4.69817 7.03947C4.66239 7.03947 4.63086 7.02179 4.61106 6.99499L3.16744 7.45968C3.1673 7.48997 3.16134 7.51862 3.15263 7.54603L3.99833 8.03444C4.01752 8.01744 4.04239 8.00675 4.06995 8.00675C4.12978 8.00675 4.17851 8.05548 4.17851 8.11531C4.17851 8.17515 4.12978 8.22381 4.06995 8.22381C4.01011 8.22381 3.96145 8.17515 3.96145 8.11531C3.96145 8.10777 3.96221 8.10051 3.96364 8.09345L3.12446 7.60882C3.1052 7.64041 3.08026 7.66783 3.05085 7.6901L3.34084 8.16884C3.34755 8.16747 3.35462 8.16672 3.36174 8.16672C3.41842 8.16672 3.46455 8.21284 3.46455 8.26952C3.46455 8.3262 3.41842 8.37233 3.36174 8.37233C3.30506 8.37233 3.25894 8.3262 3.25894 8.26952C3.25894 8.24485 3.26805 8.22257 3.28251 8.20482L2.99212 7.7254C2.95655 7.74089 2.91748 7.74973 2.87629 7.74973C2.71563 7.74973 2.585 7.6191 2.585 7.45844C2.585 7.29779 2.71563 7.16716 2.87629 7.16716C2.94606 7.16716 3.00932 7.19279 3.05949 7.23384L3.78058 6.78615C3.77935 6.78005 3.77866 6.77381 3.77866 6.76737C3.77866 6.71384 3.82225 6.67025 3.87578 6.67025C3.92931 6.67025 3.9729 6.71384 3.9729 6.76737ZM2.65354 7.45844C2.65354 7.58126 2.75347 7.68119 2.87629 7.68119C2.99911 7.68119 3.09904 7.58126 3.09904 7.45844C3.09904 7.33562 2.99911 7.23569 2.87629 7.23569C2.75347 7.23569 2.65354 7.33562 2.65354 7.45844ZM8.06223 16.4278C8.13794 16.4278 8.19931 16.3665 8.19931 16.2907C8.19931 16.215 8.13794 16.1537 8.06223 16.1537C7.98653 16.1537 7.92516 16.215 7.92516 16.2907C7.92516 16.3665 7.98653 16.4278 8.06223 16.4278ZM8.11793 14.4553C8.11793 14.5073 8.07574 14.5495 8.02369 14.5495C7.97165 14.5495 7.92945 14.5073 7.92945 14.4553C7.92945 14.4032 7.97165 14.361 8.02369 14.361C8.07574 14.361 8.11793 14.4032 8.11793 14.4553ZM7.43693 16.5864C7.52801 16.5864 7.60184 16.5126 7.60184 16.4215C7.60184 16.3304 7.52801 16.2566 7.43693 16.2566C7.34586 16.2566 7.27203 16.3304 7.27203 16.4215C7.27203 16.5126 7.34586 16.5864 7.43693 16.5864ZM6.70441 14.7636C6.70441 14.6408 6.80434 14.5408 6.92716 14.5408C7.04998 14.5408 7.14991 14.6408 7.14991 14.7636C7.14991 14.8864 7.04998 14.9863 6.92716 14.9863C6.80434 14.9863 6.70441 14.8864 6.70441 14.7636ZM5.43201 15.4662C5.52664 15.4662 5.60335 15.3895 5.60335 15.2948C5.60335 15.2002 5.52664 15.1235 5.43201 15.1235C5.33738 15.1235 5.26066 15.2002 5.26066 15.2948C5.26066 15.3895 5.33738 15.4662 5.43201 15.4662ZM8.36205 15.0165C8.36205 15.0638 8.32369 15.1021 8.27638 15.1021C8.22906 15.1021 8.1907 15.0638 8.1907 15.0165C8.1907 14.9691 8.22906 14.9308 8.27638 14.9308C8.32369 14.9308 8.36205 14.9691 8.36205 15.0165ZM15.716 11.7364C15.7854 11.7364 15.8416 11.6801 15.8416 11.6107C15.8416 11.5414 15.7854 11.4851 15.716 11.4851C15.6466 11.4851 15.5904 11.5414 15.5904 11.6107C15.5904 11.6801 15.6466 11.7364 15.716 11.7364ZM12.1489 7.36716C12.1489 7.45233 12.0798 7.52137 11.9947 7.52137C11.9095 7.52137 11.8405 7.45233 11.8405 7.36716C11.8405 7.28199 11.9095 7.21295 11.9947 7.21295C12.0798 7.21295 12.1489 7.28199 12.1489 7.36716ZM13.12 6.38472C13.12 6.27286 13.029 6.18191 12.9173 6.18191C12.8054 6.18191 12.7145 6.27286 12.7145 6.38472C12.7145 6.4965 12.8054 6.58745 12.9173 6.58745C13.029 6.58745 13.12 6.4965 13.12 6.38472ZM14.2823 9.89738C14.2823 9.98254 14.2132 10.0516 14.1281 10.0516C14.0429 10.0516 13.9739 9.98254 13.9739 9.89738C13.9739 9.81221 14.0429 9.74316 14.1281 9.74316C14.2132 9.74316 14.2823 9.81221 14.2823 9.89738ZM13.2714 8.61224C13.3282 8.61224 13.3742 8.56621 13.3742 8.50943C13.3742 8.45265 13.3282 8.40662 13.2714 8.40662C13.2147 8.40662 13.1686 8.45265 13.1686 8.50943C13.1686 8.56621 13.2147 8.61224 13.2714 8.61224ZM10.5069 6.51047C10.5069 6.59861 10.4351 6.67037 10.347 6.67037C10.2588 6.67037 10.187 6.59861 10.187 6.51047C10.187 6.42233 10.2588 6.35057 10.347 6.35057C10.4351 6.35057 10.5069 6.42233 10.5069 6.51047ZM10.4384 6.51047C10.4384 6.46009 10.3974 6.4191 10.347 6.4191C10.2966 6.4191 10.2556 6.46009 10.2556 6.51047C10.2556 6.56084 10.2966 6.60183 10.347 6.60183C10.3974 6.60183 10.4384 6.56084 10.4384 6.51047ZM8.78201 16.37C8.78201 16.4481 8.7187 16.5114 8.64061 16.5114C8.56252 16.5114 8.49922 16.4481 8.49922 16.37C8.49922 16.292 8.56252 16.2287 8.64061 16.2287C8.7187 16.2287 8.78201 16.292 8.78201 16.37ZM15.8985 10.3601C15.9427 10.3601 15.9785 10.3243 15.9785 10.2801C15.9785 10.2359 15.9427 10.2001 15.8985 10.2001C15.8543 10.2001 15.8185 10.2359 15.8185 10.2801C15.8185 10.3243 15.8543 10.3601 15.8985 10.3601ZM14.345 8.98348C14.4568 8.98348 14.5478 9.07443 14.5478 9.18628C14.5478 9.29807 14.4568 9.38902 14.345 9.38902C14.2333 9.38902 14.1423 9.29807 14.1423 9.18628C14.1423 9.07443 14.2333 8.98348 14.345 8.98348ZM14.345 9.05201C14.271 9.05201 14.2108 9.11226 14.2108 9.18628C14.2108 9.2603 14.271 9.32048 14.345 9.32048C14.4191 9.32048 14.4792 9.2603 14.4792 9.18628C14.4792 9.11226 14.4191 9.05201 14.345 9.05201ZM14.9964 10.1659C15.0784 10.1659 15.1449 10.0994 15.1449 10.0174C15.1449 9.93534 15.0784 9.86885 14.9964 9.86885C14.9143 9.86885 14.8479 9.93534 14.8479 10.0174C14.8479 10.0994 14.9143 10.1659 14.9964 10.1659ZM17.1439 10.0174C17.1439 10.0742 17.0979 10.1202 17.0411 10.1202C16.9843 10.1202 16.9383 10.0742 16.9383 10.0174C16.9383 9.96064 16.9843 9.91461 17.0411 9.91461C17.0979 9.91461 17.1439 9.96064 17.1439 10.0174ZM13.8198 10.2686C13.8671 10.2686 13.9054 10.2302 13.9054 10.1829C13.9054 10.1356 13.8671 10.0972 13.8198 10.0972C13.7725 10.0972 13.7341 10.1356 13.7341 10.1829C13.7341 10.2302 13.7725 10.2686 13.8198 10.2686ZM13.9739 11.0019C13.9739 10.9169 14.0431 10.8477 14.1281 10.8477C14.2131 10.8477 14.2823 10.9169 14.2823 11.0019C14.2823 11.0869 14.2131 11.1561 14.1281 11.1561C14.0431 11.1561 13.9739 11.0869 13.9739 11.0019ZM14.0424 11.0019C14.0424 11.0491 14.0809 11.0876 14.1281 11.0876C14.1753 11.0876 14.2138 11.0491 14.2138 11.0019C14.2138 10.9547 14.1753 10.9162 14.1281 10.9162C14.0809 10.9162 14.0424 10.9547 14.0424 11.0019ZM8.67926 19.424C8.67926 19.5941 8.81764 19.7325 8.98768 19.7325C9.15772 19.7325 9.2961 19.5941 9.2961 19.424C9.2961 19.254 9.15772 19.1156 8.98768 19.1156C8.81764 19.1156 8.67926 19.254 8.67926 19.424ZM3.35987 15.4102C3.48762 15.4102 3.59119 15.3066 3.59119 15.1789C3.59119 15.0511 3.48762 14.9475 3.35987 14.9475C3.23212 14.9475 3.12855 15.0511 3.12855 15.1789C3.12855 15.3066 3.23212 15.4102 3.35987 15.4102Z\" fill=\"currentColor\"/>\n</svg>`\n\nexport const CurvedMoonOutlined = `<svg viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\"> <path d=\"M5.99222 9.70618C8.30834 12.0223 12.0339 12.0633 14.4679 9.87934C14.1411 11.0024 13.5331 12.0648 12.643 12.9549C9.85623 15.7417 5.38524 15.7699 2.65685 13.0415C-0.0715325 10.3132 -0.0432656 5.84217 2.74352 3.05539C3.63362 2.16529 4.69605 1.55721 5.81912 1.23044C3.63513 3.66445 3.67608 7.39004 5.99222 9.70618Z\" stroke=\"currentColor\"/> </svg>`\n\nexport const SunFilled = `<svg viewBox=\"0 0 19 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path d=\"M9.5 0.15625C9.89695 0.15625 10.2188 0.478045 10.2188 0.875V3.03125C10.2188 3.4282 9.89695 3.75 9.5 3.75C9.10305 3.75 8.78125 3.4282 8.78125 3.03125V0.875C8.78125 0.478045 9.10305 0.15625 9.5 0.15625Z\" fill=\"currentColor\"/>\n<path d=\"M5.1875 9.5C5.1875 7.11827 7.11827 5.1875 9.5 5.1875C11.8817 5.1875 13.8125 7.11827 13.8125 9.5C13.8125 11.8817 11.8817 13.8125 9.5 13.8125C7.11827 13.8125 5.1875 11.8817 5.1875 9.5Z\" fill=\"currentColor\"/>\n<path d=\"M16.1071 3.90941C16.3878 3.62872 16.3878 3.17363 16.1071 2.89294C15.8264 2.61225 15.3713 2.61225 15.0906 2.89294L13.5659 4.41764C13.2852 4.69833 13.2852 5.15342 13.5659 5.43411C13.8466 5.7148 14.3017 5.7148 14.5824 5.43411L16.1071 3.90941Z\" fill=\"currentColor\"/>\n<path d=\"M18.8438 9.5C18.8438 9.89695 18.522 10.2188 18.125 10.2188H15.9688C15.5718 10.2188 15.25 9.89695 15.25 9.5C15.25 9.10305 15.5718 8.78125 15.9688 8.78125H18.125C18.522 8.78125 18.8438 9.10305 18.8438 9.5Z\" fill=\"currentColor\"/>\n<path d=\"M15.0905 16.107C15.3712 16.3877 15.8263 16.3877 16.107 16.107C16.3877 15.8263 16.3877 15.3712 16.107 15.0905L14.5823 13.5658C14.3016 13.2851 13.8465 13.2851 13.5658 13.5658C13.2851 13.8465 13.2851 14.3016 13.5658 14.5823L15.0905 16.107Z\" fill=\"currentColor\"/>\n<path d=\"M9.5 15.25C9.89695 15.25 10.2188 15.5718 10.2188 15.9688V18.125C10.2188 18.522 9.89695 18.8438 9.5 18.8438C9.10305 18.8438 8.78125 18.522 8.78125 18.125V15.9688C8.78125 15.5718 9.10305 15.25 9.5 15.25Z\" fill=\"currentColor\"/>\n<path d=\"M5.43427 14.5823C5.71496 14.3016 5.71496 13.8465 5.43427 13.5658C5.15358 13.2851 4.6985 13.2851 4.41781 13.5658L2.89311 15.0905C2.61242 15.3712 2.61242 15.8263 2.89311 16.107C3.1738 16.3877 3.62889 16.3877 3.90957 16.107L5.43427 14.5823Z\" fill=\"currentColor\"/>\n<path d=\"M3.75 9.5C3.75 9.89695 3.4282 10.2188 3.03125 10.2188H0.875C0.478045 10.2188 0.15625 9.89695 0.15625 9.5C0.15625 9.10305 0.478045 8.78125 0.875 8.78125H3.03125C3.4282 8.78125 3.75 9.10305 3.75 9.5Z\" fill=\"currentColor\"/>\n<path d=\"M4.4177 5.4341C4.69839 5.71479 5.15348 5.71479 5.43417 5.4341C5.71485 5.15341 5.71485 4.69832 5.43417 4.41763L3.90947 2.89293C3.62878 2.61224 3.17369 2.61224 2.893 2.89293C2.61231 3.17362 2.61231 3.62871 2.893 3.9094L4.4177 5.4341Z\" fill=\"currentColor\"/>\n</svg>`\n\nexport const SunOutlined = `<svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path d=\"M12 1.5V4.125M19.4246 4.57538L17.5685 6.43153M22.5 12H19.875M19.4246 19.4246L17.5685 17.5685M12 19.875V22.5M6.43153 17.5685L4.57538 19.4246M4.125 12H1.5M6.43153 6.43153L4.57538 4.57538M16.375 12C16.375 14.4162 14.4162 16.375 12 16.375C9.58375 16.375 7.625 14.4162 7.625 12C7.625 9.58375 9.58375 7.625 12 7.625C14.4162 7.625 16.375 9.58375 16.375 12Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>`\n\n\nexport const DoubleUpperT = `<svg viewBox=\"0 0 22 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path d=\"M17.1429 6.42857V15H15V6.42857H10.7143V4.28571H21.4286V6.42857H17.1429ZM8.57143 2.14286V15H6.42857V2.14286H0V0H16.0714V2.14286H8.57143Z\" fill=\"currentColor\"/>\n</svg>`\n\nexport const LowerA = ``\n\nexport const DoubleT = `<svg viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path d=\"M0.880682 2.34375V0.454545H12.1378V2.34375H7.59943V15H5.41193V2.34375H0.880682ZM19.5472 4.09091V5.79545H13.5884V4.09091H19.5472ZM15.1864 1.47727H17.31V11.7969C17.31 12.2088 17.3716 12.5189 17.4947 12.7273C17.6178 12.9309 17.7764 13.0705 17.9705 13.1463C18.1694 13.2173 18.3848 13.2528 18.6168 13.2528C18.7873 13.2528 18.9364 13.241 19.0643 13.2173C19.1921 13.1937 19.2915 13.1747 19.3626 13.1605L19.7461 14.9148C19.623 14.9621 19.4478 15.0095 19.2205 15.0568C18.9933 15.1089 18.7092 15.1373 18.3683 15.142C17.8095 15.1515 17.2887 15.0521 16.8058 14.8438C16.3228 14.6354 15.9322 14.3134 15.6339 13.8778C15.3356 13.4422 15.1864 12.8954 15.1864 12.2372V1.47727Z\" fill=\"currentColor\"/>\n</svg>`\n\nexport const UpperA = `<svg viewBox=\"0 0 20 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"wp-dark-mode-ignore\">\n<path d=\"M2.32955 14.5455H0L5.23438 0H7.76989L13.0043 14.5455H10.6747L6.5625 2.64205H6.44886L2.32955 14.5455ZM2.72017 8.84943H10.277V10.696H2.72017V8.84943Z\" fill=\"currentColor\"/>\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.9474 8.33333L17.7085 5L15.5029 8.33333H17.1697V11.6667H15.5029L17.7085 15.0001L19.9474 11.6667H18.2808V8.33333H19.9474Z\" fill=\"currentColor\"/>\n</svg>`\n\nexport default {}","import { HalfMoonFilled } from \"./SVG\"; \nexport default (config = {}) => { \n \nLog('Found Icons', config.iconLight, config.iconDark);\n return `<div class=\"_track wp-dark-mode-ignore\"><div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || HalfMoonFilled}</div><div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || HalfMoonFilled}</div></div>` }","import { SunFilled, StarMoonFilled } from './SVG'; export default ((config = {}) => { return ` <div class=\"_track wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || SunFilled}</div> <div class=\"_thumb wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || SunFilled}</div> <div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || StarMoonFilled}</div> </div> </div>` })","import { SunFilled, HalfMoonFilled } from './SVG'; export default ((config = {}) => { return ` <div class=\"_track wp-dark-mode-ignore\"> <div class=\"_thumb wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || SunFilled}</div> <div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || HalfMoonFilled}</div> </div> </div>` })","import { SunFilled, HalfMoonFilled } from './SVG'; export default ((config = {}) => { return ` <div class=\"_track wp-dark-mode-ignore\"> <div class=\"_thumb wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || SunFilled}</div> <div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || HalfMoonFilled}</div> </div> </div>` })","import { SunOutlined } from \"./SVG\"; export default (config = {}) => { return ` <div class=\"_track wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconLight || SunOutlined }</div> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconDark || SunOutlined }</div> </div>` }","import { FullMoonFilled, DoubleUpperT } from './SVG'; export default (config = {}) => { return ` <div class=\"_scheme wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconLight || FullMoonFilled }</div> <div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || FullMoonFilled}</div> </div> <div class=\"_font wp-dark-mode-ignore\"> <div class=\"_icon\">${config.fontIcon || DoubleUpperT }</div> <div class=\"_icon wp-dark-mode-ignore\">${config.fontIconActive || DoubleUpperT}</div> </div>` }","import { SunFilled, HalfMoonFilled } from './SVG'; export default (config = {}) => { const fontIcon = config.fontIcon ? `<img src=\"${config.fontIcon}\"></img>` : `a`; const fontIconActive = config.fontIconActive ? `<img src=\"${config.fontIconActive}\"></img>` : 'A'; return ` <div class=\"_scheme wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconLight || SunFilled }</div> <div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || HalfMoonFilled }</div> </div> <div class=\"_font wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${fontIcon}</div> <div class=\"_icon wp-dark-mode-ignore\">${fontIconActive}</div> </div>` }","import { SunOutlined, StarMoonOutlined, DoubleT } from './SVG'; export default (config = {}) => { return ` <div class=\"_scheme wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconLight || SunOutlined }</div> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconDark || StarMoonOutlined }</div> </div> <div class=\"_font wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${config.fontIcon ? `<img src=\"${config.fontIcon}\"></img>` : DoubleT}</div> <div class=\"_icon wp-dark-mode-ignore\">${config.fontIconActive ? `<img src=\"${config.fontIconActive}\"></img>` : DoubleT}</div> </div>` }","import { RichSunFilled, RichMoonFilled, UpperA } from './SVG'; export default (config = {}) => { return ` <div class=\"_scheme wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconLight || RichSunFilled }</div> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconDark || RichMoonFilled }</div> </div> <div class=\"_font wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.fontIcon || UpperA}</div> <div class=\"_icon wp-dark-mode-ignore\">${ config.fontIconActive || UpperA}</div> </div>` }","import { FullMoonFilled, UpperA } from './SVG'; export default (config = {}) => { return ` <div class=\"_font wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.fontIcon || UpperA }</div> <div class=\"_icon wp-dark-mode-ignore\">${ config.fontIconActive || UpperA }</div> </div> <div class=\"_scheme wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconLight || FullMoonFilled }</div> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconDark || FullMoonFilled }</div> </div>` }","import { SunOutlined, StarMoonFilled, UpperA } from './SVG'; export default (config = {}) => { return ` <div class=\"_font wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.fontIcon || UpperA }</div> <div class=\"_icon wp-dark-mode-ignore\">${ config.fontIconActive || UpperA }</div> </div> <div class=\"_scheme wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconLight || SunOutlined }</div> <div class=\"_icon wp-dark-mode-ignore\">${ config.iconDark || StarMoonFilled }</div> </div>` }","export default (config = {}) => { return `<div class=\"_track wp-dark-mode-ignore\"><span class=\"wp-dark-mode-ignore\">${config.textLight || 'Light'}</span><div class=\"_thumb wp-dark-mode-ignore\"></div><span class=\"wp-dark-mode-ignore\">${config.textDark || 'Dark'}</span></div>` }","import { SunOutlined, HalfMoonOutlined } from \"./SVG\"; export default ((config = {}) => { return `<div class=\"_track wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || SunOutlined}</div> <span class=\"_thumb wp-dark-mode-ignore\"></span> <div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || HalfMoonOutlined}</div> </div>` })","import { SunOutlined, HalfMoonOutlined } from \"./SVG\"; export default ((config = {}) => { return `<div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || SunOutlined}</div><div class=\"_track wp-dark-mode-ignore\"><span class=\"_thumb wp-dark-mode-ignore\"></span></div><div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || HalfMoonOutlined}</div>` })","import { RichSunOutlined, CurvedMoonOutlined } from './SVG'\n\nexport default (config = {}) => {\n\treturn `<div class=\"_track wp-dark-mode-ignore\"><div class=\"_thumb wp-dark-mode-ignore\"><div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || RichSunOutlined}</div><div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || CurvedMoonOutlined}</div></div></div>`\n}","import { RichSunOutlined, CurvedMoonOutlined } from './SVG'\n\nexport default ((config = {}) => {\n\treturn `<span class=\"wp-dark-mode-ignore\">${config.textLight || 'Light'}</span><div class=\"_track wp-dark-mode-ignore\"><div class=\"_thumb wp-dark-mode-ignore\"><div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || RichSunOutlined}</div><div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || CurvedMoonOutlined}</div></div></div><span class=\"wp-dark-mode-ignore\">${config.textDark || 'Dark'}</span>`\n})","import { RichSunOutlined, CurvedMoonOutlined } from './SVG'; export default ((config = {}) => { return ` <div class=\"_track wp-dark-mode-ignore\"> <div class=\"_thumb wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || RichSunOutlined}</div> <div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || CurvedMoonOutlined}</div> </div> </div> `; })","import { SunOutlined, HalfMoonOutlined } from './SVG'; export default ((config = {}) => { return ` <div class=\"_track wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || SunOutlined}</div> <span class=\"_thumb wp-dark-mode-ignore\"></span> <div class=\"_icon wp-dark-mode-ignore\">${config.iconDark || HalfMoonOutlined}</div> </div>`; })","import { SunOutlined } from './SVG'; export default ((config = {}) => { return ` <div class=\"_track wp-dark-mode-ignore\"> <div class=\"_thumb wp-dark-mode-ignore\"> <div class=\"_icon wp-dark-mode-ignore\">${config.iconLight || SunOutlined}</div> </div> </div>`; })","import Base from './Base'\nimport WPDarkMode from './WPDarkMode'\nimport * as Switches from '../switches';\nimport Accessibility from './Accessibility'\n\nclass DarkModeSwitch extends Base {\n\n\t/**\n\t * Get switch elements\n\t */\n\tgetSwitches(exclude = '') {\n\n\t\tif (exclude !== '') {\n\t\t\treturn document.querySelectorAll(`.wp-dark-mode-switch:not(${exclude})`);\n\t\t}\n\n\t\treturn document.querySelectorAll('.wp-dark-mode-switch');\n\t}\n\n\t/**\n\t * init\n\t */\n\tready() {\n\n\t\tconst source = typeof wp_dark_mode_admin_json !== 'undefined' ? wp_dark_mode_admin_json : wp_dark_mode_json;\n\n\t\t// Bail, if not enabled.\n\t\tif (source && source.is_excluded) return;\n\n\t\tthis.injectSwitches();\n\n\t\tthis.listenSwitches();\n\t\tthis.reactiveSwitches();\n\n\t\tthis.throttle = false;\n\n\t\tif ( wp_dark_mode_json.options.performance_track_dynamic_content ) {\n\t\t\t// Inject switches when mutation occurs in BODY.\n\t\t\tconst observer = new MutationObserver((mutations) => {\n\t\t\t\tmutations.forEach((mutation) => {\n\t\t\t\t\tif (this.throttle) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t// Log('ClassList changed!');\n\n\t\t\t\t\tthis.throttle = true;\n\t\t\t\t\tsetTimeout(this.injectSwitches, 200);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.throttle = false;\n\t\t\t\t\t}, 500);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tobserver.observe(document.body, {\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true,\n\t\t\t\tattributes: false,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Inject switches to DOM\n\t */\n\tinjectSwitches = () => {\n\t\tconst switches = this.getSwitches('.ignore');\n\n\t\tif (!switches || !switches.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst THIS = this;\n\t\t// Log('injectSwitches', switches);\n\n\t\tswitches.forEach((switchEl) => {\n\n\t\t\t// Bail, if already injected.\n\t\t\tif (switchEl.querySelector('.wp-dark-mode-switch-styled')) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst data_keys = ['style', 'size', 'reactive', 'textLight', 'textDark', 'iconLight', 'iconDark'];\n\n\t\t\tconst config = {}\n\t\t\tdata_keys.forEach((key) => {\n\t\t\t\tconfig[key] = switchEl.dataset[key] || null;\n\t\t\t})\n\n\t\t\t// Return if style is not defined.\n\t\t\tif (!config.style) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Log('config', config);\n\t\t\tconst switchHtml = THIS.buildSwitch(config);\n\t\t\tswitchEl.innerHTML = switchHtml;\n\t\t});\n\n\t\t// Event to update switches.\n\t\t// this.emit('injected');\n\t}\n\n\t/**\n\t * Listen switch clicks\n\t */\n\tlistenSwitches() {\n\t\tdocument.addEventListener('click', (event) => {\n\n\n\t\t\t// Check if the clicked element is a Dark Mode switch\n\t\t\tconst isSwitch = event.target.closest('.wp-dark-mode-switch') || event.target.matches('.wp-dark-mode-switch');\n\t\t\t// Bail, if not a Dark Mode switch\n\t\t\tif (!isSwitch) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Bail, if element contains .dummy class.\n\t\t\tif (event.target.closest('.dummy')) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// this.emit('click', event);\n\n\t\t\t// Prevent default action\n\t\t\tevent.preventDefault();\n\n\t\t\t// Log('event.target', event.target);\n\t\t\t// if target has _font in parent or self\n\t\t\tif (event.target.closest('._font') || event.target.matches('._font')) {\n\t\t\t\t// Log('font toggle');\n\t\t\t\tAccessibility.toggleFontSize( event.target.closest('.wp-dark-mode-switch ._font') );\n\n\t\t\t\tthis.emit('font-toggled', event);\n\t\t\t} else {\n\t\t\t\tWPDarkMode.toggle().remember();\n\n\t\t\t\t// this.emit('toggled', event);\n\t\t\t}\n\n\t\t});\n\t}\n\n\t/**\n\t * Reactive switches\n\t */\n\treactiveSwitches() {\n\n\t\t// Initial update switches.\n\t\tthis.updateSwitches();\n\n\t\t// Update switches on change dark mode.\n\t\tWPDarkMode.onChange(this.updateSwitches);\n\t}\n\n\t/**\n\t * Update Switches\n\t */\n\tupdateSwitches = () => {\n\t\tconst switches = this.getSwitches('.dummy');\n\n\t\tif (!switches || !switches.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitches.forEach((switchEl) => {\n\t\t\tconst _scheme = switchEl.querySelector('._scheme')\n\t\t\tif (_scheme) {\n\t\t\t\t// for Accessibility \n\t\t\t\t_scheme.classList[WPDarkMode.isActive ? 'add' : 'remove']('active');\n\t\t\t} else if (switchEl.querySelector('.switch')) {\n\t\t\t\t// For admin\n\t\t\t\tconst switchChild = switchEl.querySelector('.switch')\n\t\t\t\tswitchChild.classList[WPDarkMode.isActive ? 'add' : 'remove']('active');\n\t\t\t} else {\n\t\t\t\t// for normal \n\t\t\t\tlet instantChild = switchEl.querySelector('div:not(.light):not(.dark)');\n\t\t\t\tif( ! instantChild ) instantChild = switchEl\n\t\t\t\tinstantChild.classList[WPDarkMode.isActive ? 'add' : 'remove']('active');\n\t\t\t}\n\t\t});\n\n\t\t// Event to update switches.\n\t\t// this.emit('updated');\n\t}\n\n\t/**\n\t * Build switch\n\t *\n\t * @param {string} style\n\t * @param {string} size \n\t * @returns {string}\n\t */\n\tbuildSwitch(config = {}) {\n\t\tconst isActive = WPDarkMode.isActive;\n\t\tconst isReactive = config.reactive !== false;\n\n\t\tlet html = `<div class=\"wp-dark-mode-switch-styled wp-dark-mode-switch-${config.style || 1} ${isActive && isReactive ? 'active' : ''}\" style=\"--wp-dark-mode-switch-scale: ${config.size || 1}\">`;\n\n\t\t// Adjust switch style.\n\t\tconst switchStyle = 'Switch_' + (config.style || 1);\n\n\t\t// Wrap iconLight and iconDark inside img if exists.\n\t\tconfig.iconLight = config.iconLight ? `<img src=\"${config.iconLight}\" width=\"100%\"></img>` : null\n\t\tconfig.iconDark = config.iconDark ? `<img src=\"${config.iconDark}\" width=\"100%\"></img>` : null\n\n\t\thtml += Switches[switchStyle](config);\n\n\t\thtml += `</div>`;\n\n\t\treturn html;\n\t}\n\n\t// developer events \n\t// clicked = (callback) => {\n\t// \tthis.on('click', callback);\n\t// }\n\n}\n\nexport default new DarkModeSwitch();","export const Log = (...args) => {\n if (!wp_dark_mode_json.debug) return;\n console.log('%cWPDarkMode', 'background: #2663eb; color: #fff; padding: 2px 5px; border-radius: 3px; font-weight: 500;', ...args);\n};\n","import DarkModeApp from '@common/app.js';\nimport DarkModeSwitch from '@common/Switch.js';\nimport { Log } from '@common/Utility.js'; \n/**\n * Initialize the app\n *\n * These classes can be initialized only once to avoid conflicts\n */\n\n(() => {\n window.Log = Log;\n\n window.WPDarkModeApp = DarkModeApp.init();\n\n // Initialize the switch.\n DarkModeSwitch.init();\n})()"],"names":["_Store","key","value","daysToExpire","expires","cookies","cookie","cookieKey","cookieValue","item","__publicField","Store","_DarkMode","__privateAdd","_callbacks","_config","__privateGet","_instance","__privateSet","callback","_a","active","config","DarkMode","WPDarkMode","Base","selector","context","_events","event","args","Accessibility","e","Accessibility$1","global","factory","this","exports","__assign","t","s","i","n","p","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","rejected","result","__generator","body","_","f","y","g","verb","op","__values","o","m","__read","r","ar","error","__spread","userAgent","platform","isChromium","isFirefox","isSafari","isWindows","isMacOS","isShadowDomSupported","isDefinedSelectorSupported","isCSSStyleSheetConstructorSupported","getOKResponse","url","mimeType","response","loadAsDataURL","readResponseAsDataURL","blob","dataURL","reader","setFetchMethod","fetch","messageListeners","sendMessage","addMessageListener","nativeSendMessage_1","_i","nativeAddListener_1","ThemeEngines","DEFAULT_COLORS","DEFAULT_THEME","isArrayLike","items","forEach","iterator","e_1","len","items_1","items_1_1","e_1_1","push","array","addition","a","toArray","results","anchor","fixBaseURL","$url","parseURL","$base","getAbsoluteURL","$relative","b","logWarn","iterateCSSRules","rules","iterate","rule","media","err","iterateCSSDeclarations","style","property","isCSSVariable","getCSSVariables","variables","getElementCSSVariables","element","cssURLRegex","cssImportRegex","getCSSURLValue","cssURL","getCSSBaseBath","replaceCSSRelativeURLsWithAbsolute","$css","cssBasePath","match","pathValue","cssCommentsRegex","removeCSSComments","fontFaceRegex","replaceCSSFontFace","varRegex","replaceCSSVariables","stack","missing","unresolvable","name","fallback","value_1","v","throttle","pending","frameId","lastArgs","throttled","cancel","createAsyncTasksQueue","tasks","runTasks","task","add","getDuration","time","duration","removeNode","node","watchForNodePosition","mode","onRestore","MAX_ATTEMPTS_COUNT","RETRY_TIMEOUT","ATTEMPTS_INTERVAL","prevSibling","parent","attempts","start","timeoutId","restore","now","stop","updateParent","observer","run","skip","parentNode","iterateShadowHosts","root","walker","isDOMReady","readyStateListeners","addDOMReadyListener","listener","removeDOMReadyListener","onReadyStateChange_1","HUGE_MUTATIONS_COUNT","isHugeMutation","mutations","addedNodesCount","getElementsTreeOperations","additions","deletions","moves","duplicateAdditions","duplicateDeletions","optimizedTreeObservers","optimizedTreeCallbacks","createOptimizedTreeObserver","callbacks","observerCallbacks","domReadyListener","hadHugeMutationsBefore_1","subscribedForReadyState_1","onHugeMutations","elementsOperations_1","onMinorMutations","tempStyle","getTempCSSStyleSheet","tempStyleElement","hslToRGB","h","l","_b","_c","x","r_1","b_1","g_1","c","_d","rgbToHSL","r255","g255","b255","max","min","toFixed","digits","fixed","dot","zerosMatch","rgbToString","rgb","rgbToHexString","hslToString","hsl","rgbMatch","hslMatch","hexMatch","parse","$color","parseRGB","parseHSL","parseHex","knownColors","getColorByName","systemColors","getSystemColor","getNumbersFromString","str","splitter","range","units","raw","unitsList","numbers","unit","u","rgbSplitter","rgbRange","rgbUnits","$rgb","hslSplitter","hslRange","hslUnits","$hsl","$hex","scale","inLow","inHigh","outLow","outHigh","clamp","multiplyMatrices","m1","m2","j","len2","sum","k","len3","getMatches","regex","input","group","matches","formatCSS","text","trimLeft","getIndent","depth","emptyRuleRegexp","css","formatted","line","createFilterMatrix","Matrix","applyColorMatrix","matrix","getBgPole","theme","isDarkScheme","prop","getFgPole","colorModificationCache","colorParseCache","parseToHSLWithCache","color","clearColorModificationCache","rgbCacheKeys","themeCacheKeys","getCacheId","modifyColorWithCache","modifyHSL","poleColor","anotherPoleColor","fnCache","id","pole","anotherPole","modified","rf","gf","bf","noopHSL","modifyColor","modifyLightSchemeColor","poleBg","poleFg","modifyLightModeHSL","isDark","isNeutral","isBlue","hx","sx","lx","MAX_BG_LIGHTNESS","modifyBgHSL","lx_1","hx_1","hx_2","isYellow","isCloserToGreen","modifyBackgroundColor","MIN_FG_LIGHTNESS","modifyBlueFgHue","hue","modifyFgHSL","isLight","lx_2","hx_3","hx_4","hx_5","lx_3","modifyForegroundColor","modifyBorderHSL","modifyBorderColor","modifyShadowColor","filter","createTextStyle","lines","FilterMode","getCSSFilterValue","filters","counter","resolvers","rejectors","bgFetch","request","type","data","objectURLs","cleanImageProcessingCache","getModifiableCSSDeclaration","ignoreImageSelectors","isCancelled","important","sourceValue","modifier","getColorModifier","getBgImageModifier","getShadowModifier","getModifiedUserAgentStyle","isIFrame","styleSystemControls","getModifiedScrollbarStyle","getModifiedSelectionStyle","getSelectionColor","backgroundColorSelection","foregroundColorSelection","modifiedSelectionColor","selection","colorTrack","colorIcons","colorThumb","colorThumbHover","colorThumbActive","colorCorner","hsl_1","lighten","lighter","darken","darker","getModifiedFallbackStyle","strict","unparsableColors","colorParseCache$1","parseColorWithCache","tryParseColor","rgb_1","imageDetailsCache","awaitingForImageLoading","index_2","colorMatches_1","modifiers_2","prefixIndex","matchIndex","matchEnd","modify","cleanModificationCache","overrides","overridesList","INLINE_STYLE_ATTRS","INLINE_STYLE_SELECTOR","attr","getInlineOverrideStyle","dataAttr","customProp","cssProp","getInlineStyleElements","treeObservers","attrObservers","watchForInlineStyles","elementStyleDidChange","shadowRootDiscovered","deepWatchForInlineStyles","host","discoveredNodes","discoverNodes","el","treeObserver","added","attemptCount","cache","handleAttributeMutations","attrObserver","attributeCache","stopWatchingForInlineStyles","inlineStyleCache","filterProps","getInlineStyleCacheKey","shouldIgnoreInlineStyle","selectors","ingnoredSelector","overrideInlineStyle","ignoreInlineSelectors","cacheKey","unsetProps","setCustomProp","targetCSSProp","modifierCSSProp","cssVal","mod","SMALL_SVG_LIMIT","isBg","width","height","metaThemeColorName","metaThemeColorSelector","srcMetaThemeColor","changeMetaThemeColor","meta","changeMetaThemeColorWhenAvailable","loop","addedNodes","restoreMetaThemeColor","themeCacheKeys$1","getThemeKey","asyncQueue","createStyleSheetModifier","renderId","rulesTextCache","rulesModCache","prevFilterKey","modifySheet","options","newRules","force","prepareSheet","isAsyncCancelled","rulesChanged","notFoundCacheKeys","themeKey","themeChanged","modRules","cssText","textDiffersFromPrev","vars","varsRule","cssTextWithVariables","modDecs","targetRule","modRule","parentRule","setRule","target","index","declarations","asyncDeclarations","asyncDeclarationCounter","rootReadyGroup","groupRefs","getGroup","parentGroup","readyStyleRule","readyDeclarations","asyncKey_1","asyncDeclaration_1","promise","currentRenderId_1","asyncValue","rebuildAsyncRule","sheet","buildStyleSheet","createTarget","iterateReadyRules","styleIterator","asyncKey","STYLE_SELECTOR","shouldManageStyle","getManageableStyles","deep","syncStyleSet","corsStyleSet","canOptimizeUsingProxy","manageStyle","update","loadingStart","loadingEnd","prevStyles","next","corsCopy","syncStyle","corsCopyPositionWatcher","syncStylePositionWatcher","cancelAsyncOperations","sheetModifier","observerOptions","containsCSSImport","getRulesSync","safeGetSheetRules","insertStyle","createSyncStyle","isLoadingRules","wasLoadingError","getRulesAsync","cssRules","accessError","fullCSSText","getRulesOrError","isStillLoadingError","linkLoading","loadText","replaceCSSImports","createCORSCopy","details","forceRenderStyle","render","ignoreImageAnalysis","prepareOverridesSheet","buildOverrides","watchForSheetChanges","watchForSheetChangesUsingProxy","watchForSheetChangesUsingRAF","rulesChangeKey","rulesCheckFrameId","getRulesChangeKey","didRulesKeyChange","stopWatchingForSheetChangesUsingRAF","checkForUpdate","areSheetChangesPending","onSheetChange","handleSheetChanges","stopWatchingForSheetChangesUsingProxy","stopWatchingForSheetChanges","pause","destroy","watch","maxMoveCount","moveCount","shouldForceRender","link","cleanUp","onLoad","onError","getCSSImportURL","importDeclaration","basePath","importMatches","importMatches_1","importMatches_1_1","importURL","absoluteURL","importedCSS","srcElement","cors","observers","observedRoots","undefinedGroups","elementsDefinitionCallback","collectUndefinedElements","tag","customElementsWhenDefined","elements","canOptimizeUsingProxy$1","resolvers$1","handleIsDefined","checkIfDefined_1","watchWhenCustomElementsDefined","unsubscribeFromDefineCustomElements","watchForStyleChanges","currentStyles","stopWatchingForStyleChanges","prevStyleSiblings","nextStyleSiblings","saveStylePosition","forgetStylePosition","didStylePositionChange","handleStyleOperations","operations","createdStyles","removedStyles","movedStyles","handleMinorTreeMutations","subscribeForShadowRootChanges","handleHugeTreeMutations","styles","updatedStyles","observe","shadowRoot","hosts","newStyles","resetObservers","hexify","number","generateUID","adoptedStyleOverrides","overrideList","createAdoptedStyleSheetOverride","injectSheet","override","newSheets","sheetIndex","existingIndex","adoptedStyleSheet","globalVariables","injectProxy","addRuleDescriptor","insertRuleDescriptor","deleteRuleDescriptor","removeRuleDescriptor","addUndefinedResolver","updateSheetEvent","proxyAddRule","proxyInsertRule","returnValue","proxyDeleteRule","proxyRemoveRule","INSTANCE_ID","styleManagers","adoptedStyleManagers","fixes","createOrUpdateStyle","className","createOrUpdateScript","nodePositionWatchers","setupNodePositionWatcher","alias","stopStylePositionWatchers","watcher","createStaticStyleOverrides","fallbackStyle","userAgentStyle","textStyle","invertStyle","inlineStyle","overrideStyle","replaceCSSTemplates","variableStyle","selectionColors","darkSchemeBackgroundColor","darkSchemeTextColor","lightSchemeBackgroundColor","lightSchemeTextColor","schemeBackgroundColor","schemeTextColor","proxyScript","shadowRootsWithOverrides","createShadowStaticStyleOverrides","$cssText","m0","cleanFallbackStyle","getIgnoreImageAnalysisSelectors","createDynamicStyleOverrides","cancelRendering","updateVariables","allStyles","newManagers","createManager","newVariables","manager","loadingStyles","throttledRenderAllStyles","inlineStyleElements","handleAdoptedStyleSheets","loadingStylesCounter","loadingStyleId","didDocumentShowUp","newVars","removeManager","onDOMReady","documentVisibilityListener","watchForDocumentVisibility","alreadyWatching","stopWatchingForDocumentVisibility","createThemeAndWatchForUpdates","runDynamicStyle","watchForUpdates","newManger","managedStyles","created","updated","removed","moved","stylesToRemove","stylesToManage","stylesToRestore","ignoredInlineSelectors","rootVariables","stopWatchingForUpdates","createDarkModeInstanceMarker","metaElement","isAnotherDarkModeInstanceActive","createOrUpdateDynamicTheme","filterConfig","dynamicThemeFixes","iframe","headObserver_1","removeDynamicTheme","removeProxy","cleanDynamicThemeCache","blobRegex","replaceBlobs","promises","banner","collectCSS","addStaticCSS","comment","staticStyle","modifiedCSS","formattedCSS","isIFrame$1","enable","themeOptions","disable","darkScheme","store","handleColorScheme","auto","exportGeneratedCSS","setFetchMethod$1","Color","colorString","alpha","tempDiv","rgbaValues","red","green","blue","opacity","backgroundColor","html","FiltersConfig","all","excludes","ignorableElements","ignoreRecursively","borderColor","child","includedElements","includeRecursively","Color$1","Images","images","image","currentSrc","darkSrc","lightSrc","elementsWithBackground","backgroundImage","src","replaceable_images","imagePair","img","srcWithoutQuery","lowBrightnessExcludes","lowGrayscaleExcludes","Image","Videos","youtubeRegex","vimeoRegex","videoFileRegex","vid","videoID","videos","video","replaceable_videos","videoPair","embeds","embeddedVideos","embed","Video","PI","sin","cos","tan","asin","atan","acos","rad","dayMs","J1970","J2000","toJulian","date","fromJulian","toDays","rightAscension","declination","azimuth","H","phi","dec","altitude","siderealTime","d","lw","astroRefraction","solarMeanAnomaly","eclipticLongitude","M","C","sunCoords","L","SunCalc","lat","lng","times","angle","riseName","setName","J0","julianCycle","approxTransit","Ht","solarTransitJ","ds","hourAngle","observerAngle","getSetJ","w","dh","Jnoon","h0","Jset","Jrise","moonCoords","F","dt","pa","sdist","inc","hoursLater","inUTC","hc","h1","h2","rise","set","xe","ye","roots","x1","x2","dx","module","DarkModeApp","timeZoneOffset","locationUpdated","position","mediaQuery","checkSystemMode","timeToMinutes","timePart","period","hours","minutes","starts","ends","currentMinutes","startMinutes","endMinutes","isDarkMode","loc","sunrise","sunset","DarkModeApp$1","HalfMoonFilled","HalfMoonOutlined","StarMoonFilled","StarMoonOutlined","FullMoonFilled","RichSunOutlined","RichSunFilled","RichMoonFilled","CurvedMoonOutlined","SunFilled","SunOutlined","DoubleUpperT","DoubleT","UpperA","fontIcon","fontIconActive","DarkModeSwitch","switches","THIS","switchEl","data_keys","switchHtml","_scheme","instantChild","exclude","source","mutation","isActive","isReactive","switchStyle","Switches","DarkModeSwitch$1","Log"],"mappings":"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","x_google_ignoreList":[8]}