From e335c65506cccad1a7ec1aa577bb6cb2041f59fe Mon Sep 17 00:00:00 2001 From: "HRG @ SCExC" Date: Sat, 24 Feb 2024 11:12:14 -0500 Subject: [PATCH] hmm --- index.js | 276 +- migrations/000_bootstrap_db.sql | 48 +- package-lock.json | 1647 +- package.json | 10 +- prime.db | Bin 0 -> 4096 bytes public/.DS_Store | Bin 0 -> 6148 bytes public/icons/.DS_Store | Bin 0 -> 6148 bytes public/icons/model.ico | Bin 0 -> 3774 bytes public/icons/route.ico | Bin 0 -> 3774 bytes public/icons/template.ico | Bin 0 -> 3774 bytes .../5e4ae646-92ac-4201-a299-e8d99f557c0b.webp | Bin 0 -> 217012 bytes public/js/_hyperscript.min.js | 6491 +++++ public/js/htmx.min.js | 3382 +++ public/js/tailwind.js | 21625 ++++++++++++++++ views/auth/login.eta | 12 + views/auth/register.eta | 10 + views/index.html | 0 views/workshop/editor.eta | 29 + views/workshop/index.eta | 24 + views/workshop/sidebar.eta | 1 + views/workshop/structure_name.eta | 2 + 21 files changed, 33471 insertions(+), 86 deletions(-) create mode 100644 prime.db create mode 100644 public/.DS_Store create mode 100644 public/icons/.DS_Store create mode 100644 public/icons/model.ico create mode 100644 public/icons/route.ico create mode 100644 public/icons/template.ico create mode 100644 public/js/5e4ae646-92ac-4201-a299-e8d99f557c0b.webp create mode 100644 public/js/_hyperscript.min.js create mode 100644 public/js/htmx.min.js create mode 100644 public/js/tailwind.js create mode 100644 views/auth/login.eta create mode 100644 views/auth/register.eta create mode 100644 views/index.html create mode 100644 views/workshop/editor.eta create mode 100644 views/workshop/index.eta create mode 100644 views/workshop/sidebar.eta create mode 100644 views/workshop/structure_name.eta diff --git a/index.js b/index.js index 85af9a5..bbe7a75 100644 --- a/index.js +++ b/index.js @@ -1,25 +1,37 @@ -const fs = require('fs'); -const path = require('path'); -const express = require('express'); -const session = require('express-session'); -const SQLiteStore = require('better-sqlite3-session-store')(session); -const betterSqlite3 = require('better-sqlite3'); +const fs = require("fs"); +const path = require("path"); +const express = require("express"); +const session = require("express-session"); +const SQLiteStore = require("better-sqlite3-session-store")(session); +const betterSqlite3 = require("better-sqlite3"); +const cheerio = require("cheerio"); +const { Eta } = require("eta"); +const bcrypt = require("bcrypt"); const app = express(); +const bodyParser = require("body-parser"); const PORT = 3000; -const db = betterSqlite3('prime.db'); +let viewpath = path.join(__dirname, "views"); +let eta = new Eta({ views: viewpath, cache: false, autoEscape: false }); -app.use(session({ +app.use(bodyParser.urlencoded({ extended: true })); +app.use(express.static("public")); + +const db = betterSqlite3("prime.db"); +db.pragma("journal_mode = WAL"); + +app.use( + session({ store: new SQLiteStore({ client: db, expired: { clear: true } }), - secret: 'your secret key', + secret: "your secret key", resave: false, saveUninitialized: true, - cookie: { secure: false } -})); - + cookie: { secure: false }, + }) +); function applyMigrations() { - db.exec(` + db.exec(` CREATE TABLE IF NOT EXISTS migrations ( id INTEGER PRIMARY KEY AUTOINCREMENT, filename TEXT NOT NULL, @@ -27,43 +39,227 @@ function applyMigrations() { ); `); + const migrationsDir = path.join(__dirname, "/migrations"); + const migrationFiles = fs + .readdirSync(migrationsDir) + .filter((file) => file.endsWith(".sql")); - const migrationsDir = path.join(__dirname, '/migrations'); - const migrationFiles = fs.readdirSync(migrationsDir).filter(file => file.endsWith('.sql')); + migrationFiles.forEach((file) => { + const isApplied = db + .prepare("SELECT filename FROM migrations WHERE filename = ?") + .get(file); - migrationFiles.forEach(file => { - const isApplied = db.prepare('SELECT filename FROM migrations WHERE filename = ?').get(file); - - console.log(!isApplied, file) - if (!isApplied) { - const sql = fs.readFileSync(path.join(migrationsDir, file), 'utf-8'); - db.exec(sql); - db.prepare('INSERT INTO migrations (filename) VALUES (?)').run(file); - console.log(`Migration applied: ${file}`); - } - }); + if (!isApplied) { + const sql = fs.readFileSync(path.join(migrationsDir, file), "utf-8"); + db.exec(sql); + db.prepare("INSERT INTO migrations (filename) VALUES (?)").run(file); + console.log(`Migration applied: ${file}`); + } + }); } applyMigrations(); -app.get('*', (req, res) => { - const path = req.path; +// __ __ _______ _______ ______ +// | | | || || || _ | +// | | | || _____|| ___|| | || +// | |_| || |_____ | |___ | |_||_ +// | ||_____ || ___|| __ | +// | | _____| || |___ | | | | +// |_______||_______||_______||___| |_| - try { - const stmt = db.prepare('SELECT * FROM routes WHERE path = ?'); - const route = stmt.get(path); +function createUser(db, username, hashedPassword) { + return db + .prepare("INSERT INTO users (username, password) VALUES (?, ?)") + .run(username, hashedPassword).lastInsertRowId; +} - if (route) { - res.json({ success: true, message: 'Path found', data: route }); - } else { - res.status(404).json({ success: false, message: 'Path not found' }); - } - } catch (error) { - console.error(error); - res.status(500).json({ success: false, message: 'Internal server error' }); +function getUser(db, username) { + return db.prepare("SELECT * from users where username = ?").get(username); +} + +app.post("/register", async (req, res) => { + try { + const { username, password } = req.body; + const hashedPassword = await bcrypt.hash(password, 10); // 10 is the saltRounds + createUser(db, username, hashedPassword); + res.redirect("/workshop"); + } catch (e) { + res.render("auth/register.html", { error: e }); + } +}); + +app.post("/login", async (req, res) => { + const { username, password } = req.body; + const user = getUser(db, username); + + if (user && (await bcrypt.compare(password, user.password))) { + req.session.userId = user.id; + return res.redirect("/"); + } + + return res.send( + eta.render("auth/login", { + error: "are you sure you entered that right?", + }) + ); +}); + +app.get("/register", async (req, res) => { + if (req.session.userId) { + return res.redirect("/"); + } + return res.render("auth/register", { error: null }); +}); + +app.get("/login", async (req, res) => { + console.log(req.session.userId); + if (req.session.userId) { + return res.redirect("/"); + } + return res.send(eta.render("auth/login", { error: null })); +}); + +app.all("/logout", async (req, res) => { + return req.session.destroy(() => { + res.redirect("/"); + }); +}); + +// _ _ _______ ______ ___ _ _______ __ __ _______ _______ +// | | _ | || || _ | | | | || || | | || || | +// | || || || _ || | || | |_| || _____|| |_| || _ || _ | +// | || | | || |_||_ | _|| |_____ | || | | || |_| | +// | || |_| || __ || |_ |_____ || || |_| || ___| +// | _ || || | | || _ | _____| || _ || || | +// |__| |__||_______||___| |_||___| |_||_______||__| |__||_______||___| + +function getStructures(db) { + return db.prepare("SELECT * from structures").all(); +} + +function getStructure(db, id) { + return db.prepare("SELECT * from structures where ID = ?").run(id); +} + +function createStructure(db, name, userId) { + const stmt = db.prepare( + "INSERT INTO structures (name, user_id) VALUES (?, ?)" + ); + const info = stmt.run(name, userId); + return info.lastInsertRowid; // Returns the structure_id of the newly created structure +} + +function createRoute(db, verb, path, structureId, userId, handler) { + const stmt = db.prepare( + "INSERT INTO routes (verb, path, structure_id, user_id, handler) VALUES (?, ?, ?, ?, ?)" + ); + const info = stmt.run(verb, path, structureId, userId, handler); + return info.lastInsertRowid; // Returns the route_id of the newly created route +} + +function getTemplateString(db, templateAlias, structId) { + const stmt = db.prepare(` + SELECT t.path + FROM templates AS t + JOIN structure_templates AS st ON t.id = st.template_id + WHERE st.structure_id = ? AND st.alias = ? + `); + + const path = stmt.get(structId, templateAlias); + return fs.readFileSync(path).toString(); +} + +const { LRUCache } = require("lru-cache"); +// we'll figure out max size later +const cache = new LRUCache({ max: 10000 }); + +function getTemplater(structId) { + let etaInstance = cache.get(structId); + + if (!etaInstance) { + etaInstance = new Eta({}); + etaInstance.resolvePath = function (path, _) { + return path; + }; + etaInstance.readFile = function (templateAlias) { + return getTemplateString(db, templateAlias, structId); + }; + cache.set(structId, etaInstance); + } + + return etaInstance; +} + +function bootstrapTemplateWithHTMXetc(htmlString) { + const $ = cheerio.load(htmlString); + + if ($("html").length > 0) { + console.log("waddup"); + let head = $("head"); + + // If does not exist, prepend it to + if (head.length === 0) { + $("html").prepend(""); + head = $("head"); } + + head.append(` + + + + `); + } + + return $.html(); +} + +app.post("/workshop", (req, res) => { + let structId = createStructure(db, req.body.name); + return res.redirect("/workshop/" + structId); +}); + +app.get("/workshop", (req, res) => { + return res.send( + bootstrapTemplateWithHTMXetc( + eta.render("workshop/index", { + structures: getStructures(db), + }) + ) + ); +}); + +app.get("/workshop/:structure_id", (req, res) => { + return res.send( + bootstrapTemplateWithHTMXetc( + eta.render("workshop/editor", { + structure: getStructure(db, req.params.structure_id), + }) + ) + ); +}); + +app.all("*", (req, res) => { + const path = req.path; + const verb = req.method; + + try { + const stmt = db.prepare("SELECT * FROM routes WHERE path = ? AND verb = ?"); + const route = stmt.get(path, verb); + + if (route) { + return res.send( + eval(route.handler)({ ...this, ...handlerContext(req, res) }) + ); + } else { + res.status(404).json({ success: false, message: "Path not found" }); + } + } catch (error) { + console.error(error); + res.status(500).json({ success: false, message: "Internal server error" }); + } }); app.listen(PORT, () => { - console.log(`Server is running on http://localhost:${PORT}`); + console.log(`Server is running on http://localhost:${PORT}`); }); diff --git a/migrations/000_bootstrap_db.sql b/migrations/000_bootstrap_db.sql index ab60fe2..e3973ec 100644 --- a/migrations/000_bootstrap_db.sql +++ b/migrations/000_bootstrap_db.sql @@ -1,51 +1,63 @@ CREATE TABLE users ( - user_id INTEGER PRIMARY KEY AUTOINCREMENT, - username TEXT NOT NULL + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT NOT NULL, + password TEXT NOT NULL, + UNIQUE(username) ); CREATE TABLE structures ( - structure_id INTEGER PRIMARY KEY AUTOINCREMENT, + id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, user_id INTEGER, - FOREIGN KEY(user_id) REFERENCES users(user_id) + FOREIGN KEY(user_id) REFERENCES users(id), + UNIQUE(name, user_id) ); CREATE TABLE dbs ( - db_id INTEGER PRIMARY KEY AUTOINCREMENT, + id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, belongs_to_struct INTEGER, - FOREIGN KEY(belongs_to_struct) REFERENCES structures(structure_id) + FOREIGN KEY(belongs_to_struct) REFERENCES structures(id), + UNIQUE(name, belongs_to_struct) ); CREATE TABLE templates ( - template_id INTEGER PRIMARY KEY AUTOINCREMENT, - content TEXT NOT NULL, + id INTEGER PRIMARY KEY AUTOINCREMENT, + file_path TEXT NOT NULL, user_id INTEGER, belongs_to_struct INTEGER, - FOREIGN KEY(user_id) REFERENCES users(user_id), - FOREIGN KEY(belongs_to_struct) REFERENCES structures(structure_id) + engine TEXT NOT NULL, + FOREIGN KEY(user_id) REFERENCES users(id), + FOREIGN KEY(belongs_to_struct) REFERENCES structures(id), + UNIQUE(name, belongs_to_struct) ); + CREATE TABLE routes ( - route_id INTEGER PRIMARY KEY AUTOINCREMENT, + id INTEGER PRIMARY KEY AUTOINCREMENT, verb TEXT CHECK(verb IN ('POST', 'GET', 'PUT', 'DELETE')), path TEXT NOT NULL, structure_id INTEGER, user_id INTEGER, handler TEXT NOT NULL, - FOREIGN KEY(structure_id) REFERENCES structures(structure_id), - FOREIGN KEY(user_id) REFERENCES users(user_id) + language TEXT NOT NULL, + FOREIGN KEY(structure_id) REFERENCES structures(id), + FOREIGN KEY(user_id) REFERENCES users(id) UNIQUE(verb, path) ); + CREATE TABLE structure_dbs ( db_id INTEGER, structure_id INTEGER, PRIMARY KEY(db_id, structure_id), - FOREIGN KEY(db_id) REFERENCES dbs(db_id), - FOREIGN KEY(structure_id) REFERENCES structures(structure_id) + FOREIGN KEY(db_id) REFERENCES dbs(id), + FOREIGN KEY(structure_id) REFERENCES structures(id) ); + CREATE TABLE structure_templates ( template_id INTEGER, structure_id INTEGER, + alias TEXT NOT NULL, PRIMARY KEY(template_id, structure_id), - FOREIGN KEY(template_id) REFERENCES templates(template_id), - FOREIGN KEY(structure_id) REFERENCES structures(structure_id) -); + FOREIGN KEY(template_id) REFERENCES templates(id), + FOREIGN KEY(structure_id) REFERENCES structures(id), + UNIQUE(structure_id, alias) +); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index cc2d1b6..26d8b84 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,12 +9,49 @@ "version": "2.0.0", "license": "ISC", "dependencies": { + "bcrypt": "^5.1.1", "better-sqlite3": "^9.4.0", "better-sqlite3-session-store": "^0.1.0", + "body-parser": "^1.20.2", + "cheerio": "^1.0.0-rc.12", + "dot": "^1.1.3", + "ejs": "^3.1.9", + "eta": "^3.2.0", "express": "^4.18.2", - "express-session": "^1.18.0" + "express-session": "^1.18.0", + "lru-cache": "^10.2.0", + "nunjucks": "^3.2.4" } }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -27,11 +64,97 @@ "node": ">= 0.6" } }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -51,6 +174,19 @@ } ] }, + "node_modules/bcrypt": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", + "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", + "hasInstallScript": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.11", + "node-addon-api": "^5.0.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/better-sqlite3": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.4.0.tgz", @@ -88,12 +224,12 @@ } }, "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -101,7 +237,7 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" }, @@ -110,6 +246,20 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -154,11 +304,104 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -191,6 +434,32 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/date-fns": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz", @@ -246,6 +515,11 @@ "node": ">= 0.4" } }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -271,11 +545,92 @@ "node": ">=8" } }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dot/-/dot-1.1.3.tgz", + "integrity": "sha512-/nt74Rm+PcfnirXGEdhZleTwGC2LMnuKTeeTIlI82xb5loBBoXNYzr2ezCroPSMtilK8EZIfcNZwOcHN+ib1Lg==", + "engines": [ + "node >=0.2.6" + ], + "bin": { + "dottojs": "bin/dot-packer" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -292,6 +647,17 @@ "once": "^1.4.0" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/es-errors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.0.0.tgz", @@ -305,6 +671,17 @@ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, + "node_modules/eta": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-3.2.0.tgz", + "integrity": "sha512-Qzc3it7nLn49dbOb9+oHV9rwtt9qN8oShRztqkZ3gXPqQflF0VLin5qhWk0g/2ioibBwT4DU6OIMVft7tg/rVg==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -393,11 +770,75 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==" }, + "node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/express/node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/finalhandler": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", @@ -436,6 +877,33 @@ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -444,6 +912,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/get-intrinsic": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.3.tgz", @@ -467,6 +954,25 @@ "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -478,6 +984,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", @@ -511,6 +1025,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, "node_modules/hasown": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", @@ -522,6 +1041,24 @@ "node": ">= 0.4" } }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -537,6 +1074,39 @@ "node": ">= 0.8" } }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -567,6 +1137,15 @@ } ] }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -585,17 +1164,61 @@ "node": ">= 0.10" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dependencies": { - "yallist": "^4.0.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" }, "engines": { "node": ">=10" } }, + "node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -658,6 +1281,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", @@ -666,6 +1300,48 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", @@ -700,6 +1376,98 @@ "node": ">=10" } }, + "node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "dependencies": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + }, + "bin": { + "nunjucks-precompile": "bin/precompile" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "chokidar": "^3.3.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -735,6 +1503,29 @@ "wrappy": "1" } }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -743,6 +1534,14 @@ "node": ">= 0.8" } }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -825,9 +1624,9 @@ } }, "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -865,6 +1664,20 @@ "node": ">= 6" } }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -903,6 +1716,17 @@ "node": ">=10" } }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/send": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", @@ -945,6 +1769,11 @@ "node": ">= 0.8.0" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, "node_modules/set-function-length": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", @@ -978,6 +1807,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, "node_modules/simple-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", @@ -1037,6 +1871,30 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -1045,6 +1903,33 @@ "node": ">=0.10.0" } }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/tar-fs": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", @@ -1071,6 +1956,14 @@ "node": ">=6" } }, + "node_modules/tar/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, "node_modules/toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -1079,6 +1972,11 @@ "node": ">=0.6" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -1142,6 +2040,28 @@ "node": ">= 0.8" } }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -1154,6 +2074,32 @@ } }, "dependencies": { + "@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "requires": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + } + }, + "a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -1163,16 +2109,90 @@ "negotiator": "0.6.3" } }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "bcrypt": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", + "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", + "requires": { + "@mapbox/node-pre-gyp": "^1.0.11", + "node-addon-api": "^5.0.0" + } + }, "better-sqlite3": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.4.0.tgz", @@ -1209,12 +2229,12 @@ } }, "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "requires": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", @@ -1222,11 +2242,25 @@ "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.11.0", - "raw-body": "2.5.1", + "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" } }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -1251,11 +2285,80 @@ "set-function-length": "^1.1.1" } }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "requires": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + } + }, + "cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "requires": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + } + }, "chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, "content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -1279,6 +2382,23 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, "date-fns": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz", @@ -1315,6 +2435,11 @@ "has-property-descriptors": "^1.0.0" } }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -1330,11 +2455,62 @@ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==" }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "dot": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dot/-/dot-1.1.3.tgz", + "integrity": "sha512-/nt74Rm+PcfnirXGEdhZleTwGC2LMnuKTeeTIlI82xb5loBBoXNYzr2ezCroPSMtilK8EZIfcNZwOcHN+ib1Lg==" + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, + "ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "requires": { + "jake": "^10.8.5" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -1348,6 +2524,11 @@ "once": "^1.4.0" } }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, "es-errors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.0.0.tgz", @@ -1358,6 +2539,11 @@ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, + "eta": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-3.2.0.tgz", + "integrity": "sha512-Qzc3it7nLn49dbOb9+oHV9rwtt9qN8oShRztqkZ3gXPqQflF0VLin5qhWk0g/2ioibBwT4DU6OIMVft7tg/rVg==" + }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -1404,6 +2590,38 @@ "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" + }, + "dependencies": { + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + } } }, "express-session": { @@ -1438,6 +2656,32 @@ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, "finalhandler": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", @@ -1467,11 +2711,50 @@ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, "function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, + "gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + } + }, "get-intrinsic": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.3.tgz", @@ -1489,6 +2772,19 @@ "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, "gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -1497,6 +2793,11 @@ "get-intrinsic": "^1.1.3" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, "has-property-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", @@ -1515,6 +2816,11 @@ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, "hasown": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", @@ -1523,6 +2829,17 @@ "function-bind": "^1.1.2" } }, + "htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, "http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -1535,6 +2852,30 @@ "toidentifier": "1.0.1" } }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -1548,6 +2889,15 @@ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -1563,12 +2913,40 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "requires": { - "yallist": "^4.0.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + } + }, + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } } }, "media-typer": { @@ -1609,11 +2987,48 @@ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "minimist": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, "mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", @@ -1642,6 +3057,61 @@ "semver": "^7.3.5" } }, + "node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "requires": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nunjucks": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz", + "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==", + "requires": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, "object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -1668,11 +3138,33 @@ "wrappy": "1" } }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "requires": { + "entities": "^4.4.0" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + } + }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -1734,9 +3226,9 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "requires": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -1765,6 +3257,14 @@ "util-deprecate": "^1.0.1" } }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -1781,6 +3281,16 @@ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + } } }, "send": { @@ -1821,6 +3331,11 @@ "send": "0.18.0" } }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, "set-function-length": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", @@ -1848,6 +3363,11 @@ "object-inspect": "^1.9.0" } }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, "simple-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", @@ -1876,11 +3396,57 @@ "safe-buffer": "~5.2.0" } }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + } + } + }, "tar-fs": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", @@ -1909,6 +3475,11 @@ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -1954,6 +3525,28 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index 8db4a96..4c79dbb 100644 --- a/package.json +++ b/package.json @@ -9,9 +9,17 @@ "author": "", "license": "ISC", "dependencies": { + "bcrypt": "^5.1.1", "better-sqlite3": "^9.4.0", "better-sqlite3-session-store": "^0.1.0", + "body-parser": "^1.20.2", + "cheerio": "^1.0.0-rc.12", + "dot": "^1.1.3", + "ejs": "^3.1.9", + "eta": "^3.2.0", "express": "^4.18.2", - "express-session": "^1.18.0" + "express-session": "^1.18.0", + "lru-cache": "^10.2.0", + "nunjucks": "^3.2.4" } } diff --git a/prime.db b/prime.db new file mode 100644 index 0000000000000000000000000000000000000000..0a06b00940a2e489182e153184a104fe6003c831 GIT binary patch literal 4096 zcmWFz^vNtqRY=P(%1ta$FlG>7U}9o$P*7lCU|@t|AVoG{WY8CI za~5(6(?_}&>t+z^U?!Fg|0e^qck>WI6Eq|+xqtLYT%oT0GGeAb5g829j@#**pc6-F zuUx(txw-uOy9K!*7v(qqR1f@Kqt{QXjqWkE4z!MgalH{7My)};_da8C?j)6uS6oaZpJXwyNs$A@qu z3->}1W_0XdnQ#!EMJ|~EW?-6uIomAK{lEMB_y2Sfx0nHD;7u_g@-@F!#U;7Bb!KsN v*DBQSs3a7ZS$s;tin)q0magJuR3m6tR6+C{W){(c!ao9r1}>O^f6Blk{1$*= literal 0 HcmV?d00001 diff --git a/public/icons/.DS_Store b/public/icons/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5b65c7f74c2a0eb6211eee9b1e79fdc99e073771 GIT binary patch literal 6148 zcmeHKu}(uV478y`5eyw!kn#nU_=8ZDfteqGwhTzGdKIF3c0L;JY*V%6i3uTuY$-W6 z_9ZVTHHk$;XWP}a$V5cOXhfwmU>qI{oka2}P;HJ*rt&OH>F>IMiT>gczx_{EeMAQjjt!1JM?5o=&`w4(!^l>opIhRxvf!AwpGtbxrD5tup^ z=v0joL!FNC5_vVSIXYc5iVuyIKZ_T&)iHmubkXXVeJYR&94f%t7dGMje~Z7&V3BVr z*`)%hz<*UhNAvsn47-cF^~*ka*A}z~G#c|79T@zBM*x2C9J#ch#|wSr)xhS+SvYQV PU_Jy)knB={Ur^u!y~Z`# literal 0 HcmV?d00001 diff --git a/public/icons/model.ico b/public/icons/model.ico new file mode 100644 index 0000000000000000000000000000000000000000..95583c509b7bfb6b44c4437e2ed1fd10b66f0416 GIT binary patch literal 3774 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 Tyh;Uyyte4cRVHgw8TtPJuN?%x literal 0 HcmV?d00001 diff --git a/public/icons/template.ico b/public/icons/template.ico new file mode 100644 index 0000000000000000000000000000000000000000..15361d329d42255bcfe7294c0e3f028c05169468 GIT binary patch literal 3774 zcma)<2|!fU8pr=&iWO>4Lha!~ymBklM1>NcOPZ7~lmbLZaV_I1kVLK!3TOzCAR>aq z1Cm7;2*K-R1W`-*?VE=iUpTK|f2D zK&80Jz%<&MPaAt`Cv6&-NPnNNyhDd@&)prxXU?G1&kq?VP9WfmFK|CF5ZT{-hhOQO zr@cLrPo6~l@#9GI@MML=ZjQG4dX$p)F_(**R11%| zzK#yuzjFuu-QD0-S7YCvJ*eaJVMX=)HZTBbLjxMf$E&Hq&s1+;Z!hYELX=bPjI%z- zx)_Yx;bFLP?gyksMIy`79aXooQB2#B{d;IkJdqdhCAj_;D9ngOPhA*9FW2S1{Gbz&vz=B;Oqa{4g|? zkhjJI49}A`Z!ooIz&!EAz#|_tR$oKdr64due=s6yr#=W>)&7vz&^d817)dA?X*ih1 z2*|1~Ku~fCOmid{*-v0vXp9}~*;r+}uB z5)ruE|L>I!FP zXE-`K;=q9eaBy&dJ+0$y+qS{X%uH3!=%<20G1xyyzf{^^OR;OljF(u=nDO=&W&dAT z-g`-R*8D|_jE#+r4Cc?$oeLKip`rV)X)6c2o4GPkeO@-n2n1suKw6MB;|6jUR5D^RD4cR<^{ys5=&4 zSYIc2!ndxgFO)QXY&vtPz7DGwiJ!c1jQZaxtQT5a)IJfa_;>UTr)sg9$ksC!KW8)X zd<*L#Ugym>$Embqik^=4Q*(u)_m4Sdej*Z0*IOgv7H(}c)zP1-si`?hcOfkb(%^u( zxl-BxtVe(K3M~x{EyD(><$~#Y<21D2SM+p|=!c`vaZ9v&yWyG535;2)et{al(UnQ(^hGtrA=4& zF#oa}!JeL;UUEq-k99m4=Gh<+ir8*QrA=-5J#72)=k6fd%Zr|QU)ziV)w_JU8?*o= zP3>|P#{z>ro&@{)`uZI#V@F@DT5*R}YrBlcv*yer|d&rAuKfmw4|Dm&9 z4O6TwkZ&QRZ0J;3rwYfSCDRU{^(ENfKOo@i7F7c7LpIb(x(A*r`?`3|Z5 z>1-7p5D<9&d@!3pAgipbEV)nP+0xxV(AO!;AH4t;8SVD_-k;#0pbHl+_*n6H6_wTH z<<;yM@x^6rt)liGwya^9typ}J#e*(f3Jndr{NuSYUTHZi)tJ^=@Gbc5-CITyn624< z$UoqG(52AJm%}3?BY*l&8ShRN@fAbeq;A-B_l+c2xnbUE77q)LjEat?_s~_!aKECW zqL{}kEGfBbL36dE`!{ttSo!W}-h^KckBW|ojbnB39QA=!@jVjV5sQLub2V>fYVvg; z+j>+?Y5^wgeRl#iY zvGIhbWw1(1P2$AGg!s^7g{8#>^lhk?na$=^tIqkHxe~`oN=?6hgLFM3EhRA_HtNUm zx*aqRNNSjE{?kpXR;^mTeEDZSt`X@sZj#8rCWt;W{?(DP)fTJz%~r#P&*sgu-RJZR z88Xt6Iq@-$<9Dg4QL*e3Ym3e6R&J*ZWcbJI*{|8TM*N(T$nrBraU;9-Hk&qmyy2tO zCX2TZ8KzBpWy(Rvkb~oYzeyvode8oY4?Zw?cf$&!`LkxfMut~jCXGx2HTG<@UuSBv zXz5bJ1$MJkhWuwQKj+Ba*vM$^TW`$S_V@pfS2bgAY;RyNMuSYpIQFv)j0e7DBR!Dj zu#sM*T5P0yMF1eAf1}u#I}+*p3Gkpc{}BJg%^C7j1FH6bZ&mG6CO|brQ--6~a2z*$ zUE>dta;abN>N)gGBwlq)ej%~W)E*nzJgP|f)iIY&vvoW#dJJDzMe>b~Y(H3O4MkOd b=}Z@KgN3ZXTu;lS^uB<^UI^q$NfA5pjT7~ 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

$4(-#?U+|^L*qjqe(>)$v0k0uj@+V1ES563z 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 OPgLUtPh=ME0R1nrBgKyZ literal 0 HcmV?d00001 diff --git a/public/js/_hyperscript.min.js b/public/js/_hyperscript.min.js new file mode 100644 index 0000000..42a13b7 --- /dev/null +++ b/public/js/_hyperscript.min.js @@ -0,0 +1,6491 @@ +(function (e, t) { + const r = t(e); + if (typeof exports === "object" && typeof exports["nodeName"] !== "string") { + module.exports = r; + } else { + e["_hyperscript"] = r; + if ("document" in e) e["_hyperscript"].browserInit(); + } +})(typeof self !== "undefined" ? self : this, (e) => { + "use strict"; + const t = { + dynamicResolvers: [ + function (e, t) { + if (e === "Fixed") { + return Number(t).toFixed(); + } else if (e.indexOf("Fixed:") === 0) { + let r = e.split(":")[1]; + return Number(t).toFixed(parseInt(r)); + } + }, + ], + String: function (e) { + if (e.toString) { + return e.toString(); + } else { + return "" + e; + } + }, + Int: function (e) { + return parseInt(e); + }, + Float: function (e) { + return parseFloat(e); + }, + Number: function (e) { + return Number(e); + }, + Date: function (e) { + return new Date(e); + }, + Array: function (e) { + return Array.from(e); + }, + JSON: function (e) { + return JSON.stringify(e); + }, + Object: function (e) { + if (e instanceof String) { + e = e.toString(); + } + if (typeof e === "string") { + return JSON.parse(e); + } else { + return Object.assign({}, e); + } + }, + }; + const r = { + attributes: "_, script, data-script", + defaultTransition: "all 500ms ease-in", + disableSelector: "[disable-scripting], [data-disable-scripting]", + hideShowStrategies: {}, + conversions: t, + }; + class n { + static OP_TABLE = { + "+": "PLUS", + "-": "MINUS", + "*": "MULTIPLY", + "/": "DIVIDE", + ".": "PERIOD", + "..": "ELLIPSIS", + "\\": "BACKSLASH", + ":": "COLON", + "%": "PERCENT", + "|": "PIPE", + "!": "EXCLAMATION", + "?": "QUESTION", + "#": "POUND", + "&": "AMPERSAND", + $: "DOLLAR", + ";": "SEMI", + ",": "COMMA", + "(": "L_PAREN", + ")": "R_PAREN", + "<": "L_ANG", + ">": "R_ANG", + "<=": "LTE_ANG", + ">=": "GTE_ANG", + "==": "EQ", + "===": "EQQ", + "!=": "NEQ", + "!==": "NEQQ", + "{": "L_BRACE", + "}": "R_BRACE", + "[": "L_BRACKET", + "]": "R_BRACKET", + "=": "EQUALS", + }; + static isValidCSSClassChar(e) { + return ( + n.isAlpha(e) || n.isNumeric(e) || e === "-" || e === "_" || e === ":" + ); + } + static isValidCSSIDChar(e) { + return ( + n.isAlpha(e) || n.isNumeric(e) || e === "-" || e === "_" || e === ":" + ); + } + static isWhitespace(e) { + return e === " " || e === "\t" || n.isNewline(e); + } + static positionString(e) { + return "[Line: " + e.line + ", Column: " + e.column + "]"; + } + static isNewline(e) { + return e === "\r" || e === "\n"; + } + static isNumeric(e) { + return e >= "0" && e <= "9"; + } + static isAlpha(e) { + return (e >= "a" && e <= "z") || (e >= "A" && e <= "Z"); + } + static isIdentifierChar(e, t) { + return e === "_" || e === "$"; + } + static isReservedChar(e) { + return e === "`" || e === "^"; + } + static isValidSingleQuoteStringStart(e) { + if (e.length > 0) { + var t = e[e.length - 1]; + if ( + t.type === "IDENTIFIER" || + t.type === "CLASS_REF" || + t.type === "ID_REF" + ) { + return false; + } + if (t.op && (t.value === ">" || t.value === ")")) { + return false; + } + } + return true; + } + static tokenize(e, t) { + var r = []; + var a = e; + var o = 0; + var s = 0; + var u = 1; + var l = ""; + var c = 0; + function f() { + return t && c === 0; + } + while (o < a.length) { + if ( + (q() === "-" && + N() === "-" && + (n.isWhitespace(I(2)) || I(2) === "" || I(2) === "-")) || + (q() === "/" && + N() === "/" && + (n.isWhitespace(I(2)) || I(2) === "" || I(2) === "/")) + ) { + h(); + } else if ( + q() === "/" && + N() === "*" && + (n.isWhitespace(I(2)) || I(2) === "" || I(2) === "*") + ) { + v(); + } else { + if (n.isWhitespace(q())) { + r.push(A()); + } else if ( + !R() && + q() === "." && + (n.isAlpha(N()) || N() === "{" || N() === "-") + ) { + r.push(d()); + } else if (!R() && q() === "#" && (n.isAlpha(N()) || N() === "{")) { + r.push(k()); + } else if (q() === "[" && N() === "@") { + r.push(E()); + } else if (q() === "@") { + r.push(T()); + } else if (q() === "*" && n.isAlpha(N())) { + r.push(y()); + } else if (n.isAlpha(q()) || (!f() && n.isIdentifierChar(q()))) { + r.push(x()); + } else if (n.isNumeric(q())) { + r.push(g()); + } else if (!f() && (q() === '"' || q() === "`")) { + r.push(w()); + } else if (!f() && q() === "'") { + if (n.isValidSingleQuoteStringStart(r)) { + r.push(w()); + } else { + r.push(b()); + } + } else if (n.OP_TABLE[q()]) { + if (l === "$" && q() === "{") { + c++; + } + if (q() === "}") { + c--; + } + r.push(b()); + } else if (f() || n.isReservedChar(q())) { + r.push(p("RESERVED", C())); + } else { + if (o < a.length) { + throw Error("Unknown token: " + q() + " "); + } + } + } + } + return new i(r, [], a); + function m(e, t) { + var r = p(e, t); + r.op = true; + return r; + } + function p(e, t) { + return { + type: e, + value: t || "", + start: o, + end: o + 1, + column: s, + line: u, + }; + } + function h() { + while (q() && !n.isNewline(q())) { + C(); + } + C(); + } + function v() { + while (q() && !(q() === "*" && N() === "/")) { + C(); + } + C(); + C(); + } + function d() { + var e = p("CLASS_REF"); + var t = C(); + if (q() === "{") { + e.template = true; + t += C(); + while (q() && q() !== "}") { + t += C(); + } + if (q() !== "}") { + throw Error("Unterminated class reference"); + } else { + t += C(); + } + } else { + while (n.isValidCSSClassChar(q())) { + t += C(); + } + } + e.value = t; + e.end = o; + return e; + } + function E() { + var e = p("ATTRIBUTE_REF"); + var t = C(); + while (o < a.length && q() !== "]") { + t += C(); + } + if (q() === "]") { + t += C(); + } + e.value = t; + e.end = o; + return e; + } + function T() { + var e = p("ATTRIBUTE_REF"); + var t = C(); + while (n.isValidCSSIDChar(q())) { + t += C(); + } + if (q() === "=") { + t += C(); + if (q() === '"' || q() === "'") { + let e = w(); + t += e.value; + } else if ( + n.isAlpha(q()) || + n.isNumeric(q()) || + n.isIdentifierChar(q()) + ) { + let e = x(); + t += e.value; + } + } + e.value = t; + e.end = o; + return e; + } + function y() { + var e = p("STYLE_REF"); + var t = C(); + while (n.isAlpha(q()) || q() === "-") { + t += C(); + } + e.value = t; + e.end = o; + return e; + } + function k() { + var e = p("ID_REF"); + var t = C(); + if (q() === "{") { + e.template = true; + t += C(); + while (q() && q() !== "}") { + t += C(); + } + if (q() !== "}") { + throw Error("Unterminated id reference"); + } else { + C(); + } + } else { + while (n.isValidCSSIDChar(q())) { + t += C(); + } + } + e.value = t; + e.end = o; + return e; + } + function x() { + var e = p("IDENTIFIER"); + var t = C(); + while (n.isAlpha(q()) || n.isNumeric(q()) || n.isIdentifierChar(q())) { + t += C(); + } + if (q() === "!" && t === "beep") { + t += C(); + } + e.value = t; + e.end = o; + return e; + } + function g() { + var e = p("NUMBER"); + var t = C(); + while (n.isNumeric(q())) { + t += C(); + } + if (q() === "." && n.isNumeric(N())) { + t += C(); + } + while (n.isNumeric(q())) { + t += C(); + } + if (q() === "e" || q() === "E") { + if (n.isNumeric(N())) { + t += C(); + } else if (N() === "-") { + t += C(); + t += C(); + } + } + while (n.isNumeric(q())) { + t += C(); + } + e.value = t; + e.end = o; + return e; + } + function b() { + var e = m(); + var t = C(); + while (q() && n.OP_TABLE[t + q()]) { + t += C(); + } + e.type = n.OP_TABLE[t]; + e.value = t; + e.end = o; + return e; + } + function w() { + var e = p("STRING"); + var t = C(); + var r = ""; + while (q() && q() !== t) { + if (q() === "\\") { + C(); + let t = C(); + if (t === "b") { + r += "\b"; + } else if (t === "f") { + r += "\f"; + } else if (t === "n") { + r += "\n"; + } else if (t === "r") { + r += "\r"; + } else if (t === "t") { + r += "\t"; + } else if (t === "v") { + r += "\v"; + } else if (t === "x") { + const t = S(); + if (Number.isNaN(t)) { + throw Error( + "Invalid hexadecimal escape at " + n.positionString(e), + ); + } + r += String.fromCharCode(t); + } else { + r += t; + } + } else { + r += C(); + } + } + if (q() !== t) { + throw Error("Unterminated string at " + n.positionString(e)); + } else { + C(); + } + e.value = r; + e.end = o; + e.template = t === "`"; + return e; + } + function S() { + const e = 16; + if (!q()) { + return NaN; + } + let t = e * Number.parseInt(C(), e); + if (!q()) { + return NaN; + } + t += Number.parseInt(C(), e); + return t; + } + function q() { + return a.charAt(o); + } + function N() { + return a.charAt(o + 1); + } + function I(e = 1) { + return a.charAt(o + e); + } + function C() { + l = q(); + o++; + s++; + return l; + } + function R() { + return ( + n.isAlpha(l) || + n.isNumeric(l) || + l === ")" || + l === '"' || + l === "'" || + l === "`" || + l === "}" || + l === "]" + ); + } + function A() { + var e = p("WHITESPACE"); + var t = ""; + while (q() && n.isWhitespace(q())) { + if (n.isNewline(q())) { + s = 0; + u++; + } + t += C(); + } + e.value = t; + e.end = o; + return e; + } + } + tokenize(e, t) { + return n.tokenize(e, t); + } + } + class i { + constructor(e, t, r) { + this.tokens = e; + this.consumed = t; + this.source = r; + this.consumeWhitespace(); + } + get list() { + return this.tokens; + } + _lastConsumed = null; + consumeWhitespace() { + while (this.token(0, true).type === "WHITESPACE") { + this.consumed.push(this.tokens.shift()); + } + } + raiseError(e, t) { + a.raiseParseError(e, t); + } + requireOpToken(e) { + var t = this.matchOpToken(e); + if (t) { + return t; + } else { + this.raiseError( + this, + "Expected '" + e + "' but found '" + this.currentToken().value + "'", + ); + } + } + matchAnyOpToken(e, t, r) { + for (var n = 0; n < arguments.length; n++) { + var i = arguments[n]; + var a = this.matchOpToken(i); + if (a) { + return a; + } + } + } + matchAnyToken(e, t, r) { + for (var n = 0; n < arguments.length; n++) { + var i = arguments[n]; + var a = this.matchToken(i); + if (a) { + return a; + } + } + } + matchOpToken(e) { + if ( + this.currentToken() && + this.currentToken().op && + this.currentToken().value === e + ) { + return this.consumeToken(); + } + } + requireTokenType(e, t, r, n) { + var i = this.matchTokenType(e, t, r, n); + if (i) { + return i; + } else { + this.raiseError(this, "Expected one of " + JSON.stringify([e, t, r])); + } + } + matchTokenType(e, t, r, n) { + if ( + this.currentToken() && + this.currentToken().type && + [e, t, r, n].indexOf(this.currentToken().type) >= 0 + ) { + return this.consumeToken(); + } + } + requireToken(e, t) { + var r = this.matchToken(e, t); + if (r) { + return r; + } else { + this.raiseError( + this, + "Expected '" + e + "' but found '" + this.currentToken().value + "'", + ); + } + } + peekToken(e, t, r) { + t = t || 0; + r = r || "IDENTIFIER"; + if ( + this.tokens[t] && + this.tokens[t].value === e && + this.tokens[t].type === r + ) { + return this.tokens[t]; + } + } + matchToken(e, t) { + if (this.follows.indexOf(e) !== -1) { + return; + } + t = t || "IDENTIFIER"; + if ( + this.currentToken() && + this.currentToken().value === e && + this.currentToken().type === t + ) { + return this.consumeToken(); + } + } + consumeToken() { + var e = this.tokens.shift(); + this.consumed.push(e); + this._lastConsumed = e; + this.consumeWhitespace(); + return e; + } + consumeUntil(e, t) { + var r = []; + var n = this.token(0, true); + while ( + (t == null || n.type !== t) && + (e == null || n.value !== e) && + n.type !== "EOF" + ) { + var i = this.tokens.shift(); + this.consumed.push(i); + r.push(n); + n = this.token(0, true); + } + this.consumeWhitespace(); + return r; + } + lastWhitespace() { + if ( + this.consumed[this.consumed.length - 1] && + this.consumed[this.consumed.length - 1].type === "WHITESPACE" + ) { + return this.consumed[this.consumed.length - 1].value; + } else { + return ""; + } + } + consumeUntilWhitespace() { + return this.consumeUntil(null, "WHITESPACE"); + } + hasMore() { + return this.tokens.length > 0; + } + token(e, t) { + var r; + var n = 0; + do { + if (!t) { + while (this.tokens[n] && this.tokens[n].type === "WHITESPACE") { + n++; + } + } + r = this.tokens[n]; + e--; + n++; + } while (e > -1); + if (r) { + return r; + } else { + return { type: "EOF", value: "<<>>" }; + } + } + currentToken() { + return this.token(0); + } + lastMatch() { + return this._lastConsumed; + } + static sourceFor = function () { + return this.programSource.substring( + this.startToken.start, + this.endToken.end, + ); + }; + static lineFor = function () { + return this.programSource.split("\n")[this.startToken.line - 1]; + }; + follows = []; + pushFollow(e) { + this.follows.push(e); + } + popFollow() { + this.follows.pop(); + } + clearFollows() { + var e = this.follows; + this.follows = []; + return e; + } + restoreFollows(e) { + this.follows = e; + } + } + class a { + constructor(e) { + this.runtime = e; + this.possessivesDisabled = false; + this.addGrammarElement("feature", function (e, t, r) { + if (r.matchOpToken("(")) { + var n = e.requireElement("feature", r); + r.requireOpToken(")"); + return n; + } + var i = e.FEATURES[r.currentToken().value || ""]; + if (i) { + return i(e, t, r); + } + }); + this.addGrammarElement("command", function (e, t, r) { + if (r.matchOpToken("(")) { + const t = e.requireElement("command", r); + r.requireOpToken(")"); + return t; + } + var n = e.COMMANDS[r.currentToken().value || ""]; + let i; + if (n) { + i = n(e, t, r); + } else if (r.currentToken().type === "IDENTIFIER") { + i = e.parseElement("pseudoCommand", r); + } + if (i) { + return e.parseElement("indirectStatement", r, i); + } + return i; + }); + this.addGrammarElement("commandList", function (e, t, r) { + if (r.hasMore()) { + var n = e.parseElement("command", r); + if (n) { + r.matchToken("then"); + const t = e.parseElement("commandList", r); + if (t) n.next = t; + return n; + } + } + return { + type: "emptyCommandListCommand", + op: function (e) { + return t.findNext(this, e); + }, + execute: function (e) { + return t.unifiedExec(this, e); + }, + }; + }); + this.addGrammarElement("leaf", function (e, t, r) { + var n = e.parseAnyOf(e.LEAF_EXPRESSIONS, r); + if (n == null) { + return e.parseElement("symbol", r); + } + return n; + }); + this.addGrammarElement("indirectExpression", function (e, t, r, n) { + for (var i = 0; i < e.INDIRECT_EXPRESSIONS.length; i++) { + var a = e.INDIRECT_EXPRESSIONS[i]; + n.endToken = r.lastMatch(); + var o = e.parseElement(a, r, n); + if (o) { + return o; + } + } + return n; + }); + this.addGrammarElement("indirectStatement", function (e, t, r, n) { + if (r.matchToken("unless")) { + n.endToken = r.lastMatch(); + var i = e.requireElement("expression", r); + var a = { + type: "unlessStatementModifier", + args: [i], + op: function (e, t) { + if (t) { + return this.next; + } else { + return n; + } + }, + execute: function (e) { + return t.unifiedExec(this, e); + }, + }; + n.parent = a; + return a; + } + return n; + }); + this.addGrammarElement("primaryExpression", function (e, t, r) { + var n = e.parseElement("leaf", r); + if (n) { + return e.parseElement("indirectExpression", r, n); + } + e.raiseParseError(r, "Unexpected value: " + r.currentToken().value); + }); + } + use(e) { + e(this); + return this; + } + GRAMMAR = {}; + COMMANDS = {}; + FEATURES = {}; + LEAF_EXPRESSIONS = []; + INDIRECT_EXPRESSIONS = []; + initElt(e, t, r) { + e.startToken = t; + e.sourceFor = i.sourceFor; + e.lineFor = i.lineFor; + e.programSource = r.source; + } + parseElement(e, t, r = undefined) { + var n = this.GRAMMAR[e]; + if (n) { + var i = t.currentToken(); + var a = n(this, this.runtime, t, r); + if (a) { + this.initElt(a, i, t); + a.endToken = a.endToken || t.lastMatch(); + var r = a.root; + while (r != null) { + this.initElt(r, i, t); + r = r.root; + } + } + return a; + } + } + requireElement(e, t, r, n) { + var i = this.parseElement(e, t, n); + if (!i) a.raiseParseError(t, r || "Expected " + e); + return i; + } + parseAnyOf(e, t) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + var i = this.parseElement(n, t); + if (i) { + return i; + } + } + } + addGrammarElement(e, t) { + this.GRAMMAR[e] = t; + } + addCommand(e, t) { + var r = e + "Command"; + var n = function (e, n, i) { + const a = t(e, n, i); + if (a) { + a.type = r; + a.execute = function (e) { + e.meta.command = a; + return n.unifiedExec(this, e); + }; + return a; + } + }; + this.GRAMMAR[r] = n; + this.COMMANDS[e] = n; + } + addFeature(e, t) { + var r = e + "Feature"; + var n = function (n, i, a) { + var o = t(n, i, a); + if (o) { + o.isFeature = true; + o.keyword = e; + o.type = r; + return o; + } + }; + this.GRAMMAR[r] = n; + this.FEATURES[e] = n; + } + addLeafExpression(e, t) { + this.LEAF_EXPRESSIONS.push(e); + this.addGrammarElement(e, t); + } + addIndirectExpression(e, t) { + this.INDIRECT_EXPRESSIONS.push(e); + this.addGrammarElement(e, t); + } + static createParserContext(e) { + var t = e.currentToken(); + var r = e.source; + var n = r.split("\n"); + var i = t && t.line ? t.line - 1 : n.length - 1; + var a = n[i]; + var o = t && t.line ? t.column : a.length - 1; + return a + "\n" + " ".repeat(o) + "^^\n\n"; + } + static raiseParseError(e, t) { + t = + (t || "Unexpected Token : " + e.currentToken().value) + + "\n\n" + + a.createParserContext(e); + var r = new Error(t); + r["tokens"] = e; + throw r; + } + raiseParseError(e, t) { + a.raiseParseError(e, t); + } + parseHyperScript(e) { + var t = this.parseElement("hyperscript", e); + if (e.hasMore()) this.raiseParseError(e); + if (t) return t; + } + setParent(e, t) { + if (typeof e === "object") { + e.parent = t; + if (typeof t === "object") { + t.children = t.children || new Set(); + t.children.add(e); + } + this.setParent(e.next, t); + } + } + commandStart(e) { + return this.COMMANDS[e.value || ""]; + } + featureStart(e) { + return this.FEATURES[e.value || ""]; + } + commandBoundary(e) { + if ( + e.value == "end" || + e.value == "then" || + e.value == "else" || + e.value == "otherwise" || + e.value == ")" || + this.commandStart(e) || + this.featureStart(e) || + e.type == "EOF" + ) { + return true; + } + return false; + } + parseStringTemplate(e) { + var t = [""]; + do { + t.push(e.lastWhitespace()); + if (e.currentToken().value === "$") { + e.consumeToken(); + var r = e.matchOpToken("{"); + t.push(this.requireElement("expression", e)); + if (r) { + e.requireOpToken("}"); + } + t.push(""); + } else if (e.currentToken().value === "\\") { + e.consumeToken(); + e.consumeToken(); + } else { + var n = e.consumeToken(); + t[t.length - 1] += n ? n.value : ""; + } + } while (e.hasMore()); + t.push(e.lastWhitespace()); + return t; + } + ensureTerminated(e) { + const t = this.runtime; + var r = { + type: "implicitReturn", + op: function (e) { + e.meta.returned = true; + if (e.meta.resolve) { + e.meta.resolve(); + } + return t.HALT; + }, + execute: function (e) {}, + }; + var n = e; + while (n.next) { + n = n.next; + } + n.next = r; + } + } + class o { + constructor(e, t) { + this.lexer = e ?? new n(); + this.parser = t ?? new a(this).use(T).use(y); + this.parser.runtime = this; + } + matchesSelector(e, t) { + var r = + e.matches || + e.matchesSelector || + e.msMatchesSelector || + e.mozMatchesSelector || + e.webkitMatchesSelector || + e.oMatchesSelector; + return r && r.call(e, t); + } + makeEvent(t, r) { + var n; + if (e.Event && typeof e.Event === "function") { + n = new Event(t, { bubbles: true, cancelable: true }); + n["detail"] = r; + } else { + n = document.createEvent("CustomEvent"); + n.initCustomEvent(t, true, true, r); + } + return n; + } + triggerEvent(e, t, r, n) { + r = r || {}; + r["sender"] = n; + var i = this.makeEvent(t, r); + var a = e.dispatchEvent(i); + return a; + } + isArrayLike(e) { + return ( + Array.isArray(e) || + (typeof NodeList !== "undefined" && + (e instanceof NodeList || e instanceof HTMLCollection)) + ); + } + isIterable(e) { + return ( + typeof e === "object" && + Symbol.iterator in e && + typeof e[Symbol.iterator] === "function" + ); + } + shouldAutoIterate(e) { + return (e != null && e[p]) || this.isArrayLike(e); + } + forEach(e, t) { + if (e == null) { + } else if (this.isIterable(e)) { + for (const r of e) { + t(r); + } + } else if (this.isArrayLike(e)) { + for (var r = 0; r < e.length; r++) { + t(e[r]); + } + } else { + t(e); + } + } + implicitLoop(e, t) { + if (this.shouldAutoIterate(e)) { + for (const r of e) t(r); + } else { + t(e); + } + } + wrapArrays(e) { + var t = []; + for (var r = 0; r < e.length; r++) { + var n = e[r]; + if (Array.isArray(n)) { + t.push(Promise.all(n)); + } else { + t.push(n); + } + } + return t; + } + unwrapAsyncs(e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + if (r.asyncWrapper) { + e[t] = r.value; + } + if (Array.isArray(r)) { + for (var n = 0; n < r.length; n++) { + var i = r[n]; + if (i.asyncWrapper) { + r[n] = i.value; + } + } + } + } + } + static HALT = {}; + HALT = o.HALT; + unifiedExec(e, t) { + while (true) { + try { + var r = this.unifiedEval(e, t); + } catch (n) { + if (t.meta.handlingFinally) { + console.error(" Exception in finally block: ", n); + r = o.HALT; + } else { + this.registerHyperTrace(t, n); + if (t.meta.errorHandler && !t.meta.handlingError) { + t.meta.handlingError = true; + t.locals[t.meta.errorSymbol] = n; + e = t.meta.errorHandler; + continue; + } else { + t.meta.currentException = n; + r = o.HALT; + } + } + } + if (r == null) { + console.error( + e, + " did not return a next element to execute! context: ", + t, + ); + return; + } else if (r.then) { + r.then((e) => { + this.unifiedExec(e, t); + }).catch((e) => { + this.unifiedExec( + { + op: function () { + throw e; + }, + }, + t, + ); + }); + return; + } else if (r === o.HALT) { + if (t.meta.finallyHandler && !t.meta.handlingFinally) { + t.meta.handlingFinally = true; + e = t.meta.finallyHandler; + } else { + if (t.meta.onHalt) { + t.meta.onHalt(); + } + if (t.meta.currentException) { + if (t.meta.reject) { + t.meta.reject(t.meta.currentException); + return; + } else { + throw t.meta.currentException; + } + } else { + return; + } + } + } else { + e = r; + } + } + } + unifiedEval(e, t) { + var r = [t]; + var n = false; + var i = false; + if (e.args) { + for (var a = 0; a < e.args.length; a++) { + var o = e.args[a]; + if (o == null) { + r.push(null); + } else if (Array.isArray(o)) { + var s = []; + for (var u = 0; u < o.length; u++) { + var l = o[u]; + var c = l ? l.evaluate(t) : null; + if (c) { + if (c.then) { + n = true; + } else if (c.asyncWrapper) { + i = true; + } + } + s.push(c); + } + r.push(s); + } else if (o.evaluate) { + var c = o.evaluate(t); + if (c) { + if (c.then) { + n = true; + } else if (c.asyncWrapper) { + i = true; + } + } + r.push(c); + } else { + r.push(o); + } + } + } + if (n) { + return new Promise((t, n) => { + r = this.wrapArrays(r); + Promise.all(r) + .then(function (r) { + if (i) { + this.unwrapAsyncs(r); + } + try { + var a = e.op.apply(e, r); + t(a); + } catch (e) { + n(e); + } + }) + .catch(function (e) { + n(e); + }); + }); + } else { + if (i) { + this.unwrapAsyncs(r); + } + return e.op.apply(e, r); + } + } + _scriptAttrs = null; + getScriptAttributes() { + if (this._scriptAttrs == null) { + this._scriptAttrs = r.attributes.replace(/ /g, "").split(","); + } + return this._scriptAttrs; + } + getScript(e) { + for (var t = 0; t < this.getScriptAttributes().length; t++) { + var r = this.getScriptAttributes()[t]; + if (e.hasAttribute && e.hasAttribute(r)) { + return e.getAttribute(r); + } + } + if (e instanceof HTMLScriptElement && e.type === "text/hyperscript") { + return e.innerText; + } + return null; + } + hyperscriptFeaturesMap = new WeakMap(); + getHyperscriptFeatures(e) { + var t = this.hyperscriptFeaturesMap.get(e); + if (typeof t === "undefined") { + if (e) { + this.hyperscriptFeaturesMap.set(e, (t = {})); + } + } + return t; + } + addFeatures(e, t) { + if (e) { + Object.assign(t.locals, this.getHyperscriptFeatures(e)); + this.addFeatures(e.parentElement, t); + } + } + makeContext(e, t, r, n) { + return new f(e, t, r, n, this); + } + getScriptSelector() { + return this.getScriptAttributes() + .map(function (e) { + return "[" + e + "]"; + }) + .join(", "); + } + convertValue(e, r) { + var n = t.dynamicResolvers; + for (var i = 0; i < n.length; i++) { + var a = n[i]; + var o = a(r, e); + if (o !== undefined) { + return o; + } + } + if (e == null) { + return null; + } + var s = t[r]; + if (s) { + return s(e); + } + throw "Unknown conversion : " + r; + } + parse(e) { + const t = this.lexer, + r = this.parser; + var n = t.tokenize(e); + if (this.parser.commandStart(n.currentToken())) { + var i = r.requireElement("commandList", n); + if (n.hasMore()) r.raiseParseError(n); + r.ensureTerminated(i); + return i; + } else if (r.featureStart(n.currentToken())) { + var a = r.requireElement("hyperscript", n); + if (n.hasMore()) r.raiseParseError(n); + return a; + } else { + var o = r.requireElement("expression", n); + if (n.hasMore()) r.raiseParseError(n); + return o; + } + } + evaluateNoPromise(e, t) { + let r = e.evaluate(t); + if (r.next) { + throw new Error( + i.sourceFor.call(e) + + " returned a Promise in a context that they are not allowed.", + ); + } + return r; + } + evaluate(t, r, n) { + class i extends EventTarget { + constructor(e) { + super(); + this.module = e; + } + toString() { + return this.module.id; + } + } + var a = "document" in e ? e.document.body : new i(n && n.module); + r = Object.assign(this.makeContext(a, null, a, null), r || {}); + var o = this.parse(t); + if (o.execute) { + o.execute(r); + if (typeof r.meta.returnValue !== "undefined") { + return r.meta.returnValue; + } else { + return r.result; + } + } else if (o.apply) { + o.apply(a, a, n); + return this.getHyperscriptFeatures(a); + } else { + return o.evaluate(r); + } + function s() { + return {}; + } + } + processNode(e) { + var t = this.getScriptSelector(); + if (this.matchesSelector(e, t)) { + this.initElement(e, e); + } + if (e instanceof HTMLScriptElement && e.type === "text/hyperscript") { + this.initElement(e, document.body); + } + if (e.querySelectorAll) { + this.forEach( + e.querySelectorAll(t + ", [type='text/hyperscript']"), + (e) => { + this.initElement( + e, + e instanceof HTMLScriptElement && e.type === "text/hyperscript" + ? document.body + : e, + ); + }, + ); + } + } + initElement(e, t) { + if (e.closest && e.closest(r.disableSelector)) { + return; + } + var n = this.getInternalData(e); + if (!n.initialized) { + var i = this.getScript(e); + if (i) { + try { + n.initialized = true; + n.script = i; + const r = this.lexer, + s = this.parser; + var a = r.tokenize(i); + var o = s.parseHyperScript(a); + if (!o) return; + o.apply(t || e, e); + setTimeout(() => { + this.triggerEvent(t || e, "load", { hyperscript: true }); + }, 1); + } catch (t) { + this.triggerEvent(e, "exception", { error: t }); + console.error( + "hyperscript errors were found on the following element:", + e, + "\n\n", + t.message, + t.stack, + ); + } + } + } + } + internalDataMap = new WeakMap(); + getInternalData(e) { + var t = this.internalDataMap.get(e); + if (typeof t === "undefined") { + this.internalDataMap.set(e, (t = {})); + } + return t; + } + typeCheck(e, t, r) { + if (e == null && r) { + return true; + } + var n = Object.prototype.toString.call(e).slice(8, -1); + return n === t; + } + getElementScope(e) { + var t = e.meta && e.meta.owner; + if (t) { + var r = this.getInternalData(t); + var n = "elementScope"; + if (e.meta.feature && e.meta.feature.behavior) { + n = e.meta.feature.behavior + "Scope"; + } + var i = h(r, n); + return i; + } else { + return {}; + } + } + isReservedWord(e) { + return [ + "meta", + "it", + "result", + "locals", + "event", + "target", + "detail", + "sender", + "body", + ].includes(e); + } + isHyperscriptContext(e) { + return e instanceof f; + } + resolveSymbol(t, r, n) { + if (t === "me" || t === "my" || t === "I") { + return r.me; + } + if (t === "it" || t === "its" || t === "result") { + return r.result; + } + if (t === "you" || t === "your" || t === "yourself") { + return r.you; + } else { + if (n === "global") { + return e[t]; + } else if (n === "element") { + var i = this.getElementScope(r); + return i[t]; + } else if (n === "local") { + return r.locals[t]; + } else { + if (r.meta && r.meta.context) { + var a = r.meta.context[t]; + if (typeof a !== "undefined") { + return a; + } + if (r.meta.context.detail) { + a = r.meta.context.detail[t]; + if (typeof a !== "undefined") { + return a; + } + } + } + if (this.isHyperscriptContext(r) && !this.isReservedWord(t)) { + var o = r.locals[t]; + } else { + var o = r[t]; + } + if (typeof o !== "undefined") { + return o; + } else { + var i = this.getElementScope(r); + o = i[t]; + if (typeof o !== "undefined") { + return o; + } else { + return e[t]; + } + } + } + } + } + setSymbol(t, r, n, i) { + if (n === "global") { + e[t] = i; + } else if (n === "element") { + var a = this.getElementScope(r); + a[t] = i; + } else if (n === "local") { + r.locals[t] = i; + } else { + if ( + this.isHyperscriptContext(r) && + !this.isReservedWord(t) && + typeof r.locals[t] !== "undefined" + ) { + r.locals[t] = i; + } else { + var a = this.getElementScope(r); + var o = a[t]; + if (typeof o !== "undefined") { + a[t] = i; + } else { + if (this.isHyperscriptContext(r) && !this.isReservedWord(t)) { + r.locals[t] = i; + } else { + r[t] = i; + } + } + } + } + } + findNext(e, t) { + if (e) { + if (e.resolveNext) { + return e.resolveNext(t); + } else if (e.next) { + return e.next; + } else { + return this.findNext(e.parent, t); + } + } + } + flatGet(e, t, r) { + if (e != null) { + var n = r(e, t); + if (typeof n !== "undefined") { + return n; + } + if (this.shouldAutoIterate(e)) { + var i = []; + for (var a of e) { + var o = r(a, t); + i.push(o); + } + return i; + } + } + } + resolveProperty(e, t) { + return this.flatGet(e, t, (e, t) => e[t]); + } + resolveAttribute(e, t) { + return this.flatGet(e, t, (e, t) => e.getAttribute && e.getAttribute(t)); + } + resolveStyle(e, t) { + return this.flatGet(e, t, (e, t) => e.style && e.style[t]); + } + resolveComputedStyle(e, t) { + return this.flatGet(e, t, (e, t) => + getComputedStyle(e).getPropertyValue(t), + ); + } + assignToNamespace(t, r, n, i) { + let a; + if (typeof document !== "undefined" && t === document.body) { + a = e; + } else { + a = this.getHyperscriptFeatures(t); + } + var o; + while ((o = r.shift()) !== undefined) { + var s = a[o]; + if (s == null) { + s = {}; + a[o] = s; + } + a = s; + } + a[n] = i; + } + getHyperTrace(e, t) { + var r = []; + var n = e; + while (n.meta.caller) { + n = n.meta.caller; + } + if (n.meta.traceMap) { + return n.meta.traceMap.get(t, r); + } + } + registerHyperTrace(e, t) { + var r = []; + var n = null; + while (e != null) { + r.push(e); + n = e; + e = e.meta.caller; + } + if (n.meta.traceMap == null) { + n.meta.traceMap = new Map(); + } + if (!n.meta.traceMap.get(t)) { + var i = { + trace: r, + print: function (e) { + e = e || console.error; + e("hypertrace /// "); + var t = 0; + for (var n = 0; n < r.length; n++) { + t = Math.max(t, r[n].meta.feature.displayName.length); + } + for (var n = 0; n < r.length; n++) { + var i = r[n]; + e( + " ->", + i.meta.feature.displayName.padEnd(t + 2), + "-", + i.meta.owner, + ); + } + }, + }; + n.meta.traceMap.set(t, i); + } + } + escapeSelector(e) { + return e.replace(/:/g, function (e) { + return "\\" + e; + }); + } + nullCheck(e, t) { + if (e == null) { + throw new Error("'" + t.sourceFor() + "' is null"); + } + } + isEmpty(e) { + return e == undefined || e.length === 0; + } + doesExist(e) { + if (e == null) { + return false; + } + if (this.shouldAutoIterate(e)) { + for (const t of e) { + return true; + } + return false; + } + return true; + } + getRootNode(e) { + if (e && e instanceof Node) { + var t = e.getRootNode(); + if (t instanceof Document || t instanceof ShadowRoot) return t; + } + return document; + } + getEventQueueFor(e, t) { + let r = this.getInternalData(e); + var n = r.eventQueues; + if (n == null) { + n = new Map(); + r.eventQueues = n; + } + var i = n.get(t); + if (i == null) { + i = { queue: [], executing: false }; + n.set(t, i); + } + return i; + } + beepValueToConsole(e, t, r) { + if ( + this.triggerEvent(e, "hyperscript:beep", { + element: e, + expression: t, + value: r, + }) + ) { + var n; + if (r) { + if (r instanceof m) { + n = "ElementCollection"; + } else if (r.constructor) { + n = r.constructor.name; + } else { + n = "unknown"; + } + } else { + n = "object (null)"; + } + var a = r; + if (n === "String") { + a = '"' + a + '"'; + } else if (r instanceof m) { + a = Array.from(r); + } + console.log( + "///_ BEEP! The expression (" + + i.sourceFor.call(t).replace("beep! ", "") + + ") evaluates to:", + a, + "of type " + n, + ); + } + } + hyperscriptUrl = + "document" in e && document.currentScript + ? document.currentScript.src + : null; + } + function s() { + let e = document.cookie.split("; ").map((e) => { + let t = e.split("="); + return { name: t[0], value: decodeURIComponent(t[1]) }; + }); + return e; + } + function u(e) { + document.cookie = e + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT"; + } + function l() { + for (const e of s()) { + u(e.name); + } + } + const c = new Proxy( + {}, + { + get(e, t) { + if (t === "then" || t === "asyncWrapper") { + return null; + } else if (t === "length") { + return s().length; + } else if (t === "clear") { + return u; + } else if (t === "clearAll") { + return l; + } else if (typeof t === "string") { + if (!isNaN(t)) { + return s()[parseInt(t)]; + } else { + let e = document.cookie + .split("; ") + .find((e) => e.startsWith(t + "=")) + ?.split("=")[1]; + if (e) { + return decodeURIComponent(e); + } + } + } else if (t === Symbol.iterator) { + return s()[t]; + } + }, + set(e, t, r) { + var n = null; + if ("string" === typeof r) { + n = encodeURIComponent(r); + n += ";samesite=lax"; + } else { + n = encodeURIComponent(r.value); + if (r.expires) { + n += ";expires=" + r.maxAge; + } + if (r.maxAge) { + n += ";max-age=" + r.maxAge; + } + if (r.partitioned) { + n += ";partitioned=" + r.partitioned; + } + if (r.path) { + n += ";path=" + r.path; + } + if (r.samesite) { + n += ";samesite=" + r.path; + } + if (r.secure) { + n += ";secure=" + r.path; + } + } + document.cookie = t + "=" + n; + return true; + }, + }, + ); + class f { + constructor(t, r, n, i, a) { + this.meta = { + parser: a.parser, + lexer: a.lexer, + runtime: a, + owner: t, + feature: r, + iterators: {}, + ctx: this, + }; + this.locals = { cookies: c }; + (this.me = n), (this.you = undefined); + this.result = undefined; + this.event = i; + this.target = i ? i.target : null; + this.detail = i ? i.detail : null; + this.sender = i ? (i.detail ? i.detail.sender : null) : null; + this.body = "document" in e ? document.body : null; + a.addFeatures(t, this); + } + } + class m { + constructor(e, t, r) { + this._css = e; + this.relativeToElement = t; + this.escape = r; + this[p] = true; + } + get css() { + if (this.escape) { + return o.prototype.escapeSelector(this._css); + } else { + return this._css; + } + } + get className() { + return this._css.substr(1); + } + get id() { + return this.className(); + } + contains(e) { + for (let t of this) { + if (t.contains(e)) { + return true; + } + } + return false; + } + get length() { + return this.selectMatches().length; + } + [Symbol.iterator]() { + let e = this.selectMatches(); + return e[Symbol.iterator](); + } + selectMatches() { + let e = o.prototype + .getRootNode(this.relativeToElement) + .querySelectorAll(this.css); + return e; + } + } + const p = Symbol(); + function h(e, t) { + var r = e[t]; + if (r) { + return r; + } else { + var n = {}; + e[t] = n; + return n; + } + } + function v(e) { + try { + return JSON.parse(e); + } catch (e) { + d(e); + return null; + } + } + function d(e) { + if (console.error) { + console.error(e); + } else if (console.log) { + console.log("ERROR: ", e); + } + } + function E(e, t) { + return new (e.bind.apply(e, [e].concat(t)))(); + } + function T(t) { + t.addLeafExpression("parenthesized", function (e, t, r) { + if (r.matchOpToken("(")) { + var n = r.clearFollows(); + try { + var i = e.requireElement("expression", r); + } finally { + r.restoreFollows(n); + } + r.requireOpToken(")"); + return i; + } + }); + t.addLeafExpression("string", function (e, t, r) { + var i = r.matchTokenType("STRING"); + if (!i) return; + var a = i.value; + var o; + if (i.template) { + var s = n.tokenize(a, true); + o = e.parseStringTemplate(s); + } else { + o = []; + } + return { + type: "string", + token: i, + args: o, + op: function (e) { + var t = ""; + for (var r = 1; r < arguments.length; r++) { + var n = arguments[r]; + if (n !== undefined) { + t += n; + } + } + return t; + }, + evaluate: function (e) { + if (o.length === 0) { + return a; + } else { + return t.unifiedEval(this, e); + } + }, + }; + }); + t.addGrammarElement("nakedString", function (e, t, r) { + if (r.hasMore()) { + var n = r.consumeUntilWhitespace(); + r.matchTokenType("WHITESPACE"); + return { + type: "nakedString", + tokens: n, + evaluate: function (e) { + return n + .map(function (e) { + return e.value; + }) + .join(""); + }, + }; + } + }); + t.addLeafExpression("number", function (e, t, r) { + var n = r.matchTokenType("NUMBER"); + if (!n) return; + var i = n; + var a = parseFloat(n.value); + return { + type: "number", + value: a, + numberToken: i, + evaluate: function () { + return a; + }, + }; + }); + t.addLeafExpression("idRef", function (e, t, r) { + var i = r.matchTokenType("ID_REF"); + if (!i) return; + if (!i.value) return; + if (i.template) { + var a = i.value.substring(2); + var o = n.tokenize(a); + var s = e.requireElement("expression", o); + return { + type: "idRefTemplate", + args: [s], + op: function (e, r) { + return t.getRootNode(e.me).getElementById(r); + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } else { + const e = i.value.substring(1); + return { + type: "idRef", + css: i.value, + value: e, + evaluate: function (r) { + return t.getRootNode(r.me).getElementById(e); + }, + }; + } + }); + t.addLeafExpression("classRef", function (e, t, r) { + var i = r.matchTokenType("CLASS_REF"); + if (!i) return; + if (!i.value) return; + if (i.template) { + var a = i.value.substring(2); + var o = n.tokenize(a); + var s = e.requireElement("expression", o); + return { + type: "classRefTemplate", + args: [s], + op: function (e, t) { + return new m("." + t, e.me, true); + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } else { + const e = i.value; + return { + type: "classRef", + css: e, + evaluate: function (t) { + return new m(e, t.me, true); + }, + }; + } + }); + class r extends m { + constructor(e, t, r) { + super(e, t); + this.templateParts = r; + this.elements = r.filter((e) => e instanceof Element); + } + get css() { + let e = "", + t = 0; + for (const r of this.templateParts) { + if (r instanceof Element) { + e += "[data-hs-query-id='" + t++ + "']"; + } else e += r; + } + return e; + } + [Symbol.iterator]() { + this.elements.forEach((e, t) => (e.dataset.hsQueryId = t)); + const e = super[Symbol.iterator](); + this.elements.forEach((e) => e.removeAttribute("data-hs-query-id")); + return e; + } + } + t.addLeafExpression("queryRef", function (e, t, i) { + var a = i.matchOpToken("<"); + if (!a) return; + var o = i.consumeUntil("/"); + i.requireOpToken("/"); + i.requireOpToken(">"); + var s = o + .map(function (e) { + if (e.type === "STRING") { + return '"' + e.value + '"'; + } else { + return e.value; + } + }) + .join(""); + var u, l, c; + if (s.indexOf("$") >= 0) { + u = true; + l = n.tokenize(s, true); + c = e.parseStringTemplate(l); + } + return { + type: "queryRef", + css: s, + args: c, + op: function (e, ...t) { + if (u) { + return new r(s, e.me, t); + } else { + return new m(s, e.me); + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addLeafExpression("attributeRef", function (e, t, r) { + var n = r.matchTokenType("ATTRIBUTE_REF"); + if (!n) return; + if (!n.value) return; + var i = n.value; + if (i.indexOf("[") === 0) { + var a = i.substring(2, i.length - 1); + } else { + var a = i.substring(1); + } + var o = "[" + a + "]"; + var s = a.split("="); + var u = s[0]; + var l = s[1]; + if (l) { + if (l.indexOf('"') === 0) { + l = l.substring(1, l.length - 1); + } + } + return { + type: "attributeRef", + name: u, + css: o, + value: l, + op: function (e) { + var t = e.you || e.me; + if (t) { + return t.getAttribute(u); + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addLeafExpression("styleRef", function (e, t, r) { + var n = r.matchTokenType("STYLE_REF"); + if (!n) return; + if (!n.value) return; + var i = n.value.substr(1); + if (i.startsWith("computed-")) { + i = i.substr("computed-".length); + return { + type: "computedStyleRef", + name: i, + op: function (e) { + var r = e.you || e.me; + if (r) { + return t.resolveComputedStyle(r, i); + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } else { + return { + type: "styleRef", + name: i, + op: function (e) { + var r = e.you || e.me; + if (r) { + return t.resolveStyle(r, i); + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } + }); + t.addGrammarElement("objectKey", function (e, t, r) { + var n; + if ((n = r.matchTokenType("STRING"))) { + return { + type: "objectKey", + key: n.value, + evaluate: function () { + return n.value; + }, + }; + } else if (r.matchOpToken("[")) { + var i = e.parseElement("expression", r); + r.requireOpToken("]"); + return { + type: "objectKey", + expr: i, + args: [i], + op: function (e, t) { + return t; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } else { + var a = ""; + do { + n = r.matchTokenType("IDENTIFIER") || r.matchOpToken("-"); + if (n) a += n.value; + } while (n); + return { + type: "objectKey", + key: a, + evaluate: function () { + return a; + }, + }; + } + }); + t.addLeafExpression("objectLiteral", function (e, t, r) { + if (!r.matchOpToken("{")) return; + var n = []; + var i = []; + if (!r.matchOpToken("}")) { + do { + var a = e.requireElement("objectKey", r); + r.requireOpToken(":"); + var o = e.requireElement("expression", r); + i.push(o); + n.push(a); + } while (r.matchOpToken(",")); + r.requireOpToken("}"); + } + return { + type: "objectLiteral", + args: [n, i], + op: function (e, t, r) { + var n = {}; + for (var i = 0; i < t.length; i++) { + n[t[i]] = r[i]; + } + return n; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addGrammarElement("nakedNamedArgumentList", function (e, t, r) { + var n = []; + var i = []; + if (r.currentToken().type === "IDENTIFIER") { + do { + var a = r.requireTokenType("IDENTIFIER"); + r.requireOpToken(":"); + var o = e.requireElement("expression", r); + i.push(o); + n.push({ name: a, value: o }); + } while (r.matchOpToken(",")); + } + return { + type: "namedArgumentList", + fields: n, + args: [i], + op: function (e, t) { + var r = { _namedArgList_: true }; + for (var i = 0; i < t.length; i++) { + var a = n[i]; + r[a.name.value] = t[i]; + } + return r; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addGrammarElement("namedArgumentList", function (e, t, r) { + if (!r.matchOpToken("(")) return; + var n = e.requireElement("nakedNamedArgumentList", r); + r.requireOpToken(")"); + return n; + }); + t.addGrammarElement("symbol", function (e, t, r) { + var n = "default"; + if (r.matchToken("global")) { + n = "global"; + } else if (r.matchToken("element") || r.matchToken("module")) { + n = "element"; + if (r.matchOpToken("'")) { + r.requireToken("s"); + } + } else if (r.matchToken("local")) { + n = "local"; + } + let i = r.matchOpToken(":"); + let a = r.matchTokenType("IDENTIFIER"); + if (a && a.value) { + var o = a.value; + if (i) { + o = ":" + o; + } + if (n === "default") { + if (o.indexOf("$") === 0) { + n = "global"; + } + if (o.indexOf(":") === 0) { + n = "element"; + } + } + return { + type: "symbol", + token: a, + scope: n, + name: o, + evaluate: function (e) { + return t.resolveSymbol(o, e, n); + }, + }; + } + }); + t.addGrammarElement("implicitMeTarget", function (e, t, r) { + return { + type: "implicitMeTarget", + evaluate: function (e) { + return e.you || e.me; + }, + }; + }); + t.addLeafExpression("boolean", function (e, t, r) { + var n = r.matchToken("true") || r.matchToken("false"); + if (!n) return; + const i = n.value === "true"; + return { + type: "boolean", + evaluate: function (e) { + return i; + }, + }; + }); + t.addLeafExpression("null", function (e, t, r) { + if (r.matchToken("null")) { + return { + type: "null", + evaluate: function (e) { + return null; + }, + }; + } + }); + t.addLeafExpression("arrayLiteral", function (e, t, r) { + if (!r.matchOpToken("[")) return; + var n = []; + if (!r.matchOpToken("]")) { + do { + var i = e.requireElement("expression", r); + n.push(i); + } while (r.matchOpToken(",")); + r.requireOpToken("]"); + } + return { + type: "arrayLiteral", + values: n, + args: [n], + op: function (e, t) { + return t; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addLeafExpression("blockLiteral", function (e, t, r) { + if (!r.matchOpToken("\\")) return; + var n = []; + var i = r.matchTokenType("IDENTIFIER"); + if (i) { + n.push(i); + while (r.matchOpToken(",")) { + n.push(r.requireTokenType("IDENTIFIER")); + } + } + r.requireOpToken("-"); + r.requireOpToken(">"); + var a = e.requireElement("expression", r); + return { + type: "blockLiteral", + args: n, + expr: a, + evaluate: function (e) { + var t = function () { + for (var t = 0; t < n.length; t++) { + e.locals[n[t].value] = arguments[t]; + } + return a.evaluate(e); + }; + return t; + }, + }; + }); + t.addIndirectExpression("propertyAccess", function (e, t, r, n) { + if (!r.matchOpToken(".")) return; + var i = r.requireTokenType("IDENTIFIER"); + var a = { + type: "propertyAccess", + root: n, + prop: i, + args: [n], + op: function (e, r) { + var n = t.resolveProperty(r, i.value); + return n; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + return e.parseElement("indirectExpression", r, a); + }); + t.addIndirectExpression("of", function (e, t, r, n) { + if (!r.matchToken("of")) return; + var i = e.requireElement("unaryExpression", r); + var a = null; + var o = n; + while (o.root) { + a = o; + o = o.root; + } + if ( + o.type !== "symbol" && + o.type !== "attributeRef" && + o.type !== "styleRef" && + o.type !== "computedStyleRef" + ) { + e.raiseParseError( + r, + "Cannot take a property of a non-symbol: " + o.type, + ); + } + var s = o.type === "attributeRef"; + var u = o.type === "styleRef" || o.type === "computedStyleRef"; + if (s || u) { + var l = o; + } + var c = o.name; + var f = { + type: "ofExpression", + prop: o.token, + root: i, + attribute: l, + expression: n, + args: [i], + op: function (e, r) { + if (s) { + return t.resolveAttribute(r, c); + } else if (u) { + if (o.type === "computedStyleRef") { + return t.resolveComputedStyle(r, c); + } else { + return t.resolveStyle(r, c); + } + } else { + return t.resolveProperty(r, c); + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + if (o.type === "attributeRef") { + f.attribute = o; + } + if (a) { + a.root = f; + a.args = [f]; + } else { + n = f; + } + return e.parseElement("indirectExpression", r, n); + }); + t.addIndirectExpression("possessive", function (e, t, r, n) { + if (e.possessivesDisabled) { + return; + } + var i = r.matchOpToken("'"); + if ( + i || + (n.type === "symbol" && + (n.name === "my" || n.name === "its" || n.name === "your") && + (r.currentToken().type === "IDENTIFIER" || + r.currentToken().type === "ATTRIBUTE_REF" || + r.currentToken().type === "STYLE_REF")) + ) { + if (i) { + r.requireToken("s"); + } + var a, o, s; + a = e.parseElement("attributeRef", r); + if (a == null) { + o = e.parseElement("styleRef", r); + if (o == null) { + s = r.requireTokenType("IDENTIFIER"); + } + } + var u = { + type: "possessive", + root: n, + attribute: a || o, + prop: s, + args: [n], + op: function (e, r) { + if (a) { + var n = t.resolveAttribute(r, a.name); + } else if (o) { + var n; + if (o.type === "computedStyleRef") { + n = t.resolveComputedStyle(r, o["name"]); + } else { + n = t.resolveStyle(r, o["name"]); + } + } else { + var n = t.resolveProperty(r, s.value); + } + return n; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + return e.parseElement("indirectExpression", r, u); + } + }); + t.addIndirectExpression("inExpression", function (e, t, r, n) { + if (!r.matchToken("in")) return; + var i = e.requireElement("unaryExpression", r); + var a = { + type: "inExpression", + root: n, + args: [n, i], + op: function (e, r, n) { + var i = []; + if (r.css) { + t.implicitLoop(n, function (e) { + var t = e.querySelectorAll(r.css); + for (var n = 0; n < t.length; n++) { + i.push(t[n]); + } + }); + } else if (r instanceof Element) { + var a = false; + t.implicitLoop(n, function (e) { + if (e.contains(r)) { + a = true; + } + }); + if (a) { + return r; + } + } else { + t.implicitLoop(r, function (e) { + t.implicitLoop(n, function (t) { + if (e === t) { + i.push(e); + } + }); + }); + } + return i; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + return e.parseElement("indirectExpression", r, a); + }); + t.addIndirectExpression("asExpression", function (e, t, r, n) { + if (!r.matchToken("as")) return; + r.matchToken("a") || r.matchToken("an"); + var i = e.requireElement("dotOrColonPath", r).evaluate(); + var a = { + type: "asExpression", + root: n, + args: [n], + op: function (e, r) { + return t.convertValue(r, i); + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + return e.parseElement("indirectExpression", r, a); + }); + t.addIndirectExpression("functionCall", function (e, t, r, n) { + if (!r.matchOpToken("(")) return; + var i = []; + if (!r.matchOpToken(")")) { + do { + i.push(e.requireElement("expression", r)); + } while (r.matchOpToken(",")); + r.requireOpToken(")"); + } + if (n.root) { + var a = { + type: "functionCall", + root: n, + argExressions: i, + args: [n.root, i], + op: function (e, r, i) { + t.nullCheck(r, n.root); + var a = r[n.prop.value]; + t.nullCheck(a, n); + if (a.hyperfunc) { + i.push(e); + } + return a.apply(r, i); + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } else { + var a = { + type: "functionCall", + root: n, + argExressions: i, + args: [n, i], + op: function (e, r, i) { + t.nullCheck(r, n); + if (r.hyperfunc) { + i.push(e); + } + var a = r.apply(null, i); + return a; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } + return e.parseElement("indirectExpression", r, a); + }); + t.addIndirectExpression("attributeRefAccess", function (e, t, r, n) { + var i = e.parseElement("attributeRef", r); + if (!i) return; + var a = { + type: "attributeRefAccess", + root: n, + attribute: i, + args: [n], + op: function (e, r) { + var n = t.resolveAttribute(r, i.name); + return n; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + return a; + }); + t.addIndirectExpression("arrayIndex", function (e, t, r, n) { + if (!r.matchOpToken("[")) return; + var i = false; + var a = false; + var o = null; + var s = null; + if (r.matchOpToken("..")) { + i = true; + o = e.requireElement("expression", r); + } else { + o = e.requireElement("expression", r); + if (r.matchOpToken("..")) { + a = true; + var u = r.currentToken(); + if (u.type !== "R_BRACKET") { + s = e.parseElement("expression", r); + } + } + } + r.requireOpToken("]"); + var l = { + type: "arrayIndex", + root: n, + prop: o, + firstIndex: o, + secondIndex: s, + args: [n, o, s], + op: function (e, t, r, n) { + if (t == null) { + return null; + } + if (i) { + if (r < 0) { + r = t.length + r; + } + return t.slice(0, r + 1); + } else if (a) { + if (n != null) { + if (n < 0) { + n = t.length + n; + } + return t.slice(r, n + 1); + } else { + return t.slice(r); + } + } else { + return t[r]; + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + return e.parseElement("indirectExpression", r, l); + }); + var a = [ + "em", + "ex", + "cap", + "ch", + "ic", + "rem", + "lh", + "rlh", + "vw", + "vh", + "vi", + "vb", + "vmin", + "vmax", + "cm", + "mm", + "Q", + "pc", + "pt", + "px", + ]; + t.addGrammarElement("postfixExpression", function (e, t, r) { + var n = e.parseElement("primaryExpression", r); + let i = r.matchAnyToken.apply(r, a) || r.matchOpToken("%"); + if (i) { + return { + type: "stringPostfix", + postfix: i.value, + args: [n], + op: function (e, t) { + return "" + t + i.value; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } + var o = null; + if (r.matchToken("s") || r.matchToken("seconds")) { + o = 1e3; + } else if (r.matchToken("ms") || r.matchToken("milliseconds")) { + o = 1; + } + if (o) { + return { + type: "timeExpression", + time: n, + factor: o, + args: [n], + op: function (e, t) { + return t * o; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } + if (r.matchOpToken(":")) { + var s = r.requireTokenType("IDENTIFIER"); + if (!s.value) return; + var u = !r.matchOpToken("!"); + return { + type: "typeCheck", + typeName: s, + nullOk: u, + args: [n], + op: function (e, r) { + var n = t.typeCheck(r, this.typeName.value, u); + if (n) { + return r; + } else { + throw new Error("Typecheck failed! Expected: " + s.value); + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } else { + return n; + } + }); + t.addGrammarElement("logicalNot", function (e, t, r) { + if (!r.matchToken("not")) return; + var n = e.requireElement("unaryExpression", r); + return { + type: "logicalNot", + root: n, + args: [n], + op: function (e, t) { + return !t; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addGrammarElement("noExpression", function (e, t, r) { + if (!r.matchToken("no")) return; + var n = e.requireElement("unaryExpression", r); + return { + type: "noExpression", + root: n, + args: [n], + op: function (e, r) { + return t.isEmpty(r); + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addLeafExpression("some", function (e, t, r) { + if (!r.matchToken("some")) return; + var n = e.requireElement("expression", r); + return { + type: "noExpression", + root: n, + args: [n], + op: function (e, r) { + return !t.isEmpty(r); + }, + evaluate(e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addGrammarElement("negativeNumber", function (e, t, r) { + if (!r.matchOpToken("-")) return; + var n = e.requireElement("unaryExpression", r); + return { + type: "negativeNumber", + root: n, + args: [n], + op: function (e, t) { + return -1 * t; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addGrammarElement("unaryExpression", function (e, t, r) { + r.matchToken("the"); + return e.parseAnyOf( + [ + "beepExpression", + "logicalNot", + "relativePositionalExpression", + "positionalExpression", + "noExpression", + "negativeNumber", + "postfixExpression", + ], + r, + ); + }); + t.addGrammarElement("beepExpression", function (e, t, r) { + if (!r.matchToken("beep!")) return; + var n = e.parseElement("unaryExpression", r); + if (n) { + n["booped"] = true; + var i = n.evaluate; + n.evaluate = function (e) { + let r = i.apply(n, arguments); + let a = e.me; + t.beepValueToConsole(a, n, r); + return r; + }; + return n; + } + }); + var s = function (e, t, r, n) { + var i = t.querySelectorAll(r); + for (var a = 0; a < i.length; a++) { + var o = i[a]; + if (o.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_PRECEDING) { + return o; + } + } + if (n) { + return i[0]; + } + }; + var u = function (e, t, r, n) { + var i = t.querySelectorAll(r); + for (var a = i.length - 1; a >= 0; a--) { + var o = i[a]; + if (o.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_FOLLOWING) { + return o; + } + } + if (n) { + return i[i.length - 1]; + } + }; + var l = function (e, t, r, n) { + var i = []; + o.prototype.forEach(t, function (t) { + if (t.matches(r) || t === e) { + i.push(t); + } + }); + for (var a = 0; a < i.length - 1; a++) { + var s = i[a]; + if (s === e) { + return i[a + 1]; + } + } + if (n) { + var u = i[0]; + if (u && u.matches(r)) { + return u; + } + } + }; + var c = function (e, t, r, n) { + return l(e, Array.from(t).reverse(), r, n); + }; + t.addGrammarElement("relativePositionalExpression", function (e, t, r) { + var n = r.matchAnyToken("next", "previous"); + if (!n) return; + var a = n.value === "next"; + var o = e.parseElement("expression", r); + if (r.matchToken("from")) { + r.pushFollow("in"); + try { + var f = e.requireElement("unaryExpression", r); + } finally { + r.popFollow(); + } + } else { + var f = e.requireElement("implicitMeTarget", r); + } + var m = false; + var p; + if (r.matchToken("in")) { + m = true; + var h = e.requireElement("unaryExpression", r); + } else if (r.matchToken("within")) { + p = e.requireElement("unaryExpression", r); + } else { + p = document.body; + } + var v = false; + if (r.matchToken("with")) { + r.requireToken("wrapping"); + v = true; + } + return { + type: "relativePositionalExpression", + from: f, + forwardSearch: a, + inSearch: m, + wrapping: v, + inElt: h, + withinElt: p, + operator: n.value, + args: [o, f, h, p], + op: function (e, t, r, n, f) { + var p = t.css; + if (p == null) { + throw ( + "Expected a CSS value to be returned by " + i.sourceFor.apply(o) + ); + } + if (m) { + if (n) { + if (a) { + return l(r, n, p, v); + } else { + return c(r, n, p, v); + } + } + } else { + if (f) { + if (a) { + return s(r, f, p, v); + } else { + return u(r, f, p, v); + } + } + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addGrammarElement("positionalExpression", function (e, t, r) { + var n = r.matchAnyToken("first", "last", "random"); + if (!n) return; + r.matchAnyToken("in", "from", "of"); + var i = e.requireElement("unaryExpression", r); + const a = n.value; + return { + type: "positionalExpression", + rhs: i, + operator: n.value, + args: [i], + op: function (e, t) { + if (t && !Array.isArray(t)) { + if (t.children) { + t = t.children; + } else { + t = Array.from(t); + } + } + if (t) { + if (a === "first") { + return t[0]; + } else if (a === "last") { + return t[t.length - 1]; + } else if (a === "random") { + return t[Math.floor(Math.random() * t.length)]; + } + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + t.addGrammarElement("mathOperator", function (e, t, r) { + var n = e.parseElement("unaryExpression", r); + var i, + a = null; + i = r.matchAnyOpToken("+", "-", "*", "/") || r.matchToken("mod"); + while (i) { + a = a || i; + var o = i.value; + if (a.value !== o) { + e.raiseParseError( + r, + "You must parenthesize math operations with different operators", + ); + } + var s = e.parseElement("unaryExpression", r); + n = { + type: "mathOperator", + lhs: n, + rhs: s, + operator: o, + args: [n, s], + op: function (e, t, r) { + if (o === "+") { + return t + r; + } else if (o === "-") { + return t - r; + } else if (o === "*") { + return t * r; + } else if (o === "/") { + return t / r; + } else if (o === "mod") { + return t % r; + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + i = r.matchAnyOpToken("+", "-", "*", "/") || r.matchToken("mod"); + } + return n; + }); + t.addGrammarElement("mathExpression", function (e, t, r) { + return e.parseAnyOf(["mathOperator", "unaryExpression"], r); + }); + function f(e, t, r) { + if (t["contains"]) { + return t.contains(r); + } else if (t["includes"]) { + return t.includes(r); + } else { + throw Error( + "The value of " + + e.sourceFor() + + " does not have a contains or includes method on it", + ); + } + } + function p(e, t, r) { + if (t["match"]) { + return !!t.match(r); + } else if (t["matches"]) { + return t.matches(r); + } else { + throw Error( + "The value of " + + e.sourceFor() + + " does not have a match or matches method on it", + ); + } + } + t.addGrammarElement("comparisonOperator", function (e, t, r) { + var n = e.parseElement("mathExpression", r); + var i = r.matchAnyOpToken("<", ">", "<=", ">=", "==", "===", "!=", "!=="); + var a = i ? i.value : null; + var o = true; + var s = false; + if (a == null) { + if (r.matchToken("is") || r.matchToken("am")) { + if (r.matchToken("not")) { + if (r.matchToken("in")) { + a = "not in"; + } else if (r.matchToken("a")) { + a = "not a"; + s = true; + } else if (r.matchToken("empty")) { + a = "not empty"; + o = false; + } else { + if (r.matchToken("really")) { + a = "!=="; + } else { + a = "!="; + } + if (r.matchToken("equal")) { + r.matchToken("to"); + } + } + } else if (r.matchToken("in")) { + a = "in"; + } else if (r.matchToken("a")) { + a = "a"; + s = true; + } else if (r.matchToken("empty")) { + a = "empty"; + o = false; + } else if (r.matchToken("less")) { + r.requireToken("than"); + if (r.matchToken("or")) { + r.requireToken("equal"); + r.requireToken("to"); + a = "<="; + } else { + a = "<"; + } + } else if (r.matchToken("greater")) { + r.requireToken("than"); + if (r.matchToken("or")) { + r.requireToken("equal"); + r.requireToken("to"); + a = ">="; + } else { + a = ">"; + } + } else { + if (r.matchToken("really")) { + a = "==="; + } else { + a = "=="; + } + if (r.matchToken("equal")) { + r.matchToken("to"); + } + } + } else if (r.matchToken("equals")) { + a = "=="; + } else if (r.matchToken("really")) { + r.requireToken("equals"); + a = "==="; + } else if (r.matchToken("exist") || r.matchToken("exists")) { + a = "exist"; + o = false; + } else if (r.matchToken("matches") || r.matchToken("match")) { + a = "match"; + } else if (r.matchToken("contains") || r.matchToken("contain")) { + a = "contain"; + } else if (r.matchToken("includes") || r.matchToken("include")) { + a = "include"; + } else if (r.matchToken("do") || r.matchToken("does")) { + r.requireToken("not"); + if (r.matchToken("matches") || r.matchToken("match")) { + a = "not match"; + } else if (r.matchToken("contains") || r.matchToken("contain")) { + a = "not contain"; + } else if (r.matchToken("exist") || r.matchToken("exist")) { + a = "not exist"; + o = false; + } else if (r.matchToken("include")) { + a = "not include"; + } else { + e.raiseParseError(r, "Expected matches or contains"); + } + } + } + if (a) { + var u, l, c; + if (s) { + u = r.requireTokenType("IDENTIFIER"); + l = !r.matchOpToken("!"); + } else if (o) { + c = e.requireElement("mathExpression", r); + if (a === "match" || a === "not match") { + c = c.css ? c.css : c; + } + } + var m = n; + n = { + type: "comparisonOperator", + operator: a, + typeName: u, + nullOk: l, + lhs: n, + rhs: c, + args: [n, c], + op: function (e, r, n) { + if (a === "==") { + return r == n; + } else if (a === "!=") { + return r != n; + } + if (a === "===") { + return r === n; + } else if (a === "!==") { + return r !== n; + } + if (a === "match") { + return r != null && p(m, r, n); + } + if (a === "not match") { + return r == null || !p(m, r, n); + } + if (a === "in") { + return n != null && f(c, n, r); + } + if (a === "not in") { + return n == null || !f(c, n, r); + } + if (a === "contain") { + return r != null && f(m, r, n); + } + if (a === "not contain") { + return r == null || !f(m, r, n); + } + if (a === "include") { + return r != null && f(m, r, n); + } + if (a === "not include") { + return r == null || !f(m, r, n); + } + if (a === "===") { + return r === n; + } else if (a === "!==") { + return r !== n; + } else if (a === "<") { + return r < n; + } else if (a === ">") { + return r > n; + } else if (a === "<=") { + return r <= n; + } else if (a === ">=") { + return r >= n; + } else if (a === "empty") { + return t.isEmpty(r); + } else if (a === "not empty") { + return !t.isEmpty(r); + } else if (a === "exist") { + return t.doesExist(r); + } else if (a === "not exist") { + return !t.doesExist(r); + } else if (a === "a") { + return t.typeCheck(r, u.value, l); + } else if (a === "not a") { + return !t.typeCheck(r, u.value, l); + } else { + throw "Unknown comparison : " + a; + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + } + return n; + }); + t.addGrammarElement("comparisonExpression", function (e, t, r) { + return e.parseAnyOf(["comparisonOperator", "mathExpression"], r); + }); + t.addGrammarElement("logicalOperator", function (e, t, r) { + var n = e.parseElement("comparisonExpression", r); + var i, + a = null; + i = r.matchToken("and") || r.matchToken("or"); + while (i) { + a = a || i; + if (a.value !== i.value) { + e.raiseParseError( + r, + "You must parenthesize logical operations with different operators", + ); + } + var o = e.requireElement("comparisonExpression", r); + const s = i.value; + n = { + type: "logicalOperator", + operator: s, + lhs: n, + rhs: o, + args: [n, o], + op: function (e, t, r) { + if (s === "and") { + return t && r; + } else { + return t || r; + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + i = r.matchToken("and") || r.matchToken("or"); + } + return n; + }); + t.addGrammarElement("logicalExpression", function (e, t, r) { + return e.parseAnyOf(["logicalOperator", "mathExpression"], r); + }); + t.addGrammarElement("asyncExpression", function (e, t, r) { + if (r.matchToken("async")) { + var n = e.requireElement("logicalExpression", r); + var i = { + type: "asyncExpression", + value: n, + evaluate: function (e) { + return { asyncWrapper: true, value: this.value.evaluate(e) }; + }, + }; + return i; + } else { + return e.parseElement("logicalExpression", r); + } + }); + t.addGrammarElement("expression", function (e, t, r) { + r.matchToken("the"); + return e.parseElement("asyncExpression", r); + }); + t.addGrammarElement("assignableExpression", function (e, t, r) { + r.matchToken("the"); + var n = e.parseElement("primaryExpression", r); + if ( + n && + (n.type === "symbol" || + n.type === "ofExpression" || + n.type === "propertyAccess" || + n.type === "attributeRefAccess" || + n.type === "attributeRef" || + n.type === "styleRef" || + n.type === "arrayIndex" || + n.type === "possessive") + ) { + return n; + } else { + e.raiseParseError( + r, + "A target expression must be writable. The expression type '" + + (n && n.type) + + "' is not.", + ); + } + return n; + }); + t.addGrammarElement("hyperscript", function (e, t, r) { + var n = []; + if (r.hasMore()) { + while ( + e.featureStart(r.currentToken()) || + r.currentToken().value === "(" + ) { + var i = e.requireElement("feature", r); + n.push(i); + r.matchToken("end"); + } + } + return { + type: "hyperscript", + features: n, + apply: function (e, t, r) { + for (const i of n) { + i.install(e, t, r); + } + }, + }; + }); + var v = function (e) { + var t = []; + if ( + e.token(0).value === "(" && + (e.token(1).value === ")" || + e.token(2).value === "," || + e.token(2).value === ")") + ) { + e.matchOpToken("("); + do { + t.push(e.requireTokenType("IDENTIFIER")); + } while (e.matchOpToken(",")); + e.requireOpToken(")"); + } + return t; + }; + t.addFeature("on", function (e, t, r) { + if (!r.matchToken("on")) return; + var n = false; + if (r.matchToken("every")) { + n = true; + } + var i = []; + var a = null; + do { + var o = e.requireElement("eventName", r, "Expected event name"); + var s = o.evaluate(); + if (a) { + a = a + " or " + s; + } else { + a = "on " + s; + } + var u = v(r); + var l = null; + if (r.matchOpToken("[")) { + l = e.requireElement("expression", r); + r.requireOpToken("]"); + } + var c, f, m; + if (r.currentToken().type === "NUMBER") { + var p = r.consumeToken(); + if (!p.value) return; + c = parseInt(p.value); + if (r.matchToken("to")) { + var h = r.consumeToken(); + if (!h.value) return; + f = parseInt(h.value); + } else if (r.matchToken("and")) { + m = true; + r.requireToken("on"); + } + } + var d, E; + if (s === "intersection") { + d = {}; + if (r.matchToken("with")) { + d["with"] = e.requireElement("expression", r).evaluate(); + } + if (r.matchToken("having")) { + do { + if (r.matchToken("margin")) { + d["rootMargin"] = e.requireElement("stringLike", r).evaluate(); + } else if (r.matchToken("threshold")) { + d["threshold"] = e.requireElement("expression", r).evaluate(); + } else { + e.raiseParseError( + r, + "Unknown intersection config specification", + ); + } + } while (r.matchToken("and")); + } + } else if (s === "mutation") { + E = {}; + if (r.matchToken("of")) { + do { + if (r.matchToken("anything")) { + E["attributes"] = true; + E["subtree"] = true; + E["characterData"] = true; + E["childList"] = true; + } else if (r.matchToken("childList")) { + E["childList"] = true; + } else if (r.matchToken("attributes")) { + E["attributes"] = true; + E["attributeOldValue"] = true; + } else if (r.matchToken("subtree")) { + E["subtree"] = true; + } else if (r.matchToken("characterData")) { + E["characterData"] = true; + E["characterDataOldValue"] = true; + } else if (r.currentToken().type === "ATTRIBUTE_REF") { + var T = r.consumeToken(); + if (E["attributeFilter"] == null) { + E["attributeFilter"] = []; + } + if (T.value.indexOf("@") == 0) { + E["attributeFilter"].push(T.value.substring(1)); + } else { + e.raiseParseError( + r, + "Only shorthand attribute references are allowed here", + ); + } + } else { + e.raiseParseError(r, "Unknown mutation config specification"); + } + } while (r.matchToken("or")); + } else { + E["attributes"] = true; + E["characterData"] = true; + E["childList"] = true; + } + } + var y = null; + var k = false; + if (r.matchToken("from")) { + if (r.matchToken("elsewhere")) { + k = true; + } else { + r.pushFollow("or"); + try { + y = e.requireElement("expression", r); + } finally { + r.popFollow(); + } + if (!y) { + e.raiseParseError( + r, + 'Expected either target value or "elsewhere".', + ); + } + } + } + if (y === null && k === false && r.matchToken("elsewhere")) { + k = true; + } + if (r.matchToken("in")) { + var x = e.parseElement("unaryExpression", r); + } + if (r.matchToken("debounced")) { + r.requireToken("at"); + var g = e.requireElement("unaryExpression", r); + var b = g.evaluate({}); + } else if (r.matchToken("throttled")) { + r.requireToken("at"); + var g = e.requireElement("unaryExpression", r); + var w = g.evaluate({}); + } + i.push({ + execCount: 0, + every: n, + on: s, + args: u, + filter: l, + from: y, + inExpr: x, + elsewhere: k, + startCount: c, + endCount: f, + unbounded: m, + debounceTime: b, + throttleTime: w, + mutationSpec: E, + intersectionSpec: d, + debounced: undefined, + lastExec: undefined, + }); + } while (r.matchToken("or")); + var S = true; + if (!n) { + if (r.matchToken("queue")) { + if (r.matchToken("all")) { + var q = true; + var S = false; + } else if (r.matchToken("first")) { + var N = true; + } else if (r.matchToken("none")) { + var I = true; + } else { + r.requireToken("last"); + } + } + } + var C = e.requireElement("commandList", r); + e.ensureTerminated(C); + var R, A; + if (r.matchToken("catch")) { + R = r.requireTokenType("IDENTIFIER").value; + A = e.requireElement("commandList", r); + e.ensureTerminated(A); + } + if (r.matchToken("finally")) { + var L = e.requireElement("commandList", r); + e.ensureTerminated(L); + } + var O = { + displayName: a, + events: i, + start: C, + every: n, + execCount: 0, + errorHandler: A, + errorSymbol: R, + execute: function (e) { + let r = t.getEventQueueFor(e.me, O); + if (r.executing && n === false) { + if (I || (N && r.queue.length > 0)) { + return; + } + if (S) { + r.queue.length = 0; + } + r.queue.push(e); + return; + } + O.execCount++; + r.executing = true; + e.meta.onHalt = function () { + r.executing = false; + var e = r.queue.shift(); + if (e) { + setTimeout(function () { + O.execute(e); + }, 1); + } + }; + e.meta.reject = function (r) { + console.error(r.message ? r.message : r); + var n = t.getHyperTrace(e, r); + if (n) { + n.print(); + } + t.triggerEvent(e.me, "exception", { error: r }); + }; + C.execute(e); + }, + install: function (e, r) { + for (const r of O.events) { + var n; + if (r.elsewhere) { + n = [document]; + } else if (r.from) { + n = r.from.evaluate(t.makeContext(e, O, e, null)); + } else { + n = [e]; + } + t.implicitLoop(n, function (n) { + var i = r.on; + if (n == null) { + console.warn( + "'%s' feature ignored because target does not exists:", + a, + e, + ); + return; + } + if (r.mutationSpec) { + i = "hyperscript:mutation"; + const e = new MutationObserver(function (e, r) { + if (!O.executing) { + t.triggerEvent(n, i, { mutationList: e, observer: r }); + } + }); + e.observe(n, r.mutationSpec); + } + if (r.intersectionSpec) { + i = "hyperscript:intersection"; + const e = new IntersectionObserver(function (r) { + for (const o of r) { + var a = { observer: e }; + a = Object.assign(a, o); + a["intersecting"] = o.isIntersecting; + t.triggerEvent(n, i, a); + } + }, r.intersectionSpec); + e.observe(n); + } + var o = n.addEventListener || n.on; + o.call(n, i, function a(o) { + if ( + typeof Node !== "undefined" && + e instanceof Node && + n !== e && + !e.isConnected + ) { + n.removeEventListener(i, a); + return; + } + var s = t.makeContext(e, O, e, o); + if (r.elsewhere && e.contains(o.target)) { + return; + } + if (r.from) { + s.result = n; + } + for (const e of r.args) { + let t = s.event[e.value]; + if (t !== undefined) { + s.locals[e.value] = t; + } else if ("detail" in s.event) { + s.locals[e.value] = s.event["detail"][e.value]; + } + } + s.meta.errorHandler = A; + s.meta.errorSymbol = R; + s.meta.finallyHandler = L; + if (r.filter) { + var u = s.meta.context; + s.meta.context = s.event; + try { + var l = r.filter.evaluate(s); + if (l) { + } else { + return; + } + } finally { + s.meta.context = u; + } + } + if (r.inExpr) { + var c = o.target; + while (true) { + if (c.matches && c.matches(r.inExpr.css)) { + s.result = c; + break; + } else { + c = c.parentElement; + if (c == null) { + return; + } + } + } + } + r.execCount++; + if (r.startCount) { + if (r.endCount) { + if ( + r.execCount < r.startCount || + r.execCount > r.endCount + ) { + return; + } + } else if (r.unbounded) { + if (r.execCount < r.startCount) { + return; + } + } else if (r.execCount !== r.startCount) { + return; + } + } + if (r.debounceTime) { + if (r.debounced) { + clearTimeout(r.debounced); + } + r.debounced = setTimeout(function () { + O.execute(s); + }, r.debounceTime); + return; + } + if (r.throttleTime) { + if (r.lastExec && Date.now() < r.lastExec + r.throttleTime) { + return; + } else { + r.lastExec = Date.now(); + } + } + O.execute(s); + }); + }); + } + }, + }; + e.setParent(C, O); + return O; + }); + t.addFeature("def", function (e, t, r) { + if (!r.matchToken("def")) return; + var n = e.requireElement("dotOrColonPath", r); + var i = n.evaluate(); + var a = i.split("."); + var o = a.pop(); + var s = []; + if (r.matchOpToken("(")) { + if (r.matchOpToken(")")) { + } else { + do { + s.push(r.requireTokenType("IDENTIFIER")); + } while (r.matchOpToken(",")); + r.requireOpToken(")"); + } + } + var u = e.requireElement("commandList", r); + var l, c; + if (r.matchToken("catch")) { + l = r.requireTokenType("IDENTIFIER").value; + c = e.parseElement("commandList", r); + } + if (r.matchToken("finally")) { + var f = e.requireElement("commandList", r); + e.ensureTerminated(f); + } + var m = { + displayName: + o + + "(" + + s + .map(function (e) { + return e.value; + }) + .join(", ") + + ")", + name: o, + args: s, + start: u, + errorHandler: c, + errorSymbol: l, + finallyHandler: f, + install: function (e, r) { + var n = function () { + var n = t.makeContext(r, m, e, null); + n.meta.errorHandler = c; + n.meta.errorSymbol = l; + n.meta.finallyHandler = f; + for (var i = 0; i < s.length; i++) { + var a = s[i]; + var o = arguments[i]; + if (a) { + n.locals[a.value] = o; + } + } + n.meta.caller = arguments[s.length]; + if (n.meta.caller) { + n.meta.callingCommand = n.meta.caller.meta.command; + } + var p, + h = null; + var v = new Promise(function (e, t) { + p = e; + h = t; + }); + u.execute(n); + if (n.meta.returned) { + return n.meta.returnValue; + } else { + n.meta.resolve = p; + n.meta.reject = h; + return v; + } + }; + n.hyperfunc = true; + n.hypername = i; + t.assignToNamespace(e, a, o, n); + }, + }; + e.ensureTerminated(u); + if (c) { + e.ensureTerminated(c); + } + e.setParent(u, m); + return m; + }); + t.addFeature("set", function (e, t, r) { + let n = e.parseElement("setCommand", r); + if (n) { + if (n.target.scope !== "element") { + e.raiseParseError( + r, + "variables declared at the feature level must be element scoped.", + ); + } + let i = { + start: n, + install: function (e, r) { + n && n.execute(t.makeContext(e, i, e, null)); + }, + }; + e.ensureTerminated(n); + return i; + } + }); + t.addFeature("init", function (e, t, r) { + if (!r.matchToken("init")) return; + var n = r.matchToken("immediately"); + var i = e.requireElement("commandList", r); + var a = { + start: i, + install: function (e, r) { + let o = function () { + i && i.execute(t.makeContext(e, a, e, null)); + }; + if (n) { + o(); + } else { + setTimeout(o, 0); + } + }, + }; + e.ensureTerminated(i); + e.setParent(i, a); + return a; + }); + t.addFeature("worker", function (e, t, r) { + if (r.matchToken("worker")) { + e.raiseParseError( + r, + "In order to use the 'worker' feature, include " + + "the _hyperscript worker plugin. See " + + "https://hyperscript.org/features/worker/ for " + + "more info.", + ); + return undefined; + } + }); + t.addFeature("behavior", function (t, r, n) { + if (!n.matchToken("behavior")) return; + var i = t.requireElement("dotOrColonPath", n).evaluate(); + var a = i.split("."); + var o = a.pop(); + var s = []; + if (n.matchOpToken("(") && !n.matchOpToken(")")) { + do { + s.push(n.requireTokenType("IDENTIFIER").value); + } while (n.matchOpToken(",")); + n.requireOpToken(")"); + } + var u = t.requireElement("hyperscript", n); + for (var l = 0; l < u.features.length; l++) { + var c = u.features[l]; + c.behavior = i; + } + return { + install: function (t, n) { + r.assignToNamespace( + e.document && e.document.body, + a, + o, + function (e, t, n) { + var a = r.getInternalData(e); + var o = h(a, i + "Scope"); + for (var l = 0; l < s.length; l++) { + o[s[l]] = n[s[l]]; + } + u.apply(e, t); + }, + ); + }, + }; + }); + t.addFeature("install", function (t, r, n) { + if (!n.matchToken("install")) return; + var i = t.requireElement("dotOrColonPath", n).evaluate(); + var a = i.split("."); + var o = t.parseElement("namedArgumentList", n); + var s; + return (s = { + install: function (t, n) { + r.unifiedEval( + { + args: [o], + op: function (r, o) { + var s = e; + for (var u = 0; u < a.length; u++) { + s = s[a[u]]; + if (typeof s !== "object" && typeof s !== "function") + throw new Error("No such behavior defined as " + i); + } + if (!(s instanceof Function)) + throw new Error(i + " is not a behavior"); + s(t, n, o); + }, + }, + r.makeContext(t, s, t, null), + ); + }, + }); + }); + t.addGrammarElement("jsBody", function (e, t, r) { + var n = r.currentToken().start; + var i = r.currentToken(); + var a = []; + var o = ""; + var s = false; + while (r.hasMore()) { + i = r.consumeToken(); + var u = r.token(0, true); + if (u.type === "IDENTIFIER" && u.value === "end") { + break; + } + if (s) { + if (i.type === "IDENTIFIER" || i.type === "NUMBER") { + o += i.value; + } else { + if (o !== "") a.push(o); + o = ""; + s = false; + } + } else if (i.type === "IDENTIFIER" && i.value === "function") { + s = true; + } + } + var l = i.end + 1; + return { + type: "jsBody", + exposedFunctionNames: a, + jsSource: r.source.substring(n, l), + }; + }); + t.addFeature("js", function (t, r, n) { + if (!n.matchToken("js")) return; + var i = t.requireElement("jsBody", n); + var a = + i.jsSource + + "\nreturn { " + + i.exposedFunctionNames + .map(function (e) { + return e + ":" + e; + }) + .join(",") + + " } "; + var o = new Function(a); + return { + jsSource: a, + function: o, + exposedFunctionNames: i.exposedFunctionNames, + install: function () { + Object.assign(e, o()); + }, + }; + }); + t.addCommand("js", function (t, r, n) { + if (!n.matchToken("js")) return; + var i = []; + if (n.matchOpToken("(")) { + if (n.matchOpToken(")")) { + } else { + do { + var a = n.requireTokenType("IDENTIFIER"); + i.push(a.value); + } while (n.matchOpToken(",")); + n.requireOpToken(")"); + } + } + var o = t.requireElement("jsBody", n); + n.matchToken("end"); + var s = E(Function, i.concat([o.jsSource])); + var u = { + jsSource: o.jsSource, + function: s, + inputs: i, + op: function (t) { + var n = []; + i.forEach(function (e) { + n.push(r.resolveSymbol(e, t, "default")); + }); + var a = s.apply(e, n); + if (a && typeof a.then === "function") { + return new Promise(function (e) { + a.then(function (n) { + t.result = n; + e(r.findNext(this, t)); + }); + }); + } else { + t.result = a; + return r.findNext(this, t); + } + }, + }; + return u; + }); + t.addCommand("async", function (e, t, r) { + if (!r.matchToken("async")) return; + if (r.matchToken("do")) { + var n = e.requireElement("commandList", r); + var i = n; + while (i.next) i = i.next; + i.next = t.HALT; + r.requireToken("end"); + } else { + var n = e.requireElement("command", r); + } + var a = { + body: n, + op: function (e) { + setTimeout(function () { + n.execute(e); + }); + return t.findNext(this, e); + }, + }; + e.setParent(n, a); + return a; + }); + t.addCommand("tell", function (e, t, r) { + var n = r.currentToken(); + if (!r.matchToken("tell")) return; + var i = e.requireElement("expression", r); + var a = e.requireElement("commandList", r); + if (r.hasMore() && !e.featureStart(r.currentToken())) { + r.requireToken("end"); + } + var o = "tell_" + n.start; + var s = { + value: i, + body: a, + args: [i], + resolveNext: function (e) { + var r = e.meta.iterators[o]; + if (r.index < r.value.length) { + e.you = r.value[r.index++]; + return a; + } else { + e.you = r.originalYou; + if (this.next) { + return this.next; + } else { + return t.findNext(this.parent, e); + } + } + }, + op: function (e, t) { + if (t == null) { + t = []; + } else if (!(Array.isArray(t) || t instanceof NodeList)) { + t = [t]; + } + e.meta.iterators[o] = { originalYou: e.you, index: 0, value: t }; + return this.resolveNext(e); + }, + }; + e.setParent(a, s); + return s; + }); + t.addCommand("wait", function (e, t, r) { + if (!r.matchToken("wait")) return; + var n; + if (r.matchToken("for")) { + r.matchToken("a"); + var i = []; + do { + var a = r.token(0); + if (a.type === "NUMBER" || a.type === "L_PAREN") { + i.push({ time: e.requireElement("expression", r).evaluate() }); + } else { + i.push({ + name: e + .requireElement("dotOrColonPath", r, "Expected event name") + .evaluate(), + args: v(r), + }); + } + } while (r.matchToken("or")); + if (r.matchToken("from")) { + var o = e.requireElement("expression", r); + } + n = { + event: i, + on: o, + args: [o], + op: function (e, r) { + var n = r ? r : e.me; + if (!(n instanceof EventTarget)) + throw new Error( + "Not a valid event target: " + this.on.sourceFor(), + ); + return new Promise((r) => { + var a = false; + for (const s of i) { + var o = (n) => { + e.result = n; + if (s.args) { + for (const t of s.args) { + e.locals[t.value] = + n[t.value] || (n.detail ? n.detail[t.value] : null); + } + } + if (!a) { + a = true; + r(t.findNext(this, e)); + } + }; + if (s.name) { + n.addEventListener(s.name, o, { once: true }); + } else if (s.time != null) { + setTimeout(o, s.time, s.time); + } + } + }); + }, + }; + return n; + } else { + var s; + if (r.matchToken("a")) { + r.requireToken("tick"); + s = 0; + } else { + s = e.requireElement("expression", r); + } + n = { + type: "waitCmd", + time: s, + args: [s], + op: function (e, r) { + return new Promise((n) => { + setTimeout(() => { + n(t.findNext(this, e)); + }, r); + }); + }, + execute: function (e) { + return t.unifiedExec(this, e); + }, + }; + return n; + } + }); + t.addGrammarElement("dotOrColonPath", function (e, t, r) { + var n = r.matchTokenType("IDENTIFIER"); + if (n) { + var i = [n.value]; + var a = r.matchOpToken(".") || r.matchOpToken(":"); + if (a) { + do { + i.push(r.requireTokenType("IDENTIFIER", "NUMBER").value); + } while (r.matchOpToken(a.value)); + } + return { + type: "dotOrColonPath", + path: i, + evaluate: function () { + return i.join(a ? a.value : ""); + }, + }; + } + }); + t.addGrammarElement("eventName", function (e, t, r) { + var n; + if ((n = r.matchTokenType("STRING"))) { + return { + evaluate: function () { + return n.value; + }, + }; + } + return e.parseElement("dotOrColonPath", r); + }); + function d(e, t, r, n) { + var i = t.requireElement("eventName", n); + var a = t.parseElement("namedArgumentList", n); + if ( + (e === "send" && n.matchToken("to")) || + (e === "trigger" && n.matchToken("on")) + ) { + var o = t.requireElement("expression", n); + } else { + var o = t.requireElement("implicitMeTarget", n); + } + var s = { + eventName: i, + details: a, + to: o, + args: [o, i, a], + op: function (e, t, n, i) { + r.nullCheck(t, o); + r.implicitLoop(t, function (t) { + r.triggerEvent(t, n, i, e.me); + }); + return r.findNext(s, e); + }, + }; + return s; + } + t.addCommand("trigger", function (e, t, r) { + if (r.matchToken("trigger")) { + return d("trigger", e, t, r); + } + }); + t.addCommand("send", function (e, t, r) { + if (r.matchToken("send")) { + return d("send", e, t, r); + } + }); + var T = function (e, t, r, n) { + if (n) { + if (e.commandBoundary(r.currentToken())) { + e.raiseParseError( + r, + "'return' commands must return a value. If you do not wish to return a value, use 'exit' instead.", + ); + } else { + var i = e.requireElement("expression", r); + } + } + var a = { + value: i, + args: [i], + op: function (e, r) { + var n = e.meta.resolve; + e.meta.returned = true; + e.meta.returnValue = r; + if (n) { + if (r) { + n(r); + } else { + n(); + } + } + return t.HALT; + }, + }; + return a; + }; + t.addCommand("return", function (e, t, r) { + if (r.matchToken("return")) { + return T(e, t, r, true); + } + }); + t.addCommand("exit", function (e, t, r) { + if (r.matchToken("exit")) { + return T(e, t, r, false); + } + }); + t.addCommand("halt", function (e, t, r) { + if (r.matchToken("halt")) { + if (r.matchToken("the")) { + r.requireToken("event"); + if (r.matchOpToken("'")) { + r.requireToken("s"); + } + var n = true; + } + if (r.matchToken("bubbling")) { + var i = true; + } else if (r.matchToken("default")) { + var a = true; + } + var o = T(e, t, r, false); + var s = { + keepExecuting: true, + bubbling: i, + haltDefault: a, + exit: o, + op: function (e) { + if (e.event) { + if (i) { + e.event.stopPropagation(); + } else if (a) { + e.event.preventDefault(); + } else { + e.event.stopPropagation(); + e.event.preventDefault(); + } + if (n) { + return t.findNext(this, e); + } else { + return o; + } + } + }, + }; + return s; + } + }); + t.addCommand("log", function (e, t, r) { + if (!r.matchToken("log")) return; + var n = [e.parseElement("expression", r)]; + while (r.matchOpToken(",")) { + n.push(e.requireElement("expression", r)); + } + if (r.matchToken("with")) { + var i = e.requireElement("expression", r); + } + var a = { + exprs: n, + withExpr: i, + args: [i, n], + op: function (e, r, n) { + if (r) { + r.apply(null, n); + } else { + console.log.apply(null, n); + } + return t.findNext(this, e); + }, + }; + return a; + }); + t.addCommand("beep!", function (e, t, r) { + if (!r.matchToken("beep!")) return; + var n = [e.parseElement("expression", r)]; + while (r.matchOpToken(",")) { + n.push(e.requireElement("expression", r)); + } + var i = { + exprs: n, + args: [n], + op: function (e, r) { + for (let i = 0; i < n.length; i++) { + const a = n[i]; + const o = r[i]; + t.beepValueToConsole(e.me, a, o); + } + return t.findNext(this, e); + }, + }; + return i; + }); + t.addCommand("throw", function (e, t, r) { + if (!r.matchToken("throw")) return; + var n = e.requireElement("expression", r); + var i = { + expr: n, + args: [n], + op: function (e, r) { + t.registerHyperTrace(e, r); + throw r; + }, + }; + return i; + }); + var y = function (e, t, r) { + var n = e.requireElement("expression", r); + var i = { + expr: n, + args: [n], + op: function (e, r) { + e.result = r; + return t.findNext(i, e); + }, + }; + return i; + }; + t.addCommand("call", function (e, t, r) { + if (!r.matchToken("call")) return; + var n = y(e, t, r); + if (n.expr && n.expr.type !== "functionCall") { + e.raiseParseError(r, "Must be a function invocation"); + } + return n; + }); + t.addCommand("get", function (e, t, r) { + if (r.matchToken("get")) { + return y(e, t, r); + } + }); + t.addCommand("make", function (e, t, r) { + if (!r.matchToken("make")) return; + r.matchToken("a") || r.matchToken("an"); + var n = e.requireElement("expression", r); + var i = []; + if (n.type !== "queryRef" && r.matchToken("from")) { + do { + i.push(e.requireElement("expression", r)); + } while (r.matchOpToken(",")); + } + if (r.matchToken("called")) { + var a = e.requireElement("symbol", r); + } + var o; + if (n.type === "queryRef") { + o = { + op: function (e) { + var r, + i = "div", + o, + s = []; + var u = /(?:(^|#|\.)([^#\. ]+))/g; + while ((r = u.exec(n.css))) { + if (r[1] === "") i = r[2].trim(); + else if (r[1] === "#") o = r[2].trim(); + else s.push(r[2].trim()); + } + var l = document.createElement(i); + if (o !== undefined) l.id = o; + for (var c = 0; c < s.length; c++) { + var f = s[c]; + l.classList.add(f); + } + e.result = l; + if (a) { + t.setSymbol(a.name, e, a.scope, l); + } + return t.findNext(this, e); + }, + }; + return o; + } else { + o = { + args: [n, i], + op: function (e, r, n) { + e.result = E(r, n); + if (a) { + t.setSymbol(a.name, e, a.scope, e.result); + } + return t.findNext(this, e); + }, + }; + return o; + } + }); + t.addGrammarElement("pseudoCommand", function (e, t, r) { + let n = r.token(1); + if (!(n && n.op && (n.value === "." || n.value === "("))) { + return null; + } + var i = e.requireElement("primaryExpression", r); + var a = i.root; + var o = i; + while (a.root != null) { + o = o.root; + a = a.root; + } + if (i.type !== "functionCall") { + e.raiseParseError(r, "Pseudo-commands must be function calls"); + } + if (o.type === "functionCall" && o.root.root == null) { + if (r.matchAnyToken("the", "to", "on", "with", "into", "from", "at")) { + var s = e.requireElement("expression", r); + } else if (r.matchToken("me")) { + var s = e.requireElement("implicitMeTarget", r); + } + } + var u; + if (s) { + u = { + type: "pseudoCommand", + root: s, + argExressions: o.argExressions, + args: [s, o.argExressions], + op: function (e, r, n) { + t.nullCheck(r, s); + var i = r[o.root.name]; + t.nullCheck(i, o); + if (i.hyperfunc) { + n.push(e); + } + e.result = i.apply(r, n); + return t.findNext(u, e); + }, + execute: function (e) { + return t.unifiedExec(this, e); + }, + }; + } else { + u = { + type: "pseudoCommand", + expr: i, + args: [i], + op: function (e, r) { + e.result = r; + return t.findNext(u, e); + }, + execute: function (e) { + return t.unifiedExec(this, e); + }, + }; + } + return u; + }); + var k = function (e, t, r, n, i) { + var a = n.type === "symbol"; + var o = n.type === "attributeRef"; + var s = n.type === "styleRef"; + var u = n.type === "arrayIndex"; + if (!(o || s || a) && n.root == null) { + e.raiseParseError( + r, + "Can only put directly into symbols, not references", + ); + } + var l = null; + var c = null; + if (a) { + } else if (o || s) { + l = e.requireElement("implicitMeTarget", r); + var f = n; + } else if (u) { + c = n.firstIndex; + l = n.root; + } else { + c = n.prop ? n.prop.value : null; + var f = n.attribute; + l = n.root; + } + var m = { + target: n, + symbolWrite: a, + value: i, + args: [l, c, i], + op: function (e, r, i, o) { + if (a) { + t.setSymbol(n.name, e, n.scope, o); + } else { + t.nullCheck(r, l); + if (u) { + r[i] = o; + } else { + t.implicitLoop(r, function (e) { + if (f) { + if (f.type === "attributeRef") { + if (o == null) { + e.removeAttribute(f.name); + } else { + e.setAttribute(f.name, o); + } + } else { + e.style[f.name] = o; + } + } else { + e[i] = o; + } + }); + } + } + return t.findNext(this, e); + }, + }; + return m; + }; + t.addCommand("default", function (e, t, r) { + if (!r.matchToken("default")) return; + var n = e.requireElement("assignableExpression", r); + r.requireToken("to"); + var i = e.requireElement("expression", r); + var a = k(e, t, r, n, i); + var o = { + target: n, + value: i, + setter: a, + args: [n], + op: function (e, r) { + if (r) { + return t.findNext(this, e); + } else { + return a; + } + }, + }; + a.parent = o; + return o; + }); + t.addCommand("set", function (e, t, r) { + if (!r.matchToken("set")) return; + if (r.currentToken().type === "L_BRACE") { + var n = e.requireElement("objectLiteral", r); + r.requireToken("on"); + var i = e.requireElement("expression", r); + var a = { + objectLiteral: n, + target: i, + args: [n, i], + op: function (e, r, n) { + Object.assign(n, r); + return t.findNext(this, e); + }, + }; + return a; + } + try { + r.pushFollow("to"); + var i = e.requireElement("assignableExpression", r); + } finally { + r.popFollow(); + } + r.requireToken("to"); + var o = e.requireElement("expression", r); + return k(e, t, r, i, o); + }); + t.addCommand("if", function (e, t, r) { + if (!r.matchToken("if")) return; + var n = e.requireElement("expression", r); + r.matchToken("then"); + var i = e.parseElement("commandList", r); + var a = false; + let o = r.matchToken("else") || r.matchToken("otherwise"); + if (o) { + let t = r.peekToken("if"); + a = t != null && t.line === o.line; + if (a) { + var s = e.parseElement("command", r); + } else { + var s = e.parseElement("commandList", r); + } + } + if (r.hasMore() && !a) { + r.requireToken("end"); + } + var u = { + expr: n, + trueBranch: i, + falseBranch: s, + args: [n], + op: function (e, r) { + if (r) { + return i; + } else if (s) { + return s; + } else { + return t.findNext(this, e); + } + }, + }; + e.setParent(i, u); + e.setParent(s, u); + return u; + }); + var x = function (e, t, r, n) { + var i = t.currentToken(); + var a; + if (t.matchToken("for") || n) { + var o = t.requireTokenType("IDENTIFIER"); + a = o.value; + t.requireToken("in"); + var s = e.requireElement("expression", t); + } else if (t.matchToken("in")) { + a = "it"; + var s = e.requireElement("expression", t); + } else if (t.matchToken("while")) { + var u = e.requireElement("expression", t); + } else if (t.matchToken("until")) { + var l = true; + if (t.matchToken("event")) { + var c = e.requireElement("dotOrColonPath", t, "Expected event name"); + if (t.matchToken("from")) { + var f = e.requireElement("expression", t); + } + } else { + var u = e.requireElement("expression", t); + } + } else { + if ( + !e.commandBoundary(t.currentToken()) && + t.currentToken().value !== "forever" + ) { + var m = e.requireElement("expression", t); + t.requireToken("times"); + } else { + t.matchToken("forever"); + var p = true; + } + } + if (t.matchToken("index")) { + var o = t.requireTokenType("IDENTIFIER"); + var h = o.value; + } + var v = e.parseElement("commandList", t); + if (v && c) { + var d = v; + while (d.next) { + d = d.next; + } + var E = { + type: "waitATick", + op: function () { + return new Promise(function (e) { + setTimeout(function () { + e(r.findNext(E)); + }, 0); + }); + }, + }; + d.next = E; + } + if (t.hasMore()) { + t.requireToken("end"); + } + if (a == null) { + a = "_implicit_repeat_" + i.start; + var T = a; + } else { + var T = a + "_" + i.start; + } + var y = { + identifier: a, + indexIdentifier: h, + slot: T, + expression: s, + forever: p, + times: m, + until: l, + event: c, + on: f, + whileExpr: u, + resolveNext: function () { + return this; + }, + loop: v, + args: [u, m], + op: function (e, t, n) { + var i = e.meta.iterators[T]; + var o = false; + var s = null; + if (this.forever) { + o = true; + } else if (this.until) { + if (c) { + o = e.meta.iterators[T].eventFired === false; + } else { + o = t !== true; + } + } else if (u) { + o = t; + } else if (n) { + o = i.index < n; + } else { + var l = i.iterator.next(); + o = !l.done; + s = l.value; + } + if (o) { + if (i.value) { + e.result = e.locals[a] = s; + } else { + e.result = i.index; + } + if (h) { + e.locals[h] = i.index; + } + i.index++; + return v; + } else { + e.meta.iterators[T] = null; + return r.findNext(this.parent, e); + } + }, + }; + e.setParent(v, y); + var k = { + name: "repeatInit", + args: [s, c, f], + op: function (e, t, r, n) { + var i = { index: 0, value: t, eventFired: false }; + e.meta.iterators[T] = i; + if (t && t[Symbol.iterator]) { + i.iterator = t[Symbol.iterator](); + } + if (c) { + var a = n || e.me; + a.addEventListener( + r, + function (t) { + e.meta.iterators[T].eventFired = true; + }, + { once: true }, + ); + } + return y; + }, + execute: function (e) { + return r.unifiedExec(this, e); + }, + }; + e.setParent(y, k); + return k; + }; + t.addCommand("repeat", function (e, t, r) { + if (r.matchToken("repeat")) { + return x(e, r, t, false); + } + }); + t.addCommand("for", function (e, t, r) { + if (r.matchToken("for")) { + return x(e, r, t, true); + } + }); + t.addCommand("continue", function (e, t, r) { + if (!r.matchToken("continue")) return; + var n = { + op: function (t) { + for (var n = this.parent; true; n = n.parent) { + if (n == undefined) { + e.raiseParseError( + r, + "Command `continue` cannot be used outside of a `repeat` loop.", + ); + } + if (n.loop != undefined) { + return n.resolveNext(t); + } + } + }, + }; + return n; + }); + t.addCommand("break", function (e, t, r) { + if (!r.matchToken("break")) return; + var n = { + op: function (n) { + for (var i = this.parent; true; i = i.parent) { + if (i == undefined) { + e.raiseParseError( + r, + "Command `continue` cannot be used outside of a `repeat` loop.", + ); + } + if (i.loop != undefined) { + return t.findNext(i.parent, n); + } + } + }, + }; + return n; + }); + t.addGrammarElement("stringLike", function (e, t, r) { + return e.parseAnyOf(["string", "nakedString"], r); + }); + t.addCommand("append", function (e, t, r) { + if (!r.matchToken("append")) return; + var n = null; + var i = e.requireElement("expression", r); + var a = { + type: "symbol", + evaluate: function (e) { + return t.resolveSymbol("result", e); + }, + }; + if (r.matchToken("to")) { + n = e.requireElement("expression", r); + } else { + n = a; + } + var o = null; + if (n.type === "symbol" || n.type === "attributeRef" || n.root != null) { + o = k(e, t, r, n, a); + } + var s = { + value: i, + target: n, + args: [n, i], + op: function (e, r, n) { + if (Array.isArray(r)) { + r.push(n); + return t.findNext(this, e); + } else if (r instanceof Element) { + r.innerHTML += n; + return t.findNext(this, e); + } else if (o) { + e.result = (r || "") + n; + return o; + } else { + throw Error("Unable to append a value!"); + } + }, + execute: function (e) { + return t.unifiedExec(this, e); + }, + }; + if (o != null) { + o.parent = s; + } + return s; + }); + function g(e, t, r) { + r.matchToken("at") || r.matchToken("from"); + const n = { includeStart: true, includeEnd: false }; + n.from = r.matchToken("start") ? 0 : e.requireElement("expression", r); + if (r.matchToken("to") || r.matchOpToken("..")) { + if (r.matchToken("end")) { + n.toEnd = true; + } else { + n.to = e.requireElement("expression", r); + } + } + if (r.matchToken("inclusive")) n.includeEnd = true; + else if (r.matchToken("exclusive")) n.includeStart = false; + return n; + } + class b { + constructor(e, t) { + this.re = e; + this.str = t; + } + next() { + const e = this.re.exec(this.str); + if (e === null) return { done: true }; + else return { value: e }; + } + } + class w { + constructor(e, t, r) { + this.re = e; + this.flags = t; + this.str = r; + } + [Symbol.iterator]() { + return new b(new RegExp(this.re, this.flags), this.str); + } + } + t.addCommand("pick", (e, t, r) => { + if (!r.matchToken("pick")) return; + r.matchToken("the"); + if ( + r.matchToken("item") || + r.matchToken("items") || + r.matchToken("character") || + r.matchToken("characters") + ) { + const n = g(e, t, r); + r.requireToken("from"); + const i = e.requireElement("expression", r); + return { + args: [i, n.from, n.to], + op(e, r, i, a) { + if (n.toEnd) a = r.length; + if (!n.includeStart) i++; + if (n.includeEnd) a++; + if (a == null || a == undefined) a = i + 1; + e.result = r.slice(i, a); + return t.findNext(this, e); + }, + }; + } + if (r.matchToken("match")) { + r.matchToken("of"); + const n = e.parseElement("expression", r); + let i = ""; + if (r.matchOpToken("|")) { + i = r.requireToken("identifier").value; + } + r.requireToken("from"); + const a = e.parseElement("expression", r); + return { + args: [a, n], + op(e, r, n) { + e.result = new RegExp(n, i).exec(r); + return t.findNext(this, e); + }, + }; + } + if (r.matchToken("matches")) { + r.matchToken("of"); + const n = e.parseElement("expression", r); + let i = "gu"; + if (r.matchOpToken("|")) { + i = "g" + r.requireToken("identifier").value.replace("g", ""); + } + console.log("flags", i); + r.requireToken("from"); + const a = e.parseElement("expression", r); + return { + args: [a, n], + op(e, r, n) { + e.result = new w(n, i, r); + return t.findNext(this, e); + }, + }; + } + }); + t.addCommand("increment", function (e, t, r) { + if (!r.matchToken("increment")) return; + var n; + var i = e.parseElement("assignableExpression", r); + if (r.matchToken("by")) { + n = e.requireElement("expression", r); + } + var a = { + type: "implicitIncrementOp", + target: i, + args: [i, n], + op: function (e, t, r) { + t = t ? parseFloat(t) : 0; + r = n ? parseFloat(r) : 1; + var i = t + r; + e.result = i; + return i; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + return k(e, t, r, i, a); + }); + t.addCommand("decrement", function (e, t, r) { + if (!r.matchToken("decrement")) return; + var n; + var i = e.parseElement("assignableExpression", r); + if (r.matchToken("by")) { + n = e.requireElement("expression", r); + } + var a = { + type: "implicitDecrementOp", + target: i, + args: [i, n], + op: function (e, t, r) { + t = t ? parseFloat(t) : 0; + r = n ? parseFloat(r) : 1; + var i = t - r; + e.result = i; + return i; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + return k(e, t, r, i, a); + }); + function S(e, t) { + var r = "text"; + var n; + e.matchToken("a") || e.matchToken("an"); + if (e.matchToken("json") || e.matchToken("Object")) { + r = "json"; + } else if (e.matchToken("response")) { + r = "response"; + } else if (e.matchToken("html")) { + r = "html"; + } else if (e.matchToken("text")) { + } else { + n = t.requireElement("dotOrColonPath", e).evaluate(); + } + return { type: r, conversion: n }; + } + t.addCommand("fetch", function (e, t, r) { + if (!r.matchToken("fetch")) return; + var n = e.requireElement("stringLike", r); + if (r.matchToken("as")) { + var i = S(r, e); + } + if (r.matchToken("with") && r.currentToken().value !== "{") { + var a = e.parseElement("nakedNamedArgumentList", r); + } else { + var a = e.parseElement("objectLiteral", r); + } + if (i == null && r.matchToken("as")) { + i = S(r, e); + } + var o = i ? i.type : "text"; + var s = i ? i.conversion : null; + var u = { + url: n, + argExpressions: a, + args: [n, a], + op: function (e, r, n) { + var i = n || {}; + i["sender"] = e.me; + i["headers"] = i["headers"] || {}; + var a = new AbortController(); + let l = e.me.addEventListener( + "fetch:abort", + function () { + a.abort(); + }, + { once: true }, + ); + i["signal"] = a.signal; + t.triggerEvent(e.me, "hyperscript:beforeFetch", i); + t.triggerEvent(e.me, "fetch:beforeRequest", i); + n = i; + var c = false; + if (n.timeout) { + setTimeout(function () { + if (!c) { + a.abort(); + } + }, n.timeout); + } + return fetch(r, n) + .then(function (r) { + let n = { response: r }; + t.triggerEvent(e.me, "fetch:afterResponse", n); + r = n.response; + if (o === "response") { + e.result = r; + t.triggerEvent(e.me, "fetch:afterRequest", { result: r }); + c = true; + return t.findNext(u, e); + } + if (o === "json") { + return r.json().then(function (r) { + e.result = r; + t.triggerEvent(e.me, "fetch:afterRequest", { result: r }); + c = true; + return t.findNext(u, e); + }); + } + return r.text().then(function (r) { + if (s) r = t.convertValue(r, s); + if (o === "html") r = t.convertValue(r, "Fragment"); + e.result = r; + t.triggerEvent(e.me, "fetch:afterRequest", { result: r }); + c = true; + return t.findNext(u, e); + }); + }) + .catch(function (r) { + t.triggerEvent(e.me, "fetch:error", { reason: r }); + throw r; + }) + .finally(function () { + e.me.removeEventListener("fetch:abort", l); + }); + }, + }; + return u; + }); + } + function y(e) { + e.addCommand("settle", function (e, t, r) { + if (r.matchToken("settle")) { + if (!e.commandBoundary(r.currentToken())) { + var n = e.requireElement("expression", r); + } else { + var n = e.requireElement("implicitMeTarget", r); + } + var i = { + type: "settleCmd", + args: [n], + op: function (e, r) { + t.nullCheck(r, n); + var a = null; + var o = false; + var s = false; + var u = new Promise(function (e) { + a = e; + }); + r.addEventListener( + "transitionstart", + function () { + s = true; + }, + { once: true }, + ); + setTimeout(function () { + if (!s && !o) { + a(t.findNext(i, e)); + } + }, 500); + r.addEventListener( + "transitionend", + function () { + if (!o) { + a(t.findNext(i, e)); + } + }, + { once: true }, + ); + return u; + }, + execute: function (e) { + return t.unifiedExec(this, e); + }, + }; + return i; + } + }); + e.addCommand("add", function (e, t, r) { + if (r.matchToken("add")) { + var n = e.parseElement("classRef", r); + var i = null; + var a = null; + if (n == null) { + i = e.parseElement("attributeRef", r); + if (i == null) { + a = e.parseElement("styleLiteral", r); + if (a == null) { + e.raiseParseError( + r, + "Expected either a class reference or attribute expression", + ); + } + } + } else { + var o = [n]; + while ((n = e.parseElement("classRef", r))) { + o.push(n); + } + } + if (r.matchToken("to")) { + var s = e.requireElement("expression", r); + } else { + var s = e.requireElement("implicitMeTarget", r); + } + if (r.matchToken("when")) { + if (a) { + e.raiseParseError( + r, + "Only class and properties are supported with a when clause", + ); + } + var u = e.requireElement("expression", r); + } + if (o) { + return { + classRefs: o, + to: s, + args: [s, o], + op: function (e, r, n) { + t.nullCheck(r, s); + t.forEach(n, function (n) { + t.implicitLoop(r, function (r) { + if (u) { + e.result = r; + let i = t.evaluateNoPromise(u, e); + if (i) { + if (r instanceof Element) r.classList.add(n.className); + } else { + if (r instanceof Element) r.classList.remove(n.className); + } + e.result = null; + } else { + if (r instanceof Element) r.classList.add(n.className); + } + }); + }); + return t.findNext(this, e); + }, + }; + } else if (i) { + return { + type: "addCmd", + attributeRef: i, + to: s, + args: [s], + op: function (e, r, n) { + t.nullCheck(r, s); + t.implicitLoop(r, function (r) { + if (u) { + e.result = r; + let n = t.evaluateNoPromise(u, e); + if (n) { + r.setAttribute(i.name, i.value); + } else { + r.removeAttribute(i.name); + } + e.result = null; + } else { + r.setAttribute(i.name, i.value); + } + }); + return t.findNext(this, e); + }, + execute: function (e) { + return t.unifiedExec(this, e); + }, + }; + } else { + return { + type: "addCmd", + cssDeclaration: a, + to: s, + args: [s, a], + op: function (e, r, n) { + t.nullCheck(r, s); + t.implicitLoop(r, function (e) { + e.style.cssText += n; + }); + return t.findNext(this, e); + }, + execute: function (e) { + return t.unifiedExec(this, e); + }, + }; + } + } + }); + e.addGrammarElement("styleLiteral", function (e, t, r) { + if (!r.matchOpToken("{")) return; + var n = [""]; + var i = []; + while (r.hasMore()) { + if (r.matchOpToken("\\")) { + r.consumeToken(); + } else if (r.matchOpToken("}")) { + break; + } else if (r.matchToken("$")) { + var a = r.matchOpToken("{"); + var o = e.parseElement("expression", r); + if (a) r.requireOpToken("}"); + i.push(o); + n.push(""); + } else { + var s = r.consumeToken(); + n[n.length - 1] += r.source.substring(s.start, s.end); + } + n[n.length - 1] += r.lastWhitespace(); + } + return { + type: "styleLiteral", + args: [i], + op: function (e, t) { + var r = ""; + n.forEach(function (e, n) { + r += e; + if (n in t) r += t[n]; + }); + return r; + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + }); + e.addCommand("remove", function (e, t, r) { + if (r.matchToken("remove")) { + var n = e.parseElement("classRef", r); + var i = null; + var a = null; + if (n == null) { + i = e.parseElement("attributeRef", r); + if (i == null) { + a = e.parseElement("expression", r); + if (a == null) { + e.raiseParseError( + r, + "Expected either a class reference, attribute expression or value expression", + ); + } + } + } else { + var o = [n]; + while ((n = e.parseElement("classRef", r))) { + o.push(n); + } + } + if (r.matchToken("from")) { + var s = e.requireElement("expression", r); + } else { + if (a == null) { + var s = e.requireElement("implicitMeTarget", r); + } + } + if (a) { + return { + elementExpr: a, + from: s, + args: [a, s], + op: function (e, r, n) { + t.nullCheck(r, a); + t.implicitLoop(r, function (e) { + if (e.parentElement && (n == null || n.contains(e))) { + e.parentElement.removeChild(e); + } + }); + return t.findNext(this, e); + }, + }; + } else { + return { + classRefs: o, + attributeRef: i, + elementExpr: a, + from: s, + args: [o, s], + op: function (e, r, n) { + t.nullCheck(n, s); + if (r) { + t.forEach(r, function (e) { + t.implicitLoop(n, function (t) { + t.classList.remove(e.className); + }); + }); + } else { + t.implicitLoop(n, function (e) { + e.removeAttribute(i.name); + }); + } + return t.findNext(this, e); + }, + }; + } + } + }); + e.addCommand("toggle", function (e, t, r) { + if (r.matchToken("toggle")) { + r.matchAnyToken("the", "my"); + if (r.currentToken().type === "STYLE_REF") { + let t = r.consumeToken(); + var n = t.value.substr(1); + var a = true; + var o = i(e, r, n); + if (r.matchToken("of")) { + r.pushFollow("with"); + try { + var s = e.requireElement("expression", r); + } finally { + r.popFollow(); + } + } else { + var s = e.requireElement("implicitMeTarget", r); + } + } else if (r.matchToken("between")) { + var u = true; + var l = e.parseElement("classRef", r); + r.requireToken("and"); + var c = e.requireElement("classRef", r); + } else { + var l = e.parseElement("classRef", r); + var f = null; + if (l == null) { + f = e.parseElement("attributeRef", r); + if (f == null) { + e.raiseParseError( + r, + "Expected either a class reference or attribute expression", + ); + } + } else { + var m = [l]; + while ((l = e.parseElement("classRef", r))) { + m.push(l); + } + } + } + if (a !== true) { + if (r.matchToken("on")) { + var s = e.requireElement("expression", r); + } else { + var s = e.requireElement("implicitMeTarget", r); + } + } + if (r.matchToken("for")) { + var p = e.requireElement("expression", r); + } else if (r.matchToken("until")) { + var h = e.requireElement("dotOrColonPath", r, "Expected event name"); + if (r.matchToken("from")) { + var v = e.requireElement("expression", r); + } + } + var d = { + classRef: l, + classRef2: c, + classRefs: m, + attributeRef: f, + on: s, + time: p, + evt: h, + from: v, + toggle: function (e, r, n, i) { + t.nullCheck(e, s); + if (a) { + t.implicitLoop(e, function (e) { + o("toggle", e); + }); + } else if (u) { + t.implicitLoop(e, function (e) { + if (e.classList.contains(r.className)) { + e.classList.remove(r.className); + e.classList.add(n.className); + } else { + e.classList.add(r.className); + e.classList.remove(n.className); + } + }); + } else if (i) { + t.forEach(i, function (r) { + t.implicitLoop(e, function (e) { + e.classList.toggle(r.className); + }); + }); + } else { + t.forEach(e, function (e) { + if (e.hasAttribute(f.name)) { + e.removeAttribute(f.name); + } else { + e.setAttribute(f.name, f.value); + } + }); + } + }, + args: [s, p, h, v, l, c, m], + op: function (e, r, n, i, a, o, s, u) { + if (n) { + return new Promise(function (i) { + d.toggle(r, o, s, u); + setTimeout(function () { + d.toggle(r, o, s, u); + i(t.findNext(d, e)); + }, n); + }); + } else if (i) { + return new Promise(function (n) { + var l = a || e.me; + l.addEventListener( + i, + function () { + d.toggle(r, o, s, u); + n(t.findNext(d, e)); + }, + { once: true }, + ); + d.toggle(r, o, s, u); + }); + } else { + this.toggle(r, o, s, u); + return t.findNext(d, e); + } + }, + }; + return d; + } + }); + var t = { + display: function (r, n, i) { + if (i) { + n.style.display = i; + } else if (r === "toggle") { + if (getComputedStyle(n).display === "none") { + t.display("show", n, i); + } else { + t.display("hide", n, i); + } + } else if (r === "hide") { + const t = e.runtime.getInternalData(n); + if (t.originalDisplay == null) { + t.originalDisplay = n.style.display; + } + n.style.display = "none"; + } else { + const t = e.runtime.getInternalData(n); + if (t.originalDisplay && t.originalDisplay !== "none") { + n.style.display = t.originalDisplay; + } else { + n.style.removeProperty("display"); + } + } + }, + visibility: function (e, r, n) { + if (n) { + r.style.visibility = n; + } else if (e === "toggle") { + if (getComputedStyle(r).visibility === "hidden") { + t.visibility("show", r, n); + } else { + t.visibility("hide", r, n); + } + } else if (e === "hide") { + r.style.visibility = "hidden"; + } else { + r.style.visibility = "visible"; + } + }, + opacity: function (e, r, n) { + if (n) { + r.style.opacity = n; + } else if (e === "toggle") { + if (getComputedStyle(r).opacity === "0") { + t.opacity("show", r, n); + } else { + t.opacity("hide", r, n); + } + } else if (e === "hide") { + r.style.opacity = "0"; + } else { + r.style.opacity = "1"; + } + }, + }; + var n = function (e, t, r) { + var n; + var i = r.currentToken(); + if (i.value === "when" || i.value === "with" || e.commandBoundary(i)) { + n = e.parseElement("implicitMeTarget", r); + } else { + n = e.parseElement("expression", r); + } + return n; + }; + var i = function (e, n, i) { + var a = r.defaultHideShowStrategy; + var o = t; + if (r.hideShowStrategies) { + o = Object.assign(o, r.hideShowStrategies); + } + i = i || a || "display"; + var s = o[i]; + if (s == null) { + e.raiseParseError(n, "Unknown show/hide strategy : " + i); + } + return s; + }; + e.addCommand("hide", function (e, t, r) { + if (r.matchToken("hide")) { + var a = n(e, t, r); + var o = null; + if (r.matchToken("with")) { + o = r.requireTokenType("IDENTIFIER", "STYLE_REF").value; + if (o.indexOf("*") === 0) { + o = o.substr(1); + } + } + var s = i(e, r, o); + return { + target: a, + args: [a], + op: function (e, r) { + t.nullCheck(r, a); + t.implicitLoop(r, function (e) { + s("hide", e); + }); + return t.findNext(this, e); + }, + }; + } + }); + e.addCommand("show", function (e, t, r) { + if (r.matchToken("show")) { + var a = n(e, t, r); + var o = null; + if (r.matchToken("with")) { + o = r.requireTokenType("IDENTIFIER", "STYLE_REF").value; + if (o.indexOf("*") === 0) { + o = o.substr(1); + } + } + var s = null; + if (r.matchOpToken(":")) { + var u = r.consumeUntilWhitespace(); + r.matchTokenType("WHITESPACE"); + s = u + .map(function (e) { + return e.value; + }) + .join(""); + } + if (r.matchToken("when")) { + var l = e.requireElement("expression", r); + } + var c = i(e, r, o); + return { + target: a, + when: l, + args: [a], + op: function (e, r) { + t.nullCheck(r, a); + t.implicitLoop(r, function (r) { + if (l) { + e.result = r; + let n = t.evaluateNoPromise(l, e); + if (n) { + c("show", r, s); + } else { + c("hide", r); + } + e.result = null; + } else { + c("show", r, s); + } + }); + return t.findNext(this, e); + }, + }; + } + }); + e.addCommand("take", function (e, t, r) { + if (r.matchToken("take")) { + let u = null; + let l = []; + while ((u = e.parseElement("classRef", r))) { + l.push(u); + } + var n = null; + var i = null; + let c = l.length > 0; + if (!c) { + n = e.parseElement("attributeRef", r); + if (n == null) { + e.raiseParseError( + r, + "Expected either a class reference or attribute expression", + ); + } + if (r.matchToken("with")) { + i = e.requireElement("expression", r); + } + } + if (r.matchToken("from")) { + var a = e.requireElement("expression", r); + } + if (r.matchToken("for")) { + var o = e.requireElement("expression", r); + } else { + var o = e.requireElement("implicitMeTarget", r); + } + if (c) { + var s = { + classRefs: l, + from: a, + forElt: o, + args: [l, a, o], + op: function (e, r, n, i) { + t.nullCheck(i, o); + t.implicitLoop(r, function (e) { + var r = e.className; + if (n) { + t.implicitLoop(n, function (e) { + e.classList.remove(r); + }); + } else { + t.implicitLoop(e, function (e) { + e.classList.remove(r); + }); + } + t.implicitLoop(i, function (e) { + e.classList.add(r); + }); + }); + return t.findNext(this, e); + }, + }; + return s; + } else { + var s = { + attributeRef: n, + from: a, + forElt: o, + args: [a, o, i], + op: function (e, r, i, s) { + t.nullCheck(r, a); + t.nullCheck(i, o); + t.implicitLoop(r, function (e) { + if (!s) { + e.removeAttribute(n.name); + } else { + e.setAttribute(n.name, s); + } + }); + t.implicitLoop(i, function (e) { + e.setAttribute(n.name, n.value || ""); + }); + return t.findNext(this, e); + }, + }; + return s; + } + } + }); + function a(t, r, n, i) { + if (n != null) { + var a = t.resolveSymbol(n, r); + } else { + var a = r; + } + if (a instanceof Element || a instanceof HTMLDocument) { + while (a.firstChild) a.removeChild(a.firstChild); + a.append(e.runtime.convertValue(i, "Fragment")); + t.processNode(a); + } else { + if (n != null) { + t.setSymbol(n, r, null, i); + } else { + throw "Don't know how to put a value into " + typeof r; + } + } + } + e.addCommand("put", function (e, t, r) { + if (r.matchToken("put")) { + var n = e.requireElement("expression", r); + var i = r.matchAnyToken("into", "before", "after"); + if (i == null && r.matchToken("at")) { + r.matchToken("the"); + i = r.matchAnyToken("start", "end"); + r.requireToken("of"); + } + if (i == null) { + e.raiseParseError( + r, + "Expected one of 'into', 'before', 'at start of', 'at end of', 'after'", + ); + } + var o = e.requireElement("expression", r); + var s = i.value; + var u = false; + var l = false; + var c = null; + var f = null; + if (o.type === "arrayIndex" && s === "into") { + u = true; + f = o.prop; + c = o.root; + } else if (o.prop && o.root && s === "into") { + f = o.prop.value; + c = o.root; + } else if (o.type === "symbol" && s === "into") { + l = true; + f = o.name; + } else if (o.type === "attributeRef" && s === "into") { + var m = true; + f = o.name; + c = e.requireElement("implicitMeTarget", r); + } else if (o.type === "styleRef" && s === "into") { + var p = true; + f = o.name; + c = e.requireElement("implicitMeTarget", r); + } else if (o.attribute && s === "into") { + var m = o.attribute.type === "attributeRef"; + var p = o.attribute.type === "styleRef"; + f = o.attribute.name; + c = o.root; + } else { + c = o; + } + var h = { + target: o, + operation: s, + symbolWrite: l, + value: n, + args: [c, f, n], + op: function (e, r, n, i) { + if (l) { + a(t, e, n, i); + } else { + t.nullCheck(r, c); + if (s === "into") { + if (m) { + t.implicitLoop(r, function (e) { + e.setAttribute(n, i); + }); + } else if (p) { + t.implicitLoop(r, function (e) { + e.style[n] = i; + }); + } else if (u) { + r[n] = i; + } else { + t.implicitLoop(r, function (e) { + a(t, e, n, i); + }); + } + } else { + var o = + s === "before" + ? Element.prototype.before + : s === "after" + ? Element.prototype.after + : s === "start" + ? Element.prototype.prepend + : s === "end" + ? Element.prototype.append + : Element.prototype.append; + t.implicitLoop(r, function (e) { + o.call( + e, + i instanceof Node ? i : t.convertValue(i, "Fragment"), + ); + if (e.parentElement) { + t.processNode(e.parentElement); + } else { + t.processNode(e); + } + }); + } + } + return t.findNext(this, e); + }, + }; + return h; + } + }); + function o(e, t, r) { + var n; + if ( + r.matchToken("the") || + r.matchToken("element") || + r.matchToken("elements") || + r.currentToken().type === "CLASS_REF" || + r.currentToken().type === "ID_REF" || + (r.currentToken().op && r.currentToken().value === "<") + ) { + e.possessivesDisabled = true; + try { + n = e.parseElement("expression", r); + } finally { + delete e.possessivesDisabled; + } + if (r.matchOpToken("'")) { + r.requireToken("s"); + } + } else if ( + r.currentToken().type === "IDENTIFIER" && + r.currentToken().value === "its" + ) { + var i = r.matchToken("its"); + n = { + type: "pseudopossessiveIts", + token: i, + name: i.value, + evaluate: function (e) { + return t.resolveSymbol("it", e); + }, + }; + } else { + r.matchToken("my") || r.matchToken("me"); + n = e.parseElement("implicitMeTarget", r); + } + return n; + } + e.addCommand("transition", function (e, t, n) { + if (n.matchToken("transition")) { + var i = o(e, t, n); + var a = []; + var s = []; + var u = []; + var l = n.currentToken(); + while ( + !e.commandBoundary(l) && + l.value !== "over" && + l.value !== "using" + ) { + if (n.currentToken().type === "STYLE_REF") { + let e = n.consumeToken(); + let t = e.value.substr(1); + a.push({ + type: "styleRefValue", + evaluate: function () { + return t; + }, + }); + } else { + a.push(e.requireElement("stringLike", n)); + } + if (n.matchToken("from")) { + s.push(e.requireElement("expression", n)); + } else { + s.push(null); + } + n.requireToken("to"); + if (n.matchToken("initial")) { + u.push({ + type: "initial_literal", + evaluate: function () { + return "initial"; + }, + }); + } else { + u.push(e.requireElement("expression", n)); + } + l = n.currentToken(); + } + if (n.matchToken("over")) { + var c = e.requireElement("expression", n); + } else if (n.matchToken("using")) { + var f = e.requireElement("expression", n); + } + var m = { + to: u, + args: [i, a, s, u, f, c], + op: function (e, n, a, o, s, u, l) { + t.nullCheck(n, i); + var c = []; + t.implicitLoop(n, function (e) { + var n = new Promise(function (n, i) { + var c = e.style.transition; + if (l) { + e.style.transition = "all " + l + "ms ease-in"; + } else if (u) { + e.style.transition = u; + } else { + e.style.transition = r.defaultTransition; + } + var f = t.getInternalData(e); + var m = getComputedStyle(e); + var p = {}; + for (var h = 0; h < m.length; h++) { + var v = m[h]; + var d = m[v]; + p[v] = d; + } + if (!f.initialStyles) { + f.initialStyles = p; + } + for (var h = 0; h < a.length; h++) { + var E = a[h]; + var T = o[h]; + if (T === "computed" || T == null) { + e.style[E] = p[E]; + } else { + e.style[E] = T; + } + } + var y = false; + var k = false; + e.addEventListener( + "transitionend", + function () { + if (!k) { + e.style.transition = c; + k = true; + n(); + } + }, + { once: true }, + ); + e.addEventListener( + "transitionstart", + function () { + y = true; + }, + { once: true }, + ); + setTimeout(function () { + if (!k && !y) { + e.style.transition = c; + k = true; + n(); + } + }, 100); + setTimeout(function () { + var t = []; + for (var r = 0; r < a.length; r++) { + var n = a[r]; + var i = s[r]; + if (i === "initial") { + var o = f.initialStyles[n]; + e.style[n] = o; + } else { + e.style[n] = i; + } + } + }, 0); + }); + c.push(n); + }); + return Promise.all(c).then(function () { + return t.findNext(m, e); + }); + }, + }; + return m; + } + }); + e.addCommand("measure", function (e, t, r) { + if (!r.matchToken("measure")) return; + var n = o(e, t, r); + var i = []; + if (!e.commandBoundary(r.currentToken())) + do { + i.push(r.matchTokenType("IDENTIFIER").value); + } while (r.matchOpToken(",")); + return { + properties: i, + args: [n], + op: function (e, r) { + t.nullCheck(r, n); + if (0 in r) r = r[0]; + var a = r.getBoundingClientRect(); + var o = { + top: r.scrollTop, + left: r.scrollLeft, + topMax: r.scrollTopMax, + leftMax: r.scrollLeftMax, + height: r.scrollHeight, + width: r.scrollWidth, + }; + e.result = { + x: a.x, + y: a.y, + left: a.left, + top: a.top, + right: a.right, + bottom: a.bottom, + width: a.width, + height: a.height, + bounds: a, + scrollLeft: o.left, + scrollTop: o.top, + scrollLeftMax: o.leftMax, + scrollTopMax: o.topMax, + scrollWidth: o.width, + scrollHeight: o.height, + scroll: o, + }; + t.forEach(i, function (t) { + if (t in e.result) e.locals[t] = e.result[t]; + else throw "No such measurement as " + t; + }); + return t.findNext(this, e); + }, + }; + }); + e.addLeafExpression("closestExpr", function (e, t, r) { + if (r.matchToken("closest")) { + if (r.matchToken("parent")) { + var n = true; + } + var i = null; + if (r.currentToken().type === "ATTRIBUTE_REF") { + var a = e.requireElement("attributeRefAccess", r, null); + i = "[" + a.attribute.name + "]"; + } + if (i == null) { + var o = e.requireElement("expression", r); + if (o.css == null) { + e.raiseParseError(r, "Expected a CSS expression"); + } else { + i = o.css; + } + } + if (r.matchToken("to")) { + var s = e.parseElement("expression", r); + } else { + var s = e.parseElement("implicitMeTarget", r); + } + var u = { + type: "closestExpr", + parentSearch: n, + expr: o, + css: i, + to: s, + args: [s], + op: function (e, r) { + if (r == null) { + return null; + } else { + let e = []; + t.implicitLoop(r, function (t) { + if (n) { + e.push(t.parentElement ? t.parentElement.closest(i) : null); + } else { + e.push(t.closest(i)); + } + }); + if (t.shouldAutoIterate(r)) { + return e; + } else { + return e[0]; + } + } + }, + evaluate: function (e) { + return t.unifiedEval(this, e); + }, + }; + if (a) { + a.root = u; + a.args = [u]; + return a; + } else { + return u; + } + } + }); + e.addCommand("go", function (e, t, r) { + if (r.matchToken("go")) { + if (r.matchToken("back")) { + var n = true; + } else { + r.matchToken("to"); + if (r.matchToken("url")) { + var i = e.requireElement("stringLike", r); + var a = true; + if (r.matchToken("in")) { + r.requireToken("new"); + r.requireToken("window"); + var o = true; + } + } else { + r.matchToken("the"); + var s = r.matchAnyToken("top", "middle", "bottom"); + var u = r.matchAnyToken("left", "center", "right"); + if (s || u) { + r.requireToken("of"); + } + var i = e.requireElement("unaryExpression", r); + var l = r.matchAnyOpToken("+", "-"); + if (l) { + r.pushFollow("px"); + try { + var c = e.requireElement("expression", r); + } finally { + r.popFollow(); + } + } + r.matchToken("px"); + var f = r.matchAnyToken("smoothly", "instantly"); + var m = { block: "start", inline: "nearest" }; + if (s) { + if (s.value === "top") { + m.block = "start"; + } else if (s.value === "bottom") { + m.block = "end"; + } else if (s.value === "middle") { + m.block = "center"; + } + } + if (u) { + if (u.value === "left") { + m.inline = "start"; + } else if (u.value === "center") { + m.inline = "center"; + } else if (u.value === "right") { + m.inline = "end"; + } + } + if (f) { + if (f.value === "smoothly") { + m.behavior = "smooth"; + } else if (f.value === "instantly") { + m.behavior = "instant"; + } + } + } + } + var p = { + target: i, + args: [i, c], + op: function (e, r, i) { + if (n) { + window.history.back(); + } else if (a) { + if (r) { + if (o) { + window.open(r); + } else { + window.location.href = r; + } + } + } else { + t.implicitLoop(r, function (e) { + if (e === window) { + e = document.body; + } + if (l) { + let t = e.getBoundingClientRect(); + let r = document.createElement("div"); + let n = l.value === "+" ? i : i * -1; + let a = m.inline == "start" || m.inline == "end" ? n : 0; + let o = m.block == "start" || m.block == "end" ? n : 0; + r.style.position = "absolute"; + r.style.top = t.top + window.scrollY + o + "px"; + r.style.left = t.left + window.scrollX + a + "px"; + r.style.height = t.height + "px"; + r.style.width = t.width + "px"; + r.style.zIndex = "" + Number.MIN_SAFE_INTEGER; + r.style.opacity = "0"; + document.body.appendChild(r); + setTimeout(function () { + document.body.removeChild(r); + }, 100); + e = r; + } + e.scrollIntoView(m); + }); + } + return t.findNext(p, e); + }, + }; + return p; + } + }); + r.conversions.dynamicResolvers.push(function (t, r) { + if (!(t === "Values" || t.indexOf("Values:") === 0)) { + return; + } + var n = t.split(":")[1]; + var i = {}; + var a = e.runtime.implicitLoop.bind(e.runtime); + a(r, function (e) { + var t = s(e); + if (t !== undefined) { + i[t.name] = t.value; + return; + } + if (e.querySelectorAll != undefined) { + var r = e.querySelectorAll("input,select,textarea"); + r.forEach(o); + } + }); + if (n) { + if (n === "JSON") { + return JSON.stringify(i); + } else if (n === "Form") { + return new URLSearchParams(i).toString(); + } else { + throw "Unknown conversion: " + n; + } + } else { + return i; + } + function o(e) { + var t = s(e); + if (t == undefined) { + return; + } + if (i[t.name] == undefined) { + i[t.name] = t.value; + return; + } + if (Array.isArray(i[t.name]) && Array.isArray(t.value)) { + i[t.name] = [].concat(i[t.name], t.value); + return; + } + } + function s(e) { + try { + var t = { name: e.name, value: e.value }; + if (t.name == undefined || t.value == undefined) { + return undefined; + } + if (e.type == "radio" && e.checked == false) { + return undefined; + } + if (e.type == "checkbox") { + if (e.checked == false) { + t.value = undefined; + } else if (typeof t.value === "string") { + t.value = [t.value]; + } + } + if (e.type == "select-multiple") { + var r = e.querySelectorAll("option[selected]"); + t.value = []; + for (var n = 0; n < r.length; n++) { + t.value.push(r[n].value); + } + } + return t; + } catch (e) { + return undefined; + } + } + }); + r.conversions["HTML"] = function (e) { + var t = function (e) { + if (e instanceof Array) { + return e + .map(function (e) { + return t(e); + }) + .join(""); + } + if (e instanceof HTMLElement) { + return e.outerHTML; + } + if (e instanceof NodeList) { + var r = ""; + for (var n = 0; n < e.length; n++) { + var i = e[n]; + if (i instanceof HTMLElement) { + r += i.outerHTML; + } + } + return r; + } + if (e.toString) { + return e.toString(); + } + return ""; + }; + return t(e); + }; + r.conversions["Fragment"] = function (t) { + var r = document.createDocumentFragment(); + e.runtime.implicitLoop(t, function (e) { + if (e instanceof Node) r.append(e); + else { + var t = document.createElement("template"); + t.innerHTML = e; + r.append(t.content); + } + }); + return r; + }; + } + const k = new o(), + x = k.lexer, + g = k.parser; + function b(e, t) { + return k.evaluate(e, t); + } + function w() { + var t = Array.from( + e.document.querySelectorAll("script[type='text/hyperscript'][src]"), + ); + Promise.all( + t.map(function (e) { + return fetch(e.src).then(function (e) { + return e.text(); + }); + }), + ) + .then((e) => e.forEach((e) => S(e))) + .then(() => + n(function () { + a(); + k.processNode(document.documentElement); + e.document.addEventListener("htmx:load", function (e) { + k.processNode(e.detail.elt); + }); + }), + ); + function n(e) { + if (document.readyState !== "loading") { + setTimeout(e); + } else { + document.addEventListener("DOMContentLoaded", e); + } + } + function i() { + var e = document.querySelector('meta[name="htmx-config"]'); + if (e) { + return v(e.content); + } else { + return null; + } + } + function a() { + var e = i(); + if (e) { + Object.assign(r, e); + } + } + } + const S = Object.assign(b, { + config: r, + use(e) { + e(S); + }, + internals: { + lexer: x, + parser: g, + runtime: k, + Lexer: n, + Tokens: i, + Parser: a, + Runtime: o, + }, + ElementCollection: m, + addFeature: g.addFeature.bind(g), + addCommand: g.addCommand.bind(g), + addLeafExpression: g.addLeafExpression.bind(g), + addIndirectExpression: g.addIndirectExpression.bind(g), + evaluate: k.evaluate.bind(k), + parse: k.parse.bind(k), + processNode: k.processNode.bind(k), + version: "0.9.12", + browserInit: w, + }); + return S; +}); diff --git a/public/js/htmx.min.js b/public/js/htmx.min.js new file mode 100644 index 0000000..52c16cd --- /dev/null +++ b/public/js/htmx.min.js @@ -0,0 +1,3382 @@ +(function (e, t) { + if (typeof define === "function" && define.amd) { + define([], t); + } else if (typeof module === "object" && module.exports) { + module.exports = t(); + } else { + e.htmx = e.htmx || t(); + } +})(typeof self !== "undefined" ? self : this, function () { + return (function () { + "use strict"; + var Q = { + onLoad: F, + process: zt, + on: de, + off: ge, + trigger: ce, + ajax: Nr, + find: C, + findAll: f, + closest: v, + values: function (e, t) { + var r = dr(e, t || "post"); + return r.values; + }, + remove: _, + addClass: z, + removeClass: n, + toggleClass: $, + takeClass: W, + defineExtension: Ur, + removeExtension: Br, + logAll: V, + logNone: j, + logger: null, + config: { + historyEnabled: true, + historyCacheSize: 10, + refreshOnHistoryMiss: false, + defaultSwapStyle: "innerHTML", + defaultSwapDelay: 0, + defaultSettleDelay: 20, + includeIndicatorStyles: true, + indicatorClass: "htmx-indicator", + requestClass: "htmx-request", + addedClass: "htmx-added", + settlingClass: "htmx-settling", + swappingClass: "htmx-swapping", + allowEval: true, + allowScriptTags: true, + inlineScriptNonce: "", + attributesToSettle: ["class", "style", "width", "height"], + withCredentials: false, + timeout: 0, + wsReconnectDelay: "full-jitter", + wsBinaryType: "blob", + disableSelector: "[hx-disable], [data-hx-disable]", + useTemplateFragments: false, + scrollBehavior: "smooth", + defaultFocusScroll: false, + getCacheBusterParam: false, + globalViewTransitions: false, + methodsThatUseUrlParams: ["get"], + selfRequestsOnly: false, + ignoreTitle: false, + scrollIntoViewOnBoost: true, + triggerSpecsCache: null, + }, + parseInterval: d, + _: t, + createEventSource: function (e) { + return new EventSource(e, { withCredentials: true }); + }, + createWebSocket: function (e) { + var t = new WebSocket(e, []); + t.binaryType = Q.config.wsBinaryType; + return t; + }, + version: "1.9.10", + }; + var r = { + addTriggerHandler: Lt, + bodyContains: se, + canAccessLocalStorage: U, + findThisElement: xe, + filterValues: yr, + hasAttribute: o, + getAttributeValue: te, + getClosestAttributeValue: ne, + getClosestMatch: c, + getExpressionVars: Hr, + getHeaders: xr, + getInputValues: dr, + getInternalData: ae, + getSwapSpecification: wr, + getTriggerSpecs: it, + getTarget: ye, + makeFragment: l, + mergeObjects: le, + makeSettleInfo: T, + oobSwap: Ee, + querySelectorExt: ue, + selectAndSwap: je, + settleImmediately: nr, + shouldCancel: ut, + triggerEvent: ce, + triggerErrorEvent: fe, + withExtensions: R, + }; + var w = ["get", "post", "put", "delete", "patch"]; + var i = w + .map(function (e) { + return "[hx-" + e + "], [data-hx-" + e + "]"; + }) + .join(", "); + var S = e("head"), + q = e("title"), + H = e("svg", true); + function e(e, t = false) { + return new RegExp( + `<${e}(\\s[^>]*>|>)([\\s\\S]*?)<\\/${e}>`, + t ? "gim" : "im", + ); + } + function d(e) { + if (e == undefined) { + return undefined; + } + let t = NaN; + if (e.slice(-2) == "ms") { + t = parseFloat(e.slice(0, -2)); + } else if (e.slice(-1) == "s") { + t = parseFloat(e.slice(0, -1)) * 1e3; + } else if (e.slice(-1) == "m") { + t = parseFloat(e.slice(0, -1)) * 1e3 * 60; + } else { + t = parseFloat(e); + } + return isNaN(t) ? undefined : t; + } + function ee(e, t) { + return e.getAttribute && e.getAttribute(t); + } + function o(e, t) { + return ( + e.hasAttribute && (e.hasAttribute(t) || e.hasAttribute("data-" + t)) + ); + } + function te(e, t) { + return ee(e, t) || ee(e, "data-" + t); + } + function u(e) { + return e.parentElement; + } + function re() { + return document; + } + function c(e, t) { + while (e && !t(e)) { + e = u(e); + } + return e ? e : null; + } + function L(e, t, r) { + var n = te(t, r); + var i = te(t, "hx-disinherit"); + if (e !== t && i && (i === "*" || i.split(" ").indexOf(r) >= 0)) { + return "unset"; + } else { + return n; + } + } + function ne(t, r) { + var n = null; + c(t, function (e) { + return (n = L(t, e, r)); + }); + if (n !== "unset") { + return n; + } + } + function h(e, t) { + var r = + e.matches || + e.matchesSelector || + e.msMatchesSelector || + e.mozMatchesSelector || + e.webkitMatchesSelector || + e.oMatchesSelector; + return r && r.call(e, t); + } + function A(e) { + var t = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i; + var r = t.exec(e); + if (r) { + return r[1].toLowerCase(); + } else { + return ""; + } + } + function a(e, t) { + var r = new DOMParser(); + var n = r.parseFromString(e, "text/html"); + var i = n.body; + while (t > 0) { + t--; + i = i.firstChild; + } + if (i == null) { + i = re().createDocumentFragment(); + } + return i; + } + function N(e) { + return /", 0); + return i.querySelector("template").content; + } + switch (r) { + case "thead": + case "tbody": + case "tfoot": + case "colgroup": + case "caption": + return a("" + n + "
", 1); + case "col": + return a("" + n + "
", 2); + case "tr": + return a("" + n + "
", 2); + case "td": + case "th": + return a("" + n + "
", 3); + case "script": + case "style": + return a("
" + n + "
", 1); + default: + return a(n, 0); + } + } + function ie(e) { + if (e) { + e(); + } + } + function I(e, t) { + return Object.prototype.toString.call(e) === "[object " + t + "]"; + } + function k(e) { + return I(e, "Function"); + } + function P(e) { + return I(e, "Object"); + } + function ae(e) { + var t = "htmx-internal-data"; + var r = e[t]; + if (!r) { + r = e[t] = {}; + } + return r; + } + function M(e) { + var t = []; + if (e) { + for (var r = 0; r < e.length; r++) { + t.push(e[r]); + } + } + return t; + } + function oe(e, t) { + if (e) { + for (var r = 0; r < e.length; r++) { + t(e[r]); + } + } + } + function X(e) { + var t = e.getBoundingClientRect(); + var r = t.top; + var n = t.bottom; + return r < window.innerHeight && n >= 0; + } + function se(e) { + if (e.getRootNode && e.getRootNode() instanceof window.ShadowRoot) { + return re().body.contains(e.getRootNode().host); + } else { + return re().body.contains(e); + } + } + function D(e) { + return e.trim().split(/\s+/); + } + function le(e, t) { + for (var r in t) { + if (t.hasOwnProperty(r)) { + e[r] = t[r]; + } + } + return e; + } + function E(e) { + try { + return JSON.parse(e); + } catch (e) { + b(e); + return null; + } + } + function U() { + var e = "htmx:localStorageTest"; + try { + localStorage.setItem(e, e); + localStorage.removeItem(e); + return true; + } catch (e) { + return false; + } + } + function B(t) { + try { + var e = new URL(t); + if (e) { + t = e.pathname + e.search; + } + if (!/^\/$/.test(t)) { + t = t.replace(/\/+$/, ""); + } + return t; + } catch (e) { + return t; + } + } + function t(e) { + return Tr(re().body, function () { + return eval(e); + }); + } + function F(t) { + var e = Q.on("htmx:load", function (e) { + t(e.detail.elt); + }); + return e; + } + function V() { + Q.logger = function (e, t, r) { + if (console) { + console.log(t, e, r); + } + }; + } + function j() { + Q.logger = null; + } + function C(e, t) { + if (t) { + return e.querySelector(t); + } else { + return C(re(), e); + } + } + function f(e, t) { + if (t) { + return e.querySelectorAll(t); + } else { + return f(re(), e); + } + } + function _(e, t) { + e = g(e); + if (t) { + setTimeout(function () { + _(e); + e = null; + }, t); + } else { + e.parentElement.removeChild(e); + } + } + function z(e, t, r) { + e = g(e); + if (r) { + setTimeout(function () { + z(e, t); + e = null; + }, r); + } else { + e.classList && e.classList.add(t); + } + } + function n(e, t, r) { + e = g(e); + if (r) { + setTimeout(function () { + n(e, t); + e = null; + }, r); + } else { + if (e.classList) { + e.classList.remove(t); + if (e.classList.length === 0) { + e.removeAttribute("class"); + } + } + } + } + function $(e, t) { + e = g(e); + e.classList.toggle(t); + } + function W(e, t) { + e = g(e); + oe(e.parentElement.children, function (e) { + n(e, t); + }); + z(e, t); + } + function v(e, t) { + e = g(e); + if (e.closest) { + return e.closest(t); + } else { + do { + if (e == null || h(e, t)) { + return e; + } + } while ((e = e && u(e))); + return null; + } + } + function s(e, t) { + return e.substring(0, t.length) === t; + } + function G(e, t) { + return e.substring(e.length - t.length) === t; + } + function J(e) { + var t = e.trim(); + if (s(t, "<") && G(t, "/>")) { + return t.substring(1, t.length - 2); + } else { + return t; + } + } + function Z(e, t) { + if (t.indexOf("closest ") === 0) { + return [v(e, J(t.substr(8)))]; + } else if (t.indexOf("find ") === 0) { + return [C(e, J(t.substr(5)))]; + } else if (t === "next") { + return [e.nextElementSibling]; + } else if (t.indexOf("next ") === 0) { + return [K(e, J(t.substr(5)))]; + } else if (t === "previous") { + return [e.previousElementSibling]; + } else if (t.indexOf("previous ") === 0) { + return [Y(e, J(t.substr(9)))]; + } else if (t === "document") { + return [document]; + } else if (t === "window") { + return [window]; + } else if (t === "body") { + return [document.body]; + } else { + return re().querySelectorAll(J(t)); + } + } + var K = function (e, t) { + var r = re().querySelectorAll(t); + for (var n = 0; n < r.length; n++) { + var i = r[n]; + if (i.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_PRECEDING) { + return i; + } + } + }; + var Y = function (e, t) { + var r = re().querySelectorAll(t); + for (var n = r.length - 1; n >= 0; n--) { + var i = r[n]; + if (i.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_FOLLOWING) { + return i; + } + } + }; + function ue(e, t) { + if (t) { + return Z(e, t)[0]; + } else { + return Z(re().body, e)[0]; + } + } + function g(e) { + if (I(e, "String")) { + return C(e); + } else { + return e; + } + } + function ve(e, t, r) { + if (k(t)) { + return { target: re().body, event: e, listener: t }; + } else { + return { target: g(e), event: t, listener: r }; + } + } + function de(t, r, n) { + jr(function () { + var e = ve(t, r, n); + e.target.addEventListener(e.event, e.listener); + }); + var e = k(r); + return e ? r : n; + } + function ge(t, r, n) { + jr(function () { + var e = ve(t, r, n); + e.target.removeEventListener(e.event, e.listener); + }); + return k(r) ? r : n; + } + var me = re().createElement("output"); + function pe(e, t) { + var r = ne(e, t); + if (r) { + if (r === "this") { + return [xe(e, t)]; + } else { + var n = Z(e, r); + if (n.length === 0) { + b('The selector "' + r + '" on ' + t + " returned no matches!"); + return [me]; + } else { + return n; + } + } + } + } + function xe(e, t) { + return c(e, function (e) { + return te(e, t) != null; + }); + } + function ye(e) { + var t = ne(e, "hx-target"); + if (t) { + if (t === "this") { + return xe(e, "hx-target"); + } else { + return ue(e, t); + } + } else { + var r = ae(e); + if (r.boosted) { + return re().body; + } else { + return e; + } + } + } + function be(e) { + var t = Q.config.attributesToSettle; + for (var r = 0; r < t.length; r++) { + if (e === t[r]) { + return true; + } + } + return false; + } + function we(t, r) { + oe(t.attributes, function (e) { + if (!r.hasAttribute(e.name) && be(e.name)) { + t.removeAttribute(e.name); + } + }); + oe(r.attributes, function (e) { + if (be(e.name)) { + t.setAttribute(e.name, e.value); + } + }); + } + function Se(e, t) { + var r = Fr(t); + for (var n = 0; n < r.length; n++) { + var i = r[n]; + try { + if (i.isInlineSwap(e)) { + return true; + } + } catch (e) { + b(e); + } + } + return e === "outerHTML"; + } + function Ee(e, i, a) { + var t = "#" + ee(i, "id"); + var o = "outerHTML"; + if (e === "true") { + } else if (e.indexOf(":") > 0) { + o = e.substr(0, e.indexOf(":")); + t = e.substr(e.indexOf(":") + 1, e.length); + } else { + o = e; + } + var r = re().querySelectorAll(t); + if (r) { + oe(r, function (e) { + var t; + var r = i.cloneNode(true); + t = re().createDocumentFragment(); + t.appendChild(r); + if (!Se(o, e)) { + t = r; + } + var n = { shouldSwap: true, target: e, fragment: t }; + if (!ce(e, "htmx:oobBeforeSwap", n)) return; + e = n.target; + if (n["shouldSwap"]) { + Fe(o, e, e, t, a); + } + oe(a.elts, function (e) { + ce(e, "htmx:oobAfterSwap", n); + }); + }); + i.parentNode.removeChild(i); + } else { + i.parentNode.removeChild(i); + fe(re().body, "htmx:oobErrorNoTarget", { content: i }); + } + return e; + } + function Ce(e, t, r) { + var n = ne(e, "hx-select-oob"); + if (n) { + var i = n.split(","); + for (var a = 0; a < i.length; a++) { + var o = i[a].split(":", 2); + var s = o[0].trim(); + if (s.indexOf("#") === 0) { + s = s.substring(1); + } + var l = o[1] || "true"; + var u = t.querySelector("#" + s); + if (u) { + Ee(l, u, r); + } + } + } + oe(f(t, "[hx-swap-oob], [data-hx-swap-oob]"), function (e) { + var t = te(e, "hx-swap-oob"); + if (t != null) { + Ee(t, e, r); + } + }); + } + function Re(e) { + oe(f(e, "[hx-preserve], [data-hx-preserve]"), function (e) { + var t = te(e, "id"); + var r = re().getElementById(t); + if (r != null) { + e.parentNode.replaceChild(r, e); + } + }); + } + function Te(o, e, s) { + oe(e.querySelectorAll("[id]"), function (e) { + var t = ee(e, "id"); + if (t && t.length > 0) { + var r = t.replace("'", "\\'"); + var n = e.tagName.replace(":", "\\:"); + var i = o.querySelector(n + "[id='" + r + "']"); + if (i && i !== o) { + var a = e.cloneNode(); + we(e, i); + s.tasks.push(function () { + we(e, a); + }); + } + } + }); + } + function Oe(e) { + return function () { + n(e, Q.config.addedClass); + zt(e); + Nt(e); + qe(e); + ce(e, "htmx:load"); + }; + } + function qe(e) { + var t = "[autofocus]"; + var r = h(e, t) ? e : e.querySelector(t); + if (r != null) { + r.focus(); + } + } + function m(e, t, r, n) { + Te(e, r, n); + while (r.childNodes.length > 0) { + var i = r.firstChild; + z(i, Q.config.addedClass); + e.insertBefore(i, t); + if (i.nodeType !== Node.TEXT_NODE && i.nodeType !== Node.COMMENT_NODE) { + n.tasks.push(Oe(i)); + } + } + } + function He(e, t) { + var r = 0; + while (r < e.length) { + t = ((t << 5) - t + e.charCodeAt(r++)) | 0; + } + return t; + } + function Le(e) { + var t = 0; + if (e.attributes) { + for (var r = 0; r < e.attributes.length; r++) { + var n = e.attributes[r]; + if (n.value) { + t = He(n.name, t); + t = He(n.value, t); + } + } + } + return t; + } + function Ae(e) { + var t = ae(e); + if (t.onHandlers) { + for (var r = 0; r < t.onHandlers.length; r++) { + const n = t.onHandlers[r]; + e.removeEventListener(n.event, n.listener); + } + delete t.onHandlers; + } + } + function Ne(e) { + var t = ae(e); + if (t.timeout) { + clearTimeout(t.timeout); + } + if (t.webSocket) { + t.webSocket.close(); + } + if (t.sseEventSource) { + t.sseEventSource.close(); + } + if (t.listenerInfos) { + oe(t.listenerInfos, function (e) { + if (e.on) { + e.on.removeEventListener(e.trigger, e.listener); + } + }); + } + Ae(e); + oe(Object.keys(t), function (e) { + delete t[e]; + }); + } + function p(e) { + ce(e, "htmx:beforeCleanupElement"); + Ne(e); + if (e.children) { + oe(e.children, function (e) { + p(e); + }); + } + } + function Ie(t, e, r) { + if (t.tagName === "BODY") { + return Ue(t, e, r); + } else { + var n; + var i = t.previousSibling; + m(u(t), t, e, r); + if (i == null) { + n = u(t).firstChild; + } else { + n = i.nextSibling; + } + r.elts = r.elts.filter(function (e) { + return e != t; + }); + while (n && n !== t) { + if (n.nodeType === Node.ELEMENT_NODE) { + r.elts.push(n); + } + n = n.nextElementSibling; + } + p(t); + u(t).removeChild(t); + } + } + function ke(e, t, r) { + return m(e, e.firstChild, t, r); + } + function Pe(e, t, r) { + return m(u(e), e, t, r); + } + function Me(e, t, r) { + return m(e, null, t, r); + } + function Xe(e, t, r) { + return m(u(e), e.nextSibling, t, r); + } + function De(e, t, r) { + p(e); + return u(e).removeChild(e); + } + function Ue(e, t, r) { + var n = e.firstChild; + m(e, n, t, r); + if (n) { + while (n.nextSibling) { + p(n.nextSibling); + e.removeChild(n.nextSibling); + } + p(n); + e.removeChild(n); + } + } + function Be(e, t, r) { + var n = r || ne(e, "hx-select"); + if (n) { + var i = re().createDocumentFragment(); + oe(t.querySelectorAll(n), function (e) { + i.appendChild(e); + }); + t = i; + } + return t; + } + function Fe(e, t, r, n, i) { + switch (e) { + case "none": + return; + case "outerHTML": + Ie(r, n, i); + return; + case "afterbegin": + ke(r, n, i); + return; + case "beforebegin": + Pe(r, n, i); + return; + case "beforeend": + Me(r, n, i); + return; + case "afterend": + Xe(r, n, i); + return; + case "delete": + De(r, n, i); + return; + default: + var a = Fr(t); + for (var o = 0; o < a.length; o++) { + var s = a[o]; + try { + var l = s.handleSwap(e, r, n, i); + if (l) { + if (typeof l.length !== "undefined") { + for (var u = 0; u < l.length; u++) { + var f = l[u]; + if ( + f.nodeType !== Node.TEXT_NODE && + f.nodeType !== Node.COMMENT_NODE + ) { + i.tasks.push(Oe(f)); + } + } + } + return; + } + } catch (e) { + b(e); + } + } + if (e === "innerHTML") { + Ue(r, n, i); + } else { + Fe(Q.config.defaultSwapStyle, t, r, n, i); + } + } + } + function Ve(e) { + if (e.indexOf(" -1) { + var t = e.replace(H, ""); + var r = t.match(q); + if (r) { + return r[2]; + } + } + } + function je(e, t, r, n, i, a) { + i.title = Ve(n); + var o = l(n); + if (o) { + Ce(r, o, i); + o = Be(r, o, a); + Re(o); + return Fe(e, r, t, o, i); + } + } + function _e(e, t, r) { + var n = e.getResponseHeader(t); + if (n.indexOf("{") === 0) { + var i = E(n); + for (var a in i) { + if (i.hasOwnProperty(a)) { + var o = i[a]; + if (!P(o)) { + o = { value: o }; + } + ce(r, a, o); + } + } + } else { + var s = n.split(","); + for (var l = 0; l < s.length; l++) { + ce(r, s[l].trim(), []); + } + } + } + var ze = /\s/; + var x = /[\s,]/; + var $e = /[_$a-zA-Z]/; + var We = /[_$a-zA-Z0-9]/; + var Ge = ['"', "'", "/"]; + var Je = /[^\s]/; + var Ze = /[{(]/; + var Ke = /[})]/; + function Ye(e) { + var t = []; + var r = 0; + while (r < e.length) { + if ($e.exec(e.charAt(r))) { + var n = r; + while (We.exec(e.charAt(r + 1))) { + r++; + } + t.push(e.substr(n, r - n + 1)); + } else if (Ge.indexOf(e.charAt(r)) !== -1) { + var i = e.charAt(r); + var n = r; + r++; + while (r < e.length && e.charAt(r) !== i) { + if (e.charAt(r) === "\\") { + r++; + } + r++; + } + t.push(e.substr(n, r - n + 1)); + } else { + var a = e.charAt(r); + t.push(a); + } + r++; + } + return t; + } + function Qe(e, t, r) { + return ( + $e.exec(e.charAt(0)) && + e !== "true" && + e !== "false" && + e !== "this" && + e !== r && + t !== "." + ); + } + function et(e, t, r) { + if (t[0] === "[") { + t.shift(); + var n = 1; + var i = " return (function(" + r + "){ return ("; + var a = null; + while (t.length > 0) { + var o = t[0]; + if (o === "]") { + n--; + if (n === 0) { + if (a === null) { + i = i + "true"; + } + t.shift(); + i += ")})"; + try { + var s = Tr( + e, + function () { + return Function(i)(); + }, + function () { + return true; + }, + ); + s.source = i; + return s; + } catch (e) { + fe(re().body, "htmx:syntax:error", { error: e, source: i }); + return null; + } + } + } else if (o === "[") { + n++; + } + if (Qe(o, a, r)) { + i += + "((" + + r + + "." + + o + + ") ? (" + + r + + "." + + o + + ") : (window." + + o + + "))"; + } else { + i = i + o; + } + a = t.shift(); + } + } + } + function y(e, t) { + var r = ""; + while (e.length > 0 && !t.test(e[0])) { + r += e.shift(); + } + return r; + } + function tt(e) { + var t; + if (e.length > 0 && Ze.test(e[0])) { + e.shift(); + t = y(e, Ke).trim(); + e.shift(); + } else { + t = y(e, x); + } + return t; + } + var rt = "input, textarea, select"; + function nt(e, t, r) { + var n = []; + var i = Ye(t); + do { + y(i, Je); + var a = i.length; + var o = y(i, /[,\[\s]/); + if (o !== "") { + if (o === "every") { + var s = { trigger: "every" }; + y(i, Je); + s.pollInterval = d(y(i, /[,\[\s]/)); + y(i, Je); + var l = et(e, i, "event"); + if (l) { + s.eventFilter = l; + } + n.push(s); + } else if (o.indexOf("sse:") === 0) { + n.push({ trigger: "sse", sseEvent: o.substr(4) }); + } else { + var u = { trigger: o }; + var l = et(e, i, "event"); + if (l) { + u.eventFilter = l; + } + while (i.length > 0 && i[0] !== ",") { + y(i, Je); + var f = i.shift(); + if (f === "changed") { + u.changed = true; + } else if (f === "once") { + u.once = true; + } else if (f === "consume") { + u.consume = true; + } else if (f === "delay" && i[0] === ":") { + i.shift(); + u.delay = d(y(i, x)); + } else if (f === "from" && i[0] === ":") { + i.shift(); + if (Ze.test(i[0])) { + var c = tt(i); + } else { + var c = y(i, x); + if ( + c === "closest" || + c === "find" || + c === "next" || + c === "previous" + ) { + i.shift(); + var h = tt(i); + if (h.length > 0) { + c += " " + h; + } + } + } + u.from = c; + } else if (f === "target" && i[0] === ":") { + i.shift(); + u.target = tt(i); + } else if (f === "throttle" && i[0] === ":") { + i.shift(); + u.throttle = d(y(i, x)); + } else if (f === "queue" && i[0] === ":") { + i.shift(); + u.queue = y(i, x); + } else if (f === "root" && i[0] === ":") { + i.shift(); + u[f] = tt(i); + } else if (f === "threshold" && i[0] === ":") { + i.shift(); + u[f] = y(i, x); + } else { + fe(e, "htmx:syntax:error", { token: i.shift() }); + } + } + n.push(u); + } + } + if (i.length === a) { + fe(e, "htmx:syntax:error", { token: i.shift() }); + } + y(i, Je); + } while (i[0] === "," && i.shift()); + if (r) { + r[t] = n; + } + return n; + } + function it(e) { + var t = te(e, "hx-trigger"); + var r = []; + if (t) { + var n = Q.config.triggerSpecsCache; + r = (n && n[t]) || nt(e, t, n); + } + if (r.length > 0) { + return r; + } else if (h(e, "form")) { + return [{ trigger: "submit" }]; + } else if (h(e, 'input[type="button"], input[type="submit"]')) { + return [{ trigger: "click" }]; + } else if (h(e, rt)) { + return [{ trigger: "change" }]; + } else { + return [{ trigger: "click" }]; + } + } + function at(e) { + ae(e).cancelled = true; + } + function ot(e, t, r) { + var n = ae(e); + n.timeout = setTimeout(function () { + if (se(e) && n.cancelled !== true) { + if (!ct(r, e, Wt("hx:poll:trigger", { triggerSpec: r, target: e }))) { + t(e); + } + ot(e, t, r); + } + }, r.pollInterval); + } + function st(e) { + return ( + location.hostname === e.hostname && + ee(e, "href") && + ee(e, "href").indexOf("#") !== 0 + ); + } + function lt(t, r, e) { + if ( + (t.tagName === "A" && + st(t) && + (t.target === "" || t.target === "_self")) || + t.tagName === "FORM" + ) { + r.boosted = true; + var n, i; + if (t.tagName === "A") { + n = "get"; + i = ee(t, "href"); + } else { + var a = ee(t, "method"); + n = a ? a.toLowerCase() : "get"; + if (n === "get") { + } + i = ee(t, "action"); + } + e.forEach(function (e) { + ht( + t, + function (e, t) { + if (v(e, Q.config.disableSelector)) { + p(e); + return; + } + he(n, i, e, t); + }, + r, + e, + true, + ); + }); + } + } + function ut(e, t) { + if (e.type === "submit" || e.type === "click") { + if (t.tagName === "FORM") { + return true; + } + if (h(t, 'input[type="submit"], button') && v(t, "form") !== null) { + return true; + } + if ( + t.tagName === "A" && + t.href && + (t.getAttribute("href") === "#" || + t.getAttribute("href").indexOf("#") !== 0) + ) { + return true; + } + } + return false; + } + function ft(e, t) { + return ( + ae(e).boosted && + e.tagName === "A" && + t.type === "click" && + (t.ctrlKey || t.metaKey) + ); + } + function ct(e, t, r) { + var n = e.eventFilter; + if (n) { + try { + return n.call(t, r) !== true; + } catch (e) { + fe(re().body, "htmx:eventFilter:error", { + error: e, + source: n.source, + }); + return true; + } + } + return false; + } + function ht(a, o, e, s, l) { + var u = ae(a); + var t; + if (s.from) { + t = Z(a, s.from); + } else { + t = [a]; + } + if (s.changed) { + t.forEach(function (e) { + var t = ae(e); + t.lastValue = e.value; + }); + } + oe(t, function (n) { + var i = function (e) { + if (!se(a)) { + n.removeEventListener(s.trigger, i); + return; + } + if (ft(a, e)) { + return; + } + if (l || ut(e, a)) { + e.preventDefault(); + } + if (ct(s, a, e)) { + return; + } + var t = ae(e); + t.triggerSpec = s; + if (t.handledFor == null) { + t.handledFor = []; + } + if (t.handledFor.indexOf(a) < 0) { + t.handledFor.push(a); + if (s.consume) { + e.stopPropagation(); + } + if (s.target && e.target) { + if (!h(e.target, s.target)) { + return; + } + } + if (s.once) { + if (u.triggeredOnce) { + return; + } else { + u.triggeredOnce = true; + } + } + if (s.changed) { + var r = ae(n); + if (r.lastValue === n.value) { + return; + } + r.lastValue = n.value; + } + if (u.delayed) { + clearTimeout(u.delayed); + } + if (u.throttle) { + return; + } + if (s.throttle > 0) { + if (!u.throttle) { + o(a, e); + u.throttle = setTimeout(function () { + u.throttle = null; + }, s.throttle); + } + } else if (s.delay > 0) { + u.delayed = setTimeout(function () { + o(a, e); + }, s.delay); + } else { + ce(a, "htmx:trigger"); + o(a, e); + } + } + }; + if (e.listenerInfos == null) { + e.listenerInfos = []; + } + e.listenerInfos.push({ trigger: s.trigger, listener: i, on: n }); + n.addEventListener(s.trigger, i); + }); + } + var vt = false; + var dt = null; + function gt() { + if (!dt) { + dt = function () { + vt = true; + }; + window.addEventListener("scroll", dt); + setInterval(function () { + if (vt) { + vt = false; + oe( + re().querySelectorAll( + "[hx-trigger='revealed'],[data-hx-trigger='revealed']", + ), + function (e) { + mt(e); + }, + ); + } + }, 200); + } + } + function mt(t) { + if (!o(t, "data-hx-revealed") && X(t)) { + t.setAttribute("data-hx-revealed", "true"); + var e = ae(t); + if (e.initHash) { + ce(t, "revealed"); + } else { + t.addEventListener( + "htmx:afterProcessNode", + function (e) { + ce(t, "revealed"); + }, + { once: true }, + ); + } + } + } + function pt(e, t, r) { + var n = D(r); + for (var i = 0; i < n.length; i++) { + var a = n[i].split(/:(.+)/); + if (a[0] === "connect") { + xt(e, a[1], 0); + } + if (a[0] === "send") { + bt(e); + } + } + } + function xt(s, r, n) { + if (!se(s)) { + return; + } + if (r.indexOf("/") == 0) { + var e = location.hostname + (location.port ? ":" + location.port : ""); + if (location.protocol == "https:") { + r = "wss://" + e + r; + } else if (location.protocol == "http:") { + r = "ws://" + e + r; + } + } + var t = Q.createWebSocket(r); + t.onerror = function (e) { + fe(s, "htmx:wsError", { error: e, socket: t }); + yt(s); + }; + t.onclose = function (e) { + if ([1006, 1012, 1013].indexOf(e.code) >= 0) { + var t = wt(n); + setTimeout(function () { + xt(s, r, n + 1); + }, t); + } + }; + t.onopen = function (e) { + n = 0; + }; + ae(s).webSocket = t; + t.addEventListener("message", function (e) { + if (yt(s)) { + return; + } + var t = e.data; + R(s, function (e) { + t = e.transformResponse(t, null, s); + }); + var r = T(s); + var n = l(t); + var i = M(n.children); + for (var a = 0; a < i.length; a++) { + var o = i[a]; + Ee(te(o, "hx-swap-oob") || "true", o, r); + } + nr(r.tasks); + }); + } + function yt(e) { + if (!se(e)) { + ae(e).webSocket.close(); + return true; + } + } + function bt(u) { + var f = c(u, function (e) { + return ae(e).webSocket != null; + }); + if (f) { + u.addEventListener(it(u)[0].trigger, function (e) { + var t = ae(f).webSocket; + var r = xr(u, f); + var n = dr(u, "post"); + var i = n.errors; + var a = n.values; + var o = Hr(u); + var s = le(a, o); + var l = yr(s, u); + l["HEADERS"] = r; + if (i && i.length > 0) { + ce(u, "htmx:validation:halted", i); + return; + } + t.send(JSON.stringify(l)); + if (ut(e, u)) { + e.preventDefault(); + } + }); + } else { + fe(u, "htmx:noWebSocketSourceError"); + } + } + function wt(e) { + var t = Q.config.wsReconnectDelay; + if (typeof t === "function") { + return t(e); + } + if (t === "full-jitter") { + var r = Math.min(e, 6); + var n = 1e3 * Math.pow(2, r); + return n * Math.random(); + } + b( + 'htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"', + ); + } + function St(e, t, r) { + var n = D(r); + for (var i = 0; i < n.length; i++) { + var a = n[i].split(/:(.+)/); + if (a[0] === "connect") { + Et(e, a[1]); + } + if (a[0] === "swap") { + Ct(e, a[1]); + } + } + } + function Et(t, e) { + var r = Q.createEventSource(e); + r.onerror = function (e) { + fe(t, "htmx:sseError", { error: e, source: r }); + Tt(t); + }; + ae(t).sseEventSource = r; + } + function Ct(a, o) { + var s = c(a, Ot); + if (s) { + var l = ae(s).sseEventSource; + var u = function (e) { + if (Tt(s)) { + return; + } + if (!se(a)) { + l.removeEventListener(o, u); + return; + } + var t = e.data; + R(a, function (e) { + t = e.transformResponse(t, null, a); + }); + var r = wr(a); + var n = ye(a); + var i = T(a); + je(r.swapStyle, n, a, t, i); + nr(i.tasks); + ce(a, "htmx:sseMessage", e); + }; + ae(a).sseListener = u; + l.addEventListener(o, u); + } else { + fe(a, "htmx:noSSESourceError"); + } + } + function Rt(e, t, r) { + var n = c(e, Ot); + if (n) { + var i = ae(n).sseEventSource; + var a = function () { + if (!Tt(n)) { + if (se(e)) { + t(e); + } else { + i.removeEventListener(r, a); + } + } + }; + ae(e).sseListener = a; + i.addEventListener(r, a); + } else { + fe(e, "htmx:noSSESourceError"); + } + } + function Tt(e) { + if (!se(e)) { + ae(e).sseEventSource.close(); + return true; + } + } + function Ot(e) { + return ae(e).sseEventSource != null; + } + function qt(e, t, r, n) { + var i = function () { + if (!r.loaded) { + r.loaded = true; + t(e); + } + }; + if (n > 0) { + setTimeout(i, n); + } else { + i(); + } + } + function Ht(t, i, e) { + var a = false; + oe(w, function (r) { + if (o(t, "hx-" + r)) { + var n = te(t, "hx-" + r); + a = true; + i.path = n; + i.verb = r; + e.forEach(function (e) { + Lt(t, e, i, function (e, t) { + if (v(e, Q.config.disableSelector)) { + p(e); + return; + } + he(r, n, e, t); + }); + }); + } + }); + return a; + } + function Lt(n, e, t, r) { + if (e.sseEvent) { + Rt(n, r, e.sseEvent); + } else if (e.trigger === "revealed") { + gt(); + ht(n, r, t, e); + mt(n); + } else if (e.trigger === "intersect") { + var i = {}; + if (e.root) { + i.root = ue(n, e.root); + } + if (e.threshold) { + i.threshold = parseFloat(e.threshold); + } + var a = new IntersectionObserver(function (e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + if (r.isIntersecting) { + ce(n, "intersect"); + break; + } + } + }, i); + a.observe(n); + ht(n, r, t, e); + } else if (e.trigger === "load") { + if (!ct(e, n, Wt("load", { elt: n }))) { + qt(n, r, t, e.delay); + } + } else if (e.pollInterval > 0) { + t.polling = true; + ot(n, r, e); + } else { + ht(n, r, t, e); + } + } + function At(e) { + if ( + Q.config.allowScriptTags && + (e.type === "text/javascript" || e.type === "module" || e.type === "") + ) { + var t = re().createElement("script"); + oe(e.attributes, function (e) { + t.setAttribute(e.name, e.value); + }); + t.textContent = e.textContent; + t.async = false; + if (Q.config.inlineScriptNonce) { + t.nonce = Q.config.inlineScriptNonce; + } + var r = e.parentElement; + try { + r.insertBefore(t, e); + } catch (e) { + b(e); + } finally { + if (e.parentElement) { + e.parentElement.removeChild(e); + } + } + } + } + function Nt(e) { + if (h(e, "script")) { + At(e); + } + oe(f(e, "script"), function (e) { + At(e); + }); + } + function It(e) { + var t = e.attributes; + for (var r = 0; r < t.length; r++) { + var n = t[r].name; + if ( + s(n, "hx-on:") || + s(n, "data-hx-on:") || + s(n, "hx-on-") || + s(n, "data-hx-on-") + ) { + return true; + } + } + return false; + } + function kt(e) { + var t = null; + var r = []; + if (It(e)) { + r.push(e); + } + if (document.evaluate) { + var n = document.evaluate( + './/*[@*[ starts-with(name(), "hx-on:") or starts-with(name(), "data-hx-on:") or' + + ' starts-with(name(), "hx-on-") or starts-with(name(), "data-hx-on-") ]]', + e, + ); + while ((t = n.iterateNext())) r.push(t); + } else { + var i = e.getElementsByTagName("*"); + for (var a = 0; a < i.length; a++) { + if (It(i[a])) { + r.push(i[a]); + } + } + } + return r; + } + function Pt(e) { + if (e.querySelectorAll) { + var t = + ", [hx-boost] a, [data-hx-boost] a, a[hx-boost], a[data-hx-boost]"; + var r = e.querySelectorAll( + i + + t + + ", form, [type='submit'], [hx-sse], [data-hx-sse], [hx-ws]," + + " [data-hx-ws], [hx-ext], [data-hx-ext], [hx-trigger], [data-hx-trigger], [hx-on], [data-hx-on]", + ); + return r; + } else { + return []; + } + } + function Mt(e) { + var t = v(e.target, "button, input[type='submit']"); + var r = Dt(e); + if (r) { + r.lastButtonClicked = t; + } + } + function Xt(e) { + var t = Dt(e); + if (t) { + t.lastButtonClicked = null; + } + } + function Dt(e) { + var t = v(e.target, "button, input[type='submit']"); + if (!t) { + return; + } + var r = g("#" + ee(t, "form")) || v(t, "form"); + if (!r) { + return; + } + return ae(r); + } + function Ut(e) { + e.addEventListener("click", Mt); + e.addEventListener("focusin", Mt); + e.addEventListener("focusout", Xt); + } + function Bt(e) { + var t = Ye(e); + var r = 0; + for (var n = 0; n < t.length; n++) { + const i = t[n]; + if (i === "{") { + r++; + } else if (i === "}") { + r--; + } + } + return r; + } + function Ft(t, e, r) { + var n = ae(t); + if (!Array.isArray(n.onHandlers)) { + n.onHandlers = []; + } + var i; + var a = function (e) { + return Tr(t, function () { + if (!i) { + i = new Function("event", r); + } + i.call(t, e); + }); + }; + t.addEventListener(e, a); + n.onHandlers.push({ event: e, listener: a }); + } + function Vt(e) { + var t = te(e, "hx-on"); + if (t) { + var r = {}; + var n = t.split("\n"); + var i = null; + var a = 0; + while (n.length > 0) { + var o = n.shift(); + var s = o.match(/^\s*([a-zA-Z:\-\.]+:)(.*)/); + if (a === 0 && s) { + o.split(":"); + i = s[1].slice(0, -1); + r[i] = s[2]; + } else { + r[i] += o; + } + a += Bt(o); + } + for (var l in r) { + Ft(e, l, r[l]); + } + } + } + function jt(e) { + Ae(e); + for (var t = 0; t < e.attributes.length; t++) { + var r = e.attributes[t].name; + var n = e.attributes[t].value; + if (s(r, "hx-on") || s(r, "data-hx-on")) { + var i = r.indexOf("-on") + 3; + var a = r.slice(i, i + 1); + if (a === "-" || a === ":") { + var o = r.slice(i + 1); + if (s(o, ":")) { + o = "htmx" + o; + } else if (s(o, "-")) { + o = "htmx:" + o.slice(1); + } else if (s(o, "htmx-")) { + o = "htmx:" + o.slice(5); + } + Ft(e, o, n); + } + } + } + } + function _t(t) { + if (v(t, Q.config.disableSelector)) { + p(t); + return; + } + var r = ae(t); + if (r.initHash !== Le(t)) { + Ne(t); + r.initHash = Le(t); + Vt(t); + ce(t, "htmx:beforeProcessNode"); + if (t.value) { + r.lastValue = t.value; + } + var e = it(t); + var n = Ht(t, r, e); + if (!n) { + if (ne(t, "hx-boost") === "true") { + lt(t, r, e); + } else if (o(t, "hx-trigger")) { + e.forEach(function (e) { + Lt(t, e, r, function () {}); + }); + } + } + if ( + t.tagName === "FORM" || + (ee(t, "type") === "submit" && o(t, "form")) + ) { + Ut(t); + } + var i = te(t, "hx-sse"); + if (i) { + St(t, r, i); + } + var a = te(t, "hx-ws"); + if (a) { + pt(t, r, a); + } + ce(t, "htmx:afterProcessNode"); + } + } + function zt(e) { + e = g(e); + if (v(e, Q.config.disableSelector)) { + p(e); + return; + } + _t(e); + oe(Pt(e), function (e) { + _t(e); + }); + oe(kt(e), jt); + } + function $t(e) { + return e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(); + } + function Wt(e, t) { + var r; + if (window.CustomEvent && typeof window.CustomEvent === "function") { + r = new CustomEvent(e, { bubbles: true, cancelable: true, detail: t }); + } else { + r = re().createEvent("CustomEvent"); + r.initCustomEvent(e, true, true, t); + } + return r; + } + function fe(e, t, r) { + ce(e, t, le({ error: t }, r)); + } + function Gt(e) { + return e === "htmx:afterProcessNode"; + } + function R(e, t) { + oe(Fr(e), function (e) { + try { + t(e); + } catch (e) { + b(e); + } + }); + } + function b(e) { + if (console.error) { + console.error(e); + } else if (console.log) { + console.log("ERROR: ", e); + } + } + function ce(e, t, r) { + e = g(e); + if (r == null) { + r = {}; + } + r["elt"] = e; + var n = Wt(t, r); + if (Q.logger && !Gt(t)) { + Q.logger(e, t, r); + } + if (r.error) { + b(r.error); + ce(e, "htmx:error", { errorInfo: r }); + } + var i = e.dispatchEvent(n); + var a = $t(t); + if (i && a !== t) { + var o = Wt(a, n.detail); + i = i && e.dispatchEvent(o); + } + R(e, function (e) { + i = i && e.onEvent(t, n) !== false && !n.defaultPrevented; + }); + return i; + } + var Jt = location.pathname + location.search; + function Zt() { + var e = re().querySelector("[hx-history-elt],[data-hx-history-elt]"); + return e || re().body; + } + function Kt(e, t, r, n) { + if (!U()) { + return; + } + if (Q.config.historyCacheSize <= 0) { + localStorage.removeItem("htmx-history-cache"); + return; + } + e = B(e); + var i = E(localStorage.getItem("htmx-history-cache")) || []; + for (var a = 0; a < i.length; a++) { + if (i[a].url === e) { + i.splice(a, 1); + break; + } + } + var o = { url: e, content: t, title: r, scroll: n }; + ce(re().body, "htmx:historyItemCreated", { item: o, cache: i }); + i.push(o); + while (i.length > Q.config.historyCacheSize) { + i.shift(); + } + while (i.length > 0) { + try { + localStorage.setItem("htmx-history-cache", JSON.stringify(i)); + break; + } catch (e) { + fe(re().body, "htmx:historyCacheError", { cause: e, cache: i }); + i.shift(); + } + } + } + function Yt(e) { + if (!U()) { + return null; + } + e = B(e); + var t = E(localStorage.getItem("htmx-history-cache")) || []; + for (var r = 0; r < t.length; r++) { + if (t[r].url === e) { + return t[r]; + } + } + return null; + } + function Qt(e) { + var t = Q.config.requestClass; + var r = e.cloneNode(true); + oe(f(r, "." + t), function (e) { + n(e, t); + }); + return r.innerHTML; + } + function er() { + var e = Zt(); + var t = Jt || location.pathname + location.search; + var r; + try { + r = re().querySelector( + '[hx-history="false" i],[data-hx-history="false" i]', + ); + } catch (e) { + r = re().querySelector( + '[hx-history="false"],[data-hx-history="false"]', + ); + } + if (!r) { + ce(re().body, "htmx:beforeHistorySave", { path: t, historyElt: e }); + Kt(t, Qt(e), re().title, window.scrollY); + } + if (Q.config.historyEnabled) + history.replaceState({ htmx: true }, re().title, window.location.href); + } + function tr(e) { + if (Q.config.getCacheBusterParam) { + e = e.replace(/org\.htmx\.cache-buster=[^&]*&?/, ""); + if (G(e, "&") || G(e, "?")) { + e = e.slice(0, -1); + } + } + if (Q.config.historyEnabled) { + history.pushState({ htmx: true }, "", e); + } + Jt = e; + } + function rr(e) { + if (Q.config.historyEnabled) history.replaceState({ htmx: true }, "", e); + Jt = e; + } + function nr(e) { + oe(e, function (e) { + e.call(); + }); + } + function ir(a) { + var e = new XMLHttpRequest(); + var o = { path: a, xhr: e }; + ce(re().body, "htmx:historyCacheMiss", o); + e.open("GET", a, true); + e.setRequestHeader("HX-Request", "true"); + e.setRequestHeader("HX-History-Restore-Request", "true"); + e.setRequestHeader("HX-Current-URL", re().location.href); + e.onload = function () { + if (this.status >= 200 && this.status < 400) { + ce(re().body, "htmx:historyCacheMissLoad", o); + var e = l(this.response); + e = e.querySelector("[hx-history-elt],[data-hx-history-elt]") || e; + var t = Zt(); + var r = T(t); + var n = Ve(this.response); + if (n) { + var i = C("title"); + if (i) { + i.innerHTML = n; + } else { + window.document.title = n; + } + } + Ue(t, e, r); + nr(r.tasks); + Jt = a; + ce(re().body, "htmx:historyRestore", { + path: a, + cacheMiss: true, + serverResponse: this.response, + }); + } else { + fe(re().body, "htmx:historyCacheMissLoadError", o); + } + }; + e.send(); + } + function ar(e) { + er(); + e = e || location.pathname + location.search; + var t = Yt(e); + if (t) { + var r = l(t.content); + var n = Zt(); + var i = T(n); + Ue(n, r, i); + nr(i.tasks); + document.title = t.title; + setTimeout(function () { + window.scrollTo(0, t.scroll); + }, 0); + Jt = e; + ce(re().body, "htmx:historyRestore", { path: e, item: t }); + } else { + if (Q.config.refreshOnHistoryMiss) { + window.location.reload(true); + } else { + ir(e); + } + } + } + function or(e) { + var t = pe(e, "hx-indicator"); + if (t == null) { + t = [e]; + } + oe(t, function (e) { + var t = ae(e); + t.requestCount = (t.requestCount || 0) + 1; + e.classList["add"].call(e.classList, Q.config.requestClass); + }); + return t; + } + function sr(e) { + var t = pe(e, "hx-disabled-elt"); + if (t == null) { + t = []; + } + oe(t, function (e) { + var t = ae(e); + t.requestCount = (t.requestCount || 0) + 1; + e.setAttribute("disabled", ""); + }); + return t; + } + function lr(e, t) { + oe(e, function (e) { + var t = ae(e); + t.requestCount = (t.requestCount || 0) - 1; + if (t.requestCount === 0) { + e.classList["remove"].call(e.classList, Q.config.requestClass); + } + }); + oe(t, function (e) { + var t = ae(e); + t.requestCount = (t.requestCount || 0) - 1; + if (t.requestCount === 0) { + e.removeAttribute("disabled"); + } + }); + } + function ur(e, t) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + if (n.isSameNode(t)) { + return true; + } + } + return false; + } + function fr(e) { + if ( + e.name === "" || + e.name == null || + e.disabled || + v(e, "fieldset[disabled]") + ) { + return false; + } + if ( + e.type === "button" || + e.type === "submit" || + e.tagName === "image" || + e.tagName === "reset" || + e.tagName === "file" + ) { + return false; + } + if (e.type === "checkbox" || e.type === "radio") { + return e.checked; + } + return true; + } + function cr(e, t, r) { + if (e != null && t != null) { + var n = r[e]; + if (n === undefined) { + r[e] = t; + } else if (Array.isArray(n)) { + if (Array.isArray(t)) { + r[e] = n.concat(t); + } else { + n.push(t); + } + } else { + if (Array.isArray(t)) { + r[e] = [n].concat(t); + } else { + r[e] = [n, t]; + } + } + } + } + function hr(t, r, n, e, i) { + if (e == null || ur(t, e)) { + return; + } else { + t.push(e); + } + if (fr(e)) { + var a = ee(e, "name"); + var o = e.value; + if (e.multiple && e.tagName === "SELECT") { + o = M(e.querySelectorAll("option:checked")).map(function (e) { + return e.value; + }); + } + if (e.files) { + o = M(e.files); + } + cr(a, o, r); + if (i) { + vr(e, n); + } + } + if (h(e, "form")) { + var s = e.elements; + oe(s, function (e) { + hr(t, r, n, e, i); + }); + } + } + function vr(e, t) { + if (e.willValidate) { + ce(e, "htmx:validation:validate"); + if (!e.checkValidity()) { + t.push({ + elt: e, + message: e.validationMessage, + validity: e.validity, + }); + ce(e, "htmx:validation:failed", { + message: e.validationMessage, + validity: e.validity, + }); + } + } + } + function dr(e, t) { + var r = []; + var n = {}; + var i = {}; + var a = []; + var o = ae(e); + if (o.lastButtonClicked && !se(o.lastButtonClicked)) { + o.lastButtonClicked = null; + } + var s = + (h(e, "form") && e.noValidate !== true) || + te(e, "hx-validate") === "true"; + if (o.lastButtonClicked) { + s = s && o.lastButtonClicked.formNoValidate !== true; + } + if (t !== "get") { + hr(r, i, a, v(e, "form"), s); + } + hr(r, n, a, e, s); + if ( + o.lastButtonClicked || + e.tagName === "BUTTON" || + (e.tagName === "INPUT" && ee(e, "type") === "submit") + ) { + var l = o.lastButtonClicked || e; + var u = ee(l, "name"); + cr(u, l.value, i); + } + var f = pe(e, "hx-include"); + oe(f, function (e) { + hr(r, n, a, e, s); + if (!h(e, "form")) { + oe(e.querySelectorAll(rt), function (e) { + hr(r, n, a, e, s); + }); + } + }); + n = le(n, i); + return { errors: a, values: n }; + } + function gr(e, t, r) { + if (e !== "") { + e += "&"; + } + if (String(r) === "[object Object]") { + r = JSON.stringify(r); + } + var n = encodeURIComponent(r); + e += encodeURIComponent(t) + "=" + n; + return e; + } + function mr(e) { + var t = ""; + for (var r in e) { + if (e.hasOwnProperty(r)) { + var n = e[r]; + if (Array.isArray(n)) { + oe(n, function (e) { + t = gr(t, r, e); + }); + } else { + t = gr(t, r, n); + } + } + } + return t; + } + function pr(e) { + var t = new FormData(); + for (var r in e) { + if (e.hasOwnProperty(r)) { + var n = e[r]; + if (Array.isArray(n)) { + oe(n, function (e) { + t.append(r, e); + }); + } else { + t.append(r, n); + } + } + } + return t; + } + function xr(e, t, r) { + var n = { + "HX-Request": "true", + "HX-Trigger": ee(e, "id"), + "HX-Trigger-Name": ee(e, "name"), + "HX-Target": te(t, "id"), + "HX-Current-URL": re().location.href, + }; + Rr(e, "hx-headers", false, n); + if (r !== undefined) { + n["HX-Prompt"] = r; + } + if (ae(e).boosted) { + n["HX-Boosted"] = "true"; + } + return n; + } + function yr(t, e) { + var r = ne(e, "hx-params"); + if (r) { + if (r === "none") { + return {}; + } else if (r === "*") { + return t; + } else if (r.indexOf("not ") === 0) { + oe(r.substr(4).split(","), function (e) { + e = e.trim(); + delete t[e]; + }); + return t; + } else { + var n = {}; + oe(r.split(","), function (e) { + e = e.trim(); + n[e] = t[e]; + }); + return n; + } + } else { + return t; + } + } + function br(e) { + return ee(e, "href") && ee(e, "href").indexOf("#") >= 0; + } + function wr(e, t) { + var r = t ? t : ne(e, "hx-swap"); + var n = { + swapStyle: ae(e).boosted ? "innerHTML" : Q.config.defaultSwapStyle, + swapDelay: Q.config.defaultSwapDelay, + settleDelay: Q.config.defaultSettleDelay, + }; + if (Q.config.scrollIntoViewOnBoost && ae(e).boosted && !br(e)) { + n["show"] = "top"; + } + if (r) { + var i = D(r); + if (i.length > 0) { + for (var a = 0; a < i.length; a++) { + var o = i[a]; + if (o.indexOf("swap:") === 0) { + n["swapDelay"] = d(o.substr(5)); + } else if (o.indexOf("settle:") === 0) { + n["settleDelay"] = d(o.substr(7)); + } else if (o.indexOf("transition:") === 0) { + n["transition"] = o.substr(11) === "true"; + } else if (o.indexOf("ignoreTitle:") === 0) { + n["ignoreTitle"] = o.substr(12) === "true"; + } else if (o.indexOf("scroll:") === 0) { + var s = o.substr(7); + var l = s.split(":"); + var u = l.pop(); + var f = l.length > 0 ? l.join(":") : null; + n["scroll"] = u; + n["scrollTarget"] = f; + } else if (o.indexOf("show:") === 0) { + var c = o.substr(5); + var l = c.split(":"); + var h = l.pop(); + var f = l.length > 0 ? l.join(":") : null; + n["show"] = h; + n["showTarget"] = f; + } else if (o.indexOf("focus-scroll:") === 0) { + var v = o.substr("focus-scroll:".length); + n["focusScroll"] = v == "true"; + } else if (a == 0) { + n["swapStyle"] = o; + } else { + b("Unknown modifier in hx-swap: " + o); + } + } + } + } + return n; + } + function Sr(e) { + return ( + ne(e, "hx-encoding") === "multipart/form-data" || + (h(e, "form") && ee(e, "enctype") === "multipart/form-data") + ); + } + function Er(t, r, n) { + var i = null; + R(r, function (e) { + if (i == null) { + i = e.encodeParameters(t, n, r); + } + }); + if (i != null) { + return i; + } else { + if (Sr(r)) { + return pr(n); + } else { + return mr(n); + } + } + } + function T(e) { + return { tasks: [], elts: [e] }; + } + function Cr(e, t) { + var r = e[0]; + var n = e[e.length - 1]; + if (t.scroll) { + var i = null; + if (t.scrollTarget) { + i = ue(r, t.scrollTarget); + } + if (t.scroll === "top" && (r || i)) { + i = i || r; + i.scrollTop = 0; + } + if (t.scroll === "bottom" && (n || i)) { + i = i || n; + i.scrollTop = i.scrollHeight; + } + } + if (t.show) { + var i = null; + if (t.showTarget) { + var a = t.showTarget; + if (t.showTarget === "window") { + a = "body"; + } + i = ue(r, a); + } + if (t.show === "top" && (r || i)) { + i = i || r; + i.scrollIntoView({ + block: "start", + behavior: Q.config.scrollBehavior, + }); + } + if (t.show === "bottom" && (n || i)) { + i = i || n; + i.scrollIntoView({ block: "end", behavior: Q.config.scrollBehavior }); + } + } + } + function Rr(e, t, r, n) { + if (n == null) { + n = {}; + } + if (e == null) { + return n; + } + var i = te(e, t); + if (i) { + var a = i.trim(); + var o = r; + if (a === "unset") { + return null; + } + if (a.indexOf("javascript:") === 0) { + a = a.substr(11); + o = true; + } else if (a.indexOf("js:") === 0) { + a = a.substr(3); + o = true; + } + if (a.indexOf("{") !== 0) { + a = "{" + a + "}"; + } + var s; + if (o) { + s = Tr( + e, + function () { + return Function("return (" + a + ")")(); + }, + {}, + ); + } else { + s = E(a); + } + for (var l in s) { + if (s.hasOwnProperty(l)) { + if (n[l] == null) { + n[l] = s[l]; + } + } + } + } + return Rr(u(e), t, r, n); + } + function Tr(e, t, r) { + if (Q.config.allowEval) { + return t(); + } else { + fe(e, "htmx:evalDisallowedError"); + return r; + } + } + function Or(e, t) { + return Rr(e, "hx-vars", true, t); + } + function qr(e, t) { + return Rr(e, "hx-vals", false, t); + } + function Hr(e) { + return le(Or(e), qr(e)); + } + function Lr(t, r, n) { + if (n !== null) { + try { + t.setRequestHeader(r, n); + } catch (e) { + t.setRequestHeader(r, encodeURIComponent(n)); + t.setRequestHeader(r + "-URI-AutoEncoded", "true"); + } + } + } + function Ar(t) { + if (t.responseURL && typeof URL !== "undefined") { + try { + var e = new URL(t.responseURL); + return e.pathname + e.search; + } catch (e) { + fe(re().body, "htmx:badResponseUrl", { url: t.responseURL }); + } + } + } + function O(e, t) { + return t.test(e.getAllResponseHeaders()); + } + function Nr(e, t, r) { + e = e.toLowerCase(); + if (r) { + if (r instanceof Element || I(r, "String")) { + return he(e, t, null, null, { + targetOverride: g(r), + returnPromise: true, + }); + } else { + return he(e, t, g(r.source), r.event, { + handler: r.handler, + headers: r.headers, + values: r.values, + targetOverride: g(r.target), + swapOverride: r.swap, + select: r.select, + returnPromise: true, + }); + } + } else { + return he(e, t, null, null, { returnPromise: true }); + } + } + function Ir(e) { + var t = []; + while (e) { + t.push(e); + e = e.parentElement; + } + return t; + } + function kr(e, t, r) { + var n; + var i; + if (typeof URL === "function") { + i = new URL(t, document.location.href); + var a = document.location.origin; + n = a === i.origin; + } else { + i = t; + n = s(t, document.location.origin); + } + if (Q.config.selfRequestsOnly) { + if (!n) { + return false; + } + } + return ce(e, "htmx:validateUrl", le({ url: i, sameHost: n }, r)); + } + function he(t, r, n, i, a, e) { + var o = null; + var s = null; + a = a != null ? a : {}; + if (a.returnPromise && typeof Promise !== "undefined") { + var l = new Promise(function (e, t) { + o = e; + s = t; + }); + } + if (n == null) { + n = re().body; + } + var M = a.handler || Mr; + var X = a.select || null; + if (!se(n)) { + ie(o); + return l; + } + var u = a.targetOverride || ye(n); + if (u == null || u == me) { + fe(n, "htmx:targetError", { target: te(n, "hx-target") }); + ie(s); + return l; + } + var f = ae(n); + var c = f.lastButtonClicked; + if (c) { + var h = ee(c, "formaction"); + if (h != null) { + r = h; + } + var v = ee(c, "formmethod"); + if (v != null) { + if (v.toLowerCase() !== "dialog") { + t = v; + } + } + } + var d = ne(n, "hx-confirm"); + if (e === undefined) { + var D = function (e) { + return he(t, r, n, i, a, !!e); + }; + var U = { + target: u, + elt: n, + path: r, + verb: t, + triggeringEvent: i, + etc: a, + issueRequest: D, + question: d, + }; + if (ce(n, "htmx:confirm", U) === false) { + ie(o); + return l; + } + } + var g = n; + var m = ne(n, "hx-sync"); + var p = null; + var x = false; + if (m) { + var B = m.split(":"); + var F = B[0].trim(); + if (F === "this") { + g = xe(n, "hx-sync"); + } else { + g = ue(n, F); + } + m = (B[1] || "drop").trim(); + f = ae(g); + if (m === "drop" && f.xhr && f.abortable !== true) { + ie(o); + return l; + } else if (m === "abort") { + if (f.xhr) { + ie(o); + return l; + } else { + x = true; + } + } else if (m === "replace") { + ce(g, "htmx:abort"); + } else if (m.indexOf("queue") === 0) { + var V = m.split(" "); + p = (V[1] || "last").trim(); + } + } + if (f.xhr) { + if (f.abortable) { + ce(g, "htmx:abort"); + } else { + if (p == null) { + if (i) { + var y = ae(i); + if (y && y.triggerSpec && y.triggerSpec.queue) { + p = y.triggerSpec.queue; + } + } + if (p == null) { + p = "last"; + } + } + if (f.queuedRequests == null) { + f.queuedRequests = []; + } + if (p === "first" && f.queuedRequests.length === 0) { + f.queuedRequests.push(function () { + he(t, r, n, i, a); + }); + } else if (p === "all") { + f.queuedRequests.push(function () { + he(t, r, n, i, a); + }); + } else if (p === "last") { + f.queuedRequests = []; + f.queuedRequests.push(function () { + he(t, r, n, i, a); + }); + } + ie(o); + return l; + } + } + var b = new XMLHttpRequest(); + f.xhr = b; + f.abortable = x; + var w = function () { + f.xhr = null; + f.abortable = false; + if (f.queuedRequests != null && f.queuedRequests.length > 0) { + var e = f.queuedRequests.shift(); + e(); + } + }; + var j = ne(n, "hx-prompt"); + if (j) { + var S = prompt(j); + if (S === null || !ce(n, "htmx:prompt", { prompt: S, target: u })) { + ie(o); + w(); + return l; + } + } + if (d && !e) { + if (!confirm(d)) { + ie(o); + w(); + return l; + } + } + var E = xr(n, u, S); + if (t !== "get" && !Sr(n)) { + E["Content-Type"] = "application/x-www-form-urlencoded"; + } + if (a.headers) { + E = le(E, a.headers); + } + var _ = dr(n, t); + var C = _.errors; + var R = _.values; + if (a.values) { + R = le(R, a.values); + } + var z = Hr(n); + var $ = le(R, z); + var T = yr($, n); + if (Q.config.getCacheBusterParam && t === "get") { + T["org.htmx.cache-buster"] = ee(u, "id") || "true"; + } + if (r == null || r === "") { + r = re().location.href; + } + var O = Rr(n, "hx-request"); + var W = ae(n).boosted; + var q = Q.config.methodsThatUseUrlParams.indexOf(t) >= 0; + var H = { + boosted: W, + useUrlParams: q, + parameters: T, + unfilteredParameters: $, + headers: E, + target: u, + verb: t, + errors: C, + withCredentials: + a.credentials || O.credentials || Q.config.withCredentials, + timeout: a.timeout || O.timeout || Q.config.timeout, + path: r, + triggeringEvent: i, + }; + if (!ce(n, "htmx:configRequest", H)) { + ie(o); + w(); + return l; + } + r = H.path; + t = H.verb; + E = H.headers; + T = H.parameters; + C = H.errors; + q = H.useUrlParams; + if (C && C.length > 0) { + ce(n, "htmx:validation:halted", H); + ie(o); + w(); + return l; + } + var G = r.split("#"); + var J = G[0]; + var L = G[1]; + var A = r; + if (q) { + A = J; + var Z = Object.keys(T).length !== 0; + if (Z) { + if (A.indexOf("?") < 0) { + A += "?"; + } else { + A += "&"; + } + A += mr(T); + if (L) { + A += "#" + L; + } + } + } + if (!kr(n, A, H)) { + fe(n, "htmx:invalidPath", H); + ie(s); + return l; + } + b.open(t.toUpperCase(), A, true); + b.overrideMimeType("text/html"); + b.withCredentials = H.withCredentials; + b.timeout = H.timeout; + if (O.noHeaders) { + } else { + for (var N in E) { + if (E.hasOwnProperty(N)) { + var K = E[N]; + Lr(b, N, K); + } + } + } + var I = { + xhr: b, + target: u, + requestConfig: H, + etc: a, + boosted: W, + select: X, + pathInfo: { requestPath: r, finalRequestPath: A, anchor: L }, + }; + b.onload = function () { + try { + var e = Ir(n); + I.pathInfo.responsePath = Ar(b); + M(n, I); + lr(k, P); + ce(n, "htmx:afterRequest", I); + ce(n, "htmx:afterOnLoad", I); + if (!se(n)) { + var t = null; + while (e.length > 0 && t == null) { + var r = e.shift(); + if (se(r)) { + t = r; + } + } + if (t) { + ce(t, "htmx:afterRequest", I); + ce(t, "htmx:afterOnLoad", I); + } + } + ie(o); + w(); + } catch (e) { + fe(n, "htmx:onLoadError", le({ error: e }, I)); + throw e; + } + }; + b.onerror = function () { + lr(k, P); + fe(n, "htmx:afterRequest", I); + fe(n, "htmx:sendError", I); + ie(s); + w(); + }; + b.onabort = function () { + lr(k, P); + fe(n, "htmx:afterRequest", I); + fe(n, "htmx:sendAbort", I); + ie(s); + w(); + }; + b.ontimeout = function () { + lr(k, P); + fe(n, "htmx:afterRequest", I); + fe(n, "htmx:timeout", I); + ie(s); + w(); + }; + if (!ce(n, "htmx:beforeRequest", I)) { + ie(o); + w(); + return l; + } + var k = or(n); + var P = sr(n); + oe(["loadstart", "loadend", "progress", "abort"], function (t) { + oe([b, b.upload], function (e) { + e.addEventListener(t, function (e) { + ce(n, "htmx:xhr:" + t, { + lengthComputable: e.lengthComputable, + loaded: e.loaded, + total: e.total, + }); + }); + }); + }); + ce(n, "htmx:beforeSend", I); + var Y = q ? null : Er(b, n, T); + b.send(Y); + return l; + } + function Pr(e, t) { + var r = t.xhr; + var n = null; + var i = null; + if (O(r, /HX-Push:/i)) { + n = r.getResponseHeader("HX-Push"); + i = "push"; + } else if (O(r, /HX-Push-Url:/i)) { + n = r.getResponseHeader("HX-Push-Url"); + i = "push"; + } else if (O(r, /HX-Replace-Url:/i)) { + n = r.getResponseHeader("HX-Replace-Url"); + i = "replace"; + } + if (n) { + if (n === "false") { + return {}; + } else { + return { type: i, path: n }; + } + } + var a = t.pathInfo.finalRequestPath; + var o = t.pathInfo.responsePath; + var s = ne(e, "hx-push-url"); + var l = ne(e, "hx-replace-url"); + var u = ae(e).boosted; + var f = null; + var c = null; + if (s) { + f = "push"; + c = s; + } else if (l) { + f = "replace"; + c = l; + } else if (u) { + f = "push"; + c = o || a; + } + if (c) { + if (c === "false") { + return {}; + } + if (c === "true") { + c = o || a; + } + if (t.pathInfo.anchor && c.indexOf("#") === -1) { + c = c + "#" + t.pathInfo.anchor; + } + return { type: f, path: c }; + } else { + return {}; + } + } + function Mr(l, u) { + var f = u.xhr; + var c = u.target; + var e = u.etc; + var t = u.requestConfig; + var h = u.select; + if (!ce(l, "htmx:beforeOnLoad", u)) return; + if (O(f, /HX-Trigger:/i)) { + _e(f, "HX-Trigger", l); + } + if (O(f, /HX-Location:/i)) { + er(); + var r = f.getResponseHeader("HX-Location"); + var v; + if (r.indexOf("{") === 0) { + v = E(r); + r = v["path"]; + delete v["path"]; + } + Nr("GET", r, v).then(function () { + tr(r); + }); + return; + } + var n = + O(f, /HX-Refresh:/i) && "true" === f.getResponseHeader("HX-Refresh"); + if (O(f, /HX-Redirect:/i)) { + location.href = f.getResponseHeader("HX-Redirect"); + n && location.reload(); + return; + } + if (n) { + location.reload(); + return; + } + if (O(f, /HX-Retarget:/i)) { + if (f.getResponseHeader("HX-Retarget") === "this") { + u.target = l; + } else { + u.target = ue(l, f.getResponseHeader("HX-Retarget")); + } + } + var d = Pr(l, u); + var i = f.status >= 200 && f.status < 400 && f.status !== 204; + var g = f.response; + var a = f.status >= 400; + var m = Q.config.ignoreTitle; + var o = le( + { shouldSwap: i, serverResponse: g, isError: a, ignoreTitle: m }, + u, + ); + if (!ce(c, "htmx:beforeSwap", o)) return; + c = o.target; + g = o.serverResponse; + a = o.isError; + m = o.ignoreTitle; + u.target = c; + u.failed = a; + u.successful = !a; + if (o.shouldSwap) { + if (f.status === 286) { + at(l); + } + R(l, function (e) { + g = e.transformResponse(g, f, l); + }); + if (d.type) { + er(); + } + var s = e.swapOverride; + if (O(f, /HX-Reswap:/i)) { + s = f.getResponseHeader("HX-Reswap"); + } + var v = wr(l, s); + if (v.hasOwnProperty("ignoreTitle")) { + m = v.ignoreTitle; + } + c.classList.add(Q.config.swappingClass); + var p = null; + var x = null; + var y = function () { + try { + var e = document.activeElement; + var t = {}; + try { + t = { + elt: e, + start: e ? e.selectionStart : null, + end: e ? e.selectionEnd : null, + }; + } catch (e) {} + var r; + if (h) { + r = h; + } + if (O(f, /HX-Reselect:/i)) { + r = f.getResponseHeader("HX-Reselect"); + } + if (d.type) { + ce(re().body, "htmx:beforeHistoryUpdate", le({ history: d }, u)); + if (d.type === "push") { + tr(d.path); + ce(re().body, "htmx:pushedIntoHistory", { path: d.path }); + } else { + rr(d.path); + ce(re().body, "htmx:replacedInHistory", { path: d.path }); + } + } + var n = T(c); + je(v.swapStyle, c, l, g, n, r); + if (t.elt && !se(t.elt) && ee(t.elt, "id")) { + var i = document.getElementById(ee(t.elt, "id")); + var a = { + preventScroll: + v.focusScroll !== undefined + ? !v.focusScroll + : !Q.config.defaultFocusScroll, + }; + if (i) { + if (t.start && i.setSelectionRange) { + try { + i.setSelectionRange(t.start, t.end); + } catch (e) {} + } + i.focus(a); + } + } + c.classList.remove(Q.config.swappingClass); + oe(n.elts, function (e) { + if (e.classList) { + e.classList.add(Q.config.settlingClass); + } + ce(e, "htmx:afterSwap", u); + }); + if (O(f, /HX-Trigger-After-Swap:/i)) { + var o = l; + if (!se(l)) { + o = re().body; + } + _e(f, "HX-Trigger-After-Swap", o); + } + var s = function () { + oe(n.tasks, function (e) { + e.call(); + }); + oe(n.elts, function (e) { + if (e.classList) { + e.classList.remove(Q.config.settlingClass); + } + ce(e, "htmx:afterSettle", u); + }); + if (u.pathInfo.anchor) { + var e = re().getElementById(u.pathInfo.anchor); + if (e) { + e.scrollIntoView({ block: "start", behavior: "auto" }); + } + } + if (n.title && !m) { + var t = C("title"); + if (t) { + t.innerHTML = n.title; + } else { + window.document.title = n.title; + } + } + Cr(n.elts, v); + if (O(f, /HX-Trigger-After-Settle:/i)) { + var r = l; + if (!se(l)) { + r = re().body; + } + _e(f, "HX-Trigger-After-Settle", r); + } + ie(p); + }; + if (v.settleDelay > 0) { + setTimeout(s, v.settleDelay); + } else { + s(); + } + } catch (e) { + fe(l, "htmx:swapError", u); + ie(x); + throw e; + } + }; + var b = Q.config.globalViewTransitions; + if (v.hasOwnProperty("transition")) { + b = v.transition; + } + if ( + b && + ce(l, "htmx:beforeTransition", u) && + typeof Promise !== "undefined" && + document.startViewTransition + ) { + var w = new Promise(function (e, t) { + p = e; + x = t; + }); + var S = y; + y = function () { + document.startViewTransition(function () { + S(); + return w; + }); + }; + } + if (v.swapDelay > 0) { + setTimeout(y, v.swapDelay); + } else { + y(); + } + } + if (a) { + fe( + l, + "htmx:responseError", + le( + { + error: + "Response Status Error Code " + + f.status + + " from " + + u.pathInfo.requestPath, + }, + u, + ), + ); + } + } + var Xr = {}; + function Dr() { + return { + init: function (e) { + return null; + }, + onEvent: function (e, t) { + return true; + }, + transformResponse: function (e, t, r) { + return e; + }, + isInlineSwap: function (e) { + return false; + }, + handleSwap: function (e, t, r, n) { + return false; + }, + encodeParameters: function (e, t, r) { + return null; + }, + }; + } + function Ur(e, t) { + if (t.init) { + t.init(r); + } + Xr[e] = le(Dr(), t); + } + function Br(e) { + delete Xr[e]; + } + function Fr(e, r, n) { + if (e == undefined) { + return r; + } + if (r == undefined) { + r = []; + } + if (n == undefined) { + n = []; + } + var t = te(e, "hx-ext"); + if (t) { + oe(t.split(","), function (e) { + e = e.replace(/ /g, ""); + if (e.slice(0, 7) == "ignore:") { + n.push(e.slice(7)); + return; + } + if (n.indexOf(e) < 0) { + var t = Xr[e]; + if (t && r.indexOf(t) < 0) { + r.push(t); + } + } + }); + } + return Fr(u(e), r, n); + } + var Vr = false; + re().addEventListener("DOMContentLoaded", function () { + Vr = true; + }); + function jr(e) { + if (Vr || re().readyState === "complete") { + e(); + } else { + re().addEventListener("DOMContentLoaded", e); + } + } + function _r() { + if (Q.config.includeIndicatorStyles !== false) { + re().head.insertAdjacentHTML( + "beforeend", + "", + ); + } + } + function zr() { + var e = re().querySelector('meta[name="htmx-config"]'); + if (e) { + return E(e.content); + } else { + return null; + } + } + function $r() { + var e = zr(); + if (e) { + Q.config = le(Q.config, e); + } + } + jr(function () { + $r(); + _r(); + var e = re().body; + zt(e); + var t = re().querySelectorAll( + "[hx-trigger='restored'],[data-hx-trigger='restored']", + ); + e.addEventListener("htmx:abort", function (e) { + var t = e.target; + var r = ae(t); + if (r && r.xhr) { + r.xhr.abort(); + } + }); + const r = window.onpopstate ? window.onpopstate.bind(window) : null; + window.onpopstate = function (e) { + if (e.state && e.state.htmx) { + ar(); + oe(t, function (e) { + ce(e, "htmx:restored", { document: re(), triggerEvent: ce }); + }); + } else { + if (r) { + r(e); + } + } + }; + setTimeout(function () { + ce(e, "htmx:load", {}); + e = null; + }, 0); + }); + return Q; + })(); +}); diff --git a/public/js/tailwind.js b/public/js/tailwind.js new file mode 100644 index 0000000..4cfd73f --- /dev/null +++ b/public/js/tailwind.js @@ -0,0 +1,21625 @@ +(() => { + var xb = Object.create; + var li = Object.defineProperty; + var kb = Object.getOwnPropertyDescriptor; + var Sb = Object.getOwnPropertyNames; + var Cb = Object.getPrototypeOf, + Ab = Object.prototype.hasOwnProperty; + var uu = (i) => li(i, "__esModule", { value: !0 }); + var fu = (i) => { + if (typeof require != "undefined") return require(i); + throw new Error('Dynamic require of "' + i + '" is not supported'); + }; + var C = (i, e) => () => (i && (e = i((i = 0))), e); + var v = (i, e) => () => (e || i((e = { exports: {} }).exports, e), e.exports), + Ae = (i, e) => { + uu(i); + for (var t in e) li(i, t, { get: e[t], enumerable: !0 }); + }, + _b = (i, e, t) => { + if ((e && typeof e == "object") || typeof e == "function") + for (let r of Sb(e)) + !Ab.call(i, r) && + r !== "default" && + li(i, r, { + get: () => e[r], + enumerable: !(t = kb(e, r)) || t.enumerable, + }); + return i; + }, + K = (i) => + _b( + uu( + li( + i != null ? xb(Cb(i)) : {}, + "default", + i && i.__esModule && "default" in i + ? { get: () => i.default, enumerable: !0 } + : { value: i, enumerable: !0 }, + ), + ), + i, + ); + var h, + l = C(() => { + h = { platform: "", env: {}, versions: { node: "14.17.6" } }; + }); + var Ob, + re, + je = C(() => { + l(); + (Ob = 0), + (re = { + readFileSync: (i) => self[i] || "", + statSync: () => ({ mtimeMs: Ob++ }), + promises: { readFile: (i) => Promise.resolve(self[i] || "") }, + }); + }); + var Qn = v((XO, pu) => { + l(); + ("use strict"); + var cu = class { + constructor(e = {}) { + if (!(e.maxSize && e.maxSize > 0)) + throw new TypeError("`maxSize` must be a number greater than 0"); + if (typeof e.maxAge == "number" && e.maxAge === 0) + throw new TypeError("`maxAge` must be a number greater than 0"); + (this.maxSize = e.maxSize), + (this.maxAge = e.maxAge || 1 / 0), + (this.onEviction = e.onEviction), + (this.cache = new Map()), + (this.oldCache = new Map()), + (this._size = 0); + } + _emitEvictions(e) { + if (typeof this.onEviction == "function") + for (let [t, r] of e) this.onEviction(t, r.value); + } + _deleteIfExpired(e, t) { + return typeof t.expiry == "number" && t.expiry <= Date.now() + ? (typeof this.onEviction == "function" && + this.onEviction(e, t.value), + this.delete(e)) + : !1; + } + _getOrDeleteIfExpired(e, t) { + if (this._deleteIfExpired(e, t) === !1) return t.value; + } + _getItemValue(e, t) { + return t.expiry ? this._getOrDeleteIfExpired(e, t) : t.value; + } + _peek(e, t) { + let r = t.get(e); + return this._getItemValue(e, r); + } + _set(e, t) { + this.cache.set(e, t), + this._size++, + this._size >= this.maxSize && + ((this._size = 0), + this._emitEvictions(this.oldCache), + (this.oldCache = this.cache), + (this.cache = new Map())); + } + _moveToRecent(e, t) { + this.oldCache.delete(e), this._set(e, t); + } + *_entriesAscending() { + for (let e of this.oldCache) { + let [t, r] = e; + this.cache.has(t) || + (this._deleteIfExpired(t, r) === !1 && (yield e)); + } + for (let e of this.cache) { + let [t, r] = e; + this._deleteIfExpired(t, r) === !1 && (yield e); + } + } + get(e) { + if (this.cache.has(e)) { + let t = this.cache.get(e); + return this._getItemValue(e, t); + } + if (this.oldCache.has(e)) { + let t = this.oldCache.get(e); + if (this._deleteIfExpired(e, t) === !1) + return this._moveToRecent(e, t), t.value; + } + } + set( + e, + t, + { + maxAge: r = this.maxAge === 1 / 0 ? void 0 : Date.now() + this.maxAge, + } = {}, + ) { + this.cache.has(e) + ? this.cache.set(e, { value: t, maxAge: r }) + : this._set(e, { value: t, expiry: r }); + } + has(e) { + return this.cache.has(e) + ? !this._deleteIfExpired(e, this.cache.get(e)) + : this.oldCache.has(e) + ? !this._deleteIfExpired(e, this.oldCache.get(e)) + : !1; + } + peek(e) { + if (this.cache.has(e)) return this._peek(e, this.cache); + if (this.oldCache.has(e)) return this._peek(e, this.oldCache); + } + delete(e) { + let t = this.cache.delete(e); + return t && this._size--, this.oldCache.delete(e) || t; + } + clear() { + this.cache.clear(), this.oldCache.clear(), (this._size = 0); + } + resize(e) { + if (!(e && e > 0)) + throw new TypeError("`maxSize` must be a number greater than 0"); + let t = [...this._entriesAscending()], + r = t.length - e; + r < 0 + ? ((this.cache = new Map(t)), + (this.oldCache = new Map()), + (this._size = t.length)) + : (r > 0 && this._emitEvictions(t.slice(0, r)), + (this.oldCache = new Map(t.slice(r))), + (this.cache = new Map()), + (this._size = 0)), + (this.maxSize = e); + } + *keys() { + for (let [e] of this) yield e; + } + *values() { + for (let [, e] of this) yield e; + } + *[Symbol.iterator]() { + for (let e of this.cache) { + let [t, r] = e; + this._deleteIfExpired(t, r) === !1 && (yield [t, r.value]); + } + for (let e of this.oldCache) { + let [t, r] = e; + this.cache.has(t) || + (this._deleteIfExpired(t, r) === !1 && (yield [t, r.value])); + } + } + *entriesDescending() { + let e = [...this.cache]; + for (let t = e.length - 1; t >= 0; --t) { + let r = e[t], + [n, a] = r; + this._deleteIfExpired(n, a) === !1 && (yield [n, a.value]); + } + e = [...this.oldCache]; + for (let t = e.length - 1; t >= 0; --t) { + let r = e[t], + [n, a] = r; + this.cache.has(n) || + (this._deleteIfExpired(n, a) === !1 && (yield [n, a.value])); + } + } + *entriesAscending() { + for (let [e, t] of this._entriesAscending()) yield [e, t.value]; + } + get size() { + if (!this._size) return this.oldCache.size; + let e = 0; + for (let t of this.oldCache.keys()) this.cache.has(t) || e++; + return Math.min(this._size + e, this.maxSize); + } + }; + pu.exports = cu; + }); + var du, + hu = C(() => { + l(); + du = (i) => i && i._hash; + }); + function ui(i) { + return du(i, { ignoreUnknown: !0 }); + } + var mu = C(() => { + l(); + hu(); + }); + function Xe(i) { + if (((i = `${i}`), i === "0")) return "0"; + if (/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(i)) + return i.replace(/^[+-]?/, (t) => (t === "-" ? "" : "-")); + let e = ["var", "calc", "min", "max", "clamp"]; + for (let t of e) if (i.includes(`${t}(`)) return `calc(${i} * -1)`; + } + var fi = C(() => { + l(); + }); + var gu, + yu = C(() => { + l(); + gu = [ + "preflight", + "container", + "accessibility", + "pointerEvents", + "visibility", + "position", + "inset", + "isolation", + "zIndex", + "order", + "gridColumn", + "gridColumnStart", + "gridColumnEnd", + "gridRow", + "gridRowStart", + "gridRowEnd", + "float", + "clear", + "margin", + "boxSizing", + "lineClamp", + "display", + "aspectRatio", + "size", + "height", + "maxHeight", + "minHeight", + "width", + "minWidth", + "maxWidth", + "flex", + "flexShrink", + "flexGrow", + "flexBasis", + "tableLayout", + "captionSide", + "borderCollapse", + "borderSpacing", + "transformOrigin", + "translate", + "rotate", + "skew", + "scale", + "transform", + "animation", + "cursor", + "touchAction", + "userSelect", + "resize", + "scrollSnapType", + "scrollSnapAlign", + "scrollSnapStop", + "scrollMargin", + "scrollPadding", + "listStylePosition", + "listStyleType", + "listStyleImage", + "appearance", + "columns", + "breakBefore", + "breakInside", + "breakAfter", + "gridAutoColumns", + "gridAutoFlow", + "gridAutoRows", + "gridTemplateColumns", + "gridTemplateRows", + "flexDirection", + "flexWrap", + "placeContent", + "placeItems", + "alignContent", + "alignItems", + "justifyContent", + "justifyItems", + "gap", + "space", + "divideWidth", + "divideStyle", + "divideColor", + "divideOpacity", + "placeSelf", + "alignSelf", + "justifySelf", + "overflow", + "overscrollBehavior", + "scrollBehavior", + "textOverflow", + "hyphens", + "whitespace", + "textWrap", + "wordBreak", + "borderRadius", + "borderWidth", + "borderStyle", + "borderColor", + "borderOpacity", + "backgroundColor", + "backgroundOpacity", + "backgroundImage", + "gradientColorStops", + "boxDecorationBreak", + "backgroundSize", + "backgroundAttachment", + "backgroundClip", + "backgroundPosition", + "backgroundRepeat", + "backgroundOrigin", + "fill", + "stroke", + "strokeWidth", + "objectFit", + "objectPosition", + "padding", + "textAlign", + "textIndent", + "verticalAlign", + "fontFamily", + "fontSize", + "fontWeight", + "textTransform", + "fontStyle", + "fontVariantNumeric", + "lineHeight", + "letterSpacing", + "textColor", + "textOpacity", + "textDecoration", + "textDecorationColor", + "textDecorationStyle", + "textDecorationThickness", + "textUnderlineOffset", + "fontSmoothing", + "placeholderColor", + "placeholderOpacity", + "caretColor", + "accentColor", + "opacity", + "backgroundBlendMode", + "mixBlendMode", + "boxShadow", + "boxShadowColor", + "outlineStyle", + "outlineWidth", + "outlineOffset", + "outlineColor", + "ringWidth", + "ringColor", + "ringOpacity", + "ringOffsetWidth", + "ringOffsetColor", + "blur", + "brightness", + "contrast", + "dropShadow", + "grayscale", + "hueRotate", + "invert", + "saturate", + "sepia", + "filter", + "backdropBlur", + "backdropBrightness", + "backdropContrast", + "backdropGrayscale", + "backdropHueRotate", + "backdropInvert", + "backdropOpacity", + "backdropSaturate", + "backdropSepia", + "backdropFilter", + "transitionProperty", + "transitionDelay", + "transitionDuration", + "transitionTimingFunction", + "willChange", + "content", + "forcedColorAdjust", + ]; + }); + function wu(i, e) { + return i === void 0 + ? e + : Array.isArray(i) + ? i + : [ + ...new Set( + e + .filter((r) => i !== !1 && i[r] !== !1) + .concat(Object.keys(i).filter((r) => i[r] !== !1)), + ), + ]; + } + var bu = C(() => { + l(); + }); + var vu = {}; + Ae(vu, { default: () => _e }); + var _e, + ci = C(() => { + l(); + _e = new Proxy({}, { get: () => String }); + }); + function Jn(i, e, t) { + (typeof h != "undefined" && h.env.JEST_WORKER_ID) || + (t && xu.has(t)) || + (t && xu.add(t), + console.warn(""), + e.forEach((r) => console.warn(i, "-", r))); + } + function Xn(i) { + return _e.dim(i); + } + var xu, + F, + Oe = C(() => { + l(); + ci(); + xu = new Set(); + F = { + info(i, e) { + Jn(_e.bold(_e.cyan("info")), ...(Array.isArray(i) ? [i] : [e, i])); + }, + warn(i, e) { + ["content-problems"].includes(i) || + Jn( + _e.bold(_e.yellow("warn")), + ...(Array.isArray(i) ? [i] : [e, i]), + ); + }, + risk(i, e) { + Jn(_e.bold(_e.magenta("risk")), ...(Array.isArray(i) ? [i] : [e, i])); + }, + }; + }); + var ku = {}; + Ae(ku, { default: () => Kn }); + function sr({ version: i, from: e, to: t }) { + F.warn(`${e}-color-renamed`, [ + `As of Tailwind CSS ${i}, \`${e}\` has been renamed to \`${t}\`.`, + "Update your configuration file to silence this warning.", + ]); + } + var Kn, + Zn = C(() => { + l(); + Oe(); + Kn = { + inherit: "inherit", + current: "currentColor", + transparent: "transparent", + black: "#000", + white: "#fff", + slate: { + 50: "#f8fafc", + 100: "#f1f5f9", + 200: "#e2e8f0", + 300: "#cbd5e1", + 400: "#94a3b8", + 500: "#64748b", + 600: "#475569", + 700: "#334155", + 800: "#1e293b", + 900: "#0f172a", + 950: "#020617", + }, + gray: { + 50: "#f9fafb", + 100: "#f3f4f6", + 200: "#e5e7eb", + 300: "#d1d5db", + 400: "#9ca3af", + 500: "#6b7280", + 600: "#4b5563", + 700: "#374151", + 800: "#1f2937", + 900: "#111827", + 950: "#030712", + }, + zinc: { + 50: "#fafafa", + 100: "#f4f4f5", + 200: "#e4e4e7", + 300: "#d4d4d8", + 400: "#a1a1aa", + 500: "#71717a", + 600: "#52525b", + 700: "#3f3f46", + 800: "#27272a", + 900: "#18181b", + 950: "#09090b", + }, + neutral: { + 50: "#fafafa", + 100: "#f5f5f5", + 200: "#e5e5e5", + 300: "#d4d4d4", + 400: "#a3a3a3", + 500: "#737373", + 600: "#525252", + 700: "#404040", + 800: "#262626", + 900: "#171717", + 950: "#0a0a0a", + }, + stone: { + 50: "#fafaf9", + 100: "#f5f5f4", + 200: "#e7e5e4", + 300: "#d6d3d1", + 400: "#a8a29e", + 500: "#78716c", + 600: "#57534e", + 700: "#44403c", + 800: "#292524", + 900: "#1c1917", + 950: "#0c0a09", + }, + red: { + 50: "#fef2f2", + 100: "#fee2e2", + 200: "#fecaca", + 300: "#fca5a5", + 400: "#f87171", + 500: "#ef4444", + 600: "#dc2626", + 700: "#b91c1c", + 800: "#991b1b", + 900: "#7f1d1d", + 950: "#450a0a", + }, + orange: { + 50: "#fff7ed", + 100: "#ffedd5", + 200: "#fed7aa", + 300: "#fdba74", + 400: "#fb923c", + 500: "#f97316", + 600: "#ea580c", + 700: "#c2410c", + 800: "#9a3412", + 900: "#7c2d12", + 950: "#431407", + }, + amber: { + 50: "#fffbeb", + 100: "#fef3c7", + 200: "#fde68a", + 300: "#fcd34d", + 400: "#fbbf24", + 500: "#f59e0b", + 600: "#d97706", + 700: "#b45309", + 800: "#92400e", + 900: "#78350f", + 950: "#451a03", + }, + yellow: { + 50: "#fefce8", + 100: "#fef9c3", + 200: "#fef08a", + 300: "#fde047", + 400: "#facc15", + 500: "#eab308", + 600: "#ca8a04", + 700: "#a16207", + 800: "#854d0e", + 900: "#713f12", + 950: "#422006", + }, + lime: { + 50: "#f7fee7", + 100: "#ecfccb", + 200: "#d9f99d", + 300: "#bef264", + 400: "#a3e635", + 500: "#84cc16", + 600: "#65a30d", + 700: "#4d7c0f", + 800: "#3f6212", + 900: "#365314", + 950: "#1a2e05", + }, + green: { + 50: "#f0fdf4", + 100: "#dcfce7", + 200: "#bbf7d0", + 300: "#86efac", + 400: "#4ade80", + 500: "#22c55e", + 600: "#16a34a", + 700: "#15803d", + 800: "#166534", + 900: "#14532d", + 950: "#052e16", + }, + emerald: { + 50: "#ecfdf5", + 100: "#d1fae5", + 200: "#a7f3d0", + 300: "#6ee7b7", + 400: "#34d399", + 500: "#10b981", + 600: "#059669", + 700: "#047857", + 800: "#065f46", + 900: "#064e3b", + 950: "#022c22", + }, + teal: { + 50: "#f0fdfa", + 100: "#ccfbf1", + 200: "#99f6e4", + 300: "#5eead4", + 400: "#2dd4bf", + 500: "#14b8a6", + 600: "#0d9488", + 700: "#0f766e", + 800: "#115e59", + 900: "#134e4a", + 950: "#042f2e", + }, + cyan: { + 50: "#ecfeff", + 100: "#cffafe", + 200: "#a5f3fc", + 300: "#67e8f9", + 400: "#22d3ee", + 500: "#06b6d4", + 600: "#0891b2", + 700: "#0e7490", + 800: "#155e75", + 900: "#164e63", + 950: "#083344", + }, + sky: { + 50: "#f0f9ff", + 100: "#e0f2fe", + 200: "#bae6fd", + 300: "#7dd3fc", + 400: "#38bdf8", + 500: "#0ea5e9", + 600: "#0284c7", + 700: "#0369a1", + 800: "#075985", + 900: "#0c4a6e", + 950: "#082f49", + }, + blue: { + 50: "#eff6ff", + 100: "#dbeafe", + 200: "#bfdbfe", + 300: "#93c5fd", + 400: "#60a5fa", + 500: "#3b82f6", + 600: "#2563eb", + 700: "#1d4ed8", + 800: "#1e40af", + 900: "#1e3a8a", + 950: "#172554", + }, + indigo: { + 50: "#eef2ff", + 100: "#e0e7ff", + 200: "#c7d2fe", + 300: "#a5b4fc", + 400: "#818cf8", + 500: "#6366f1", + 600: "#4f46e5", + 700: "#4338ca", + 800: "#3730a3", + 900: "#312e81", + 950: "#1e1b4b", + }, + violet: { + 50: "#f5f3ff", + 100: "#ede9fe", + 200: "#ddd6fe", + 300: "#c4b5fd", + 400: "#a78bfa", + 500: "#8b5cf6", + 600: "#7c3aed", + 700: "#6d28d9", + 800: "#5b21b6", + 900: "#4c1d95", + 950: "#2e1065", + }, + purple: { + 50: "#faf5ff", + 100: "#f3e8ff", + 200: "#e9d5ff", + 300: "#d8b4fe", + 400: "#c084fc", + 500: "#a855f7", + 600: "#9333ea", + 700: "#7e22ce", + 800: "#6b21a8", + 900: "#581c87", + 950: "#3b0764", + }, + fuchsia: { + 50: "#fdf4ff", + 100: "#fae8ff", + 200: "#f5d0fe", + 300: "#f0abfc", + 400: "#e879f9", + 500: "#d946ef", + 600: "#c026d3", + 700: "#a21caf", + 800: "#86198f", + 900: "#701a75", + 950: "#4a044e", + }, + pink: { + 50: "#fdf2f8", + 100: "#fce7f3", + 200: "#fbcfe8", + 300: "#f9a8d4", + 400: "#f472b6", + 500: "#ec4899", + 600: "#db2777", + 700: "#be185d", + 800: "#9d174d", + 900: "#831843", + 950: "#500724", + }, + rose: { + 50: "#fff1f2", + 100: "#ffe4e6", + 200: "#fecdd3", + 300: "#fda4af", + 400: "#fb7185", + 500: "#f43f5e", + 600: "#e11d48", + 700: "#be123c", + 800: "#9f1239", + 900: "#881337", + 950: "#4c0519", + }, + get lightBlue() { + return ( + sr({ version: "v2.2", from: "lightBlue", to: "sky" }), this.sky + ); + }, + get warmGray() { + return ( + sr({ version: "v3.0", from: "warmGray", to: "stone" }), this.stone + ); + }, + get trueGray() { + return ( + sr({ version: "v3.0", from: "trueGray", to: "neutral" }), + this.neutral + ); + }, + get coolGray() { + return ( + sr({ version: "v3.0", from: "coolGray", to: "gray" }), this.gray + ); + }, + get blueGray() { + return ( + sr({ version: "v3.0", from: "blueGray", to: "slate" }), this.slate + ); + }, + }; + }); + function es(i, ...e) { + for (let t of e) { + for (let r in t) i?.hasOwnProperty?.(r) || (i[r] = t[r]); + for (let r of Object.getOwnPropertySymbols(t)) + i?.hasOwnProperty?.(r) || (i[r] = t[r]); + } + return i; + } + var Su = C(() => { + l(); + }); + function Ke(i) { + if (Array.isArray(i)) return i; + let e = i.split("[").length - 1, + t = i.split("]").length - 1; + if (e !== t) + throw new Error(`Path is invalid. Has unbalanced brackets: ${i}`); + return i.split(/\.(?![^\[]*\])|[\[\]]/g).filter(Boolean); + } + var pi = C(() => { + l(); + }); + function Z(i, e) { + return di.future.includes(e) + ? i.future === "all" || (i?.future?.[e] ?? Cu[e] ?? !1) + : di.experimental.includes(e) + ? i.experimental === "all" || (i?.experimental?.[e] ?? Cu[e] ?? !1) + : !1; + } + function Au(i) { + return i.experimental === "all" + ? di.experimental + : Object.keys(i?.experimental ?? {}).filter( + (e) => di.experimental.includes(e) && i.experimental[e], + ); + } + function _u(i) { + if (h.env.JEST_WORKER_ID === void 0 && Au(i).length > 0) { + let e = Au(i) + .map((t) => _e.yellow(t)) + .join(", "); + F.warn("experimental-flags-enabled", [ + `You have enabled experimental features: ${e}`, + "Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time.", + ]); + } + } + var Cu, + di, + ze = C(() => { + l(); + ci(); + Oe(); + (Cu = { + optimizeUniversalDefaults: !1, + generalizedModifiers: !0, + get disableColorOpacityUtilitiesByDefault() { + return !1; + }, + get relativeContentPathsByDefault() { + return !1; + }, + }), + (di = { + future: [ + "hoverOnlyWhenSupported", + "respectDefaultRingColorOpacity", + "disableColorOpacityUtilitiesByDefault", + "relativeContentPathsByDefault", + ], + experimental: ["optimizeUniversalDefaults", "generalizedModifiers"], + }); + }); + function Ou(i) { + (() => { + if ( + i.purge || + !i.content || + (!Array.isArray(i.content) && + !(typeof i.content == "object" && i.content !== null)) + ) + return !1; + if (Array.isArray(i.content)) + return i.content.every((t) => + typeof t == "string" + ? !0 + : !( + typeof t?.raw != "string" || + (t?.extension && typeof t?.extension != "string") + ), + ); + if (typeof i.content == "object" && i.content !== null) { + if ( + Object.keys(i.content).some( + (t) => !["files", "relative", "extract", "transform"].includes(t), + ) + ) + return !1; + if (Array.isArray(i.content.files)) { + if ( + !i.content.files.every((t) => + typeof t == "string" + ? !0 + : !( + typeof t?.raw != "string" || + (t?.extension && typeof t?.extension != "string") + ), + ) + ) + return !1; + if (typeof i.content.extract == "object") { + for (let t of Object.values(i.content.extract)) + if (typeof t != "function") return !1; + } else if ( + !( + i.content.extract === void 0 || + typeof i.content.extract == "function" + ) + ) + return !1; + if (typeof i.content.transform == "object") { + for (let t of Object.values(i.content.transform)) + if (typeof t != "function") return !1; + } else if ( + !( + i.content.transform === void 0 || + typeof i.content.transform == "function" + ) + ) + return !1; + if ( + typeof i.content.relative != "boolean" && + typeof i.content.relative != "undefined" + ) + return !1; + } + return !0; + } + return !1; + })() || + F.warn("purge-deprecation", [ + "The `purge`/`content` options have changed in Tailwind CSS v3.0.", + "Update your configuration file to eliminate this warning.", + "https://tailwindcss.com/docs/upgrade-guide#configure-content-sources", + ]), + (i.safelist = (() => { + let { content: t, purge: r, safelist: n } = i; + return Array.isArray(n) + ? n + : Array.isArray(t?.safelist) + ? t.safelist + : Array.isArray(r?.safelist) + ? r.safelist + : Array.isArray(r?.options?.safelist) + ? r.options.safelist + : []; + })()), + (i.blocklist = (() => { + let { blocklist: t } = i; + if (Array.isArray(t)) { + if (t.every((r) => typeof r == "string")) return t; + F.warn("blocklist-invalid", [ + "The `blocklist` option must be an array of strings.", + "https://tailwindcss.com/docs/content-configuration#discarding-classes", + ]); + } + return []; + })()), + typeof i.prefix == "function" + ? (F.warn("prefix-function", [ + "As of Tailwind CSS v3.0, `prefix` cannot be a function.", + "Update `prefix` in your configuration to be a string to eliminate this warning.", + "https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function", + ]), + (i.prefix = "")) + : (i.prefix = i.prefix ?? ""), + (i.content = { + relative: (() => { + let { content: t } = i; + return t?.relative + ? t.relative + : Z(i, "relativeContentPathsByDefault"); + })(), + files: (() => { + let { content: t, purge: r } = i; + return Array.isArray(r) + ? r + : Array.isArray(r?.content) + ? r.content + : Array.isArray(t) + ? t + : Array.isArray(t?.content) + ? t.content + : Array.isArray(t?.files) + ? t.files + : []; + })(), + extract: (() => { + let t = (() => + i.purge?.extract + ? i.purge.extract + : i.content?.extract + ? i.content.extract + : i.purge?.extract?.DEFAULT + ? i.purge.extract.DEFAULT + : i.content?.extract?.DEFAULT + ? i.content.extract.DEFAULT + : i.purge?.options?.extractors + ? i.purge.options.extractors + : i.content?.options?.extractors + ? i.content.options.extractors + : {})(), + r = {}, + n = (() => { + if (i.purge?.options?.defaultExtractor) + return i.purge.options.defaultExtractor; + if (i.content?.options?.defaultExtractor) + return i.content.options.defaultExtractor; + })(); + if ((n !== void 0 && (r.DEFAULT = n), typeof t == "function")) + r.DEFAULT = t; + else if (Array.isArray(t)) + for (let { extensions: a, extractor: s } of t ?? []) + for (let o of a) r[o] = s; + else typeof t == "object" && t !== null && Object.assign(r, t); + return r; + })(), + transform: (() => { + let t = (() => + i.purge?.transform + ? i.purge.transform + : i.content?.transform + ? i.content.transform + : i.purge?.transform?.DEFAULT + ? i.purge.transform.DEFAULT + : i.content?.transform?.DEFAULT + ? i.content.transform.DEFAULT + : {})(), + r = {}; + return ( + typeof t == "function" && (r.DEFAULT = t), + typeof t == "object" && t !== null && Object.assign(r, t), + r + ); + })(), + }); + for (let t of i.content.files) + if (typeof t == "string" && /{([^,]*?)}/g.test(t)) { + F.warn("invalid-glob-braces", [ + `The glob pattern ${Xn(t)} in your Tailwind CSS configuration is invalid.`, + `Update it to ${Xn(t.replace(/{([^,]*?)}/g, "$1"))} to silence this warning.`, + ]); + break; + } + return i; + } + var Eu = C(() => { + l(); + ze(); + Oe(); + }); + function ne(i) { + if (Object.prototype.toString.call(i) !== "[object Object]") return !1; + let e = Object.getPrototypeOf(i); + return e === null || Object.getPrototypeOf(e) === null; + } + var kt = C(() => { + l(); + }); + function Ze(i) { + return Array.isArray(i) + ? i.map((e) => Ze(e)) + : typeof i == "object" && i !== null + ? Object.fromEntries(Object.entries(i).map(([e, t]) => [e, Ze(t)])) + : i; + } + var hi = C(() => { + l(); + }); + function mt(i) { + return i.replace(/\\,/g, "\\2c "); + } + var mi = C(() => { + l(); + }); + var ts, + Tu = C(() => { + l(); + ts = { + aliceblue: [240, 248, 255], + antiquewhite: [250, 235, 215], + aqua: [0, 255, 255], + aquamarine: [127, 255, 212], + azure: [240, 255, 255], + beige: [245, 245, 220], + bisque: [255, 228, 196], + black: [0, 0, 0], + blanchedalmond: [255, 235, 205], + blue: [0, 0, 255], + blueviolet: [138, 43, 226], + brown: [165, 42, 42], + burlywood: [222, 184, 135], + cadetblue: [95, 158, 160], + chartreuse: [127, 255, 0], + chocolate: [210, 105, 30], + coral: [255, 127, 80], + cornflowerblue: [100, 149, 237], + cornsilk: [255, 248, 220], + crimson: [220, 20, 60], + cyan: [0, 255, 255], + darkblue: [0, 0, 139], + darkcyan: [0, 139, 139], + darkgoldenrod: [184, 134, 11], + darkgray: [169, 169, 169], + darkgreen: [0, 100, 0], + darkgrey: [169, 169, 169], + darkkhaki: [189, 183, 107], + darkmagenta: [139, 0, 139], + darkolivegreen: [85, 107, 47], + darkorange: [255, 140, 0], + darkorchid: [153, 50, 204], + darkred: [139, 0, 0], + darksalmon: [233, 150, 122], + darkseagreen: [143, 188, 143], + darkslateblue: [72, 61, 139], + darkslategray: [47, 79, 79], + darkslategrey: [47, 79, 79], + darkturquoise: [0, 206, 209], + darkviolet: [148, 0, 211], + deeppink: [255, 20, 147], + deepskyblue: [0, 191, 255], + dimgray: [105, 105, 105], + dimgrey: [105, 105, 105], + dodgerblue: [30, 144, 255], + firebrick: [178, 34, 34], + floralwhite: [255, 250, 240], + forestgreen: [34, 139, 34], + fuchsia: [255, 0, 255], + gainsboro: [220, 220, 220], + ghostwhite: [248, 248, 255], + gold: [255, 215, 0], + goldenrod: [218, 165, 32], + gray: [128, 128, 128], + green: [0, 128, 0], + greenyellow: [173, 255, 47], + grey: [128, 128, 128], + honeydew: [240, 255, 240], + hotpink: [255, 105, 180], + indianred: [205, 92, 92], + indigo: [75, 0, 130], + ivory: [255, 255, 240], + khaki: [240, 230, 140], + lavender: [230, 230, 250], + lavenderblush: [255, 240, 245], + lawngreen: [124, 252, 0], + lemonchiffon: [255, 250, 205], + lightblue: [173, 216, 230], + lightcoral: [240, 128, 128], + lightcyan: [224, 255, 255], + lightgoldenrodyellow: [250, 250, 210], + lightgray: [211, 211, 211], + lightgreen: [144, 238, 144], + lightgrey: [211, 211, 211], + lightpink: [255, 182, 193], + lightsalmon: [255, 160, 122], + lightseagreen: [32, 178, 170], + lightskyblue: [135, 206, 250], + lightslategray: [119, 136, 153], + lightslategrey: [119, 136, 153], + lightsteelblue: [176, 196, 222], + lightyellow: [255, 255, 224], + lime: [0, 255, 0], + limegreen: [50, 205, 50], + linen: [250, 240, 230], + magenta: [255, 0, 255], + maroon: [128, 0, 0], + mediumaquamarine: [102, 205, 170], + mediumblue: [0, 0, 205], + mediumorchid: [186, 85, 211], + mediumpurple: [147, 112, 219], + mediumseagreen: [60, 179, 113], + mediumslateblue: [123, 104, 238], + mediumspringgreen: [0, 250, 154], + mediumturquoise: [72, 209, 204], + mediumvioletred: [199, 21, 133], + midnightblue: [25, 25, 112], + mintcream: [245, 255, 250], + mistyrose: [255, 228, 225], + moccasin: [255, 228, 181], + navajowhite: [255, 222, 173], + navy: [0, 0, 128], + oldlace: [253, 245, 230], + olive: [128, 128, 0], + olivedrab: [107, 142, 35], + orange: [255, 165, 0], + orangered: [255, 69, 0], + orchid: [218, 112, 214], + palegoldenrod: [238, 232, 170], + palegreen: [152, 251, 152], + paleturquoise: [175, 238, 238], + palevioletred: [219, 112, 147], + papayawhip: [255, 239, 213], + peachpuff: [255, 218, 185], + peru: [205, 133, 63], + pink: [255, 192, 203], + plum: [221, 160, 221], + powderblue: [176, 224, 230], + purple: [128, 0, 128], + rebeccapurple: [102, 51, 153], + red: [255, 0, 0], + rosybrown: [188, 143, 143], + royalblue: [65, 105, 225], + saddlebrown: [139, 69, 19], + salmon: [250, 128, 114], + sandybrown: [244, 164, 96], + seagreen: [46, 139, 87], + seashell: [255, 245, 238], + sienna: [160, 82, 45], + silver: [192, 192, 192], + skyblue: [135, 206, 235], + slateblue: [106, 90, 205], + slategray: [112, 128, 144], + slategrey: [112, 128, 144], + snow: [255, 250, 250], + springgreen: [0, 255, 127], + steelblue: [70, 130, 180], + tan: [210, 180, 140], + teal: [0, 128, 128], + thistle: [216, 191, 216], + tomato: [255, 99, 71], + turquoise: [64, 224, 208], + violet: [238, 130, 238], + wheat: [245, 222, 179], + white: [255, 255, 255], + whitesmoke: [245, 245, 245], + yellow: [255, 255, 0], + yellowgreen: [154, 205, 50], + }; + }); + function ar(i, { loose: e = !1 } = {}) { + if (typeof i != "string") return null; + if (((i = i.trim()), i === "transparent")) + return { mode: "rgb", color: ["0", "0", "0"], alpha: "0" }; + if (i in ts) return { mode: "rgb", color: ts[i].map((a) => a.toString()) }; + let t = i + .replace(Tb, (a, s, o, u, c) => + ["#", s, s, o, o, u, u, c ? c + c : ""].join(""), + ) + .match(Eb); + if (t !== null) + return { + mode: "rgb", + color: [parseInt(t[1], 16), parseInt(t[2], 16), parseInt(t[3], 16)].map( + (a) => a.toString(), + ), + alpha: t[4] ? (parseInt(t[4], 16) / 255).toString() : void 0, + }; + let r = i.match(Pb) ?? i.match(Db); + if (r === null) return null; + let n = [r[2], r[3], r[4]].filter(Boolean).map((a) => a.toString()); + return n.length === 2 && n[0].startsWith("var(") + ? { mode: r[1], color: [n[0]], alpha: n[1] } + : (!e && n.length !== 3) || + (n.length < 3 && !n.some((a) => /^var\(.*?\)$/.test(a))) + ? null + : { mode: r[1], color: n, alpha: r[5]?.toString?.() }; + } + function rs({ mode: i, color: e, alpha: t }) { + let r = t !== void 0; + return i === "rgba" || i === "hsla" + ? `${i}(${e.join(", ")}${r ? `, ${t}` : ""})` + : `${i}(${e.join(" ")}${r ? ` / ${t}` : ""})`; + } + var Eb, + Tb, + et, + gi, + Pu, + tt, + Pb, + Db, + is = C(() => { + l(); + Tu(); + (Eb = /^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i), + (Tb = /^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i), + (et = /(?:\d+|\d*\.\d+)%?/), + (gi = /(?:\s*,\s*|\s+)/), + (Pu = /\s*[,/]\s*/), + (tt = /var\(--(?:[^ )]*?)(?:,(?:[^ )]*?|var\(--[^ )]*?\)))?\)/), + (Pb = new RegExp( + `^(rgba?)\\(\\s*(${et.source}|${tt.source})(?:${gi.source}(${et.source}|${tt.source}))?(?:${gi.source}(${et.source}|${tt.source}))?(?:${Pu.source}(${et.source}|${tt.source}))?\\s*\\)$`, + )), + (Db = new RegExp( + `^(hsla?)\\(\\s*((?:${et.source})(?:deg|rad|grad|turn)?|${tt.source})(?:${gi.source}(${et.source}|${tt.source}))?(?:${gi.source}(${et.source}|${tt.source}))?(?:${Pu.source}(${et.source}|${tt.source}))?\\s*\\)$`, + )); + }); + function De(i, e, t) { + if (typeof i == "function") return i({ opacityValue: e }); + let r = ar(i, { loose: !0 }); + return r === null ? t : rs({ ...r, alpha: e }); + } + function ae({ color: i, property: e, variable: t }) { + let r = [].concat(e); + if (typeof i == "function") + return { + [t]: "1", + ...Object.fromEntries( + r.map((a) => [ + a, + i({ opacityVariable: t, opacityValue: `var(${t})` }), + ]), + ), + }; + let n = ar(i); + return n === null + ? Object.fromEntries(r.map((a) => [a, i])) + : n.alpha !== void 0 + ? Object.fromEntries(r.map((a) => [a, i])) + : { + [t]: "1", + ...Object.fromEntries( + r.map((a) => [a, rs({ ...n, alpha: `var(${t})` })]), + ), + }; + } + var or = C(() => { + l(); + is(); + }); + function oe(i, e) { + let t = [], + r = [], + n = 0, + a = !1; + for (let s = 0; s < i.length; s++) { + let o = i[s]; + t.length === 0 && + o === e[0] && + !a && + (e.length === 1 || i.slice(s, s + e.length) === e) && + (r.push(i.slice(n, s)), (n = s + e.length)), + a ? (a = !1) : o === "\\" && (a = !0), + o === "(" || o === "[" || o === "{" + ? t.push(o) + : ((o === ")" && t[t.length - 1] === "(") || + (o === "]" && t[t.length - 1] === "[") || + (o === "}" && t[t.length - 1] === "{")) && + t.pop(); + } + return r.push(i.slice(n)), r; + } + var St = C(() => { + l(); + }); + function yi(i) { + return oe(i, ",").map((t) => { + let r = t.trim(), + n = { raw: r }, + a = r.split(qb), + s = new Set(); + for (let o of a) + (Du.lastIndex = 0), + !s.has("KEYWORD") && Ib.has(o) + ? ((n.keyword = o), s.add("KEYWORD")) + : Du.test(o) + ? s.has("X") + ? s.has("Y") + ? s.has("BLUR") + ? s.has("SPREAD") || ((n.spread = o), s.add("SPREAD")) + : ((n.blur = o), s.add("BLUR")) + : ((n.y = o), s.add("Y")) + : ((n.x = o), s.add("X")) + : n.color + ? (n.unknown || (n.unknown = []), n.unknown.push(o)) + : (n.color = o); + return (n.valid = n.x !== void 0 && n.y !== void 0), n; + }); + } + function Iu(i) { + return i + .map((e) => + e.valid + ? [e.keyword, e.x, e.y, e.blur, e.spread, e.color] + .filter(Boolean) + .join(" ") + : e.raw, + ) + .join(", "); + } + var Ib, + qb, + Du, + ns = C(() => { + l(); + St(); + (Ib = new Set(["inset", "inherit", "initial", "revert", "unset"])), + (qb = /\ +(?![^(]*\))/g), + (Du = /^-?(\d+|\.\d+)(.*?)$/g); + }); + function ss(i) { + return Rb.some((e) => new RegExp(`^${e}\\(.*\\)`).test(i)); + } + function N(i, e = null, t = !0) { + let r = e && Mb.has(e.property); + return i.startsWith("--") && !r + ? `var(${i})` + : i.includes("url(") + ? i + .split(/(url\(.*?\))/g) + .filter(Boolean) + .map((n) => (/^url\(.*?\)$/.test(n) ? n : N(n, e, !1))) + .join("") + : ((i = i + .replace(/([^\\])_+/g, (n, a) => a + " ".repeat(n.length - 1)) + .replace(/^_/g, " ") + .replace(/\\_/g, "_")), + t && (i = i.trim()), + (i = Bb(i)), + i); + } + function Bb(i) { + let e = ["theme"], + t = [ + "min-content", + "max-content", + "fit-content", + "safe-area-inset-top", + "safe-area-inset-right", + "safe-area-inset-bottom", + "safe-area-inset-left", + "titlebar-area-x", + "titlebar-area-y", + "titlebar-area-width", + "titlebar-area-height", + "keyboard-inset-top", + "keyboard-inset-right", + "keyboard-inset-bottom", + "keyboard-inset-left", + "keyboard-inset-width", + "keyboard-inset-height", + "radial-gradient", + "linear-gradient", + "conic-gradient", + "repeating-radial-gradient", + "repeating-linear-gradient", + "repeating-conic-gradient", + ]; + return i.replace(/(calc|min|max|clamp)\(.+\)/g, (r) => { + let n = ""; + function a() { + let s = n.trimEnd(); + return s[s.length - 1]; + } + for (let s = 0; s < r.length; s++) { + let o = function (f) { + return f.split("").every((d, p) => r[s + p] === d); + }, + u = function (f) { + let d = 1 / 0; + for (let m of f) { + let w = r.indexOf(m, s); + w !== -1 && w < d && (d = w); + } + let p = r.slice(s, d); + return (s += p.length - 1), p; + }, + c = r[s]; + if (o("var")) n += u([")", ","]); + else if (t.some((f) => o(f))) { + let f = t.find((d) => o(d)); + (n += f), (s += f.length - 1); + } else + e.some((f) => o(f)) + ? (n += u([")"])) + : o("[") + ? (n += u(["]"])) + : ["+", "-", "*", "/"].includes(c) && + !["(", "+", "-", "*", "/", ","].includes(a()) + ? (n += ` ${c} `) + : (n += c); + } + return n.replace(/\s+/g, " "); + }); + } + function as(i) { + return i.startsWith("url("); + } + function os(i) { + return !isNaN(Number(i)) || ss(i); + } + function lr(i) { + return (i.endsWith("%") && os(i.slice(0, -1))) || ss(i); + } + function ur(i) { + return ( + i === "0" || + new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${Nb}$`).test(i) || + ss(i) + ); + } + function qu(i) { + return Lb.has(i); + } + function Ru(i) { + let e = yi(N(i)); + for (let t of e) if (!t.valid) return !1; + return !0; + } + function Mu(i) { + let e = 0; + return oe(i, "_").every( + (r) => ( + (r = N(r)), + r.startsWith("var(") + ? !0 + : ar(r, { loose: !0 }) !== null + ? (e++, !0) + : !1 + ), + ) + ? e > 0 + : !1; + } + function Bu(i) { + let e = 0; + return oe(i, ",").every( + (r) => ( + (r = N(r)), + r.startsWith("var(") + ? !0 + : as(r) || + jb(r) || + ["element(", "image(", "cross-fade(", "image-set("].some((n) => + r.startsWith(n), + ) + ? (e++, !0) + : !1 + ), + ) + ? e > 0 + : !1; + } + function jb(i) { + i = N(i); + for (let e of $b) if (i.startsWith(`${e}(`)) return !0; + return !1; + } + function Fu(i) { + let e = 0; + return oe(i, "_").every( + (r) => ( + (r = N(r)), + r.startsWith("var(") ? !0 : zb.has(r) || ur(r) || lr(r) ? (e++, !0) : !1 + ), + ) + ? e > 0 + : !1; + } + function Nu(i) { + let e = 0; + return oe(i, ",").every( + (r) => ( + (r = N(r)), + r.startsWith("var(") + ? !0 + : (r.includes(" ") && !/(['"])([^"']+)\1/g.test(r)) || /^\d/g.test(r) + ? !1 + : (e++, !0) + ), + ) + ? e > 0 + : !1; + } + function Lu(i) { + return Vb.has(i); + } + function $u(i) { + return Ub.has(i); + } + function ju(i) { + return Wb.has(i); + } + var Rb, + Mb, + Fb, + Nb, + Lb, + $b, + zb, + Vb, + Ub, + Wb, + fr = C(() => { + l(); + is(); + ns(); + St(); + Rb = ["min", "max", "clamp", "calc"]; + Mb = new Set([ + "scroll-timeline-name", + "timeline-scope", + "view-timeline-name", + "font-palette", + "scroll-timeline", + "animation-timeline", + "view-timeline", + ]); + (Fb = [ + "cm", + "mm", + "Q", + "in", + "pc", + "pt", + "px", + "em", + "ex", + "ch", + "rem", + "lh", + "rlh", + "vw", + "vh", + "vmin", + "vmax", + "vb", + "vi", + "svw", + "svh", + "lvw", + "lvh", + "dvw", + "dvh", + "cqw", + "cqh", + "cqi", + "cqb", + "cqmin", + "cqmax", + ]), + (Nb = `(?:${Fb.join("|")})`); + Lb = new Set(["thin", "medium", "thick"]); + $b = new Set([ + "conic-gradient", + "linear-gradient", + "radial-gradient", + "repeating-conic-gradient", + "repeating-linear-gradient", + "repeating-radial-gradient", + ]); + zb = new Set(["center", "top", "right", "bottom", "left"]); + Vb = new Set([ + "serif", + "sans-serif", + "monospace", + "cursive", + "fantasy", + "system-ui", + "ui-serif", + "ui-sans-serif", + "ui-monospace", + "ui-rounded", + "math", + "emoji", + "fangsong", + ]); + Ub = new Set([ + "xx-small", + "x-small", + "small", + "medium", + "large", + "x-large", + "x-large", + "xxx-large", + ]); + Wb = new Set(["larger", "smaller"]); + }); + function zu(i) { + let e = ["cover", "contain"]; + return oe(i, ",").every((t) => { + let r = oe(t, "_").filter(Boolean); + return r.length === 1 && e.includes(r[0]) + ? !0 + : r.length !== 1 && r.length !== 2 + ? !1 + : r.every((n) => ur(n) || lr(n) || n === "auto"); + }); + } + var Vu = C(() => { + l(); + fr(); + St(); + }); + function Uu(i, e) { + i.walkClasses((t) => { + (t.value = e(t.value)), + t.raws && t.raws.value && (t.raws.value = mt(t.raws.value)); + }); + } + function Wu(i, e) { + if (!rt(i)) return; + let t = i.slice(1, -1); + if (!!e(t)) return N(t); + } + function Gb(i, e = {}, t) { + let r = e[i]; + if (r !== void 0) return Xe(r); + if (rt(i)) { + let n = Wu(i, t); + return n === void 0 ? void 0 : Xe(n); + } + } + function wi(i, e = {}, { validate: t = () => !0 } = {}) { + let r = e.values?.[i]; + return r !== void 0 + ? r + : e.supportsNegativeValues && i.startsWith("-") + ? Gb(i.slice(1), e.values, t) + : Wu(i, t); + } + function rt(i) { + return i.startsWith("[") && i.endsWith("]"); + } + function Gu(i) { + let e = i.lastIndexOf("/"), + t = i.lastIndexOf("[", e), + r = i.indexOf("]", e); + return ( + i[e - 1] === "]" || + i[e + 1] === "[" || + (t !== -1 && r !== -1 && t < e && e < r && (e = i.lastIndexOf("/", t))), + e === -1 || e === i.length - 1 + ? [i, void 0] + : rt(i) && !i.includes("]/[") + ? [i, void 0] + : [i.slice(0, e), i.slice(e + 1)] + ); + } + function Ct(i) { + if (typeof i == "string" && i.includes("")) { + let e = i; + return ({ opacityValue: t = 1 }) => e.replace("", t); + } + return i; + } + function Hu(i) { + return N(i.slice(1, -1)); + } + function Hb(i, e = {}, { tailwindConfig: t = {} } = {}) { + if (e.values?.[i] !== void 0) return Ct(e.values?.[i]); + let [r, n] = Gu(i); + if (n !== void 0) { + let a = e.values?.[r] ?? (rt(r) ? r.slice(1, -1) : void 0); + return a === void 0 + ? void 0 + : ((a = Ct(a)), + rt(n) + ? De(a, Hu(n)) + : t.theme?.opacity?.[n] === void 0 + ? void 0 + : De(a, t.theme.opacity[n])); + } + return wi(i, e, { validate: Mu }); + } + function Yb(i, e = {}) { + return e.values?.[i]; + } + function me(i) { + return (e, t) => wi(e, t, { validate: i }); + } + function Qb(i, e) { + let t = i.indexOf(e); + return t === -1 ? [void 0, i] : [i.slice(0, t), i.slice(t + 1)]; + } + function us(i, e, t, r) { + if (t.values && e in t.values) + for (let { type: a } of i ?? []) { + let s = ls[a](e, t, { tailwindConfig: r }); + if (s !== void 0) return [s, a, null]; + } + if (rt(e)) { + let a = e.slice(1, -1), + [s, o] = Qb(a, ":"); + if (!/^[\w-_]+$/g.test(s)) o = a; + else if (s !== void 0 && !Yu.includes(s)) return []; + if (o.length > 0 && Yu.includes(s)) return [wi(`[${o}]`, t), s, null]; + } + let n = fs(i, e, t, r); + for (let a of n) return a; + return []; + } + function* fs(i, e, t, r) { + let n = Z(r, "generalizedModifiers"), + [a, s] = Gu(e); + if ( + ((n && + t.modifiers != null && + (t.modifiers === "any" || + (typeof t.modifiers == "object" && + ((s && rt(s)) || s in t.modifiers)))) || + ((a = e), (s = void 0)), + s !== void 0 && a === "" && (a = "DEFAULT"), + s !== void 0 && typeof t.modifiers == "object") + ) { + let u = t.modifiers?.[s] ?? null; + u !== null ? (s = u) : rt(s) && (s = Hu(s)); + } + for (let { type: u } of i ?? []) { + let c = ls[u](a, t, { tailwindConfig: r }); + c !== void 0 && (yield [c, u, s ?? null]); + } + } + var ls, + Yu, + cr = C(() => { + l(); + mi(); + or(); + fr(); + fi(); + Vu(); + ze(); + (ls = { + any: wi, + color: Hb, + url: me(as), + image: me(Bu), + length: me(ur), + percentage: me(lr), + position: me(Fu), + lookup: Yb, + "generic-name": me(Lu), + "family-name": me(Nu), + number: me(os), + "line-width": me(qu), + "absolute-size": me($u), + "relative-size": me(ju), + shadow: me(Ru), + size: me(zu), + }), + (Yu = Object.keys(ls)); + }); + function L(i) { + return typeof i == "function" ? i({}) : i; + } + var cs = C(() => { + l(); + }); + function At(i) { + return typeof i == "function"; + } + function pr(i, ...e) { + let t = e.pop(); + for (let r of e) + for (let n in r) { + let a = t(i[n], r[n]); + a === void 0 + ? ne(i[n]) && ne(r[n]) + ? (i[n] = pr({}, i[n], r[n], t)) + : (i[n] = r[n]) + : (i[n] = a); + } + return i; + } + function Jb(i, ...e) { + return At(i) ? i(...e) : i; + } + function Xb(i) { + return i.reduce( + (e, { extend: t }) => + pr(e, t, (r, n) => + r === void 0 ? [n] : Array.isArray(r) ? [n, ...r] : [n, r], + ), + {}, + ); + } + function Kb(i) { + return { ...i.reduce((e, t) => es(e, t), {}), extend: Xb(i) }; + } + function Qu(i, e) { + if (Array.isArray(i) && ne(i[0])) return i.concat(e); + if (Array.isArray(e) && ne(e[0]) && ne(i)) return [i, ...e]; + if (Array.isArray(e)) return e; + } + function Zb({ extend: i, ...e }) { + return pr(e, i, (t, r) => + !At(t) && !r.some(At) + ? pr({}, t, ...r, Qu) + : (n, a) => pr({}, ...[t, ...r].map((s) => Jb(s, n, a)), Qu), + ); + } + function* e0(i) { + let e = Ke(i); + if (e.length === 0 || (yield e, Array.isArray(i))) return; + let t = /^(.*?)\s*\/\s*([^/]+)$/, + r = i.match(t); + if (r !== null) { + let [, n, a] = r, + s = Ke(n); + (s.alpha = a), yield s; + } + } + function t0(i) { + let e = (t, r) => { + for (let n of e0(t)) { + let a = 0, + s = i; + for (; s != null && a < n.length; ) + (s = s[n[a++]]), + (s = + At(s) && (n.alpha === void 0 || a <= n.length - 1) + ? s(e, ps) + : s); + if (s !== void 0) { + if (n.alpha !== void 0) { + let o = Ct(s); + return De(o, n.alpha, L(o)); + } + return ne(s) ? Ze(s) : s; + } + } + return r; + }; + return ( + Object.assign(e, { theme: e, ...ps }), + Object.keys(i).reduce( + (t, r) => ((t[r] = At(i[r]) ? i[r](e, ps) : i[r]), t), + {}, + ) + ); + } + function Ju(i) { + let e = []; + return ( + i.forEach((t) => { + e = [...e, t]; + let r = t?.plugins ?? []; + r.length !== 0 && + r.forEach((n) => { + n.__isOptionsFunction && (n = n()), + (e = [...e, ...Ju([n?.config ?? {}])]); + }); + }), + e + ); + } + function r0(i) { + return [...i].reduceRight( + (t, r) => (At(r) ? r({ corePlugins: t }) : wu(r, t)), + gu, + ); + } + function i0(i) { + return [...i].reduceRight((t, r) => [...t, ...r], []); + } + function ds(i) { + let e = [...Ju(i), { prefix: "", important: !1, separator: ":" }]; + return Ou( + es( + { + theme: t0(Zb(Kb(e.map((t) => t?.theme ?? {})))), + corePlugins: r0(e.map((t) => t.corePlugins)), + plugins: i0(i.map((t) => t?.plugins ?? [])), + }, + ...e, + ), + ); + } + var ps, + Xu = C(() => { + l(); + fi(); + yu(); + bu(); + Zn(); + Su(); + pi(); + Eu(); + kt(); + hi(); + cr(); + or(); + cs(); + ps = { + colors: Kn, + negative(i) { + return Object.keys(i) + .filter((e) => i[e] !== "0") + .reduce((e, t) => { + let r = Xe(i[t]); + return r !== void 0 && (e[`-${t}`] = r), e; + }, {}); + }, + breakpoints(i) { + return Object.keys(i) + .filter((e) => typeof i[e] == "string") + .reduce((e, t) => ({ ...e, [`screen-${t}`]: i[t] }), {}); + }, + }; + }); + var bi = v((eT, Ku) => { + l(); + Ku.exports = { + content: [], + presets: [], + darkMode: "media", + theme: { + accentColor: ({ theme: i }) => ({ ...i("colors"), auto: "auto" }), + animation: { + none: "none", + spin: "spin 1s linear infinite", + ping: "ping 1s cubic-bezier(0, 0, 0.2, 1) infinite", + pulse: "pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite", + bounce: "bounce 1s infinite", + }, + aria: { + busy: 'busy="true"', + checked: 'checked="true"', + disabled: 'disabled="true"', + expanded: 'expanded="true"', + hidden: 'hidden="true"', + pressed: 'pressed="true"', + readonly: 'readonly="true"', + required: 'required="true"', + selected: 'selected="true"', + }, + aspectRatio: { auto: "auto", square: "1 / 1", video: "16 / 9" }, + backdropBlur: ({ theme: i }) => i("blur"), + backdropBrightness: ({ theme: i }) => i("brightness"), + backdropContrast: ({ theme: i }) => i("contrast"), + backdropGrayscale: ({ theme: i }) => i("grayscale"), + backdropHueRotate: ({ theme: i }) => i("hueRotate"), + backdropInvert: ({ theme: i }) => i("invert"), + backdropOpacity: ({ theme: i }) => i("opacity"), + backdropSaturate: ({ theme: i }) => i("saturate"), + backdropSepia: ({ theme: i }) => i("sepia"), + backgroundColor: ({ theme: i }) => i("colors"), + backgroundImage: { + none: "none", + "gradient-to-t": "linear-gradient(to top, var(--tw-gradient-stops))", + "gradient-to-tr": + "linear-gradient(to top right, var(--tw-gradient-stops))", + "gradient-to-r": + "linear-gradient(to right, var(--tw-gradient-stops))", + "gradient-to-br": + "linear-gradient(to bottom right, var(--tw-gradient-stops))", + "gradient-to-b": + "linear-gradient(to bottom, var(--tw-gradient-stops))", + "gradient-to-bl": + "linear-gradient(to bottom left, var(--tw-gradient-stops))", + "gradient-to-l": "linear-gradient(to left, var(--tw-gradient-stops))", + "gradient-to-tl": + "linear-gradient(to top left, var(--tw-gradient-stops))", + }, + backgroundOpacity: ({ theme: i }) => i("opacity"), + backgroundPosition: { + bottom: "bottom", + center: "center", + left: "left", + "left-bottom": "left bottom", + "left-top": "left top", + right: "right", + "right-bottom": "right bottom", + "right-top": "right top", + top: "top", + }, + backgroundSize: { auto: "auto", cover: "cover", contain: "contain" }, + blur: { + 0: "0", + none: "0", + sm: "4px", + DEFAULT: "8px", + md: "12px", + lg: "16px", + xl: "24px", + "2xl": "40px", + "3xl": "64px", + }, + borderColor: ({ theme: i }) => ({ + ...i("colors"), + DEFAULT: i("colors.gray.200", "currentColor"), + }), + borderOpacity: ({ theme: i }) => i("opacity"), + borderRadius: { + none: "0px", + sm: "0.125rem", + DEFAULT: "0.25rem", + md: "0.375rem", + lg: "0.5rem", + xl: "0.75rem", + "2xl": "1rem", + "3xl": "1.5rem", + full: "9999px", + }, + borderSpacing: ({ theme: i }) => ({ ...i("spacing") }), + borderWidth: { DEFAULT: "1px", 0: "0px", 2: "2px", 4: "4px", 8: "8px" }, + boxShadow: { + sm: "0 1px 2px 0 rgb(0 0 0 / 0.05)", + DEFAULT: + "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)", + md: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)", + lg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)", + xl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)", + "2xl": "0 25px 50px -12px rgb(0 0 0 / 0.25)", + inner: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)", + none: "none", + }, + boxShadowColor: ({ theme: i }) => i("colors"), + brightness: { + 0: "0", + 50: ".5", + 75: ".75", + 90: ".9", + 95: ".95", + 100: "1", + 105: "1.05", + 110: "1.1", + 125: "1.25", + 150: "1.5", + 200: "2", + }, + caretColor: ({ theme: i }) => i("colors"), + colors: ({ colors: i }) => ({ + inherit: i.inherit, + current: i.current, + transparent: i.transparent, + black: i.black, + white: i.white, + slate: i.slate, + gray: i.gray, + zinc: i.zinc, + neutral: i.neutral, + stone: i.stone, + red: i.red, + orange: i.orange, + amber: i.amber, + yellow: i.yellow, + lime: i.lime, + green: i.green, + emerald: i.emerald, + teal: i.teal, + cyan: i.cyan, + sky: i.sky, + blue: i.blue, + indigo: i.indigo, + violet: i.violet, + purple: i.purple, + fuchsia: i.fuchsia, + pink: i.pink, + rose: i.rose, + }), + columns: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + "3xs": "16rem", + "2xs": "18rem", + xs: "20rem", + sm: "24rem", + md: "28rem", + lg: "32rem", + xl: "36rem", + "2xl": "42rem", + "3xl": "48rem", + "4xl": "56rem", + "5xl": "64rem", + "6xl": "72rem", + "7xl": "80rem", + }, + container: {}, + content: { none: "none" }, + contrast: { + 0: "0", + 50: ".5", + 75: ".75", + 100: "1", + 125: "1.25", + 150: "1.5", + 200: "2", + }, + cursor: { + auto: "auto", + default: "default", + pointer: "pointer", + wait: "wait", + text: "text", + move: "move", + help: "help", + "not-allowed": "not-allowed", + none: "none", + "context-menu": "context-menu", + progress: "progress", + cell: "cell", + crosshair: "crosshair", + "vertical-text": "vertical-text", + alias: "alias", + copy: "copy", + "no-drop": "no-drop", + grab: "grab", + grabbing: "grabbing", + "all-scroll": "all-scroll", + "col-resize": "col-resize", + "row-resize": "row-resize", + "n-resize": "n-resize", + "e-resize": "e-resize", + "s-resize": "s-resize", + "w-resize": "w-resize", + "ne-resize": "ne-resize", + "nw-resize": "nw-resize", + "se-resize": "se-resize", + "sw-resize": "sw-resize", + "ew-resize": "ew-resize", + "ns-resize": "ns-resize", + "nesw-resize": "nesw-resize", + "nwse-resize": "nwse-resize", + "zoom-in": "zoom-in", + "zoom-out": "zoom-out", + }, + divideColor: ({ theme: i }) => i("borderColor"), + divideOpacity: ({ theme: i }) => i("borderOpacity"), + divideWidth: ({ theme: i }) => i("borderWidth"), + dropShadow: { + sm: "0 1px 1px rgb(0 0 0 / 0.05)", + DEFAULT: [ + "0 1px 2px rgb(0 0 0 / 0.1)", + "0 1px 1px rgb(0 0 0 / 0.06)", + ], + md: ["0 4px 3px rgb(0 0 0 / 0.07)", "0 2px 2px rgb(0 0 0 / 0.06)"], + lg: ["0 10px 8px rgb(0 0 0 / 0.04)", "0 4px 3px rgb(0 0 0 / 0.1)"], + xl: ["0 20px 13px rgb(0 0 0 / 0.03)", "0 8px 5px rgb(0 0 0 / 0.08)"], + "2xl": "0 25px 25px rgb(0 0 0 / 0.15)", + none: "0 0 #0000", + }, + fill: ({ theme: i }) => ({ none: "none", ...i("colors") }), + flex: { + 1: "1 1 0%", + auto: "1 1 auto", + initial: "0 1 auto", + none: "none", + }, + flexBasis: ({ theme: i }) => ({ + auto: "auto", + ...i("spacing"), + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + "1/5": "20%", + "2/5": "40%", + "3/5": "60%", + "4/5": "80%", + "1/6": "16.666667%", + "2/6": "33.333333%", + "3/6": "50%", + "4/6": "66.666667%", + "5/6": "83.333333%", + "1/12": "8.333333%", + "2/12": "16.666667%", + "3/12": "25%", + "4/12": "33.333333%", + "5/12": "41.666667%", + "6/12": "50%", + "7/12": "58.333333%", + "8/12": "66.666667%", + "9/12": "75%", + "10/12": "83.333333%", + "11/12": "91.666667%", + full: "100%", + }), + flexGrow: { 0: "0", DEFAULT: "1" }, + flexShrink: { 0: "0", DEFAULT: "1" }, + fontFamily: { + sans: [ + "ui-sans-serif", + "system-ui", + "sans-serif", + '"Apple Color Emoji"', + '"Segoe UI Emoji"', + '"Segoe UI Symbol"', + '"Noto Color Emoji"', + ], + serif: [ + "ui-serif", + "Georgia", + "Cambria", + '"Times New Roman"', + "Times", + "serif", + ], + mono: [ + "ui-monospace", + "SFMono-Regular", + "Menlo", + "Monaco", + "Consolas", + '"Liberation Mono"', + '"Courier New"', + "monospace", + ], + }, + fontSize: { + xs: ["0.75rem", { lineHeight: "1rem" }], + sm: ["0.875rem", { lineHeight: "1.25rem" }], + base: ["1rem", { lineHeight: "1.5rem" }], + lg: ["1.125rem", { lineHeight: "1.75rem" }], + xl: ["1.25rem", { lineHeight: "1.75rem" }], + "2xl": ["1.5rem", { lineHeight: "2rem" }], + "3xl": ["1.875rem", { lineHeight: "2.25rem" }], + "4xl": ["2.25rem", { lineHeight: "2.5rem" }], + "5xl": ["3rem", { lineHeight: "1" }], + "6xl": ["3.75rem", { lineHeight: "1" }], + "7xl": ["4.5rem", { lineHeight: "1" }], + "8xl": ["6rem", { lineHeight: "1" }], + "9xl": ["8rem", { lineHeight: "1" }], + }, + fontWeight: { + thin: "100", + extralight: "200", + light: "300", + normal: "400", + medium: "500", + semibold: "600", + bold: "700", + extrabold: "800", + black: "900", + }, + gap: ({ theme: i }) => i("spacing"), + gradientColorStops: ({ theme: i }) => i("colors"), + gradientColorStopPositions: { + "0%": "0%", + "5%": "5%", + "10%": "10%", + "15%": "15%", + "20%": "20%", + "25%": "25%", + "30%": "30%", + "35%": "35%", + "40%": "40%", + "45%": "45%", + "50%": "50%", + "55%": "55%", + "60%": "60%", + "65%": "65%", + "70%": "70%", + "75%": "75%", + "80%": "80%", + "85%": "85%", + "90%": "90%", + "95%": "95%", + "100%": "100%", + }, + grayscale: { 0: "0", DEFAULT: "100%" }, + gridAutoColumns: { + auto: "auto", + min: "min-content", + max: "max-content", + fr: "minmax(0, 1fr)", + }, + gridAutoRows: { + auto: "auto", + min: "min-content", + max: "max-content", + fr: "minmax(0, 1fr)", + }, + gridColumn: { + auto: "auto", + "span-1": "span 1 / span 1", + "span-2": "span 2 / span 2", + "span-3": "span 3 / span 3", + "span-4": "span 4 / span 4", + "span-5": "span 5 / span 5", + "span-6": "span 6 / span 6", + "span-7": "span 7 / span 7", + "span-8": "span 8 / span 8", + "span-9": "span 9 / span 9", + "span-10": "span 10 / span 10", + "span-11": "span 11 / span 11", + "span-12": "span 12 / span 12", + "span-full": "1 / -1", + }, + gridColumnEnd: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + 13: "13", + }, + gridColumnStart: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + 13: "13", + }, + gridRow: { + auto: "auto", + "span-1": "span 1 / span 1", + "span-2": "span 2 / span 2", + "span-3": "span 3 / span 3", + "span-4": "span 4 / span 4", + "span-5": "span 5 / span 5", + "span-6": "span 6 / span 6", + "span-7": "span 7 / span 7", + "span-8": "span 8 / span 8", + "span-9": "span 9 / span 9", + "span-10": "span 10 / span 10", + "span-11": "span 11 / span 11", + "span-12": "span 12 / span 12", + "span-full": "1 / -1", + }, + gridRowEnd: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + 13: "13", + }, + gridRowStart: { + auto: "auto", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + 13: "13", + }, + gridTemplateColumns: { + none: "none", + subgrid: "subgrid", + 1: "repeat(1, minmax(0, 1fr))", + 2: "repeat(2, minmax(0, 1fr))", + 3: "repeat(3, minmax(0, 1fr))", + 4: "repeat(4, minmax(0, 1fr))", + 5: "repeat(5, minmax(0, 1fr))", + 6: "repeat(6, minmax(0, 1fr))", + 7: "repeat(7, minmax(0, 1fr))", + 8: "repeat(8, minmax(0, 1fr))", + 9: "repeat(9, minmax(0, 1fr))", + 10: "repeat(10, minmax(0, 1fr))", + 11: "repeat(11, minmax(0, 1fr))", + 12: "repeat(12, minmax(0, 1fr))", + }, + gridTemplateRows: { + none: "none", + subgrid: "subgrid", + 1: "repeat(1, minmax(0, 1fr))", + 2: "repeat(2, minmax(0, 1fr))", + 3: "repeat(3, minmax(0, 1fr))", + 4: "repeat(4, minmax(0, 1fr))", + 5: "repeat(5, minmax(0, 1fr))", + 6: "repeat(6, minmax(0, 1fr))", + 7: "repeat(7, minmax(0, 1fr))", + 8: "repeat(8, minmax(0, 1fr))", + 9: "repeat(9, minmax(0, 1fr))", + 10: "repeat(10, minmax(0, 1fr))", + 11: "repeat(11, minmax(0, 1fr))", + 12: "repeat(12, minmax(0, 1fr))", + }, + height: ({ theme: i }) => ({ + auto: "auto", + ...i("spacing"), + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + "1/5": "20%", + "2/5": "40%", + "3/5": "60%", + "4/5": "80%", + "1/6": "16.666667%", + "2/6": "33.333333%", + "3/6": "50%", + "4/6": "66.666667%", + "5/6": "83.333333%", + full: "100%", + screen: "100vh", + svh: "100svh", + lvh: "100lvh", + dvh: "100dvh", + min: "min-content", + max: "max-content", + fit: "fit-content", + }), + hueRotate: { + 0: "0deg", + 15: "15deg", + 30: "30deg", + 60: "60deg", + 90: "90deg", + 180: "180deg", + }, + inset: ({ theme: i }) => ({ + auto: "auto", + ...i("spacing"), + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + full: "100%", + }), + invert: { 0: "0", DEFAULT: "100%" }, + keyframes: { + spin: { to: { transform: "rotate(360deg)" } }, + ping: { "75%, 100%": { transform: "scale(2)", opacity: "0" } }, + pulse: { "50%": { opacity: ".5" } }, + bounce: { + "0%, 100%": { + transform: "translateY(-25%)", + animationTimingFunction: "cubic-bezier(0.8,0,1,1)", + }, + "50%": { + transform: "none", + animationTimingFunction: "cubic-bezier(0,0,0.2,1)", + }, + }, + }, + letterSpacing: { + tighter: "-0.05em", + tight: "-0.025em", + normal: "0em", + wide: "0.025em", + wider: "0.05em", + widest: "0.1em", + }, + lineHeight: { + none: "1", + tight: "1.25", + snug: "1.375", + normal: "1.5", + relaxed: "1.625", + loose: "2", + 3: ".75rem", + 4: "1rem", + 5: "1.25rem", + 6: "1.5rem", + 7: "1.75rem", + 8: "2rem", + 9: "2.25rem", + 10: "2.5rem", + }, + listStyleType: { none: "none", disc: "disc", decimal: "decimal" }, + listStyleImage: { none: "none" }, + margin: ({ theme: i }) => ({ auto: "auto", ...i("spacing") }), + lineClamp: { 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6" }, + maxHeight: ({ theme: i }) => ({ + ...i("spacing"), + none: "none", + full: "100%", + screen: "100vh", + svh: "100svh", + lvh: "100lvh", + dvh: "100dvh", + min: "min-content", + max: "max-content", + fit: "fit-content", + }), + maxWidth: ({ theme: i, breakpoints: e }) => ({ + ...i("spacing"), + none: "none", + xs: "20rem", + sm: "24rem", + md: "28rem", + lg: "32rem", + xl: "36rem", + "2xl": "42rem", + "3xl": "48rem", + "4xl": "56rem", + "5xl": "64rem", + "6xl": "72rem", + "7xl": "80rem", + full: "100%", + min: "min-content", + max: "max-content", + fit: "fit-content", + prose: "65ch", + ...e(i("screens")), + }), + minHeight: ({ theme: i }) => ({ + ...i("spacing"), + full: "100%", + screen: "100vh", + svh: "100svh", + lvh: "100lvh", + dvh: "100dvh", + min: "min-content", + max: "max-content", + fit: "fit-content", + }), + minWidth: ({ theme: i }) => ({ + ...i("spacing"), + full: "100%", + min: "min-content", + max: "max-content", + fit: "fit-content", + }), + objectPosition: { + bottom: "bottom", + center: "center", + left: "left", + "left-bottom": "left bottom", + "left-top": "left top", + right: "right", + "right-bottom": "right bottom", + "right-top": "right top", + top: "top", + }, + opacity: { + 0: "0", + 5: "0.05", + 10: "0.1", + 15: "0.15", + 20: "0.2", + 25: "0.25", + 30: "0.3", + 35: "0.35", + 40: "0.4", + 45: "0.45", + 50: "0.5", + 55: "0.55", + 60: "0.6", + 65: "0.65", + 70: "0.7", + 75: "0.75", + 80: "0.8", + 85: "0.85", + 90: "0.9", + 95: "0.95", + 100: "1", + }, + order: { + first: "-9999", + last: "9999", + none: "0", + 1: "1", + 2: "2", + 3: "3", + 4: "4", + 5: "5", + 6: "6", + 7: "7", + 8: "8", + 9: "9", + 10: "10", + 11: "11", + 12: "12", + }, + outlineColor: ({ theme: i }) => i("colors"), + outlineOffset: { 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px" }, + outlineWidth: { 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px" }, + padding: ({ theme: i }) => i("spacing"), + placeholderColor: ({ theme: i }) => i("colors"), + placeholderOpacity: ({ theme: i }) => i("opacity"), + ringColor: ({ theme: i }) => ({ + DEFAULT: i("colors.blue.500", "#3b82f6"), + ...i("colors"), + }), + ringOffsetColor: ({ theme: i }) => i("colors"), + ringOffsetWidth: { 0: "0px", 1: "1px", 2: "2px", 4: "4px", 8: "8px" }, + ringOpacity: ({ theme: i }) => ({ DEFAULT: "0.5", ...i("opacity") }), + ringWidth: { + DEFAULT: "3px", + 0: "0px", + 1: "1px", + 2: "2px", + 4: "4px", + 8: "8px", + }, + rotate: { + 0: "0deg", + 1: "1deg", + 2: "2deg", + 3: "3deg", + 6: "6deg", + 12: "12deg", + 45: "45deg", + 90: "90deg", + 180: "180deg", + }, + saturate: { 0: "0", 50: ".5", 100: "1", 150: "1.5", 200: "2" }, + scale: { + 0: "0", + 50: ".5", + 75: ".75", + 90: ".9", + 95: ".95", + 100: "1", + 105: "1.05", + 110: "1.1", + 125: "1.25", + 150: "1.5", + }, + screens: { + sm: "640px", + md: "768px", + lg: "1024px", + xl: "1280px", + "2xl": "1536px", + }, + scrollMargin: ({ theme: i }) => ({ ...i("spacing") }), + scrollPadding: ({ theme: i }) => i("spacing"), + sepia: { 0: "0", DEFAULT: "100%" }, + skew: { + 0: "0deg", + 1: "1deg", + 2: "2deg", + 3: "3deg", + 6: "6deg", + 12: "12deg", + }, + space: ({ theme: i }) => ({ ...i("spacing") }), + spacing: { + px: "1px", + 0: "0px", + 0.5: "0.125rem", + 1: "0.25rem", + 1.5: "0.375rem", + 2: "0.5rem", + 2.5: "0.625rem", + 3: "0.75rem", + 3.5: "0.875rem", + 4: "1rem", + 5: "1.25rem", + 6: "1.5rem", + 7: "1.75rem", + 8: "2rem", + 9: "2.25rem", + 10: "2.5rem", + 11: "2.75rem", + 12: "3rem", + 14: "3.5rem", + 16: "4rem", + 20: "5rem", + 24: "6rem", + 28: "7rem", + 32: "8rem", + 36: "9rem", + 40: "10rem", + 44: "11rem", + 48: "12rem", + 52: "13rem", + 56: "14rem", + 60: "15rem", + 64: "16rem", + 72: "18rem", + 80: "20rem", + 96: "24rem", + }, + stroke: ({ theme: i }) => ({ none: "none", ...i("colors") }), + strokeWidth: { 0: "0", 1: "1", 2: "2" }, + supports: {}, + data: {}, + textColor: ({ theme: i }) => i("colors"), + textDecorationColor: ({ theme: i }) => i("colors"), + textDecorationThickness: { + auto: "auto", + "from-font": "from-font", + 0: "0px", + 1: "1px", + 2: "2px", + 4: "4px", + 8: "8px", + }, + textIndent: ({ theme: i }) => ({ ...i("spacing") }), + textOpacity: ({ theme: i }) => i("opacity"), + textUnderlineOffset: { + auto: "auto", + 0: "0px", + 1: "1px", + 2: "2px", + 4: "4px", + 8: "8px", + }, + transformOrigin: { + center: "center", + top: "top", + "top-right": "top right", + right: "right", + "bottom-right": "bottom right", + bottom: "bottom", + "bottom-left": "bottom left", + left: "left", + "top-left": "top left", + }, + transitionDelay: { + 0: "0s", + 75: "75ms", + 100: "100ms", + 150: "150ms", + 200: "200ms", + 300: "300ms", + 500: "500ms", + 700: "700ms", + 1e3: "1000ms", + }, + transitionDuration: { + DEFAULT: "150ms", + 0: "0s", + 75: "75ms", + 100: "100ms", + 150: "150ms", + 200: "200ms", + 300: "300ms", + 500: "500ms", + 700: "700ms", + 1e3: "1000ms", + }, + transitionProperty: { + none: "none", + all: "all", + DEFAULT: + "color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter", + colors: + "color, background-color, border-color, text-decoration-color, fill, stroke", + opacity: "opacity", + shadow: "box-shadow", + transform: "transform", + }, + transitionTimingFunction: { + DEFAULT: "cubic-bezier(0.4, 0, 0.2, 1)", + linear: "linear", + in: "cubic-bezier(0.4, 0, 1, 1)", + out: "cubic-bezier(0, 0, 0.2, 1)", + "in-out": "cubic-bezier(0.4, 0, 0.2, 1)", + }, + translate: ({ theme: i }) => ({ + ...i("spacing"), + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + full: "100%", + }), + size: ({ theme: i }) => ({ + auto: "auto", + ...i("spacing"), + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + "1/5": "20%", + "2/5": "40%", + "3/5": "60%", + "4/5": "80%", + "1/6": "16.666667%", + "2/6": "33.333333%", + "3/6": "50%", + "4/6": "66.666667%", + "5/6": "83.333333%", + "1/12": "8.333333%", + "2/12": "16.666667%", + "3/12": "25%", + "4/12": "33.333333%", + "5/12": "41.666667%", + "6/12": "50%", + "7/12": "58.333333%", + "8/12": "66.666667%", + "9/12": "75%", + "10/12": "83.333333%", + "11/12": "91.666667%", + full: "100%", + min: "min-content", + max: "max-content", + fit: "fit-content", + }), + width: ({ theme: i }) => ({ + auto: "auto", + ...i("spacing"), + "1/2": "50%", + "1/3": "33.333333%", + "2/3": "66.666667%", + "1/4": "25%", + "2/4": "50%", + "3/4": "75%", + "1/5": "20%", + "2/5": "40%", + "3/5": "60%", + "4/5": "80%", + "1/6": "16.666667%", + "2/6": "33.333333%", + "3/6": "50%", + "4/6": "66.666667%", + "5/6": "83.333333%", + "1/12": "8.333333%", + "2/12": "16.666667%", + "3/12": "25%", + "4/12": "33.333333%", + "5/12": "41.666667%", + "6/12": "50%", + "7/12": "58.333333%", + "8/12": "66.666667%", + "9/12": "75%", + "10/12": "83.333333%", + "11/12": "91.666667%", + full: "100%", + screen: "100vw", + svw: "100svw", + lvw: "100lvw", + dvw: "100dvw", + min: "min-content", + max: "max-content", + fit: "fit-content", + }), + willChange: { + auto: "auto", + scroll: "scroll-position", + contents: "contents", + transform: "transform", + }, + zIndex: { + auto: "auto", + 0: "0", + 10: "10", + 20: "20", + 30: "30", + 40: "40", + 50: "50", + }, + }, + plugins: [], + }; + }); + function vi(i) { + let e = (i?.presets ?? [Zu.default]) + .slice() + .reverse() + .flatMap((n) => vi(n instanceof Function ? n() : n)), + t = { + respectDefaultRingColorOpacity: { + theme: { + ringColor: ({ theme: n }) => ({ + DEFAULT: "#3b82f67f", + ...n("colors"), + }), + }, + }, + disableColorOpacityUtilitiesByDefault: { + corePlugins: { + backgroundOpacity: !1, + borderOpacity: !1, + divideOpacity: !1, + placeholderOpacity: !1, + ringOpacity: !1, + textOpacity: !1, + }, + }, + }, + r = Object.keys(t) + .filter((n) => Z(i, n)) + .map((n) => t[n]); + return [i, ...r, ...e]; + } + var Zu, + ef = C(() => { + l(); + Zu = K(bi()); + ze(); + }); + var tf = {}; + Ae(tf, { default: () => dr }); + function dr(...i) { + let [, ...e] = vi(i[0]); + return ds([...i, ...e]); + } + var hs = C(() => { + l(); + Xu(); + ef(); + }); + var rf = {}; + Ae(rf, { default: () => ee }); + var ee, + gt = C(() => { + l(); + ee = { resolve: (i) => i, extname: (i) => "." + i.split(".").pop() }; + }); + function xi(i) { + return typeof i == "object" && i !== null; + } + function s0(i) { + return Object.keys(i).length === 0; + } + function nf(i) { + return typeof i == "string" || i instanceof String; + } + function ms(i) { + return xi(i) && i.config === void 0 && !s0(i) + ? null + : xi(i) && i.config !== void 0 && nf(i.config) + ? ee.resolve(i.config) + : xi(i) && i.config !== void 0 && xi(i.config) + ? null + : nf(i) + ? ee.resolve(i) + : a0(); + } + function a0() { + for (let i of n0) + try { + let e = ee.resolve(i); + return re.accessSync(e), e; + } catch (e) {} + return null; + } + var n0, + sf = C(() => { + l(); + je(); + gt(); + n0 = [ + "./tailwind.config.js", + "./tailwind.config.cjs", + "./tailwind.config.mjs", + "./tailwind.config.ts", + ]; + }); + var af = {}; + Ae(af, { default: () => gs }); + var gs, + ys = C(() => { + l(); + gs = { parse: (i) => ({ href: i }) }; + }); + var ws = v(() => { + l(); + }); + var ki = v((fT, uf) => { + l(); + ("use strict"); + var of = (ci(), vu), + lf = ws(), + _t = class extends Error { + constructor(e, t, r, n, a, s) { + super(e); + (this.name = "CssSyntaxError"), + (this.reason = e), + a && (this.file = a), + n && (this.source = n), + s && (this.plugin = s), + typeof t != "undefined" && + typeof r != "undefined" && + (typeof t == "number" + ? ((this.line = t), (this.column = r)) + : ((this.line = t.line), + (this.column = t.column), + (this.endLine = r.line), + (this.endColumn = r.column))), + this.setMessage(), + Error.captureStackTrace && Error.captureStackTrace(this, _t); + } + setMessage() { + (this.message = this.plugin ? this.plugin + ": " : ""), + (this.message += this.file ? this.file : ""), + typeof this.line != "undefined" && + (this.message += ":" + this.line + ":" + this.column), + (this.message += ": " + this.reason); + } + showSourceCode(e) { + if (!this.source) return ""; + let t = this.source; + e == null && (e = of.isColorSupported), lf && e && (t = lf(t)); + let r = t.split(/\r?\n/), + n = Math.max(this.line - 3, 0), + a = Math.min(this.line + 2, r.length), + s = String(a).length, + o, + u; + if (e) { + let { bold: c, red: f, gray: d } = of.createColors(!0); + (o = (p) => c(f(p))), (u = (p) => d(p)); + } else o = u = (c) => c; + return r.slice(n, a).map((c, f) => { + let d = n + 1 + f, + p = " " + (" " + d).slice(-s) + " | "; + if (d === this.line) { + let m = + u(p.replace(/\d/g, " ")) + + c.slice(0, this.column - 1).replace(/[^\t]/g, " "); + return ( + o(">") + + u(p) + + c + + ` + ` + + m + + o("^") + ); + } + return " " + u(p) + c; + }).join(` +`); + } + toString() { + let e = this.showSourceCode(); + return ( + e && + (e = + ` + +` + + e + + ` +`), + this.name + ": " + this.message + e + ); + } + }; + uf.exports = _t; + _t.default = _t; + }); + var Si = v((cT, bs) => { + l(); + ("use strict"); + bs.exports.isClean = Symbol("isClean"); + bs.exports.my = Symbol("my"); + }); + var vs = v((pT, cf) => { + l(); + ("use strict"); + var ff = { + colon: ": ", + indent: " ", + beforeDecl: ` +`, + beforeRule: ` +`, + beforeOpen: " ", + beforeClose: ` +`, + beforeComment: ` +`, + after: ` +`, + emptyBody: "", + commentLeft: " ", + commentRight: " ", + semicolon: !1, + }; + function o0(i) { + return i[0].toUpperCase() + i.slice(1); + } + var Ci = class { + constructor(e) { + this.builder = e; + } + stringify(e, t) { + if (!this[e.type]) + throw new Error( + "Unknown AST node type " + + e.type + + ". Maybe you need to change PostCSS stringifier.", + ); + this[e.type](e, t); + } + document(e) { + this.body(e); + } + root(e) { + this.body(e), e.raws.after && this.builder(e.raws.after); + } + comment(e) { + let t = this.raw(e, "left", "commentLeft"), + r = this.raw(e, "right", "commentRight"); + this.builder("/*" + t + e.text + r + "*/", e); + } + decl(e, t) { + let r = this.raw(e, "between", "colon"), + n = e.prop + r + this.rawValue(e, "value"); + e.important && (n += e.raws.important || " !important"), + t && (n += ";"), + this.builder(n, e); + } + rule(e) { + this.block(e, this.rawValue(e, "selector")), + e.raws.ownSemicolon && this.builder(e.raws.ownSemicolon, e, "end"); + } + atrule(e, t) { + let r = "@" + e.name, + n = e.params ? this.rawValue(e, "params") : ""; + if ( + (typeof e.raws.afterName != "undefined" + ? (r += e.raws.afterName) + : n && (r += " "), + e.nodes) + ) + this.block(e, r + n); + else { + let a = (e.raws.between || "") + (t ? ";" : ""); + this.builder(r + n + a, e); + } + } + body(e) { + let t = e.nodes.length - 1; + for (; t > 0 && e.nodes[t].type === "comment"; ) t -= 1; + let r = this.raw(e, "semicolon"); + for (let n = 0; n < e.nodes.length; n++) { + let a = e.nodes[n], + s = this.raw(a, "before"); + s && this.builder(s), this.stringify(a, t !== n || r); + } + } + block(e, t) { + let r = this.raw(e, "between", "beforeOpen"); + this.builder(t + r + "{", e, "start"); + let n; + e.nodes && e.nodes.length + ? (this.body(e), (n = this.raw(e, "after"))) + : (n = this.raw(e, "after", "emptyBody")), + n && this.builder(n), + this.builder("}", e, "end"); + } + raw(e, t, r) { + let n; + if ((r || (r = t), t && ((n = e.raws[t]), typeof n != "undefined"))) + return n; + let a = e.parent; + if ( + r === "before" && + (!a || + (a.type === "root" && a.first === e) || + (a && a.type === "document")) + ) + return ""; + if (!a) return ff[r]; + let s = e.root(); + if ( + (s.rawCache || (s.rawCache = {}), typeof s.rawCache[r] != "undefined") + ) + return s.rawCache[r]; + if (r === "before" || r === "after") return this.beforeAfter(e, r); + { + let o = "raw" + o0(r); + this[o] + ? (n = this[o](s, e)) + : s.walk((u) => { + if (((n = u.raws[t]), typeof n != "undefined")) return !1; + }); + } + return typeof n == "undefined" && (n = ff[r]), (s.rawCache[r] = n), n; + } + rawSemicolon(e) { + let t; + return ( + e.walk((r) => { + if ( + r.nodes && + r.nodes.length && + r.last.type === "decl" && + ((t = r.raws.semicolon), typeof t != "undefined") + ) + return !1; + }), + t + ); + } + rawEmptyBody(e) { + let t; + return ( + e.walk((r) => { + if ( + r.nodes && + r.nodes.length === 0 && + ((t = r.raws.after), typeof t != "undefined") + ) + return !1; + }), + t + ); + } + rawIndent(e) { + if (e.raws.indent) return e.raws.indent; + let t; + return ( + e.walk((r) => { + let n = r.parent; + if ( + n && + n !== e && + n.parent && + n.parent === e && + typeof r.raws.before != "undefined" + ) { + let a = r.raws.before.split(` +`); + return (t = a[a.length - 1]), (t = t.replace(/\S/g, "")), !1; + } + }), + t + ); + } + rawBeforeComment(e, t) { + let r; + return ( + e.walkComments((n) => { + if (typeof n.raws.before != "undefined") + return ( + (r = n.raws.before), + r.includes(` +`) && (r = r.replace(/[^\n]+$/, "")), + !1 + ); + }), + typeof r == "undefined" + ? (r = this.raw(t, null, "beforeDecl")) + : r && (r = r.replace(/\S/g, "")), + r + ); + } + rawBeforeDecl(e, t) { + let r; + return ( + e.walkDecls((n) => { + if (typeof n.raws.before != "undefined") + return ( + (r = n.raws.before), + r.includes(` +`) && (r = r.replace(/[^\n]+$/, "")), + !1 + ); + }), + typeof r == "undefined" + ? (r = this.raw(t, null, "beforeRule")) + : r && (r = r.replace(/\S/g, "")), + r + ); + } + rawBeforeRule(e) { + let t; + return ( + e.walk((r) => { + if ( + r.nodes && + (r.parent !== e || e.first !== r) && + typeof r.raws.before != "undefined" + ) + return ( + (t = r.raws.before), + t.includes(` +`) && (t = t.replace(/[^\n]+$/, "")), + !1 + ); + }), + t && (t = t.replace(/\S/g, "")), + t + ); + } + rawBeforeClose(e) { + let t; + return ( + e.walk((r) => { + if ( + r.nodes && + r.nodes.length > 0 && + typeof r.raws.after != "undefined" + ) + return ( + (t = r.raws.after), + t.includes(` +`) && (t = t.replace(/[^\n]+$/, "")), + !1 + ); + }), + t && (t = t.replace(/\S/g, "")), + t + ); + } + rawBeforeOpen(e) { + let t; + return ( + e.walk((r) => { + if ( + r.type !== "decl" && + ((t = r.raws.between), typeof t != "undefined") + ) + return !1; + }), + t + ); + } + rawColon(e) { + let t; + return ( + e.walkDecls((r) => { + if (typeof r.raws.between != "undefined") + return (t = r.raws.between.replace(/[^\s:]/g, "")), !1; + }), + t + ); + } + beforeAfter(e, t) { + let r; + e.type === "decl" + ? (r = this.raw(e, null, "beforeDecl")) + : e.type === "comment" + ? (r = this.raw(e, null, "beforeComment")) + : t === "before" + ? (r = this.raw(e, null, "beforeRule")) + : (r = this.raw(e, null, "beforeClose")); + let n = e.parent, + a = 0; + for (; n && n.type !== "root"; ) (a += 1), (n = n.parent); + if ( + r.includes(` +`) + ) { + let s = this.raw(e, null, "indent"); + if (s.length) for (let o = 0; o < a; o++) r += s; + } + return r; + } + rawValue(e, t) { + let r = e[t], + n = e.raws[t]; + return n && n.value === r ? n.raw : r; + } + }; + cf.exports = Ci; + Ci.default = Ci; + }); + var hr = v((dT, pf) => { + l(); + ("use strict"); + var l0 = vs(); + function xs(i, e) { + new l0(e).stringify(i); + } + pf.exports = xs; + xs.default = xs; + }); + var mr = v((hT, df) => { + l(); + ("use strict"); + var { isClean: Ai, my: u0 } = Si(), + f0 = ki(), + c0 = vs(), + p0 = hr(); + function ks(i, e) { + let t = new i.constructor(); + for (let r in i) { + if (!Object.prototype.hasOwnProperty.call(i, r) || r === "proxyCache") + continue; + let n = i[r], + a = typeof n; + r === "parent" && a === "object" + ? e && (t[r] = e) + : r === "source" + ? (t[r] = n) + : Array.isArray(n) + ? (t[r] = n.map((s) => ks(s, t))) + : (a === "object" && n !== null && (n = ks(n)), (t[r] = n)); + } + return t; + } + var _i = class { + constructor(e = {}) { + (this.raws = {}), (this[Ai] = !1), (this[u0] = !0); + for (let t in e) + if (t === "nodes") { + this.nodes = []; + for (let r of e[t]) + typeof r.clone == "function" + ? this.append(r.clone()) + : this.append(r); + } else this[t] = e[t]; + } + error(e, t = {}) { + if (this.source) { + let { start: r, end: n } = this.rangeBy(t); + return this.source.input.error( + e, + { line: r.line, column: r.column }, + { line: n.line, column: n.column }, + t, + ); + } + return new f0(e); + } + warn(e, t, r) { + let n = { node: this }; + for (let a in r) n[a] = r[a]; + return e.warn(t, n); + } + remove() { + return ( + this.parent && this.parent.removeChild(this), + (this.parent = void 0), + this + ); + } + toString(e = p0) { + e.stringify && (e = e.stringify); + let t = ""; + return ( + e(this, (r) => { + t += r; + }), + t + ); + } + assign(e = {}) { + for (let t in e) this[t] = e[t]; + return this; + } + clone(e = {}) { + let t = ks(this); + for (let r in e) t[r] = e[r]; + return t; + } + cloneBefore(e = {}) { + let t = this.clone(e); + return this.parent.insertBefore(this, t), t; + } + cloneAfter(e = {}) { + let t = this.clone(e); + return this.parent.insertAfter(this, t), t; + } + replaceWith(...e) { + if (this.parent) { + let t = this, + r = !1; + for (let n of e) + n === this + ? (r = !0) + : r + ? (this.parent.insertAfter(t, n), (t = n)) + : this.parent.insertBefore(t, n); + r || this.remove(); + } + return this; + } + next() { + if (!this.parent) return; + let e = this.parent.index(this); + return this.parent.nodes[e + 1]; + } + prev() { + if (!this.parent) return; + let e = this.parent.index(this); + return this.parent.nodes[e - 1]; + } + before(e) { + return this.parent.insertBefore(this, e), this; + } + after(e) { + return this.parent.insertAfter(this, e), this; + } + root() { + let e = this; + for (; e.parent && e.parent.type !== "document"; ) e = e.parent; + return e; + } + raw(e, t) { + return new c0().raw(this, e, t); + } + cleanRaws(e) { + delete this.raws.before, + delete this.raws.after, + e || delete this.raws.between; + } + toJSON(e, t) { + let r = {}, + n = t == null; + t = t || new Map(); + let a = 0; + for (let s in this) { + if ( + !Object.prototype.hasOwnProperty.call(this, s) || + s === "parent" || + s === "proxyCache" + ) + continue; + let o = this[s]; + if (Array.isArray(o)) + r[s] = o.map((u) => + typeof u == "object" && u.toJSON ? u.toJSON(null, t) : u, + ); + else if (typeof o == "object" && o.toJSON) r[s] = o.toJSON(null, t); + else if (s === "source") { + let u = t.get(o.input); + u == null && ((u = a), t.set(o.input, a), a++), + (r[s] = { inputId: u, start: o.start, end: o.end }); + } else r[s] = o; + } + return n && (r.inputs = [...t.keys()].map((s) => s.toJSON())), r; + } + positionInside(e) { + let t = this.toString(), + r = this.source.start.column, + n = this.source.start.line; + for (let a = 0; a < e; a++) + t[a] === + ` +` + ? ((r = 1), (n += 1)) + : (r += 1); + return { line: n, column: r }; + } + positionBy(e) { + let t = this.source.start; + if (e.index) t = this.positionInside(e.index); + else if (e.word) { + let r = this.toString().indexOf(e.word); + r !== -1 && (t = this.positionInside(r)); + } + return t; + } + rangeBy(e) { + let t = { + line: this.source.start.line, + column: this.source.start.column, + }, + r = this.source.end + ? { line: this.source.end.line, column: this.source.end.column + 1 } + : { line: t.line, column: t.column + 1 }; + if (e.word) { + let n = this.toString().indexOf(e.word); + n !== -1 && + ((t = this.positionInside(n)), + (r = this.positionInside(n + e.word.length))); + } else + e.start + ? (t = { line: e.start.line, column: e.start.column }) + : e.index && (t = this.positionInside(e.index)), + e.end + ? (r = { line: e.end.line, column: e.end.column }) + : e.endIndex + ? (r = this.positionInside(e.endIndex)) + : e.index && (r = this.positionInside(e.index + 1)); + return ( + (r.line < t.line || (r.line === t.line && r.column <= t.column)) && + (r = { line: t.line, column: t.column + 1 }), + { start: t, end: r } + ); + } + getProxyProcessor() { + return { + set(e, t, r) { + return ( + e[t] === r || + ((e[t] = r), + (t === "prop" || + t === "value" || + t === "name" || + t === "params" || + t === "important" || + t === "text") && + e.markDirty()), + !0 + ); + }, + get(e, t) { + return t === "proxyOf" + ? e + : t === "root" + ? () => e.root().toProxy() + : e[t]; + }, + }; + } + toProxy() { + return ( + this.proxyCache || + (this.proxyCache = new Proxy(this, this.getProxyProcessor())), + this.proxyCache + ); + } + addToError(e) { + if ( + ((e.postcssNode = this), + e.stack && this.source && /\n\s{4}at /.test(e.stack)) + ) { + let t = this.source; + e.stack = e.stack.replace( + /\n\s{4}at /, + `$&${t.input.from}:${t.start.line}:${t.start.column}$&`, + ); + } + return e; + } + markDirty() { + if (this[Ai]) { + this[Ai] = !1; + let e = this; + for (; (e = e.parent); ) e[Ai] = !1; + } + } + get proxyOf() { + return this; + } + }; + df.exports = _i; + _i.default = _i; + }); + var gr = v((mT, hf) => { + l(); + ("use strict"); + var d0 = mr(), + Oi = class extends d0 { + constructor(e) { + e && + typeof e.value != "undefined" && + typeof e.value != "string" && + (e = { ...e, value: String(e.value) }); + super(e); + this.type = "decl"; + } + get variable() { + return this.prop.startsWith("--") || this.prop[0] === "$"; + } + }; + hf.exports = Oi; + Oi.default = Oi; + }); + var Ss = v((gT, mf) => { + l(); + mf.exports = function (i, e) { + return { + generate: () => { + let t = ""; + return ( + i(e, (r) => { + t += r; + }), + [t] + ); + }, + }; + }; + }); + var yr = v((yT, gf) => { + l(); + ("use strict"); + var h0 = mr(), + Ei = class extends h0 { + constructor(e) { + super(e); + this.type = "comment"; + } + }; + gf.exports = Ei; + Ei.default = Ei; + }); + var it = v((wT, Af) => { + l(); + ("use strict"); + var { isClean: yf, my: wf } = Si(), + bf = gr(), + vf = yr(), + m0 = mr(), + xf, + Cs, + As, + kf; + function Sf(i) { + return i.map( + (e) => (e.nodes && (e.nodes = Sf(e.nodes)), delete e.source, e), + ); + } + function Cf(i) { + if (((i[yf] = !1), i.proxyOf.nodes)) for (let e of i.proxyOf.nodes) Cf(e); + } + var we = class extends m0 { + push(e) { + return (e.parent = this), this.proxyOf.nodes.push(e), this; + } + each(e) { + if (!this.proxyOf.nodes) return; + let t = this.getIterator(), + r, + n; + for ( + ; + this.indexes[t] < this.proxyOf.nodes.length && + ((r = this.indexes[t]), (n = e(this.proxyOf.nodes[r], r)), n !== !1); + + ) + this.indexes[t] += 1; + return delete this.indexes[t], n; + } + walk(e) { + return this.each((t, r) => { + let n; + try { + n = e(t, r); + } catch (a) { + throw t.addToError(a); + } + return n !== !1 && t.walk && (n = t.walk(e)), n; + }); + } + walkDecls(e, t) { + return t + ? e instanceof RegExp + ? this.walk((r, n) => { + if (r.type === "decl" && e.test(r.prop)) return t(r, n); + }) + : this.walk((r, n) => { + if (r.type === "decl" && r.prop === e) return t(r, n); + }) + : ((t = e), + this.walk((r, n) => { + if (r.type === "decl") return t(r, n); + })); + } + walkRules(e, t) { + return t + ? e instanceof RegExp + ? this.walk((r, n) => { + if (r.type === "rule" && e.test(r.selector)) return t(r, n); + }) + : this.walk((r, n) => { + if (r.type === "rule" && r.selector === e) return t(r, n); + }) + : ((t = e), + this.walk((r, n) => { + if (r.type === "rule") return t(r, n); + })); + } + walkAtRules(e, t) { + return t + ? e instanceof RegExp + ? this.walk((r, n) => { + if (r.type === "atrule" && e.test(r.name)) return t(r, n); + }) + : this.walk((r, n) => { + if (r.type === "atrule" && r.name === e) return t(r, n); + }) + : ((t = e), + this.walk((r, n) => { + if (r.type === "atrule") return t(r, n); + })); + } + walkComments(e) { + return this.walk((t, r) => { + if (t.type === "comment") return e(t, r); + }); + } + append(...e) { + for (let t of e) { + let r = this.normalize(t, this.last); + for (let n of r) this.proxyOf.nodes.push(n); + } + return this.markDirty(), this; + } + prepend(...e) { + e = e.reverse(); + for (let t of e) { + let r = this.normalize(t, this.first, "prepend").reverse(); + for (let n of r) this.proxyOf.nodes.unshift(n); + for (let n in this.indexes) + this.indexes[n] = this.indexes[n] + r.length; + } + return this.markDirty(), this; + } + cleanRaws(e) { + if ((super.cleanRaws(e), this.nodes)) + for (let t of this.nodes) t.cleanRaws(e); + } + insertBefore(e, t) { + let r = this.index(e), + n = r === 0 ? "prepend" : !1, + a = this.normalize(t, this.proxyOf.nodes[r], n).reverse(); + r = this.index(e); + for (let o of a) this.proxyOf.nodes.splice(r, 0, o); + let s; + for (let o in this.indexes) + (s = this.indexes[o]), r <= s && (this.indexes[o] = s + a.length); + return this.markDirty(), this; + } + insertAfter(e, t) { + let r = this.index(e), + n = this.normalize(t, this.proxyOf.nodes[r]).reverse(); + r = this.index(e); + for (let s of n) this.proxyOf.nodes.splice(r + 1, 0, s); + let a; + for (let s in this.indexes) + (a = this.indexes[s]), r < a && (this.indexes[s] = a + n.length); + return this.markDirty(), this; + } + removeChild(e) { + (e = this.index(e)), + (this.proxyOf.nodes[e].parent = void 0), + this.proxyOf.nodes.splice(e, 1); + let t; + for (let r in this.indexes) + (t = this.indexes[r]), t >= e && (this.indexes[r] = t - 1); + return this.markDirty(), this; + } + removeAll() { + for (let e of this.proxyOf.nodes) e.parent = void 0; + return (this.proxyOf.nodes = []), this.markDirty(), this; + } + replaceValues(e, t, r) { + return ( + r || ((r = t), (t = {})), + this.walkDecls((n) => { + (t.props && !t.props.includes(n.prop)) || + (t.fast && !n.value.includes(t.fast)) || + (n.value = n.value.replace(e, r)); + }), + this.markDirty(), + this + ); + } + every(e) { + return this.nodes.every(e); + } + some(e) { + return this.nodes.some(e); + } + index(e) { + return typeof e == "number" + ? e + : (e.proxyOf && (e = e.proxyOf), this.proxyOf.nodes.indexOf(e)); + } + get first() { + if (!!this.proxyOf.nodes) return this.proxyOf.nodes[0]; + } + get last() { + if (!!this.proxyOf.nodes) + return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]; + } + normalize(e, t) { + if (typeof e == "string") e = Sf(xf(e).nodes); + else if (Array.isArray(e)) { + e = e.slice(0); + for (let n of e) n.parent && n.parent.removeChild(n, "ignore"); + } else if (e.type === "root" && this.type !== "document") { + e = e.nodes.slice(0); + for (let n of e) n.parent && n.parent.removeChild(n, "ignore"); + } else if (e.type) e = [e]; + else if (e.prop) { + if (typeof e.value == "undefined") + throw new Error("Value field is missed in node creation"); + typeof e.value != "string" && (e.value = String(e.value)), + (e = [new bf(e)]); + } else if (e.selector) e = [new Cs(e)]; + else if (e.name) e = [new As(e)]; + else if (e.text) e = [new vf(e)]; + else throw new Error("Unknown node type in node creation"); + return e.map( + (n) => ( + n[wf] || we.rebuild(n), + (n = n.proxyOf), + n.parent && n.parent.removeChild(n), + n[yf] && Cf(n), + typeof n.raws.before == "undefined" && + t && + typeof t.raws.before != "undefined" && + (n.raws.before = t.raws.before.replace(/\S/g, "")), + (n.parent = this.proxyOf), + n + ), + ); + } + getProxyProcessor() { + return { + set(e, t, r) { + return ( + e[t] === r || + ((e[t] = r), + (t === "name" || t === "params" || t === "selector") && + e.markDirty()), + !0 + ); + }, + get(e, t) { + return t === "proxyOf" + ? e + : e[t] + ? t === "each" || (typeof t == "string" && t.startsWith("walk")) + ? (...r) => + e[t]( + ...r.map((n) => + typeof n == "function" + ? (a, s) => n(a.toProxy(), s) + : n, + ), + ) + : t === "every" || t === "some" + ? (r) => e[t]((n, ...a) => r(n.toProxy(), ...a)) + : t === "root" + ? () => e.root().toProxy() + : t === "nodes" + ? e.nodes.map((r) => r.toProxy()) + : t === "first" || t === "last" + ? e[t].toProxy() + : e[t] + : e[t]; + }, + }; + } + getIterator() { + this.lastEach || (this.lastEach = 0), + this.indexes || (this.indexes = {}), + (this.lastEach += 1); + let e = this.lastEach; + return (this.indexes[e] = 0), e; + } + }; + we.registerParse = (i) => { + xf = i; + }; + we.registerRule = (i) => { + Cs = i; + }; + we.registerAtRule = (i) => { + As = i; + }; + we.registerRoot = (i) => { + kf = i; + }; + Af.exports = we; + we.default = we; + we.rebuild = (i) => { + i.type === "atrule" + ? Object.setPrototypeOf(i, As.prototype) + : i.type === "rule" + ? Object.setPrototypeOf(i, Cs.prototype) + : i.type === "decl" + ? Object.setPrototypeOf(i, bf.prototype) + : i.type === "comment" + ? Object.setPrototypeOf(i, vf.prototype) + : i.type === "root" && Object.setPrototypeOf(i, kf.prototype), + (i[wf] = !0), + i.nodes && + i.nodes.forEach((e) => { + we.rebuild(e); + }); + }; + }); + var Ti = v((bT, Ef) => { + l(); + ("use strict"); + var g0 = it(), + _f, + Of, + Ot = class extends g0 { + constructor(e) { + super({ type: "document", ...e }); + this.nodes || (this.nodes = []); + } + toResult(e = {}) { + return new _f(new Of(), this, e).stringify(); + } + }; + Ot.registerLazyResult = (i) => { + _f = i; + }; + Ot.registerProcessor = (i) => { + Of = i; + }; + Ef.exports = Ot; + Ot.default = Ot; + }); + var _s = v((vT, Pf) => { + l(); + ("use strict"); + var Tf = {}; + Pf.exports = function (e) { + Tf[e] || + ((Tf[e] = !0), + typeof console != "undefined" && console.warn && console.warn(e)); + }; + }); + var Os = v((xT, Df) => { + l(); + ("use strict"); + var Pi = class { + constructor(e, t = {}) { + if ( + ((this.type = "warning"), (this.text = e), t.node && t.node.source) + ) { + let r = t.node.rangeBy(t); + (this.line = r.start.line), + (this.column = r.start.column), + (this.endLine = r.end.line), + (this.endColumn = r.end.column); + } + for (let r in t) this[r] = t[r]; + } + toString() { + return this.node + ? this.node.error(this.text, { + plugin: this.plugin, + index: this.index, + word: this.word, + }).message + : this.plugin + ? this.plugin + ": " + this.text + : this.text; + } + }; + Df.exports = Pi; + Pi.default = Pi; + }); + var Ii = v((kT, If) => { + l(); + ("use strict"); + var y0 = Os(), + Di = class { + constructor(e, t, r) { + (this.processor = e), + (this.messages = []), + (this.root = t), + (this.opts = r), + (this.css = void 0), + (this.map = void 0); + } + toString() { + return this.css; + } + warn(e, t = {}) { + t.plugin || + (this.lastPlugin && + this.lastPlugin.postcssPlugin && + (t.plugin = this.lastPlugin.postcssPlugin)); + let r = new y0(e, t); + return this.messages.push(r), r; + } + warnings() { + return this.messages.filter((e) => e.type === "warning"); + } + get content() { + return this.css; + } + }; + If.exports = Di; + Di.default = Di; + }); + var Ff = v((ST, Bf) => { + l(); + ("use strict"); + var Es = "'".charCodeAt(0), + qf = '"'.charCodeAt(0), + qi = "\\".charCodeAt(0), + Rf = "/".charCodeAt(0), + Ri = ` +`.charCodeAt(0), + wr = " ".charCodeAt(0), + Mi = "\f".charCodeAt(0), + Bi = " ".charCodeAt(0), + Fi = "\r".charCodeAt(0), + w0 = "[".charCodeAt(0), + b0 = "]".charCodeAt(0), + v0 = "(".charCodeAt(0), + x0 = ")".charCodeAt(0), + k0 = "{".charCodeAt(0), + S0 = "}".charCodeAt(0), + C0 = ";".charCodeAt(0), + A0 = "*".charCodeAt(0), + _0 = ":".charCodeAt(0), + O0 = "@".charCodeAt(0), + Ni = /[\t\n\f\r "#'()/;[\\\]{}]/g, + Li = /[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g, + E0 = /.[\n"'(/\\]/, + Mf = /[\da-f]/i; + Bf.exports = function (e, t = {}) { + let r = e.css.valueOf(), + n = t.ignoreErrors, + a, + s, + o, + u, + c, + f, + d, + p, + m, + w, + x = r.length, + y = 0, + b = [], + k = []; + function S() { + return y; + } + function _(q) { + throw e.error("Unclosed " + q, y); + } + function O() { + return k.length === 0 && y >= x; + } + function I(q) { + if (k.length) return k.pop(); + if (y >= x) return; + let X = q ? q.ignoreUnclosed : !1; + switch (((a = r.charCodeAt(y)), a)) { + case Ri: + case wr: + case Bi: + case Fi: + case Mi: { + s = y; + do (s += 1), (a = r.charCodeAt(s)); + while (a === wr || a === Ri || a === Bi || a === Fi || a === Mi); + (w = ["space", r.slice(y, s)]), (y = s - 1); + break; + } + case w0: + case b0: + case k0: + case S0: + case _0: + case C0: + case x0: { + let le = String.fromCharCode(a); + w = [le, le, y]; + break; + } + case v0: { + if ( + ((p = b.length ? b.pop()[1] : ""), + (m = r.charCodeAt(y + 1)), + p === "url" && + m !== Es && + m !== qf && + m !== wr && + m !== Ri && + m !== Bi && + m !== Mi && + m !== Fi) + ) { + s = y; + do { + if (((f = !1), (s = r.indexOf(")", s + 1)), s === -1)) + if (n || X) { + s = y; + break; + } else _("bracket"); + for (d = s; r.charCodeAt(d - 1) === qi; ) (d -= 1), (f = !f); + } while (f); + (w = ["brackets", r.slice(y, s + 1), y, s]), (y = s); + } else + (s = r.indexOf(")", y + 1)), + (u = r.slice(y, s + 1)), + s === -1 || E0.test(u) + ? (w = ["(", "(", y]) + : ((w = ["brackets", u, y, s]), (y = s)); + break; + } + case Es: + case qf: { + (o = a === Es ? "'" : '"'), (s = y); + do { + if (((f = !1), (s = r.indexOf(o, s + 1)), s === -1)) + if (n || X) { + s = y + 1; + break; + } else _("string"); + for (d = s; r.charCodeAt(d - 1) === qi; ) (d -= 1), (f = !f); + } while (f); + (w = ["string", r.slice(y, s + 1), y, s]), (y = s); + break; + } + case O0: { + (Ni.lastIndex = y + 1), + Ni.test(r), + Ni.lastIndex === 0 ? (s = r.length - 1) : (s = Ni.lastIndex - 2), + (w = ["at-word", r.slice(y, s + 1), y, s]), + (y = s); + break; + } + case qi: { + for (s = y, c = !0; r.charCodeAt(s + 1) === qi; ) + (s += 1), (c = !c); + if ( + ((a = r.charCodeAt(s + 1)), + c && + a !== Rf && + a !== wr && + a !== Ri && + a !== Bi && + a !== Fi && + a !== Mi && + ((s += 1), Mf.test(r.charAt(s)))) + ) { + for (; Mf.test(r.charAt(s + 1)); ) s += 1; + r.charCodeAt(s + 1) === wr && (s += 1); + } + (w = ["word", r.slice(y, s + 1), y, s]), (y = s); + break; + } + default: { + a === Rf && r.charCodeAt(y + 1) === A0 + ? ((s = r.indexOf("*/", y + 2) + 1), + s === 0 && (n || X ? (s = r.length) : _("comment")), + (w = ["comment", r.slice(y, s + 1), y, s]), + (y = s)) + : ((Li.lastIndex = y + 1), + Li.test(r), + Li.lastIndex === 0 + ? (s = r.length - 1) + : (s = Li.lastIndex - 2), + (w = ["word", r.slice(y, s + 1), y, s]), + b.push(w), + (y = s)); + break; + } + } + return y++, w; + } + function B(q) { + k.push(q); + } + return { back: B, nextToken: I, endOfFile: O, position: S }; + }; + }); + var $i = v((CT, Lf) => { + l(); + ("use strict"); + var Nf = it(), + br = class extends Nf { + constructor(e) { + super(e); + this.type = "atrule"; + } + append(...e) { + return this.proxyOf.nodes || (this.nodes = []), super.append(...e); + } + prepend(...e) { + return this.proxyOf.nodes || (this.nodes = []), super.prepend(...e); + } + }; + Lf.exports = br; + br.default = br; + Nf.registerAtRule(br); + }); + var Et = v((AT, Vf) => { + l(); + ("use strict"); + var $f = it(), + jf, + zf, + yt = class extends $f { + constructor(e) { + super(e); + (this.type = "root"), this.nodes || (this.nodes = []); + } + removeChild(e, t) { + let r = this.index(e); + return ( + !t && + r === 0 && + this.nodes.length > 1 && + (this.nodes[1].raws.before = this.nodes[r].raws.before), + super.removeChild(e) + ); + } + normalize(e, t, r) { + let n = super.normalize(e); + if (t) { + if (r === "prepend") + this.nodes.length > 1 + ? (t.raws.before = this.nodes[1].raws.before) + : delete t.raws.before; + else if (this.first !== t) + for (let a of n) a.raws.before = t.raws.before; + } + return n; + } + toResult(e = {}) { + return new jf(new zf(), this, e).stringify(); + } + }; + yt.registerLazyResult = (i) => { + jf = i; + }; + yt.registerProcessor = (i) => { + zf = i; + }; + Vf.exports = yt; + yt.default = yt; + $f.registerRoot(yt); + }); + var Ts = v((_T, Uf) => { + l(); + ("use strict"); + var vr = { + split(i, e, t) { + let r = [], + n = "", + a = !1, + s = 0, + o = !1, + u = "", + c = !1; + for (let f of i) + c + ? (c = !1) + : f === "\\" + ? (c = !0) + : o + ? f === u && (o = !1) + : f === '"' || f === "'" + ? ((o = !0), (u = f)) + : f === "(" + ? (s += 1) + : f === ")" + ? s > 0 && (s -= 1) + : s === 0 && e.includes(f) && (a = !0), + a ? (n !== "" && r.push(n.trim()), (n = ""), (a = !1)) : (n += f); + return (t || n !== "") && r.push(n.trim()), r; + }, + space(i) { + let e = [ + " ", + ` +`, + " ", + ]; + return vr.split(i, e); + }, + comma(i) { + return vr.split(i, [","], !0); + }, + }; + Uf.exports = vr; + vr.default = vr; + }); + var ji = v((OT, Gf) => { + l(); + ("use strict"); + var Wf = it(), + T0 = Ts(), + xr = class extends Wf { + constructor(e) { + super(e); + (this.type = "rule"), this.nodes || (this.nodes = []); + } + get selectors() { + return T0.comma(this.selector); + } + set selectors(e) { + let t = this.selector ? this.selector.match(/,\s*/) : null, + r = t ? t[0] : "," + this.raw("between", "beforeOpen"); + this.selector = e.join(r); + } + }; + Gf.exports = xr; + xr.default = xr; + Wf.registerRule(xr); + }); + var Xf = v((ET, Jf) => { + l(); + ("use strict"); + var P0 = gr(), + D0 = Ff(), + I0 = yr(), + q0 = $i(), + R0 = Et(), + Hf = ji(), + Yf = { empty: !0, space: !0 }; + function M0(i) { + for (let e = i.length - 1; e >= 0; e--) { + let t = i[e], + r = t[3] || t[2]; + if (r) return r; + } + } + var Qf = class { + constructor(e) { + (this.input = e), + (this.root = new R0()), + (this.current = this.root), + (this.spaces = ""), + (this.semicolon = !1), + (this.customProperty = !1), + this.createTokenizer(), + (this.root.source = { + input: e, + start: { offset: 0, line: 1, column: 1 }, + }); + } + createTokenizer() { + this.tokenizer = D0(this.input); + } + parse() { + let e; + for (; !this.tokenizer.endOfFile(); ) + switch (((e = this.tokenizer.nextToken()), e[0])) { + case "space": + this.spaces += e[1]; + break; + case ";": + this.freeSemicolon(e); + break; + case "}": + this.end(e); + break; + case "comment": + this.comment(e); + break; + case "at-word": + this.atrule(e); + break; + case "{": + this.emptyRule(e); + break; + default: + this.other(e); + break; + } + this.endFile(); + } + comment(e) { + let t = new I0(); + this.init(t, e[2]), (t.source.end = this.getPosition(e[3] || e[2])); + let r = e[1].slice(2, -2); + if (/^\s*$/.test(r)) + (t.text = ""), (t.raws.left = r), (t.raws.right = ""); + else { + let n = r.match(/^(\s*)([^]*\S)(\s*)$/); + (t.text = n[2]), (t.raws.left = n[1]), (t.raws.right = n[3]); + } + } + emptyRule(e) { + let t = new Hf(); + this.init(t, e[2]), + (t.selector = ""), + (t.raws.between = ""), + (this.current = t); + } + other(e) { + let t = !1, + r = null, + n = !1, + a = null, + s = [], + o = e[1].startsWith("--"), + u = [], + c = e; + for (; c; ) { + if (((r = c[0]), u.push(c), r === "(" || r === "[")) + a || (a = c), s.push(r === "(" ? ")" : "]"); + else if (o && n && r === "{") a || (a = c), s.push("}"); + else if (s.length === 0) + if (r === ";") + if (n) { + this.decl(u, o); + return; + } else break; + else if (r === "{") { + this.rule(u); + return; + } else if (r === "}") { + this.tokenizer.back(u.pop()), (t = !0); + break; + } else r === ":" && (n = !0); + else r === s[s.length - 1] && (s.pop(), s.length === 0 && (a = null)); + c = this.tokenizer.nextToken(); + } + if ( + (this.tokenizer.endOfFile() && (t = !0), + s.length > 0 && this.unclosedBracket(a), + t && n) + ) { + if (!o) + for ( + ; + u.length && + ((c = u[u.length - 1][0]), !(c !== "space" && c !== "comment")); + + ) + this.tokenizer.back(u.pop()); + this.decl(u, o); + } else this.unknownWord(u); + } + rule(e) { + e.pop(); + let t = new Hf(); + this.init(t, e[0][2]), + (t.raws.between = this.spacesAndCommentsFromEnd(e)), + this.raw(t, "selector", e), + (this.current = t); + } + decl(e, t) { + let r = new P0(); + this.init(r, e[0][2]); + let n = e[e.length - 1]; + for ( + n[0] === ";" && ((this.semicolon = !0), e.pop()), + r.source.end = this.getPosition(n[3] || n[2] || M0(e)); + e[0][0] !== "word"; + + ) + e.length === 1 && this.unknownWord(e), + (r.raws.before += e.shift()[1]); + for ( + r.source.start = this.getPosition(e[0][2]), r.prop = ""; + e.length; + + ) { + let c = e[0][0]; + if (c === ":" || c === "space" || c === "comment") break; + r.prop += e.shift()[1]; + } + r.raws.between = ""; + let a; + for (; e.length; ) + if (((a = e.shift()), a[0] === ":")) { + r.raws.between += a[1]; + break; + } else + a[0] === "word" && /\w/.test(a[1]) && this.unknownWord([a]), + (r.raws.between += a[1]); + (r.prop[0] === "_" || r.prop[0] === "*") && + ((r.raws.before += r.prop[0]), (r.prop = r.prop.slice(1))); + let s = [], + o; + for ( + ; + e.length && ((o = e[0][0]), !(o !== "space" && o !== "comment")); + + ) + s.push(e.shift()); + this.precheckMissedSemicolon(e); + for (let c = e.length - 1; c >= 0; c--) { + if (((a = e[c]), a[1].toLowerCase() === "!important")) { + r.important = !0; + let f = this.stringFrom(e, c); + (f = this.spacesFromEnd(e) + f), + f !== " !important" && (r.raws.important = f); + break; + } else if (a[1].toLowerCase() === "important") { + let f = e.slice(0), + d = ""; + for (let p = c; p > 0; p--) { + let m = f[p][0]; + if (d.trim().indexOf("!") === 0 && m !== "space") break; + d = f.pop()[1] + d; + } + d.trim().indexOf("!") === 0 && + ((r.important = !0), (r.raws.important = d), (e = f)); + } + if (a[0] !== "space" && a[0] !== "comment") break; + } + e.some((c) => c[0] !== "space" && c[0] !== "comment") && + ((r.raws.between += s.map((c) => c[1]).join("")), (s = [])), + this.raw(r, "value", s.concat(e), t), + r.value.includes(":") && !t && this.checkMissedSemicolon(e); + } + atrule(e) { + let t = new q0(); + (t.name = e[1].slice(1)), + t.name === "" && this.unnamedAtrule(t, e), + this.init(t, e[2]); + let r, + n, + a, + s = !1, + o = !1, + u = [], + c = []; + for (; !this.tokenizer.endOfFile(); ) { + if ( + ((e = this.tokenizer.nextToken()), + (r = e[0]), + r === "(" || r === "[" + ? c.push(r === "(" ? ")" : "]") + : r === "{" && c.length > 0 + ? c.push("}") + : r === c[c.length - 1] && c.pop(), + c.length === 0) + ) + if (r === ";") { + (t.source.end = this.getPosition(e[2])), (this.semicolon = !0); + break; + } else if (r === "{") { + o = !0; + break; + } else if (r === "}") { + if (u.length > 0) { + for (a = u.length - 1, n = u[a]; n && n[0] === "space"; ) + n = u[--a]; + n && (t.source.end = this.getPosition(n[3] || n[2])); + } + this.end(e); + break; + } else u.push(e); + else u.push(e); + if (this.tokenizer.endOfFile()) { + s = !0; + break; + } + } + (t.raws.between = this.spacesAndCommentsFromEnd(u)), + u.length + ? ((t.raws.afterName = this.spacesAndCommentsFromStart(u)), + this.raw(t, "params", u), + s && + ((e = u[u.length - 1]), + (t.source.end = this.getPosition(e[3] || e[2])), + (this.spaces = t.raws.between), + (t.raws.between = ""))) + : ((t.raws.afterName = ""), (t.params = "")), + o && ((t.nodes = []), (this.current = t)); + } + end(e) { + this.current.nodes && + this.current.nodes.length && + (this.current.raws.semicolon = this.semicolon), + (this.semicolon = !1), + (this.current.raws.after = + (this.current.raws.after || "") + this.spaces), + (this.spaces = ""), + this.current.parent + ? ((this.current.source.end = this.getPosition(e[2])), + (this.current = this.current.parent)) + : this.unexpectedClose(e); + } + endFile() { + this.current.parent && this.unclosedBlock(), + this.current.nodes && + this.current.nodes.length && + (this.current.raws.semicolon = this.semicolon), + (this.current.raws.after = + (this.current.raws.after || "") + this.spaces); + } + freeSemicolon(e) { + if (((this.spaces += e[1]), this.current.nodes)) { + let t = this.current.nodes[this.current.nodes.length - 1]; + t && + t.type === "rule" && + !t.raws.ownSemicolon && + ((t.raws.ownSemicolon = this.spaces), (this.spaces = "")); + } + } + getPosition(e) { + let t = this.input.fromOffset(e); + return { offset: e, line: t.line, column: t.col }; + } + init(e, t) { + this.current.push(e), + (e.source = { start: this.getPosition(t), input: this.input }), + (e.raws.before = this.spaces), + (this.spaces = ""), + e.type !== "comment" && (this.semicolon = !1); + } + raw(e, t, r, n) { + let a, + s, + o = r.length, + u = "", + c = !0, + f, + d; + for (let p = 0; p < o; p += 1) + (a = r[p]), + (s = a[0]), + s === "space" && p === o - 1 && !n + ? (c = !1) + : s === "comment" + ? ((d = r[p - 1] ? r[p - 1][0] : "empty"), + (f = r[p + 1] ? r[p + 1][0] : "empty"), + !Yf[d] && !Yf[f] + ? u.slice(-1) === "," + ? (c = !1) + : (u += a[1]) + : (c = !1)) + : (u += a[1]); + if (!c) { + let p = r.reduce((m, w) => m + w[1], ""); + e.raws[t] = { value: u, raw: p }; + } + e[t] = u; + } + spacesAndCommentsFromEnd(e) { + let t, + r = ""; + for ( + ; + e.length && + ((t = e[e.length - 1][0]), !(t !== "space" && t !== "comment")); + + ) + r = e.pop()[1] + r; + return r; + } + spacesAndCommentsFromStart(e) { + let t, + r = ""; + for ( + ; + e.length && ((t = e[0][0]), !(t !== "space" && t !== "comment")); + + ) + r += e.shift()[1]; + return r; + } + spacesFromEnd(e) { + let t, + r = ""; + for (; e.length && ((t = e[e.length - 1][0]), t === "space"); ) + r = e.pop()[1] + r; + return r; + } + stringFrom(e, t) { + let r = ""; + for (let n = t; n < e.length; n++) r += e[n][1]; + return e.splice(t, e.length - t), r; + } + colon(e) { + let t = 0, + r, + n, + a; + for (let [s, o] of e.entries()) { + if ( + ((r = o), + (n = r[0]), + n === "(" && (t += 1), + n === ")" && (t -= 1), + t === 0 && n === ":") + ) + if (!a) this.doubleColon(r); + else { + if (a[0] === "word" && a[1] === "progid") continue; + return s; + } + a = r; + } + return !1; + } + unclosedBracket(e) { + throw this.input.error( + "Unclosed bracket", + { offset: e[2] }, + { offset: e[2] + 1 }, + ); + } + unknownWord(e) { + throw this.input.error( + "Unknown word", + { offset: e[0][2] }, + { offset: e[0][2] + e[0][1].length }, + ); + } + unexpectedClose(e) { + throw this.input.error( + "Unexpected }", + { offset: e[2] }, + { offset: e[2] + 1 }, + ); + } + unclosedBlock() { + let e = this.current.source.start; + throw this.input.error("Unclosed block", e.line, e.column); + } + doubleColon(e) { + throw this.input.error( + "Double colon", + { offset: e[2] }, + { offset: e[2] + e[1].length }, + ); + } + unnamedAtrule(e, t) { + throw this.input.error( + "At-rule without name", + { offset: t[2] }, + { offset: t[2] + t[1].length }, + ); + } + precheckMissedSemicolon() {} + checkMissedSemicolon(e) { + let t = this.colon(e); + if (t === !1) return; + let r = 0, + n; + for ( + let a = t - 1; + a >= 0 && ((n = e[a]), !(n[0] !== "space" && ((r += 1), r === 2))); + a-- + ); + throw this.input.error( + "Missed semicolon", + n[0] === "word" ? n[3] + 1 : n[2], + ); + } + }; + Jf.exports = Qf; + }); + var Kf = v(() => { + l(); + }); + var ec = v((DT, Zf) => { + l(); + var B0 = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", + F0 = + (i, e = 21) => + (t = e) => { + let r = "", + n = t; + for (; n--; ) r += i[(Math.random() * i.length) | 0]; + return r; + }, + N0 = (i = 21) => { + let e = "", + t = i; + for (; t--; ) e += B0[(Math.random() * 64) | 0]; + return e; + }; + Zf.exports = { nanoid: N0, customAlphabet: F0 }; + }); + var Ps = v((IT, tc) => { + l(); + tc.exports = {}; + }); + var Vi = v((qT, sc) => { + l(); + ("use strict"); + var { SourceMapConsumer: L0, SourceMapGenerator: $0 } = Kf(), + { fileURLToPath: rc, pathToFileURL: zi } = (ys(), af), + { resolve: Ds, isAbsolute: Is } = (gt(), rf), + { nanoid: j0 } = ec(), + qs = ws(), + ic = ki(), + z0 = Ps(), + Rs = Symbol("fromOffsetCache"), + V0 = Boolean(L0 && $0), + nc = Boolean(Ds && Is), + kr = class { + constructor(e, t = {}) { + if ( + e === null || + typeof e == "undefined" || + (typeof e == "object" && !e.toString) + ) + throw new Error(`PostCSS received ${e} instead of CSS string`); + if ( + ((this.css = e.toString()), + this.css[0] === "\uFEFF" || this.css[0] === "\uFFFE" + ? ((this.hasBOM = !0), (this.css = this.css.slice(1))) + : (this.hasBOM = !1), + t.from && + (!nc || /^\w+:\/\//.test(t.from) || Is(t.from) + ? (this.file = t.from) + : (this.file = Ds(t.from))), + nc && V0) + ) { + let r = new z0(this.css, t); + if (r.text) { + this.map = r; + let n = r.consumer().file; + !this.file && n && (this.file = this.mapResolve(n)); + } + } + this.file || (this.id = ""), + this.map && (this.map.file = this.from); + } + fromOffset(e) { + let t, r; + if (this[Rs]) r = this[Rs]; + else { + let a = this.css.split(` +`); + r = new Array(a.length); + let s = 0; + for (let o = 0, u = a.length; o < u; o++) + (r[o] = s), (s += a[o].length + 1); + this[Rs] = r; + } + t = r[r.length - 1]; + let n = 0; + if (e >= t) n = r.length - 1; + else { + let a = r.length - 2, + s; + for (; n < a; ) + if (((s = n + ((a - n) >> 1)), e < r[s])) a = s - 1; + else if (e >= r[s + 1]) n = s + 1; + else { + n = s; + break; + } + } + return { line: n + 1, col: e - r[n] + 1 }; + } + error(e, t, r, n = {}) { + let a, s, o; + if (t && typeof t == "object") { + let c = t, + f = r; + if (typeof c.offset == "number") { + let d = this.fromOffset(c.offset); + (t = d.line), (r = d.col); + } else (t = c.line), (r = c.column); + if (typeof f.offset == "number") { + let d = this.fromOffset(f.offset); + (s = d.line), (o = d.col); + } else (s = f.line), (o = f.column); + } else if (!r) { + let c = this.fromOffset(t); + (t = c.line), (r = c.col); + } + let u = this.origin(t, r, s, o); + return ( + u + ? (a = new ic( + e, + u.endLine === void 0 + ? u.line + : { line: u.line, column: u.column }, + u.endLine === void 0 + ? u.column + : { line: u.endLine, column: u.endColumn }, + u.source, + u.file, + n.plugin, + )) + : (a = new ic( + e, + s === void 0 ? t : { line: t, column: r }, + s === void 0 ? r : { line: s, column: o }, + this.css, + this.file, + n.plugin, + )), + (a.input = { + line: t, + column: r, + endLine: s, + endColumn: o, + source: this.css, + }), + this.file && + (zi && (a.input.url = zi(this.file).toString()), + (a.input.file = this.file)), + a + ); + } + origin(e, t, r, n) { + if (!this.map) return !1; + let a = this.map.consumer(), + s = a.originalPositionFor({ line: e, column: t }); + if (!s.source) return !1; + let o; + typeof r == "number" && + (o = a.originalPositionFor({ line: r, column: n })); + let u; + Is(s.source) + ? (u = zi(s.source)) + : (u = new URL( + s.source, + this.map.consumer().sourceRoot || zi(this.map.mapFile), + )); + let c = { + url: u.toString(), + line: s.line, + column: s.column, + endLine: o && o.line, + endColumn: o && o.column, + }; + if (u.protocol === "file:") + if (rc) c.file = rc(u); + else + throw new Error( + "file: protocol is not available in this PostCSS build", + ); + let f = a.sourceContentFor(s.source); + return f && (c.source = f), c; + } + mapResolve(e) { + return /^\w+:\/\//.test(e) + ? e + : Ds(this.map.consumer().sourceRoot || this.map.root || ".", e); + } + get from() { + return this.file || this.id; + } + toJSON() { + let e = {}; + for (let t of ["hasBOM", "css", "file", "id"]) + this[t] != null && (e[t] = this[t]); + return ( + this.map && + ((e.map = { ...this.map }), + e.map.consumerCache && (e.map.consumerCache = void 0)), + e + ); + } + }; + sc.exports = kr; + kr.default = kr; + qs && qs.registerInput && qs.registerInput(kr); + }); + var Wi = v((RT, ac) => { + l(); + ("use strict"); + var U0 = it(), + W0 = Xf(), + G0 = Vi(); + function Ui(i, e) { + let t = new G0(i, e), + r = new W0(t); + try { + r.parse(); + } catch (n) { + throw n; + } + return r.root; + } + ac.exports = Ui; + Ui.default = Ui; + U0.registerParse(Ui); + }); + var Fs = v((BT, fc) => { + l(); + ("use strict"); + var { isClean: Ie, my: H0 } = Si(), + Y0 = Ss(), + Q0 = hr(), + J0 = it(), + X0 = Ti(), + MT = _s(), + oc = Ii(), + K0 = Wi(), + Z0 = Et(), + ev = { + document: "Document", + root: "Root", + atrule: "AtRule", + rule: "Rule", + decl: "Declaration", + comment: "Comment", + }, + tv = { + postcssPlugin: !0, + prepare: !0, + Once: !0, + Document: !0, + Root: !0, + Declaration: !0, + Rule: !0, + AtRule: !0, + Comment: !0, + DeclarationExit: !0, + RuleExit: !0, + AtRuleExit: !0, + CommentExit: !0, + RootExit: !0, + DocumentExit: !0, + OnceExit: !0, + }, + rv = { postcssPlugin: !0, prepare: !0, Once: !0 }, + Tt = 0; + function Sr(i) { + return typeof i == "object" && typeof i.then == "function"; + } + function lc(i) { + let e = !1, + t = ev[i.type]; + return ( + i.type === "decl" + ? (e = i.prop.toLowerCase()) + : i.type === "atrule" && (e = i.name.toLowerCase()), + e && i.append + ? [t, t + "-" + e, Tt, t + "Exit", t + "Exit-" + e] + : e + ? [t, t + "-" + e, t + "Exit", t + "Exit-" + e] + : i.append + ? [t, Tt, t + "Exit"] + : [t, t + "Exit"] + ); + } + function uc(i) { + let e; + return ( + i.type === "document" + ? (e = ["Document", Tt, "DocumentExit"]) + : i.type === "root" + ? (e = ["Root", Tt, "RootExit"]) + : (e = lc(i)), + { + node: i, + events: e, + eventIndex: 0, + visitors: [], + visitorIndex: 0, + iterator: 0, + } + ); + } + function Ms(i) { + return (i[Ie] = !1), i.nodes && i.nodes.forEach((e) => Ms(e)), i; + } + var Bs = {}, + Ve = class { + constructor(e, t, r) { + (this.stringified = !1), (this.processed = !1); + let n; + if ( + typeof t == "object" && + t !== null && + (t.type === "root" || t.type === "document") + ) + n = Ms(t); + else if (t instanceof Ve || t instanceof oc) + (n = Ms(t.root)), + t.map && + (typeof r.map == "undefined" && (r.map = {}), + r.map.inline || (r.map.inline = !1), + (r.map.prev = t.map)); + else { + let a = K0; + r.syntax && (a = r.syntax.parse), + r.parser && (a = r.parser), + a.parse && (a = a.parse); + try { + n = a(t, r); + } catch (s) { + (this.processed = !0), (this.error = s); + } + n && !n[H0] && J0.rebuild(n); + } + (this.result = new oc(e, n, r)), + (this.helpers = { ...Bs, result: this.result, postcss: Bs }), + (this.plugins = this.processor.plugins.map((a) => + typeof a == "object" && a.prepare + ? { ...a, ...a.prepare(this.result) } + : a, + )); + } + get [Symbol.toStringTag]() { + return "LazyResult"; + } + get processor() { + return this.result.processor; + } + get opts() { + return this.result.opts; + } + get css() { + return this.stringify().css; + } + get content() { + return this.stringify().content; + } + get map() { + return this.stringify().map; + } + get root() { + return this.sync().root; + } + get messages() { + return this.sync().messages; + } + warnings() { + return this.sync().warnings(); + } + toString() { + return this.css; + } + then(e, t) { + return this.async().then(e, t); + } + catch(e) { + return this.async().catch(e); + } + finally(e) { + return this.async().then(e, e); + } + async() { + return this.error + ? Promise.reject(this.error) + : this.processed + ? Promise.resolve(this.result) + : (this.processing || (this.processing = this.runAsync()), + this.processing); + } + sync() { + if (this.error) throw this.error; + if (this.processed) return this.result; + if (((this.processed = !0), this.processing)) + throw this.getAsyncError(); + for (let e of this.plugins) { + let t = this.runOnRoot(e); + if (Sr(t)) throw this.getAsyncError(); + } + if ((this.prepareVisitors(), this.hasListener)) { + let e = this.result.root; + for (; !e[Ie]; ) (e[Ie] = !0), this.walkSync(e); + if (this.listeners.OnceExit) + if (e.type === "document") + for (let t of e.nodes) + this.visitSync(this.listeners.OnceExit, t); + else this.visitSync(this.listeners.OnceExit, e); + } + return this.result; + } + stringify() { + if (this.error) throw this.error; + if (this.stringified) return this.result; + (this.stringified = !0), this.sync(); + let e = this.result.opts, + t = Q0; + e.syntax && (t = e.syntax.stringify), + e.stringifier && (t = e.stringifier), + t.stringify && (t = t.stringify); + let n = new Y0(t, this.result.root, this.result.opts).generate(); + return ( + (this.result.css = n[0]), (this.result.map = n[1]), this.result + ); + } + walkSync(e) { + e[Ie] = !0; + let t = lc(e); + for (let r of t) + if (r === Tt) + e.nodes && + e.each((n) => { + n[Ie] || this.walkSync(n); + }); + else { + let n = this.listeners[r]; + if (n && this.visitSync(n, e.toProxy())) return; + } + } + visitSync(e, t) { + for (let [r, n] of e) { + this.result.lastPlugin = r; + let a; + try { + a = n(t, this.helpers); + } catch (s) { + throw this.handleError(s, t.proxyOf); + } + if (t.type !== "root" && t.type !== "document" && !t.parent) + return !0; + if (Sr(a)) throw this.getAsyncError(); + } + } + runOnRoot(e) { + this.result.lastPlugin = e; + try { + if (typeof e == "object" && e.Once) { + if (this.result.root.type === "document") { + let t = this.result.root.nodes.map((r) => + e.Once(r, this.helpers), + ); + return Sr(t[0]) ? Promise.all(t) : t; + } + return e.Once(this.result.root, this.helpers); + } else if (typeof e == "function") + return e(this.result.root, this.result); + } catch (t) { + throw this.handleError(t); + } + } + getAsyncError() { + throw new Error( + "Use process(css).then(cb) to work with async plugins", + ); + } + handleError(e, t) { + let r = this.result.lastPlugin; + try { + t && t.addToError(e), + (this.error = e), + e.name === "CssSyntaxError" && !e.plugin + ? ((e.plugin = r.postcssPlugin), e.setMessage()) + : r.postcssVersion; + } catch (n) { + console && console.error && console.error(n); + } + return e; + } + async runAsync() { + this.plugin = 0; + for (let e = 0; e < this.plugins.length; e++) { + let t = this.plugins[e], + r = this.runOnRoot(t); + if (Sr(r)) + try { + await r; + } catch (n) { + throw this.handleError(n); + } + } + if ((this.prepareVisitors(), this.hasListener)) { + let e = this.result.root; + for (; !e[Ie]; ) { + e[Ie] = !0; + let t = [uc(e)]; + for (; t.length > 0; ) { + let r = this.visitTick(t); + if (Sr(r)) + try { + await r; + } catch (n) { + let a = t[t.length - 1].node; + throw this.handleError(n, a); + } + } + } + if (this.listeners.OnceExit) + for (let [t, r] of this.listeners.OnceExit) { + this.result.lastPlugin = t; + try { + if (e.type === "document") { + let n = e.nodes.map((a) => r(a, this.helpers)); + await Promise.all(n); + } else await r(e, this.helpers); + } catch (n) { + throw this.handleError(n); + } + } + } + return (this.processed = !0), this.stringify(); + } + prepareVisitors() { + this.listeners = {}; + let e = (t, r, n) => { + this.listeners[r] || (this.listeners[r] = []), + this.listeners[r].push([t, n]); + }; + for (let t of this.plugins) + if (typeof t == "object") + for (let r in t) { + if (!tv[r] && /^[A-Z]/.test(r)) + throw new Error( + `Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`, + ); + if (!rv[r]) + if (typeof t[r] == "object") + for (let n in t[r]) + n === "*" + ? e(t, r, t[r][n]) + : e(t, r + "-" + n.toLowerCase(), t[r][n]); + else typeof t[r] == "function" && e(t, r, t[r]); + } + this.hasListener = Object.keys(this.listeners).length > 0; + } + visitTick(e) { + let t = e[e.length - 1], + { node: r, visitors: n } = t; + if (r.type !== "root" && r.type !== "document" && !r.parent) { + e.pop(); + return; + } + if (n.length > 0 && t.visitorIndex < n.length) { + let [s, o] = n[t.visitorIndex]; + (t.visitorIndex += 1), + t.visitorIndex === n.length && + ((t.visitors = []), (t.visitorIndex = 0)), + (this.result.lastPlugin = s); + try { + return o(r.toProxy(), this.helpers); + } catch (u) { + throw this.handleError(u, r); + } + } + if (t.iterator !== 0) { + let s = t.iterator, + o; + for (; (o = r.nodes[r.indexes[s]]); ) + if (((r.indexes[s] += 1), !o[Ie])) { + (o[Ie] = !0), e.push(uc(o)); + return; + } + (t.iterator = 0), delete r.indexes[s]; + } + let a = t.events; + for (; t.eventIndex < a.length; ) { + let s = a[t.eventIndex]; + if (((t.eventIndex += 1), s === Tt)) { + r.nodes && + r.nodes.length && + ((r[Ie] = !0), (t.iterator = r.getIterator())); + return; + } else if (this.listeners[s]) { + t.visitors = this.listeners[s]; + return; + } + } + e.pop(); + } + }; + Ve.registerPostcss = (i) => { + Bs = i; + }; + fc.exports = Ve; + Ve.default = Ve; + Z0.registerLazyResult(Ve); + X0.registerLazyResult(Ve); + }); + var pc = v((NT, cc) => { + l(); + ("use strict"); + var iv = Ss(), + nv = hr(), + FT = _s(), + sv = Wi(), + av = Ii(), + Gi = class { + constructor(e, t, r) { + (t = t.toString()), + (this.stringified = !1), + (this._processor = e), + (this._css = t), + (this._opts = r), + (this._map = void 0); + let n, + a = nv; + (this.result = new av(this._processor, n, this._opts)), + (this.result.css = t); + let s = this; + Object.defineProperty(this.result, "root", { + get() { + return s.root; + }, + }); + let o = new iv(a, n, this._opts, t); + if (o.isMap()) { + let [u, c] = o.generate(); + u && (this.result.css = u), c && (this.result.map = c); + } + } + get [Symbol.toStringTag]() { + return "NoWorkResult"; + } + get processor() { + return this.result.processor; + } + get opts() { + return this.result.opts; + } + get css() { + return this.result.css; + } + get content() { + return this.result.css; + } + get map() { + return this.result.map; + } + get root() { + if (this._root) return this._root; + let e, + t = sv; + try { + e = t(this._css, this._opts); + } catch (r) { + this.error = r; + } + if (this.error) throw this.error; + return (this._root = e), e; + } + get messages() { + return []; + } + warnings() { + return []; + } + toString() { + return this._css; + } + then(e, t) { + return this.async().then(e, t); + } + catch(e) { + return this.async().catch(e); + } + finally(e) { + return this.async().then(e, e); + } + async() { + return this.error + ? Promise.reject(this.error) + : Promise.resolve(this.result); + } + sync() { + if (this.error) throw this.error; + return this.result; + } + }; + cc.exports = Gi; + Gi.default = Gi; + }); + var hc = v((LT, dc) => { + l(); + ("use strict"); + var ov = pc(), + lv = Fs(), + uv = Ti(), + fv = Et(), + Pt = class { + constructor(e = []) { + (this.version = "8.4.24"), (this.plugins = this.normalize(e)); + } + use(e) { + return ( + (this.plugins = this.plugins.concat(this.normalize([e]))), this + ); + } + process(e, t = {}) { + return this.plugins.length === 0 && + typeof t.parser == "undefined" && + typeof t.stringifier == "undefined" && + typeof t.syntax == "undefined" + ? new ov(this, e, t) + : new lv(this, e, t); + } + normalize(e) { + let t = []; + for (let r of e) + if ( + (r.postcss === !0 ? (r = r()) : r.postcss && (r = r.postcss), + typeof r == "object" && Array.isArray(r.plugins)) + ) + t = t.concat(r.plugins); + else if (typeof r == "object" && r.postcssPlugin) t.push(r); + else if (typeof r == "function") t.push(r); + else if (!(typeof r == "object" && (r.parse || r.stringify))) + throw new Error(r + " is not a PostCSS plugin"); + return t; + } + }; + dc.exports = Pt; + Pt.default = Pt; + fv.registerProcessor(Pt); + uv.registerProcessor(Pt); + }); + var gc = v(($T, mc) => { + l(); + ("use strict"); + var cv = gr(), + pv = Ps(), + dv = yr(), + hv = $i(), + mv = Vi(), + gv = Et(), + yv = ji(); + function Cr(i, e) { + if (Array.isArray(i)) return i.map((n) => Cr(n)); + let { inputs: t, ...r } = i; + if (t) { + e = []; + for (let n of t) { + let a = { ...n, __proto__: mv.prototype }; + a.map && (a.map = { ...a.map, __proto__: pv.prototype }), e.push(a); + } + } + if ((r.nodes && (r.nodes = i.nodes.map((n) => Cr(n, e))), r.source)) { + let { inputId: n, ...a } = r.source; + (r.source = a), n != null && (r.source.input = e[n]); + } + if (r.type === "root") return new gv(r); + if (r.type === "decl") return new cv(r); + if (r.type === "rule") return new yv(r); + if (r.type === "comment") return new dv(r); + if (r.type === "atrule") return new hv(r); + throw new Error("Unknown node type: " + i.type); + } + mc.exports = Cr; + Cr.default = Cr; + }); + var ge = v((jT, Sc) => { + l(); + ("use strict"); + var wv = ki(), + yc = gr(), + bv = Fs(), + vv = it(), + Ns = hc(), + xv = hr(), + kv = gc(), + wc = Ti(), + Sv = Os(), + bc = yr(), + vc = $i(), + Cv = Ii(), + Av = Vi(), + _v = Wi(), + Ov = Ts(), + xc = ji(), + kc = Et(), + Ev = mr(); + function z(...i) { + return i.length === 1 && Array.isArray(i[0]) && (i = i[0]), new Ns(i); + } + z.plugin = function (e, t) { + let r = !1; + function n(...s) { + console && + console.warn && + !r && + ((r = !0), + console.warn( + e + + `: postcss.plugin was deprecated. Migration guide: +https://evilmartians.com/chronicles/postcss-8-plugin-migration`, + ), + h.env.LANG && + h.env.LANG.startsWith("cn") && + console.warn( + e + + `: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: +https://www.w3ctech.com/topic/2226`, + )); + let o = t(...s); + return (o.postcssPlugin = e), (o.postcssVersion = new Ns().version), o; + } + let a; + return ( + Object.defineProperty(n, "postcss", { + get() { + return a || (a = n()), a; + }, + }), + (n.process = function (s, o, u) { + return z([n(u)]).process(s, o); + }), + n + ); + }; + z.stringify = xv; + z.parse = _v; + z.fromJSON = kv; + z.list = Ov; + z.comment = (i) => new bc(i); + z.atRule = (i) => new vc(i); + z.decl = (i) => new yc(i); + z.rule = (i) => new xc(i); + z.root = (i) => new kc(i); + z.document = (i) => new wc(i); + z.CssSyntaxError = wv; + z.Declaration = yc; + z.Container = vv; + z.Processor = Ns; + z.Document = wc; + z.Comment = bc; + z.Warning = Sv; + z.AtRule = vc; + z.Result = Cv; + z.Input = Av; + z.Rule = xc; + z.Root = kc; + z.Node = Ev; + bv.registerPostcss(z); + Sc.exports = z; + z.default = z; + }); + var W, + V, + zT, + VT, + UT, + WT, + GT, + HT, + YT, + QT, + JT, + XT, + KT, + ZT, + e3, + t3, + r3, + i3, + n3, + s3, + a3, + o3, + l3, + u3, + f3, + c3, + nt = C(() => { + l(); + (W = K(ge())), + (V = W.default), + (zT = W.default.stringify), + (VT = W.default.fromJSON), + (UT = W.default.plugin), + (WT = W.default.parse), + (GT = W.default.list), + (HT = W.default.document), + (YT = W.default.comment), + (QT = W.default.atRule), + (JT = W.default.rule), + (XT = W.default.decl), + (KT = W.default.root), + (ZT = W.default.CssSyntaxError), + (e3 = W.default.Declaration), + (t3 = W.default.Container), + (r3 = W.default.Processor), + (i3 = W.default.Document), + (n3 = W.default.Comment), + (s3 = W.default.Warning), + (a3 = W.default.AtRule), + (o3 = W.default.Result), + (l3 = W.default.Input), + (u3 = W.default.Rule), + (f3 = W.default.Root), + (c3 = W.default.Node); + }); + var Ls = v((d3, Cc) => { + l(); + Cc.exports = function (i, e, t, r, n) { + for (e = e.split ? e.split(".") : e, r = 0; r < e.length; r++) + i = i ? i[e[r]] : n; + return i === n ? t : i; + }; + }); + var Yi = v((Hi, Ac) => { + l(); + ("use strict"); + Hi.__esModule = !0; + Hi.default = Dv; + function Tv(i) { + for ( + var e = i.toLowerCase(), t = "", r = !1, n = 0; + n < 6 && e[n] !== void 0; + n++ + ) { + var a = e.charCodeAt(n), + s = (a >= 97 && a <= 102) || (a >= 48 && a <= 57); + if (((r = a === 32), !s)) break; + t += e[n]; + } + if (t.length !== 0) { + var o = parseInt(t, 16), + u = o >= 55296 && o <= 57343; + return u || o === 0 || o > 1114111 + ? ["\uFFFD", t.length + (r ? 1 : 0)] + : [String.fromCodePoint(o), t.length + (r ? 1 : 0)]; + } + } + var Pv = /\\/; + function Dv(i) { + var e = Pv.test(i); + if (!e) return i; + for (var t = "", r = 0; r < i.length; r++) { + if (i[r] === "\\") { + var n = Tv(i.slice(r + 1, r + 7)); + if (n !== void 0) { + (t += n[0]), (r += n[1]); + continue; + } + if (i[r + 1] === "\\") { + (t += "\\"), r++; + continue; + } + i.length === r + 1 && (t += i[r]); + continue; + } + t += i[r]; + } + return t; + } + Ac.exports = Hi.default; + }); + var Oc = v((Qi, _c) => { + l(); + ("use strict"); + Qi.__esModule = !0; + Qi.default = Iv; + function Iv(i) { + for ( + var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), r = 1; + r < e; + r++ + ) + t[r - 1] = arguments[r]; + for (; t.length > 0; ) { + var n = t.shift(); + if (!i[n]) return; + i = i[n]; + } + return i; + } + _c.exports = Qi.default; + }); + var Tc = v((Ji, Ec) => { + l(); + ("use strict"); + Ji.__esModule = !0; + Ji.default = qv; + function qv(i) { + for ( + var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), r = 1; + r < e; + r++ + ) + t[r - 1] = arguments[r]; + for (; t.length > 0; ) { + var n = t.shift(); + i[n] || (i[n] = {}), (i = i[n]); + } + } + Ec.exports = Ji.default; + }); + var Dc = v((Xi, Pc) => { + l(); + ("use strict"); + Xi.__esModule = !0; + Xi.default = Rv; + function Rv(i) { + for (var e = "", t = i.indexOf("/*"), r = 0; t >= 0; ) { + e = e + i.slice(r, t); + var n = i.indexOf("*/", t + 2); + if (n < 0) return e; + (r = n + 2), (t = i.indexOf("/*", r)); + } + return (e = e + i.slice(r)), e; + } + Pc.exports = Xi.default; + }); + var Ar = v((qe) => { + l(); + ("use strict"); + qe.__esModule = !0; + qe.unesc = qe.stripComments = qe.getProp = qe.ensureObject = void 0; + var Mv = Ki(Yi()); + qe.unesc = Mv.default; + var Bv = Ki(Oc()); + qe.getProp = Bv.default; + var Fv = Ki(Tc()); + qe.ensureObject = Fv.default; + var Nv = Ki(Dc()); + qe.stripComments = Nv.default; + function Ki(i) { + return i && i.__esModule ? i : { default: i }; + } + }); + var Ue = v((_r, Rc) => { + l(); + ("use strict"); + _r.__esModule = !0; + _r.default = void 0; + var Ic = Ar(); + function qc(i, e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(i, r.key, r); + } + } + function Lv(i, e, t) { + return ( + e && qc(i.prototype, e), + t && qc(i, t), + Object.defineProperty(i, "prototype", { writable: !1 }), + i + ); + } + var $v = function i(e, t) { + if (typeof e != "object" || e === null) return e; + var r = new e.constructor(); + for (var n in e) + if (!!e.hasOwnProperty(n)) { + var a = e[n], + s = typeof a; + n === "parent" && s === "object" + ? t && (r[n] = t) + : a instanceof Array + ? (r[n] = a.map(function (o) { + return i(o, r); + })) + : (r[n] = i(a, r)); + } + return r; + }, + jv = (function () { + function i(t) { + t === void 0 && (t = {}), + Object.assign(this, t), + (this.spaces = this.spaces || {}), + (this.spaces.before = this.spaces.before || ""), + (this.spaces.after = this.spaces.after || ""); + } + var e = i.prototype; + return ( + (e.remove = function () { + return ( + this.parent && this.parent.removeChild(this), + (this.parent = void 0), + this + ); + }), + (e.replaceWith = function () { + if (this.parent) { + for (var r in arguments) + this.parent.insertBefore(this, arguments[r]); + this.remove(); + } + return this; + }), + (e.next = function () { + return this.parent.at(this.parent.index(this) + 1); + }), + (e.prev = function () { + return this.parent.at(this.parent.index(this) - 1); + }), + (e.clone = function (r) { + r === void 0 && (r = {}); + var n = $v(this); + for (var a in r) n[a] = r[a]; + return n; + }), + (e.appendToPropertyAndEscape = function (r, n, a) { + this.raws || (this.raws = {}); + var s = this[r], + o = this.raws[r]; + (this[r] = s + n), + o || a !== n + ? (this.raws[r] = (o || s) + a) + : delete this.raws[r]; + }), + (e.setPropertyAndEscape = function (r, n, a) { + this.raws || (this.raws = {}), (this[r] = n), (this.raws[r] = a); + }), + (e.setPropertyWithoutEscape = function (r, n) { + (this[r] = n), this.raws && delete this.raws[r]; + }), + (e.isAtPosition = function (r, n) { + if (this.source && this.source.start && this.source.end) + return !( + this.source.start.line > r || + this.source.end.line < r || + (this.source.start.line === r && + this.source.start.column > n) || + (this.source.end.line === r && this.source.end.column < n) + ); + }), + (e.stringifyProperty = function (r) { + return (this.raws && this.raws[r]) || this[r]; + }), + (e.valueToString = function () { + return String(this.stringifyProperty("value")); + }), + (e.toString = function () { + return [ + this.rawSpaceBefore, + this.valueToString(), + this.rawSpaceAfter, + ].join(""); + }), + Lv(i, [ + { + key: "rawSpaceBefore", + get: function () { + var r = + this.raws && this.raws.spaces && this.raws.spaces.before; + return ( + r === void 0 && (r = this.spaces && this.spaces.before), + r || "" + ); + }, + set: function (r) { + (0, Ic.ensureObject)(this, "raws", "spaces"), + (this.raws.spaces.before = r); + }, + }, + { + key: "rawSpaceAfter", + get: function () { + var r = this.raws && this.raws.spaces && this.raws.spaces.after; + return r === void 0 && (r = this.spaces.after), r || ""; + }, + set: function (r) { + (0, Ic.ensureObject)(this, "raws", "spaces"), + (this.raws.spaces.after = r); + }, + }, + ]), + i + ); + })(); + _r.default = jv; + Rc.exports = _r.default; + }); + var se = v((G) => { + l(); + ("use strict"); + G.__esModule = !0; + G.UNIVERSAL = + G.TAG = + G.STRING = + G.SELECTOR = + G.ROOT = + G.PSEUDO = + G.NESTING = + G.ID = + G.COMMENT = + G.COMBINATOR = + G.CLASS = + G.ATTRIBUTE = + void 0; + var zv = "tag"; + G.TAG = zv; + var Vv = "string"; + G.STRING = Vv; + var Uv = "selector"; + G.SELECTOR = Uv; + var Wv = "root"; + G.ROOT = Wv; + var Gv = "pseudo"; + G.PSEUDO = Gv; + var Hv = "nesting"; + G.NESTING = Hv; + var Yv = "id"; + G.ID = Yv; + var Qv = "comment"; + G.COMMENT = Qv; + var Jv = "combinator"; + G.COMBINATOR = Jv; + var Xv = "class"; + G.CLASS = Xv; + var Kv = "attribute"; + G.ATTRIBUTE = Kv; + var Zv = "universal"; + G.UNIVERSAL = Zv; + }); + var Zi = v((Or, Nc) => { + l(); + ("use strict"); + Or.__esModule = !0; + Or.default = void 0; + var ex = rx(Ue()), + We = tx(se()); + function Mc(i) { + if (typeof WeakMap != "function") return null; + var e = new WeakMap(), + t = new WeakMap(); + return (Mc = function (n) { + return n ? t : e; + })(i); + } + function tx(i, e) { + if (!e && i && i.__esModule) return i; + if (i === null || (typeof i != "object" && typeof i != "function")) + return { default: i }; + var t = Mc(e); + if (t && t.has(i)) return t.get(i); + var r = {}, + n = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var a in i) + if (a !== "default" && Object.prototype.hasOwnProperty.call(i, a)) { + var s = n ? Object.getOwnPropertyDescriptor(i, a) : null; + s && (s.get || s.set) + ? Object.defineProperty(r, a, s) + : (r[a] = i[a]); + } + return (r.default = i), t && t.set(i, r), r; + } + function rx(i) { + return i && i.__esModule ? i : { default: i }; + } + function ix(i, e) { + var t = + (typeof Symbol != "undefined" && i[Symbol.iterator]) || i["@@iterator"]; + if (t) return (t = t.call(i)).next.bind(t); + if ( + Array.isArray(i) || + (t = nx(i)) || + (e && i && typeof i.length == "number") + ) { + t && (i = t); + var r = 0; + return function () { + return r >= i.length ? { done: !0 } : { done: !1, value: i[r++] }; + }; + } + throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`); + } + function nx(i, e) { + if (!!i) { + if (typeof i == "string") return Bc(i, e); + var t = Object.prototype.toString.call(i).slice(8, -1); + if ( + (t === "Object" && i.constructor && (t = i.constructor.name), + t === "Map" || t === "Set") + ) + return Array.from(i); + if ( + t === "Arguments" || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) + ) + return Bc(i, e); + } + } + function Bc(i, e) { + (e == null || e > i.length) && (e = i.length); + for (var t = 0, r = new Array(e); t < e; t++) r[t] = i[t]; + return r; + } + function Fc(i, e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(i, r.key, r); + } + } + function sx(i, e, t) { + return ( + e && Fc(i.prototype, e), + t && Fc(i, t), + Object.defineProperty(i, "prototype", { writable: !1 }), + i + ); + } + function ax(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + $s(i, e); + } + function $s(i, e) { + return ( + ($s = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + $s(i, e) + ); + } + var ox = (function (i) { + ax(e, i); + function e(r) { + var n; + return (n = i.call(this, r) || this), n.nodes || (n.nodes = []), n; + } + var t = e.prototype; + return ( + (t.append = function (n) { + return (n.parent = this), this.nodes.push(n), this; + }), + (t.prepend = function (n) { + return (n.parent = this), this.nodes.unshift(n), this; + }), + (t.at = function (n) { + return this.nodes[n]; + }), + (t.index = function (n) { + return typeof n == "number" ? n : this.nodes.indexOf(n); + }), + (t.removeChild = function (n) { + (n = this.index(n)), + (this.at(n).parent = void 0), + this.nodes.splice(n, 1); + var a; + for (var s in this.indexes) + (a = this.indexes[s]), a >= n && (this.indexes[s] = a - 1); + return this; + }), + (t.removeAll = function () { + for (var n = ix(this.nodes), a; !(a = n()).done; ) { + var s = a.value; + s.parent = void 0; + } + return (this.nodes = []), this; + }), + (t.empty = function () { + return this.removeAll(); + }), + (t.insertAfter = function (n, a) { + a.parent = this; + var s = this.index(n); + this.nodes.splice(s + 1, 0, a), (a.parent = this); + var o; + for (var u in this.indexes) + (o = this.indexes[u]), s <= o && (this.indexes[u] = o + 1); + return this; + }), + (t.insertBefore = function (n, a) { + a.parent = this; + var s = this.index(n); + this.nodes.splice(s, 0, a), (a.parent = this); + var o; + for (var u in this.indexes) + (o = this.indexes[u]), o <= s && (this.indexes[u] = o + 1); + return this; + }), + (t._findChildAtPosition = function (n, a) { + var s = void 0; + return ( + this.each(function (o) { + if (o.atPosition) { + var u = o.atPosition(n, a); + if (u) return (s = u), !1; + } else if (o.isAtPosition(n, a)) return (s = o), !1; + }), + s + ); + }), + (t.atPosition = function (n, a) { + if (this.isAtPosition(n, a)) + return this._findChildAtPosition(n, a) || this; + }), + (t._inferEndPosition = function () { + this.last && + this.last.source && + this.last.source.end && + ((this.source = this.source || {}), + (this.source.end = this.source.end || {}), + Object.assign(this.source.end, this.last.source.end)); + }), + (t.each = function (n) { + this.lastEach || (this.lastEach = 0), + this.indexes || (this.indexes = {}), + this.lastEach++; + var a = this.lastEach; + if (((this.indexes[a] = 0), !!this.length)) { + for ( + var s, o; + this.indexes[a] < this.length && + ((s = this.indexes[a]), (o = n(this.at(s), s)), o !== !1); + + ) + this.indexes[a] += 1; + if ((delete this.indexes[a], o === !1)) return !1; + } + }), + (t.walk = function (n) { + return this.each(function (a, s) { + var o = n(a, s); + if ((o !== !1 && a.length && (o = a.walk(n)), o === !1)) return !1; + }); + }), + (t.walkAttributes = function (n) { + var a = this; + return this.walk(function (s) { + if (s.type === We.ATTRIBUTE) return n.call(a, s); + }); + }), + (t.walkClasses = function (n) { + var a = this; + return this.walk(function (s) { + if (s.type === We.CLASS) return n.call(a, s); + }); + }), + (t.walkCombinators = function (n) { + var a = this; + return this.walk(function (s) { + if (s.type === We.COMBINATOR) return n.call(a, s); + }); + }), + (t.walkComments = function (n) { + var a = this; + return this.walk(function (s) { + if (s.type === We.COMMENT) return n.call(a, s); + }); + }), + (t.walkIds = function (n) { + var a = this; + return this.walk(function (s) { + if (s.type === We.ID) return n.call(a, s); + }); + }), + (t.walkNesting = function (n) { + var a = this; + return this.walk(function (s) { + if (s.type === We.NESTING) return n.call(a, s); + }); + }), + (t.walkPseudos = function (n) { + var a = this; + return this.walk(function (s) { + if (s.type === We.PSEUDO) return n.call(a, s); + }); + }), + (t.walkTags = function (n) { + var a = this; + return this.walk(function (s) { + if (s.type === We.TAG) return n.call(a, s); + }); + }), + (t.walkUniversals = function (n) { + var a = this; + return this.walk(function (s) { + if (s.type === We.UNIVERSAL) return n.call(a, s); + }); + }), + (t.split = function (n) { + var a = this, + s = []; + return this.reduce(function (o, u, c) { + var f = n.call(a, u); + return ( + s.push(u), + f ? (o.push(s), (s = [])) : c === a.length - 1 && o.push(s), + o + ); + }, []); + }), + (t.map = function (n) { + return this.nodes.map(n); + }), + (t.reduce = function (n, a) { + return this.nodes.reduce(n, a); + }), + (t.every = function (n) { + return this.nodes.every(n); + }), + (t.some = function (n) { + return this.nodes.some(n); + }), + (t.filter = function (n) { + return this.nodes.filter(n); + }), + (t.sort = function (n) { + return this.nodes.sort(n); + }), + (t.toString = function () { + return this.map(String).join(""); + }), + sx(e, [ + { + key: "first", + get: function () { + return this.at(0); + }, + }, + { + key: "last", + get: function () { + return this.at(this.length - 1); + }, + }, + { + key: "length", + get: function () { + return this.nodes.length; + }, + }, + ]), + e + ); + })(ex.default); + Or.default = ox; + Nc.exports = Or.default; + }); + var zs = v((Er, $c) => { + l(); + ("use strict"); + Er.__esModule = !0; + Er.default = void 0; + var lx = fx(Zi()), + ux = se(); + function fx(i) { + return i && i.__esModule ? i : { default: i }; + } + function Lc(i, e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(i, r.key, r); + } + } + function cx(i, e, t) { + return ( + e && Lc(i.prototype, e), + t && Lc(i, t), + Object.defineProperty(i, "prototype", { writable: !1 }), + i + ); + } + function px(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + js(i, e); + } + function js(i, e) { + return ( + (js = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + js(i, e) + ); + } + var dx = (function (i) { + px(e, i); + function e(r) { + var n; + return (n = i.call(this, r) || this), (n.type = ux.ROOT), n; + } + var t = e.prototype; + return ( + (t.toString = function () { + var n = this.reduce(function (a, s) { + return a.push(String(s)), a; + }, []).join(","); + return this.trailingComma ? n + "," : n; + }), + (t.error = function (n, a) { + return this._error ? this._error(n, a) : new Error(n); + }), + cx(e, [ + { + key: "errorGenerator", + set: function (n) { + this._error = n; + }, + }, + ]), + e + ); + })(lx.default); + Er.default = dx; + $c.exports = Er.default; + }); + var Us = v((Tr, jc) => { + l(); + ("use strict"); + Tr.__esModule = !0; + Tr.default = void 0; + var hx = gx(Zi()), + mx = se(); + function gx(i) { + return i && i.__esModule ? i : { default: i }; + } + function yx(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + Vs(i, e); + } + function Vs(i, e) { + return ( + (Vs = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + Vs(i, e) + ); + } + var wx = (function (i) { + yx(e, i); + function e(t) { + var r; + return (r = i.call(this, t) || this), (r.type = mx.SELECTOR), r; + } + return e; + })(hx.default); + Tr.default = wx; + jc.exports = Tr.default; + }); + var en = v((g3, zc) => { + l(); + ("use strict"); + var bx = {}, + vx = bx.hasOwnProperty, + xx = function (e, t) { + if (!e) return t; + var r = {}; + for (var n in t) r[n] = vx.call(e, n) ? e[n] : t[n]; + return r; + }, + kx = /[ -,\.\/:-@\[-\^`\{-~]/, + Sx = /[ -,\.\/:-@\[\]\^`\{-~]/, + Cx = /(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g, + Ws = function i(e, t) { + (t = xx(t, i.options)), + t.quotes != "single" && t.quotes != "double" && (t.quotes = "single"); + for ( + var r = t.quotes == "double" ? '"' : "'", + n = t.isIdentifier, + a = e.charAt(0), + s = "", + o = 0, + u = e.length; + o < u; + + ) { + var c = e.charAt(o++), + f = c.charCodeAt(), + d = void 0; + if (f < 32 || f > 126) { + if (f >= 55296 && f <= 56319 && o < u) { + var p = e.charCodeAt(o++); + (p & 64512) == 56320 + ? (f = ((f & 1023) << 10) + (p & 1023) + 65536) + : o--; + } + d = "\\" + f.toString(16).toUpperCase() + " "; + } else + t.escapeEverything + ? kx.test(c) + ? (d = "\\" + c) + : (d = "\\" + f.toString(16).toUpperCase() + " ") + : /[\t\n\f\r\x0B]/.test(c) + ? (d = "\\" + f.toString(16).toUpperCase() + " ") + : c == "\\" || + (!n && ((c == '"' && r == c) || (c == "'" && r == c))) || + (n && Sx.test(c)) + ? (d = "\\" + c) + : (d = c); + s += d; + } + return ( + n && + (/^-[-\d]/.test(s) + ? (s = "\\-" + s.slice(1)) + : /\d/.test(a) && (s = "\\3" + a + " " + s.slice(1))), + (s = s.replace(Cx, function (m, w, x) { + return w && w.length % 2 ? m : (w || "") + x; + })), + !n && t.wrap ? r + s + r : s + ); + }; + Ws.options = { + escapeEverything: !1, + isIdentifier: !1, + quotes: "single", + wrap: !1, + }; + Ws.version = "3.0.0"; + zc.exports = Ws; + }); + var Hs = v((Pr, Wc) => { + l(); + ("use strict"); + Pr.__esModule = !0; + Pr.default = void 0; + var Ax = Vc(en()), + _x = Ar(), + Ox = Vc(Ue()), + Ex = se(); + function Vc(i) { + return i && i.__esModule ? i : { default: i }; + } + function Uc(i, e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(i, r.key, r); + } + } + function Tx(i, e, t) { + return ( + e && Uc(i.prototype, e), + t && Uc(i, t), + Object.defineProperty(i, "prototype", { writable: !1 }), + i + ); + } + function Px(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + Gs(i, e); + } + function Gs(i, e) { + return ( + (Gs = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + Gs(i, e) + ); + } + var Dx = (function (i) { + Px(e, i); + function e(r) { + var n; + return ( + (n = i.call(this, r) || this), + (n.type = Ex.CLASS), + (n._constructed = !0), + n + ); + } + var t = e.prototype; + return ( + (t.valueToString = function () { + return "." + i.prototype.valueToString.call(this); + }), + Tx(e, [ + { + key: "value", + get: function () { + return this._value; + }, + set: function (n) { + if (this._constructed) { + var a = (0, Ax.default)(n, { isIdentifier: !0 }); + a !== n + ? ((0, _x.ensureObject)(this, "raws"), (this.raws.value = a)) + : this.raws && delete this.raws.value; + } + this._value = n; + }, + }, + ]), + e + ); + })(Ox.default); + Pr.default = Dx; + Wc.exports = Pr.default; + }); + var Qs = v((Dr, Gc) => { + l(); + ("use strict"); + Dr.__esModule = !0; + Dr.default = void 0; + var Ix = Rx(Ue()), + qx = se(); + function Rx(i) { + return i && i.__esModule ? i : { default: i }; + } + function Mx(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + Ys(i, e); + } + function Ys(i, e) { + return ( + (Ys = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + Ys(i, e) + ); + } + var Bx = (function (i) { + Mx(e, i); + function e(t) { + var r; + return (r = i.call(this, t) || this), (r.type = qx.COMMENT), r; + } + return e; + })(Ix.default); + Dr.default = Bx; + Gc.exports = Dr.default; + }); + var Xs = v((Ir, Hc) => { + l(); + ("use strict"); + Ir.__esModule = !0; + Ir.default = void 0; + var Fx = Lx(Ue()), + Nx = se(); + function Lx(i) { + return i && i.__esModule ? i : { default: i }; + } + function $x(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + Js(i, e); + } + function Js(i, e) { + return ( + (Js = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + Js(i, e) + ); + } + var jx = (function (i) { + $x(e, i); + function e(r) { + var n; + return (n = i.call(this, r) || this), (n.type = Nx.ID), n; + } + var t = e.prototype; + return ( + (t.valueToString = function () { + return "#" + i.prototype.valueToString.call(this); + }), + e + ); + })(Fx.default); + Ir.default = jx; + Hc.exports = Ir.default; + }); + var tn = v((qr, Jc) => { + l(); + ("use strict"); + qr.__esModule = !0; + qr.default = void 0; + var zx = Yc(en()), + Vx = Ar(), + Ux = Yc(Ue()); + function Yc(i) { + return i && i.__esModule ? i : { default: i }; + } + function Qc(i, e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(i, r.key, r); + } + } + function Wx(i, e, t) { + return ( + e && Qc(i.prototype, e), + t && Qc(i, t), + Object.defineProperty(i, "prototype", { writable: !1 }), + i + ); + } + function Gx(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + Ks(i, e); + } + function Ks(i, e) { + return ( + (Ks = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + Ks(i, e) + ); + } + var Hx = (function (i) { + Gx(e, i); + function e() { + return i.apply(this, arguments) || this; + } + var t = e.prototype; + return ( + (t.qualifiedName = function (n) { + return this.namespace ? this.namespaceString + "|" + n : n; + }), + (t.valueToString = function () { + return this.qualifiedName(i.prototype.valueToString.call(this)); + }), + Wx(e, [ + { + key: "namespace", + get: function () { + return this._namespace; + }, + set: function (n) { + if (n === !0 || n === "*" || n === "&") { + (this._namespace = n), this.raws && delete this.raws.namespace; + return; + } + var a = (0, zx.default)(n, { isIdentifier: !0 }); + (this._namespace = n), + a !== n + ? ((0, Vx.ensureObject)(this, "raws"), + (this.raws.namespace = a)) + : this.raws && delete this.raws.namespace; + }, + }, + { + key: "ns", + get: function () { + return this._namespace; + }, + set: function (n) { + this.namespace = n; + }, + }, + { + key: "namespaceString", + get: function () { + if (this.namespace) { + var n = this.stringifyProperty("namespace"); + return n === !0 ? "" : n; + } else return ""; + }, + }, + ]), + e + ); + })(Ux.default); + qr.default = Hx; + Jc.exports = qr.default; + }); + var ea = v((Rr, Xc) => { + l(); + ("use strict"); + Rr.__esModule = !0; + Rr.default = void 0; + var Yx = Jx(tn()), + Qx = se(); + function Jx(i) { + return i && i.__esModule ? i : { default: i }; + } + function Xx(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + Zs(i, e); + } + function Zs(i, e) { + return ( + (Zs = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + Zs(i, e) + ); + } + var Kx = (function (i) { + Xx(e, i); + function e(t) { + var r; + return (r = i.call(this, t) || this), (r.type = Qx.TAG), r; + } + return e; + })(Yx.default); + Rr.default = Kx; + Xc.exports = Rr.default; + }); + var ra = v((Mr, Kc) => { + l(); + ("use strict"); + Mr.__esModule = !0; + Mr.default = void 0; + var Zx = t1(Ue()), + e1 = se(); + function t1(i) { + return i && i.__esModule ? i : { default: i }; + } + function r1(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + ta(i, e); + } + function ta(i, e) { + return ( + (ta = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + ta(i, e) + ); + } + var i1 = (function (i) { + r1(e, i); + function e(t) { + var r; + return (r = i.call(this, t) || this), (r.type = e1.STRING), r; + } + return e; + })(Zx.default); + Mr.default = i1; + Kc.exports = Mr.default; + }); + var na = v((Br, Zc) => { + l(); + ("use strict"); + Br.__esModule = !0; + Br.default = void 0; + var n1 = a1(Zi()), + s1 = se(); + function a1(i) { + return i && i.__esModule ? i : { default: i }; + } + function o1(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + ia(i, e); + } + function ia(i, e) { + return ( + (ia = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + ia(i, e) + ); + } + var l1 = (function (i) { + o1(e, i); + function e(r) { + var n; + return (n = i.call(this, r) || this), (n.type = s1.PSEUDO), n; + } + var t = e.prototype; + return ( + (t.toString = function () { + var n = this.length ? "(" + this.map(String).join(",") + ")" : ""; + return [ + this.rawSpaceBefore, + this.stringifyProperty("value"), + n, + this.rawSpaceAfter, + ].join(""); + }), + e + ); + })(n1.default); + Br.default = l1; + Zc.exports = Br.default; + }); + var ep = {}; + Ae(ep, { deprecate: () => u1 }); + function u1(i) { + return i; + } + var tp = C(() => { + l(); + }); + var ip = v((y3, rp) => { + l(); + rp.exports = (tp(), ep).deprecate; + }); + var fa = v((Lr) => { + l(); + ("use strict"); + Lr.__esModule = !0; + Lr.default = void 0; + Lr.unescapeValue = la; + var Fr = aa(en()), + f1 = aa(Yi()), + c1 = aa(tn()), + p1 = se(), + sa; + function aa(i) { + return i && i.__esModule ? i : { default: i }; + } + function np(i, e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(i, r.key, r); + } + } + function d1(i, e, t) { + return ( + e && np(i.prototype, e), + t && np(i, t), + Object.defineProperty(i, "prototype", { writable: !1 }), + i + ); + } + function h1(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + oa(i, e); + } + function oa(i, e) { + return ( + (oa = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + oa(i, e) + ); + } + var Nr = ip(), + m1 = /^('|")([^]*)\1$/, + g1 = Nr( + function () {}, + "Assigning an attribute a value containing characters that might need to be escaped is deprecated. Call attribute.setValue() instead.", + ), + y1 = Nr( + function () {}, + "Assigning attr.quoted is deprecated and has no effect. Assign to attr.quoteMark instead.", + ), + w1 = Nr( + function () {}, + "Constructing an Attribute selector with a value without specifying quoteMark is deprecated. Note: The value should be unescaped now.", + ); + function la(i) { + var e = !1, + t = null, + r = i, + n = r.match(m1); + return ( + n && ((t = n[1]), (r = n[2])), + (r = (0, f1.default)(r)), + r !== i && (e = !0), + { deprecatedUsage: e, unescaped: r, quoteMark: t } + ); + } + function b1(i) { + if (i.quoteMark !== void 0 || i.value === void 0) return i; + w1(); + var e = la(i.value), + t = e.quoteMark, + r = e.unescaped; + return ( + i.raws || (i.raws = {}), + i.raws.value === void 0 && (i.raws.value = i.value), + (i.value = r), + (i.quoteMark = t), + i + ); + } + var rn = (function (i) { + h1(e, i); + function e(r) { + var n; + return ( + r === void 0 && (r = {}), + (n = i.call(this, b1(r)) || this), + (n.type = p1.ATTRIBUTE), + (n.raws = n.raws || {}), + Object.defineProperty(n.raws, "unquoted", { + get: Nr(function () { + return n.value; + }, "attr.raws.unquoted is deprecated. Call attr.value instead."), + set: Nr(function () { + return n.value; + }, "Setting attr.raws.unquoted is deprecated and has no effect. attr.value is unescaped by default now."), + }), + (n._constructed = !0), + n + ); + } + var t = e.prototype; + return ( + (t.getQuotedValue = function (n) { + n === void 0 && (n = {}); + var a = this._determineQuoteMark(n), + s = ua[a], + o = (0, Fr.default)(this._value, s); + return o; + }), + (t._determineQuoteMark = function (n) { + return n.smart ? this.smartQuoteMark(n) : this.preferredQuoteMark(n); + }), + (t.setValue = function (n, a) { + a === void 0 && (a = {}), + (this._value = n), + (this._quoteMark = this._determineQuoteMark(a)), + this._syncRawValue(); + }), + (t.smartQuoteMark = function (n) { + var a = this.value, + s = a.replace(/[^']/g, "").length, + o = a.replace(/[^"]/g, "").length; + if (s + o === 0) { + var u = (0, Fr.default)(a, { isIdentifier: !0 }); + if (u === a) return e.NO_QUOTE; + var c = this.preferredQuoteMark(n); + if (c === e.NO_QUOTE) { + var f = this.quoteMark || n.quoteMark || e.DOUBLE_QUOTE, + d = ua[f], + p = (0, Fr.default)(a, d); + if (p.length < u.length) return f; + } + return c; + } else + return o === s + ? this.preferredQuoteMark(n) + : o < s + ? e.DOUBLE_QUOTE + : e.SINGLE_QUOTE; + }), + (t.preferredQuoteMark = function (n) { + var a = n.preferCurrentQuoteMark ? this.quoteMark : n.quoteMark; + return ( + a === void 0 && + (a = n.preferCurrentQuoteMark ? n.quoteMark : this.quoteMark), + a === void 0 && (a = e.DOUBLE_QUOTE), + a + ); + }), + (t._syncRawValue = function () { + var n = (0, Fr.default)(this._value, ua[this.quoteMark]); + n === this._value + ? this.raws && delete this.raws.value + : (this.raws.value = n); + }), + (t._handleEscapes = function (n, a) { + if (this._constructed) { + var s = (0, Fr.default)(a, { isIdentifier: !0 }); + s !== a ? (this.raws[n] = s) : delete this.raws[n]; + } + }), + (t._spacesFor = function (n) { + var a = { before: "", after: "" }, + s = this.spaces[n] || {}, + o = (this.raws.spaces && this.raws.spaces[n]) || {}; + return Object.assign(a, s, o); + }), + (t._stringFor = function (n, a, s) { + a === void 0 && (a = n), s === void 0 && (s = sp); + var o = this._spacesFor(a); + return s(this.stringifyProperty(n), o); + }), + (t.offsetOf = function (n) { + var a = 1, + s = this._spacesFor("attribute"); + if (((a += s.before.length), n === "namespace" || n === "ns")) + return this.namespace ? a : -1; + if ( + n === "attributeNS" || + ((a += this.namespaceString.length), + this.namespace && (a += 1), + n === "attribute") + ) + return a; + (a += this.stringifyProperty("attribute").length), + (a += s.after.length); + var o = this._spacesFor("operator"); + a += o.before.length; + var u = this.stringifyProperty("operator"); + if (n === "operator") return u ? a : -1; + (a += u.length), (a += o.after.length); + var c = this._spacesFor("value"); + a += c.before.length; + var f = this.stringifyProperty("value"); + if (n === "value") return f ? a : -1; + (a += f.length), (a += c.after.length); + var d = this._spacesFor("insensitive"); + return ( + (a += d.before.length), + n === "insensitive" && this.insensitive ? a : -1 + ); + }), + (t.toString = function () { + var n = this, + a = [this.rawSpaceBefore, "["]; + return ( + a.push(this._stringFor("qualifiedAttribute", "attribute")), + this.operator && + (this.value || this.value === "") && + (a.push(this._stringFor("operator")), + a.push(this._stringFor("value")), + a.push( + this._stringFor( + "insensitiveFlag", + "insensitive", + function (s, o) { + return ( + s.length > 0 && + !n.quoted && + o.before.length === 0 && + !(n.spaces.value && n.spaces.value.after) && + (o.before = " "), + sp(s, o) + ); + }, + ), + )), + a.push("]"), + a.push(this.rawSpaceAfter), + a.join("") + ); + }), + d1(e, [ + { + key: "quoted", + get: function () { + var n = this.quoteMark; + return n === "'" || n === '"'; + }, + set: function (n) { + y1(); + }, + }, + { + key: "quoteMark", + get: function () { + return this._quoteMark; + }, + set: function (n) { + if (!this._constructed) { + this._quoteMark = n; + return; + } + this._quoteMark !== n && + ((this._quoteMark = n), this._syncRawValue()); + }, + }, + { + key: "qualifiedAttribute", + get: function () { + return this.qualifiedName(this.raws.attribute || this.attribute); + }, + }, + { + key: "insensitiveFlag", + get: function () { + return this.insensitive ? "i" : ""; + }, + }, + { + key: "value", + get: function () { + return this._value; + }, + set: function (n) { + if (this._constructed) { + var a = la(n), + s = a.deprecatedUsage, + o = a.unescaped, + u = a.quoteMark; + if ((s && g1(), o === this._value && u === this._quoteMark)) + return; + (this._value = o), (this._quoteMark = u), this._syncRawValue(); + } else this._value = n; + }, + }, + { + key: "insensitive", + get: function () { + return this._insensitive; + }, + set: function (n) { + n || + ((this._insensitive = !1), + this.raws && + (this.raws.insensitiveFlag === "I" || + this.raws.insensitiveFlag === "i") && + (this.raws.insensitiveFlag = void 0)), + (this._insensitive = n); + }, + }, + { + key: "attribute", + get: function () { + return this._attribute; + }, + set: function (n) { + this._handleEscapes("attribute", n), (this._attribute = n); + }, + }, + ]), + e + ); + })(c1.default); + Lr.default = rn; + rn.NO_QUOTE = null; + rn.SINGLE_QUOTE = "'"; + rn.DOUBLE_QUOTE = '"'; + var ua = + ((sa = { + "'": { quotes: "single", wrap: !0 }, + '"': { quotes: "double", wrap: !0 }, + }), + (sa[null] = { isIdentifier: !0 }), + sa); + function sp(i, e) { + return "" + e.before + i + e.after; + } + }); + var pa = v(($r, ap) => { + l(); + ("use strict"); + $r.__esModule = !0; + $r.default = void 0; + var v1 = k1(tn()), + x1 = se(); + function k1(i) { + return i && i.__esModule ? i : { default: i }; + } + function S1(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + ca(i, e); + } + function ca(i, e) { + return ( + (ca = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + ca(i, e) + ); + } + var C1 = (function (i) { + S1(e, i); + function e(t) { + var r; + return ( + (r = i.call(this, t) || this), + (r.type = x1.UNIVERSAL), + (r.value = "*"), + r + ); + } + return e; + })(v1.default); + $r.default = C1; + ap.exports = $r.default; + }); + var ha = v((jr, op) => { + l(); + ("use strict"); + jr.__esModule = !0; + jr.default = void 0; + var A1 = O1(Ue()), + _1 = se(); + function O1(i) { + return i && i.__esModule ? i : { default: i }; + } + function E1(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + da(i, e); + } + function da(i, e) { + return ( + (da = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + da(i, e) + ); + } + var T1 = (function (i) { + E1(e, i); + function e(t) { + var r; + return (r = i.call(this, t) || this), (r.type = _1.COMBINATOR), r; + } + return e; + })(A1.default); + jr.default = T1; + op.exports = jr.default; + }); + var ga = v((zr, lp) => { + l(); + ("use strict"); + zr.__esModule = !0; + zr.default = void 0; + var P1 = I1(Ue()), + D1 = se(); + function I1(i) { + return i && i.__esModule ? i : { default: i }; + } + function q1(i, e) { + (i.prototype = Object.create(e.prototype)), + (i.prototype.constructor = i), + ma(i, e); + } + function ma(i, e) { + return ( + (ma = Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (r, n) { + return (r.__proto__ = n), r; + }), + ma(i, e) + ); + } + var R1 = (function (i) { + q1(e, i); + function e(t) { + var r; + return ( + (r = i.call(this, t) || this), + (r.type = D1.NESTING), + (r.value = "&"), + r + ); + } + return e; + })(P1.default); + zr.default = R1; + lp.exports = zr.default; + }); + var fp = v((nn, up) => { + l(); + ("use strict"); + nn.__esModule = !0; + nn.default = M1; + function M1(i) { + return i.sort(function (e, t) { + return e - t; + }); + } + up.exports = nn.default; + }); + var ya = v((D) => { + l(); + ("use strict"); + D.__esModule = !0; + D.word = + D.tilde = + D.tab = + D.str = + D.space = + D.slash = + D.singleQuote = + D.semicolon = + D.plus = + D.pipe = + D.openSquare = + D.openParenthesis = + D.newline = + D.greaterThan = + D.feed = + D.equals = + D.doubleQuote = + D.dollar = + D.cr = + D.comment = + D.comma = + D.combinator = + D.colon = + D.closeSquare = + D.closeParenthesis = + D.caret = + D.bang = + D.backslash = + D.at = + D.asterisk = + D.ampersand = + void 0; + var B1 = 38; + D.ampersand = B1; + var F1 = 42; + D.asterisk = F1; + var N1 = 64; + D.at = N1; + var L1 = 44; + D.comma = L1; + var $1 = 58; + D.colon = $1; + var j1 = 59; + D.semicolon = j1; + var z1 = 40; + D.openParenthesis = z1; + var V1 = 41; + D.closeParenthesis = V1; + var U1 = 91; + D.openSquare = U1; + var W1 = 93; + D.closeSquare = W1; + var G1 = 36; + D.dollar = G1; + var H1 = 126; + D.tilde = H1; + var Y1 = 94; + D.caret = Y1; + var Q1 = 43; + D.plus = Q1; + var J1 = 61; + D.equals = J1; + var X1 = 124; + D.pipe = X1; + var K1 = 62; + D.greaterThan = K1; + var Z1 = 32; + D.space = Z1; + var cp = 39; + D.singleQuote = cp; + var ek = 34; + D.doubleQuote = ek; + var tk = 47; + D.slash = tk; + var rk = 33; + D.bang = rk; + var ik = 92; + D.backslash = ik; + var nk = 13; + D.cr = nk; + var sk = 12; + D.feed = sk; + var ak = 10; + D.newline = ak; + var ok = 9; + D.tab = ok; + var lk = cp; + D.str = lk; + var uk = -1; + D.comment = uk; + var fk = -2; + D.word = fk; + var ck = -3; + D.combinator = ck; + }); + var hp = v((Vr) => { + l(); + ("use strict"); + Vr.__esModule = !0; + Vr.FIELDS = void 0; + Vr.default = wk; + var E = pk(ya()), + Dt, + U; + function pp(i) { + if (typeof WeakMap != "function") return null; + var e = new WeakMap(), + t = new WeakMap(); + return (pp = function (n) { + return n ? t : e; + })(i); + } + function pk(i, e) { + if (!e && i && i.__esModule) return i; + if (i === null || (typeof i != "object" && typeof i != "function")) + return { default: i }; + var t = pp(e); + if (t && t.has(i)) return t.get(i); + var r = {}, + n = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var a in i) + if (a !== "default" && Object.prototype.hasOwnProperty.call(i, a)) { + var s = n ? Object.getOwnPropertyDescriptor(i, a) : null; + s && (s.get || s.set) + ? Object.defineProperty(r, a, s) + : (r[a] = i[a]); + } + return (r.default = i), t && t.set(i, r), r; + } + var dk = + ((Dt = {}), + (Dt[E.tab] = !0), + (Dt[E.newline] = !0), + (Dt[E.cr] = !0), + (Dt[E.feed] = !0), + Dt), + hk = + ((U = {}), + (U[E.space] = !0), + (U[E.tab] = !0), + (U[E.newline] = !0), + (U[E.cr] = !0), + (U[E.feed] = !0), + (U[E.ampersand] = !0), + (U[E.asterisk] = !0), + (U[E.bang] = !0), + (U[E.comma] = !0), + (U[E.colon] = !0), + (U[E.semicolon] = !0), + (U[E.openParenthesis] = !0), + (U[E.closeParenthesis] = !0), + (U[E.openSquare] = !0), + (U[E.closeSquare] = !0), + (U[E.singleQuote] = !0), + (U[E.doubleQuote] = !0), + (U[E.plus] = !0), + (U[E.pipe] = !0), + (U[E.tilde] = !0), + (U[E.greaterThan] = !0), + (U[E.equals] = !0), + (U[E.dollar] = !0), + (U[E.caret] = !0), + (U[E.slash] = !0), + U), + wa = {}, + dp = "0123456789abcdefABCDEF"; + for (sn = 0; sn < dp.length; sn++) wa[dp.charCodeAt(sn)] = !0; + var sn; + function mk(i, e) { + var t = e, + r; + do { + if (((r = i.charCodeAt(t)), hk[r])) return t - 1; + r === E.backslash ? (t = gk(i, t) + 1) : t++; + } while (t < i.length); + return t - 1; + } + function gk(i, e) { + var t = e, + r = i.charCodeAt(t + 1); + if (!dk[r]) + if (wa[r]) { + var n = 0; + do t++, n++, (r = i.charCodeAt(t + 1)); + while (wa[r] && n < 6); + n < 6 && r === E.space && t++; + } else t++; + return t; + } + var yk = { + TYPE: 0, + START_LINE: 1, + START_COL: 2, + END_LINE: 3, + END_COL: 4, + START_POS: 5, + END_POS: 6, + }; + Vr.FIELDS = yk; + function wk(i) { + var e = [], + t = i.css.valueOf(), + r = t, + n = r.length, + a = -1, + s = 1, + o = 0, + u = 0, + c, + f, + d, + p, + m, + w, + x, + y, + b, + k, + S, + _, + O; + function I(B, q) { + if (i.safe) (t += q), (b = t.length - 1); + else throw i.error("Unclosed " + B, s, o - a, o); + } + for (; o < n; ) { + switch ( + ((c = t.charCodeAt(o)), c === E.newline && ((a = o), (s += 1)), c) + ) { + case E.space: + case E.tab: + case E.newline: + case E.cr: + case E.feed: + b = o; + do + (b += 1), + (c = t.charCodeAt(b)), + c === E.newline && ((a = b), (s += 1)); + while ( + c === E.space || + c === E.newline || + c === E.tab || + c === E.cr || + c === E.feed + ); + (O = E.space), (p = s), (d = b - a - 1), (u = b); + break; + case E.plus: + case E.greaterThan: + case E.tilde: + case E.pipe: + b = o; + do (b += 1), (c = t.charCodeAt(b)); + while ( + c === E.plus || + c === E.greaterThan || + c === E.tilde || + c === E.pipe + ); + (O = E.combinator), (p = s), (d = o - a), (u = b); + break; + case E.asterisk: + case E.ampersand: + case E.bang: + case E.comma: + case E.equals: + case E.dollar: + case E.caret: + case E.openSquare: + case E.closeSquare: + case E.colon: + case E.semicolon: + case E.openParenthesis: + case E.closeParenthesis: + (b = o), (O = c), (p = s), (d = o - a), (u = b + 1); + break; + case E.singleQuote: + case E.doubleQuote: + (_ = c === E.singleQuote ? "'" : '"'), (b = o); + do + for ( + m = !1, + b = t.indexOf(_, b + 1), + b === -1 && I("quote", _), + w = b; + t.charCodeAt(w - 1) === E.backslash; + + ) + (w -= 1), (m = !m); + while (m); + (O = E.str), (p = s), (d = o - a), (u = b + 1); + break; + default: + c === E.slash && t.charCodeAt(o + 1) === E.asterisk + ? ((b = t.indexOf("*/", o + 2) + 1), + b === 0 && I("comment", "*/"), + (f = t.slice(o, b + 1)), + (y = f.split(` +`)), + (x = y.length - 1), + x > 0 + ? ((k = s + x), (S = b - y[x].length)) + : ((k = s), (S = a)), + (O = E.comment), + (s = k), + (p = k), + (d = b - S)) + : c === E.slash + ? ((b = o), (O = c), (p = s), (d = o - a), (u = b + 1)) + : ((b = mk(t, o)), (O = E.word), (p = s), (d = b - a)), + (u = b + 1); + break; + } + e.push([O, s, o - a, p, d, o, u]), S && ((a = S), (S = null)), (o = u); + } + return e; + } + }); + var kp = v((Ur, xp) => { + l(); + ("use strict"); + Ur.__esModule = !0; + Ur.default = void 0; + var bk = be(zs()), + ba = be(Us()), + vk = be(Hs()), + mp = be(Qs()), + xk = be(Xs()), + kk = be(ea()), + va = be(ra()), + Sk = be(na()), + gp = an(fa()), + Ck = be(pa()), + xa = be(ha()), + Ak = be(ga()), + _k = be(fp()), + A = an(hp()), + T = an(ya()), + Ok = an(se()), + Q = Ar(), + wt, + ka; + function yp(i) { + if (typeof WeakMap != "function") return null; + var e = new WeakMap(), + t = new WeakMap(); + return (yp = function (n) { + return n ? t : e; + })(i); + } + function an(i, e) { + if (!e && i && i.__esModule) return i; + if (i === null || (typeof i != "object" && typeof i != "function")) + return { default: i }; + var t = yp(e); + if (t && t.has(i)) return t.get(i); + var r = {}, + n = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var a in i) + if (a !== "default" && Object.prototype.hasOwnProperty.call(i, a)) { + var s = n ? Object.getOwnPropertyDescriptor(i, a) : null; + s && (s.get || s.set) + ? Object.defineProperty(r, a, s) + : (r[a] = i[a]); + } + return (r.default = i), t && t.set(i, r), r; + } + function be(i) { + return i && i.__esModule ? i : { default: i }; + } + function wp(i, e) { + for (var t = 0; t < e.length; t++) { + var r = e[t]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + "value" in r && (r.writable = !0), + Object.defineProperty(i, r.key, r); + } + } + function Ek(i, e, t) { + return ( + e && wp(i.prototype, e), + t && wp(i, t), + Object.defineProperty(i, "prototype", { writable: !1 }), + i + ); + } + var Sa = + ((wt = {}), + (wt[T.space] = !0), + (wt[T.cr] = !0), + (wt[T.feed] = !0), + (wt[T.newline] = !0), + (wt[T.tab] = !0), + wt), + Tk = Object.assign({}, Sa, ((ka = {}), (ka[T.comment] = !0), ka)); + function bp(i) { + return { line: i[A.FIELDS.START_LINE], column: i[A.FIELDS.START_COL] }; + } + function vp(i) { + return { line: i[A.FIELDS.END_LINE], column: i[A.FIELDS.END_COL] }; + } + function bt(i, e, t, r) { + return { start: { line: i, column: e }, end: { line: t, column: r } }; + } + function It(i) { + return bt( + i[A.FIELDS.START_LINE], + i[A.FIELDS.START_COL], + i[A.FIELDS.END_LINE], + i[A.FIELDS.END_COL], + ); + } + function Ca(i, e) { + if (!!i) + return bt( + i[A.FIELDS.START_LINE], + i[A.FIELDS.START_COL], + e[A.FIELDS.END_LINE], + e[A.FIELDS.END_COL], + ); + } + function qt(i, e) { + var t = i[e]; + if (typeof t == "string") + return ( + t.indexOf("\\") !== -1 && + ((0, Q.ensureObject)(i, "raws"), + (i[e] = (0, Q.unesc)(t)), + i.raws[e] === void 0 && (i.raws[e] = t)), + i + ); + } + function Aa(i, e) { + for (var t = -1, r = []; (t = i.indexOf(e, t + 1)) !== -1; ) r.push(t); + return r; + } + function Pk() { + var i = Array.prototype.concat.apply([], arguments); + return i.filter(function (e, t) { + return t === i.indexOf(e); + }); + } + var Dk = (function () { + function i(t, r) { + r === void 0 && (r = {}), + (this.rule = t), + (this.options = Object.assign({ lossy: !1, safe: !1 }, r)), + (this.position = 0), + (this.css = + typeof this.rule == "string" ? this.rule : this.rule.selector), + (this.tokens = (0, A.default)({ + css: this.css, + error: this._errorGenerator(), + safe: this.options.safe, + })); + var n = Ca(this.tokens[0], this.tokens[this.tokens.length - 1]); + (this.root = new bk.default({ source: n })), + (this.root.errorGenerator = this._errorGenerator()); + var a = new ba.default({ source: { start: { line: 1, column: 1 } } }); + this.root.append(a), (this.current = a), this.loop(); + } + var e = i.prototype; + return ( + (e._errorGenerator = function () { + var r = this; + return function (n, a) { + return typeof r.rule == "string" + ? new Error(n) + : r.rule.error(n, a); + }; + }), + (e.attribute = function () { + var r = [], + n = this.currToken; + for ( + this.position++; + this.position < this.tokens.length && + this.currToken[A.FIELDS.TYPE] !== T.closeSquare; + + ) + r.push(this.currToken), this.position++; + if (this.currToken[A.FIELDS.TYPE] !== T.closeSquare) + return this.expected( + "closing square bracket", + this.currToken[A.FIELDS.START_POS], + ); + var a = r.length, + s = { + source: bt(n[1], n[2], this.currToken[3], this.currToken[4]), + sourceIndex: n[A.FIELDS.START_POS], + }; + if (a === 1 && !~[T.word].indexOf(r[0][A.FIELDS.TYPE])) + return this.expected("attribute", r[0][A.FIELDS.START_POS]); + for (var o = 0, u = "", c = "", f = null, d = !1; o < a; ) { + var p = r[o], + m = this.content(p), + w = r[o + 1]; + switch (p[A.FIELDS.TYPE]) { + case T.space: + if (((d = !0), this.options.lossy)) break; + if (f) { + (0, Q.ensureObject)(s, "spaces", f); + var x = s.spaces[f].after || ""; + s.spaces[f].after = x + m; + var y = + (0, Q.getProp)(s, "raws", "spaces", f, "after") || null; + y && (s.raws.spaces[f].after = y + m); + } else (u = u + m), (c = c + m); + break; + case T.asterisk: + if (w[A.FIELDS.TYPE] === T.equals) + (s.operator = m), (f = "operator"); + else if ((!s.namespace || (f === "namespace" && !d)) && w) { + u && + ((0, Q.ensureObject)(s, "spaces", "attribute"), + (s.spaces.attribute.before = u), + (u = "")), + c && + ((0, Q.ensureObject)(s, "raws", "spaces", "attribute"), + (s.raws.spaces.attribute.before = u), + (c = "")), + (s.namespace = (s.namespace || "") + m); + var b = (0, Q.getProp)(s, "raws", "namespace") || null; + b && (s.raws.namespace += m), (f = "namespace"); + } + d = !1; + break; + case T.dollar: + if (f === "value") { + var k = (0, Q.getProp)(s, "raws", "value"); + (s.value += "$"), k && (s.raws.value = k + "$"); + break; + } + case T.caret: + w[A.FIELDS.TYPE] === T.equals && + ((s.operator = m), (f = "operator")), + (d = !1); + break; + case T.combinator: + if ( + (m === "~" && + w[A.FIELDS.TYPE] === T.equals && + ((s.operator = m), (f = "operator")), + m !== "|") + ) { + d = !1; + break; + } + w[A.FIELDS.TYPE] === T.equals + ? ((s.operator = m), (f = "operator")) + : !s.namespace && !s.attribute && (s.namespace = !0), + (d = !1); + break; + case T.word: + if ( + w && + this.content(w) === "|" && + r[o + 2] && + r[o + 2][A.FIELDS.TYPE] !== T.equals && + !s.operator && + !s.namespace + ) + (s.namespace = m), (f = "namespace"); + else if (!s.attribute || (f === "attribute" && !d)) { + u && + ((0, Q.ensureObject)(s, "spaces", "attribute"), + (s.spaces.attribute.before = u), + (u = "")), + c && + ((0, Q.ensureObject)(s, "raws", "spaces", "attribute"), + (s.raws.spaces.attribute.before = c), + (c = "")), + (s.attribute = (s.attribute || "") + m); + var S = (0, Q.getProp)(s, "raws", "attribute") || null; + S && (s.raws.attribute += m), (f = "attribute"); + } else if ( + (!s.value && s.value !== "") || + (f === "value" && !(d || s.quoteMark)) + ) { + var _ = (0, Q.unesc)(m), + O = (0, Q.getProp)(s, "raws", "value") || "", + I = s.value || ""; + (s.value = I + _), + (s.quoteMark = null), + (_ !== m || O) && + ((0, Q.ensureObject)(s, "raws"), + (s.raws.value = (O || I) + m)), + (f = "value"); + } else { + var B = m === "i" || m === "I"; + (s.value || s.value === "") && (s.quoteMark || d) + ? ((s.insensitive = B), + (!B || m === "I") && + ((0, Q.ensureObject)(s, "raws"), + (s.raws.insensitiveFlag = m)), + (f = "insensitive"), + u && + ((0, Q.ensureObject)(s, "spaces", "insensitive"), + (s.spaces.insensitive.before = u), + (u = "")), + c && + ((0, Q.ensureObject)( + s, + "raws", + "spaces", + "insensitive", + ), + (s.raws.spaces.insensitive.before = c), + (c = ""))) + : (s.value || s.value === "") && + ((f = "value"), + (s.value += m), + s.raws.value && (s.raws.value += m)); + } + d = !1; + break; + case T.str: + if (!s.attribute || !s.operator) + return this.error( + "Expected an attribute followed by an operator preceding the string.", + { index: p[A.FIELDS.START_POS] }, + ); + var q = (0, gp.unescapeValue)(m), + X = q.unescaped, + le = q.quoteMark; + (s.value = X), + (s.quoteMark = le), + (f = "value"), + (0, Q.ensureObject)(s, "raws"), + (s.raws.value = m), + (d = !1); + break; + case T.equals: + if (!s.attribute) + return this.expected("attribute", p[A.FIELDS.START_POS], m); + if (s.value) + return this.error( + 'Unexpected "=" found; an operator was already defined.', + { index: p[A.FIELDS.START_POS] }, + ); + (s.operator = s.operator ? s.operator + m : m), + (f = "operator"), + (d = !1); + break; + case T.comment: + if (f) + if ( + d || + (w && w[A.FIELDS.TYPE] === T.space) || + f === "insensitive" + ) { + var ce = (0, Q.getProp)(s, "spaces", f, "after") || "", + $e = + (0, Q.getProp)(s, "raws", "spaces", f, "after") || ce; + (0, Q.ensureObject)(s, "raws", "spaces", f), + (s.raws.spaces[f].after = $e + m); + } else { + var j = s[f] || "", + ue = (0, Q.getProp)(s, "raws", f) || j; + (0, Q.ensureObject)(s, "raws"), (s.raws[f] = ue + m); + } + else c = c + m; + break; + default: + return this.error('Unexpected "' + m + '" found.', { + index: p[A.FIELDS.START_POS], + }); + } + o++; + } + qt(s, "attribute"), + qt(s, "namespace"), + this.newNode(new gp.default(s)), + this.position++; + }), + (e.parseWhitespaceEquivalentTokens = function (r) { + r < 0 && (r = this.tokens.length); + var n = this.position, + a = [], + s = "", + o = void 0; + do + if (Sa[this.currToken[A.FIELDS.TYPE]]) + this.options.lossy || (s += this.content()); + else if (this.currToken[A.FIELDS.TYPE] === T.comment) { + var u = {}; + s && ((u.before = s), (s = "")), + (o = new mp.default({ + value: this.content(), + source: It(this.currToken), + sourceIndex: this.currToken[A.FIELDS.START_POS], + spaces: u, + })), + a.push(o); + } + while (++this.position < r); + if (s) { + if (o) o.spaces.after = s; + else if (!this.options.lossy) { + var c = this.tokens[n], + f = this.tokens[this.position - 1]; + a.push( + new va.default({ + value: "", + source: bt( + c[A.FIELDS.START_LINE], + c[A.FIELDS.START_COL], + f[A.FIELDS.END_LINE], + f[A.FIELDS.END_COL], + ), + sourceIndex: c[A.FIELDS.START_POS], + spaces: { before: s, after: "" }, + }), + ); + } + } + return a; + }), + (e.convertWhitespaceNodesToSpace = function (r, n) { + var a = this; + n === void 0 && (n = !1); + var s = "", + o = ""; + r.forEach(function (c) { + var f = a.lossySpace(c.spaces.before, n), + d = a.lossySpace(c.rawSpaceBefore, n); + (s += f + a.lossySpace(c.spaces.after, n && f.length === 0)), + (o += + f + + c.value + + a.lossySpace(c.rawSpaceAfter, n && d.length === 0)); + }), + o === s && (o = void 0); + var u = { space: s, rawSpace: o }; + return u; + }), + (e.isNamedCombinator = function (r) { + return ( + r === void 0 && (r = this.position), + this.tokens[r + 0] && + this.tokens[r + 0][A.FIELDS.TYPE] === T.slash && + this.tokens[r + 1] && + this.tokens[r + 1][A.FIELDS.TYPE] === T.word && + this.tokens[r + 2] && + this.tokens[r + 2][A.FIELDS.TYPE] === T.slash + ); + }), + (e.namedCombinator = function () { + if (this.isNamedCombinator()) { + var r = this.content(this.tokens[this.position + 1]), + n = (0, Q.unesc)(r).toLowerCase(), + a = {}; + n !== r && (a.value = "/" + r + "/"); + var s = new xa.default({ + value: "/" + n + "/", + source: bt( + this.currToken[A.FIELDS.START_LINE], + this.currToken[A.FIELDS.START_COL], + this.tokens[this.position + 2][A.FIELDS.END_LINE], + this.tokens[this.position + 2][A.FIELDS.END_COL], + ), + sourceIndex: this.currToken[A.FIELDS.START_POS], + raws: a, + }); + return (this.position = this.position + 3), s; + } else this.unexpected(); + }), + (e.combinator = function () { + var r = this; + if (this.content() === "|") return this.namespace(); + var n = this.locateNextMeaningfulToken(this.position); + if (n < 0 || this.tokens[n][A.FIELDS.TYPE] === T.comma) { + var a = this.parseWhitespaceEquivalentTokens(n); + if (a.length > 0) { + var s = this.current.last; + if (s) { + var o = this.convertWhitespaceNodesToSpace(a), + u = o.space, + c = o.rawSpace; + c !== void 0 && (s.rawSpaceAfter += c), (s.spaces.after += u); + } else + a.forEach(function (O) { + return r.newNode(O); + }); + } + return; + } + var f = this.currToken, + d = void 0; + n > this.position && (d = this.parseWhitespaceEquivalentTokens(n)); + var p; + if ( + (this.isNamedCombinator() + ? (p = this.namedCombinator()) + : this.currToken[A.FIELDS.TYPE] === T.combinator + ? ((p = new xa.default({ + value: this.content(), + source: It(this.currToken), + sourceIndex: this.currToken[A.FIELDS.START_POS], + })), + this.position++) + : Sa[this.currToken[A.FIELDS.TYPE]] || d || this.unexpected(), + p) + ) { + if (d) { + var m = this.convertWhitespaceNodesToSpace(d), + w = m.space, + x = m.rawSpace; + (p.spaces.before = w), (p.rawSpaceBefore = x); + } + } else { + var y = this.convertWhitespaceNodesToSpace(d, !0), + b = y.space, + k = y.rawSpace; + k || (k = b); + var S = {}, + _ = { spaces: {} }; + b.endsWith(" ") && k.endsWith(" ") + ? ((S.before = b.slice(0, b.length - 1)), + (_.spaces.before = k.slice(0, k.length - 1))) + : b.startsWith(" ") && k.startsWith(" ") + ? ((S.after = b.slice(1)), (_.spaces.after = k.slice(1))) + : (_.value = k), + (p = new xa.default({ + value: " ", + source: Ca(f, this.tokens[this.position - 1]), + sourceIndex: f[A.FIELDS.START_POS], + spaces: S, + raws: _, + })); + } + return ( + this.currToken && + this.currToken[A.FIELDS.TYPE] === T.space && + ((p.spaces.after = this.optionalSpace(this.content())), + this.position++), + this.newNode(p) + ); + }), + (e.comma = function () { + if (this.position === this.tokens.length - 1) { + (this.root.trailingComma = !0), this.position++; + return; + } + this.current._inferEndPosition(); + var r = new ba.default({ + source: { start: bp(this.tokens[this.position + 1]) }, + }); + this.current.parent.append(r), (this.current = r), this.position++; + }), + (e.comment = function () { + var r = this.currToken; + this.newNode( + new mp.default({ + value: this.content(), + source: It(r), + sourceIndex: r[A.FIELDS.START_POS], + }), + ), + this.position++; + }), + (e.error = function (r, n) { + throw this.root.error(r, n); + }), + (e.missingBackslash = function () { + return this.error("Expected a backslash preceding the semicolon.", { + index: this.currToken[A.FIELDS.START_POS], + }); + }), + (e.missingParenthesis = function () { + return this.expected( + "opening parenthesis", + this.currToken[A.FIELDS.START_POS], + ); + }), + (e.missingSquareBracket = function () { + return this.expected( + "opening square bracket", + this.currToken[A.FIELDS.START_POS], + ); + }), + (e.unexpected = function () { + return this.error( + "Unexpected '" + + this.content() + + "'. Escaping special characters with \\ may help.", + this.currToken[A.FIELDS.START_POS], + ); + }), + (e.unexpectedPipe = function () { + return this.error( + "Unexpected '|'.", + this.currToken[A.FIELDS.START_POS], + ); + }), + (e.namespace = function () { + var r = (this.prevToken && this.content(this.prevToken)) || !0; + if (this.nextToken[A.FIELDS.TYPE] === T.word) + return this.position++, this.word(r); + if (this.nextToken[A.FIELDS.TYPE] === T.asterisk) + return this.position++, this.universal(r); + this.unexpectedPipe(); + }), + (e.nesting = function () { + if (this.nextToken) { + var r = this.content(this.nextToken); + if (r === "|") { + this.position++; + return; + } + } + var n = this.currToken; + this.newNode( + new Ak.default({ + value: this.content(), + source: It(n), + sourceIndex: n[A.FIELDS.START_POS], + }), + ), + this.position++; + }), + (e.parentheses = function () { + var r = this.current.last, + n = 1; + if ((this.position++, r && r.type === Ok.PSEUDO)) { + var a = new ba.default({ + source: { start: bp(this.tokens[this.position - 1]) }, + }), + s = this.current; + for ( + r.append(a), this.current = a; + this.position < this.tokens.length && n; + + ) + this.currToken[A.FIELDS.TYPE] === T.openParenthesis && n++, + this.currToken[A.FIELDS.TYPE] === T.closeParenthesis && n--, + n + ? this.parse() + : ((this.current.source.end = vp(this.currToken)), + (this.current.parent.source.end = vp(this.currToken)), + this.position++); + this.current = s; + } else { + for ( + var o = this.currToken, u = "(", c; + this.position < this.tokens.length && n; + + ) + this.currToken[A.FIELDS.TYPE] === T.openParenthesis && n++, + this.currToken[A.FIELDS.TYPE] === T.closeParenthesis && n--, + (c = this.currToken), + (u += this.parseParenthesisToken(this.currToken)), + this.position++; + r + ? r.appendToPropertyAndEscape("value", u, u) + : this.newNode( + new va.default({ + value: u, + source: bt( + o[A.FIELDS.START_LINE], + o[A.FIELDS.START_COL], + c[A.FIELDS.END_LINE], + c[A.FIELDS.END_COL], + ), + sourceIndex: o[A.FIELDS.START_POS], + }), + ); + } + if (n) + return this.expected( + "closing parenthesis", + this.currToken[A.FIELDS.START_POS], + ); + }), + (e.pseudo = function () { + for ( + var r = this, n = "", a = this.currToken; + this.currToken && this.currToken[A.FIELDS.TYPE] === T.colon; + + ) + (n += this.content()), this.position++; + if (!this.currToken) + return this.expected( + ["pseudo-class", "pseudo-element"], + this.position - 1, + ); + if (this.currToken[A.FIELDS.TYPE] === T.word) + this.splitWord(!1, function (s, o) { + (n += s), + r.newNode( + new Sk.default({ + value: n, + source: Ca(a, r.currToken), + sourceIndex: a[A.FIELDS.START_POS], + }), + ), + o > 1 && + r.nextToken && + r.nextToken[A.FIELDS.TYPE] === T.openParenthesis && + r.error("Misplaced parenthesis.", { + index: r.nextToken[A.FIELDS.START_POS], + }); + }); + else + return this.expected( + ["pseudo-class", "pseudo-element"], + this.currToken[A.FIELDS.START_POS], + ); + }), + (e.space = function () { + var r = this.content(); + this.position === 0 || + this.prevToken[A.FIELDS.TYPE] === T.comma || + this.prevToken[A.FIELDS.TYPE] === T.openParenthesis || + this.current.nodes.every(function (n) { + return n.type === "comment"; + }) + ? ((this.spaces = this.optionalSpace(r)), this.position++) + : this.position === this.tokens.length - 1 || + this.nextToken[A.FIELDS.TYPE] === T.comma || + this.nextToken[A.FIELDS.TYPE] === T.closeParenthesis + ? ((this.current.last.spaces.after = this.optionalSpace(r)), + this.position++) + : this.combinator(); + }), + (e.string = function () { + var r = this.currToken; + this.newNode( + new va.default({ + value: this.content(), + source: It(r), + sourceIndex: r[A.FIELDS.START_POS], + }), + ), + this.position++; + }), + (e.universal = function (r) { + var n = this.nextToken; + if (n && this.content(n) === "|") + return this.position++, this.namespace(); + var a = this.currToken; + this.newNode( + new Ck.default({ + value: this.content(), + source: It(a), + sourceIndex: a[A.FIELDS.START_POS], + }), + r, + ), + this.position++; + }), + (e.splitWord = function (r, n) { + for ( + var a = this, s = this.nextToken, o = this.content(); + s && + ~[T.dollar, T.caret, T.equals, T.word].indexOf(s[A.FIELDS.TYPE]); + + ) { + this.position++; + var u = this.content(); + if (((o += u), u.lastIndexOf("\\") === u.length - 1)) { + var c = this.nextToken; + c && + c[A.FIELDS.TYPE] === T.space && + ((o += this.requiredSpace(this.content(c))), this.position++); + } + s = this.nextToken; + } + var f = Aa(o, ".").filter(function (w) { + var x = o[w - 1] === "\\", + y = /^\d+\.\d+%$/.test(o); + return !x && !y; + }), + d = Aa(o, "#").filter(function (w) { + return o[w - 1] !== "\\"; + }), + p = Aa(o, "#{"); + p.length && + (d = d.filter(function (w) { + return !~p.indexOf(w); + })); + var m = (0, _k.default)(Pk([0].concat(f, d))); + m.forEach(function (w, x) { + var y = m[x + 1] || o.length, + b = o.slice(w, y); + if (x === 0 && n) return n.call(a, b, m.length); + var k, + S = a.currToken, + _ = S[A.FIELDS.START_POS] + m[x], + O = bt(S[1], S[2] + w, S[3], S[2] + (y - 1)); + if (~f.indexOf(w)) { + var I = { value: b.slice(1), source: O, sourceIndex: _ }; + k = new vk.default(qt(I, "value")); + } else if (~d.indexOf(w)) { + var B = { value: b.slice(1), source: O, sourceIndex: _ }; + k = new xk.default(qt(B, "value")); + } else { + var q = { value: b, source: O, sourceIndex: _ }; + qt(q, "value"), (k = new kk.default(q)); + } + a.newNode(k, r), (r = null); + }), + this.position++; + }), + (e.word = function (r) { + var n = this.nextToken; + return n && this.content(n) === "|" + ? (this.position++, this.namespace()) + : this.splitWord(r); + }), + (e.loop = function () { + for (; this.position < this.tokens.length; ) this.parse(!0); + return this.current._inferEndPosition(), this.root; + }), + (e.parse = function (r) { + switch (this.currToken[A.FIELDS.TYPE]) { + case T.space: + this.space(); + break; + case T.comment: + this.comment(); + break; + case T.openParenthesis: + this.parentheses(); + break; + case T.closeParenthesis: + r && this.missingParenthesis(); + break; + case T.openSquare: + this.attribute(); + break; + case T.dollar: + case T.caret: + case T.equals: + case T.word: + this.word(); + break; + case T.colon: + this.pseudo(); + break; + case T.comma: + this.comma(); + break; + case T.asterisk: + this.universal(); + break; + case T.ampersand: + this.nesting(); + break; + case T.slash: + case T.combinator: + this.combinator(); + break; + case T.str: + this.string(); + break; + case T.closeSquare: + this.missingSquareBracket(); + case T.semicolon: + this.missingBackslash(); + default: + this.unexpected(); + } + }), + (e.expected = function (r, n, a) { + if (Array.isArray(r)) { + var s = r.pop(); + r = r.join(", ") + " or " + s; + } + var o = /^[aeiou]/.test(r[0]) ? "an" : "a"; + return a + ? this.error( + "Expected " + o + " " + r + ', found "' + a + '" instead.', + { index: n }, + ) + : this.error("Expected " + o + " " + r + ".", { index: n }); + }), + (e.requiredSpace = function (r) { + return this.options.lossy ? " " : r; + }), + (e.optionalSpace = function (r) { + return this.options.lossy ? "" : r; + }), + (e.lossySpace = function (r, n) { + return this.options.lossy ? (n ? " " : "") : r; + }), + (e.parseParenthesisToken = function (r) { + var n = this.content(r); + return r[A.FIELDS.TYPE] === T.space ? this.requiredSpace(n) : n; + }), + (e.newNode = function (r, n) { + return ( + n && + (/^ +$/.test(n) && + (this.options.lossy || (this.spaces = (this.spaces || "") + n), + (n = !0)), + (r.namespace = n), + qt(r, "namespace")), + this.spaces && + ((r.spaces.before = this.spaces), (this.spaces = "")), + this.current.append(r) + ); + }), + (e.content = function (r) { + return ( + r === void 0 && (r = this.currToken), + this.css.slice(r[A.FIELDS.START_POS], r[A.FIELDS.END_POS]) + ); + }), + (e.locateNextMeaningfulToken = function (r) { + r === void 0 && (r = this.position + 1); + for (var n = r; n < this.tokens.length; ) + if (Tk[this.tokens[n][A.FIELDS.TYPE]]) { + n++; + continue; + } else return n; + return -1; + }), + Ek(i, [ + { + key: "currToken", + get: function () { + return this.tokens[this.position]; + }, + }, + { + key: "nextToken", + get: function () { + return this.tokens[this.position + 1]; + }, + }, + { + key: "prevToken", + get: function () { + return this.tokens[this.position - 1]; + }, + }, + ]), + i + ); + })(); + Ur.default = Dk; + xp.exports = Ur.default; + }); + var Cp = v((Wr, Sp) => { + l(); + ("use strict"); + Wr.__esModule = !0; + Wr.default = void 0; + var Ik = qk(kp()); + function qk(i) { + return i && i.__esModule ? i : { default: i }; + } + var Rk = (function () { + function i(t, r) { + (this.func = t || function () {}), + (this.funcRes = null), + (this.options = r); + } + var e = i.prototype; + return ( + (e._shouldUpdateSelector = function (r, n) { + n === void 0 && (n = {}); + var a = Object.assign({}, this.options, n); + return a.updateSelector === !1 ? !1 : typeof r != "string"; + }), + (e._isLossy = function (r) { + r === void 0 && (r = {}); + var n = Object.assign({}, this.options, r); + return n.lossless === !1; + }), + (e._root = function (r, n) { + n === void 0 && (n = {}); + var a = new Ik.default(r, this._parseOptions(n)); + return a.root; + }), + (e._parseOptions = function (r) { + return { lossy: this._isLossy(r) }; + }), + (e._run = function (r, n) { + var a = this; + return ( + n === void 0 && (n = {}), + new Promise(function (s, o) { + try { + var u = a._root(r, n); + Promise.resolve(a.func(u)) + .then(function (c) { + var f = void 0; + return ( + a._shouldUpdateSelector(r, n) && + ((f = u.toString()), (r.selector = f)), + { transform: c, root: u, string: f } + ); + }) + .then(s, o); + } catch (c) { + o(c); + return; + } + }) + ); + }), + (e._runSync = function (r, n) { + n === void 0 && (n = {}); + var a = this._root(r, n), + s = this.func(a); + if (s && typeof s.then == "function") + throw new Error( + "Selector processor returned a promise to a synchronous call.", + ); + var o = void 0; + return ( + n.updateSelector && + typeof r != "string" && + ((o = a.toString()), (r.selector = o)), + { transform: s, root: a, string: o } + ); + }), + (e.ast = function (r, n) { + return this._run(r, n).then(function (a) { + return a.root; + }); + }), + (e.astSync = function (r, n) { + return this._runSync(r, n).root; + }), + (e.transform = function (r, n) { + return this._run(r, n).then(function (a) { + return a.transform; + }); + }), + (e.transformSync = function (r, n) { + return this._runSync(r, n).transform; + }), + (e.process = function (r, n) { + return this._run(r, n).then(function (a) { + return a.string || a.root.toString(); + }); + }), + (e.processSync = function (r, n) { + var a = this._runSync(r, n); + return a.string || a.root.toString(); + }), + i + ); + })(); + Wr.default = Rk; + Sp.exports = Wr.default; + }); + var Ap = v((H) => { + l(); + ("use strict"); + H.__esModule = !0; + H.universal = + H.tag = + H.string = + H.selector = + H.root = + H.pseudo = + H.nesting = + H.id = + H.comment = + H.combinator = + H.className = + H.attribute = + void 0; + var Mk = ve(fa()), + Bk = ve(Hs()), + Fk = ve(ha()), + Nk = ve(Qs()), + Lk = ve(Xs()), + $k = ve(ga()), + jk = ve(na()), + zk = ve(zs()), + Vk = ve(Us()), + Uk = ve(ra()), + Wk = ve(ea()), + Gk = ve(pa()); + function ve(i) { + return i && i.__esModule ? i : { default: i }; + } + var Hk = function (e) { + return new Mk.default(e); + }; + H.attribute = Hk; + var Yk = function (e) { + return new Bk.default(e); + }; + H.className = Yk; + var Qk = function (e) { + return new Fk.default(e); + }; + H.combinator = Qk; + var Jk = function (e) { + return new Nk.default(e); + }; + H.comment = Jk; + var Xk = function (e) { + return new Lk.default(e); + }; + H.id = Xk; + var Kk = function (e) { + return new $k.default(e); + }; + H.nesting = Kk; + var Zk = function (e) { + return new jk.default(e); + }; + H.pseudo = Zk; + var eS = function (e) { + return new zk.default(e); + }; + H.root = eS; + var tS = function (e) { + return new Vk.default(e); + }; + H.selector = tS; + var rS = function (e) { + return new Uk.default(e); + }; + H.string = rS; + var iS = function (e) { + return new Wk.default(e); + }; + H.tag = iS; + var nS = function (e) { + return new Gk.default(e); + }; + H.universal = nS; + }); + var Tp = v(($) => { + l(); + ("use strict"); + $.__esModule = !0; + $.isComment = $.isCombinator = $.isClassName = $.isAttribute = void 0; + $.isContainer = gS; + $.isIdentifier = void 0; + $.isNamespace = yS; + $.isNesting = void 0; + $.isNode = _a; + $.isPseudo = void 0; + $.isPseudoClass = mS; + $.isPseudoElement = Ep; + $.isUniversal = $.isTag = $.isString = $.isSelector = $.isRoot = void 0; + var J = se(), + pe, + sS = + ((pe = {}), + (pe[J.ATTRIBUTE] = !0), + (pe[J.CLASS] = !0), + (pe[J.COMBINATOR] = !0), + (pe[J.COMMENT] = !0), + (pe[J.ID] = !0), + (pe[J.NESTING] = !0), + (pe[J.PSEUDO] = !0), + (pe[J.ROOT] = !0), + (pe[J.SELECTOR] = !0), + (pe[J.STRING] = !0), + (pe[J.TAG] = !0), + (pe[J.UNIVERSAL] = !0), + pe); + function _a(i) { + return typeof i == "object" && sS[i.type]; + } + function xe(i, e) { + return _a(e) && e.type === i; + } + var _p = xe.bind(null, J.ATTRIBUTE); + $.isAttribute = _p; + var aS = xe.bind(null, J.CLASS); + $.isClassName = aS; + var oS = xe.bind(null, J.COMBINATOR); + $.isCombinator = oS; + var lS = xe.bind(null, J.COMMENT); + $.isComment = lS; + var uS = xe.bind(null, J.ID); + $.isIdentifier = uS; + var fS = xe.bind(null, J.NESTING); + $.isNesting = fS; + var Oa = xe.bind(null, J.PSEUDO); + $.isPseudo = Oa; + var cS = xe.bind(null, J.ROOT); + $.isRoot = cS; + var pS = xe.bind(null, J.SELECTOR); + $.isSelector = pS; + var dS = xe.bind(null, J.STRING); + $.isString = dS; + var Op = xe.bind(null, J.TAG); + $.isTag = Op; + var hS = xe.bind(null, J.UNIVERSAL); + $.isUniversal = hS; + function Ep(i) { + return ( + Oa(i) && + i.value && + (i.value.startsWith("::") || + i.value.toLowerCase() === ":before" || + i.value.toLowerCase() === ":after" || + i.value.toLowerCase() === ":first-letter" || + i.value.toLowerCase() === ":first-line") + ); + } + function mS(i) { + return Oa(i) && !Ep(i); + } + function gS(i) { + return !!(_a(i) && i.walk); + } + function yS(i) { + return _p(i) || Op(i); + } + }); + var Pp = v((Ee) => { + l(); + ("use strict"); + Ee.__esModule = !0; + var Ea = se(); + Object.keys(Ea).forEach(function (i) { + i === "default" || + i === "__esModule" || + (i in Ee && Ee[i] === Ea[i]) || + (Ee[i] = Ea[i]); + }); + var Ta = Ap(); + Object.keys(Ta).forEach(function (i) { + i === "default" || + i === "__esModule" || + (i in Ee && Ee[i] === Ta[i]) || + (Ee[i] = Ta[i]); + }); + var Pa = Tp(); + Object.keys(Pa).forEach(function (i) { + i === "default" || + i === "__esModule" || + (i in Ee && Ee[i] === Pa[i]) || + (Ee[i] = Pa[i]); + }); + }); + var Re = v((Gr, Ip) => { + l(); + ("use strict"); + Gr.__esModule = !0; + Gr.default = void 0; + var wS = xS(Cp()), + bS = vS(Pp()); + function Dp(i) { + if (typeof WeakMap != "function") return null; + var e = new WeakMap(), + t = new WeakMap(); + return (Dp = function (n) { + return n ? t : e; + })(i); + } + function vS(i, e) { + if (!e && i && i.__esModule) return i; + if (i === null || (typeof i != "object" && typeof i != "function")) + return { default: i }; + var t = Dp(e); + if (t && t.has(i)) return t.get(i); + var r = {}, + n = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var a in i) + if (a !== "default" && Object.prototype.hasOwnProperty.call(i, a)) { + var s = n ? Object.getOwnPropertyDescriptor(i, a) : null; + s && (s.get || s.set) + ? Object.defineProperty(r, a, s) + : (r[a] = i[a]); + } + return (r.default = i), t && t.set(i, r), r; + } + function xS(i) { + return i && i.__esModule ? i : { default: i }; + } + var Da = function (e) { + return new wS.default(e); + }; + Object.assign(Da, bS); + delete Da.__esModule; + var kS = Da; + Gr.default = kS; + Ip.exports = Gr.default; + }); + function Ge(i) { + return ["fontSize", "outline"].includes(i) + ? (e) => ( + typeof e == "function" && (e = e({})), + Array.isArray(e) && (e = e[0]), + e + ) + : i === "fontFamily" + ? (e) => { + typeof e == "function" && (e = e({})); + let t = Array.isArray(e) && ne(e[1]) ? e[0] : e; + return Array.isArray(t) ? t.join(", ") : t; + } + : [ + "boxShadow", + "transitionProperty", + "transitionDuration", + "transitionDelay", + "transitionTimingFunction", + "backgroundImage", + "backgroundSize", + "backgroundColor", + "cursor", + "animation", + ].includes(i) + ? (e) => ( + typeof e == "function" && (e = e({})), + Array.isArray(e) && (e = e.join(", ")), + e + ) + : [ + "gridTemplateColumns", + "gridTemplateRows", + "objectPosition", + ].includes(i) + ? (e) => ( + typeof e == "function" && (e = e({})), + typeof e == "string" && (e = V.list.comma(e).join(" ")), + e + ) + : (e, t = {}) => (typeof e == "function" && (e = e(t)), e); + } + var Hr = C(() => { + l(); + nt(); + kt(); + }); + var Lp = v((O3, Ba) => { + l(); + var { Rule: qp, AtRule: SS } = ge(), + Rp = Re(); + function Ia(i, e) { + let t; + try { + Rp((r) => { + t = r; + }).processSync(i); + } catch (r) { + throw i.includes(":") + ? e + ? e.error("Missed semicolon") + : r + : e + ? e.error(r.message) + : r; + } + return t.at(0); + } + function Mp(i, e) { + let t = !1; + return ( + i.each((r) => { + if (r.type === "nesting") { + let n = e.clone({}); + r.value !== "&" + ? r.replaceWith(Ia(r.value.replace("&", n.toString()))) + : r.replaceWith(n), + (t = !0); + } else "nodes" in r && r.nodes && Mp(r, e) && (t = !0); + }), + t + ); + } + function Bp(i, e) { + let t = []; + return ( + i.selectors.forEach((r) => { + let n = Ia(r, i); + e.selectors.forEach((a) => { + if (!a) return; + let s = Ia(a, e); + Mp(s, n) || + (s.prepend(Rp.combinator({ value: " " })), + s.prepend(n.clone({}))), + t.push(s.toString()); + }); + }), + t + ); + } + function on(i, e) { + let t = i.prev(); + for (e.after(i); t && t.type === "comment"; ) { + let r = t.prev(); + e.after(t), (t = r); + } + return i; + } + function CS(i) { + return function e(t, r, n, a = n) { + let s = []; + if ( + (r.each((o) => { + o.type === "rule" && n + ? a && (o.selectors = Bp(t, o)) + : o.type === "atrule" && o.nodes + ? i[o.name] + ? e(t, o, a) + : r[Ra] !== !1 && s.push(o) + : s.push(o); + }), + n && s.length) + ) { + let o = t.clone({ nodes: [] }); + for (let u of s) o.append(u); + r.prepend(o); + } + }; + } + function qa(i, e, t) { + let r = new qp({ selector: i, nodes: [] }); + return r.append(e), t.after(r), r; + } + function Fp(i, e) { + let t = {}; + for (let r of i) t[r] = !0; + if (e) for (let r of e) t[r.replace(/^@/, "")] = !0; + return t; + } + function AS(i) { + i = i.trim(); + let e = i.match(/^\((.*)\)$/); + if (!e) return { type: "basic", selector: i }; + let t = e[1].match(/^(with(?:out)?):(.+)$/); + if (t) { + let r = t[1] === "with", + n = Object.fromEntries( + t[2] + .trim() + .split(/\s+/) + .map((s) => [s, !0]), + ); + if (r && n.all) return { type: "noop" }; + let a = (s) => !!n[s]; + return ( + n.all ? (a = () => !0) : r && (a = (s) => (s === "all" ? !1 : !n[s])), + { type: "withrules", escapes: a } + ); + } + return { type: "unknown" }; + } + function _S(i) { + let e = [], + t = i.parent; + for (; t && t instanceof SS; ) e.push(t), (t = t.parent); + return e; + } + function OS(i) { + let e = i[Np]; + if (!e) i.after(i.nodes); + else { + let t = i.nodes, + r, + n = -1, + a, + s, + o, + u = _S(i); + if ( + (u.forEach((c, f) => { + if (e(c.name)) (r = c), (n = f), (s = o); + else { + let d = o; + (o = c.clone({ nodes: [] })), d && o.append(d), (a = a || o); + } + }), + r ? (s ? (a.append(t), r.after(s)) : r.after(t)) : i.after(t), + i.next() && r) + ) { + let c; + u.slice(0, n + 1).forEach((f, d, p) => { + let m = c; + (c = f.clone({ nodes: [] })), m && c.append(m); + let w = [], + y = (p[d - 1] || i).next(); + for (; y; ) w.push(y), (y = y.next()); + c.append(w); + }), + c && (s || t[t.length - 1]).after(c); + } + } + i.remove(); + } + var Ra = Symbol("rootRuleMergeSel"), + Np = Symbol("rootRuleEscapes"); + function ES(i) { + let { params: e } = i, + { type: t, selector: r, escapes: n } = AS(e); + if (t === "unknown") + throw i.error(`Unknown @${i.name} parameter ${JSON.stringify(e)}`); + if (t === "basic" && r) { + let a = new qp({ selector: r, nodes: i.nodes }); + i.removeAll(), i.append(a); + } + (i[Np] = n), (i[Ra] = n ? !n("all") : t === "noop"); + } + var Ma = Symbol("hasRootRule"); + Ba.exports = (i = {}) => { + let e = Fp(["media", "supports", "layer", "container"], i.bubble), + t = CS(e), + r = Fp( + [ + "document", + "font-face", + "keyframes", + "-webkit-keyframes", + "-moz-keyframes", + ], + i.unwrap, + ), + n = (i.rootRuleName || "at-root").replace(/^@/, ""), + a = i.preserveEmpty; + return { + postcssPlugin: "postcss-nested", + Once(s) { + s.walkAtRules(n, (o) => { + ES(o), (s[Ma] = !0); + }); + }, + Rule(s) { + let o = !1, + u = s, + c = !1, + f = []; + s.each((d) => { + d.type === "rule" + ? (f.length && ((u = qa(s.selector, f, u)), (f = [])), + (c = !0), + (o = !0), + (d.selectors = Bp(s, d)), + (u = on(d, u))) + : d.type === "atrule" + ? (f.length && ((u = qa(s.selector, f, u)), (f = [])), + d.name === n + ? ((o = !0), t(s, d, !0, d[Ra]), (u = on(d, u))) + : e[d.name] + ? ((c = !0), (o = !0), t(s, d, !0), (u = on(d, u))) + : r[d.name] + ? ((c = !0), (o = !0), t(s, d, !1), (u = on(d, u))) + : c && f.push(d)) + : d.type === "decl" && c && f.push(d); + }), + f.length && (u = qa(s.selector, f, u)), + o && + a !== !0 && + ((s.raws.semicolon = !0), s.nodes.length === 0 && s.remove()); + }, + RootExit(s) { + s[Ma] && (s.walkAtRules(n, OS), (s[Ma] = !1)); + }, + }; + }; + Ba.exports.postcss = !0; + }); + var Vp = v((E3, zp) => { + l(); + ("use strict"); + var $p = /-(\w|$)/g, + jp = (i, e) => e.toUpperCase(), + TS = (i) => ( + (i = i.toLowerCase()), + i === "float" + ? "cssFloat" + : i.startsWith("-ms-") + ? i.substr(1).replace($p, jp) + : i.replace($p, jp) + ); + zp.exports = TS; + }); + var La = v((T3, Up) => { + l(); + var PS = Vp(), + DS = { + boxFlex: !0, + boxFlexGroup: !0, + columnCount: !0, + flex: !0, + flexGrow: !0, + flexPositive: !0, + flexShrink: !0, + flexNegative: !0, + fontWeight: !0, + lineClamp: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + tabSize: !0, + widows: !0, + zIndex: !0, + zoom: !0, + fillOpacity: !0, + strokeDashoffset: !0, + strokeOpacity: !0, + strokeWidth: !0, + }; + function Fa(i) { + return typeof i.nodes == "undefined" ? !0 : Na(i); + } + function Na(i) { + let e, + t = {}; + return ( + i.each((r) => { + if (r.type === "atrule") + (e = "@" + r.name), + r.params && (e += " " + r.params), + typeof t[e] == "undefined" + ? (t[e] = Fa(r)) + : Array.isArray(t[e]) + ? t[e].push(Fa(r)) + : (t[e] = [t[e], Fa(r)]); + else if (r.type === "rule") { + let n = Na(r); + if (t[r.selector]) for (let a in n) t[r.selector][a] = n[a]; + else t[r.selector] = n; + } else if (r.type === "decl") { + (r.prop[0] === "-" && r.prop[1] === "-") || + (r.parent && r.parent.selector === ":export") + ? (e = r.prop) + : (e = PS(r.prop)); + let n = r.value; + !isNaN(r.value) && DS[e] && (n = parseFloat(r.value)), + r.important && (n += " !important"), + typeof t[e] == "undefined" + ? (t[e] = n) + : Array.isArray(t[e]) + ? t[e].push(n) + : (t[e] = [t[e], n]); + } + }), + t + ); + } + Up.exports = Na; + }); + var ln = v((P3, Yp) => { + l(); + var Yr = ge(), + Wp = /\s*!important\s*$/i, + IS = { + "box-flex": !0, + "box-flex-group": !0, + "column-count": !0, + flex: !0, + "flex-grow": !0, + "flex-positive": !0, + "flex-shrink": !0, + "flex-negative": !0, + "font-weight": !0, + "line-clamp": !0, + "line-height": !0, + opacity: !0, + order: !0, + orphans: !0, + "tab-size": !0, + widows: !0, + "z-index": !0, + zoom: !0, + "fill-opacity": !0, + "stroke-dashoffset": !0, + "stroke-opacity": !0, + "stroke-width": !0, + }; + function qS(i) { + return i + .replace(/([A-Z])/g, "-$1") + .replace(/^ms-/, "-ms-") + .toLowerCase(); + } + function Gp(i, e, t) { + t === !1 || + t === null || + (e.startsWith("--") || (e = qS(e)), + typeof t == "number" && + (t === 0 || IS[e] ? (t = t.toString()) : (t += "px")), + e === "css-float" && (e = "float"), + Wp.test(t) + ? ((t = t.replace(Wp, "")), + i.push(Yr.decl({ prop: e, value: t, important: !0 }))) + : i.push(Yr.decl({ prop: e, value: t }))); + } + function Hp(i, e, t) { + let r = Yr.atRule({ name: e[1], params: e[3] || "" }); + typeof t == "object" && ((r.nodes = []), $a(t, r)), i.push(r); + } + function $a(i, e) { + let t, r, n; + for (t in i) + if (((r = i[t]), !(r === null || typeof r == "undefined"))) + if (t[0] === "@") { + let a = t.match(/@(\S+)(\s+([\W\w]*)\s*)?/); + if (Array.isArray(r)) for (let s of r) Hp(e, a, s); + else Hp(e, a, r); + } else if (Array.isArray(r)) for (let a of r) Gp(e, t, a); + else + typeof r == "object" + ? ((n = Yr.rule({ selector: t })), $a(r, n), e.push(n)) + : Gp(e, t, r); + } + Yp.exports = function (i) { + let e = Yr.root(); + return $a(i, e), e; + }; + }); + var ja = v((D3, Qp) => { + l(); + var RS = La(); + Qp.exports = function (e) { + return ( + console && + console.warn && + e.warnings().forEach((t) => { + let r = t.plugin || "PostCSS"; + console.warn(r + ": " + t.text); + }), + RS(e.root) + ); + }; + }); + var Xp = v((I3, Jp) => { + l(); + var MS = ge(), + BS = ja(), + FS = ln(); + Jp.exports = function (e) { + let t = MS(e); + return async (r) => { + let n = await t.process(r, { parser: FS, from: void 0 }); + return BS(n); + }; + }; + }); + var Zp = v((q3, Kp) => { + l(); + var NS = ge(), + LS = ja(), + $S = ln(); + Kp.exports = function (i) { + let e = NS(i); + return (t) => { + let r = e.process(t, { parser: $S, from: void 0 }); + return LS(r); + }; + }; + }); + var td = v((R3, ed) => { + l(); + var jS = La(), + zS = ln(), + VS = Xp(), + US = Zp(); + ed.exports = { objectify: jS, parse: zS, async: VS, sync: US }; + }); + var Rt, + rd, + M3, + B3, + F3, + N3, + id = C(() => { + l(); + (Rt = K(td())), + (rd = Rt.default), + (M3 = Rt.default.objectify), + (B3 = Rt.default.parse), + (F3 = Rt.default.async), + (N3 = Rt.default.sync); + }); + function Mt(i) { + return Array.isArray(i) + ? i.flatMap( + (e) => + V([(0, nd.default)({ bubble: ["screen"] })]).process(e, { + parser: rd, + }).root.nodes, + ) + : Mt([i]); + } + var nd, + za = C(() => { + l(); + nt(); + nd = K(Lp()); + id(); + }); + function Bt(i, e, t = !1) { + if (i === "") return e; + let r = typeof e == "string" ? (0, sd.default)().astSync(e) : e; + return ( + r.walkClasses((n) => { + let a = n.value, + s = t && a.startsWith("-"); + n.value = s ? `-${i}${a.slice(1)}` : `${i}${a}`; + }), + typeof e == "string" ? r.toString() : r + ); + } + var sd, + un = C(() => { + l(); + sd = K(Re()); + }); + function de(i) { + let e = ad.default.className(); + return (e.value = i), mt(e?.raws?.value ?? e.value); + } + var ad, + Ft = C(() => { + l(); + ad = K(Re()); + mi(); + }); + function Va(i) { + return mt(`.${de(i)}`); + } + function fn(i, e) { + return Va(Qr(i, e)); + } + function Qr(i, e) { + return e === "DEFAULT" + ? i + : e === "-" || e === "-DEFAULT" + ? `-${i}` + : e.startsWith("-") + ? `-${i}${e}` + : e.startsWith("/") + ? `${i}${e}` + : `${i}-${e}`; + } + var Ua = C(() => { + l(); + Ft(); + mi(); + }); + function P(i, e = [[i, [i]]], { filterDefault: t = !1, ...r } = {}) { + let n = Ge(i); + return function ({ matchUtilities: a, theme: s }) { + for (let o of e) { + let u = Array.isArray(o[0]) ? o : [o]; + a( + u.reduce( + (c, [f, d]) => + Object.assign(c, { + [f]: (p) => + d.reduce( + (m, w) => + Array.isArray(w) + ? Object.assign(m, { [w[0]]: w[1] }) + : Object.assign(m, { [w]: n(p) }), + {}, + ), + }), + {}, + ), + { + ...r, + values: t + ? Object.fromEntries( + Object.entries(s(i) ?? {}).filter(([c]) => c !== "DEFAULT"), + ) + : s(i), + }, + ); + } + }; + } + var od = C(() => { + l(); + Hr(); + }); + function st(i) { + return ( + (i = Array.isArray(i) ? i : [i]), + i + .map((e) => { + let t = e.values.map((r) => + r.raw !== void 0 + ? r.raw + : [ + r.min && `(min-width: ${r.min})`, + r.max && `(max-width: ${r.max})`, + ] + .filter(Boolean) + .join(" and "), + ); + return e.not ? `not all and ${t}` : t; + }) + .join(", ") + ); + } + var cn = C(() => { + l(); + }); + function Wa(i) { + return i.split(XS).map((t) => { + let r = t.trim(), + n = { value: r }, + a = r.split(KS), + s = new Set(); + for (let o of a) + !s.has("DIRECTIONS") && WS.has(o) + ? ((n.direction = o), s.add("DIRECTIONS")) + : !s.has("PLAY_STATES") && GS.has(o) + ? ((n.playState = o), s.add("PLAY_STATES")) + : !s.has("FILL_MODES") && HS.has(o) + ? ((n.fillMode = o), s.add("FILL_MODES")) + : !s.has("ITERATION_COUNTS") && (YS.has(o) || ZS.test(o)) + ? ((n.iterationCount = o), s.add("ITERATION_COUNTS")) + : (!s.has("TIMING_FUNCTION") && QS.has(o)) || + (!s.has("TIMING_FUNCTION") && + JS.some((u) => o.startsWith(`${u}(`))) + ? ((n.timingFunction = o), s.add("TIMING_FUNCTION")) + : !s.has("DURATION") && ld.test(o) + ? ((n.duration = o), s.add("DURATION")) + : !s.has("DELAY") && ld.test(o) + ? ((n.delay = o), s.add("DELAY")) + : s.has("NAME") + ? (n.unknown || (n.unknown = []), n.unknown.push(o)) + : ((n.name = o), s.add("NAME")); + return n; + }); + } + var WS, + GS, + HS, + YS, + QS, + JS, + XS, + KS, + ld, + ZS, + ud = C(() => { + l(); + (WS = new Set(["normal", "reverse", "alternate", "alternate-reverse"])), + (GS = new Set(["running", "paused"])), + (HS = new Set(["none", "forwards", "backwards", "both"])), + (YS = new Set(["infinite"])), + (QS = new Set([ + "linear", + "ease", + "ease-in", + "ease-out", + "ease-in-out", + "step-start", + "step-end", + ])), + (JS = ["cubic-bezier", "steps"]), + (XS = /\,(?![^(]*\))/g), + (KS = /\ +(?![^(]*\))/g), + (ld = /^(-?[\d.]+m?s)$/), + (ZS = /^(\d+)$/); + }); + var fd, + ie, + cd = C(() => { + l(); + (fd = (i) => + Object.assign( + {}, + ...Object.entries(i ?? {}).flatMap(([e, t]) => + typeof t == "object" + ? Object.entries(fd(t)).map(([r, n]) => ({ + [e + (r === "DEFAULT" ? "" : `-${r}`)]: n, + })) + : [{ [`${e}`]: t }], + ), + )), + (ie = fd); + }); + var eC, + Ha, + tC, + rC, + iC, + nC, + sC, + aC, + oC, + lC, + uC, + fC, + cC, + pC, + dC, + hC, + mC, + gC, + Ya, + Ga = C(() => { + (eC = "tailwindcss"), + (Ha = "3.4.1"), + (tC = + "A utility-first CSS framework for rapidly building custom user interfaces."), + (rC = "MIT"), + (iC = "lib/index.js"), + (nC = "types/index.d.ts"), + (sC = "https://github.com/tailwindlabs/tailwindcss.git"), + (aC = "https://github.com/tailwindlabs/tailwindcss/issues"), + (oC = "https://tailwindcss.com"), + (lC = { tailwind: "lib/cli.js", tailwindcss: "lib/cli.js" }), + (uC = { engine: "stable" }), + (fC = { + prebuild: "npm run generate && rimraf lib", + build: `swc src --out-dir lib --copy-files --config jsc.transform.optimizer.globals.vars.__OXIDE__='"false"'`, + postbuild: + "esbuild lib/cli-peer-dependencies.js --bundle --platform=node --outfile=peers/index.js --define:process.env.CSS_TRANSFORMER_WASM=false", + "rebuild-fixtures": + "npm run build && node -r @swc/register scripts/rebuildFixtures.js", + style: "eslint .", + pretest: "npm run generate", + test: "jest", + "test:integrations": "npm run test --prefix ./integrations", + "install:integrations": "node scripts/install-integrations.js", + "generate:plugin-list": + "node -r @swc/register scripts/create-plugin-list.js", + "generate:types": "node -r @swc/register scripts/generate-types.js", + generate: "npm run generate:plugin-list && npm run generate:types", + "release-channel": "node ./scripts/release-channel.js", + "release-notes": "node ./scripts/release-notes.js", + prepublishOnly: "npm install --force && npm run build", + }), + (cC = [ + "src/*", + "cli/*", + "lib/*", + "peers/*", + "scripts/*.js", + "stubs/*", + "nesting/*", + "types/**/*", + "*.d.ts", + "*.css", + "*.js", + ]), + (pC = { + "@swc/cli": "^0.1.62", + "@swc/core": "^1.3.55", + "@swc/jest": "^0.2.26", + "@swc/register": "^0.1.10", + autoprefixer: "^10.4.14", + browserslist: "^4.21.5", + concurrently: "^8.0.1", + cssnano: "^6.0.0", + esbuild: "^0.17.18", + eslint: "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + jest: "^29.6.0", + "jest-diff": "^29.6.0", + lightningcss: "1.18.0", + prettier: "^2.8.8", + rimraf: "^5.0.0", + "source-map-js": "^1.0.2", + turbo: "^1.9.3", + }), + (dC = { + "@alloc/quick-lru": "^5.2.0", + arg: "^5.0.2", + chokidar: "^3.5.3", + didyoumean: "^1.2.2", + dlv: "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + jiti: "^1.19.1", + lilconfig: "^2.1.0", + micromatch: "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + picocolors: "^1.0.0", + postcss: "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + resolve: "^1.22.2", + sucrase: "^3.32.0", + }), + (hC = ["> 1%", "not edge <= 18", "not ie 11", "not op_mini all"]), + (mC = { + testTimeout: 3e4, + setupFilesAfterEnv: ["/jest/customMatchers.js"], + testPathIgnorePatterns: [ + "/node_modules/", + "/integrations/", + "/standalone-cli/", + "\\.test\\.skip\\.js$", + ], + transformIgnorePatterns: ["node_modules/(?!lightningcss)"], + transform: { "\\.js$": "@swc/jest", "\\.ts$": "@swc/jest" }, + }), + (gC = { node: ">=14.0.0" }), + (Ya = { + name: eC, + version: Ha, + description: tC, + license: rC, + main: iC, + types: nC, + repository: sC, + bugs: aC, + homepage: oC, + bin: lC, + tailwindcss: uC, + scripts: fC, + files: cC, + devDependencies: pC, + dependencies: dC, + browserslist: hC, + jest: mC, + engines: gC, + }); + }); + function at(i, e = !0) { + return Array.isArray(i) + ? i.map((t) => { + if (e && Array.isArray(t)) + throw new Error("The tuple syntax is not supported for `screens`."); + if (typeof t == "string") + return { + name: t.toString(), + not: !1, + values: [{ min: t, max: void 0 }], + }; + let [r, n] = t; + return ( + (r = r.toString()), + typeof n == "string" + ? { name: r, not: !1, values: [{ min: n, max: void 0 }] } + : Array.isArray(n) + ? { name: r, not: !1, values: n.map((a) => dd(a)) } + : { name: r, not: !1, values: [dd(n)] } + ); + }) + : at(Object.entries(i ?? {}), !1); + } + function pn(i) { + return i.values.length !== 1 + ? { result: !1, reason: "multiple-values" } + : i.values[0].raw !== void 0 + ? { result: !1, reason: "raw-values" } + : i.values[0].min !== void 0 && i.values[0].max !== void 0 + ? { result: !1, reason: "min-and-max" } + : { result: !0, reason: null }; + } + function pd(i, e, t) { + let r = dn(e, i), + n = dn(t, i), + a = pn(r), + s = pn(n); + if (a.reason === "multiple-values" || s.reason === "multiple-values") + throw new Error( + "Attempted to sort a screen with multiple values. This should never happen. Please open a bug report.", + ); + if (a.reason === "raw-values" || s.reason === "raw-values") + throw new Error( + "Attempted to sort a screen with raw values. This should never happen. Please open a bug report.", + ); + if (a.reason === "min-and-max" || s.reason === "min-and-max") + throw new Error( + "Attempted to sort a screen with both min and max values. This should never happen. Please open a bug report.", + ); + let { min: o, max: u } = r.values[0], + { min: c, max: f } = n.values[0]; + e.not && ([o, u] = [u, o]), + t.not && ([c, f] = [f, c]), + (o = o === void 0 ? o : parseFloat(o)), + (u = u === void 0 ? u : parseFloat(u)), + (c = c === void 0 ? c : parseFloat(c)), + (f = f === void 0 ? f : parseFloat(f)); + let [d, p] = i === "min" ? [o, c] : [f, u]; + return d - p; + } + function dn(i, e) { + return typeof i == "object" + ? i + : { name: "arbitrary-screen", values: [{ [e]: i }] }; + } + function dd({ "min-width": i, min: e = i, max: t, raw: r } = {}) { + return { min: e, max: t, raw: r }; + } + var hn = C(() => { + l(); + }); + function mn(i, e) { + i.walkDecls((t) => { + if (e.includes(t.prop)) { + t.remove(); + return; + } + for (let r of e) + t.value.includes(`/ var(${r})`) && + (t.value = t.value.replace(`/ var(${r})`, "")); + }); + } + var hd = C(() => { + l(); + }); + var Y, + Te, + Me, + Be, + md, + gd = C(() => { + l(); + je(); + gt(); + nt(); + od(); + cn(); + Ft(); + ud(); + cd(); + or(); + cs(); + kt(); + Hr(); + Ga(); + Oe(); + hn(); + ns(); + hd(); + ze(); + fr(); + Xr(); + (Y = { + childVariant: ({ addVariant: i }) => { + i("*", "& > *"); + }, + pseudoElementVariants: ({ addVariant: i }) => { + i("first-letter", "&::first-letter"), + i("first-line", "&::first-line"), + i("marker", [ + ({ container: e }) => ( + mn(e, ["--tw-text-opacity"]), "& *::marker" + ), + ({ container: e }) => (mn(e, ["--tw-text-opacity"]), "&::marker"), + ]), + i("selection", ["& *::selection", "&::selection"]), + i("file", "&::file-selector-button"), + i("placeholder", "&::placeholder"), + i("backdrop", "&::backdrop"), + i( + "before", + ({ container: e }) => ( + e.walkRules((t) => { + let r = !1; + t.walkDecls("content", () => { + r = !0; + }), + r || + t.prepend( + V.decl({ prop: "content", value: "var(--tw-content)" }), + ); + }), + "&::before" + ), + ), + i( + "after", + ({ container: e }) => ( + e.walkRules((t) => { + let r = !1; + t.walkDecls("content", () => { + r = !0; + }), + r || + t.prepend( + V.decl({ prop: "content", value: "var(--tw-content)" }), + ); + }), + "&::after" + ), + ); + }, + pseudoClassVariants: ({ + addVariant: i, + matchVariant: e, + config: t, + prefix: r, + }) => { + let n = [ + ["first", "&:first-child"], + ["last", "&:last-child"], + ["only", "&:only-child"], + ["odd", "&:nth-child(odd)"], + ["even", "&:nth-child(even)"], + "first-of-type", + "last-of-type", + "only-of-type", + [ + "visited", + ({ container: s }) => ( + mn(s, [ + "--tw-text-opacity", + "--tw-border-opacity", + "--tw-bg-opacity", + ]), + "&:visited" + ), + ], + "target", + ["open", "&[open]"], + "default", + "checked", + "indeterminate", + "placeholder-shown", + "autofill", + "optional", + "required", + "valid", + "invalid", + "in-range", + "out-of-range", + "read-only", + "empty", + "focus-within", + [ + "hover", + Z(t(), "hoverOnlyWhenSupported") + ? "@media (hover: hover) and (pointer: fine) { &:hover }" + : "&:hover", + ], + "focus", + "focus-visible", + "active", + "enabled", + "disabled", + ].map((s) => (Array.isArray(s) ? s : [s, `&:${s}`])); + for (let [s, o] of n) + i(s, (u) => (typeof o == "function" ? o(u) : o)); + let a = { + group: (s, { modifier: o }) => + o + ? [`:merge(${r(".group")}\\/${de(o)})`, " &"] + : [`:merge(${r(".group")})`, " &"], + peer: (s, { modifier: o }) => + o + ? [`:merge(${r(".peer")}\\/${de(o)})`, " ~ &"] + : [`:merge(${r(".peer")})`, " ~ &"], + }; + for (let [s, o] of Object.entries(a)) + e( + s, + (u = "", c) => { + let f = N(typeof u == "function" ? u(c) : u); + f.includes("&") || (f = "&" + f); + let [d, p] = o("", c), + m = null, + w = null, + x = 0; + for (let y = 0; y < f.length; ++y) { + let b = f[y]; + b === "&" + ? (m = y) + : b === "'" || b === '"' + ? (x += 1) + : m !== null && b === " " && !x && (w = y); + } + return ( + m !== null && w === null && (w = f.length), + f.slice(0, m) + d + f.slice(m + 1, w) + p + f.slice(w) + ); + }, + { values: Object.fromEntries(n), [Jr]: { respectPrefix: !1 } }, + ); + }, + directionVariants: ({ addVariant: i }) => { + i("ltr", '&:where([dir="ltr"], [dir="ltr"] *)'), + i("rtl", '&:where([dir="rtl"], [dir="rtl"] *)'); + }, + reducedMotionVariants: ({ addVariant: i }) => { + i("motion-safe", "@media (prefers-reduced-motion: no-preference)"), + i("motion-reduce", "@media (prefers-reduced-motion: reduce)"); + }, + darkVariants: ({ config: i, addVariant: e }) => { + let [t, r = ".dark"] = [].concat(i("darkMode", "media")); + if ( + (t === !1 && + ((t = "media"), + F.warn("darkmode-false", [ + "The `darkMode` option in your Tailwind CSS configuration is set to `false`, which now behaves the same as `media`.", + "Change `darkMode` to `media` or remove it entirely.", + "https://tailwindcss.com/docs/upgrade-guide#remove-dark-mode-configuration", + ])), + t === "variant") + ) { + let n; + if ( + (Array.isArray(r) || typeof r == "function" + ? (n = r) + : typeof r == "string" && (n = [r]), + Array.isArray(n)) + ) + for (let a of n) + a === ".dark" + ? ((t = !1), + F.warn("darkmode-variant-without-selector", [ + "When using `variant` for `darkMode`, you must provide a selector.", + 'Example: `darkMode: ["variant", ".your-selector &"]`', + ])) + : a.includes("&") || + ((t = !1), + F.warn("darkmode-variant-without-ampersand", [ + "When using `variant` for `darkMode`, your selector must contain `&`.", + 'Example `darkMode: ["variant", ".your-selector &"]`', + ])); + r = n; + } + t === "selector" + ? e("dark", `&:where(${r}, ${r} *)`) + : t === "media" + ? e("dark", "@media (prefers-color-scheme: dark)") + : t === "variant" + ? e("dark", r) + : t === "class" && e("dark", `:is(${r} &)`); + }, + printVariant: ({ addVariant: i }) => { + i("print", "@media print"); + }, + screenVariants: ({ theme: i, addVariant: e, matchVariant: t }) => { + let r = i("screens") ?? {}, + n = Object.values(r).every((b) => typeof b == "string"), + a = at(i("screens")), + s = new Set([]); + function o(b) { + return b.match(/(\D+)$/)?.[1] ?? "(none)"; + } + function u(b) { + b !== void 0 && s.add(o(b)); + } + function c(b) { + return u(b), s.size === 1; + } + for (let b of a) for (let k of b.values) u(k.min), u(k.max); + let f = s.size <= 1; + function d(b) { + return Object.fromEntries( + a + .filter((k) => pn(k).result) + .map((k) => { + let { min: S, max: _ } = k.values[0]; + if (b === "min" && S !== void 0) return k; + if (b === "min" && _ !== void 0) return { ...k, not: !k.not }; + if (b === "max" && _ !== void 0) return k; + if (b === "max" && S !== void 0) return { ...k, not: !k.not }; + }) + .map((k) => [k.name, k]), + ); + } + function p(b) { + return (k, S) => pd(b, k.value, S.value); + } + let m = p("max"), + w = p("min"); + function x(b) { + return (k) => { + if (n) + if (f) { + if (typeof k == "string" && !c(k)) + return ( + F.warn("minmax-have-mixed-units", [ + "The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units.", + ]), + [] + ); + } else + return ( + F.warn("mixed-screen-units", [ + "The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units.", + ]), + [] + ); + else + return ( + F.warn("complex-screen-config", [ + "The `min-*` and `max-*` variants are not supported with a `screens` configuration containing objects.", + ]), + [] + ); + return [`@media ${st(dn(k, b))}`]; + }; + } + t("max", x("max"), { sort: m, values: n ? d("max") : {} }); + let y = "min-screens"; + for (let b of a) + e(b.name, `@media ${st(b)}`, { + id: y, + sort: n && f ? w : void 0, + value: b, + }); + t("min", x("min"), { id: y, sort: w }); + }, + supportsVariants: ({ matchVariant: i, theme: e }) => { + i( + "supports", + (t = "") => { + let r = N(t), + n = /^\w*\s*\(/.test(r); + return ( + (r = n ? r.replace(/\b(and|or|not)\b/g, " $1 ") : r), + n + ? `@supports ${r}` + : (r.includes(":") || (r = `${r}: var(--tw)`), + (r.startsWith("(") && r.endsWith(")")) || (r = `(${r})`), + `@supports ${r}`) + ); + }, + { values: e("supports") ?? {} }, + ); + }, + hasVariants: ({ matchVariant: i }) => { + i("has", (e) => `&:has(${N(e)})`, { values: {} }), + i( + "group-has", + (e, { modifier: t }) => + t + ? `:merge(.group\\/${t}):has(${N(e)}) &` + : `:merge(.group):has(${N(e)}) &`, + { values: {} }, + ), + i( + "peer-has", + (e, { modifier: t }) => + t + ? `:merge(.peer\\/${t}):has(${N(e)}) ~ &` + : `:merge(.peer):has(${N(e)}) ~ &`, + { values: {} }, + ); + }, + ariaVariants: ({ matchVariant: i, theme: e }) => { + i("aria", (t) => `&[aria-${N(t)}]`, { values: e("aria") ?? {} }), + i( + "group-aria", + (t, { modifier: r }) => + r + ? `:merge(.group\\/${r})[aria-${N(t)}] &` + : `:merge(.group)[aria-${N(t)}] &`, + { values: e("aria") ?? {} }, + ), + i( + "peer-aria", + (t, { modifier: r }) => + r + ? `:merge(.peer\\/${r})[aria-${N(t)}] ~ &` + : `:merge(.peer)[aria-${N(t)}] ~ &`, + { values: e("aria") ?? {} }, + ); + }, + dataVariants: ({ matchVariant: i, theme: e }) => { + i("data", (t) => `&[data-${N(t)}]`, { values: e("data") ?? {} }), + i( + "group-data", + (t, { modifier: r }) => + r + ? `:merge(.group\\/${r})[data-${N(t)}] &` + : `:merge(.group)[data-${N(t)}] &`, + { values: e("data") ?? {} }, + ), + i( + "peer-data", + (t, { modifier: r }) => + r + ? `:merge(.peer\\/${r})[data-${N(t)}] ~ &` + : `:merge(.peer)[data-${N(t)}] ~ &`, + { values: e("data") ?? {} }, + ); + }, + orientationVariants: ({ addVariant: i }) => { + i("portrait", "@media (orientation: portrait)"), + i("landscape", "@media (orientation: landscape)"); + }, + prefersContrastVariants: ({ addVariant: i }) => { + i("contrast-more", "@media (prefers-contrast: more)"), + i("contrast-less", "@media (prefers-contrast: less)"); + }, + forcedColorsVariants: ({ addVariant: i }) => { + i("forced-colors", "@media (forced-colors: active)"); + }, + }), + (Te = [ + "translate(var(--tw-translate-x), var(--tw-translate-y))", + "rotate(var(--tw-rotate))", + "skewX(var(--tw-skew-x))", + "skewY(var(--tw-skew-y))", + "scaleX(var(--tw-scale-x))", + "scaleY(var(--tw-scale-y))", + ].join(" ")), + (Me = [ + "var(--tw-blur)", + "var(--tw-brightness)", + "var(--tw-contrast)", + "var(--tw-grayscale)", + "var(--tw-hue-rotate)", + "var(--tw-invert)", + "var(--tw-saturate)", + "var(--tw-sepia)", + "var(--tw-drop-shadow)", + ].join(" ")), + (Be = [ + "var(--tw-backdrop-blur)", + "var(--tw-backdrop-brightness)", + "var(--tw-backdrop-contrast)", + "var(--tw-backdrop-grayscale)", + "var(--tw-backdrop-hue-rotate)", + "var(--tw-backdrop-invert)", + "var(--tw-backdrop-opacity)", + "var(--tw-backdrop-saturate)", + "var(--tw-backdrop-sepia)", + ].join(" ")), + (md = { + preflight: ({ addBase: i }) => { + let e = V.parse( + `*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:theme('borderColor.DEFAULT', currentColor)}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:theme('fontFamily.sans', ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:theme('fontFamily.sans[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.sans[1].fontVariationSettings', normal);-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:theme('fontFamily.mono[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.mono[1].fontVariationSettings', normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:theme('colors.gray.4', #9ca3af)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}`, + ); + i([ + V.comment({ + text: `! tailwindcss v${Ha} | MIT License | https://tailwindcss.com`, + }), + ...e.nodes, + ]); + }, + container: (() => { + function i(t = []) { + return t + .flatMap((r) => r.values.map((n) => n.min)) + .filter((r) => r !== void 0); + } + function e(t, r, n) { + if (typeof n == "undefined") return []; + if (!(typeof n == "object" && n !== null)) + return [{ screen: "DEFAULT", minWidth: 0, padding: n }]; + let a = []; + n.DEFAULT && + a.push({ screen: "DEFAULT", minWidth: 0, padding: n.DEFAULT }); + for (let s of t) + for (let o of r) + for (let { min: u } of o.values) + u === s && a.push({ minWidth: s, padding: n[o.name] }); + return a; + } + return function ({ addComponents: t, theme: r }) { + let n = at(r("container.screens", r("screens"))), + a = i(n), + s = e(a, n, r("container.padding")), + o = (c) => { + let f = s.find((d) => d.minWidth === c); + return f + ? { paddingRight: f.padding, paddingLeft: f.padding } + : {}; + }, + u = Array.from( + new Set(a.slice().sort((c, f) => parseInt(c) - parseInt(f))), + ).map((c) => ({ + [`@media (min-width: ${c})`]: { + ".container": { "max-width": c, ...o(c) }, + }, + })); + t([ + { + ".container": Object.assign( + { width: "100%" }, + r("container.center", !1) + ? { marginRight: "auto", marginLeft: "auto" } + : {}, + o(0), + ), + }, + ...u, + ]); + }; + })(), + accessibility: ({ addUtilities: i }) => { + i({ + ".sr-only": { + position: "absolute", + width: "1px", + height: "1px", + padding: "0", + margin: "-1px", + overflow: "hidden", + clip: "rect(0, 0, 0, 0)", + whiteSpace: "nowrap", + borderWidth: "0", + }, + ".not-sr-only": { + position: "static", + width: "auto", + height: "auto", + padding: "0", + margin: "0", + overflow: "visible", + clip: "auto", + whiteSpace: "normal", + }, + }); + }, + pointerEvents: ({ addUtilities: i }) => { + i({ + ".pointer-events-none": { "pointer-events": "none" }, + ".pointer-events-auto": { "pointer-events": "auto" }, + }); + }, + visibility: ({ addUtilities: i }) => { + i({ + ".visible": { visibility: "visible" }, + ".invisible": { visibility: "hidden" }, + ".collapse": { visibility: "collapse" }, + }); + }, + position: ({ addUtilities: i }) => { + i({ + ".static": { position: "static" }, + ".fixed": { position: "fixed" }, + ".absolute": { position: "absolute" }, + ".relative": { position: "relative" }, + ".sticky": { position: "sticky" }, + }); + }, + inset: P( + "inset", + [ + ["inset", ["inset"]], + [ + ["inset-x", ["left", "right"]], + ["inset-y", ["top", "bottom"]], + ], + [ + ["start", ["inset-inline-start"]], + ["end", ["inset-inline-end"]], + ["top", ["top"]], + ["right", ["right"]], + ["bottom", ["bottom"]], + ["left", ["left"]], + ], + ], + { supportsNegativeValues: !0 }, + ), + isolation: ({ addUtilities: i }) => { + i({ + ".isolate": { isolation: "isolate" }, + ".isolation-auto": { isolation: "auto" }, + }); + }, + zIndex: P("zIndex", [["z", ["zIndex"]]], { + supportsNegativeValues: !0, + }), + order: P("order", void 0, { supportsNegativeValues: !0 }), + gridColumn: P("gridColumn", [["col", ["gridColumn"]]]), + gridColumnStart: P("gridColumnStart", [ + ["col-start", ["gridColumnStart"]], + ]), + gridColumnEnd: P("gridColumnEnd", [["col-end", ["gridColumnEnd"]]]), + gridRow: P("gridRow", [["row", ["gridRow"]]]), + gridRowStart: P("gridRowStart", [["row-start", ["gridRowStart"]]]), + gridRowEnd: P("gridRowEnd", [["row-end", ["gridRowEnd"]]]), + float: ({ addUtilities: i }) => { + i({ + ".float-start": { float: "inline-start" }, + ".float-end": { float: "inline-end" }, + ".float-right": { float: "right" }, + ".float-left": { float: "left" }, + ".float-none": { float: "none" }, + }); + }, + clear: ({ addUtilities: i }) => { + i({ + ".clear-start": { clear: "inline-start" }, + ".clear-end": { clear: "inline-end" }, + ".clear-left": { clear: "left" }, + ".clear-right": { clear: "right" }, + ".clear-both": { clear: "both" }, + ".clear-none": { clear: "none" }, + }); + }, + margin: P( + "margin", + [ + ["m", ["margin"]], + [ + ["mx", ["margin-left", "margin-right"]], + ["my", ["margin-top", "margin-bottom"]], + ], + [ + ["ms", ["margin-inline-start"]], + ["me", ["margin-inline-end"]], + ["mt", ["margin-top"]], + ["mr", ["margin-right"]], + ["mb", ["margin-bottom"]], + ["ml", ["margin-left"]], + ], + ], + { supportsNegativeValues: !0 }, + ), + boxSizing: ({ addUtilities: i }) => { + i({ + ".box-border": { "box-sizing": "border-box" }, + ".box-content": { "box-sizing": "content-box" }, + }); + }, + lineClamp: ({ matchUtilities: i, addUtilities: e, theme: t }) => { + i( + { + "line-clamp": (r) => ({ + overflow: "hidden", + display: "-webkit-box", + "-webkit-box-orient": "vertical", + "-webkit-line-clamp": `${r}`, + }), + }, + { values: t("lineClamp") }, + ), + e({ + ".line-clamp-none": { + overflow: "visible", + display: "block", + "-webkit-box-orient": "horizontal", + "-webkit-line-clamp": "none", + }, + }); + }, + display: ({ addUtilities: i }) => { + i({ + ".block": { display: "block" }, + ".inline-block": { display: "inline-block" }, + ".inline": { display: "inline" }, + ".flex": { display: "flex" }, + ".inline-flex": { display: "inline-flex" }, + ".table": { display: "table" }, + ".inline-table": { display: "inline-table" }, + ".table-caption": { display: "table-caption" }, + ".table-cell": { display: "table-cell" }, + ".table-column": { display: "table-column" }, + ".table-column-group": { display: "table-column-group" }, + ".table-footer-group": { display: "table-footer-group" }, + ".table-header-group": { display: "table-header-group" }, + ".table-row-group": { display: "table-row-group" }, + ".table-row": { display: "table-row" }, + ".flow-root": { display: "flow-root" }, + ".grid": { display: "grid" }, + ".inline-grid": { display: "inline-grid" }, + ".contents": { display: "contents" }, + ".list-item": { display: "list-item" }, + ".hidden": { display: "none" }, + }); + }, + aspectRatio: P("aspectRatio", [["aspect", ["aspect-ratio"]]]), + size: P("size", [["size", ["width", "height"]]]), + height: P("height", [["h", ["height"]]]), + maxHeight: P("maxHeight", [["max-h", ["maxHeight"]]]), + minHeight: P("minHeight", [["min-h", ["minHeight"]]]), + width: P("width", [["w", ["width"]]]), + minWidth: P("minWidth", [["min-w", ["minWidth"]]]), + maxWidth: P("maxWidth", [["max-w", ["maxWidth"]]]), + flex: P("flex"), + flexShrink: P("flexShrink", [ + ["flex-shrink", ["flex-shrink"]], + ["shrink", ["flex-shrink"]], + ]), + flexGrow: P("flexGrow", [ + ["flex-grow", ["flex-grow"]], + ["grow", ["flex-grow"]], + ]), + flexBasis: P("flexBasis", [["basis", ["flex-basis"]]]), + tableLayout: ({ addUtilities: i }) => { + i({ + ".table-auto": { "table-layout": "auto" }, + ".table-fixed": { "table-layout": "fixed" }, + }); + }, + captionSide: ({ addUtilities: i }) => { + i({ + ".caption-top": { "caption-side": "top" }, + ".caption-bottom": { "caption-side": "bottom" }, + }); + }, + borderCollapse: ({ addUtilities: i }) => { + i({ + ".border-collapse": { "border-collapse": "collapse" }, + ".border-separate": { "border-collapse": "separate" }, + }); + }, + borderSpacing: ({ addDefaults: i, matchUtilities: e, theme: t }) => { + i("border-spacing", { + "--tw-border-spacing-x": 0, + "--tw-border-spacing-y": 0, + }), + e( + { + "border-spacing": (r) => ({ + "--tw-border-spacing-x": r, + "--tw-border-spacing-y": r, + "@defaults border-spacing": {}, + "border-spacing": + "var(--tw-border-spacing-x) var(--tw-border-spacing-y)", + }), + "border-spacing-x": (r) => ({ + "--tw-border-spacing-x": r, + "@defaults border-spacing": {}, + "border-spacing": + "var(--tw-border-spacing-x) var(--tw-border-spacing-y)", + }), + "border-spacing-y": (r) => ({ + "--tw-border-spacing-y": r, + "@defaults border-spacing": {}, + "border-spacing": + "var(--tw-border-spacing-x) var(--tw-border-spacing-y)", + }), + }, + { values: t("borderSpacing") }, + ); + }, + transformOrigin: P("transformOrigin", [ + ["origin", ["transformOrigin"]], + ]), + translate: P( + "translate", + [ + [ + [ + "translate-x", + [ + ["@defaults transform", {}], + "--tw-translate-x", + ["transform", Te], + ], + ], + [ + "translate-y", + [ + ["@defaults transform", {}], + "--tw-translate-y", + ["transform", Te], + ], + ], + ], + ], + { supportsNegativeValues: !0 }, + ), + rotate: P( + "rotate", + [ + [ + "rotate", + [["@defaults transform", {}], "--tw-rotate", ["transform", Te]], + ], + ], + { supportsNegativeValues: !0 }, + ), + skew: P( + "skew", + [ + [ + [ + "skew-x", + [ + ["@defaults transform", {}], + "--tw-skew-x", + ["transform", Te], + ], + ], + [ + "skew-y", + [ + ["@defaults transform", {}], + "--tw-skew-y", + ["transform", Te], + ], + ], + ], + ], + { supportsNegativeValues: !0 }, + ), + scale: P( + "scale", + [ + [ + "scale", + [ + ["@defaults transform", {}], + "--tw-scale-x", + "--tw-scale-y", + ["transform", Te], + ], + ], + [ + [ + "scale-x", + [ + ["@defaults transform", {}], + "--tw-scale-x", + ["transform", Te], + ], + ], + [ + "scale-y", + [ + ["@defaults transform", {}], + "--tw-scale-y", + ["transform", Te], + ], + ], + ], + ], + { supportsNegativeValues: !0 }, + ), + transform: ({ addDefaults: i, addUtilities: e }) => { + i("transform", { + "--tw-translate-x": "0", + "--tw-translate-y": "0", + "--tw-rotate": "0", + "--tw-skew-x": "0", + "--tw-skew-y": "0", + "--tw-scale-x": "1", + "--tw-scale-y": "1", + }), + e({ + ".transform": { "@defaults transform": {}, transform: Te }, + ".transform-cpu": { transform: Te }, + ".transform-gpu": { + transform: Te.replace( + "translate(var(--tw-translate-x), var(--tw-translate-y))", + "translate3d(var(--tw-translate-x), var(--tw-translate-y), 0)", + ), + }, + ".transform-none": { transform: "none" }, + }); + }, + animation: ({ matchUtilities: i, theme: e, config: t }) => { + let r = (a) => de(t("prefix") + a), + n = Object.fromEntries( + Object.entries(e("keyframes") ?? {}).map(([a, s]) => [ + a, + { [`@keyframes ${r(a)}`]: s }, + ]), + ); + i( + { + animate: (a) => { + let s = Wa(a); + return [ + ...s.flatMap((o) => n[o.name]), + { + animation: s + .map(({ name: o, value: u }) => + o === void 0 || n[o] === void 0 + ? u + : u.replace(o, r(o)), + ) + .join(", "), + }, + ]; + }, + }, + { values: e("animation") }, + ); + }, + cursor: P("cursor"), + touchAction: ({ addDefaults: i, addUtilities: e }) => { + i("touch-action", { + "--tw-pan-x": " ", + "--tw-pan-y": " ", + "--tw-pinch-zoom": " ", + }); + let t = "var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)"; + e({ + ".touch-auto": { "touch-action": "auto" }, + ".touch-none": { "touch-action": "none" }, + ".touch-pan-x": { + "@defaults touch-action": {}, + "--tw-pan-x": "pan-x", + "touch-action": t, + }, + ".touch-pan-left": { + "@defaults touch-action": {}, + "--tw-pan-x": "pan-left", + "touch-action": t, + }, + ".touch-pan-right": { + "@defaults touch-action": {}, + "--tw-pan-x": "pan-right", + "touch-action": t, + }, + ".touch-pan-y": { + "@defaults touch-action": {}, + "--tw-pan-y": "pan-y", + "touch-action": t, + }, + ".touch-pan-up": { + "@defaults touch-action": {}, + "--tw-pan-y": "pan-up", + "touch-action": t, + }, + ".touch-pan-down": { + "@defaults touch-action": {}, + "--tw-pan-y": "pan-down", + "touch-action": t, + }, + ".touch-pinch-zoom": { + "@defaults touch-action": {}, + "--tw-pinch-zoom": "pinch-zoom", + "touch-action": t, + }, + ".touch-manipulation": { "touch-action": "manipulation" }, + }); + }, + userSelect: ({ addUtilities: i }) => { + i({ + ".select-none": { "user-select": "none" }, + ".select-text": { "user-select": "text" }, + ".select-all": { "user-select": "all" }, + ".select-auto": { "user-select": "auto" }, + }); + }, + resize: ({ addUtilities: i }) => { + i({ + ".resize-none": { resize: "none" }, + ".resize-y": { resize: "vertical" }, + ".resize-x": { resize: "horizontal" }, + ".resize": { resize: "both" }, + }); + }, + scrollSnapType: ({ addDefaults: i, addUtilities: e }) => { + i("scroll-snap-type", { + "--tw-scroll-snap-strictness": "proximity", + }), + e({ + ".snap-none": { "scroll-snap-type": "none" }, + ".snap-x": { + "@defaults scroll-snap-type": {}, + "scroll-snap-type": "x var(--tw-scroll-snap-strictness)", + }, + ".snap-y": { + "@defaults scroll-snap-type": {}, + "scroll-snap-type": "y var(--tw-scroll-snap-strictness)", + }, + ".snap-both": { + "@defaults scroll-snap-type": {}, + "scroll-snap-type": "both var(--tw-scroll-snap-strictness)", + }, + ".snap-mandatory": { + "--tw-scroll-snap-strictness": "mandatory", + }, + ".snap-proximity": { + "--tw-scroll-snap-strictness": "proximity", + }, + }); + }, + scrollSnapAlign: ({ addUtilities: i }) => { + i({ + ".snap-start": { "scroll-snap-align": "start" }, + ".snap-end": { "scroll-snap-align": "end" }, + ".snap-center": { "scroll-snap-align": "center" }, + ".snap-align-none": { "scroll-snap-align": "none" }, + }); + }, + scrollSnapStop: ({ addUtilities: i }) => { + i({ + ".snap-normal": { "scroll-snap-stop": "normal" }, + ".snap-always": { "scroll-snap-stop": "always" }, + }); + }, + scrollMargin: P( + "scrollMargin", + [ + ["scroll-m", ["scroll-margin"]], + [ + ["scroll-mx", ["scroll-margin-left", "scroll-margin-right"]], + ["scroll-my", ["scroll-margin-top", "scroll-margin-bottom"]], + ], + [ + ["scroll-ms", ["scroll-margin-inline-start"]], + ["scroll-me", ["scroll-margin-inline-end"]], + ["scroll-mt", ["scroll-margin-top"]], + ["scroll-mr", ["scroll-margin-right"]], + ["scroll-mb", ["scroll-margin-bottom"]], + ["scroll-ml", ["scroll-margin-left"]], + ], + ], + { supportsNegativeValues: !0 }, + ), + scrollPadding: P("scrollPadding", [ + ["scroll-p", ["scroll-padding"]], + [ + ["scroll-px", ["scroll-padding-left", "scroll-padding-right"]], + ["scroll-py", ["scroll-padding-top", "scroll-padding-bottom"]], + ], + [ + ["scroll-ps", ["scroll-padding-inline-start"]], + ["scroll-pe", ["scroll-padding-inline-end"]], + ["scroll-pt", ["scroll-padding-top"]], + ["scroll-pr", ["scroll-padding-right"]], + ["scroll-pb", ["scroll-padding-bottom"]], + ["scroll-pl", ["scroll-padding-left"]], + ], + ]), + listStylePosition: ({ addUtilities: i }) => { + i({ + ".list-inside": { "list-style-position": "inside" }, + ".list-outside": { "list-style-position": "outside" }, + }); + }, + listStyleType: P("listStyleType", [["list", ["listStyleType"]]]), + listStyleImage: P("listStyleImage", [ + ["list-image", ["listStyleImage"]], + ]), + appearance: ({ addUtilities: i }) => { + i({ + ".appearance-none": { appearance: "none" }, + ".appearance-auto": { appearance: "auto" }, + }); + }, + columns: P("columns", [["columns", ["columns"]]]), + breakBefore: ({ addUtilities: i }) => { + i({ + ".break-before-auto": { "break-before": "auto" }, + ".break-before-avoid": { "break-before": "avoid" }, + ".break-before-all": { "break-before": "all" }, + ".break-before-avoid-page": { "break-before": "avoid-page" }, + ".break-before-page": { "break-before": "page" }, + ".break-before-left": { "break-before": "left" }, + ".break-before-right": { "break-before": "right" }, + ".break-before-column": { "break-before": "column" }, + }); + }, + breakInside: ({ addUtilities: i }) => { + i({ + ".break-inside-auto": { "break-inside": "auto" }, + ".break-inside-avoid": { "break-inside": "avoid" }, + ".break-inside-avoid-page": { "break-inside": "avoid-page" }, + ".break-inside-avoid-column": { "break-inside": "avoid-column" }, + }); + }, + breakAfter: ({ addUtilities: i }) => { + i({ + ".break-after-auto": { "break-after": "auto" }, + ".break-after-avoid": { "break-after": "avoid" }, + ".break-after-all": { "break-after": "all" }, + ".break-after-avoid-page": { "break-after": "avoid-page" }, + ".break-after-page": { "break-after": "page" }, + ".break-after-left": { "break-after": "left" }, + ".break-after-right": { "break-after": "right" }, + ".break-after-column": { "break-after": "column" }, + }); + }, + gridAutoColumns: P("gridAutoColumns", [ + ["auto-cols", ["gridAutoColumns"]], + ]), + gridAutoFlow: ({ addUtilities: i }) => { + i({ + ".grid-flow-row": { gridAutoFlow: "row" }, + ".grid-flow-col": { gridAutoFlow: "column" }, + ".grid-flow-dense": { gridAutoFlow: "dense" }, + ".grid-flow-row-dense": { gridAutoFlow: "row dense" }, + ".grid-flow-col-dense": { gridAutoFlow: "column dense" }, + }); + }, + gridAutoRows: P("gridAutoRows", [["auto-rows", ["gridAutoRows"]]]), + gridTemplateColumns: P("gridTemplateColumns", [ + ["grid-cols", ["gridTemplateColumns"]], + ]), + gridTemplateRows: P("gridTemplateRows", [ + ["grid-rows", ["gridTemplateRows"]], + ]), + flexDirection: ({ addUtilities: i }) => { + i({ + ".flex-row": { "flex-direction": "row" }, + ".flex-row-reverse": { "flex-direction": "row-reverse" }, + ".flex-col": { "flex-direction": "column" }, + ".flex-col-reverse": { "flex-direction": "column-reverse" }, + }); + }, + flexWrap: ({ addUtilities: i }) => { + i({ + ".flex-wrap": { "flex-wrap": "wrap" }, + ".flex-wrap-reverse": { "flex-wrap": "wrap-reverse" }, + ".flex-nowrap": { "flex-wrap": "nowrap" }, + }); + }, + placeContent: ({ addUtilities: i }) => { + i({ + ".place-content-center": { "place-content": "center" }, + ".place-content-start": { "place-content": "start" }, + ".place-content-end": { "place-content": "end" }, + ".place-content-between": { "place-content": "space-between" }, + ".place-content-around": { "place-content": "space-around" }, + ".place-content-evenly": { "place-content": "space-evenly" }, + ".place-content-baseline": { "place-content": "baseline" }, + ".place-content-stretch": { "place-content": "stretch" }, + }); + }, + placeItems: ({ addUtilities: i }) => { + i({ + ".place-items-start": { "place-items": "start" }, + ".place-items-end": { "place-items": "end" }, + ".place-items-center": { "place-items": "center" }, + ".place-items-baseline": { "place-items": "baseline" }, + ".place-items-stretch": { "place-items": "stretch" }, + }); + }, + alignContent: ({ addUtilities: i }) => { + i({ + ".content-normal": { "align-content": "normal" }, + ".content-center": { "align-content": "center" }, + ".content-start": { "align-content": "flex-start" }, + ".content-end": { "align-content": "flex-end" }, + ".content-between": { "align-content": "space-between" }, + ".content-around": { "align-content": "space-around" }, + ".content-evenly": { "align-content": "space-evenly" }, + ".content-baseline": { "align-content": "baseline" }, + ".content-stretch": { "align-content": "stretch" }, + }); + }, + alignItems: ({ addUtilities: i }) => { + i({ + ".items-start": { "align-items": "flex-start" }, + ".items-end": { "align-items": "flex-end" }, + ".items-center": { "align-items": "center" }, + ".items-baseline": { "align-items": "baseline" }, + ".items-stretch": { "align-items": "stretch" }, + }); + }, + justifyContent: ({ addUtilities: i }) => { + i({ + ".justify-normal": { "justify-content": "normal" }, + ".justify-start": { "justify-content": "flex-start" }, + ".justify-end": { "justify-content": "flex-end" }, + ".justify-center": { "justify-content": "center" }, + ".justify-between": { "justify-content": "space-between" }, + ".justify-around": { "justify-content": "space-around" }, + ".justify-evenly": { "justify-content": "space-evenly" }, + ".justify-stretch": { "justify-content": "stretch" }, + }); + }, + justifyItems: ({ addUtilities: i }) => { + i({ + ".justify-items-start": { "justify-items": "start" }, + ".justify-items-end": { "justify-items": "end" }, + ".justify-items-center": { "justify-items": "center" }, + ".justify-items-stretch": { "justify-items": "stretch" }, + }); + }, + gap: P("gap", [ + ["gap", ["gap"]], + [ + ["gap-x", ["columnGap"]], + ["gap-y", ["rowGap"]], + ], + ]), + space: ({ matchUtilities: i, addUtilities: e, theme: t }) => { + i( + { + "space-x": (r) => ( + (r = r === "0" ? "0px" : r), + { + "& > :not([hidden]) ~ :not([hidden])": { + "--tw-space-x-reverse": "0", + "margin-right": `calc(${r} * var(--tw-space-x-reverse))`, + "margin-left": `calc(${r} * calc(1 - var(--tw-space-x-reverse)))`, + }, + } + ), + "space-y": (r) => ( + (r = r === "0" ? "0px" : r), + { + "& > :not([hidden]) ~ :not([hidden])": { + "--tw-space-y-reverse": "0", + "margin-top": `calc(${r} * calc(1 - var(--tw-space-y-reverse)))`, + "margin-bottom": `calc(${r} * var(--tw-space-y-reverse))`, + }, + } + ), + }, + { values: t("space"), supportsNegativeValues: !0 }, + ), + e({ + ".space-y-reverse > :not([hidden]) ~ :not([hidden])": { + "--tw-space-y-reverse": "1", + }, + ".space-x-reverse > :not([hidden]) ~ :not([hidden])": { + "--tw-space-x-reverse": "1", + }, + }); + }, + divideWidth: ({ matchUtilities: i, addUtilities: e, theme: t }) => { + i( + { + "divide-x": (r) => ( + (r = r === "0" ? "0px" : r), + { + "& > :not([hidden]) ~ :not([hidden])": { + "@defaults border-width": {}, + "--tw-divide-x-reverse": "0", + "border-right-width": `calc(${r} * var(--tw-divide-x-reverse))`, + "border-left-width": `calc(${r} * calc(1 - var(--tw-divide-x-reverse)))`, + }, + } + ), + "divide-y": (r) => ( + (r = r === "0" ? "0px" : r), + { + "& > :not([hidden]) ~ :not([hidden])": { + "@defaults border-width": {}, + "--tw-divide-y-reverse": "0", + "border-top-width": `calc(${r} * calc(1 - var(--tw-divide-y-reverse)))`, + "border-bottom-width": `calc(${r} * var(--tw-divide-y-reverse))`, + }, + } + ), + }, + { + values: t("divideWidth"), + type: ["line-width", "length", "any"], + }, + ), + e({ + ".divide-y-reverse > :not([hidden]) ~ :not([hidden])": { + "@defaults border-width": {}, + "--tw-divide-y-reverse": "1", + }, + ".divide-x-reverse > :not([hidden]) ~ :not([hidden])": { + "@defaults border-width": {}, + "--tw-divide-x-reverse": "1", + }, + }); + }, + divideStyle: ({ addUtilities: i }) => { + i({ + ".divide-solid > :not([hidden]) ~ :not([hidden])": { + "border-style": "solid", + }, + ".divide-dashed > :not([hidden]) ~ :not([hidden])": { + "border-style": "dashed", + }, + ".divide-dotted > :not([hidden]) ~ :not([hidden])": { + "border-style": "dotted", + }, + ".divide-double > :not([hidden]) ~ :not([hidden])": { + "border-style": "double", + }, + ".divide-none > :not([hidden]) ~ :not([hidden])": { + "border-style": "none", + }, + }); + }, + divideColor: ({ matchUtilities: i, theme: e, corePlugins: t }) => { + i( + { + divide: (r) => + t("divideOpacity") + ? { + ["& > :not([hidden]) ~ :not([hidden])"]: ae({ + color: r, + property: "border-color", + variable: "--tw-divide-opacity", + }), + } + : { + ["& > :not([hidden]) ~ :not([hidden])"]: { + "border-color": L(r), + }, + }, + }, + { + values: (({ DEFAULT: r, ...n }) => n)(ie(e("divideColor"))), + type: ["color", "any"], + }, + ); + }, + divideOpacity: ({ matchUtilities: i, theme: e }) => { + i( + { + "divide-opacity": (t) => ({ + ["& > :not([hidden]) ~ :not([hidden])"]: { + "--tw-divide-opacity": t, + }, + }), + }, + { values: e("divideOpacity") }, + ); + }, + placeSelf: ({ addUtilities: i }) => { + i({ + ".place-self-auto": { "place-self": "auto" }, + ".place-self-start": { "place-self": "start" }, + ".place-self-end": { "place-self": "end" }, + ".place-self-center": { "place-self": "center" }, + ".place-self-stretch": { "place-self": "stretch" }, + }); + }, + alignSelf: ({ addUtilities: i }) => { + i({ + ".self-auto": { "align-self": "auto" }, + ".self-start": { "align-self": "flex-start" }, + ".self-end": { "align-self": "flex-end" }, + ".self-center": { "align-self": "center" }, + ".self-stretch": { "align-self": "stretch" }, + ".self-baseline": { "align-self": "baseline" }, + }); + }, + justifySelf: ({ addUtilities: i }) => { + i({ + ".justify-self-auto": { "justify-self": "auto" }, + ".justify-self-start": { "justify-self": "start" }, + ".justify-self-end": { "justify-self": "end" }, + ".justify-self-center": { "justify-self": "center" }, + ".justify-self-stretch": { "justify-self": "stretch" }, + }); + }, + overflow: ({ addUtilities: i }) => { + i({ + ".overflow-auto": { overflow: "auto" }, + ".overflow-hidden": { overflow: "hidden" }, + ".overflow-clip": { overflow: "clip" }, + ".overflow-visible": { overflow: "visible" }, + ".overflow-scroll": { overflow: "scroll" }, + ".overflow-x-auto": { "overflow-x": "auto" }, + ".overflow-y-auto": { "overflow-y": "auto" }, + ".overflow-x-hidden": { "overflow-x": "hidden" }, + ".overflow-y-hidden": { "overflow-y": "hidden" }, + ".overflow-x-clip": { "overflow-x": "clip" }, + ".overflow-y-clip": { "overflow-y": "clip" }, + ".overflow-x-visible": { "overflow-x": "visible" }, + ".overflow-y-visible": { "overflow-y": "visible" }, + ".overflow-x-scroll": { "overflow-x": "scroll" }, + ".overflow-y-scroll": { "overflow-y": "scroll" }, + }); + }, + overscrollBehavior: ({ addUtilities: i }) => { + i({ + ".overscroll-auto": { "overscroll-behavior": "auto" }, + ".overscroll-contain": { "overscroll-behavior": "contain" }, + ".overscroll-none": { "overscroll-behavior": "none" }, + ".overscroll-y-auto": { "overscroll-behavior-y": "auto" }, + ".overscroll-y-contain": { "overscroll-behavior-y": "contain" }, + ".overscroll-y-none": { "overscroll-behavior-y": "none" }, + ".overscroll-x-auto": { "overscroll-behavior-x": "auto" }, + ".overscroll-x-contain": { "overscroll-behavior-x": "contain" }, + ".overscroll-x-none": { "overscroll-behavior-x": "none" }, + }); + }, + scrollBehavior: ({ addUtilities: i }) => { + i({ + ".scroll-auto": { "scroll-behavior": "auto" }, + ".scroll-smooth": { "scroll-behavior": "smooth" }, + }); + }, + textOverflow: ({ addUtilities: i }) => { + i({ + ".truncate": { + overflow: "hidden", + "text-overflow": "ellipsis", + "white-space": "nowrap", + }, + ".overflow-ellipsis": { "text-overflow": "ellipsis" }, + ".text-ellipsis": { "text-overflow": "ellipsis" }, + ".text-clip": { "text-overflow": "clip" }, + }); + }, + hyphens: ({ addUtilities: i }) => { + i({ + ".hyphens-none": { hyphens: "none" }, + ".hyphens-manual": { hyphens: "manual" }, + ".hyphens-auto": { hyphens: "auto" }, + }); + }, + whitespace: ({ addUtilities: i }) => { + i({ + ".whitespace-normal": { "white-space": "normal" }, + ".whitespace-nowrap": { "white-space": "nowrap" }, + ".whitespace-pre": { "white-space": "pre" }, + ".whitespace-pre-line": { "white-space": "pre-line" }, + ".whitespace-pre-wrap": { "white-space": "pre-wrap" }, + ".whitespace-break-spaces": { "white-space": "break-spaces" }, + }); + }, + textWrap: ({ addUtilities: i }) => { + i({ + ".text-wrap": { "text-wrap": "wrap" }, + ".text-nowrap": { "text-wrap": "nowrap" }, + ".text-balance": { "text-wrap": "balance" }, + ".text-pretty": { "text-wrap": "pretty" }, + }); + }, + wordBreak: ({ addUtilities: i }) => { + i({ + ".break-normal": { + "overflow-wrap": "normal", + "word-break": "normal", + }, + ".break-words": { "overflow-wrap": "break-word" }, + ".break-all": { "word-break": "break-all" }, + ".break-keep": { "word-break": "keep-all" }, + }); + }, + borderRadius: P("borderRadius", [ + ["rounded", ["border-radius"]], + [ + [ + "rounded-s", + ["border-start-start-radius", "border-end-start-radius"], + ], + [ + "rounded-e", + ["border-start-end-radius", "border-end-end-radius"], + ], + [ + "rounded-t", + ["border-top-left-radius", "border-top-right-radius"], + ], + [ + "rounded-r", + ["border-top-right-radius", "border-bottom-right-radius"], + ], + [ + "rounded-b", + ["border-bottom-right-radius", "border-bottom-left-radius"], + ], + [ + "rounded-l", + ["border-top-left-radius", "border-bottom-left-radius"], + ], + ], + [ + ["rounded-ss", ["border-start-start-radius"]], + ["rounded-se", ["border-start-end-radius"]], + ["rounded-ee", ["border-end-end-radius"]], + ["rounded-es", ["border-end-start-radius"]], + ["rounded-tl", ["border-top-left-radius"]], + ["rounded-tr", ["border-top-right-radius"]], + ["rounded-br", ["border-bottom-right-radius"]], + ["rounded-bl", ["border-bottom-left-radius"]], + ], + ]), + borderWidth: P( + "borderWidth", + [ + ["border", [["@defaults border-width", {}], "border-width"]], + [ + [ + "border-x", + [ + ["@defaults border-width", {}], + "border-left-width", + "border-right-width", + ], + ], + [ + "border-y", + [ + ["@defaults border-width", {}], + "border-top-width", + "border-bottom-width", + ], + ], + ], + [ + [ + "border-s", + [["@defaults border-width", {}], "border-inline-start-width"], + ], + [ + "border-e", + [["@defaults border-width", {}], "border-inline-end-width"], + ], + [ + "border-t", + [["@defaults border-width", {}], "border-top-width"], + ], + [ + "border-r", + [["@defaults border-width", {}], "border-right-width"], + ], + [ + "border-b", + [["@defaults border-width", {}], "border-bottom-width"], + ], + [ + "border-l", + [["@defaults border-width", {}], "border-left-width"], + ], + ], + ], + { type: ["line-width", "length"] }, + ), + borderStyle: ({ addUtilities: i }) => { + i({ + ".border-solid": { "border-style": "solid" }, + ".border-dashed": { "border-style": "dashed" }, + ".border-dotted": { "border-style": "dotted" }, + ".border-double": { "border-style": "double" }, + ".border-hidden": { "border-style": "hidden" }, + ".border-none": { "border-style": "none" }, + }); + }, + borderColor: ({ matchUtilities: i, theme: e, corePlugins: t }) => { + i( + { + border: (r) => + t("borderOpacity") + ? ae({ + color: r, + property: "border-color", + variable: "--tw-border-opacity", + }) + : { "border-color": L(r) }, + }, + { + values: (({ DEFAULT: r, ...n }) => n)(ie(e("borderColor"))), + type: ["color", "any"], + }, + ), + i( + { + "border-x": (r) => + t("borderOpacity") + ? ae({ + color: r, + property: ["border-left-color", "border-right-color"], + variable: "--tw-border-opacity", + }) + : { + "border-left-color": L(r), + "border-right-color": L(r), + }, + "border-y": (r) => + t("borderOpacity") + ? ae({ + color: r, + property: ["border-top-color", "border-bottom-color"], + variable: "--tw-border-opacity", + }) + : { + "border-top-color": L(r), + "border-bottom-color": L(r), + }, + }, + { + values: (({ DEFAULT: r, ...n }) => n)(ie(e("borderColor"))), + type: ["color", "any"], + }, + ), + i( + { + "border-s": (r) => + t("borderOpacity") + ? ae({ + color: r, + property: "border-inline-start-color", + variable: "--tw-border-opacity", + }) + : { "border-inline-start-color": L(r) }, + "border-e": (r) => + t("borderOpacity") + ? ae({ + color: r, + property: "border-inline-end-color", + variable: "--tw-border-opacity", + }) + : { "border-inline-end-color": L(r) }, + "border-t": (r) => + t("borderOpacity") + ? ae({ + color: r, + property: "border-top-color", + variable: "--tw-border-opacity", + }) + : { "border-top-color": L(r) }, + "border-r": (r) => + t("borderOpacity") + ? ae({ + color: r, + property: "border-right-color", + variable: "--tw-border-opacity", + }) + : { "border-right-color": L(r) }, + "border-b": (r) => + t("borderOpacity") + ? ae({ + color: r, + property: "border-bottom-color", + variable: "--tw-border-opacity", + }) + : { "border-bottom-color": L(r) }, + "border-l": (r) => + t("borderOpacity") + ? ae({ + color: r, + property: "border-left-color", + variable: "--tw-border-opacity", + }) + : { "border-left-color": L(r) }, + }, + { + values: (({ DEFAULT: r, ...n }) => n)(ie(e("borderColor"))), + type: ["color", "any"], + }, + ); + }, + borderOpacity: P("borderOpacity", [ + ["border-opacity", ["--tw-border-opacity"]], + ]), + backgroundColor: ({ + matchUtilities: i, + theme: e, + corePlugins: t, + }) => { + i( + { + bg: (r) => + t("backgroundOpacity") + ? ae({ + color: r, + property: "background-color", + variable: "--tw-bg-opacity", + }) + : { "background-color": L(r) }, + }, + { values: ie(e("backgroundColor")), type: ["color", "any"] }, + ); + }, + backgroundOpacity: P("backgroundOpacity", [ + ["bg-opacity", ["--tw-bg-opacity"]], + ]), + backgroundImage: P( + "backgroundImage", + [["bg", ["background-image"]]], + { type: ["lookup", "image", "url"] }, + ), + gradientColorStops: (() => { + function i(e) { + return De(e, 0, "rgb(255 255 255 / 0)"); + } + return function ({ matchUtilities: e, theme: t, addDefaults: r }) { + r("gradient-color-stops", { + "--tw-gradient-from-position": " ", + "--tw-gradient-via-position": " ", + "--tw-gradient-to-position": " ", + }); + let n = { + values: ie(t("gradientColorStops")), + type: ["color", "any"], + }, + a = { + values: t("gradientColorStopPositions"), + type: ["length", "percentage"], + }; + e( + { + from: (s) => { + let o = i(s); + return { + "@defaults gradient-color-stops": {}, + "--tw-gradient-from": `${L(s)} var(--tw-gradient-from-position)`, + "--tw-gradient-to": `${o} var(--tw-gradient-to-position)`, + "--tw-gradient-stops": + "var(--tw-gradient-from), var(--tw-gradient-to)", + }; + }, + }, + n, + ), + e({ from: (s) => ({ "--tw-gradient-from-position": s }) }, a), + e( + { + via: (s) => { + let o = i(s); + return { + "@defaults gradient-color-stops": {}, + "--tw-gradient-to": `${o} var(--tw-gradient-to-position)`, + "--tw-gradient-stops": `var(--tw-gradient-from), ${L(s)} var(--tw-gradient-via-position), var(--tw-gradient-to)`, + }; + }, + }, + n, + ), + e({ via: (s) => ({ "--tw-gradient-via-position": s }) }, a), + e( + { + to: (s) => ({ + "@defaults gradient-color-stops": {}, + "--tw-gradient-to": `${L(s)} var(--tw-gradient-to-position)`, + }), + }, + n, + ), + e({ to: (s) => ({ "--tw-gradient-to-position": s }) }, a); + }; + })(), + boxDecorationBreak: ({ addUtilities: i }) => { + i({ + ".decoration-slice": { "box-decoration-break": "slice" }, + ".decoration-clone": { "box-decoration-break": "clone" }, + ".box-decoration-slice": { "box-decoration-break": "slice" }, + ".box-decoration-clone": { "box-decoration-break": "clone" }, + }); + }, + backgroundSize: P("backgroundSize", [["bg", ["background-size"]]], { + type: ["lookup", "length", "percentage", "size"], + }), + backgroundAttachment: ({ addUtilities: i }) => { + i({ + ".bg-fixed": { "background-attachment": "fixed" }, + ".bg-local": { "background-attachment": "local" }, + ".bg-scroll": { "background-attachment": "scroll" }, + }); + }, + backgroundClip: ({ addUtilities: i }) => { + i({ + ".bg-clip-border": { "background-clip": "border-box" }, + ".bg-clip-padding": { "background-clip": "padding-box" }, + ".bg-clip-content": { "background-clip": "content-box" }, + ".bg-clip-text": { "background-clip": "text" }, + }); + }, + backgroundPosition: P( + "backgroundPosition", + [["bg", ["background-position"]]], + { type: ["lookup", ["position", { preferOnConflict: !0 }]] }, + ), + backgroundRepeat: ({ addUtilities: i }) => { + i({ + ".bg-repeat": { "background-repeat": "repeat" }, + ".bg-no-repeat": { "background-repeat": "no-repeat" }, + ".bg-repeat-x": { "background-repeat": "repeat-x" }, + ".bg-repeat-y": { "background-repeat": "repeat-y" }, + ".bg-repeat-round": { "background-repeat": "round" }, + ".bg-repeat-space": { "background-repeat": "space" }, + }); + }, + backgroundOrigin: ({ addUtilities: i }) => { + i({ + ".bg-origin-border": { "background-origin": "border-box" }, + ".bg-origin-padding": { "background-origin": "padding-box" }, + ".bg-origin-content": { "background-origin": "content-box" }, + }); + }, + fill: ({ matchUtilities: i, theme: e }) => { + i( + { fill: (t) => ({ fill: L(t) }) }, + { values: ie(e("fill")), type: ["color", "any"] }, + ); + }, + stroke: ({ matchUtilities: i, theme: e }) => { + i( + { stroke: (t) => ({ stroke: L(t) }) }, + { values: ie(e("stroke")), type: ["color", "url", "any"] }, + ); + }, + strokeWidth: P("strokeWidth", [["stroke", ["stroke-width"]]], { + type: ["length", "number", "percentage"], + }), + objectFit: ({ addUtilities: i }) => { + i({ + ".object-contain": { "object-fit": "contain" }, + ".object-cover": { "object-fit": "cover" }, + ".object-fill": { "object-fit": "fill" }, + ".object-none": { "object-fit": "none" }, + ".object-scale-down": { "object-fit": "scale-down" }, + }); + }, + objectPosition: P("objectPosition", [ + ["object", ["object-position"]], + ]), + padding: P("padding", [ + ["p", ["padding"]], + [ + ["px", ["padding-left", "padding-right"]], + ["py", ["padding-top", "padding-bottom"]], + ], + [ + ["ps", ["padding-inline-start"]], + ["pe", ["padding-inline-end"]], + ["pt", ["padding-top"]], + ["pr", ["padding-right"]], + ["pb", ["padding-bottom"]], + ["pl", ["padding-left"]], + ], + ]), + textAlign: ({ addUtilities: i }) => { + i({ + ".text-left": { "text-align": "left" }, + ".text-center": { "text-align": "center" }, + ".text-right": { "text-align": "right" }, + ".text-justify": { "text-align": "justify" }, + ".text-start": { "text-align": "start" }, + ".text-end": { "text-align": "end" }, + }); + }, + textIndent: P("textIndent", [["indent", ["text-indent"]]], { + supportsNegativeValues: !0, + }), + verticalAlign: ({ addUtilities: i, matchUtilities: e }) => { + i({ + ".align-baseline": { "vertical-align": "baseline" }, + ".align-top": { "vertical-align": "top" }, + ".align-middle": { "vertical-align": "middle" }, + ".align-bottom": { "vertical-align": "bottom" }, + ".align-text-top": { "vertical-align": "text-top" }, + ".align-text-bottom": { "vertical-align": "text-bottom" }, + ".align-sub": { "vertical-align": "sub" }, + ".align-super": { "vertical-align": "super" }, + }), + e({ align: (t) => ({ "vertical-align": t }) }); + }, + fontFamily: ({ matchUtilities: i, theme: e }) => { + i( + { + font: (t) => { + let [r, n = {}] = Array.isArray(t) && ne(t[1]) ? t : [t], + { fontFeatureSettings: a, fontVariationSettings: s } = n; + return { + "font-family": Array.isArray(r) ? r.join(", ") : r, + ...(a === void 0 ? {} : { "font-feature-settings": a }), + ...(s === void 0 ? {} : { "font-variation-settings": s }), + }; + }, + }, + { + values: e("fontFamily"), + type: ["lookup", "generic-name", "family-name"], + }, + ); + }, + fontSize: ({ matchUtilities: i, theme: e }) => { + i( + { + text: (t, { modifier: r }) => { + let [n, a] = Array.isArray(t) ? t : [t]; + if (r) return { "font-size": n, "line-height": r }; + let { + lineHeight: s, + letterSpacing: o, + fontWeight: u, + } = ne(a) ? a : { lineHeight: a }; + return { + "font-size": n, + ...(s === void 0 ? {} : { "line-height": s }), + ...(o === void 0 ? {} : { "letter-spacing": o }), + ...(u === void 0 ? {} : { "font-weight": u }), + }; + }, + }, + { + values: e("fontSize"), + modifiers: e("lineHeight"), + type: [ + "absolute-size", + "relative-size", + "length", + "percentage", + ], + }, + ); + }, + fontWeight: P("fontWeight", [["font", ["fontWeight"]]], { + type: ["lookup", "number", "any"], + }), + textTransform: ({ addUtilities: i }) => { + i({ + ".uppercase": { "text-transform": "uppercase" }, + ".lowercase": { "text-transform": "lowercase" }, + ".capitalize": { "text-transform": "capitalize" }, + ".normal-case": { "text-transform": "none" }, + }); + }, + fontStyle: ({ addUtilities: i }) => { + i({ + ".italic": { "font-style": "italic" }, + ".not-italic": { "font-style": "normal" }, + }); + }, + fontVariantNumeric: ({ addDefaults: i, addUtilities: e }) => { + let t = + "var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)"; + i("font-variant-numeric", { + "--tw-ordinal": " ", + "--tw-slashed-zero": " ", + "--tw-numeric-figure": " ", + "--tw-numeric-spacing": " ", + "--tw-numeric-fraction": " ", + }), + e({ + ".normal-nums": { "font-variant-numeric": "normal" }, + ".ordinal": { + "@defaults font-variant-numeric": {}, + "--tw-ordinal": "ordinal", + "font-variant-numeric": t, + }, + ".slashed-zero": { + "@defaults font-variant-numeric": {}, + "--tw-slashed-zero": "slashed-zero", + "font-variant-numeric": t, + }, + ".lining-nums": { + "@defaults font-variant-numeric": {}, + "--tw-numeric-figure": "lining-nums", + "font-variant-numeric": t, + }, + ".oldstyle-nums": { + "@defaults font-variant-numeric": {}, + "--tw-numeric-figure": "oldstyle-nums", + "font-variant-numeric": t, + }, + ".proportional-nums": { + "@defaults font-variant-numeric": {}, + "--tw-numeric-spacing": "proportional-nums", + "font-variant-numeric": t, + }, + ".tabular-nums": { + "@defaults font-variant-numeric": {}, + "--tw-numeric-spacing": "tabular-nums", + "font-variant-numeric": t, + }, + ".diagonal-fractions": { + "@defaults font-variant-numeric": {}, + "--tw-numeric-fraction": "diagonal-fractions", + "font-variant-numeric": t, + }, + ".stacked-fractions": { + "@defaults font-variant-numeric": {}, + "--tw-numeric-fraction": "stacked-fractions", + "font-variant-numeric": t, + }, + }); + }, + lineHeight: P("lineHeight", [["leading", ["lineHeight"]]]), + letterSpacing: P("letterSpacing", [["tracking", ["letterSpacing"]]], { + supportsNegativeValues: !0, + }), + textColor: ({ matchUtilities: i, theme: e, corePlugins: t }) => { + i( + { + text: (r) => + t("textOpacity") + ? ae({ + color: r, + property: "color", + variable: "--tw-text-opacity", + }) + : { color: L(r) }, + }, + { values: ie(e("textColor")), type: ["color", "any"] }, + ); + }, + textOpacity: P("textOpacity", [ + ["text-opacity", ["--tw-text-opacity"]], + ]), + textDecoration: ({ addUtilities: i }) => { + i({ + ".underline": { "text-decoration-line": "underline" }, + ".overline": { "text-decoration-line": "overline" }, + ".line-through": { "text-decoration-line": "line-through" }, + ".no-underline": { "text-decoration-line": "none" }, + }); + }, + textDecorationColor: ({ matchUtilities: i, theme: e }) => { + i( + { decoration: (t) => ({ "text-decoration-color": L(t) }) }, + { values: ie(e("textDecorationColor")), type: ["color", "any"] }, + ); + }, + textDecorationStyle: ({ addUtilities: i }) => { + i({ + ".decoration-solid": { "text-decoration-style": "solid" }, + ".decoration-double": { "text-decoration-style": "double" }, + ".decoration-dotted": { "text-decoration-style": "dotted" }, + ".decoration-dashed": { "text-decoration-style": "dashed" }, + ".decoration-wavy": { "text-decoration-style": "wavy" }, + }); + }, + textDecorationThickness: P( + "textDecorationThickness", + [["decoration", ["text-decoration-thickness"]]], + { type: ["length", "percentage"] }, + ), + textUnderlineOffset: P( + "textUnderlineOffset", + [["underline-offset", ["text-underline-offset"]]], + { type: ["length", "percentage", "any"] }, + ), + fontSmoothing: ({ addUtilities: i }) => { + i({ + ".antialiased": { + "-webkit-font-smoothing": "antialiased", + "-moz-osx-font-smoothing": "grayscale", + }, + ".subpixel-antialiased": { + "-webkit-font-smoothing": "auto", + "-moz-osx-font-smoothing": "auto", + }, + }); + }, + placeholderColor: ({ + matchUtilities: i, + theme: e, + corePlugins: t, + }) => { + i( + { + placeholder: (r) => + t("placeholderOpacity") + ? { + "&::placeholder": ae({ + color: r, + property: "color", + variable: "--tw-placeholder-opacity", + }), + } + : { "&::placeholder": { color: L(r) } }, + }, + { values: ie(e("placeholderColor")), type: ["color", "any"] }, + ); + }, + placeholderOpacity: ({ matchUtilities: i, theme: e }) => { + i( + { + "placeholder-opacity": (t) => ({ + ["&::placeholder"]: { "--tw-placeholder-opacity": t }, + }), + }, + { values: e("placeholderOpacity") }, + ); + }, + caretColor: ({ matchUtilities: i, theme: e }) => { + i( + { caret: (t) => ({ "caret-color": L(t) }) }, + { values: ie(e("caretColor")), type: ["color", "any"] }, + ); + }, + accentColor: ({ matchUtilities: i, theme: e }) => { + i( + { accent: (t) => ({ "accent-color": L(t) }) }, + { values: ie(e("accentColor")), type: ["color", "any"] }, + ); + }, + opacity: P("opacity", [["opacity", ["opacity"]]]), + backgroundBlendMode: ({ addUtilities: i }) => { + i({ + ".bg-blend-normal": { "background-blend-mode": "normal" }, + ".bg-blend-multiply": { "background-blend-mode": "multiply" }, + ".bg-blend-screen": { "background-blend-mode": "screen" }, + ".bg-blend-overlay": { "background-blend-mode": "overlay" }, + ".bg-blend-darken": { "background-blend-mode": "darken" }, + ".bg-blend-lighten": { "background-blend-mode": "lighten" }, + ".bg-blend-color-dodge": { + "background-blend-mode": "color-dodge", + }, + ".bg-blend-color-burn": { "background-blend-mode": "color-burn" }, + ".bg-blend-hard-light": { "background-blend-mode": "hard-light" }, + ".bg-blend-soft-light": { "background-blend-mode": "soft-light" }, + ".bg-blend-difference": { "background-blend-mode": "difference" }, + ".bg-blend-exclusion": { "background-blend-mode": "exclusion" }, + ".bg-blend-hue": { "background-blend-mode": "hue" }, + ".bg-blend-saturation": { "background-blend-mode": "saturation" }, + ".bg-blend-color": { "background-blend-mode": "color" }, + ".bg-blend-luminosity": { "background-blend-mode": "luminosity" }, + }); + }, + mixBlendMode: ({ addUtilities: i }) => { + i({ + ".mix-blend-normal": { "mix-blend-mode": "normal" }, + ".mix-blend-multiply": { "mix-blend-mode": "multiply" }, + ".mix-blend-screen": { "mix-blend-mode": "screen" }, + ".mix-blend-overlay": { "mix-blend-mode": "overlay" }, + ".mix-blend-darken": { "mix-blend-mode": "darken" }, + ".mix-blend-lighten": { "mix-blend-mode": "lighten" }, + ".mix-blend-color-dodge": { "mix-blend-mode": "color-dodge" }, + ".mix-blend-color-burn": { "mix-blend-mode": "color-burn" }, + ".mix-blend-hard-light": { "mix-blend-mode": "hard-light" }, + ".mix-blend-soft-light": { "mix-blend-mode": "soft-light" }, + ".mix-blend-difference": { "mix-blend-mode": "difference" }, + ".mix-blend-exclusion": { "mix-blend-mode": "exclusion" }, + ".mix-blend-hue": { "mix-blend-mode": "hue" }, + ".mix-blend-saturation": { "mix-blend-mode": "saturation" }, + ".mix-blend-color": { "mix-blend-mode": "color" }, + ".mix-blend-luminosity": { "mix-blend-mode": "luminosity" }, + ".mix-blend-plus-lighter": { "mix-blend-mode": "plus-lighter" }, + }); + }, + boxShadow: (() => { + let i = Ge("boxShadow"), + e = [ + "var(--tw-ring-offset-shadow, 0 0 #0000)", + "var(--tw-ring-shadow, 0 0 #0000)", + "var(--tw-shadow)", + ].join(", "); + return function ({ matchUtilities: t, addDefaults: r, theme: n }) { + r(" box-shadow", { + "--tw-ring-offset-shadow": "0 0 #0000", + "--tw-ring-shadow": "0 0 #0000", + "--tw-shadow": "0 0 #0000", + "--tw-shadow-colored": "0 0 #0000", + }), + t( + { + shadow: (a) => { + a = i(a); + let s = yi(a); + for (let o of s) + !o.valid || (o.color = "var(--tw-shadow-color)"); + return { + "@defaults box-shadow": {}, + "--tw-shadow": a === "none" ? "0 0 #0000" : a, + "--tw-shadow-colored": + a === "none" ? "0 0 #0000" : Iu(s), + "box-shadow": e, + }; + }, + }, + { values: n("boxShadow"), type: ["shadow"] }, + ); + }; + })(), + boxShadowColor: ({ matchUtilities: i, theme: e }) => { + i( + { + shadow: (t) => ({ + "--tw-shadow-color": L(t), + "--tw-shadow": "var(--tw-shadow-colored)", + }), + }, + { values: ie(e("boxShadowColor")), type: ["color", "any"] }, + ); + }, + outlineStyle: ({ addUtilities: i }) => { + i({ + ".outline-none": { + outline: "2px solid transparent", + "outline-offset": "2px", + }, + ".outline": { "outline-style": "solid" }, + ".outline-dashed": { "outline-style": "dashed" }, + ".outline-dotted": { "outline-style": "dotted" }, + ".outline-double": { "outline-style": "double" }, + }); + }, + outlineWidth: P("outlineWidth", [["outline", ["outline-width"]]], { + type: ["length", "number", "percentage"], + }), + outlineOffset: P( + "outlineOffset", + [["outline-offset", ["outline-offset"]]], + { + type: ["length", "number", "percentage", "any"], + supportsNegativeValues: !0, + }, + ), + outlineColor: ({ matchUtilities: i, theme: e }) => { + i( + { outline: (t) => ({ "outline-color": L(t) }) }, + { values: ie(e("outlineColor")), type: ["color", "any"] }, + ); + }, + ringWidth: ({ + matchUtilities: i, + addDefaults: e, + addUtilities: t, + theme: r, + config: n, + }) => { + let a = (() => { + if (Z(n(), "respectDefaultRingColorOpacity")) + return r("ringColor.DEFAULT"); + let s = r("ringOpacity.DEFAULT", "0.5"); + return r("ringColor")?.DEFAULT + ? De(r("ringColor")?.DEFAULT, s, `rgb(147 197 253 / ${s})`) + : `rgb(147 197 253 / ${s})`; + })(); + e("ring-width", { + "--tw-ring-inset": " ", + "--tw-ring-offset-width": r("ringOffsetWidth.DEFAULT", "0px"), + "--tw-ring-offset-color": r("ringOffsetColor.DEFAULT", "#fff"), + "--tw-ring-color": a, + "--tw-ring-offset-shadow": "0 0 #0000", + "--tw-ring-shadow": "0 0 #0000", + "--tw-shadow": "0 0 #0000", + "--tw-shadow-colored": "0 0 #0000", + }), + i( + { + ring: (s) => ({ + "@defaults ring-width": {}, + "--tw-ring-offset-shadow": + "var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)", + "--tw-ring-shadow": `var(--tw-ring-inset) 0 0 0 calc(${s} + var(--tw-ring-offset-width)) var(--tw-ring-color)`, + "box-shadow": [ + "var(--tw-ring-offset-shadow)", + "var(--tw-ring-shadow)", + "var(--tw-shadow, 0 0 #0000)", + ].join(", "), + }), + }, + { values: r("ringWidth"), type: "length" }, + ), + t({ + ".ring-inset": { + "@defaults ring-width": {}, + "--tw-ring-inset": "inset", + }, + }); + }, + ringColor: ({ matchUtilities: i, theme: e, corePlugins: t }) => { + i( + { + ring: (r) => + t("ringOpacity") + ? ae({ + color: r, + property: "--tw-ring-color", + variable: "--tw-ring-opacity", + }) + : { "--tw-ring-color": L(r) }, + }, + { + values: Object.fromEntries( + Object.entries(ie(e("ringColor"))).filter( + ([r]) => r !== "DEFAULT", + ), + ), + type: ["color", "any"], + }, + ); + }, + ringOpacity: (i) => { + let { config: e } = i; + return P("ringOpacity", [["ring-opacity", ["--tw-ring-opacity"]]], { + filterDefault: !Z(e(), "respectDefaultRingColorOpacity"), + })(i); + }, + ringOffsetWidth: P( + "ringOffsetWidth", + [["ring-offset", ["--tw-ring-offset-width"]]], + { type: "length" }, + ), + ringOffsetColor: ({ matchUtilities: i, theme: e }) => { + i( + { "ring-offset": (t) => ({ "--tw-ring-offset-color": L(t) }) }, + { values: ie(e("ringOffsetColor")), type: ["color", "any"] }, + ); + }, + blur: ({ matchUtilities: i, theme: e }) => { + i( + { + blur: (t) => ({ + "--tw-blur": `blur(${t})`, + "@defaults filter": {}, + filter: Me, + }), + }, + { values: e("blur") }, + ); + }, + brightness: ({ matchUtilities: i, theme: e }) => { + i( + { + brightness: (t) => ({ + "--tw-brightness": `brightness(${t})`, + "@defaults filter": {}, + filter: Me, + }), + }, + { values: e("brightness") }, + ); + }, + contrast: ({ matchUtilities: i, theme: e }) => { + i( + { + contrast: (t) => ({ + "--tw-contrast": `contrast(${t})`, + "@defaults filter": {}, + filter: Me, + }), + }, + { values: e("contrast") }, + ); + }, + dropShadow: ({ matchUtilities: i, theme: e }) => { + i( + { + "drop-shadow": (t) => ({ + "--tw-drop-shadow": Array.isArray(t) + ? t.map((r) => `drop-shadow(${r})`).join(" ") + : `drop-shadow(${t})`, + "@defaults filter": {}, + filter: Me, + }), + }, + { values: e("dropShadow") }, + ); + }, + grayscale: ({ matchUtilities: i, theme: e }) => { + i( + { + grayscale: (t) => ({ + "--tw-grayscale": `grayscale(${t})`, + "@defaults filter": {}, + filter: Me, + }), + }, + { values: e("grayscale") }, + ); + }, + hueRotate: ({ matchUtilities: i, theme: e }) => { + i( + { + "hue-rotate": (t) => ({ + "--tw-hue-rotate": `hue-rotate(${t})`, + "@defaults filter": {}, + filter: Me, + }), + }, + { values: e("hueRotate"), supportsNegativeValues: !0 }, + ); + }, + invert: ({ matchUtilities: i, theme: e }) => { + i( + { + invert: (t) => ({ + "--tw-invert": `invert(${t})`, + "@defaults filter": {}, + filter: Me, + }), + }, + { values: e("invert") }, + ); + }, + saturate: ({ matchUtilities: i, theme: e }) => { + i( + { + saturate: (t) => ({ + "--tw-saturate": `saturate(${t})`, + "@defaults filter": {}, + filter: Me, + }), + }, + { values: e("saturate") }, + ); + }, + sepia: ({ matchUtilities: i, theme: e }) => { + i( + { + sepia: (t) => ({ + "--tw-sepia": `sepia(${t})`, + "@defaults filter": {}, + filter: Me, + }), + }, + { values: e("sepia") }, + ); + }, + filter: ({ addDefaults: i, addUtilities: e }) => { + i("filter", { + "--tw-blur": " ", + "--tw-brightness": " ", + "--tw-contrast": " ", + "--tw-grayscale": " ", + "--tw-hue-rotate": " ", + "--tw-invert": " ", + "--tw-saturate": " ", + "--tw-sepia": " ", + "--tw-drop-shadow": " ", + }), + e({ + ".filter": { "@defaults filter": {}, filter: Me }, + ".filter-none": { filter: "none" }, + }); + }, + backdropBlur: ({ matchUtilities: i, theme: e }) => { + i( + { + "backdrop-blur": (t) => ({ + "--tw-backdrop-blur": `blur(${t})`, + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }), + }, + { values: e("backdropBlur") }, + ); + }, + backdropBrightness: ({ matchUtilities: i, theme: e }) => { + i( + { + "backdrop-brightness": (t) => ({ + "--tw-backdrop-brightness": `brightness(${t})`, + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }), + }, + { values: e("backdropBrightness") }, + ); + }, + backdropContrast: ({ matchUtilities: i, theme: e }) => { + i( + { + "backdrop-contrast": (t) => ({ + "--tw-backdrop-contrast": `contrast(${t})`, + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }), + }, + { values: e("backdropContrast") }, + ); + }, + backdropGrayscale: ({ matchUtilities: i, theme: e }) => { + i( + { + "backdrop-grayscale": (t) => ({ + "--tw-backdrop-grayscale": `grayscale(${t})`, + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }), + }, + { values: e("backdropGrayscale") }, + ); + }, + backdropHueRotate: ({ matchUtilities: i, theme: e }) => { + i( + { + "backdrop-hue-rotate": (t) => ({ + "--tw-backdrop-hue-rotate": `hue-rotate(${t})`, + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }), + }, + { values: e("backdropHueRotate"), supportsNegativeValues: !0 }, + ); + }, + backdropInvert: ({ matchUtilities: i, theme: e }) => { + i( + { + "backdrop-invert": (t) => ({ + "--tw-backdrop-invert": `invert(${t})`, + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }), + }, + { values: e("backdropInvert") }, + ); + }, + backdropOpacity: ({ matchUtilities: i, theme: e }) => { + i( + { + "backdrop-opacity": (t) => ({ + "--tw-backdrop-opacity": `opacity(${t})`, + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }), + }, + { values: e("backdropOpacity") }, + ); + }, + backdropSaturate: ({ matchUtilities: i, theme: e }) => { + i( + { + "backdrop-saturate": (t) => ({ + "--tw-backdrop-saturate": `saturate(${t})`, + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }), + }, + { values: e("backdropSaturate") }, + ); + }, + backdropSepia: ({ matchUtilities: i, theme: e }) => { + i( + { + "backdrop-sepia": (t) => ({ + "--tw-backdrop-sepia": `sepia(${t})`, + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }), + }, + { values: e("backdropSepia") }, + ); + }, + backdropFilter: ({ addDefaults: i, addUtilities: e }) => { + i("backdrop-filter", { + "--tw-backdrop-blur": " ", + "--tw-backdrop-brightness": " ", + "--tw-backdrop-contrast": " ", + "--tw-backdrop-grayscale": " ", + "--tw-backdrop-hue-rotate": " ", + "--tw-backdrop-invert": " ", + "--tw-backdrop-opacity": " ", + "--tw-backdrop-saturate": " ", + "--tw-backdrop-sepia": " ", + }), + e({ + ".backdrop-filter": { + "@defaults backdrop-filter": {}, + "backdrop-filter": Be, + }, + ".backdrop-filter-none": { "backdrop-filter": "none" }, + }); + }, + transitionProperty: ({ matchUtilities: i, theme: e }) => { + let t = e("transitionTimingFunction.DEFAULT"), + r = e("transitionDuration.DEFAULT"); + i( + { + transition: (n) => ({ + "transition-property": n, + ...(n === "none" + ? {} + : { + "transition-timing-function": t, + "transition-duration": r, + }), + }), + }, + { values: e("transitionProperty") }, + ); + }, + transitionDelay: P("transitionDelay", [ + ["delay", ["transitionDelay"]], + ]), + transitionDuration: P( + "transitionDuration", + [["duration", ["transitionDuration"]]], + { filterDefault: !0 }, + ), + transitionTimingFunction: P( + "transitionTimingFunction", + [["ease", ["transitionTimingFunction"]]], + { filterDefault: !0 }, + ), + willChange: P("willChange", [["will-change", ["will-change"]]]), + content: P("content", [ + ["content", ["--tw-content", ["content", "var(--tw-content)"]]], + ]), + forcedColorAdjust: ({ addUtilities: i }) => { + i({ + ".forced-color-adjust-auto": { "forced-color-adjust": "auto" }, + ".forced-color-adjust-none": { "forced-color-adjust": "none" }, + }); + }, + }); + }); + function yC(i) { + if (i === void 0) return !1; + if (i === "true" || i === "1") return !0; + if (i === "false" || i === "0") return !1; + if (i === "*") return !0; + let e = i.split(",").map((t) => t.split(":")[0]); + return e.includes("-tailwindcss") ? !1 : !!e.includes("tailwindcss"); + } + var Pe, + yd, + wd, + gn, + Qa, + He, + Kr, + ot = C(() => { + l(); + Ga(); + (Pe = + typeof h != "undefined" + ? { + NODE_ENV: "production", + DEBUG: yC(h.env.DEBUG), + ENGINE: Ya.tailwindcss.engine, + } + : { + NODE_ENV: "production", + DEBUG: !1, + ENGINE: Ya.tailwindcss.engine, + }), + (yd = new Map()), + (wd = new Map()), + (gn = new Map()), + (Qa = new Map()), + (He = new String("*")), + (Kr = Symbol("__NONE__")); + }); + function Nt(i) { + let e = [], + t = !1; + for (let r = 0; r < i.length; r++) { + let n = i[r]; + if (n === ":" && !t && e.length === 0) return !1; + if ( + (wC.has(n) && i[r - 1] !== "\\" && (t = !t), !t && i[r - 1] !== "\\") + ) { + if (bd.has(n)) e.push(n); + else if (vd.has(n)) { + let a = vd.get(n); + if (e.length <= 0 || e.pop() !== a) return !1; + } + } + } + return !(e.length > 0); + } + var bd, + vd, + wC, + Ja = C(() => { + l(); + (bd = new Map([ + ["{", "}"], + ["[", "]"], + ["(", ")"], + ])), + (vd = new Map(Array.from(bd.entries()).map(([i, e]) => [e, i]))), + (wC = new Set(['"', "'", "`"])); + }); + function Lt(i) { + let [e] = xd(i); + return ( + e.forEach(([t, r]) => t.removeChild(r)), + i.nodes.push(...e.map(([, t]) => t)), + i + ); + } + function xd(i) { + let e = [], + t = null; + for (let r of i.nodes) + if (r.type === "combinator") + (e = e.filter(([, n]) => Ka(n).includes("jumpable"))), (t = null); + else if (r.type === "pseudo") { + bC(r) + ? ((t = r), e.push([i, r, null])) + : t && vC(r, t) + ? e.push([i, r, t]) + : (t = null); + for (let n of r.nodes ?? []) { + let [a, s] = xd(n); + (t = s || t), e.push(...a); + } + } + return [e, t]; + } + function kd(i) { + return i.value.startsWith("::") || Xa[i.value] !== void 0; + } + function bC(i) { + return kd(i) && Ka(i).includes("terminal"); + } + function vC(i, e) { + return i.type !== "pseudo" || kd(i) ? !1 : Ka(e).includes("actionable"); + } + function Ka(i) { + return Xa[i.value] ?? Xa.__default__; + } + var Xa, + yn = C(() => { + l(); + Xa = { + "::after": ["terminal", "jumpable"], + "::backdrop": ["terminal", "jumpable"], + "::before": ["terminal", "jumpable"], + "::cue": ["terminal"], + "::cue-region": ["terminal"], + "::first-letter": ["terminal", "jumpable"], + "::first-line": ["terminal", "jumpable"], + "::grammar-error": ["terminal"], + "::marker": ["terminal", "jumpable"], + "::part": ["terminal", "actionable"], + "::placeholder": ["terminal", "jumpable"], + "::selection": ["terminal", "jumpable"], + "::slotted": ["terminal"], + "::spelling-error": ["terminal"], + "::target-text": ["terminal"], + "::file-selector-button": ["terminal", "actionable"], + "::deep": ["actionable"], + "::v-deep": ["actionable"], + "::ng-deep": ["actionable"], + ":after": ["terminal", "jumpable"], + ":before": ["terminal", "jumpable"], + ":first-letter": ["terminal", "jumpable"], + ":first-line": ["terminal", "jumpable"], + ":where": [], + ":is": [], + ":has": [], + __default__: ["terminal", "actionable"], + }; + }); + function $t(i, { context: e, candidate: t }) { + let r = e?.tailwindConfig.prefix ?? "", + n = i.map((s) => { + let o = (0, Fe.default)().astSync(s.format); + return { ...s, ast: s.respectPrefix ? Bt(r, o) : o }; + }), + a = Fe.default.root({ + nodes: [ + Fe.default.selector({ + nodes: [Fe.default.className({ value: de(t) })], + }), + ], + }); + for (let { ast: s } of n) + ([a, s] = kC(a, s)), + s.walkNesting((o) => o.replaceWith(...a.nodes[0].nodes)), + (a = s); + return a; + } + function Cd(i) { + let e = []; + for (; i.prev() && i.prev().type !== "combinator"; ) i = i.prev(); + for (; i && i.type !== "combinator"; ) e.push(i), (i = i.next()); + return e; + } + function xC(i) { + return ( + i.sort((e, t) => + e.type === "tag" && t.type === "class" + ? -1 + : e.type === "class" && t.type === "tag" + ? 1 + : e.type === "class" && + t.type === "pseudo" && + t.value.startsWith("::") + ? -1 + : e.type === "pseudo" && + e.value.startsWith("::") && + t.type === "class" + ? 1 + : i.index(e) - i.index(t), + ), + i + ); + } + function eo(i, e) { + let t = !1; + i.walk((r) => { + if (r.type === "class" && r.value === e) return (t = !0), !1; + }), + t || i.remove(); + } + function wn(i, e, { context: t, candidate: r, base: n }) { + let a = t?.tailwindConfig?.separator ?? ":"; + n = n ?? oe(r, a).pop(); + let s = (0, Fe.default)().astSync(i); + if ( + (s.walkClasses((f) => { + f.raws && + f.value.includes(n) && + (f.raws.value = de((0, Sd.default)(f.raws.value))); + }), + s.each((f) => eo(f, n)), + s.length === 0) + ) + return null; + let o = Array.isArray(e) ? $t(e, { context: t, candidate: r }) : e; + if (o === null) return s.toString(); + let u = Fe.default.comment({ value: "/*__simple__*/" }), + c = Fe.default.comment({ value: "/*__simple__*/" }); + return ( + s.walkClasses((f) => { + if (f.value !== n) return; + let d = f.parent, + p = o.nodes[0].nodes; + if (d.nodes.length === 1) { + f.replaceWith(...p); + return; + } + let m = Cd(f); + d.insertBefore(m[0], u), d.insertAfter(m[m.length - 1], c); + for (let x of p) d.insertBefore(m[0], x.clone()); + f.remove(), (m = Cd(u)); + let w = d.index(u); + d.nodes.splice( + w, + m.length, + ...xC(Fe.default.selector({ nodes: m })).nodes, + ), + u.remove(), + c.remove(); + }), + s.walkPseudos((f) => { + f.value === Za && f.replaceWith(f.nodes); + }), + s.each((f) => Lt(f)), + s.toString() + ); + } + function kC(i, e) { + let t = []; + return ( + i.walkPseudos((r) => { + r.value === Za && t.push({ pseudo: r, value: r.nodes[0].toString() }); + }), + e.walkPseudos((r) => { + if (r.value !== Za) return; + let n = r.nodes[0].toString(), + a = t.find((c) => c.value === n); + if (!a) return; + let s = [], + o = r.next(); + for (; o && o.type !== "combinator"; ) s.push(o), (o = o.next()); + let u = o; + a.pseudo.parent.insertAfter( + a.pseudo, + Fe.default.selector({ nodes: s.map((c) => c.clone()) }), + ), + r.remove(), + s.forEach((c) => c.remove()), + u && u.type === "combinator" && u.remove(); + }), + [i, e] + ); + } + var Fe, + Sd, + Za, + to = C(() => { + l(); + (Fe = K(Re())), (Sd = K(Yi())); + Ft(); + un(); + yn(); + St(); + Za = ":merge"; + }); + function bn(i, e) { + let t = (0, ro.default)().astSync(i); + return ( + t.each((r) => { + (r.nodes[0].type === "pseudo" && + r.nodes[0].value === ":is" && + r.nodes.every((a) => a.type !== "combinator")) || + (r.nodes = [ro.default.pseudo({ value: ":is", nodes: [r.clone()] })]), + Lt(r); + }), + `${e} ${t.toString()}` + ); + } + var ro, + io = C(() => { + l(); + ro = K(Re()); + yn(); + }); + function no(i) { + return SC.transformSync(i); + } + function* CC(i) { + let e = 1 / 0; + for (; e >= 0; ) { + let t, + r = !1; + if (e === 1 / 0 && i.endsWith("]")) { + let s = i.indexOf("["); + i[s - 1] === "-" + ? (t = s - 1) + : i[s - 1] === "/" + ? ((t = s - 1), (r = !0)) + : (t = -1); + } else + e === 1 / 0 && i.includes("/") + ? ((t = i.lastIndexOf("/")), (r = !0)) + : (t = i.lastIndexOf("-", e)); + if (t < 0) break; + let n = i.slice(0, t), + a = i.slice(r ? t : t + 1); + (e = t - 1), !(n === "" || a === "/") && (yield [n, a]); + } + } + function AC(i, e) { + if (i.length === 0 || e.tailwindConfig.prefix === "") return i; + for (let t of i) { + let [r] = t; + if (r.options.respectPrefix) { + let n = V.root({ nodes: [t[1].clone()] }), + a = t[1].raws.tailwind.classCandidate; + n.walkRules((s) => { + let o = a.startsWith("-"); + s.selector = Bt(e.tailwindConfig.prefix, s.selector, o); + }), + (t[1] = n.nodes[0]); + } + } + return i; + } + function _C(i, e) { + if (i.length === 0) return i; + let t = []; + function r(n) { + return ( + n.parent && n.parent.type === "atrule" && n.parent.name === "keyframes" + ); + } + for (let [n, a] of i) { + let s = V.root({ nodes: [a.clone()] }); + s.walkRules((o) => { + if (r(o)) return; + let u = (0, vn.default)().astSync(o.selector); + u.each((c) => eo(c, e)), + Uu(u, (c) => (c === e ? `!${c}` : c)), + (o.selector = u.toString()), + o.walkDecls((c) => (c.important = !0)); + }), + t.push([{ ...n, important: !0 }, s.nodes[0]]); + } + return t; + } + function OC(i, e, t) { + if (e.length === 0) return e; + let r = { modifier: null, value: Kr }; + { + let [n, ...a] = oe(i, "/"); + if ( + (a.length > 1 && + ((n = n + "/" + a.slice(0, -1).join("/")), (a = a.slice(-1))), + a.length && + !t.variantMap.has(i) && + ((i = n), + (r.modifier = a[0]), + !Z(t.tailwindConfig, "generalizedModifiers"))) + ) + return []; + } + if (i.endsWith("]") && !i.startsWith("[")) { + let n = /(.)(-?)\[(.*)\]/g.exec(i); + if (n) { + let [, a, s, o] = n; + if (a === "@" && s === "-") return []; + if (a !== "@" && s === "") return []; + (i = i.replace(`${s}[${o}]`, "")), (r.value = o); + } + } + if (oo(i) && !t.variantMap.has(i)) { + let n = t.offsets.recordVariant(i), + a = N(i.slice(1, -1)), + s = oe(a, ","); + if (s.length > 1) return []; + if (!s.every(Cn)) return []; + let o = s.map((u, c) => [ + t.offsets.applyParallelOffset(n, c), + Zr(u.trim()), + ]); + t.variantMap.set(i, o); + } + if (t.variantMap.has(i)) { + let n = oo(i), + a = t.variantOptions.get(i)?.[Jr] ?? {}, + s = t.variantMap.get(i).slice(), + o = [], + u = (() => !(n || a.respectPrefix === !1))(); + for (let [c, f] of e) { + if (c.layer === "user") continue; + let d = V.root({ nodes: [f.clone()] }); + for (let [p, m, w] of s) { + let b = function () { + x.raws.neededBackup || + ((x.raws.neededBackup = !0), + x.walkRules((O) => (O.raws.originalSelector = O.selector))); + }, + k = function (O) { + return ( + b(), + x.each((I) => { + I.type === "rule" && + (I.selectors = I.selectors.map((B) => + O({ + get className() { + return no(B); + }, + selector: B, + }), + )); + }), + x + ); + }, + x = (w ?? d).clone(), + y = [], + S = m({ + get container() { + return b(), x; + }, + separator: t.tailwindConfig.separator, + modifySelectors: k, + wrap(O) { + let I = x.nodes; + x.removeAll(), O.append(I), x.append(O); + }, + format(O) { + y.push({ format: O, respectPrefix: u }); + }, + args: r, + }); + if (Array.isArray(S)) { + for (let [O, I] of S.entries()) + s.push([t.offsets.applyParallelOffset(p, O), I, x.clone()]); + continue; + } + if ( + (typeof S == "string" && y.push({ format: S, respectPrefix: u }), + S === null) + ) + continue; + x.raws.neededBackup && + (delete x.raws.neededBackup, + x.walkRules((O) => { + let I = O.raws.originalSelector; + if (!I || (delete O.raws.originalSelector, I === O.selector)) + return; + let B = O.selector, + q = (0, vn.default)((X) => { + X.walkClasses((le) => { + le.value = `${i}${t.tailwindConfig.separator}${le.value}`; + }); + }).processSync(I); + y.push({ format: B.replace(q, "&"), respectPrefix: u }), + (O.selector = I); + })), + (x.nodes[0].raws.tailwind = { + ...x.nodes[0].raws.tailwind, + parentLayer: c.layer, + }); + let _ = [ + { + ...c, + sort: t.offsets.applyVariantOffset( + c.sort, + p, + Object.assign(r, t.variantOptions.get(i)), + ), + collectedFormats: (c.collectedFormats ?? []).concat(y), + }, + x.nodes[0], + ]; + o.push(_); + } + } + return o; + } + return []; + } + function so(i, e, t = {}) { + return !ne(i) && !Array.isArray(i) + ? [[i], t] + : Array.isArray(i) + ? so(i[0], e, i[1]) + : (e.has(i) || e.set(i, Mt(i)), [e.get(i), t]); + } + function TC(i) { + return EC.test(i); + } + function PC(i) { + if (!i.includes("://")) return !1; + try { + let e = new URL(i); + return e.scheme !== "" && e.host !== ""; + } catch (e) { + return !1; + } + } + function Ad(i) { + let e = !0; + return ( + i.walkDecls((t) => { + if (!_d(t.prop, t.value)) return (e = !1), !1; + }), + e + ); + } + function _d(i, e) { + if (PC(`${i}:${e}`)) return !1; + try { + return V.parse(`a{${i}:${e}}`).toResult(), !0; + } catch (t) { + return !1; + } + } + function DC(i, e) { + let [, t, r] = i.match(/^\[([a-zA-Z0-9-_]+):(\S+)\]$/) ?? []; + if (r === void 0 || !TC(t) || !Nt(r)) return null; + let n = N(r, { property: t }); + return _d(t, n) + ? [ + [ + { sort: e.offsets.arbitraryProperty(), layer: "utilities" }, + () => ({ [Va(i)]: { [t]: n } }), + ], + ] + : null; + } + function* IC(i, e) { + e.candidateRuleMap.has(i) && (yield [e.candidateRuleMap.get(i), "DEFAULT"]), + yield* (function* (o) { + o !== null && (yield [o, "DEFAULT"]); + })(DC(i, e)); + let t = i, + r = !1, + n = e.tailwindConfig.prefix, + a = n.length, + s = t.startsWith(n) || t.startsWith(`-${n}`); + t[a] === "-" && s && ((r = !0), (t = n + t.slice(a + 1))), + r && + e.candidateRuleMap.has(t) && + (yield [e.candidateRuleMap.get(t), "-DEFAULT"]); + for (let [o, u] of CC(t)) + e.candidateRuleMap.has(o) && + (yield [e.candidateRuleMap.get(o), r ? `-${u}` : u]); + } + function qC(i, e) { + return i === He ? [He] : oe(i, e); + } + function* RC(i, e) { + for (let t of i) + (t[1].raws.tailwind = { + ...t[1].raws.tailwind, + classCandidate: e, + preserveSource: t[0].options?.preserveSource ?? !1, + }), + yield t; + } + function* ao(i, e) { + let t = e.tailwindConfig.separator, + [r, ...n] = qC(i, t).reverse(), + a = !1; + r.startsWith("!") && ((a = !0), (r = r.slice(1))); + for (let s of IC(r, e)) { + let o = [], + u = new Map(), + [c, f] = s, + d = c.length === 1; + for (let [p, m] of c) { + let w = []; + if (typeof m == "function") + for (let x of [].concat(m(f, { isOnlyPlugin: d }))) { + let [y, b] = so(x, e.postCssNodeCache); + for (let k of y) + w.push([{ ...p, options: { ...p.options, ...b } }, k]); + } + else if (f === "DEFAULT" || f === "-DEFAULT") { + let x = m, + [y, b] = so(x, e.postCssNodeCache); + for (let k of y) + w.push([{ ...p, options: { ...p.options, ...b } }, k]); + } + if (w.length > 0) { + let x = Array.from( + fs(p.options?.types ?? [], f, p.options ?? {}, e.tailwindConfig), + ).map(([y, b]) => b); + x.length > 0 && u.set(w, x), o.push(w); + } + } + if (oo(f)) { + if (o.length > 1) { + let w = function (y) { + return y.length === 1 + ? y[0] + : y.find((b) => { + let k = u.get(b); + return b.some(([{ options: S }, _]) => + Ad(_) + ? S.types.some( + ({ type: O, preferOnConflict: I }) => + k.includes(O) && I, + ) + : !1, + ); + }); + }, + [p, m] = o.reduce( + (y, b) => ( + b.some(([{ options: S }]) => + S.types.some(({ type: _ }) => _ === "any"), + ) + ? y[0].push(b) + : y[1].push(b), + y + ), + [[], []], + ), + x = w(m) ?? w(p); + if (x) o = [x]; + else { + let y = o.map((k) => new Set([...(u.get(k) ?? [])])); + for (let k of y) + for (let S of k) { + let _ = !1; + for (let O of y) k !== O && O.has(S) && (O.delete(S), (_ = !0)); + _ && k.delete(S); + } + let b = []; + for (let [k, S] of y.entries()) + for (let _ of S) { + let O = o[k] + .map(([, I]) => I) + .flat() + .map((I) => + I.toString() + .split( + ` +`, + ) + .slice(1, -1) + .map((B) => B.trim()) + .map((B) => ` ${B}`).join(` +`), + ).join(` + +`); + b.push( + ` Use \`${i.replace("[", `[${_}:`)}\` for \`${O.trim()}\``, + ); + break; + } + F.warn([ + `The class \`${i}\` is ambiguous and matches multiple utilities.`, + ...b, + `If this is content and not a class, replace it with \`${i.replace("[", "[").replace("]", "]")}\` to silence this warning.`, + ]); + continue; + } + } + o = o.map((p) => p.filter((m) => Ad(m[1]))); + } + (o = o.flat()), + (o = Array.from(RC(o, r))), + (o = AC(o, e)), + a && (o = _C(o, r)); + for (let p of n) o = OC(p, o, e); + for (let p of o) + (p[1].raws.tailwind = { ...p[1].raws.tailwind, candidate: i }), + (p = MC(p, { context: e, candidate: i })), + p !== null && (yield p); + } + } + function MC(i, { context: e, candidate: t }) { + if (!i[0].collectedFormats) return i; + let r = !0, + n; + try { + n = $t(i[0].collectedFormats, { context: e, candidate: t }); + } catch { + return null; + } + let a = V.root({ nodes: [i[1].clone()] }); + return ( + a.walkRules((s) => { + if (!xn(s)) + try { + let o = wn(s.selector, n, { candidate: t, context: e }); + if (o === null) { + s.remove(); + return; + } + s.selector = o; + } catch { + return (r = !1), !1; + } + }), + !r || a.nodes.length === 0 ? null : ((i[1] = a.nodes[0]), i) + ); + } + function xn(i) { + return ( + i.parent && i.parent.type === "atrule" && i.parent.name === "keyframes" + ); + } + function BC(i) { + if (i === !0) + return (e) => { + xn(e) || + e.walkDecls((t) => { + t.parent.type === "rule" && !xn(t.parent) && (t.important = !0); + }); + }; + if (typeof i == "string") + return (e) => { + xn(e) || (e.selectors = e.selectors.map((t) => bn(t, i))); + }; + } + function kn(i, e, t = !1) { + let r = [], + n = BC(e.tailwindConfig.important); + for (let a of i) { + if (e.notClassCache.has(a)) continue; + if (e.candidateRuleCache.has(a)) { + r = r.concat(Array.from(e.candidateRuleCache.get(a))); + continue; + } + let s = Array.from(ao(a, e)); + if (s.length === 0) { + e.notClassCache.add(a); + continue; + } + e.classCache.set(a, s); + let o = e.candidateRuleCache.get(a) ?? new Set(); + e.candidateRuleCache.set(a, o); + for (let u of s) { + let [{ sort: c, options: f }, d] = u; + if (f.respectImportant && n) { + let m = V.root({ nodes: [d.clone()] }); + m.walkRules(n), (d = m.nodes[0]); + } + let p = [c, t ? d.clone() : d]; + o.add(p), e.ruleCache.add(p), r.push(p); + } + } + return r; + } + function oo(i) { + return i.startsWith("[") && i.endsWith("]"); + } + var vn, + SC, + EC, + Sn = C(() => { + l(); + nt(); + vn = K(Re()); + za(); + kt(); + un(); + cr(); + Oe(); + ot(); + to(); + Ua(); + fr(); + Xr(); + Ja(); + St(); + ze(); + io(); + SC = (0, vn.default)( + (i) => i.first.filter(({ type: e }) => e === "class").pop().value, + ); + EC = /^[a-z_-]/; + }); + var Od, + Ed = C(() => { + l(); + Od = {}; + }); + function FC(i) { + try { + return Od.createHash("md5").update(i, "utf-8").digest("binary"); + } catch (e) { + return ""; + } + } + function Td(i, e) { + let t = e.toString(); + if (!t.includes("@tailwind")) return !1; + let r = Qa.get(i), + n = FC(t), + a = r !== n; + return Qa.set(i, n), a; + } + var Pd = C(() => { + l(); + Ed(); + ot(); + }); + function An(i) { + return (i > 0n) - (i < 0n); + } + var Dd = C(() => { + l(); + }); + function Id(i, e) { + let t = 0n, + r = 0n; + for (let [n, a] of e) i & n && ((t = t | n), (r = r | a)); + return (i & ~t) | r; + } + var qd = C(() => { + l(); + }); + function Rd(i) { + let e = null; + for (let t of i) (e = e ?? t), (e = e > t ? e : t); + return e; + } + function NC(i, e) { + let t = i.length, + r = e.length, + n = t < r ? t : r; + for (let a = 0; a < n; a++) { + let s = i.charCodeAt(a) - e.charCodeAt(a); + if (s !== 0) return s; + } + return t - r; + } + var lo, + Md = C(() => { + l(); + Dd(); + qd(); + lo = class { + constructor() { + (this.offsets = { + defaults: 0n, + base: 0n, + components: 0n, + utilities: 0n, + variants: 0n, + user: 0n, + }), + (this.layerPositions = { + defaults: 0n, + base: 1n, + components: 2n, + utilities: 3n, + user: 4n, + variants: 5n, + }), + (this.reservedVariantBits = 0n), + (this.variantOffsets = new Map()); + } + create(e) { + return { + layer: e, + parentLayer: e, + arbitrary: 0n, + variants: 0n, + parallelIndex: 0n, + index: this.offsets[e]++, + options: [], + }; + } + arbitraryProperty() { + return { ...this.create("utilities"), arbitrary: 1n }; + } + forVariant(e, t = 0) { + let r = this.variantOffsets.get(e); + if (r === void 0) + throw new Error(`Cannot find offset for unknown variant ${e}`); + return { ...this.create("variants"), variants: r << BigInt(t) }; + } + applyVariantOffset(e, t, r) { + return ( + (r.variant = t.variants), + { + ...e, + layer: "variants", + parentLayer: e.layer === "variants" ? e.parentLayer : e.layer, + variants: e.variants | t.variants, + options: r.sort ? [].concat(r, e.options) : e.options, + parallelIndex: Rd([e.parallelIndex, t.parallelIndex]), + } + ); + } + applyParallelOffset(e, t) { + return { ...e, parallelIndex: BigInt(t) }; + } + recordVariants(e, t) { + for (let r of e) this.recordVariant(r, t(r)); + } + recordVariant(e, t = 1) { + return ( + this.variantOffsets.set(e, 1n << this.reservedVariantBits), + (this.reservedVariantBits += BigInt(t)), + { ...this.create("variants"), variants: this.variantOffsets.get(e) } + ); + } + compare(e, t) { + if (e.layer !== t.layer) + return this.layerPositions[e.layer] - this.layerPositions[t.layer]; + if (e.parentLayer !== t.parentLayer) + return ( + this.layerPositions[e.parentLayer] - + this.layerPositions[t.parentLayer] + ); + for (let r of e.options) + for (let n of t.options) { + if (r.id !== n.id || !r.sort || !n.sort) continue; + let a = Rd([r.variant, n.variant]) ?? 0n, + s = ~(a | (a - 1n)), + o = e.variants & s, + u = t.variants & s; + if (o !== u) continue; + let c = r.sort( + { value: r.value, modifier: r.modifier }, + { value: n.value, modifier: n.modifier }, + ); + if (c !== 0) return c; + } + return e.variants !== t.variants + ? e.variants - t.variants + : e.parallelIndex !== t.parallelIndex + ? e.parallelIndex - t.parallelIndex + : e.arbitrary !== t.arbitrary + ? e.arbitrary - t.arbitrary + : e.index - t.index; + } + recalculateVariantOffsets() { + let e = Array.from(this.variantOffsets.entries()) + .filter(([n]) => n.startsWith("[")) + .sort(([n], [a]) => NC(n, a)), + t = e.map(([, n]) => n).sort((n, a) => An(n - a)); + return e.map(([, n], a) => [n, t[a]]).filter(([n, a]) => n !== a); + } + remapArbitraryVariantOffsets(e) { + let t = this.recalculateVariantOffsets(); + return t.length === 0 + ? e + : e.map((r) => { + let [n, a] = r; + return (n = { ...n, variants: Id(n.variants, t) }), [n, a]; + }); + } + sort(e) { + return ( + (e = this.remapArbitraryVariantOffsets(e)), + e.sort(([t], [r]) => An(this.compare(t, r))) + ); + } + }; + }); + function po(i, e) { + let t = i.tailwindConfig.prefix; + return typeof t == "function" ? t(e) : t + e; + } + function Fd({ type: i = "any", ...e }) { + let t = [].concat(i); + return { + ...e, + types: t.map((r) => + Array.isArray(r) + ? { type: r[0], ...r[1] } + : { type: r, preferOnConflict: !1 }, + ), + }; + } + function LC(i) { + let e = [], + t = "", + r = 0; + for (let n = 0; n < i.length; n++) { + let a = i[n]; + if (a === "\\") t += "\\" + i[++n]; + else if (a === "{") ++r, e.push(t.trim()), (t = ""); + else if (a === "}") { + if (--r < 0) throw new Error("Your { and } are unbalanced."); + e.push(t.trim()), (t = ""); + } else t += a; + } + return t.length > 0 && e.push(t.trim()), (e = e.filter((n) => n !== "")), e; + } + function $C(i, e, { before: t = [] } = {}) { + if (((t = [].concat(t)), t.length <= 0)) { + i.push(e); + return; + } + let r = i.length - 1; + for (let n of t) { + let a = i.indexOf(n); + a !== -1 && (r = Math.min(r, a)); + } + i.splice(r, 0, e); + } + function Nd(i) { + return Array.isArray(i) + ? i.flatMap((e) => (!Array.isArray(e) && !ne(e) ? e : Mt(e))) + : Nd([i]); + } + function jC(i, e) { + return (0, uo.default)((r) => { + let n = []; + return ( + e && e(r), + r.walkClasses((a) => { + n.push(a.value); + }), + n + ); + }).transformSync(i); + } + function zC(i) { + i.walkPseudos((e) => { + e.value === ":not" && e.remove(); + }); + } + function VC(i, e = { containsNonOnDemandable: !1 }, t = 0) { + let r = [], + n = []; + i.type === "rule" + ? n.push(...i.selectors) + : i.type === "atrule" && i.walkRules((a) => n.push(...a.selectors)); + for (let a of n) { + let s = jC(a, zC); + s.length === 0 && (e.containsNonOnDemandable = !0); + for (let o of s) r.push(o); + } + return t === 0 ? [e.containsNonOnDemandable || r.length === 0, r] : r; + } + function _n(i) { + return Nd(i).flatMap((e) => { + let t = new Map(), + [r, n] = VC(e); + return ( + r && n.unshift(He), + n.map((a) => (t.has(e) || t.set(e, e), [a, t.get(e)])) + ); + }); + } + function Cn(i) { + return i.startsWith("@") || i.includes("&"); + } + function Zr(i) { + i = i + .replace(/\n+/g, "") + .replace(/\s{1,}/g, " ") + .trim(); + let e = LC(i) + .map((t) => { + if (!t.startsWith("@")) return ({ format: a }) => a(t); + let [, r, n] = /@(\S*)( .+|[({].*)?/g.exec(t); + return ({ wrap: a }) => + a(V.atRule({ name: r, params: n?.trim() ?? "" })); + }) + .reverse(); + return (t) => { + for (let r of e) r(t); + }; + } + function UC( + i, + e, + { variantList: t, variantMap: r, offsets: n, classList: a }, + ) { + function s(p, m) { + return p ? (0, Bd.default)(i, p, m) : i; + } + function o(p) { + return Bt(i.prefix, p); + } + function u(p, m) { + return p === He ? He : m.respectPrefix ? e.tailwindConfig.prefix + p : p; + } + function c(p, m, w = {}) { + let x = Ke(p), + y = s(["theme", ...x], m); + return Ge(x[0])(y, w); + } + let f = 0, + d = { + postcss: V, + prefix: o, + e: de, + config: s, + theme: c, + corePlugins: (p) => + Array.isArray(i.corePlugins) + ? i.corePlugins.includes(p) + : s(["corePlugins", p], !0), + variants: () => [], + addBase(p) { + for (let [m, w] of _n(p)) { + let x = u(m, {}), + y = n.create("base"); + e.candidateRuleMap.has(x) || e.candidateRuleMap.set(x, []), + e.candidateRuleMap.get(x).push([{ sort: y, layer: "base" }, w]); + } + }, + addDefaults(p, m) { + let w = { [`@defaults ${p}`]: m }; + for (let [x, y] of _n(w)) { + let b = u(x, {}); + e.candidateRuleMap.has(b) || e.candidateRuleMap.set(b, []), + e.candidateRuleMap + .get(b) + .push([{ sort: n.create("defaults"), layer: "defaults" }, y]); + } + }, + addComponents(p, m) { + m = Object.assign( + {}, + { preserveSource: !1, respectPrefix: !0, respectImportant: !1 }, + Array.isArray(m) ? {} : m, + ); + for (let [x, y] of _n(p)) { + let b = u(x, m); + a.add(b), + e.candidateRuleMap.has(b) || e.candidateRuleMap.set(b, []), + e.candidateRuleMap + .get(b) + .push([ + { + sort: n.create("components"), + layer: "components", + options: m, + }, + y, + ]); + } + }, + addUtilities(p, m) { + m = Object.assign( + {}, + { preserveSource: !1, respectPrefix: !0, respectImportant: !0 }, + Array.isArray(m) ? {} : m, + ); + for (let [x, y] of _n(p)) { + let b = u(x, m); + a.add(b), + e.candidateRuleMap.has(b) || e.candidateRuleMap.set(b, []), + e.candidateRuleMap + .get(b) + .push([ + { + sort: n.create("utilities"), + layer: "utilities", + options: m, + }, + y, + ]); + } + }, + matchUtilities: function (p, m) { + m = Fd({ + ...{ respectPrefix: !0, respectImportant: !0, modifiers: !1 }, + ...m, + }); + let x = n.create("utilities"); + for (let y in p) { + let S = function (O, { isOnlyPlugin: I }) { + let [B, q, X] = us(m.types, O, m, i); + if (B === void 0) return []; + if (!m.types.some(({ type: j }) => j === q)) + if (I) + F.warn([ + `Unnecessary typehint \`${q}\` in \`${y}-${O}\`.`, + `You can safely update it to \`${y}-${O.replace(q + ":", "")}\`.`, + ]); + else return []; + if (!Nt(B)) return []; + let le = { + get modifier() { + return ( + m.modifiers || + F.warn(`modifier-used-without-options-for-${y}`, [ + "Your plugin must set `modifiers: true` in its options to support modifiers.", + ]), + X + ); + }, + }, + ce = Z(i, "generalizedModifiers"); + return [] + .concat(ce ? k(B, le) : k(B)) + .filter(Boolean) + .map((j) => ({ [fn(y, O)]: j })); + }, + b = u(y, m), + k = p[y]; + a.add([b, m]); + let _ = [{ sort: x, layer: "utilities", options: m }, S]; + e.candidateRuleMap.has(b) || e.candidateRuleMap.set(b, []), + e.candidateRuleMap.get(b).push(_); + } + }, + matchComponents: function (p, m) { + m = Fd({ + ...{ respectPrefix: !0, respectImportant: !1, modifiers: !1 }, + ...m, + }); + let x = n.create("components"); + for (let y in p) { + let S = function (O, { isOnlyPlugin: I }) { + let [B, q, X] = us(m.types, O, m, i); + if (B === void 0) return []; + if (!m.types.some(({ type: j }) => j === q)) + if (I) + F.warn([ + `Unnecessary typehint \`${q}\` in \`${y}-${O}\`.`, + `You can safely update it to \`${y}-${O.replace(q + ":", "")}\`.`, + ]); + else return []; + if (!Nt(B)) return []; + let le = { + get modifier() { + return ( + m.modifiers || + F.warn(`modifier-used-without-options-for-${y}`, [ + "Your plugin must set `modifiers: true` in its options to support modifiers.", + ]), + X + ); + }, + }, + ce = Z(i, "generalizedModifiers"); + return [] + .concat(ce ? k(B, le) : k(B)) + .filter(Boolean) + .map((j) => ({ [fn(y, O)]: j })); + }, + b = u(y, m), + k = p[y]; + a.add([b, m]); + let _ = [{ sort: x, layer: "components", options: m }, S]; + e.candidateRuleMap.has(b) || e.candidateRuleMap.set(b, []), + e.candidateRuleMap.get(b).push(_); + } + }, + addVariant(p, m, w = {}) { + (m = [].concat(m).map((x) => { + if (typeof x != "string") + return (y = {}) => { + let { + args: b, + modifySelectors: k, + container: S, + separator: _, + wrap: O, + format: I, + } = y, + B = x( + Object.assign( + { modifySelectors: k, container: S, separator: _ }, + w.type === fo.MatchVariant && { + args: b, + wrap: O, + format: I, + }, + ), + ); + if (typeof B == "string" && !Cn(B)) + throw new Error( + `Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`, + ); + return Array.isArray(B) + ? B.filter((q) => typeof q == "string").map((q) => Zr(q)) + : B && typeof B == "string" && Zr(B)(y); + }; + if (!Cn(x)) + throw new Error( + `Your custom variant \`${p}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`, + ); + return Zr(x); + })), + $C(t, p, w), + r.set(p, m), + e.variantOptions.set(p, w); + }, + matchVariant(p, m, w) { + let x = w?.id ?? ++f, + y = p === "@", + b = Z(i, "generalizedModifiers"); + for (let [S, _] of Object.entries(w?.values ?? {})) + S !== "DEFAULT" && + d.addVariant( + y ? `${p}${S}` : `${p}-${S}`, + ({ args: O, container: I }) => + m( + _, + b + ? { modifier: O?.modifier, container: I } + : { container: I }, + ), + { + ...w, + value: _, + id: x, + type: fo.MatchVariant, + variantInfo: co.Base, + }, + ); + let k = "DEFAULT" in (w?.values ?? {}); + d.addVariant( + p, + ({ args: S, container: _ }) => + S?.value === Kr && !k + ? null + : m( + S?.value === Kr + ? w.values.DEFAULT + : S?.value ?? (typeof S == "string" ? S : ""), + b + ? { modifier: S?.modifier, container: _ } + : { container: _ }, + ), + { ...w, id: x, type: fo.MatchVariant, variantInfo: co.Dynamic }, + ); + }, + }; + return d; + } + function On(i) { + return ho.has(i) || ho.set(i, new Map()), ho.get(i); + } + function Ld(i, e) { + let t = !1, + r = new Map(); + for (let n of i) { + if (!n) continue; + let a = gs.parse(n), + s = a.hash ? a.href.replace(a.hash, "") : a.href; + s = a.search ? s.replace(a.search, "") : s; + let o = re.statSync(decodeURIComponent(s), { + throwIfNoEntry: !1, + })?.mtimeMs; + !o || ((!e.has(n) || o > e.get(n)) && (t = !0), r.set(n, o)); + } + return [t, r]; + } + function $d(i) { + i.walkAtRules((e) => { + ["responsive", "variants"].includes(e.name) && + ($d(e), e.before(e.nodes), e.remove()); + }); + } + function WC(i) { + let e = []; + return ( + i.each((t) => { + t.type === "atrule" && + ["responsive", "variants"].includes(t.name) && + ((t.name = "layer"), (t.params = "utilities")); + }), + i.walkAtRules("layer", (t) => { + if (($d(t), t.params === "base")) { + for (let r of t.nodes) + e.push(function ({ addBase: n }) { + n(r, { respectPrefix: !1 }); + }); + t.remove(); + } else if (t.params === "components") { + for (let r of t.nodes) + e.push(function ({ addComponents: n }) { + n(r, { respectPrefix: !1, preserveSource: !0 }); + }); + t.remove(); + } else if (t.params === "utilities") { + for (let r of t.nodes) + e.push(function ({ addUtilities: n }) { + n(r, { respectPrefix: !1, preserveSource: !0 }); + }); + t.remove(); + } + }), + e + ); + } + function GC(i, e) { + let t = Object.entries({ ...Y, ...md }) + .map(([u, c]) => (i.tailwindConfig.corePlugins.includes(u) ? c : null)) + .filter(Boolean), + r = i.tailwindConfig.plugins.map( + (u) => ( + u.__isOptionsFunction && (u = u()), + typeof u == "function" ? u : u.handler + ), + ), + n = WC(e), + a = [ + Y.childVariant, + Y.pseudoElementVariants, + Y.pseudoClassVariants, + Y.hasVariants, + Y.ariaVariants, + Y.dataVariants, + ], + s = [ + Y.supportsVariants, + Y.reducedMotionVariants, + Y.prefersContrastVariants, + Y.screenVariants, + Y.orientationVariants, + Y.directionVariants, + Y.darkVariants, + Y.forcedColorsVariants, + Y.printVariant, + ]; + return ( + (i.tailwindConfig.darkMode === "class" || + (Array.isArray(i.tailwindConfig.darkMode) && + i.tailwindConfig.darkMode[0] === "class")) && + (s = [ + Y.supportsVariants, + Y.reducedMotionVariants, + Y.prefersContrastVariants, + Y.darkVariants, + Y.screenVariants, + Y.orientationVariants, + Y.directionVariants, + Y.forcedColorsVariants, + Y.printVariant, + ]), + [...t, ...a, ...r, ...s, ...n] + ); + } + function HC(i, e) { + let t = [], + r = new Map(); + e.variantMap = r; + let n = new lo(); + e.offsets = n; + let a = new Set(), + s = UC(e.tailwindConfig, e, { + variantList: t, + variantMap: r, + offsets: n, + classList: a, + }); + for (let f of i) + if (Array.isArray(f)) for (let d of f) d(s); + else f?.(s); + n.recordVariants(t, (f) => r.get(f).length); + for (let [f, d] of r.entries()) + e.variantMap.set( + f, + d.map((p, m) => [n.forVariant(f, m), p]), + ); + let o = (e.tailwindConfig.safelist ?? []).filter(Boolean); + if (o.length > 0) { + let f = []; + for (let d of o) { + if (typeof d == "string") { + e.changedContent.push({ content: d, extension: "html" }); + continue; + } + if (d instanceof RegExp) { + F.warn("root-regex", [ + "Regular expressions in `safelist` work differently in Tailwind CSS v3.0.", + "Update your `safelist` configuration to eliminate this warning.", + "https://tailwindcss.com/docs/content-configuration#safelisting-classes", + ]); + continue; + } + f.push(d); + } + if (f.length > 0) { + let d = new Map(), + p = e.tailwindConfig.prefix.length, + m = f.some((w) => w.pattern.source.includes("!")); + for (let w of a) { + let x = Array.isArray(w) + ? (() => { + let [y, b] = w, + S = Object.keys(b?.values ?? {}).map((_) => Qr(y, _)); + return ( + b?.supportsNegativeValues && + ((S = [...S, ...S.map((_) => "-" + _)]), + (S = [ + ...S, + ...S.map((_) => _.slice(0, p) + "-" + _.slice(p)), + ])), + b.types.some(({ type: _ }) => _ === "color") && + (S = [ + ...S, + ...S.flatMap((_) => + Object.keys(e.tailwindConfig.theme.opacity).map( + (O) => `${_}/${O}`, + ), + ), + ]), + m && + b?.respectImportant && + (S = [...S, ...S.map((_) => "!" + _)]), + S + ); + })() + : [w]; + for (let y of x) + for (let { pattern: b, variants: k = [] } of f) + if (((b.lastIndex = 0), d.has(b) || d.set(b, 0), !!b.test(y))) { + d.set(b, d.get(b) + 1), + e.changedContent.push({ content: y, extension: "html" }); + for (let S of k) + e.changedContent.push({ + content: S + e.tailwindConfig.separator + y, + extension: "html", + }); + } + } + for (let [w, x] of d.entries()) + x === 0 && + F.warn([ + `The safelist pattern \`${w}\` doesn't match any Tailwind CSS classes.`, + "Fix this pattern or remove it from your `safelist` configuration.", + "https://tailwindcss.com/docs/content-configuration#safelisting-classes", + ]); + } + } + let u = [].concat(e.tailwindConfig.darkMode ?? "media")[1] ?? "dark", + c = [po(e, u), po(e, "group"), po(e, "peer")]; + (e.getClassOrder = function (d) { + let p = [...d].sort((y, b) => (y === b ? 0 : y < b ? -1 : 1)), + m = new Map(p.map((y) => [y, null])), + w = kn(new Set(p), e, !0); + w = e.offsets.sort(w); + let x = BigInt(c.length); + for (let [, y] of w) { + let b = y.raws.tailwind.candidate; + m.set(b, m.get(b) ?? x++); + } + return d.map((y) => { + let b = m.get(y) ?? null, + k = c.indexOf(y); + return b === null && k !== -1 && (b = BigInt(k)), [y, b]; + }); + }), + (e.getClassList = function (d = {}) { + let p = []; + for (let m of a) + if (Array.isArray(m)) { + let [w, x] = m, + y = [], + b = Object.keys(x?.modifiers ?? {}); + x?.types?.some(({ type: _ }) => _ === "color") && + b.push(...Object.keys(e.tailwindConfig.theme.opacity ?? {})); + let k = { modifiers: b }, + S = d.includeMetadata && b.length > 0; + for (let [_, O] of Object.entries(x?.values ?? {})) { + if (O == null) continue; + let I = Qr(w, _); + if ( + (p.push(S ? [I, k] : I), x?.supportsNegativeValues && Xe(O)) + ) { + let B = Qr(w, `-${_}`); + y.push(S ? [B, k] : B); + } + } + p.push(...y); + } else p.push(m); + return p; + }), + (e.getVariants = function () { + let d = []; + for (let [p, m] of e.variantOptions.entries()) + m.variantInfo !== co.Base && + d.push({ + name: p, + isArbitrary: m.type === Symbol.for("MATCH_VARIANT"), + values: Object.keys(m.values ?? {}), + hasDash: p !== "@", + selectors({ modifier: w, value: x } = {}) { + let y = "__TAILWIND_PLACEHOLDER__", + b = V.rule({ selector: `.${y}` }), + k = V.root({ nodes: [b.clone()] }), + S = k.toString(), + _ = (e.variantMap.get(p) ?? []).flatMap(([j, ue]) => ue), + O = []; + for (let j of _) { + let ue = [], + ai = { + args: { modifier: w, value: m.values?.[x] ?? x }, + separator: e.tailwindConfig.separator, + modifySelectors(Ce) { + return ( + k.each((Yn) => { + Yn.type === "rule" && + (Yn.selectors = Yn.selectors.map((lu) => + Ce({ + get className() { + return no(lu); + }, + selector: lu, + }), + )); + }), + k + ); + }, + format(Ce) { + ue.push(Ce); + }, + wrap(Ce) { + ue.push(`@${Ce.name} ${Ce.params} { & }`); + }, + container: k, + }, + oi = j(ai); + if ((ue.length > 0 && O.push(ue), Array.isArray(oi))) + for (let Ce of oi) (ue = []), Ce(ai), O.push(ue); + } + let I = [], + B = k.toString(); + S !== B && + (k.walkRules((j) => { + let ue = j.selector, + ai = (0, uo.default)((oi) => { + oi.walkClasses((Ce) => { + Ce.value = `${p}${e.tailwindConfig.separator}${Ce.value}`; + }); + }).processSync(ue); + I.push(ue.replace(ai, "&").replace(y, "&")); + }), + k.walkAtRules((j) => { + I.push(`@${j.name} (${j.params}) { & }`); + })); + let q = !(x in (m.values ?? {})), + X = m[Jr] ?? {}, + le = (() => !(q || X.respectPrefix === !1))(); + (O = O.map((j) => + j.map((ue) => ({ format: ue, respectPrefix: le })), + )), + (I = I.map((j) => ({ format: j, respectPrefix: le }))); + let ce = { candidate: y, context: e }, + $e = O.map((j) => + wn(`.${y}`, $t(j, ce), ce) + .replace(`.${y}`, "&") + .replace("{ & }", "") + .trim(), + ); + return ( + I.length > 0 && + $e.push($t(I, ce).toString().replace(`.${y}`, "&")), + $e + ); + }, + }); + return d; + }); + } + function jd(i, e) { + !i.classCache.has(e) || + (i.notClassCache.add(e), + i.classCache.delete(e), + i.applyClassCache.delete(e), + i.candidateRuleMap.delete(e), + i.candidateRuleCache.delete(e), + (i.stylesheetCache = null)); + } + function YC(i, e) { + let t = e.raws.tailwind.candidate; + if (!!t) { + for (let r of i.ruleCache) + r[1].raws.tailwind.candidate === t && i.ruleCache.delete(r); + jd(i, t); + } + } + function mo(i, e = [], t = V.root()) { + let r = { + disposables: [], + ruleCache: new Set(), + candidateRuleCache: new Map(), + classCache: new Map(), + applyClassCache: new Map(), + notClassCache: new Set(i.blocklist ?? []), + postCssNodeCache: new Map(), + candidateRuleMap: new Map(), + tailwindConfig: i, + changedContent: e, + variantMap: new Map(), + stylesheetCache: null, + variantOptions: new Map(), + markInvalidUtilityCandidate: (a) => jd(r, a), + markInvalidUtilityNode: (a) => YC(r, a), + }, + n = GC(r, t); + return HC(n, r), r; + } + function zd(i, e, t, r, n, a) { + let s = e.opts.from, + o = r !== null; + Pe.DEBUG && console.log("Source path:", s); + let u; + if (o && jt.has(s)) u = jt.get(s); + else if (ei.has(n)) { + let p = ei.get(n); + lt.get(p).add(s), jt.set(s, p), (u = p); + } + let c = Td(s, i); + if (u) { + let [p, m] = Ld([...a], On(u)); + if (!p && !c) return [u, !1, m]; + } + if (jt.has(s)) { + let p = jt.get(s); + if (lt.has(p) && (lt.get(p).delete(s), lt.get(p).size === 0)) { + lt.delete(p); + for (let [m, w] of ei) w === p && ei.delete(m); + for (let m of p.disposables.splice(0)) m(p); + } + } + Pe.DEBUG && console.log("Setting up new context..."); + let f = mo(t, [], i); + Object.assign(f, { userConfigPath: r }); + let [, d] = Ld([...a], On(f)); + return ( + ei.set(n, f), + jt.set(s, f), + lt.has(f) || lt.set(f, new Set()), + lt.get(f).add(s), + [f, !0, d] + ); + } + var Bd, + uo, + Jr, + fo, + co, + ho, + jt, + ei, + lt, + Xr = C(() => { + l(); + je(); + ys(); + nt(); + (Bd = K(Ls())), (uo = K(Re())); + Hr(); + za(); + un(); + kt(); + Ft(); + Ua(); + cr(); + gd(); + ot(); + ot(); + pi(); + Oe(); + fi(); + Ja(); + Sn(); + Pd(); + Md(); + ze(); + to(); + (Jr = Symbol()), + (fo = { + AddVariant: Symbol.for("ADD_VARIANT"), + MatchVariant: Symbol.for("MATCH_VARIANT"), + }), + (co = { Base: 1 << 0, Dynamic: 1 << 1 }); + ho = new WeakMap(); + (jt = yd), (ei = wd), (lt = gn); + }); + function go(i) { + return i.ignore + ? [] + : i.glob + ? h.env.ROLLUP_WATCH === "true" + ? [{ type: "dependency", file: i.base }] + : [{ type: "dir-dependency", dir: i.base, glob: i.glob }] + : [{ type: "dependency", file: i.base }]; + } + var Vd = C(() => { + l(); + }); + function Ud(i, e) { + return { handler: i, config: e }; + } + var Wd, + Gd = C(() => { + l(); + Ud.withOptions = function (i, e = () => ({})) { + let t = function (r) { + return { __options: r, handler: i(r), config: e(r) }; + }; + return ( + (t.__isOptionsFunction = !0), + (t.__pluginFunction = i), + (t.__configFunction = e), + t + ); + }; + Wd = Ud; + }); + var yo = {}; + Ae(yo, { default: () => QC }); + var QC, + wo = C(() => { + l(); + Gd(); + QC = Wd; + }); + var Yd = v((qD, Hd) => { + l(); + var JC = (wo(), yo).default, + XC = { + overflow: "hidden", + display: "-webkit-box", + "-webkit-box-orient": "vertical", + }, + KC = JC( + function ({ + matchUtilities: i, + addUtilities: e, + theme: t, + variants: r, + }) { + let n = t("lineClamp"); + i( + { "line-clamp": (a) => ({ ...XC, "-webkit-line-clamp": `${a}` }) }, + { values: n }, + ), + e( + [{ ".line-clamp-none": { "-webkit-line-clamp": "unset" } }], + r("lineClamp"), + ); + }, + { + theme: { + lineClamp: { 1: "1", 2: "2", 3: "3", 4: "4", 5: "5", 6: "6" }, + }, + variants: { lineClamp: ["responsive"] }, + }, + ); + Hd.exports = KC; + }); + function bo(i) { + i.content.files.length === 0 && + F.warn("content-problems", [ + "The `content` option in your Tailwind CSS configuration is missing or empty.", + "Configure your content sources or your generated CSS will be missing styles.", + "https://tailwindcss.com/docs/content-configuration", + ]); + try { + let e = Yd(); + i.plugins.includes(e) && + (F.warn("line-clamp-in-core", [ + "As of Tailwind CSS v3.3, the `@tailwindcss/line-clamp` plugin is now included by default.", + "Remove it from the `plugins` array in your configuration to eliminate this warning.", + ]), + (i.plugins = i.plugins.filter((t) => t !== e))); + } catch {} + return i; + } + var Qd = C(() => { + l(); + Oe(); + }); + var Jd, + Xd = C(() => { + l(); + Jd = () => !1; + }); + var En, + Kd = C(() => { + l(); + En = { + sync: (i) => [].concat(i), + generateTasks: (i) => [ + { + dynamic: !1, + base: ".", + negative: [], + positive: [].concat(i), + patterns: [].concat(i), + }, + ], + escapePath: (i) => i, + }; + }); + var vo, + Zd = C(() => { + l(); + vo = (i) => i; + }); + var eh, + th = C(() => { + l(); + eh = () => ""; + }); + function rh(i) { + let e = i, + t = eh(i); + return ( + t !== "." && + ((e = i.substr(t.length)), e.charAt(0) === "/" && (e = e.substr(1))), + e.substr(0, 2) === "./" && (e = e.substr(2)), + e.charAt(0) === "/" && (e = e.substr(1)), + { base: t, glob: e } + ); + } + var ih = C(() => { + l(); + th(); + }); + function nh(i, e) { + let t = e.content.files; + (t = t.filter((o) => typeof o == "string")), (t = t.map(vo)); + let r = En.generateTasks(t), + n = [], + a = []; + for (let o of r) + n.push(...o.positive.map((u) => sh(u, !1))), + a.push(...o.negative.map((u) => sh(u, !0))); + let s = [...n, ...a]; + return (s = e2(i, s)), (s = s.flatMap(t2)), (s = s.map(ZC)), s; + } + function sh(i, e) { + let t = { original: i, base: i, ignore: e, pattern: i, glob: null }; + return Jd(i) && Object.assign(t, rh(i)), t; + } + function ZC(i) { + let e = vo(i.base); + return ( + (e = En.escapePath(e)), + (i.pattern = i.glob ? `${e}/${i.glob}` : e), + (i.pattern = i.ignore ? `!${i.pattern}` : i.pattern), + i + ); + } + function e2(i, e) { + let t = []; + return ( + i.userConfigPath && + i.tailwindConfig.content.relative && + (t = [ee.dirname(i.userConfigPath)]), + e.map((r) => ((r.base = ee.resolve(...t, r.base)), r)) + ); + } + function t2(i) { + let e = [i]; + try { + let t = re.realpathSync(i.base); + t !== i.base && e.push({ ...i, base: t }); + } catch {} + return e; + } + function ah(i, e, t) { + let r = i.tailwindConfig.content.files + .filter((s) => typeof s.raw == "string") + .map(({ raw: s, extension: o = "html" }) => ({ + content: s, + extension: o, + })), + [n, a] = r2(e, t); + for (let s of n) { + let o = ee.extname(s).slice(1); + r.push({ file: s, extension: o }); + } + return [r, a]; + } + function r2(i, e) { + let t = i.map((s) => s.pattern), + r = new Map(), + n = new Set(); + Pe.DEBUG && console.time("Finding changed files"); + let a = En.sync(t, { absolute: !0 }); + for (let s of a) { + let o = e.get(s) || -1 / 0, + u = re.statSync(s).mtimeMs; + u > o && (n.add(s), r.set(s, u)); + } + return Pe.DEBUG && console.timeEnd("Finding changed files"), [n, r]; + } + var oh = C(() => { + l(); + je(); + gt(); + Xd(); + Kd(); + Zd(); + ih(); + ot(); + }); + function lh() {} + var uh = C(() => { + l(); + }); + function a2(i, e) { + for (let t of e) { + let r = `${i}${t}`; + if (re.existsSync(r) && re.statSync(r).isFile()) return r; + } + for (let t of e) { + let r = `${i}/index${t}`; + if (re.existsSync(r)) return r; + } + return null; + } + function* fh(i, e, t, r = ee.extname(i)) { + let n = a2(ee.resolve(e, i), i2.includes(r) ? n2 : s2); + if (n === null || t.has(n)) return; + t.add(n), yield n, (e = ee.dirname(n)), (r = ee.extname(n)); + let a = re.readFileSync(n, "utf-8"); + for (let s of [ + ...a.matchAll(/import[\s\S]*?['"](.{3,}?)['"]/gi), + ...a.matchAll(/import[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi), + ...a.matchAll(/require\(['"`](.+)['"`]\)/gi), + ]) + !s[1].startsWith(".") || (yield* fh(s[1], e, t, r)); + } + function xo(i) { + return i === null ? new Set() : new Set(fh(i, ee.dirname(i), new Set())); + } + var i2, + n2, + s2, + ch = C(() => { + l(); + je(); + gt(); + (i2 = [".js", ".cjs", ".mjs"]), + (n2 = [ + "", + ".js", + ".cjs", + ".mjs", + ".ts", + ".cts", + ".mts", + ".jsx", + ".tsx", + ]), + (s2 = [ + "", + ".ts", + ".cts", + ".mts", + ".tsx", + ".js", + ".cjs", + ".mjs", + ".jsx", + ]); + }); + function o2(i, e) { + if (ko.has(i)) return ko.get(i); + let t = nh(i, e); + return ko.set(i, t).get(i); + } + function l2(i) { + let e = ms(i); + if (e !== null) { + let [r, n, a, s] = dh.get(e) || [], + o = xo(e), + u = !1, + c = new Map(); + for (let p of o) { + let m = re.statSync(p).mtimeMs; + c.set(p, m), (!s || !s.has(p) || m > s.get(p)) && (u = !0); + } + if (!u) return [r, e, n, a]; + for (let p of o) delete fu.cache[p]; + let f = bo(dr(lh(e))), + d = ui(f); + return dh.set(e, [f, d, o, c]), [f, e, d, o]; + } + let t = dr(i?.config ?? i ?? {}); + return (t = bo(t)), [t, null, ui(t), []]; + } + function So(i) { + return ({ tailwindDirectives: e, registerDependency: t }) => + (r, n) => { + let [a, s, o, u] = l2(i), + c = new Set(u); + if (e.size > 0) { + c.add(n.opts.from); + for (let w of n.messages) w.type === "dependency" && c.add(w.file); + } + let [f, , d] = zd(r, n, a, s, o, c), + p = On(f), + m = o2(f, a); + if (e.size > 0) { + for (let y of m) for (let b of go(y)) t(b); + let [w, x] = ah(f, m, p); + for (let y of w) f.changedContent.push(y); + for (let [y, b] of x.entries()) d.set(y, b); + } + for (let w of u) t({ type: "dependency", file: w }); + for (let [w, x] of d.entries()) p.set(w, x); + return f; + }; + } + var ph, + dh, + ko, + hh = C(() => { + l(); + je(); + ph = K(Qn()); + mu(); + hs(); + sf(); + Xr(); + Vd(); + Qd(); + oh(); + uh(); + ch(); + (dh = new ph.default({ maxSize: 100 })), (ko = new WeakMap()); + }); + function Co(i) { + let e = new Set(), + t = new Set(), + r = new Set(); + if ( + (i.walkAtRules((n) => { + n.name === "apply" && r.add(n), + n.name === "import" && + (n.params === '"tailwindcss/base"' || + n.params === "'tailwindcss/base'" + ? ((n.name = "tailwind"), (n.params = "base")) + : n.params === '"tailwindcss/components"' || + n.params === "'tailwindcss/components'" + ? ((n.name = "tailwind"), (n.params = "components")) + : n.params === '"tailwindcss/utilities"' || + n.params === "'tailwindcss/utilities'" + ? ((n.name = "tailwind"), (n.params = "utilities")) + : (n.params === '"tailwindcss/screens"' || + n.params === "'tailwindcss/screens'" || + n.params === '"tailwindcss/variants"' || + n.params === "'tailwindcss/variants'") && + ((n.name = "tailwind"), (n.params = "variants"))), + n.name === "tailwind" && + (n.params === "screens" && (n.params = "variants"), + e.add(n.params)), + ["layer", "responsive", "variants"].includes(n.name) && + (["responsive", "variants"].includes(n.name) && + F.warn(`${n.name}-at-rule-deprecated`, [ + `The \`@${n.name}\` directive has been deprecated in Tailwind CSS v3.0.`, + "Use `@layer utilities` or `@layer components` instead.", + "https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer", + ]), + t.add(n)); + }), + !e.has("base") || !e.has("components") || !e.has("utilities")) + ) { + for (let n of t) + if ( + n.name === "layer" && + ["base", "components", "utilities"].includes(n.params) + ) { + if (!e.has(n.params)) + throw n.error( + `\`@layer ${n.params}\` is used but no matching \`@tailwind ${n.params}\` directive is present.`, + ); + } else if (n.name === "responsive") { + if (!e.has("utilities")) + throw n.error( + "`@responsive` is used but `@tailwind utilities` is missing.", + ); + } else if (n.name === "variants" && !e.has("utilities")) + throw n.error( + "`@variants` is used but `@tailwind utilities` is missing.", + ); + } + return { tailwindDirectives: e, applyDirectives: r }; + } + var mh = C(() => { + l(); + Oe(); + }); + function vt(i, e = void 0, t = void 0) { + return i.map((r) => { + let n = r.clone(); + return ( + t !== void 0 && (n.raws.tailwind = { ...n.raws.tailwind, ...t }), + e !== void 0 && + gh(n, (a) => { + if (a.raws.tailwind?.preserveSource === !0 && a.source) return !1; + a.source = e; + }), + n + ); + }); + } + function gh(i, e) { + e(i) !== !1 && i.each?.((t) => gh(t, e)); + } + var yh = C(() => { + l(); + }); + function Ao(i) { + return ( + (i = Array.isArray(i) ? i : [i]), + (i = i.map((e) => (e instanceof RegExp ? e.source : e))), + i.join("") + ); + } + function ye(i) { + return new RegExp(Ao(i), "g"); + } + function ut(i) { + return `(?:${i.map(Ao).join("|")})`; + } + function _o(i) { + return `(?:${Ao(i)})?`; + } + function bh(i) { + return i && u2.test(i) ? i.replace(wh, "\\$&") : i || ""; + } + var wh, + u2, + vh = C(() => { + l(); + (wh = /[\\^$.*+?()[\]{}|]/g), (u2 = RegExp(wh.source)); + }); + function xh(i) { + let e = Array.from(f2(i)); + return (t) => { + let r = []; + for (let n of e) for (let a of t.match(n) ?? []) r.push(d2(a)); + return r; + }; + } + function* f2(i) { + let e = i.tailwindConfig.separator, + t = + i.tailwindConfig.prefix !== "" + ? _o(ye([/-?/, bh(i.tailwindConfig.prefix)])) + : "", + r = ut([ + /\[[^\s:'"`]+:[^\s\[\]]+\]/, + /\[[^\s:'"`\]]+:[^\s]+?\[[^\s]+\][^\s]+?\]/, + ye([ + ut([/-?(?:\w+)/, /@(?:\w+)/]), + _o( + ut([ + ye([ + ut([ + /-(?:\w+-)*\['[^\s]+'\]/, + /-(?:\w+-)*\["[^\s]+"\]/, + /-(?:\w+-)*\[`[^\s]+`\]/, + /-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s:\[\]]+\]/, + ]), + /(?![{([]])/, + /(?:\/[^\s'"`\\><$]*)?/, + ]), + ye([ + ut([ + /-(?:\w+-)*\['[^\s]+'\]/, + /-(?:\w+-)*\["[^\s]+"\]/, + /-(?:\w+-)*\[`[^\s]+`\]/, + /-(?:\w+-)*\[(?:[^\s\[\]]+\[[^\s\[\]]+\])*[^\s\[\]]+\]/, + ]), + /(?![{([]])/, + /(?:\/[^\s'"`\\$]*)?/, + ]), + /[-\/][^\s'"`\\$={><]*/, + ]), + ), + ]), + ]), + n = [ + ut([ + ye([/@\[[^\s"'`]+\](\/[^\s"'`]+)?/, e]), + ye([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]\/\w+/, e]), + ye([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]/, e]), + ye([/[^\s"'`\[\\]+/, e]), + ]), + ut([ + ye([/([^\s"'`\[\\]+-)?\[[^\s`]+\]\/\w+/, e]), + ye([/([^\s"'`\[\\]+-)?\[[^\s`]+\]/, e]), + ye([/[^\s`\[\\]+/, e]), + ]), + ]; + for (let a of n) yield ye(["((?=((", a, ")+))\\2)?", /!?/, t, r]); + yield /[^<>"'`\s.(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g; + } + function d2(i) { + if (!i.includes("-[")) return i; + let e = 0, + t = [], + r = i.matchAll(c2); + r = Array.from(r).flatMap((n) => { + let [, ...a] = n; + return a.map((s, o) => + Object.assign([], n, { index: n.index + o, 0: s }), + ); + }); + for (let n of r) { + let a = n[0], + s = t[t.length - 1]; + if ( + (a === s ? t.pop() : (a === "'" || a === '"' || a === "`") && t.push(a), + !s) + ) { + if (a === "[") { + e++; + continue; + } else if (a === "]") { + e--; + continue; + } + if (e < 0) return i.substring(0, n.index - 1); + if (e === 0 && !p2.test(a)) return i.substring(0, n.index); + } + } + return i; + } + var c2, + p2, + kh = C(() => { + l(); + vh(); + (c2 = /([\[\]'"`])([^\[\]'"`])?/g), (p2 = /[^"'`\s<>\]]+/); + }); + function h2(i, e) { + let t = i.tailwindConfig.content.extract; + return t[e] || t.DEFAULT || Ch[e] || Ch.DEFAULT(i); + } + function m2(i, e) { + let t = i.content.transform; + return t[e] || t.DEFAULT || Ah[e] || Ah.DEFAULT; + } + function g2(i, e, t, r) { + ti.has(e) || ti.set(e, new Sh.default({ maxSize: 25e3 })); + for (let n of i.split(` +`)) + if (((n = n.trim()), !r.has(n))) + if ((r.add(n), ti.get(e).has(n))) + for (let a of ti.get(e).get(n)) t.add(a); + else { + let a = e(n).filter((o) => o !== "!*"), + s = new Set(a); + for (let o of s) t.add(o); + ti.get(e).set(n, s); + } + } + function y2(i, e) { + let t = e.offsets.sort(i), + r = { + base: new Set(), + defaults: new Set(), + components: new Set(), + utilities: new Set(), + variants: new Set(), + }; + for (let [n, a] of t) r[n.layer].add(a); + return r; + } + function Oo(i) { + return async (e) => { + let t = { base: null, components: null, utilities: null, variants: null }; + if ( + (e.walkAtRules((w) => { + w.name === "tailwind" && + Object.keys(t).includes(w.params) && + (t[w.params] = w); + }), + Object.values(t).every((w) => w === null)) + ) + return e; + let r = new Set([...(i.candidates ?? []), He]), + n = new Set(); + Ye.DEBUG && console.time("Reading changed files"); + { + let w = []; + for (let y of i.changedContent) { + let b = m2(i.tailwindConfig, y.extension), + k = h2(i, y.extension); + w.push([y, { transformer: b, extractor: k }]); + } + let x = 500; + for (let y = 0; y < w.length; y += x) { + let b = w.slice(y, y + x); + await Promise.all( + b.map( + async ([ + { file: k, content: S }, + { transformer: _, extractor: O }, + ]) => { + (S = k ? await re.promises.readFile(k, "utf8") : S), + g2(_(S), O, r, n); + }, + ), + ); + } + } + Ye.DEBUG && console.timeEnd("Reading changed files"); + let a = i.classCache.size; + Ye.DEBUG && console.time("Generate rules"), + Ye.DEBUG && console.time("Sorting candidates"); + let s = new Set([...r].sort((w, x) => (w === x ? 0 : w < x ? -1 : 1))); + Ye.DEBUG && console.timeEnd("Sorting candidates"), + kn(s, i), + Ye.DEBUG && console.timeEnd("Generate rules"), + Ye.DEBUG && console.time("Build stylesheet"), + (i.stylesheetCache === null || i.classCache.size !== a) && + (i.stylesheetCache = y2([...i.ruleCache], i)), + Ye.DEBUG && console.timeEnd("Build stylesheet"); + let { + defaults: o, + base: u, + components: c, + utilities: f, + variants: d, + } = i.stylesheetCache; + t.base && + (t.base.before(vt([...u, ...o], t.base.source, { layer: "base" })), + t.base.remove()), + t.components && + (t.components.before( + vt([...c], t.components.source, { layer: "components" }), + ), + t.components.remove()), + t.utilities && + (t.utilities.before( + vt([...f], t.utilities.source, { layer: "utilities" }), + ), + t.utilities.remove()); + let p = Array.from(d).filter((w) => { + let x = w.raws.tailwind?.parentLayer; + return x === "components" + ? t.components !== null + : x === "utilities" + ? t.utilities !== null + : !0; + }); + t.variants + ? (t.variants.before(vt(p, t.variants.source, { layer: "variants" })), + t.variants.remove()) + : p.length > 0 && e.append(vt(p, e.source, { layer: "variants" })), + (e.source.end = e.source.end ?? e.source.start); + let m = p.some((w) => w.raws.tailwind?.parentLayer === "utilities"); + t.utilities && + f.size === 0 && + !m && + F.warn("content-problems", [ + "No utility classes were detected in your source files. If this is unexpected, double-check the `content` option in your Tailwind CSS configuration.", + "https://tailwindcss.com/docs/content-configuration", + ]), + Ye.DEBUG && + (console.log("Potential classes: ", r.size), + console.log("Active contexts: ", gn.size)), + (i.changedContent = []), + e.walkAtRules("layer", (w) => { + Object.keys(t).includes(w.params) && w.remove(); + }); + }; + } + var Sh, + Ye, + Ch, + Ah, + ti, + _h = C(() => { + l(); + je(); + Sh = K(Qn()); + ot(); + Sn(); + Oe(); + yh(); + kh(); + (Ye = Pe), + (Ch = { DEFAULT: xh }), + (Ah = { + DEFAULT: (i) => i, + svelte: (i) => i.replace(/(?:^|\s)class:/g, " "), + }); + ti = new WeakMap(); + }); + function Pn(i) { + let e = new Map(); + V.root({ nodes: [i.clone()] }).walkRules((a) => { + (0, Tn.default)((s) => { + s.walkClasses((o) => { + let u = o.parent.toString(), + c = e.get(u); + c || e.set(u, (c = new Set())), c.add(o.value); + }); + }).processSync(a.selector); + }); + let r = Array.from(e.values(), (a) => Array.from(a)), + n = r.flat(); + return Object.assign(n, { groups: r }); + } + function Eo(i) { + return w2.astSync(i); + } + function Oh(i, e) { + let t = new Set(); + for (let r of i) t.add(r.split(e).pop()); + return Array.from(t); + } + function Eh(i, e) { + let t = i.tailwindConfig.prefix; + return typeof t == "function" ? t(e) : t + e; + } + function* Th(i) { + for (yield i; i.parent; ) yield i.parent, (i = i.parent); + } + function b2(i, e = {}) { + let t = i.nodes; + i.nodes = []; + let r = i.clone(e); + return (i.nodes = t), r; + } + function v2(i) { + for (let e of Th(i)) + if (i !== e) { + if (e.type === "root") break; + i = b2(e, { nodes: [i] }); + } + return i; + } + function x2(i, e) { + let t = new Map(); + return ( + i.walkRules((r) => { + for (let s of Th(r)) if (s.raws.tailwind?.layer !== void 0) return; + let n = v2(r), + a = e.offsets.create("user"); + for (let s of Pn(r)) { + let o = t.get(s) || []; + t.set(s, o), o.push([{ layer: "user", sort: a, important: !1 }, n]); + } + }), + t + ); + } + function k2(i, e) { + for (let t of i) { + if (e.notClassCache.has(t) || e.applyClassCache.has(t)) continue; + if (e.classCache.has(t)) { + e.applyClassCache.set( + t, + e.classCache.get(t).map(([n, a]) => [n, a.clone()]), + ); + continue; + } + let r = Array.from(ao(t, e)); + if (r.length === 0) { + e.notClassCache.add(t); + continue; + } + e.applyClassCache.set(t, r); + } + return e.applyClassCache; + } + function S2(i) { + let e = null; + return { + get: (t) => ((e = e || i()), e.get(t)), + has: (t) => ((e = e || i()), e.has(t)), + }; + } + function C2(i) { + return { + get: (e) => i.flatMap((t) => t.get(e) || []), + has: (e) => i.some((t) => t.has(e)), + }; + } + function Ph(i) { + let e = i.split(/[\s\t\n]+/g); + return e[e.length - 1] === "!important" ? [e.slice(0, -1), !0] : [e, !1]; + } + function Dh(i, e, t) { + let r = new Set(), + n = []; + if ( + (i.walkAtRules("apply", (u) => { + let [c] = Ph(u.params); + for (let f of c) r.add(f); + n.push(u); + }), + n.length === 0) + ) + return; + let a = C2([t, k2(r, e)]); + function s(u, c, f) { + let d = Eo(u), + p = Eo(c), + w = Eo(`.${de(f)}`).nodes[0].nodes[0]; + return ( + d.each((x) => { + let y = new Set(); + p.each((b) => { + let k = !1; + (b = b.clone()), + b.walkClasses((S) => { + S.value === w.value && + (k || + (S.replaceWith(...x.nodes.map((_) => _.clone())), + y.add(b), + (k = !0))); + }); + }); + for (let b of y) { + let k = [[]]; + for (let S of b.nodes) + S.type === "combinator" + ? (k.push(S), k.push([])) + : k[k.length - 1].push(S); + b.nodes = []; + for (let S of k) + Array.isArray(S) && + S.sort((_, O) => + _.type === "tag" && O.type === "class" + ? -1 + : _.type === "class" && O.type === "tag" + ? 1 + : _.type === "class" && + O.type === "pseudo" && + O.value.startsWith("::") + ? -1 + : _.type === "pseudo" && + _.value.startsWith("::") && + O.type === "class" + ? 1 + : 0, + ), + (b.nodes = b.nodes.concat(S)); + } + x.replaceWith(...y); + }), + d.toString() + ); + } + let o = new Map(); + for (let u of n) { + let [c] = o.get(u.parent) || [[], u.source]; + o.set(u.parent, [c, u.source]); + let [f, d] = Ph(u.params); + if (u.parent.type === "atrule") { + if (u.parent.name === "screen") { + let p = u.parent.params; + throw u.error( + `@apply is not supported within nested at-rules like @screen. We suggest you write this as @apply ${f.map((m) => `${p}:${m}`).join(" ")} instead.`, + ); + } + throw u.error( + `@apply is not supported within nested at-rules like @${u.parent.name}. You can fix this by un-nesting @${u.parent.name}.`, + ); + } + for (let p of f) { + if ([Eh(e, "group"), Eh(e, "peer")].includes(p)) + throw u.error(`@apply should not be used with the '${p}' utility`); + if (!a.has(p)) + throw u.error( + `The \`${p}\` class does not exist. If \`${p}\` is a custom class, make sure it is defined within a \`@layer\` directive.`, + ); + let m = a.get(p); + c.push([p, d, m]); + } + } + for (let [u, [c, f]] of o) { + let d = []; + for (let [m, w, x] of c) { + let y = [m, ...Oh([m], e.tailwindConfig.separator)]; + for (let [b, k] of x) { + let S = Pn(u), + _ = Pn(k); + if ( + ((_ = _.groups.filter((q) => q.some((X) => y.includes(X))).flat()), + (_ = _.concat(Oh(_, e.tailwindConfig.separator))), + S.some((q) => _.includes(q))) + ) + throw k.error( + `You cannot \`@apply\` the \`${m}\` utility here because it creates a circular dependency.`, + ); + let I = V.root({ nodes: [k.clone()] }); + I.walk((q) => { + q.source = f; + }), + (k.type !== "atrule" || + (k.type === "atrule" && k.name !== "keyframes")) && + I.walkRules((q) => { + if (!Pn(q).some((j) => j === m)) { + q.remove(); + return; + } + let X = + typeof e.tailwindConfig.important == "string" + ? e.tailwindConfig.important + : null, + ce = + u.raws.tailwind !== void 0 && + X && + u.selector.indexOf(X) === 0 + ? u.selector.slice(X.length) + : u.selector; + ce === "" && (ce = u.selector), + (q.selector = s(ce, q.selector, m)), + X && ce !== u.selector && (q.selector = bn(q.selector, X)), + q.walkDecls((j) => { + j.important = b.important || w; + }); + let $e = (0, Tn.default)().astSync(q.selector); + $e.each((j) => Lt(j)), (q.selector = $e.toString()); + }), + !!I.nodes[0] && d.push([b.sort, I.nodes[0]]); + } + } + let p = e.offsets.sort(d).map((m) => m[1]); + u.after(p); + } + for (let u of n) u.parent.nodes.length > 1 ? u.remove() : u.parent.remove(); + Dh(i, e, t); + } + function To(i) { + return (e) => { + let t = S2(() => x2(e, i)); + Dh(e, i, t); + }; + } + var Tn, + w2, + Ih = C(() => { + l(); + nt(); + Tn = K(Re()); + Sn(); + Ft(); + io(); + yn(); + w2 = (0, Tn.default)(); + }); + var qh = v((P6, Dn) => { + l(); + (function () { + "use strict"; + function i(r, n, a) { + if (!r) return null; + i.caseSensitive || (r = r.toLowerCase()); + var s = i.threshold === null ? null : i.threshold * r.length, + o = i.thresholdAbsolute, + u; + s !== null && o !== null + ? (u = Math.min(s, o)) + : s !== null + ? (u = s) + : o !== null + ? (u = o) + : (u = null); + var c, + f, + d, + p, + m, + w = n.length; + for (m = 0; m < w; m++) + if ( + ((f = n[m]), + a && (f = f[a]), + !!f && + (i.caseSensitive ? (d = f) : (d = f.toLowerCase()), + (p = t(r, d, u)), + (u === null || p < u) && + ((u = p), + a && i.returnWinningObject ? (c = n[m]) : (c = f), + i.returnFirstMatch))) + ) + return c; + return c || i.nullResultValue; + } + (i.threshold = 0.4), + (i.thresholdAbsolute = 20), + (i.caseSensitive = !1), + (i.nullResultValue = null), + (i.returnWinningObject = null), + (i.returnFirstMatch = !1), + typeof Dn != "undefined" && Dn.exports + ? (Dn.exports = i) + : (window.didYouMean = i); + var e = Math.pow(2, 32) - 1; + function t(r, n, a) { + a = a || a === 0 ? a : e; + var s = r.length, + o = n.length; + if (s === 0) return Math.min(a + 1, o); + if (o === 0) return Math.min(a + 1, s); + if (Math.abs(s - o) > a) return a + 1; + var u = [], + c, + f, + d, + p, + m; + for (c = 0; c <= o; c++) u[c] = [c]; + for (f = 0; f <= s; f++) u[0][f] = f; + for (c = 1; c <= o; c++) { + for ( + d = e, + p = 1, + c > a && (p = c - a), + m = o + 1, + m > a + c && (m = a + c), + f = 1; + f <= s; + f++ + ) + f < p || f > m + ? (u[c][f] = a + 1) + : n.charAt(c - 1) === r.charAt(f - 1) + ? (u[c][f] = u[c - 1][f - 1]) + : (u[c][f] = Math.min( + u[c - 1][f - 1] + 1, + Math.min(u[c][f - 1] + 1, u[c - 1][f] + 1), + )), + u[c][f] < d && (d = u[c][f]); + if (d > a) return a + 1; + } + return u[o][s]; + } + })(); + }); + var Mh = v((D6, Rh) => { + l(); + var Po = "(".charCodeAt(0), + Do = ")".charCodeAt(0), + In = "'".charCodeAt(0), + Io = '"'.charCodeAt(0), + qo = "\\".charCodeAt(0), + zt = "/".charCodeAt(0), + Ro = ",".charCodeAt(0), + Mo = ":".charCodeAt(0), + qn = "*".charCodeAt(0), + A2 = "u".charCodeAt(0), + _2 = "U".charCodeAt(0), + O2 = "+".charCodeAt(0), + E2 = /^[a-f0-9?-]+$/i; + Rh.exports = function (i) { + for ( + var e = [], + t = i, + r, + n, + a, + s, + o, + u, + c, + f, + d = 0, + p = t.charCodeAt(d), + m = t.length, + w = [{ nodes: e }], + x = 0, + y, + b = "", + k = "", + S = ""; + d < m; + + ) + if (p <= 32) { + r = d; + do (r += 1), (p = t.charCodeAt(r)); + while (p <= 32); + (s = t.slice(d, r)), + (a = e[e.length - 1]), + p === Do && x + ? (S = s) + : a && a.type === "div" + ? ((a.after = s), (a.sourceEndIndex += s.length)) + : p === Ro || + p === Mo || + (p === zt && + t.charCodeAt(r + 1) !== qn && + (!y || (y && y.type === "function" && !1))) + ? (k = s) + : e.push({ + type: "space", + sourceIndex: d, + sourceEndIndex: r, + value: s, + }), + (d = r); + } else if (p === In || p === Io) { + (r = d), + (n = p === In ? "'" : '"'), + (s = { type: "string", sourceIndex: d, quote: n }); + do + if (((o = !1), (r = t.indexOf(n, r + 1)), ~r)) + for (u = r; t.charCodeAt(u - 1) === qo; ) (u -= 1), (o = !o); + else (t += n), (r = t.length - 1), (s.unclosed = !0); + while (o); + (s.value = t.slice(d + 1, r)), + (s.sourceEndIndex = s.unclosed ? r : r + 1), + e.push(s), + (d = r + 1), + (p = t.charCodeAt(d)); + } else if (p === zt && t.charCodeAt(d + 1) === qn) + (r = t.indexOf("*/", d)), + (s = { type: "comment", sourceIndex: d, sourceEndIndex: r + 2 }), + r === -1 && + ((s.unclosed = !0), (r = t.length), (s.sourceEndIndex = r)), + (s.value = t.slice(d + 2, r)), + e.push(s), + (d = r + 2), + (p = t.charCodeAt(d)); + else if ((p === zt || p === qn) && y && y.type === "function") + (s = t[d]), + e.push({ + type: "word", + sourceIndex: d - k.length, + sourceEndIndex: d + s.length, + value: s, + }), + (d += 1), + (p = t.charCodeAt(d)); + else if (p === zt || p === Ro || p === Mo) + (s = t[d]), + e.push({ + type: "div", + sourceIndex: d - k.length, + sourceEndIndex: d + s.length, + value: s, + before: k, + after: "", + }), + (k = ""), + (d += 1), + (p = t.charCodeAt(d)); + else if (Po === p) { + r = d; + do (r += 1), (p = t.charCodeAt(r)); + while (p <= 32); + if ( + ((f = d), + (s = { + type: "function", + sourceIndex: d - b.length, + value: b, + before: t.slice(f + 1, r), + }), + (d = r), + b === "url" && p !== In && p !== Io) + ) { + r -= 1; + do + if (((o = !1), (r = t.indexOf(")", r + 1)), ~r)) + for (u = r; t.charCodeAt(u - 1) === qo; ) (u -= 1), (o = !o); + else (t += ")"), (r = t.length - 1), (s.unclosed = !0); + while (o); + c = r; + do (c -= 1), (p = t.charCodeAt(c)); + while (p <= 32); + f < c + ? (d !== c + 1 + ? (s.nodes = [ + { + type: "word", + sourceIndex: d, + sourceEndIndex: c + 1, + value: t.slice(d, c + 1), + }, + ]) + : (s.nodes = []), + s.unclosed && c + 1 !== r + ? ((s.after = ""), + s.nodes.push({ + type: "space", + sourceIndex: c + 1, + sourceEndIndex: r, + value: t.slice(c + 1, r), + })) + : ((s.after = t.slice(c + 1, r)), (s.sourceEndIndex = r))) + : ((s.after = ""), (s.nodes = [])), + (d = r + 1), + (s.sourceEndIndex = s.unclosed ? r : d), + (p = t.charCodeAt(d)), + e.push(s); + } else + (x += 1), + (s.after = ""), + (s.sourceEndIndex = d + 1), + e.push(s), + w.push(s), + (e = s.nodes = []), + (y = s); + b = ""; + } else if (Do === p && x) + (d += 1), + (p = t.charCodeAt(d)), + (y.after = S), + (y.sourceEndIndex += S.length), + (S = ""), + (x -= 1), + (w[w.length - 1].sourceEndIndex = d), + w.pop(), + (y = w[x]), + (e = y.nodes); + else { + r = d; + do p === qo && (r += 1), (r += 1), (p = t.charCodeAt(r)); + while ( + r < m && + !( + p <= 32 || + p === In || + p === Io || + p === Ro || + p === Mo || + p === zt || + p === Po || + (p === qn && y && y.type === "function" && !0) || + (p === zt && y.type === "function" && !0) || + (p === Do && x) + ) + ); + (s = t.slice(d, r)), + Po === p + ? (b = s) + : (A2 === s.charCodeAt(0) || _2 === s.charCodeAt(0)) && + O2 === s.charCodeAt(1) && + E2.test(s.slice(2)) + ? e.push({ + type: "unicode-range", + sourceIndex: d, + sourceEndIndex: r, + value: s, + }) + : e.push({ + type: "word", + sourceIndex: d, + sourceEndIndex: r, + value: s, + }), + (d = r); + } + for (d = w.length - 1; d; d -= 1) + (w[d].unclosed = !0), (w[d].sourceEndIndex = t.length); + return w[0].nodes; + }; + }); + var Fh = v((I6, Bh) => { + l(); + Bh.exports = function i(e, t, r) { + var n, a, s, o; + for (n = 0, a = e.length; n < a; n += 1) + (s = e[n]), + r || (o = t(s, n, e)), + o !== !1 && + s.type === "function" && + Array.isArray(s.nodes) && + i(s.nodes, t, r), + r && t(s, n, e); + }; + }); + var jh = v((q6, $h) => { + l(); + function Nh(i, e) { + var t = i.type, + r = i.value, + n, + a; + return e && (a = e(i)) !== void 0 + ? a + : t === "word" || t === "space" + ? r + : t === "string" + ? ((n = i.quote || ""), n + r + (i.unclosed ? "" : n)) + : t === "comment" + ? "/*" + r + (i.unclosed ? "" : "*/") + : t === "div" + ? (i.before || "") + r + (i.after || "") + : Array.isArray(i.nodes) + ? ((n = Lh(i.nodes, e)), + t !== "function" + ? n + : r + + "(" + + (i.before || "") + + n + + (i.after || "") + + (i.unclosed ? "" : ")")) + : r; + } + function Lh(i, e) { + var t, r; + if (Array.isArray(i)) { + for (t = "", r = i.length - 1; ~r; r -= 1) t = Nh(i[r], e) + t; + return t; + } + return Nh(i, e); + } + $h.exports = Lh; + }); + var Vh = v((R6, zh) => { + l(); + var Rn = "-".charCodeAt(0), + Mn = "+".charCodeAt(0), + Bo = ".".charCodeAt(0), + T2 = "e".charCodeAt(0), + P2 = "E".charCodeAt(0); + function D2(i) { + var e = i.charCodeAt(0), + t; + if (e === Mn || e === Rn) { + if (((t = i.charCodeAt(1)), t >= 48 && t <= 57)) return !0; + var r = i.charCodeAt(2); + return t === Bo && r >= 48 && r <= 57; + } + return e === Bo + ? ((t = i.charCodeAt(1)), t >= 48 && t <= 57) + : e >= 48 && e <= 57; + } + zh.exports = function (i) { + var e = 0, + t = i.length, + r, + n, + a; + if (t === 0 || !D2(i)) return !1; + for ( + r = i.charCodeAt(e), (r === Mn || r === Rn) && e++; + e < t && ((r = i.charCodeAt(e)), !(r < 48 || r > 57)); + + ) + e += 1; + if ( + ((r = i.charCodeAt(e)), + (n = i.charCodeAt(e + 1)), + r === Bo && n >= 48 && n <= 57) + ) + for (e += 2; e < t && ((r = i.charCodeAt(e)), !(r < 48 || r > 57)); ) + e += 1; + if ( + ((r = i.charCodeAt(e)), + (n = i.charCodeAt(e + 1)), + (a = i.charCodeAt(e + 2)), + (r === T2 || r === P2) && + ((n >= 48 && n <= 57) || + ((n === Mn || n === Rn) && a >= 48 && a <= 57))) + ) + for ( + e += n === Mn || n === Rn ? 3 : 2; + e < t && ((r = i.charCodeAt(e)), !(r < 48 || r > 57)); + + ) + e += 1; + return { number: i.slice(0, e), unit: i.slice(e) }; + }; + }); + var Hh = v((M6, Gh) => { + l(); + var I2 = Mh(), + Uh = Fh(), + Wh = jh(); + function ft(i) { + return this instanceof ft ? ((this.nodes = I2(i)), this) : new ft(i); + } + ft.prototype.toString = function () { + return Array.isArray(this.nodes) ? Wh(this.nodes) : ""; + }; + ft.prototype.walk = function (i, e) { + return Uh(this.nodes, i, e), this; + }; + ft.unit = Vh(); + ft.walk = Uh; + ft.stringify = Wh; + Gh.exports = ft; + }); + function No(i) { + return typeof i == "object" && i !== null; + } + function q2(i, e) { + let t = Ke(e); + do if ((t.pop(), (0, ri.default)(i, t) !== void 0)) break; + while (t.length); + return t.length ? t : void 0; + } + function Vt(i) { + return typeof i == "string" + ? i + : i.reduce( + (e, t, r) => + t.includes(".") ? `${e}[${t}]` : r === 0 ? t : `${e}.${t}`, + "", + ); + } + function Qh(i) { + return i.map((e) => `'${e}'`).join(", "); + } + function Jh(i) { + return Qh(Object.keys(i)); + } + function Lo(i, e, t, r = {}) { + let n = Array.isArray(e) ? Vt(e) : e.replace(/^['"]+|['"]+$/g, ""), + a = Array.isArray(e) ? e : Ke(n), + s = (0, ri.default)(i.theme, a, t); + if (s === void 0) { + let u = `'${n}' does not exist in your theme config.`, + c = a.slice(0, -1), + f = (0, ri.default)(i.theme, c); + if (No(f)) { + let d = Object.keys(f).filter((m) => Lo(i, [...c, m]).isValid), + p = (0, Yh.default)(a[a.length - 1], d); + p + ? (u += ` Did you mean '${Vt([...c, p])}'?`) + : d.length > 0 && + (u += ` '${Vt(c)}' has the following valid keys: ${Qh(d)}`); + } else { + let d = q2(i.theme, n); + if (d) { + let p = (0, ri.default)(i.theme, d); + No(p) + ? (u += ` '${Vt(d)}' has the following keys: ${Jh(p)}`) + : (u += ` '${Vt(d)}' is not an object.`); + } else + u += ` Your theme has the following top-level keys: ${Jh(i.theme)}`; + } + return { isValid: !1, error: u }; + } + if ( + !( + typeof s == "string" || + typeof s == "number" || + typeof s == "function" || + s instanceof String || + s instanceof Number || + Array.isArray(s) + ) + ) { + let u = `'${n}' was found but does not resolve to a string.`; + if (No(s)) { + let c = Object.keys(s).filter((f) => Lo(i, [...a, f]).isValid); + c.length && + (u += ` Did you mean something like '${Vt([...a, c[0]])}'?`); + } + return { isValid: !1, error: u }; + } + let [o] = a; + return { isValid: !0, value: Ge(o)(s, r) }; + } + function R2(i, e, t) { + e = e.map((n) => Xh(i, n, t)); + let r = [""]; + for (let n of e) + n.type === "div" && n.value === "," + ? r.push("") + : (r[r.length - 1] += Fo.default.stringify(n)); + return r; + } + function Xh(i, e, t) { + if (e.type === "function" && t[e.value] !== void 0) { + let r = R2(i, e.nodes, t); + (e.type = "word"), (e.value = t[e.value](i, ...r)); + } + return e; + } + function M2(i, e, t) { + return Object.keys(t).some((n) => e.includes(`${n}(`)) + ? (0, Fo.default)(e) + .walk((n) => { + Xh(i, n, t); + }) + .toString() + : e; + } + function* F2(i) { + i = i.replace(/^['"]+|['"]+$/g, ""); + let e = i.match(/^([^\s]+)(?![^\[]*\])(?:\s*\/\s*([^\/\s]+))$/), + t; + yield [i, void 0], e && ((i = e[1]), (t = e[2]), yield [i, t]); + } + function N2(i, e, t) { + let r = Array.from(F2(e)).map(([n, a]) => + Object.assign(Lo(i, n, t, { opacityValue: a }), { + resolvedPath: n, + alpha: a, + }), + ); + return r.find((n) => n.isValid) ?? r[0]; + } + function Kh(i) { + let e = i.tailwindConfig, + t = { + theme: (r, n, ...a) => { + let { + isValid: s, + value: o, + error: u, + alpha: c, + } = N2(e, n, a.length ? a : void 0); + if (!s) { + let p = r.parent, + m = p?.raws.tailwind?.candidate; + if (p && m !== void 0) { + i.markInvalidUtilityNode(p), + p.remove(), + F.warn("invalid-theme-key-in-class", [ + `The utility \`${m}\` contains an invalid theme value and was not generated.`, + ]); + return; + } + throw r.error(u); + } + let f = Ct(o), + d = f !== void 0 && typeof f == "function"; + return ( + (c !== void 0 || d) && (c === void 0 && (c = 1), (o = De(f, c, f))), + o + ); + }, + screen: (r, n) => { + n = n.replace(/^['"]+/g, "").replace(/['"]+$/g, ""); + let s = at(e.theme.screens).find(({ name: o }) => o === n); + if (!s) + throw r.error(`The '${n}' screen does not exist in your theme.`); + return st(s); + }, + }; + return (r) => { + r.walk((n) => { + let a = B2[n.type]; + a !== void 0 && (n[a] = M2(n, n[a], t)); + }); + }; + } + var ri, + Yh, + Fo, + B2, + Zh = C(() => { + l(); + (ri = K(Ls())), (Yh = K(qh())); + Hr(); + Fo = K(Hh()); + hn(); + cn(); + pi(); + or(); + cr(); + Oe(); + B2 = { atrule: "params", decl: "value" }; + }); + function em({ tailwindConfig: { theme: i } }) { + return function (e) { + e.walkAtRules("screen", (t) => { + let r = t.params, + a = at(i.screens).find(({ name: s }) => s === r); + if (!a) throw t.error(`No \`${r}\` screen found.`); + (t.name = "media"), (t.params = st(a)); + }); + }; + } + var tm = C(() => { + l(); + hn(); + cn(); + }); + function L2(i) { + let e = i + .filter((o) => + o.type !== "pseudo" || o.nodes.length > 0 + ? !0 + : o.value.startsWith("::") || + [":before", ":after", ":first-line", ":first-letter"].includes( + o.value, + ), + ) + .reverse(), + t = new Set(["tag", "class", "id", "attribute"]), + r = e.findIndex((o) => t.has(o.type)); + if (r === -1) return e.reverse().join("").trim(); + let n = e[r], + a = rm[n.type] ? rm[n.type](n) : n; + e = e.slice(0, r); + let s = e.findIndex((o) => o.type === "combinator" && o.value === ">"); + return ( + s !== -1 && (e.splice(0, s), e.unshift(Bn.default.universal())), + [a, ...e.reverse()].join("").trim() + ); + } + function j2(i) { + return $o.has(i) || $o.set(i, $2.transformSync(i)), $o.get(i); + } + function jo({ tailwindConfig: i }) { + return (e) => { + let t = new Map(), + r = new Set(); + if ( + (e.walkAtRules("defaults", (n) => { + if (n.nodes && n.nodes.length > 0) { + r.add(n); + return; + } + let a = n.params; + t.has(a) || t.set(a, new Set()), t.get(a).add(n.parent), n.remove(); + }), + Z(i, "optimizeUniversalDefaults")) + ) + for (let n of r) { + let a = new Map(), + s = t.get(n.params) ?? []; + for (let o of s) + for (let u of j2(o.selector)) { + let c = u.includes(":-") || u.includes("::-") ? u : "__DEFAULT__", + f = a.get(c) ?? new Set(); + a.set(c, f), f.add(u); + } + if (Z(i, "optimizeUniversalDefaults")) { + if (a.size === 0) { + n.remove(); + continue; + } + for (let [, o] of a) { + let u = V.rule({ source: n.source }); + (u.selectors = [...o]), + u.append(n.nodes.map((c) => c.clone())), + n.before(u); + } + } + n.remove(); + } + else if (r.size) { + let n = V.rule({ selectors: ["*", "::before", "::after"] }); + for (let s of r) + n.append(s.nodes), + n.parent || s.before(n), + n.source || (n.source = s.source), + s.remove(); + let a = n.clone({ selectors: ["::backdrop"] }); + n.after(a); + } + }; + } + var Bn, + rm, + $2, + $o, + im = C(() => { + l(); + nt(); + Bn = K(Re()); + ze(); + rm = { + id(i) { + return Bn.default.attribute({ + attribute: "id", + operator: "=", + value: i.value, + quoteMark: '"', + }); + }, + }; + ($2 = (0, Bn.default)((i) => + i.map((e) => { + let t = e + .split((r) => r.type === "combinator" && r.value === " ") + .pop(); + return L2(t); + }), + )), + ($o = new Map()); + }); + function zo() { + function i(e) { + let t = null; + e.each((r) => { + if (!z2.has(r.type)) { + t = null; + return; + } + if (t === null) { + t = r; + return; + } + let n = nm[r.type]; + r.type === "atrule" && r.name === "font-face" + ? (t = r) + : n.every( + (a) => + (r[a] ?? "").replace(/\s+/g, " ") === + (t[a] ?? "").replace(/\s+/g, " "), + ) + ? (r.nodes && t.append(r.nodes), r.remove()) + : (t = r); + }), + e.each((r) => { + r.type === "atrule" && i(r); + }); + } + return (e) => { + i(e); + }; + } + var nm, + z2, + sm = C(() => { + l(); + (nm = { atrule: ["name", "params"], rule: ["selector"] }), + (z2 = new Set(Object.keys(nm))); + }); + function Vo() { + return (i) => { + i.walkRules((e) => { + let t = new Map(), + r = new Set([]), + n = new Map(); + e.walkDecls((a) => { + if (a.parent === e) { + if (t.has(a.prop)) { + if (t.get(a.prop).value === a.value) { + r.add(t.get(a.prop)), t.set(a.prop, a); + return; + } + n.has(a.prop) || n.set(a.prop, new Set()), + n.get(a.prop).add(t.get(a.prop)), + n.get(a.prop).add(a); + } + t.set(a.prop, a); + } + }); + for (let a of r) a.remove(); + for (let a of n.values()) { + let s = new Map(); + for (let o of a) { + let u = U2(o.value); + u !== null && (s.has(u) || s.set(u, new Set()), s.get(u).add(o)); + } + for (let o of s.values()) { + let u = Array.from(o).slice(0, -1); + for (let c of u) c.remove(); + } + } + }); + }; + } + function U2(i) { + let e = /^-?\d*.?\d+([\w%]+)?$/g.exec(i); + return e ? e[1] ?? V2 : null; + } + var V2, + am = C(() => { + l(); + V2 = Symbol("unitless-number"); + }); + function W2(i) { + if (!i.walkAtRules) return; + let e = new Set(); + if ( + (i.walkAtRules("apply", (t) => { + e.add(t.parent); + }), + e.size !== 0) + ) + for (let t of e) { + let r = [], + n = []; + for (let a of t.nodes) + a.type === "atrule" && a.name === "apply" + ? (n.length > 0 && (r.push(n), (n = [])), r.push([a])) + : n.push(a); + if ((n.length > 0 && r.push(n), r.length !== 1)) { + for (let a of [...r].reverse()) { + let s = t.clone({ nodes: [] }); + s.append(a), t.after(s); + } + t.remove(); + } + } + } + function Fn() { + return (i) => { + W2(i); + }; + } + var om = C(() => { + l(); + }); + function G2(i) { + return i.type === "root"; + } + function H2(i) { + return i.type === "atrule" && i.name === "layer"; + } + function lm(i) { + return (e, t) => { + let r = !1; + e.walkAtRules("tailwind", (n) => { + if (r) return !1; + if (n.parent && !(G2(n.parent) || H2(n.parent))) + return ( + (r = !0), + n.warn( + t, + [ + "Nested @tailwind rules were detected, but are not supported.", + "Consider using a prefix to scope Tailwind's classes: https://tailwindcss.com/docs/configuration#prefix", + "Alternatively, use the important selector strategy: https://tailwindcss.com/docs/configuration#selector-strategy", + ].join(` +`), + ), + !1 + ); + }), + e.walkRules((n) => { + if (r) return !1; + n.walkRules( + (a) => ( + (r = !0), + a.warn( + t, + [ + "Nested CSS was detected, but CSS nesting has not been configured correctly.", + "Please enable a CSS nesting plugin *before* Tailwind in your configuration.", + "See how here: https://tailwindcss.com/docs/using-with-preprocessors#nesting", + ].join(` +`), + ), + !1 + ), + ); + }); + }; + } + var um = C(() => { + l(); + }); + function Nn(i) { + return async function (e, t) { + let { tailwindDirectives: r, applyDirectives: n } = Co(e); + lm()(e, t), Fn()(e, t); + let a = i({ + tailwindDirectives: r, + applyDirectives: n, + registerDependency(s) { + t.messages.push({ plugin: "tailwindcss", parent: t.opts.from, ...s }); + }, + createContext(s, o) { + return mo(s, o, e); + }, + })(e, t); + if (a.tailwindConfig.separator === "-") + throw new Error( + "The '-' character cannot be used as a custom separator in JIT mode due to parsing ambiguity. Please use another character like '_' instead.", + ); + _u(a.tailwindConfig), + await Oo(a)(e, t), + Fn()(e, t), + To(a)(e, t), + Kh(a)(e, t), + em(a)(e, t), + jo(a)(e, t), + zo(a)(e, t), + Vo(a)(e, t); + }; + } + var fm = C(() => { + l(); + mh(); + _h(); + Ih(); + Zh(); + tm(); + im(); + sm(); + am(); + om(); + um(); + Xr(); + ze(); + }); + function cm(i, e) { + let t = null, + r = null; + return ( + i.walkAtRules("config", (n) => { + if (((r = n.source?.input.file ?? e.opts.from ?? null), r === null)) + throw n.error( + "The `@config` directive cannot be used without setting `from` in your PostCSS config.", + ); + if (t) + throw n.error("Only one `@config` directive is allowed per file."); + let a = n.params.match(/(['"])(.*?)\1/); + if (!a) + throw n.error( + "A path is required when using the `@config` directive.", + ); + let s = a[2]; + if (ee.isAbsolute(s)) + throw n.error( + "The `@config` directive cannot be used with an absolute path.", + ); + if (((t = ee.resolve(ee.dirname(r), s)), !re.existsSync(t))) + throw n.error( + `The config file at "${s}" does not exist. Make sure the path is correct and the file exists.`, + ); + n.remove(); + }), + t || null + ); + } + var pm = C(() => { + l(); + je(); + gt(); + }); + var dm = v((vI, Uo) => { + l(); + hh(); + fm(); + ot(); + pm(); + Uo.exports = function (e) { + return { + postcssPlugin: "tailwindcss", + plugins: [ + Pe.DEBUG && + function (t) { + return ( + console.log(` +`), + console.time("JIT TOTAL"), + t + ); + }, + async function (t, r) { + e = cm(t, r) ?? e; + let n = So(e); + if (t.type === "document") { + let a = t.nodes.filter((s) => s.type === "root"); + for (let s of a) s.type === "root" && (await Nn(n)(s, r)); + return; + } + await Nn(n)(t, r); + }, + !1, + Pe.DEBUG && + function (t) { + return ( + console.timeEnd("JIT TOTAL"), + console.log(` +`), + t + ); + }, + ].filter(Boolean), + }; + }; + Uo.exports.postcss = !0; + }); + var mm = v((xI, hm) => { + l(); + hm.exports = dm(); + }); + var Wo = v((kI, gm) => { + l(); + gm.exports = () => [ + "and_chr 114", + "and_uc 15.5", + "chrome 114", + "chrome 113", + "chrome 109", + "edge 114", + "firefox 114", + "ios_saf 16.5", + "ios_saf 16.4", + "ios_saf 16.3", + "ios_saf 16.1", + "opera 99", + "safari 16.5", + "samsung 21", + ]; + }); + var Ln = {}; + Ae(Ln, { agents: () => Y2, feature: () => Q2 }); + function Q2() { + return { + status: "cr", + title: "CSS Feature Queries", + stats: { + ie: { 6: "n", 7: "n", 8: "n", 9: "n", 10: "n", 11: "n", 5.5: "n" }, + edge: { + 12: "y", + 13: "y", + 14: "y", + 15: "y", + 16: "y", + 17: "y", + 18: "y", + 79: "y", + 80: "y", + 81: "y", + 83: "y", + 84: "y", + 85: "y", + 86: "y", + 87: "y", + 88: "y", + 89: "y", + 90: "y", + 91: "y", + 92: "y", + 93: "y", + 94: "y", + 95: "y", + 96: "y", + 97: "y", + 98: "y", + 99: "y", + 100: "y", + 101: "y", + 102: "y", + 103: "y", + 104: "y", + 105: "y", + 106: "y", + 107: "y", + 108: "y", + 109: "y", + 110: "y", + 111: "y", + 112: "y", + 113: "y", + 114: "y", + }, + firefox: { + 2: "n", + 3: "n", + 4: "n", + 5: "n", + 6: "n", + 7: "n", + 8: "n", + 9: "n", + 10: "n", + 11: "n", + 12: "n", + 13: "n", + 14: "n", + 15: "n", + 16: "n", + 17: "n", + 18: "n", + 19: "n", + 20: "n", + 21: "n", + 22: "y", + 23: "y", + 24: "y", + 25: "y", + 26: "y", + 27: "y", + 28: "y", + 29: "y", + 30: "y", + 31: "y", + 32: "y", + 33: "y", + 34: "y", + 35: "y", + 36: "y", + 37: "y", + 38: "y", + 39: "y", + 40: "y", + 41: "y", + 42: "y", + 43: "y", + 44: "y", + 45: "y", + 46: "y", + 47: "y", + 48: "y", + 49: "y", + 50: "y", + 51: "y", + 52: "y", + 53: "y", + 54: "y", + 55: "y", + 56: "y", + 57: "y", + 58: "y", + 59: "y", + 60: "y", + 61: "y", + 62: "y", + 63: "y", + 64: "y", + 65: "y", + 66: "y", + 67: "y", + 68: "y", + 69: "y", + 70: "y", + 71: "y", + 72: "y", + 73: "y", + 74: "y", + 75: "y", + 76: "y", + 77: "y", + 78: "y", + 79: "y", + 80: "y", + 81: "y", + 82: "y", + 83: "y", + 84: "y", + 85: "y", + 86: "y", + 87: "y", + 88: "y", + 89: "y", + 90: "y", + 91: "y", + 92: "y", + 93: "y", + 94: "y", + 95: "y", + 96: "y", + 97: "y", + 98: "y", + 99: "y", + 100: "y", + 101: "y", + 102: "y", + 103: "y", + 104: "y", + 105: "y", + 106: "y", + 107: "y", + 108: "y", + 109: "y", + 110: "y", + 111: "y", + 112: "y", + 113: "y", + 114: "y", + 115: "y", + 116: "y", + 117: "y", + 3.5: "n", + 3.6: "n", + }, + chrome: { + 4: "n", + 5: "n", + 6: "n", + 7: "n", + 8: "n", + 9: "n", + 10: "n", + 11: "n", + 12: "n", + 13: "n", + 14: "n", + 15: "n", + 16: "n", + 17: "n", + 18: "n", + 19: "n", + 20: "n", + 21: "n", + 22: "n", + 23: "n", + 24: "n", + 25: "n", + 26: "n", + 27: "n", + 28: "y", + 29: "y", + 30: "y", + 31: "y", + 32: "y", + 33: "y", + 34: "y", + 35: "y", + 36: "y", + 37: "y", + 38: "y", + 39: "y", + 40: "y", + 41: "y", + 42: "y", + 43: "y", + 44: "y", + 45: "y", + 46: "y", + 47: "y", + 48: "y", + 49: "y", + 50: "y", + 51: "y", + 52: "y", + 53: "y", + 54: "y", + 55: "y", + 56: "y", + 57: "y", + 58: "y", + 59: "y", + 60: "y", + 61: "y", + 62: "y", + 63: "y", + 64: "y", + 65: "y", + 66: "y", + 67: "y", + 68: "y", + 69: "y", + 70: "y", + 71: "y", + 72: "y", + 73: "y", + 74: "y", + 75: "y", + 76: "y", + 77: "y", + 78: "y", + 79: "y", + 80: "y", + 81: "y", + 83: "y", + 84: "y", + 85: "y", + 86: "y", + 87: "y", + 88: "y", + 89: "y", + 90: "y", + 91: "y", + 92: "y", + 93: "y", + 94: "y", + 95: "y", + 96: "y", + 97: "y", + 98: "y", + 99: "y", + 100: "y", + 101: "y", + 102: "y", + 103: "y", + 104: "y", + 105: "y", + 106: "y", + 107: "y", + 108: "y", + 109: "y", + 110: "y", + 111: "y", + 112: "y", + 113: "y", + 114: "y", + 115: "y", + 116: "y", + 117: "y", + }, + safari: { + 4: "n", + 5: "n", + 6: "n", + 7: "n", + 8: "n", + 9: "y", + 10: "y", + 11: "y", + 12: "y", + 13: "y", + 14: "y", + 15: "y", + 17: "y", + 9.1: "y", + 10.1: "y", + 11.1: "y", + 12.1: "y", + 13.1: "y", + 14.1: "y", + 15.1: "y", + "15.2-15.3": "y", + 15.4: "y", + 15.5: "y", + 15.6: "y", + "16.0": "y", + 16.1: "y", + 16.2: "y", + 16.3: "y", + 16.4: "y", + 16.5: "y", + 16.6: "y", + TP: "y", + 3.1: "n", + 3.2: "n", + 5.1: "n", + 6.1: "n", + 7.1: "n", + }, + opera: { + 9: "n", + 11: "n", + 12: "n", + 15: "y", + 16: "y", + 17: "y", + 18: "y", + 19: "y", + 20: "y", + 21: "y", + 22: "y", + 23: "y", + 24: "y", + 25: "y", + 26: "y", + 27: "y", + 28: "y", + 29: "y", + 30: "y", + 31: "y", + 32: "y", + 33: "y", + 34: "y", + 35: "y", + 36: "y", + 37: "y", + 38: "y", + 39: "y", + 40: "y", + 41: "y", + 42: "y", + 43: "y", + 44: "y", + 45: "y", + 46: "y", + 47: "y", + 48: "y", + 49: "y", + 50: "y", + 51: "y", + 52: "y", + 53: "y", + 54: "y", + 55: "y", + 56: "y", + 57: "y", + 58: "y", + 60: "y", + 62: "y", + 63: "y", + 64: "y", + 65: "y", + 66: "y", + 67: "y", + 68: "y", + 69: "y", + 70: "y", + 71: "y", + 72: "y", + 73: "y", + 74: "y", + 75: "y", + 76: "y", + 77: "y", + 78: "y", + 79: "y", + 80: "y", + 81: "y", + 82: "y", + 83: "y", + 84: "y", + 85: "y", + 86: "y", + 87: "y", + 88: "y", + 89: "y", + 90: "y", + 91: "y", + 92: "y", + 93: "y", + 94: "y", + 95: "y", + 96: "y", + 97: "y", + 98: "y", + 99: "y", + 100: "y", + 12.1: "y", + "9.5-9.6": "n", + "10.0-10.1": "n", + 10.5: "n", + 10.6: "n", + 11.1: "n", + 11.5: "n", + 11.6: "n", + }, + ios_saf: { + 8: "n", + 17: "y", + "9.0-9.2": "y", + 9.3: "y", + "10.0-10.2": "y", + 10.3: "y", + "11.0-11.2": "y", + "11.3-11.4": "y", + "12.0-12.1": "y", + "12.2-12.5": "y", + "13.0-13.1": "y", + 13.2: "y", + 13.3: "y", + "13.4-13.7": "y", + "14.0-14.4": "y", + "14.5-14.8": "y", + "15.0-15.1": "y", + "15.2-15.3": "y", + 15.4: "y", + 15.5: "y", + 15.6: "y", + "16.0": "y", + 16.1: "y", + 16.2: "y", + 16.3: "y", + 16.4: "y", + 16.5: "y", + 16.6: "y", + 3.2: "n", + "4.0-4.1": "n", + "4.2-4.3": "n", + "5.0-5.1": "n", + "6.0-6.1": "n", + "7.0-7.1": "n", + "8.1-8.4": "n", + }, + op_mini: { all: "y" }, + android: { + 3: "n", + 4: "n", + 114: "y", + 4.4: "y", + "4.4.3-4.4.4": "y", + 2.1: "n", + 2.2: "n", + 2.3: "n", + 4.1: "n", + "4.2-4.3": "n", + }, + bb: { 7: "n", 10: "n" }, + op_mob: { + 10: "n", + 11: "n", + 12: "n", + 73: "y", + 11.1: "n", + 11.5: "n", + 12.1: "n", + }, + and_chr: { 114: "y" }, + and_ff: { 115: "y" }, + ie_mob: { 10: "n", 11: "n" }, + and_uc: { 15.5: "y" }, + samsung: { + 4: "y", + 20: "y", + 21: "y", + "5.0-5.4": "y", + "6.2-6.4": "y", + "7.2-7.4": "y", + 8.2: "y", + 9.2: "y", + 10.1: "y", + "11.1-11.2": "y", + "12.0": "y", + "13.0": "y", + "14.0": "y", + "15.0": "y", + "16.0": "y", + "17.0": "y", + "18.0": "y", + "19.0": "y", + }, + and_qq: { 13.1: "y" }, + baidu: { 13.18: "y" }, + kaios: { 2.5: "y", "3.0-3.1": "y" }, + }, + }; + } + var Y2, + $n = C(() => { + l(); + Y2 = { + ie: { prefix: "ms" }, + edge: { + prefix: "webkit", + prefix_exceptions: { + 12: "ms", + 13: "ms", + 14: "ms", + 15: "ms", + 16: "ms", + 17: "ms", + 18: "ms", + }, + }, + firefox: { prefix: "moz" }, + chrome: { prefix: "webkit" }, + safari: { prefix: "webkit" }, + opera: { + prefix: "webkit", + prefix_exceptions: { + 9: "o", + 11: "o", + 12: "o", + "9.5-9.6": "o", + "10.0-10.1": "o", + 10.5: "o", + 10.6: "o", + 11.1: "o", + 11.5: "o", + 11.6: "o", + 12.1: "o", + }, + }, + ios_saf: { prefix: "webkit" }, + op_mini: { prefix: "o" }, + android: { prefix: "webkit" }, + bb: { prefix: "webkit" }, + op_mob: { prefix: "o", prefix_exceptions: { 73: "webkit" } }, + and_chr: { prefix: "webkit" }, + and_ff: { prefix: "moz" }, + ie_mob: { prefix: "ms" }, + and_uc: { prefix: "webkit", prefix_exceptions: { 15.5: "webkit" } }, + samsung: { prefix: "webkit" }, + and_qq: { prefix: "webkit" }, + baidu: { prefix: "webkit" }, + kaios: { prefix: "moz" }, + }; + }); + var ym = v(() => { + l(); + }); + var fe = v((AI, ct) => { + l(); + var { list: Go } = ge(); + ct.exports.error = function (i) { + let e = new Error(i); + throw ((e.autoprefixer = !0), e); + }; + ct.exports.uniq = function (i) { + return [...new Set(i)]; + }; + ct.exports.removeNote = function (i) { + return i.includes(" ") ? i.split(" ")[0] : i; + }; + ct.exports.escapeRegexp = function (i) { + return i.replace(/[$()*+-.?[\\\]^{|}]/g, "\\$&"); + }; + ct.exports.regexp = function (i, e = !0) { + return ( + e && (i = this.escapeRegexp(i)), + new RegExp(`(^|[\\s,(])(${i}($|[\\s(,]))`, "gi") + ); + }; + ct.exports.editList = function (i, e) { + let t = Go.comma(i), + r = e(t, []); + if (t === r) return i; + let n = i.match(/,\s*/); + return (n = n ? n[0] : ", "), r.join(n); + }; + ct.exports.splitSelector = function (i) { + return Go.comma(i).map((e) => + Go.space(e).map((t) => t.split(/(?=\.|#)/g)), + ); + }; + }); + var pt = v((_I, vm) => { + l(); + var J2 = Wo(), + wm = ($n(), Ln).agents, + X2 = fe(), + bm = class { + static prefixes() { + if (this.prefixesCache) return this.prefixesCache; + this.prefixesCache = []; + for (let e in wm) this.prefixesCache.push(`-${wm[e].prefix}-`); + return ( + (this.prefixesCache = X2.uniq(this.prefixesCache).sort( + (e, t) => t.length - e.length, + )), + this.prefixesCache + ); + } + static withPrefix(e) { + return ( + this.prefixesRegexp || + (this.prefixesRegexp = new RegExp(this.prefixes().join("|"))), + this.prefixesRegexp.test(e) + ); + } + constructor(e, t, r, n) { + (this.data = e), + (this.options = r || {}), + (this.browserslistOpts = n || {}), + (this.selected = this.parse(t)); + } + parse(e) { + let t = {}; + for (let r in this.browserslistOpts) t[r] = this.browserslistOpts[r]; + return (t.path = this.options.from), J2(e, t); + } + prefix(e) { + let [t, r] = e.split(" "), + n = this.data[t], + a = n.prefix_exceptions && n.prefix_exceptions[r]; + return a || (a = n.prefix), `-${a}-`; + } + isSelected(e) { + return this.selected.includes(e); + } + }; + vm.exports = bm; + }); + var ii = v((OI, xm) => { + l(); + xm.exports = { + prefix(i) { + let e = i.match(/^(-\w+-)/); + return e ? e[0] : ""; + }, + unprefixed(i) { + return i.replace(/^-\w+-/, ""); + }, + }; + }); + var Ut = v((EI, Sm) => { + l(); + var K2 = pt(), + km = ii(), + Z2 = fe(); + function Ho(i, e) { + let t = new i.constructor(); + for (let r of Object.keys(i || {})) { + let n = i[r]; + r === "parent" && typeof n == "object" + ? e && (t[r] = e) + : r === "source" || r === null + ? (t[r] = n) + : Array.isArray(n) + ? (t[r] = n.map((a) => Ho(a, t))) + : r !== "_autoprefixerPrefix" && + r !== "_autoprefixerValues" && + r !== "proxyCache" && + (typeof n == "object" && n !== null && (n = Ho(n, t)), + (t[r] = n)); + } + return t; + } + var jn = class { + static hack(e) { + return ( + this.hacks || (this.hacks = {}), + e.names.map((t) => ((this.hacks[t] = e), this.hacks[t])) + ); + } + static load(e, t, r) { + let n = this.hacks && this.hacks[e]; + return n ? new n(e, t, r) : new this(e, t, r); + } + static clone(e, t) { + let r = Ho(e); + for (let n in t) r[n] = t[n]; + return r; + } + constructor(e, t, r) { + (this.prefixes = t), (this.name = e), (this.all = r); + } + parentPrefix(e) { + let t; + return ( + typeof e._autoprefixerPrefix != "undefined" + ? (t = e._autoprefixerPrefix) + : e.type === "decl" && e.prop[0] === "-" + ? (t = km.prefix(e.prop)) + : e.type === "root" + ? (t = !1) + : e.type === "rule" && + e.selector.includes(":-") && + /:(-\w+-)/.test(e.selector) + ? (t = e.selector.match(/:(-\w+-)/)[1]) + : e.type === "atrule" && e.name[0] === "-" + ? (t = km.prefix(e.name)) + : (t = this.parentPrefix(e.parent)), + K2.prefixes().includes(t) || (t = !1), + (e._autoprefixerPrefix = t), + e._autoprefixerPrefix + ); + } + process(e, t) { + if (!this.check(e)) return; + let r = this.parentPrefix(e), + n = this.prefixes.filter((s) => !r || r === Z2.removeNote(s)), + a = []; + for (let s of n) this.add(e, s, a.concat([s]), t) && a.push(s); + return a; + } + clone(e, t) { + return jn.clone(e, t); + } + }; + Sm.exports = jn; + }); + var R = v((TI, _m) => { + l(); + var eA = Ut(), + tA = pt(), + Cm = fe(), + Am = class extends eA { + check() { + return !0; + } + prefixed(e, t) { + return t + e; + } + normalize(e) { + return e; + } + otherPrefixes(e, t) { + for (let r of tA.prefixes()) if (r !== t && e.includes(r)) return !0; + return !1; + } + set(e, t) { + return (e.prop = this.prefixed(e.prop, t)), e; + } + needCascade(e) { + return ( + e._autoprefixerCascade || + (e._autoprefixerCascade = + this.all.options.cascade !== !1 && + e.raw("before").includes(` +`)), + e._autoprefixerCascade + ); + } + maxPrefixed(e, t) { + if (t._autoprefixerMax) return t._autoprefixerMax; + let r = 0; + for (let n of e) + (n = Cm.removeNote(n)), n.length > r && (r = n.length); + return (t._autoprefixerMax = r), t._autoprefixerMax; + } + calcBefore(e, t, r = "") { + let a = this.maxPrefixed(e, t) - Cm.removeNote(r).length, + s = t.raw("before"); + return a > 0 && (s += Array(a).fill(" ").join("")), s; + } + restoreBefore(e) { + let t = e.raw("before").split(` +`), + r = t[t.length - 1]; + this.all.group(e).up((n) => { + let a = n.raw("before").split(` +`), + s = a[a.length - 1]; + s.length < r.length && (r = s); + }), + (t[t.length - 1] = r), + (e.raws.before = t.join(` +`)); + } + insert(e, t, r) { + let n = this.set(this.clone(e), t); + if ( + !( + !n || + e.parent.some((s) => s.prop === n.prop && s.value === n.value) + ) + ) + return ( + this.needCascade(e) && (n.raws.before = this.calcBefore(r, e, t)), + e.parent.insertBefore(e, n) + ); + } + isAlready(e, t) { + let r = this.all.group(e).up((n) => n.prop === t); + return r || (r = this.all.group(e).down((n) => n.prop === t)), r; + } + add(e, t, r, n) { + let a = this.prefixed(e.prop, t); + if (!(this.isAlready(e, a) || this.otherPrefixes(e.value, t))) + return this.insert(e, t, r, n); + } + process(e, t) { + if (!this.needCascade(e)) { + super.process(e, t); + return; + } + let r = super.process(e, t); + !r || + !r.length || + (this.restoreBefore(e), (e.raws.before = this.calcBefore(r, e))); + } + old(e, t) { + return [this.prefixed(e, t)]; + } + }; + _m.exports = Am; + }); + var Em = v((PI, Om) => { + l(); + Om.exports = function i(e) { + return { + mul: (t) => new i(e * t), + div: (t) => new i(e / t), + simplify: () => new i(e), + toString: () => e.toString(), + }; + }; + }); + var Dm = v((DI, Pm) => { + l(); + var rA = Em(), + iA = Ut(), + Yo = fe(), + nA = /(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpcm|dpi|x)/gi, + sA = /(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpcm|dpi|x)/i, + Tm = class extends iA { + prefixName(e, t) { + return e === "-moz-" + ? t + "--moz-device-pixel-ratio" + : e + t + "-device-pixel-ratio"; + } + prefixQuery(e, t, r, n, a) { + return ( + (n = new rA(n)), + a === "dpi" + ? (n = n.div(96)) + : a === "dpcm" && (n = n.mul(2.54).div(96)), + (n = n.simplify()), + e === "-o-" && (n = n.n + "/" + n.d), + this.prefixName(e, t) + r + n + ); + } + clean(e) { + if (!this.bad) { + this.bad = []; + for (let t of this.prefixes) + this.bad.push(this.prefixName(t, "min")), + this.bad.push(this.prefixName(t, "max")); + } + e.params = Yo.editList(e.params, (t) => + t.filter((r) => this.bad.every((n) => !r.includes(n))), + ); + } + process(e) { + let t = this.parentPrefix(e), + r = t ? [t] : this.prefixes; + e.params = Yo.editList(e.params, (n, a) => { + for (let s of n) { + if ( + !s.includes("min-resolution") && + !s.includes("max-resolution") + ) { + a.push(s); + continue; + } + for (let o of r) { + let u = s.replace(nA, (c) => { + let f = c.match(sA); + return this.prefixQuery(o, f[1], f[2], f[3], f[4]); + }); + a.push(u); + } + a.push(s); + } + return Yo.uniq(a); + }); + } + }; + Pm.exports = Tm; + }); + var qm = v((II, Im) => { + l(); + var Qo = "(".charCodeAt(0), + Jo = ")".charCodeAt(0), + zn = "'".charCodeAt(0), + Xo = '"'.charCodeAt(0), + Ko = "\\".charCodeAt(0), + Wt = "/".charCodeAt(0), + Zo = ",".charCodeAt(0), + el = ":".charCodeAt(0), + Vn = "*".charCodeAt(0), + aA = "u".charCodeAt(0), + oA = "U".charCodeAt(0), + lA = "+".charCodeAt(0), + uA = /^[a-f0-9?-]+$/i; + Im.exports = function (i) { + for ( + var e = [], + t = i, + r, + n, + a, + s, + o, + u, + c, + f, + d = 0, + p = t.charCodeAt(d), + m = t.length, + w = [{ nodes: e }], + x = 0, + y, + b = "", + k = "", + S = ""; + d < m; + + ) + if (p <= 32) { + r = d; + do (r += 1), (p = t.charCodeAt(r)); + while (p <= 32); + (s = t.slice(d, r)), + (a = e[e.length - 1]), + p === Jo && x + ? (S = s) + : a && a.type === "div" + ? ((a.after = s), (a.sourceEndIndex += s.length)) + : p === Zo || + p === el || + (p === Wt && + t.charCodeAt(r + 1) !== Vn && + (!y || + (y && y.type === "function" && y.value !== "calc"))) + ? (k = s) + : e.push({ + type: "space", + sourceIndex: d, + sourceEndIndex: r, + value: s, + }), + (d = r); + } else if (p === zn || p === Xo) { + (r = d), + (n = p === zn ? "'" : '"'), + (s = { type: "string", sourceIndex: d, quote: n }); + do + if (((o = !1), (r = t.indexOf(n, r + 1)), ~r)) + for (u = r; t.charCodeAt(u - 1) === Ko; ) (u -= 1), (o = !o); + else (t += n), (r = t.length - 1), (s.unclosed = !0); + while (o); + (s.value = t.slice(d + 1, r)), + (s.sourceEndIndex = s.unclosed ? r : r + 1), + e.push(s), + (d = r + 1), + (p = t.charCodeAt(d)); + } else if (p === Wt && t.charCodeAt(d + 1) === Vn) + (r = t.indexOf("*/", d)), + (s = { type: "comment", sourceIndex: d, sourceEndIndex: r + 2 }), + r === -1 && + ((s.unclosed = !0), (r = t.length), (s.sourceEndIndex = r)), + (s.value = t.slice(d + 2, r)), + e.push(s), + (d = r + 2), + (p = t.charCodeAt(d)); + else if ( + (p === Wt || p === Vn) && + y && + y.type === "function" && + y.value === "calc" + ) + (s = t[d]), + e.push({ + type: "word", + sourceIndex: d - k.length, + sourceEndIndex: d + s.length, + value: s, + }), + (d += 1), + (p = t.charCodeAt(d)); + else if (p === Wt || p === Zo || p === el) + (s = t[d]), + e.push({ + type: "div", + sourceIndex: d - k.length, + sourceEndIndex: d + s.length, + value: s, + before: k, + after: "", + }), + (k = ""), + (d += 1), + (p = t.charCodeAt(d)); + else if (Qo === p) { + r = d; + do (r += 1), (p = t.charCodeAt(r)); + while (p <= 32); + if ( + ((f = d), + (s = { + type: "function", + sourceIndex: d - b.length, + value: b, + before: t.slice(f + 1, r), + }), + (d = r), + b === "url" && p !== zn && p !== Xo) + ) { + r -= 1; + do + if (((o = !1), (r = t.indexOf(")", r + 1)), ~r)) + for (u = r; t.charCodeAt(u - 1) === Ko; ) (u -= 1), (o = !o); + else (t += ")"), (r = t.length - 1), (s.unclosed = !0); + while (o); + c = r; + do (c -= 1), (p = t.charCodeAt(c)); + while (p <= 32); + f < c + ? (d !== c + 1 + ? (s.nodes = [ + { + type: "word", + sourceIndex: d, + sourceEndIndex: c + 1, + value: t.slice(d, c + 1), + }, + ]) + : (s.nodes = []), + s.unclosed && c + 1 !== r + ? ((s.after = ""), + s.nodes.push({ + type: "space", + sourceIndex: c + 1, + sourceEndIndex: r, + value: t.slice(c + 1, r), + })) + : ((s.after = t.slice(c + 1, r)), (s.sourceEndIndex = r))) + : ((s.after = ""), (s.nodes = [])), + (d = r + 1), + (s.sourceEndIndex = s.unclosed ? r : d), + (p = t.charCodeAt(d)), + e.push(s); + } else + (x += 1), + (s.after = ""), + (s.sourceEndIndex = d + 1), + e.push(s), + w.push(s), + (e = s.nodes = []), + (y = s); + b = ""; + } else if (Jo === p && x) + (d += 1), + (p = t.charCodeAt(d)), + (y.after = S), + (y.sourceEndIndex += S.length), + (S = ""), + (x -= 1), + (w[w.length - 1].sourceEndIndex = d), + w.pop(), + (y = w[x]), + (e = y.nodes); + else { + r = d; + do p === Ko && (r += 1), (r += 1), (p = t.charCodeAt(r)); + while ( + r < m && + !( + p <= 32 || + p === zn || + p === Xo || + p === Zo || + p === el || + p === Wt || + p === Qo || + (p === Vn && y && y.type === "function" && y.value === "calc") || + (p === Wt && y.type === "function" && y.value === "calc") || + (p === Jo && x) + ) + ); + (s = t.slice(d, r)), + Qo === p + ? (b = s) + : (aA === s.charCodeAt(0) || oA === s.charCodeAt(0)) && + lA === s.charCodeAt(1) && + uA.test(s.slice(2)) + ? e.push({ + type: "unicode-range", + sourceIndex: d, + sourceEndIndex: r, + value: s, + }) + : e.push({ + type: "word", + sourceIndex: d, + sourceEndIndex: r, + value: s, + }), + (d = r); + } + for (d = w.length - 1; d; d -= 1) + (w[d].unclosed = !0), (w[d].sourceEndIndex = t.length); + return w[0].nodes; + }; + }); + var Mm = v((qI, Rm) => { + l(); + Rm.exports = function i(e, t, r) { + var n, a, s, o; + for (n = 0, a = e.length; n < a; n += 1) + (s = e[n]), + r || (o = t(s, n, e)), + o !== !1 && + s.type === "function" && + Array.isArray(s.nodes) && + i(s.nodes, t, r), + r && t(s, n, e); + }; + }); + var Lm = v((RI, Nm) => { + l(); + function Bm(i, e) { + var t = i.type, + r = i.value, + n, + a; + return e && (a = e(i)) !== void 0 + ? a + : t === "word" || t === "space" + ? r + : t === "string" + ? ((n = i.quote || ""), n + r + (i.unclosed ? "" : n)) + : t === "comment" + ? "/*" + r + (i.unclosed ? "" : "*/") + : t === "div" + ? (i.before || "") + r + (i.after || "") + : Array.isArray(i.nodes) + ? ((n = Fm(i.nodes, e)), + t !== "function" + ? n + : r + + "(" + + (i.before || "") + + n + + (i.after || "") + + (i.unclosed ? "" : ")")) + : r; + } + function Fm(i, e) { + var t, r; + if (Array.isArray(i)) { + for (t = "", r = i.length - 1; ~r; r -= 1) t = Bm(i[r], e) + t; + return t; + } + return Bm(i, e); + } + Nm.exports = Fm; + }); + var jm = v((MI, $m) => { + l(); + var Un = "-".charCodeAt(0), + Wn = "+".charCodeAt(0), + tl = ".".charCodeAt(0), + fA = "e".charCodeAt(0), + cA = "E".charCodeAt(0); + function pA(i) { + var e = i.charCodeAt(0), + t; + if (e === Wn || e === Un) { + if (((t = i.charCodeAt(1)), t >= 48 && t <= 57)) return !0; + var r = i.charCodeAt(2); + return t === tl && r >= 48 && r <= 57; + } + return e === tl + ? ((t = i.charCodeAt(1)), t >= 48 && t <= 57) + : e >= 48 && e <= 57; + } + $m.exports = function (i) { + var e = 0, + t = i.length, + r, + n, + a; + if (t === 0 || !pA(i)) return !1; + for ( + r = i.charCodeAt(e), (r === Wn || r === Un) && e++; + e < t && ((r = i.charCodeAt(e)), !(r < 48 || r > 57)); + + ) + e += 1; + if ( + ((r = i.charCodeAt(e)), + (n = i.charCodeAt(e + 1)), + r === tl && n >= 48 && n <= 57) + ) + for (e += 2; e < t && ((r = i.charCodeAt(e)), !(r < 48 || r > 57)); ) + e += 1; + if ( + ((r = i.charCodeAt(e)), + (n = i.charCodeAt(e + 1)), + (a = i.charCodeAt(e + 2)), + (r === fA || r === cA) && + ((n >= 48 && n <= 57) || + ((n === Wn || n === Un) && a >= 48 && a <= 57))) + ) + for ( + e += n === Wn || n === Un ? 3 : 2; + e < t && ((r = i.charCodeAt(e)), !(r < 48 || r > 57)); + + ) + e += 1; + return { number: i.slice(0, e), unit: i.slice(e) }; + }; + }); + var Gn = v((BI, Um) => { + l(); + var dA = qm(), + zm = Mm(), + Vm = Lm(); + function dt(i) { + return this instanceof dt ? ((this.nodes = dA(i)), this) : new dt(i); + } + dt.prototype.toString = function () { + return Array.isArray(this.nodes) ? Vm(this.nodes) : ""; + }; + dt.prototype.walk = function (i, e) { + return zm(this.nodes, i, e), this; + }; + dt.unit = jm(); + dt.walk = zm; + dt.stringify = Vm; + Um.exports = dt; + }); + var Qm = v((FI, Ym) => { + l(); + var { list: hA } = ge(), + Wm = Gn(), + mA = pt(), + Gm = ii(), + Hm = class { + constructor(e) { + (this.props = ["transition", "transition-property"]), + (this.prefixes = e); + } + add(e, t) { + let r, + n, + a = this.prefixes.add[e.prop], + s = this.ruleVendorPrefixes(e), + o = s || (a && a.prefixes) || [], + u = this.parse(e.value), + c = u.map((m) => this.findProp(m)), + f = []; + if (c.some((m) => m[0] === "-")) return; + for (let m of u) { + if (((n = this.findProp(m)), n[0] === "-")) continue; + let w = this.prefixes.add[n]; + if (!(!w || !w.prefixes)) + for (r of w.prefixes) { + if (s && !s.some((y) => r.includes(y))) continue; + let x = this.prefixes.prefixed(n, r); + x !== "-ms-transform" && + !c.includes(x) && + (this.disabled(n, r) || f.push(this.clone(n, x, m))); + } + } + u = u.concat(f); + let d = this.stringify(u), + p = this.stringify(this.cleanFromUnprefixed(u, "-webkit-")); + if ( + (o.includes("-webkit-") && + this.cloneBefore(e, `-webkit-${e.prop}`, p), + this.cloneBefore(e, e.prop, p), + o.includes("-o-")) + ) { + let m = this.stringify(this.cleanFromUnprefixed(u, "-o-")); + this.cloneBefore(e, `-o-${e.prop}`, m); + } + for (r of o) + if (r !== "-webkit-" && r !== "-o-") { + let m = this.stringify(this.cleanOtherPrefixes(u, r)); + this.cloneBefore(e, r + e.prop, m); + } + d !== e.value && + !this.already(e, e.prop, d) && + (this.checkForWarning(t, e), e.cloneBefore(), (e.value = d)); + } + findProp(e) { + let t = e[0].value; + if (/^\d/.test(t)) { + for (let [r, n] of e.entries()) + if (r !== 0 && n.type === "word") return n.value; + } + return t; + } + already(e, t, r) { + return e.parent.some((n) => n.prop === t && n.value === r); + } + cloneBefore(e, t, r) { + this.already(e, t, r) || e.cloneBefore({ prop: t, value: r }); + } + checkForWarning(e, t) { + if (t.prop !== "transition-property") return; + let r = !1, + n = !1; + t.parent.each((a) => { + if (a.type !== "decl" || a.prop.indexOf("transition-") !== 0) + return; + let s = hA.comma(a.value); + if (a.prop === "transition-property") { + s.forEach((o) => { + let u = this.prefixes.add[o]; + u && u.prefixes && u.prefixes.length > 0 && (r = !0); + }); + return; + } + return (n = n || s.length > 1), !1; + }), + r && + n && + t.warn( + e, + "Replace transition-property to transition, because Autoprefixer could not support any cases of transition-property and other transition-*", + ); + } + remove(e) { + let t = this.parse(e.value); + t = t.filter((s) => { + let o = this.prefixes.remove[this.findProp(s)]; + return !o || !o.remove; + }); + let r = this.stringify(t); + if (e.value === r) return; + if (t.length === 0) { + e.remove(); + return; + } + let n = e.parent.some((s) => s.prop === e.prop && s.value === r), + a = e.parent.some( + (s) => s !== e && s.prop === e.prop && s.value.length > r.length, + ); + if (n || a) { + e.remove(); + return; + } + e.value = r; + } + parse(e) { + let t = Wm(e), + r = [], + n = []; + for (let a of t.nodes) + n.push(a), + a.type === "div" && a.value === "," && (r.push(n), (n = [])); + return r.push(n), r.filter((a) => a.length > 0); + } + stringify(e) { + if (e.length === 0) return ""; + let t = []; + for (let r of e) + r[r.length - 1].type !== "div" && r.push(this.div(e)), + (t = t.concat(r)); + return ( + t[0].type === "div" && (t = t.slice(1)), + t[t.length - 1].type === "div" && + (t = t.slice(0, -2 + 1 || void 0)), + Wm.stringify({ nodes: t }) + ); + } + clone(e, t, r) { + let n = [], + a = !1; + for (let s of r) + !a && s.type === "word" && s.value === e + ? (n.push({ type: "word", value: t }), (a = !0)) + : n.push(s); + return n; + } + div(e) { + for (let t of e) + for (let r of t) if (r.type === "div" && r.value === ",") return r; + return { type: "div", value: ",", after: " " }; + } + cleanOtherPrefixes(e, t) { + return e.filter((r) => { + let n = Gm.prefix(this.findProp(r)); + return n === "" || n === t; + }); + } + cleanFromUnprefixed(e, t) { + let r = e + .map((a) => this.findProp(a)) + .filter((a) => a.slice(0, t.length) === t) + .map((a) => this.prefixes.unprefixed(a)), + n = []; + for (let a of e) { + let s = this.findProp(a), + o = Gm.prefix(s); + !r.includes(s) && (o === t || o === "") && n.push(a); + } + return n; + } + disabled(e, t) { + let r = ["order", "justify-content", "align-self", "align-content"]; + if (e.includes("flex") || r.includes(e)) { + if (this.prefixes.options.flexbox === !1) return !0; + if (this.prefixes.options.flexbox === "no-2009") + return t.includes("2009"); + } + } + ruleVendorPrefixes(e) { + let { parent: t } = e; + if (t.type !== "rule") return !1; + if (!t.selector.includes(":-")) return !1; + let r = mA.prefixes().filter((n) => t.selector.includes(":" + n)); + return r.length > 0 ? r : !1; + } + }; + Ym.exports = Hm; + }); + var Gt = v((NI, Xm) => { + l(); + var gA = fe(), + Jm = class { + constructor(e, t, r, n) { + (this.unprefixed = e), + (this.prefixed = t), + (this.string = r || t), + (this.regexp = n || gA.regexp(t)); + } + check(e) { + return e.includes(this.string) ? !!e.match(this.regexp) : !1; + } + }; + Xm.exports = Jm; + }); + var ke = v((LI, Zm) => { + l(); + var yA = Ut(), + wA = Gt(), + bA = ii(), + vA = fe(), + Km = class extends yA { + static save(e, t) { + let r = t.prop, + n = []; + for (let a in t._autoprefixerValues) { + let s = t._autoprefixerValues[a]; + if (s === t.value) continue; + let o, + u = bA.prefix(r); + if (u === "-pie-") continue; + if (u === a) { + (o = t.value = s), n.push(o); + continue; + } + let c = e.prefixed(r, a), + f = t.parent; + if (!f.every((w) => w.prop !== c)) { + n.push(o); + continue; + } + let d = s.replace(/\s+/, " "); + if ( + f.some( + (w) => w.prop === t.prop && w.value.replace(/\s+/, " ") === d, + ) + ) { + n.push(o); + continue; + } + let m = this.clone(t, { value: s }); + (o = t.parent.insertBefore(t, m)), n.push(o); + } + return n; + } + check(e) { + let t = e.value; + return t.includes(this.name) ? !!t.match(this.regexp()) : !1; + } + regexp() { + return this.regexpCache || (this.regexpCache = vA.regexp(this.name)); + } + replace(e, t) { + return e.replace(this.regexp(), `$1${t}$2`); + } + value(e) { + return e.raws.value && e.raws.value.value === e.value + ? e.raws.value.raw + : e.value; + } + add(e, t) { + e._autoprefixerValues || (e._autoprefixerValues = {}); + let r = e._autoprefixerValues[t] || this.value(e), + n; + do if (((n = r), (r = this.replace(r, t)), r === !1)) return; + while (r !== n); + e._autoprefixerValues[t] = r; + } + old(e) { + return new wA(this.name, e + this.name); + } + }; + Zm.exports = Km; + }); + var ht = v(($I, eg) => { + l(); + eg.exports = {}; + }); + var il = v((jI, ig) => { + l(); + var tg = Gn(), + xA = ke(), + kA = ht().insertAreas, + SA = /(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i, + CA = /(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i, + AA = /(!\s*)?autoprefixer:\s*ignore\s+next/i, + _A = /(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i, + OA = [ + "width", + "height", + "min-width", + "max-width", + "min-height", + "max-height", + "inline-size", + "min-inline-size", + "max-inline-size", + "block-size", + "min-block-size", + "max-block-size", + ]; + function rl(i) { + return i.parent.some( + (e) => e.prop === "grid-template" || e.prop === "grid-template-areas", + ); + } + function EA(i) { + let e = i.parent.some((r) => r.prop === "grid-template-rows"), + t = i.parent.some((r) => r.prop === "grid-template-columns"); + return e && t; + } + var rg = class { + constructor(e) { + this.prefixes = e; + } + add(e, t) { + let r = this.prefixes.add["@resolution"], + n = this.prefixes.add["@keyframes"], + a = this.prefixes.add["@viewport"], + s = this.prefixes.add["@supports"]; + e.walkAtRules((f) => { + if (f.name === "keyframes") { + if (!this.disabled(f, t)) return n && n.process(f); + } else if (f.name === "viewport") { + if (!this.disabled(f, t)) return a && a.process(f); + } else if (f.name === "supports") { + if (this.prefixes.options.supports !== !1 && !this.disabled(f, t)) + return s.process(f); + } else if ( + f.name === "media" && + f.params.includes("-resolution") && + !this.disabled(f, t) + ) + return r && r.process(f); + }), + e.walkRules((f) => { + if (!this.disabled(f, t)) + return this.prefixes.add.selectors.map((d) => d.process(f, t)); + }); + function o(f) { + return f.parent.nodes.some((d) => { + if (d.type !== "decl") return !1; + let p = d.prop === "display" && /(inline-)?grid/.test(d.value), + m = d.prop.startsWith("grid-template"), + w = /^grid-([A-z]+-)?gap/.test(d.prop); + return p || m || w; + }); + } + function u(f) { + return f.parent.some( + (d) => d.prop === "display" && /(inline-)?flex/.test(d.value), + ); + } + let c = + this.gridStatus(e, t) && + this.prefixes.add["grid-area"] && + this.prefixes.add["grid-area"].prefixes; + return ( + e.walkDecls((f) => { + if (this.disabledDecl(f, t)) return; + let d = f.parent, + p = f.prop, + m = f.value; + if (p === "grid-row-span") { + t.warn( + "grid-row-span is not part of final Grid Layout. Use grid-row.", + { node: f }, + ); + return; + } else if (p === "grid-column-span") { + t.warn( + "grid-column-span is not part of final Grid Layout. Use grid-column.", + { node: f }, + ); + return; + } else if (p === "display" && m === "box") { + t.warn( + "You should write display: flex by final spec instead of display: box", + { node: f }, + ); + return; + } else if (p === "text-emphasis-position") + (m === "under" || m === "over") && + t.warn( + "You should use 2 values for text-emphasis-position For example, `under left` instead of just `under`.", + { node: f }, + ); + else if (/^(align|justify|place)-(items|content)$/.test(p) && u(f)) + (m === "start" || m === "end") && + t.warn( + `${m} value has mixed support, consider using flex-${m} instead`, + { node: f }, + ); + else if (p === "text-decoration-skip" && m === "ink") + t.warn( + "Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed", + { node: f }, + ); + else { + if (c && this.gridStatus(f, t)) + if ( + (f.value === "subgrid" && + t.warn("IE does not support subgrid", { node: f }), + /^(align|justify|place)-items$/.test(p) && o(f)) + ) { + let x = p.replace("-items", "-self"); + t.warn( + `IE does not support ${p} on grid containers. Try using ${x} on child elements instead: ${f.parent.selector} > * { ${x}: ${f.value} }`, + { node: f }, + ); + } else if (/^(align|justify|place)-content$/.test(p) && o(f)) + t.warn(`IE does not support ${f.prop} on grid containers`, { + node: f, + }); + else if (p === "display" && f.value === "contents") { + t.warn( + "Please do not use display: contents; if you have grid setting enabled", + { node: f }, + ); + return; + } else if (f.prop === "grid-gap") { + let x = this.gridStatus(f, t); + x === "autoplace" && !EA(f) && !rl(f) + ? t.warn( + "grid-gap only works if grid-template(-areas) is being used or both rows and columns have been declared and cells have not been manually placed inside the explicit grid", + { node: f }, + ) + : (x === !0 || x === "no-autoplace") && + !rl(f) && + t.warn( + "grid-gap only works if grid-template(-areas) is being used", + { node: f }, + ); + } else if (p === "grid-auto-columns") { + t.warn("grid-auto-columns is not supported by IE", { + node: f, + }); + return; + } else if (p === "grid-auto-rows") { + t.warn("grid-auto-rows is not supported by IE", { node: f }); + return; + } else if (p === "grid-auto-flow") { + let x = d.some((b) => b.prop === "grid-template-rows"), + y = d.some((b) => b.prop === "grid-template-columns"); + rl(f) + ? t.warn("grid-auto-flow is not supported by IE", { + node: f, + }) + : m.includes("dense") + ? t.warn("grid-auto-flow: dense is not supported by IE", { + node: f, + }) + : !x && + !y && + t.warn( + "grid-auto-flow works only if grid-template-rows and grid-template-columns are present in the same rule", + { node: f }, + ); + return; + } else if (m.includes("auto-fit")) { + t.warn("auto-fit value is not supported by IE", { + node: f, + word: "auto-fit", + }); + return; + } else if (m.includes("auto-fill")) { + t.warn("auto-fill value is not supported by IE", { + node: f, + word: "auto-fill", + }); + return; + } else + p.startsWith("grid-template") && + m.includes("[") && + t.warn( + "Autoprefixer currently does not support line names. Try using grid-template-areas instead.", + { node: f, word: "[" }, + ); + if (m.includes("radial-gradient")) + if (CA.test(f.value)) + t.warn( + "Gradient has outdated direction syntax. New syntax is like `closest-side at 0 0` instead of `0 0, closest-side`.", + { node: f }, + ); + else { + let x = tg(m); + for (let y of x.nodes) + if (y.type === "function" && y.value === "radial-gradient") + for (let b of y.nodes) + b.type === "word" && + (b.value === "cover" + ? t.warn( + "Gradient has outdated direction syntax. Replace `cover` to `farthest-corner`.", + { node: f }, + ) + : b.value === "contain" && + t.warn( + "Gradient has outdated direction syntax. Replace `contain` to `closest-side`.", + { node: f }, + )); + } + m.includes("linear-gradient") && + SA.test(m) && + t.warn( + "Gradient has outdated direction syntax. New syntax is like `to left` instead of `right`.", + { node: f }, + ); + } + OA.includes(f.prop) && + (f.value.includes("-fill-available") || + (f.value.includes("fill-available") + ? t.warn( + "Replace fill-available to stretch, because spec had been changed", + { node: f }, + ) + : f.value.includes("fill") && + tg(m).nodes.some( + (y) => y.type === "word" && y.value === "fill", + ) && + t.warn( + "Replace fill to stretch, because spec had been changed", + { node: f }, + ))); + let w; + if (f.prop === "transition" || f.prop === "transition-property") + return this.prefixes.transition.add(f, t); + if (f.prop === "align-self") { + if ( + (this.displayType(f) !== "grid" && + this.prefixes.options.flexbox !== !1 && + ((w = this.prefixes.add["align-self"]), + w && w.prefixes && w.process(f)), + this.gridStatus(f, t) !== !1 && + ((w = this.prefixes.add["grid-row-align"]), w && w.prefixes)) + ) + return w.process(f, t); + } else if (f.prop === "justify-self") { + if ( + this.gridStatus(f, t) !== !1 && + ((w = this.prefixes.add["grid-column-align"]), w && w.prefixes) + ) + return w.process(f, t); + } else if (f.prop === "place-self") { + if ( + ((w = this.prefixes.add["place-self"]), + w && w.prefixes && this.gridStatus(f, t) !== !1) + ) + return w.process(f, t); + } else if (((w = this.prefixes.add[f.prop]), w && w.prefixes)) + return w.process(f, t); + }), + this.gridStatus(e, t) && kA(e, this.disabled), + e.walkDecls((f) => { + if (this.disabledValue(f, t)) return; + let d = this.prefixes.unprefixed(f.prop), + p = this.prefixes.values("add", d); + if (Array.isArray(p)) for (let m of p) m.process && m.process(f, t); + xA.save(this.prefixes, f); + }) + ); + } + remove(e, t) { + let r = this.prefixes.remove["@resolution"]; + e.walkAtRules((n, a) => { + this.prefixes.remove[`@${n.name}`] + ? this.disabled(n, t) || n.parent.removeChild(a) + : n.name === "media" && + n.params.includes("-resolution") && + r && + r.clean(n); + }); + for (let n of this.prefixes.remove.selectors) + e.walkRules((a, s) => { + n.check(a) && (this.disabled(a, t) || a.parent.removeChild(s)); + }); + return e.walkDecls((n, a) => { + if (this.disabled(n, t)) return; + let s = n.parent, + o = this.prefixes.unprefixed(n.prop); + if ( + ((n.prop === "transition" || n.prop === "transition-property") && + this.prefixes.transition.remove(n), + this.prefixes.remove[n.prop] && this.prefixes.remove[n.prop].remove) + ) { + let u = this.prefixes + .group(n) + .down((c) => this.prefixes.normalize(c.prop) === o); + if ( + (o === "flex-flow" && (u = !0), n.prop === "-webkit-box-orient") + ) { + let c = { "flex-direction": !0, "flex-flow": !0 }; + if (!n.parent.some((f) => c[f.prop])) return; + } + if (u && !this.withHackValue(n)) { + n.raw("before").includes(` +`) && this.reduceSpaces(n), + s.removeChild(a); + return; + } + } + for (let u of this.prefixes.values("remove", o)) { + if (!u.check || !u.check(n.value)) continue; + if ( + ((o = u.unprefixed), + this.prefixes.group(n).down((f) => f.value.includes(o))) + ) { + s.removeChild(a); + return; + } + } + }); + } + withHackValue(e) { + return e.prop === "-webkit-background-clip" && e.value === "text"; + } + disabledValue(e, t) { + return (this.gridStatus(e, t) === !1 && + e.type === "decl" && + e.prop === "display" && + e.value.includes("grid")) || + (this.prefixes.options.flexbox === !1 && + e.type === "decl" && + e.prop === "display" && + e.value.includes("flex")) || + (e.type === "decl" && e.prop === "content") + ? !0 + : this.disabled(e, t); + } + disabledDecl(e, t) { + if ( + this.gridStatus(e, t) === !1 && + e.type === "decl" && + (e.prop.includes("grid") || e.prop === "justify-items") + ) + return !0; + if (this.prefixes.options.flexbox === !1 && e.type === "decl") { + let r = ["order", "justify-content", "align-items", "align-content"]; + if (e.prop.includes("flex") || r.includes(e.prop)) return !0; + } + return this.disabled(e, t); + } + disabled(e, t) { + if (!e) return !1; + if (e._autoprefixerDisabled !== void 0) return e._autoprefixerDisabled; + if (e.parent) { + let n = e.prev(); + if (n && n.type === "comment" && AA.test(n.text)) + return ( + (e._autoprefixerDisabled = !0), + (e._autoprefixerSelfDisabled = !0), + !0 + ); + } + let r = null; + if (e.nodes) { + let n; + e.each((a) => { + a.type === "comment" && + /(!\s*)?autoprefixer:\s*(off|on)/i.test(a.text) && + (typeof n != "undefined" + ? t.warn( + "Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.", + { node: a }, + ) + : (n = /on/i.test(a.text))); + }), + n !== void 0 && (r = !n); + } + if (!e.nodes || r === null) + if (e.parent) { + let n = this.disabled(e.parent, t); + e.parent._autoprefixerSelfDisabled === !0 ? (r = !1) : (r = n); + } else r = !1; + return (e._autoprefixerDisabled = r), r; + } + reduceSpaces(e) { + let t = !1; + if ((this.prefixes.group(e).up(() => ((t = !0), !0)), t)) return; + let r = e.raw("before").split(` +`), + n = r[r.length - 1].length, + a = !1; + this.prefixes.group(e).down((s) => { + r = s.raw("before").split(` +`); + let o = r.length - 1; + r[o].length > n && + (a === !1 && (a = r[o].length - n), + (r[o] = r[o].slice(0, -a)), + (s.raws.before = r.join(` +`))); + }); + } + displayType(e) { + for (let t of e.parent.nodes) + if (t.prop === "display") { + if (t.value.includes("flex")) return "flex"; + if (t.value.includes("grid")) return "grid"; + } + return !1; + } + gridStatus(e, t) { + if (!e) return !1; + if (e._autoprefixerGridStatus !== void 0) + return e._autoprefixerGridStatus; + let r = null; + if (e.nodes) { + let n; + e.each((a) => { + if (a.type === "comment" && _A.test(a.text)) { + let s = /:\s*autoplace/i.test(a.text), + o = /no-autoplace/i.test(a.text); + typeof n != "undefined" + ? t.warn( + "Second Autoprefixer grid control comment was ignored. Autoprefixer applies control comments to the whole block, not to the next rules.", + { node: a }, + ) + : s + ? (n = "autoplace") + : o + ? (n = !0) + : (n = /on/i.test(a.text)); + } + }), + n !== void 0 && (r = n); + } + if (e.type === "atrule" && e.name === "supports") { + let n = e.params; + n.includes("grid") && n.includes("auto") && (r = !1); + } + if (!e.nodes || r === null) + if (e.parent) { + let n = this.gridStatus(e.parent, t); + e.parent._autoprefixerSelfDisabled === !0 ? (r = !1) : (r = n); + } else + typeof this.prefixes.options.grid != "undefined" + ? (r = this.prefixes.options.grid) + : typeof h.env.AUTOPREFIXER_GRID != "undefined" + ? h.env.AUTOPREFIXER_GRID === "autoplace" + ? (r = "autoplace") + : (r = !0) + : (r = !1); + return (e._autoprefixerGridStatus = r), r; + } + }; + ig.exports = rg; + }); + var sg = v((zI, ng) => { + l(); + ng.exports = { + A: { + A: { 2: "K E F G A B JC" }, + B: { + 1: "C L M H N D O P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I", + }, + C: { + 1: "2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B", + 2: "0 1 KC zB J K E F G A B C L M H N D O k l LC MC", + }, + D: { + 1: "8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B", + 2: "0 1 2 3 4 5 6 7 J K E F G A B C L M H N D O k l", + }, + E: { + 1: "G A B C L M H D RC 6B vB wB 7B SC TC 8B 9B xB AC yB BC CC DC EC FC GC UC", + 2: "0 J K E F NC 5B OC PC QC", + }, + F: { + 1: "1 2 3 4 5 6 7 8 9 H N D O k l AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j wB", + 2: "G B C VC WC XC YC vB HC ZC", + }, + G: { + 1: "D fC gC hC iC jC kC lC mC nC oC pC qC rC sC tC 8B 9B xB AC yB BC CC DC EC FC GC", + 2: "F 5B aC IC bC cC dC eC", + }, + H: { 1: "uC" }, + I: { 1: "I zC 0C", 2: "zB J vC wC xC yC IC" }, + J: { 2: "E A" }, + K: { 1: "m", 2: "A B C vB HC wB" }, + L: { 1: "I" }, + M: { 1: "uB" }, + N: { 2: "A B" }, + O: { 1: "xB" }, + P: { 1: "J k l 1C 2C 3C 4C 5C 6B 6C 7C 8C 9C AD yB BD CD DD" }, + Q: { 1: "7B" }, + R: { 1: "ED" }, + S: { 1: "FD GD" }, + }, + B: 4, + C: "CSS Feature Queries", + }; + }); + var ug = v((VI, lg) => { + l(); + function ag(i) { + return i[i.length - 1]; + } + var og = { + parse(i) { + let e = [""], + t = [e]; + for (let r of i) { + if (r === "(") { + (e = [""]), ag(t).push(e), t.push(e); + continue; + } + if (r === ")") { + t.pop(), (e = ag(t)), e.push(""); + continue; + } + e[e.length - 1] += r; + } + return t[0]; + }, + stringify(i) { + let e = ""; + for (let t of i) { + if (typeof t == "object") { + e += `(${og.stringify(t)})`; + continue; + } + e += t; + } + return e; + }, + }; + lg.exports = og; + }); + var hg = v((UI, dg) => { + l(); + var TA = sg(), + { feature: PA } = ($n(), Ln), + { parse: DA } = ge(), + IA = pt(), + nl = ug(), + qA = ke(), + RA = fe(), + fg = PA(TA), + cg = []; + for (let i in fg.stats) { + let e = fg.stats[i]; + for (let t in e) { + let r = e[t]; + /y/.test(r) && cg.push(i + " " + t); + } + } + var pg = class { + constructor(e, t) { + (this.Prefixes = e), (this.all = t); + } + prefixer() { + if (this.prefixerCache) return this.prefixerCache; + let e = this.all.browsers.selected.filter((r) => cg.includes(r)), + t = new IA(this.all.browsers.data, e, this.all.options); + return ( + (this.prefixerCache = new this.Prefixes( + this.all.data, + t, + this.all.options, + )), + this.prefixerCache + ); + } + parse(e) { + let t = e.split(":"), + r = t[0], + n = t[1]; + return n || (n = ""), [r.trim(), n.trim()]; + } + virtual(e) { + let [t, r] = this.parse(e), + n = DA("a{}").first; + return n.append({ prop: t, value: r, raws: { before: "" } }), n; + } + prefixed(e) { + let t = this.virtual(e); + if (this.disabled(t.first)) return t.nodes; + let r = { warn: () => null }, + n = this.prefixer().add[t.first.prop]; + n && n.process && n.process(t.first, r); + for (let a of t.nodes) { + for (let s of this.prefixer().values("add", t.first.prop)) + s.process(a); + qA.save(this.all, a); + } + return t.nodes; + } + isNot(e) { + return typeof e == "string" && /not\s*/i.test(e); + } + isOr(e) { + return typeof e == "string" && /\s*or\s*/i.test(e); + } + isProp(e) { + return ( + typeof e == "object" && e.length === 1 && typeof e[0] == "string" + ); + } + isHack(e, t) { + return !new RegExp(`(\\(|\\s)${RA.escapeRegexp(t)}:`).test(e); + } + toRemove(e, t) { + let [r, n] = this.parse(e), + a = this.all.unprefixed(r), + s = this.all.cleaner(); + if (s.remove[r] && s.remove[r].remove && !this.isHack(t, a)) return !0; + for (let o of s.values("remove", a)) if (o.check(n)) return !0; + return !1; + } + remove(e, t) { + let r = 0; + for (; r < e.length; ) { + if ( + !this.isNot(e[r - 1]) && + this.isProp(e[r]) && + this.isOr(e[r + 1]) + ) { + if (this.toRemove(e[r][0], t)) { + e.splice(r, 2); + continue; + } + r += 2; + continue; + } + typeof e[r] == "object" && (e[r] = this.remove(e[r], t)), (r += 1); + } + return e; + } + cleanBrackets(e) { + return e.map((t) => + typeof t != "object" + ? t + : t.length === 1 && typeof t[0] == "object" + ? this.cleanBrackets(t[0]) + : this.cleanBrackets(t), + ); + } + convert(e) { + let t = [""]; + for (let r of e) t.push([`${r.prop}: ${r.value}`]), t.push(" or "); + return (t[t.length - 1] = ""), t; + } + normalize(e) { + if (typeof e != "object") return e; + if (((e = e.filter((t) => t !== "")), typeof e[0] == "string")) { + let t = e[0].trim(); + if (t.includes(":") || t === "selector" || t === "not selector") + return [nl.stringify(e)]; + } + return e.map((t) => this.normalize(t)); + } + add(e, t) { + return e.map((r) => { + if (this.isProp(r)) { + let n = this.prefixed(r[0]); + return n.length > 1 ? this.convert(n) : r; + } + return typeof r == "object" ? this.add(r, t) : r; + }); + } + process(e) { + let t = nl.parse(e.params); + (t = this.normalize(t)), + (t = this.remove(t, e.params)), + (t = this.add(t, e.params)), + (t = this.cleanBrackets(t)), + (e.params = nl.stringify(t)); + } + disabled(e) { + if ( + !this.all.options.grid && + ((e.prop === "display" && e.value.includes("grid")) || + e.prop.includes("grid") || + e.prop === "justify-items") + ) + return !0; + if (this.all.options.flexbox === !1) { + if (e.prop === "display" && e.value.includes("flex")) return !0; + let t = ["order", "justify-content", "align-items", "align-content"]; + if (e.prop.includes("flex") || t.includes(e.prop)) return !0; + } + return !1; + } + }; + dg.exports = pg; + }); + var yg = v((WI, gg) => { + l(); + var mg = class { + constructor(e, t) { + (this.prefix = t), + (this.prefixed = e.prefixed(this.prefix)), + (this.regexp = e.regexp(this.prefix)), + (this.prefixeds = e + .possible() + .map((r) => [e.prefixed(r), e.regexp(r)])), + (this.unprefixed = e.name), + (this.nameRegexp = e.regexp()); + } + isHack(e) { + let t = e.parent.index(e) + 1, + r = e.parent.nodes; + for (; t < r.length; ) { + let n = r[t].selector; + if (!n) return !0; + if (n.includes(this.unprefixed) && n.match(this.nameRegexp)) + return !1; + let a = !1; + for (let [s, o] of this.prefixeds) + if (n.includes(s) && n.match(o)) { + a = !0; + break; + } + if (!a) return !0; + t += 1; + } + return !0; + } + check(e) { + return !( + !e.selector.includes(this.prefixed) || + !e.selector.match(this.regexp) || + this.isHack(e) + ); + } + }; + gg.exports = mg; + }); + var Ht = v((GI, bg) => { + l(); + var { list: MA } = ge(), + BA = yg(), + FA = Ut(), + NA = pt(), + LA = fe(), + wg = class extends FA { + constructor(e, t, r) { + super(e, t, r); + this.regexpCache = new Map(); + } + check(e) { + return e.selector.includes(this.name) + ? !!e.selector.match(this.regexp()) + : !1; + } + prefixed(e) { + return this.name.replace(/^(\W*)/, `$1${e}`); + } + regexp(e) { + if (!this.regexpCache.has(e)) { + let t = e ? this.prefixed(e) : this.name; + this.regexpCache.set( + e, + new RegExp(`(^|[^:"'=])${LA.escapeRegexp(t)}`, "gi"), + ); + } + return this.regexpCache.get(e); + } + possible() { + return NA.prefixes(); + } + prefixeds(e) { + if (e._autoprefixerPrefixeds) { + if (e._autoprefixerPrefixeds[this.name]) + return e._autoprefixerPrefixeds; + } else e._autoprefixerPrefixeds = {}; + let t = {}; + if (e.selector.includes(",")) { + let n = MA.comma(e.selector).filter((a) => a.includes(this.name)); + for (let a of this.possible()) + t[a] = n.map((s) => this.replace(s, a)).join(", "); + } else + for (let r of this.possible()) t[r] = this.replace(e.selector, r); + return ( + (e._autoprefixerPrefixeds[this.name] = t), e._autoprefixerPrefixeds + ); + } + already(e, t, r) { + let n = e.parent.index(e) - 1; + for (; n >= 0; ) { + let a = e.parent.nodes[n]; + if (a.type !== "rule") return !1; + let s = !1; + for (let o in t[this.name]) { + let u = t[this.name][o]; + if (a.selector === u) { + if (r === o) return !0; + s = !0; + break; + } + } + if (!s) return !1; + n -= 1; + } + return !1; + } + replace(e, t) { + return e.replace(this.regexp(), `$1${this.prefixed(t)}`); + } + add(e, t) { + let r = this.prefixeds(e); + if (this.already(e, r, t)) return; + let n = this.clone(e, { selector: r[this.name][t] }); + e.parent.insertBefore(e, n); + } + old(e) { + return new BA(this, e); + } + }; + bg.exports = wg; + }); + var kg = v((HI, xg) => { + l(); + var $A = Ut(), + vg = class extends $A { + add(e, t) { + let r = t + e.name; + if (e.parent.some((s) => s.name === r && s.params === e.params)) + return; + let a = this.clone(e, { name: r }); + return e.parent.insertBefore(e, a); + } + process(e) { + let t = this.parentPrefix(e); + for (let r of this.prefixes) (!t || t === r) && this.add(e, r); + } + }; + xg.exports = vg; + }); + var Cg = v((YI, Sg) => { + l(); + var jA = Ht(), + sl = class extends jA { + prefixed(e) { + return e === "-webkit-" + ? ":-webkit-full-screen" + : e === "-moz-" + ? ":-moz-full-screen" + : `:${e}fullscreen`; + } + }; + sl.names = [":fullscreen"]; + Sg.exports = sl; + }); + var _g = v((QI, Ag) => { + l(); + var zA = Ht(), + al = class extends zA { + possible() { + return super.possible().concat(["-moz- old", "-ms- old"]); + } + prefixed(e) { + return e === "-webkit-" + ? "::-webkit-input-placeholder" + : e === "-ms-" + ? "::-ms-input-placeholder" + : e === "-ms- old" + ? ":-ms-input-placeholder" + : e === "-moz- old" + ? ":-moz-placeholder" + : `::${e}placeholder`; + } + }; + al.names = ["::placeholder"]; + Ag.exports = al; + }); + var Eg = v((JI, Og) => { + l(); + var VA = Ht(), + ol = class extends VA { + prefixed(e) { + return e === "-ms-" + ? ":-ms-input-placeholder" + : `:${e}placeholder-shown`; + } + }; + ol.names = [":placeholder-shown"]; + Og.exports = ol; + }); + var Pg = v((XI, Tg) => { + l(); + var UA = Ht(), + WA = fe(), + ll = class extends UA { + constructor(e, t, r) { + super(e, t, r); + this.prefixes && + (this.prefixes = WA.uniq(this.prefixes.map((n) => "-webkit-"))); + } + prefixed(e) { + return e === "-webkit-" + ? "::-webkit-file-upload-button" + : `::${e}file-selector-button`; + } + }; + ll.names = ["::file-selector-button"]; + Tg.exports = ll; + }); + var he = v((KI, Dg) => { + l(); + Dg.exports = function (i) { + let e; + return ( + i === "-webkit- 2009" || i === "-moz-" + ? (e = 2009) + : i === "-ms-" + ? (e = 2012) + : i === "-webkit-" && (e = "final"), + i === "-webkit- 2009" && (i = "-webkit-"), + [e, i] + ); + }; + }); + var Mg = v((ZI, Rg) => { + l(); + var Ig = ge().list, + qg = he(), + GA = R(), + Yt = class extends GA { + prefixed(e, t) { + let r; + return ( + ([r, t] = qg(t)), r === 2009 ? t + "box-flex" : super.prefixed(e, t) + ); + } + normalize() { + return "flex"; + } + set(e, t) { + let r = qg(t)[0]; + if (r === 2009) + return ( + (e.value = Ig.space(e.value)[0]), + (e.value = Yt.oldValues[e.value] || e.value), + super.set(e, t) + ); + if (r === 2012) { + let n = Ig.space(e.value); + n.length === 3 && + n[2] === "0" && + (e.value = n.slice(0, 2).concat("0px").join(" ")); + } + return super.set(e, t); + } + }; + Yt.names = ["flex", "box-flex"]; + Yt.oldValues = { auto: "1", none: "0" }; + Rg.exports = Yt; + }); + var Ng = v((e4, Fg) => { + l(); + var Bg = he(), + HA = R(), + ul = class extends HA { + prefixed(e, t) { + let r; + return ( + ([r, t] = Bg(t)), + r === 2009 + ? t + "box-ordinal-group" + : r === 2012 + ? t + "flex-order" + : super.prefixed(e, t) + ); + } + normalize() { + return "order"; + } + set(e, t) { + return Bg(t)[0] === 2009 && /\d/.test(e.value) + ? ((e.value = (parseInt(e.value) + 1).toString()), super.set(e, t)) + : super.set(e, t); + } + }; + ul.names = ["order", "flex-order", "box-ordinal-group"]; + Fg.exports = ul; + }); + var $g = v((t4, Lg) => { + l(); + var YA = R(), + fl = class extends YA { + check(e) { + let t = e.value; + return ( + !t.toLowerCase().includes("alpha(") && + !t.includes("DXImageTransform.Microsoft") && + !t.includes("data:image/svg+xml") + ); + } + }; + fl.names = ["filter"]; + Lg.exports = fl; + }); + var zg = v((r4, jg) => { + l(); + var QA = R(), + cl = class extends QA { + insert(e, t, r, n) { + if (t !== "-ms-") return super.insert(e, t, r); + let a = this.clone(e), + s = e.prop.replace(/end$/, "start"), + o = t + e.prop.replace(/end$/, "span"); + if (!e.parent.some((u) => u.prop === o)) { + if (((a.prop = o), e.value.includes("span"))) + a.value = e.value.replace(/span\s/i, ""); + else { + let u; + if ( + (e.parent.walkDecls(s, (c) => { + u = c; + }), + u) + ) { + let c = Number(e.value) - Number(u.value) + ""; + a.value = c; + } else e.warn(n, `Can not prefix ${e.prop} (${s} is not found)`); + } + e.cloneBefore(a); + } + } + }; + cl.names = ["grid-row-end", "grid-column-end"]; + jg.exports = cl; + }); + var Ug = v((i4, Vg) => { + l(); + var JA = R(), + pl = class extends JA { + check(e) { + return !e.value.split(/\s+/).some((t) => { + let r = t.toLowerCase(); + return r === "reverse" || r === "alternate-reverse"; + }); + } + }; + pl.names = ["animation", "animation-direction"]; + Vg.exports = pl; + }); + var Gg = v((n4, Wg) => { + l(); + var XA = he(), + KA = R(), + dl = class extends KA { + insert(e, t, r) { + let n; + if ((([n, t] = XA(t)), n !== 2009)) return super.insert(e, t, r); + let a = e.value + .split(/\s+/) + .filter((d) => d !== "wrap" && d !== "nowrap" && "wrap-reverse"); + if ( + a.length === 0 || + e.parent.some( + (d) => + d.prop === t + "box-orient" || d.prop === t + "box-direction", + ) + ) + return; + let o = a[0], + u = o.includes("row") ? "horizontal" : "vertical", + c = o.includes("reverse") ? "reverse" : "normal", + f = this.clone(e); + return ( + (f.prop = t + "box-orient"), + (f.value = u), + this.needCascade(e) && (f.raws.before = this.calcBefore(r, e, t)), + e.parent.insertBefore(e, f), + (f = this.clone(e)), + (f.prop = t + "box-direction"), + (f.value = c), + this.needCascade(e) && (f.raws.before = this.calcBefore(r, e, t)), + e.parent.insertBefore(e, f) + ); + } + }; + dl.names = ["flex-flow", "box-direction", "box-orient"]; + Wg.exports = dl; + }); + var Yg = v((s4, Hg) => { + l(); + var ZA = he(), + e_ = R(), + hl = class extends e_ { + normalize() { + return "flex"; + } + prefixed(e, t) { + let r; + return ( + ([r, t] = ZA(t)), + r === 2009 + ? t + "box-flex" + : r === 2012 + ? t + "flex-positive" + : super.prefixed(e, t) + ); + } + }; + hl.names = ["flex-grow", "flex-positive"]; + Hg.exports = hl; + }); + var Jg = v((a4, Qg) => { + l(); + var t_ = he(), + r_ = R(), + ml = class extends r_ { + set(e, t) { + if (t_(t)[0] !== 2009) return super.set(e, t); + } + }; + ml.names = ["flex-wrap"]; + Qg.exports = ml; + }); + var Kg = v((o4, Xg) => { + l(); + var i_ = R(), + Qt = ht(), + gl = class extends i_ { + insert(e, t, r, n) { + if (t !== "-ms-") return super.insert(e, t, r); + let a = Qt.parse(e), + [s, o] = Qt.translate(a, 0, 2), + [u, c] = Qt.translate(a, 1, 3); + [ + ["grid-row", s], + ["grid-row-span", o], + ["grid-column", u], + ["grid-column-span", c], + ].forEach(([f, d]) => { + Qt.insertDecl(e, f, d); + }), + Qt.warnTemplateSelectorNotFound(e, n), + Qt.warnIfGridRowColumnExists(e, n); + } + }; + gl.names = ["grid-area"]; + Xg.exports = gl; + }); + var ey = v((l4, Zg) => { + l(); + var n_ = R(), + ni = ht(), + yl = class extends n_ { + insert(e, t, r) { + if (t !== "-ms-") return super.insert(e, t, r); + if (e.parent.some((s) => s.prop === "-ms-grid-row-align")) return; + let [[n, a]] = ni.parse(e); + a + ? (ni.insertDecl(e, "grid-row-align", n), + ni.insertDecl(e, "grid-column-align", a)) + : (ni.insertDecl(e, "grid-row-align", n), + ni.insertDecl(e, "grid-column-align", n)); + } + }; + yl.names = ["place-self"]; + Zg.exports = yl; + }); + var ry = v((u4, ty) => { + l(); + var s_ = R(), + wl = class extends s_ { + check(e) { + let t = e.value; + return !t.includes("/") || t.includes("span"); + } + normalize(e) { + return e.replace("-start", ""); + } + prefixed(e, t) { + let r = super.prefixed(e, t); + return t === "-ms-" && (r = r.replace("-start", "")), r; + } + }; + wl.names = ["grid-row-start", "grid-column-start"]; + ty.exports = wl; + }); + var sy = v((f4, ny) => { + l(); + var iy = he(), + a_ = R(), + Jt = class extends a_ { + check(e) { + return ( + e.parent && + !e.parent.some((t) => t.prop && t.prop.startsWith("grid-")) + ); + } + prefixed(e, t) { + let r; + return ( + ([r, t] = iy(t)), + r === 2012 ? t + "flex-item-align" : super.prefixed(e, t) + ); + } + normalize() { + return "align-self"; + } + set(e, t) { + let r = iy(t)[0]; + if (r === 2012) + return ( + (e.value = Jt.oldValues[e.value] || e.value), super.set(e, t) + ); + if (r === "final") return super.set(e, t); + } + }; + Jt.names = ["align-self", "flex-item-align"]; + Jt.oldValues = { "flex-end": "end", "flex-start": "start" }; + ny.exports = Jt; + }); + var oy = v((c4, ay) => { + l(); + var o_ = R(), + l_ = fe(), + bl = class extends o_ { + constructor(e, t, r) { + super(e, t, r); + this.prefixes && + (this.prefixes = l_.uniq( + this.prefixes.map((n) => (n === "-ms-" ? "-webkit-" : n)), + )); + } + }; + bl.names = ["appearance"]; + ay.exports = bl; + }); + var fy = v((p4, uy) => { + l(); + var ly = he(), + u_ = R(), + vl = class extends u_ { + normalize() { + return "flex-basis"; + } + prefixed(e, t) { + let r; + return ( + ([r, t] = ly(t)), + r === 2012 ? t + "flex-preferred-size" : super.prefixed(e, t) + ); + } + set(e, t) { + let r; + if ((([r, t] = ly(t)), r === 2012 || r === "final")) + return super.set(e, t); + } + }; + vl.names = ["flex-basis", "flex-preferred-size"]; + uy.exports = vl; + }); + var py = v((d4, cy) => { + l(); + var f_ = R(), + xl = class extends f_ { + normalize() { + return this.name.replace("box-image", "border"); + } + prefixed(e, t) { + let r = super.prefixed(e, t); + return t === "-webkit-" && (r = r.replace("border", "box-image")), r; + } + }; + xl.names = [ + "mask-border", + "mask-border-source", + "mask-border-slice", + "mask-border-width", + "mask-border-outset", + "mask-border-repeat", + "mask-box-image", + "mask-box-image-source", + "mask-box-image-slice", + "mask-box-image-width", + "mask-box-image-outset", + "mask-box-image-repeat", + ]; + cy.exports = xl; + }); + var hy = v((h4, dy) => { + l(); + var c_ = R(), + Ne = class extends c_ { + insert(e, t, r) { + let n = e.prop === "mask-composite", + a; + n ? (a = e.value.split(",")) : (a = e.value.match(Ne.regexp) || []), + (a = a.map((c) => c.trim()).filter((c) => c)); + let s = a.length, + o; + if ( + (s && + ((o = this.clone(e)), + (o.value = a.map((c) => Ne.oldValues[c] || c).join(", ")), + a.includes("intersect") && (o.value += ", xor"), + (o.prop = t + "mask-composite")), + n) + ) + return s + ? (this.needCascade(e) && + (o.raws.before = this.calcBefore(r, e, t)), + e.parent.insertBefore(e, o)) + : void 0; + let u = this.clone(e); + return ( + (u.prop = t + u.prop), + s && (u.value = u.value.replace(Ne.regexp, "")), + this.needCascade(e) && (u.raws.before = this.calcBefore(r, e, t)), + e.parent.insertBefore(e, u), + s + ? (this.needCascade(e) && + (o.raws.before = this.calcBefore(r, e, t)), + e.parent.insertBefore(e, o)) + : e + ); + } + }; + Ne.names = ["mask", "mask-composite"]; + Ne.oldValues = { + add: "source-over", + subtract: "source-out", + intersect: "source-in", + exclude: "xor", + }; + Ne.regexp = new RegExp( + `\\s+(${Object.keys(Ne.oldValues).join("|")})\\b(?!\\))\\s*(?=[,])`, + "ig", + ); + dy.exports = Ne; + }); + var yy = v((m4, gy) => { + l(); + var my = he(), + p_ = R(), + Xt = class extends p_ { + prefixed(e, t) { + let r; + return ( + ([r, t] = my(t)), + r === 2009 + ? t + "box-align" + : r === 2012 + ? t + "flex-align" + : super.prefixed(e, t) + ); + } + normalize() { + return "align-items"; + } + set(e, t) { + let r = my(t)[0]; + return ( + (r === 2009 || r === 2012) && + (e.value = Xt.oldValues[e.value] || e.value), + super.set(e, t) + ); + } + }; + Xt.names = ["align-items", "flex-align", "box-align"]; + Xt.oldValues = { "flex-end": "end", "flex-start": "start" }; + gy.exports = Xt; + }); + var by = v((g4, wy) => { + l(); + var d_ = R(), + kl = class extends d_ { + set(e, t) { + return ( + t === "-ms-" && e.value === "contain" && (e.value = "element"), + super.set(e, t) + ); + } + insert(e, t, r) { + if (!(e.value === "all" && t === "-ms-")) + return super.insert(e, t, r); + } + }; + kl.names = ["user-select"]; + wy.exports = kl; + }); + var ky = v((y4, xy) => { + l(); + var vy = he(), + h_ = R(), + Sl = class extends h_ { + normalize() { + return "flex-shrink"; + } + prefixed(e, t) { + let r; + return ( + ([r, t] = vy(t)), + r === 2012 ? t + "flex-negative" : super.prefixed(e, t) + ); + } + set(e, t) { + let r; + if ((([r, t] = vy(t)), r === 2012 || r === "final")) + return super.set(e, t); + } + }; + Sl.names = ["flex-shrink", "flex-negative"]; + xy.exports = Sl; + }); + var Cy = v((w4, Sy) => { + l(); + var m_ = R(), + Cl = class extends m_ { + prefixed(e, t) { + return `${t}column-${e}`; + } + normalize(e) { + return e.includes("inside") + ? "break-inside" + : e.includes("before") + ? "break-before" + : "break-after"; + } + set(e, t) { + return ( + ((e.prop === "break-inside" && e.value === "avoid-column") || + e.value === "avoid-page") && + (e.value = "avoid"), + super.set(e, t) + ); + } + insert(e, t, r) { + if (e.prop !== "break-inside") return super.insert(e, t, r); + if (!(/region/i.test(e.value) || /page/i.test(e.value))) + return super.insert(e, t, r); + } + }; + Cl.names = [ + "break-inside", + "page-break-inside", + "column-break-inside", + "break-before", + "page-break-before", + "column-break-before", + "break-after", + "page-break-after", + "column-break-after", + ]; + Sy.exports = Cl; + }); + var _y = v((b4, Ay) => { + l(); + var g_ = R(), + Al = class extends g_ { + prefixed(e, t) { + return t + "print-color-adjust"; + } + normalize() { + return "color-adjust"; + } + }; + Al.names = ["color-adjust", "print-color-adjust"]; + Ay.exports = Al; + }); + var Ey = v((v4, Oy) => { + l(); + var y_ = R(), + Kt = class extends y_ { + insert(e, t, r) { + if (t === "-ms-") { + let n = this.set(this.clone(e), t); + this.needCascade(e) && (n.raws.before = this.calcBefore(r, e, t)); + let a = "ltr"; + return ( + e.parent.nodes.forEach((s) => { + s.prop === "direction" && + (s.value === "rtl" || s.value === "ltr") && + (a = s.value); + }), + (n.value = Kt.msValues[a][e.value] || e.value), + e.parent.insertBefore(e, n) + ); + } + return super.insert(e, t, r); + } + }; + Kt.names = ["writing-mode"]; + Kt.msValues = { + ltr: { + "horizontal-tb": "lr-tb", + "vertical-rl": "tb-rl", + "vertical-lr": "tb-lr", + }, + rtl: { + "horizontal-tb": "rl-tb", + "vertical-rl": "bt-rl", + "vertical-lr": "bt-lr", + }, + }; + Oy.exports = Kt; + }); + var Py = v((x4, Ty) => { + l(); + var w_ = R(), + _l = class extends w_ { + set(e, t) { + return ( + (e.value = e.value.replace(/\s+fill(\s)/, "$1")), super.set(e, t) + ); + } + }; + _l.names = ["border-image"]; + Ty.exports = _l; + }); + var qy = v((k4, Iy) => { + l(); + var Dy = he(), + b_ = R(), + Zt = class extends b_ { + prefixed(e, t) { + let r; + return ( + ([r, t] = Dy(t)), + r === 2012 ? t + "flex-line-pack" : super.prefixed(e, t) + ); + } + normalize() { + return "align-content"; + } + set(e, t) { + let r = Dy(t)[0]; + if (r === 2012) + return ( + (e.value = Zt.oldValues[e.value] || e.value), super.set(e, t) + ); + if (r === "final") return super.set(e, t); + } + }; + Zt.names = ["align-content", "flex-line-pack"]; + Zt.oldValues = { + "flex-end": "end", + "flex-start": "start", + "space-between": "justify", + "space-around": "distribute", + }; + Iy.exports = Zt; + }); + var My = v((S4, Ry) => { + l(); + var v_ = R(), + Se = class extends v_ { + prefixed(e, t) { + return t === "-moz-" + ? t + (Se.toMozilla[e] || e) + : super.prefixed(e, t); + } + normalize(e) { + return Se.toNormal[e] || e; + } + }; + Se.names = ["border-radius"]; + Se.toMozilla = {}; + Se.toNormal = {}; + for (let i of ["top", "bottom"]) + for (let e of ["left", "right"]) { + let t = `border-${i}-${e}-radius`, + r = `border-radius-${i}${e}`; + Se.names.push(t), + Se.names.push(r), + (Se.toMozilla[t] = r), + (Se.toNormal[r] = t); + } + Ry.exports = Se; + }); + var Fy = v((C4, By) => { + l(); + var x_ = R(), + Ol = class extends x_ { + prefixed(e, t) { + return e.includes("-start") + ? t + e.replace("-block-start", "-before") + : t + e.replace("-block-end", "-after"); + } + normalize(e) { + return e.includes("-before") + ? e.replace("-before", "-block-start") + : e.replace("-after", "-block-end"); + } + }; + Ol.names = [ + "border-block-start", + "border-block-end", + "margin-block-start", + "margin-block-end", + "padding-block-start", + "padding-block-end", + "border-before", + "border-after", + "margin-before", + "margin-after", + "padding-before", + "padding-after", + ]; + By.exports = Ol; + }); + var Ly = v((A4, Ny) => { + l(); + var k_ = R(), + { + parseTemplate: S_, + warnMissedAreas: C_, + getGridGap: A_, + warnGridGap: __, + inheritGridGap: O_, + } = ht(), + El = class extends k_ { + insert(e, t, r, n) { + if (t !== "-ms-") return super.insert(e, t, r); + if (e.parent.some((m) => m.prop === "-ms-grid-rows")) return; + let a = A_(e), + s = O_(e, a), + { rows: o, columns: u, areas: c } = S_({ decl: e, gap: s || a }), + f = Object.keys(c).length > 0, + d = Boolean(o), + p = Boolean(u); + return ( + __({ gap: a, hasColumns: p, decl: e, result: n }), + C_(c, e, n), + ((d && p) || f) && + e.cloneBefore({ prop: "-ms-grid-rows", value: o, raws: {} }), + p && + e.cloneBefore({ prop: "-ms-grid-columns", value: u, raws: {} }), + e + ); + } + }; + El.names = ["grid-template"]; + Ny.exports = El; + }); + var jy = v((_4, $y) => { + l(); + var E_ = R(), + Tl = class extends E_ { + prefixed(e, t) { + return t + e.replace("-inline", ""); + } + normalize(e) { + return e.replace( + /(margin|padding|border)-(start|end)/, + "$1-inline-$2", + ); + } + }; + Tl.names = [ + "border-inline-start", + "border-inline-end", + "margin-inline-start", + "margin-inline-end", + "padding-inline-start", + "padding-inline-end", + "border-start", + "border-end", + "margin-start", + "margin-end", + "padding-start", + "padding-end", + ]; + $y.exports = Tl; + }); + var Vy = v((O4, zy) => { + l(); + var T_ = R(), + Pl = class extends T_ { + check(e) { + return !e.value.includes("flex-") && e.value !== "baseline"; + } + prefixed(e, t) { + return t + "grid-row-align"; + } + normalize() { + return "align-self"; + } + }; + Pl.names = ["grid-row-align"]; + zy.exports = Pl; + }); + var Wy = v((E4, Uy) => { + l(); + var P_ = R(), + er = class extends P_ { + keyframeParents(e) { + let { parent: t } = e; + for (; t; ) { + if (t.type === "atrule" && t.name === "keyframes") return !0; + ({ parent: t } = t); + } + return !1; + } + contain3d(e) { + if (e.prop === "transform-origin") return !1; + for (let t of er.functions3d) + if (e.value.includes(`${t}(`)) return !0; + return !1; + } + set(e, t) { + return ( + (e = super.set(e, t)), + t === "-ms-" && (e.value = e.value.replace(/rotatez/gi, "rotate")), + e + ); + } + insert(e, t, r) { + if (t === "-ms-") { + if (!this.contain3d(e) && !this.keyframeParents(e)) + return super.insert(e, t, r); + } else if (t === "-o-") { + if (!this.contain3d(e)) return super.insert(e, t, r); + } else return super.insert(e, t, r); + } + }; + er.names = ["transform", "transform-origin"]; + er.functions3d = [ + "matrix3d", + "translate3d", + "translateZ", + "scale3d", + "scaleZ", + "rotate3d", + "rotateX", + "rotateY", + "perspective", + ]; + Uy.exports = er; + }); + var Yy = v((T4, Hy) => { + l(); + var Gy = he(), + D_ = R(), + Dl = class extends D_ { + normalize() { + return "flex-direction"; + } + insert(e, t, r) { + let n; + if ((([n, t] = Gy(t)), n !== 2009)) return super.insert(e, t, r); + if ( + e.parent.some( + (f) => + f.prop === t + "box-orient" || f.prop === t + "box-direction", + ) + ) + return; + let s = e.value, + o, + u; + s === "inherit" || s === "initial" || s === "unset" + ? ((o = s), (u = s)) + : ((o = s.includes("row") ? "horizontal" : "vertical"), + (u = s.includes("reverse") ? "reverse" : "normal")); + let c = this.clone(e); + return ( + (c.prop = t + "box-orient"), + (c.value = o), + this.needCascade(e) && (c.raws.before = this.calcBefore(r, e, t)), + e.parent.insertBefore(e, c), + (c = this.clone(e)), + (c.prop = t + "box-direction"), + (c.value = u), + this.needCascade(e) && (c.raws.before = this.calcBefore(r, e, t)), + e.parent.insertBefore(e, c) + ); + } + old(e, t) { + let r; + return ( + ([r, t] = Gy(t)), + r === 2009 + ? [t + "box-orient", t + "box-direction"] + : super.old(e, t) + ); + } + }; + Dl.names = ["flex-direction", "box-direction", "box-orient"]; + Hy.exports = Dl; + }); + var Jy = v((P4, Qy) => { + l(); + var I_ = R(), + Il = class extends I_ { + check(e) { + return e.value === "pixelated"; + } + prefixed(e, t) { + return t === "-ms-" ? "-ms-interpolation-mode" : super.prefixed(e, t); + } + set(e, t) { + return t !== "-ms-" + ? super.set(e, t) + : ((e.prop = "-ms-interpolation-mode"), + (e.value = "nearest-neighbor"), + e); + } + normalize() { + return "image-rendering"; + } + process(e, t) { + return super.process(e, t); + } + }; + Il.names = ["image-rendering", "interpolation-mode"]; + Qy.exports = Il; + }); + var Ky = v((D4, Xy) => { + l(); + var q_ = R(), + R_ = fe(), + ql = class extends q_ { + constructor(e, t, r) { + super(e, t, r); + this.prefixes && + (this.prefixes = R_.uniq( + this.prefixes.map((n) => (n === "-ms-" ? "-webkit-" : n)), + )); + } + }; + ql.names = ["backdrop-filter"]; + Xy.exports = ql; + }); + var ew = v((I4, Zy) => { + l(); + var M_ = R(), + B_ = fe(), + Rl = class extends M_ { + constructor(e, t, r) { + super(e, t, r); + this.prefixes && + (this.prefixes = B_.uniq( + this.prefixes.map((n) => (n === "-ms-" ? "-webkit-" : n)), + )); + } + check(e) { + return e.value.toLowerCase() === "text"; + } + }; + Rl.names = ["background-clip"]; + Zy.exports = Rl; + }); + var rw = v((q4, tw) => { + l(); + var F_ = R(), + N_ = [ + "none", + "underline", + "overline", + "line-through", + "blink", + "inherit", + "initial", + "unset", + ], + Ml = class extends F_ { + check(e) { + return e.value.split(/\s+/).some((t) => !N_.includes(t)); + } + }; + Ml.names = ["text-decoration"]; + tw.exports = Ml; + }); + var sw = v((R4, nw) => { + l(); + var iw = he(), + L_ = R(), + tr = class extends L_ { + prefixed(e, t) { + let r; + return ( + ([r, t] = iw(t)), + r === 2009 + ? t + "box-pack" + : r === 2012 + ? t + "flex-pack" + : super.prefixed(e, t) + ); + } + normalize() { + return "justify-content"; + } + set(e, t) { + let r = iw(t)[0]; + if (r === 2009 || r === 2012) { + let n = tr.oldValues[e.value] || e.value; + if (((e.value = n), r !== 2009 || n !== "distribute")) + return super.set(e, t); + } else if (r === "final") return super.set(e, t); + } + }; + tr.names = ["justify-content", "flex-pack", "box-pack"]; + tr.oldValues = { + "flex-end": "end", + "flex-start": "start", + "space-between": "justify", + "space-around": "distribute", + }; + nw.exports = tr; + }); + var ow = v((M4, aw) => { + l(); + var $_ = R(), + Bl = class extends $_ { + set(e, t) { + let r = e.value.toLowerCase(); + return ( + t === "-webkit-" && + !r.includes(" ") && + r !== "contain" && + r !== "cover" && + (e.value = e.value + " " + e.value), + super.set(e, t) + ); + } + }; + Bl.names = ["background-size"]; + aw.exports = Bl; + }); + var uw = v((B4, lw) => { + l(); + var j_ = R(), + Fl = ht(), + Nl = class extends j_ { + insert(e, t, r) { + if (t !== "-ms-") return super.insert(e, t, r); + let n = Fl.parse(e), + [a, s] = Fl.translate(n, 0, 1); + n[0] && + n[0].includes("span") && + (s = n[0].join("").replace(/\D/g, "")), + [ + [e.prop, a], + [`${e.prop}-span`, s], + ].forEach(([u, c]) => { + Fl.insertDecl(e, u, c); + }); + } + }; + Nl.names = ["grid-row", "grid-column"]; + lw.exports = Nl; + }); + var pw = v((F4, cw) => { + l(); + var z_ = R(), + { + prefixTrackProp: fw, + prefixTrackValue: V_, + autoplaceGridItems: U_, + getGridGap: W_, + inheritGridGap: G_, + } = ht(), + H_ = il(), + Ll = class extends z_ { + prefixed(e, t) { + return t === "-ms-" + ? fw({ prop: e, prefix: t }) + : super.prefixed(e, t); + } + normalize(e) { + return e.replace(/^grid-(rows|columns)/, "grid-template-$1"); + } + insert(e, t, r, n) { + if (t !== "-ms-") return super.insert(e, t, r); + let { parent: a, prop: s, value: o } = e, + u = s.includes("rows"), + c = s.includes("columns"), + f = a.some( + (k) => + k.prop === "grid-template" || k.prop === "grid-template-areas", + ); + if (f && u) return !1; + let d = new H_({ options: {} }), + p = d.gridStatus(a, n), + m = W_(e); + m = G_(e, m) || m; + let w = u ? m.row : m.column; + (p === "no-autoplace" || p === !0) && !f && (w = null); + let x = V_({ value: o, gap: w }); + e.cloneBefore({ prop: fw({ prop: s, prefix: t }), value: x }); + let y = a.nodes.find((k) => k.prop === "grid-auto-flow"), + b = "row"; + if ( + (y && !d.disabled(y, n) && (b = y.value.trim()), p === "autoplace") + ) { + let k = a.nodes.find((_) => _.prop === "grid-template-rows"); + if (!k && f) return; + if (!k && !f) { + e.warn( + n, + "Autoplacement does not work without grid-template-rows property", + ); + return; + } + !a.nodes.find((_) => _.prop === "grid-template-columns") && + !f && + e.warn( + n, + "Autoplacement does not work without grid-template-columns property", + ), + c && !f && U_(e, n, m, b); + } + } + }; + Ll.names = [ + "grid-template-rows", + "grid-template-columns", + "grid-rows", + "grid-columns", + ]; + cw.exports = Ll; + }); + var hw = v((N4, dw) => { + l(); + var Y_ = R(), + $l = class extends Y_ { + check(e) { + return !e.value.includes("flex-") && e.value !== "baseline"; + } + prefixed(e, t) { + return t + "grid-column-align"; + } + normalize() { + return "justify-self"; + } + }; + $l.names = ["grid-column-align"]; + dw.exports = $l; + }); + var gw = v((L4, mw) => { + l(); + var Q_ = R(), + jl = class extends Q_ { + prefixed(e, t) { + return t + "scroll-chaining"; + } + normalize() { + return "overscroll-behavior"; + } + set(e, t) { + return ( + e.value === "auto" + ? (e.value = "chained") + : (e.value === "none" || e.value === "contain") && + (e.value = "none"), + super.set(e, t) + ); + } + }; + jl.names = ["overscroll-behavior", "scroll-chaining"]; + mw.exports = jl; + }); + var bw = v(($4, ww) => { + l(); + var J_ = R(), + { + parseGridAreas: X_, + warnMissedAreas: K_, + prefixTrackProp: Z_, + prefixTrackValue: yw, + getGridGap: e5, + warnGridGap: t5, + inheritGridGap: r5, + } = ht(); + function i5(i) { + return i + .trim() + .slice(1, -1) + .split(/["']\s*["']?/g); + } + var zl = class extends J_ { + insert(e, t, r, n) { + if (t !== "-ms-") return super.insert(e, t, r); + let a = !1, + s = !1, + o = e.parent, + u = e5(e); + (u = r5(e, u) || u), + o.walkDecls(/-ms-grid-rows/, (d) => d.remove()), + o.walkDecls(/grid-template-(rows|columns)/, (d) => { + if (d.prop === "grid-template-rows") { + s = !0; + let { prop: p, value: m } = d; + d.cloneBefore({ + prop: Z_({ prop: p, prefix: t }), + value: yw({ value: m, gap: u.row }), + }); + } else a = !0; + }); + let c = i5(e.value); + a && + !s && + u.row && + c.length > 1 && + e.cloneBefore({ + prop: "-ms-grid-rows", + value: yw({ value: `repeat(${c.length}, auto)`, gap: u.row }), + raws: {}, + }), + t5({ gap: u, hasColumns: a, decl: e, result: n }); + let f = X_({ rows: c, gap: u }); + return K_(f, e, n), e; + } + }; + zl.names = ["grid-template-areas"]; + ww.exports = zl; + }); + var xw = v((j4, vw) => { + l(); + var n5 = R(), + Vl = class extends n5 { + set(e, t) { + return ( + t === "-webkit-" && + (e.value = e.value.replace(/\s*(right|left)\s*/i, "")), + super.set(e, t) + ); + } + }; + Vl.names = ["text-emphasis-position"]; + vw.exports = Vl; + }); + var Sw = v((z4, kw) => { + l(); + var s5 = R(), + Ul = class extends s5 { + set(e, t) { + return e.prop === "text-decoration-skip-ink" && e.value === "auto" + ? ((e.prop = t + "text-decoration-skip"), (e.value = "ink"), e) + : super.set(e, t); + } + }; + Ul.names = ["text-decoration-skip-ink", "text-decoration-skip"]; + kw.exports = Ul; + }); + var Tw = v((V4, Ew) => { + l(); + ("use strict"); + Ew.exports = { + wrap: Cw, + limit: Aw, + validate: _w, + test: Wl, + curry: a5, + name: Ow, + }; + function Cw(i, e, t) { + var r = e - i; + return ((((t - i) % r) + r) % r) + i; + } + function Aw(i, e, t) { + return Math.max(i, Math.min(e, t)); + } + function _w(i, e, t, r, n) { + if (!Wl(i, e, t, r, n)) + throw new Error(t + " is outside of range [" + i + "," + e + ")"); + return t; + } + function Wl(i, e, t, r, n) { + return !(t < i || t > e || (n && t === e) || (r && t === i)); + } + function Ow(i, e, t, r) { + return (t ? "(" : "[") + i + "," + e + (r ? ")" : "]"); + } + function a5(i, e, t, r) { + var n = Ow.bind(null, i, e, t, r); + return { + wrap: Cw.bind(null, i, e), + limit: Aw.bind(null, i, e), + validate: function (a) { + return _w(i, e, a, t, r); + }, + test: function (a) { + return Wl(i, e, a, t, r); + }, + toString: n, + name: n, + }; + } + }); + var Iw = v((U4, Dw) => { + l(); + var Gl = Gn(), + o5 = Tw(), + l5 = Gt(), + u5 = ke(), + f5 = fe(), + Pw = /top|left|right|bottom/gi, + Qe = class extends u5 { + replace(e, t) { + let r = Gl(e); + for (let n of r.nodes) + if (n.type === "function" && n.value === this.name) + if ( + ((n.nodes = this.newDirection(n.nodes)), + (n.nodes = this.normalize(n.nodes)), + t === "-webkit- old") + ) { + if (!this.oldWebkit(n)) return !1; + } else + (n.nodes = this.convertDirection(n.nodes)), + (n.value = t + n.value); + return r.toString(); + } + replaceFirst(e, ...t) { + return t + .map((n) => + n === " " + ? { type: "space", value: n } + : { type: "word", value: n }, + ) + .concat(e.slice(1)); + } + normalizeUnit(e, t) { + return `${(parseFloat(e) / t) * 360}deg`; + } + normalize(e) { + if (!e[0]) return e; + if (/-?\d+(.\d+)?grad/.test(e[0].value)) + e[0].value = this.normalizeUnit(e[0].value, 400); + else if (/-?\d+(.\d+)?rad/.test(e[0].value)) + e[0].value = this.normalizeUnit(e[0].value, 2 * Math.PI); + else if (/-?\d+(.\d+)?turn/.test(e[0].value)) + e[0].value = this.normalizeUnit(e[0].value, 1); + else if (e[0].value.includes("deg")) { + let t = parseFloat(e[0].value); + (t = o5.wrap(0, 360, t)), (e[0].value = `${t}deg`); + } + return ( + e[0].value === "0deg" + ? (e = this.replaceFirst(e, "to", " ", "top")) + : e[0].value === "90deg" + ? (e = this.replaceFirst(e, "to", " ", "right")) + : e[0].value === "180deg" + ? (e = this.replaceFirst(e, "to", " ", "bottom")) + : e[0].value === "270deg" && + (e = this.replaceFirst(e, "to", " ", "left")), + e + ); + } + newDirection(e) { + if (e[0].value === "to" || ((Pw.lastIndex = 0), !Pw.test(e[0].value))) + return e; + e.unshift( + { type: "word", value: "to" }, + { type: "space", value: " " }, + ); + for (let t = 2; t < e.length && e[t].type !== "div"; t++) + e[t].type === "word" && + (e[t].value = this.revertDirection(e[t].value)); + return e; + } + isRadial(e) { + let t = "before"; + for (let r of e) + if (t === "before" && r.type === "space") t = "at"; + else if (t === "at" && r.value === "at") t = "after"; + else { + if (t === "after" && r.type === "space") return !0; + if (r.type === "div") break; + t = "before"; + } + return !1; + } + convertDirection(e) { + return ( + e.length > 0 && + (e[0].value === "to" + ? this.fixDirection(e) + : e[0].value.includes("deg") + ? this.fixAngle(e) + : this.isRadial(e) && this.fixRadial(e)), + e + ); + } + fixDirection(e) { + e.splice(0, 2); + for (let t of e) { + if (t.type === "div") break; + t.type === "word" && (t.value = this.revertDirection(t.value)); + } + } + fixAngle(e) { + let t = e[0].value; + (t = parseFloat(t)), + (t = Math.abs(450 - t) % 360), + (t = this.roundFloat(t, 3)), + (e[0].value = `${t}deg`); + } + fixRadial(e) { + let t = [], + r = [], + n, + a, + s, + o, + u; + for (o = 0; o < e.length - 2; o++) + if ( + ((n = e[o]), + (a = e[o + 1]), + (s = e[o + 2]), + n.type === "space" && a.value === "at" && s.type === "space") + ) { + u = o + 3; + break; + } else t.push(n); + let c; + for (o = u; o < e.length; o++) + if (e[o].type === "div") { + c = e[o]; + break; + } else r.push(e[o]); + e.splice(0, o, ...r, c, ...t); + } + revertDirection(e) { + return Qe.directions[e.toLowerCase()] || e; + } + roundFloat(e, t) { + return parseFloat(e.toFixed(t)); + } + oldWebkit(e) { + let { nodes: t } = e, + r = Gl.stringify(e.nodes); + if ( + this.name !== "linear-gradient" || + (t[0] && t[0].value.includes("deg")) || + r.includes("px") || + r.includes("-corner") || + r.includes("-side") + ) + return !1; + let n = [[]]; + for (let a of t) + n[n.length - 1].push(a), + a.type === "div" && a.value === "," && n.push([]); + this.oldDirection(n), this.colorStops(n), (e.nodes = []); + for (let a of n) e.nodes = e.nodes.concat(a); + return ( + e.nodes.unshift( + { type: "word", value: "linear" }, + this.cloneDiv(e.nodes), + ), + (e.value = "-webkit-gradient"), + !0 + ); + } + oldDirection(e) { + let t = this.cloneDiv(e[0]); + if (e[0][0].value !== "to") + return e.unshift([ + { type: "word", value: Qe.oldDirections.bottom }, + t, + ]); + { + let r = []; + for (let a of e[0].slice(2)) + a.type === "word" && r.push(a.value.toLowerCase()); + r = r.join(" "); + let n = Qe.oldDirections[r] || r; + return (e[0] = [{ type: "word", value: n }, t]), e[0]; + } + } + cloneDiv(e) { + for (let t of e) if (t.type === "div" && t.value === ",") return t; + return { type: "div", value: ",", after: " " }; + } + colorStops(e) { + let t = []; + for (let r = 0; r < e.length; r++) { + let n, + a = e[r], + s; + if (r === 0) continue; + let o = Gl.stringify(a[0]); + a[1] && a[1].type === "word" + ? (n = a[1].value) + : a[2] && a[2].type === "word" && (n = a[2].value); + let u; + r === 1 && (!n || n === "0%") + ? (u = `from(${o})`) + : r === e.length - 1 && (!n || n === "100%") + ? (u = `to(${o})`) + : n + ? (u = `color-stop(${n}, ${o})`) + : (u = `color-stop(${o})`); + let c = a[a.length - 1]; + (e[r] = [{ type: "word", value: u }]), + c.type === "div" && c.value === "," && (s = e[r].push(c)), + t.push(s); + } + return t; + } + old(e) { + if (e === "-webkit-") { + let t = this.name === "linear-gradient" ? "linear" : "radial", + r = "-gradient", + n = f5.regexp(`-webkit-(${t}-gradient|gradient\\(\\s*${t})`, !1); + return new l5(this.name, e + this.name, r, n); + } else return super.old(e); + } + add(e, t) { + let r = e.prop; + if (r.includes("mask")) { + if (t === "-webkit-" || t === "-webkit- old") + return super.add(e, t); + } else if ( + r === "list-style" || + r === "list-style-image" || + r === "content" + ) { + if (t === "-webkit-" || t === "-webkit- old") + return super.add(e, t); + } else return super.add(e, t); + } + }; + Qe.names = [ + "linear-gradient", + "repeating-linear-gradient", + "radial-gradient", + "repeating-radial-gradient", + ]; + Qe.directions = { + top: "bottom", + left: "right", + bottom: "top", + right: "left", + }; + Qe.oldDirections = { + top: "left bottom, left top", + left: "right top, left top", + bottom: "left top, left bottom", + right: "left top, right top", + "top right": "left bottom, right top", + "top left": "right bottom, left top", + "right top": "left bottom, right top", + "right bottom": "left top, right bottom", + "bottom right": "left top, right bottom", + "bottom left": "right top, left bottom", + "left top": "right bottom, left top", + "left bottom": "right top, left bottom", + }; + Dw.exports = Qe; + }); + var Mw = v((W4, Rw) => { + l(); + var c5 = Gt(), + p5 = ke(); + function qw(i) { + return new RegExp(`(^|[\\s,(])(${i}($|[\\s),]))`, "gi"); + } + var Hl = class extends p5 { + regexp() { + return ( + this.regexpCache || (this.regexpCache = qw(this.name)), + this.regexpCache + ); + } + isStretch() { + return ( + this.name === "stretch" || + this.name === "fill" || + this.name === "fill-available" + ); + } + replace(e, t) { + return t === "-moz-" && this.isStretch() + ? e.replace(this.regexp(), "$1-moz-available$3") + : t === "-webkit-" && this.isStretch() + ? e.replace(this.regexp(), "$1-webkit-fill-available$3") + : super.replace(e, t); + } + old(e) { + let t = e + this.name; + return ( + this.isStretch() && + (e === "-moz-" + ? (t = "-moz-available") + : e === "-webkit-" && (t = "-webkit-fill-available")), + new c5(this.name, t, t, qw(t)) + ); + } + add(e, t) { + if (!(e.prop.includes("grid") && t !== "-webkit-")) + return super.add(e, t); + } + }; + Hl.names = [ + "max-content", + "min-content", + "fit-content", + "fill", + "fill-available", + "stretch", + ]; + Rw.exports = Hl; + }); + var Nw = v((G4, Fw) => { + l(); + var Bw = Gt(), + d5 = ke(), + Yl = class extends d5 { + replace(e, t) { + return t === "-webkit-" + ? e.replace(this.regexp(), "$1-webkit-optimize-contrast") + : t === "-moz-" + ? e.replace(this.regexp(), "$1-moz-crisp-edges") + : super.replace(e, t); + } + old(e) { + return e === "-webkit-" + ? new Bw(this.name, "-webkit-optimize-contrast") + : e === "-moz-" + ? new Bw(this.name, "-moz-crisp-edges") + : super.old(e); + } + }; + Yl.names = ["pixelated"]; + Fw.exports = Yl; + }); + var $w = v((H4, Lw) => { + l(); + var h5 = ke(), + Ql = class extends h5 { + replace(e, t) { + let r = super.replace(e, t); + return ( + t === "-webkit-" && + (r = r.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi, "url($1)$2")), + r + ); + } + }; + Ql.names = ["image-set"]; + Lw.exports = Ql; + }); + var zw = v((Y4, jw) => { + l(); + var m5 = ge().list, + g5 = ke(), + Jl = class extends g5 { + replace(e, t) { + return m5 + .space(e) + .map((r) => { + if (r.slice(0, +this.name.length + 1) !== this.name + "(") + return r; + let n = r.lastIndexOf(")"), + a = r.slice(n + 1), + s = r.slice(this.name.length + 1, n); + if (t === "-webkit-") { + let o = s.match(/\d*.?\d+%?/); + o + ? ((s = s.slice(o[0].length).trim()), (s += `, ${o[0]}`)) + : (s += ", 0.5"); + } + return t + this.name + "(" + s + ")" + a; + }) + .join(" "); + } + }; + Jl.names = ["cross-fade"]; + jw.exports = Jl; + }); + var Uw = v((Q4, Vw) => { + l(); + var y5 = he(), + w5 = Gt(), + b5 = ke(), + Xl = class extends b5 { + constructor(e, t) { + super(e, t); + e === "display-flex" && (this.name = "flex"); + } + check(e) { + return e.prop === "display" && e.value === this.name; + } + prefixed(e) { + let t, r; + return ( + ([t, e] = y5(e)), + t === 2009 + ? this.name === "flex" + ? (r = "box") + : (r = "inline-box") + : t === 2012 + ? this.name === "flex" + ? (r = "flexbox") + : (r = "inline-flexbox") + : t === "final" && (r = this.name), + e + r + ); + } + replace(e, t) { + return this.prefixed(t); + } + old(e) { + let t = this.prefixed(e); + if (!!t) return new w5(this.name, t); + } + }; + Xl.names = ["display-flex", "inline-flex"]; + Vw.exports = Xl; + }); + var Gw = v((J4, Ww) => { + l(); + var v5 = ke(), + Kl = class extends v5 { + constructor(e, t) { + super(e, t); + e === "display-grid" && (this.name = "grid"); + } + check(e) { + return e.prop === "display" && e.value === this.name; + } + }; + Kl.names = ["display-grid", "inline-grid"]; + Ww.exports = Kl; + }); + var Yw = v((X4, Hw) => { + l(); + var x5 = ke(), + Zl = class extends x5 { + constructor(e, t) { + super(e, t); + e === "filter-function" && (this.name = "filter"); + } + }; + Zl.names = ["filter", "filter-function"]; + Hw.exports = Zl; + }); + var Kw = v((K4, Xw) => { + l(); + var Qw = ii(), + M = R(), + Jw = Dm(), + k5 = Qm(), + S5 = il(), + C5 = hg(), + eu = pt(), + rr = Ht(), + A5 = kg(), + Le = ke(), + ir = fe(), + _5 = Cg(), + O5 = _g(), + E5 = Eg(), + T5 = Pg(), + P5 = Mg(), + D5 = Ng(), + I5 = $g(), + q5 = zg(), + R5 = Ug(), + M5 = Gg(), + B5 = Yg(), + F5 = Jg(), + N5 = Kg(), + L5 = ey(), + $5 = ry(), + j5 = sy(), + z5 = oy(), + V5 = fy(), + U5 = py(), + W5 = hy(), + G5 = yy(), + H5 = by(), + Y5 = ky(), + Q5 = Cy(), + J5 = _y(), + X5 = Ey(), + K5 = Py(), + Z5 = qy(), + eO = My(), + tO = Fy(), + rO = Ly(), + iO = jy(), + nO = Vy(), + sO = Wy(), + aO = Yy(), + oO = Jy(), + lO = Ky(), + uO = ew(), + fO = rw(), + cO = sw(), + pO = ow(), + dO = uw(), + hO = pw(), + mO = hw(), + gO = gw(), + yO = bw(), + wO = xw(), + bO = Sw(), + vO = Iw(), + xO = Mw(), + kO = Nw(), + SO = $w(), + CO = zw(), + AO = Uw(), + _O = Gw(), + OO = Yw(); + rr.hack(_5); + rr.hack(O5); + rr.hack(E5); + rr.hack(T5); + M.hack(P5); + M.hack(D5); + M.hack(I5); + M.hack(q5); + M.hack(R5); + M.hack(M5); + M.hack(B5); + M.hack(F5); + M.hack(N5); + M.hack(L5); + M.hack($5); + M.hack(j5); + M.hack(z5); + M.hack(V5); + M.hack(U5); + M.hack(W5); + M.hack(G5); + M.hack(H5); + M.hack(Y5); + M.hack(Q5); + M.hack(J5); + M.hack(X5); + M.hack(K5); + M.hack(Z5); + M.hack(eO); + M.hack(tO); + M.hack(rO); + M.hack(iO); + M.hack(nO); + M.hack(sO); + M.hack(aO); + M.hack(oO); + M.hack(lO); + M.hack(uO); + M.hack(fO); + M.hack(cO); + M.hack(pO); + M.hack(dO); + M.hack(hO); + M.hack(mO); + M.hack(gO); + M.hack(yO); + M.hack(wO); + M.hack(bO); + Le.hack(vO); + Le.hack(xO); + Le.hack(kO); + Le.hack(SO); + Le.hack(CO); + Le.hack(AO); + Le.hack(_O); + Le.hack(OO); + var tu = new Map(), + si = class { + constructor(e, t, r = {}) { + (this.data = e), + (this.browsers = t), + (this.options = r), + ([this.add, this.remove] = this.preprocess(this.select(this.data))), + (this.transition = new k5(this)), + (this.processor = new S5(this)); + } + cleaner() { + if (this.cleanerCache) return this.cleanerCache; + if (this.browsers.selected.length) { + let e = new eu(this.browsers.data, []); + this.cleanerCache = new si(this.data, e, this.options); + } else return this; + return this.cleanerCache; + } + select(e) { + let t = { add: {}, remove: {} }; + for (let r in e) { + let n = e[r], + a = n.browsers.map((u) => { + let c = u.split(" "); + return { browser: `${c[0]} ${c[1]}`, note: c[2] }; + }), + s = a + .filter((u) => u.note) + .map((u) => `${this.browsers.prefix(u.browser)} ${u.note}`); + (s = ir.uniq(s)), + (a = a + .filter((u) => this.browsers.isSelected(u.browser)) + .map((u) => { + let c = this.browsers.prefix(u.browser); + return u.note ? `${c} ${u.note}` : c; + })), + (a = this.sort(ir.uniq(a))), + this.options.flexbox === "no-2009" && + (a = a.filter((u) => !u.includes("2009"))); + let o = n.browsers.map((u) => this.browsers.prefix(u)); + n.mistakes && (o = o.concat(n.mistakes)), + (o = o.concat(s)), + (o = ir.uniq(o)), + a.length + ? ((t.add[r] = a), + a.length < o.length && + (t.remove[r] = o.filter((u) => !a.includes(u)))) + : (t.remove[r] = o); + } + return t; + } + sort(e) { + return e.sort((t, r) => { + let n = ir.removeNote(t).length, + a = ir.removeNote(r).length; + return n === a ? r.length - t.length : a - n; + }); + } + preprocess(e) { + let t = { selectors: [], "@supports": new C5(si, this) }; + for (let n in e.add) { + let a = e.add[n]; + if (n === "@keyframes" || n === "@viewport") + t[n] = new A5(n, a, this); + else if (n === "@resolution") t[n] = new Jw(n, a, this); + else if (this.data[n].selector) + t.selectors.push(rr.load(n, a, this)); + else { + let s = this.data[n].props; + if (s) { + let o = Le.load(n, a, this); + for (let u of s) + t[u] || (t[u] = { values: [] }), t[u].values.push(o); + } else { + let o = (t[n] && t[n].values) || []; + (t[n] = M.load(n, a, this)), (t[n].values = o); + } + } + } + let r = { selectors: [] }; + for (let n in e.remove) { + let a = e.remove[n]; + if (this.data[n].selector) { + let s = rr.load(n, a); + for (let o of a) r.selectors.push(s.old(o)); + } else if (n === "@keyframes" || n === "@viewport") + for (let s of a) { + let o = `@${s}${n.slice(1)}`; + r[o] = { remove: !0 }; + } + else if (n === "@resolution") r[n] = new Jw(n, a, this); + else { + let s = this.data[n].props; + if (s) { + let o = Le.load(n, [], this); + for (let u of a) { + let c = o.old(u); + if (c) + for (let f of s) + r[f] || (r[f] = {}), + r[f].values || (r[f].values = []), + r[f].values.push(c); + } + } else + for (let o of a) { + let u = this.decl(n).old(n, o); + if (n === "align-self") { + let c = t[n] && t[n].prefixes; + if (c) { + if (o === "-webkit- 2009" && c.includes("-webkit-")) + continue; + if (o === "-webkit-" && c.includes("-webkit- 2009")) + continue; + } + } + for (let c of u) r[c] || (r[c] = {}), (r[c].remove = !0); + } + } + } + return [t, r]; + } + decl(e) { + return tu.has(e) || tu.set(e, M.load(e)), tu.get(e); + } + unprefixed(e) { + let t = this.normalize(Qw.unprefixed(e)); + return t === "flex-direction" && (t = "flex-flow"), t; + } + normalize(e) { + return this.decl(e).normalize(e); + } + prefixed(e, t) { + return (e = Qw.unprefixed(e)), this.decl(e).prefixed(e, t); + } + values(e, t) { + let r = this[e], + n = r["*"] && r["*"].values, + a = r[t] && r[t].values; + return n && a ? ir.uniq(n.concat(a)) : n || a || []; + } + group(e) { + let t = e.parent, + r = t.index(e), + { length: n } = t.nodes, + a = this.unprefixed(e.prop), + s = (o, u) => { + for (r += o; r >= 0 && r < n; ) { + let c = t.nodes[r]; + if (c.type === "decl") { + if ( + (o === -1 && c.prop === a && !eu.withPrefix(c.value)) || + this.unprefixed(c.prop) !== a + ) + break; + if (u(c) === !0) return !0; + if (o === 1 && c.prop === a && !eu.withPrefix(c.value)) break; + } + r += o; + } + return !1; + }; + return { + up(o) { + return s(-1, o); + }, + down(o) { + return s(1, o); + }, + }; + } + }; + Xw.exports = si; + }); + var eb = v((Z4, Zw) => { + l(); + Zw.exports = { + "backdrop-filter": { + feature: "css-backdrop-filter", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + "safari 16.5", + ], + }, + element: { + props: [ + "background", + "background-image", + "border-image", + "mask", + "list-style", + "list-style-image", + "content", + "mask-image", + ], + feature: "css-element-function", + browsers: ["firefox 114"], + }, + "user-select": { + mistakes: ["-khtml-"], + feature: "user-select-none", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + "safari 16.5", + ], + }, + "background-clip": { + feature: "background-clip-text", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + hyphens: { + feature: "css-hyphens", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + "safari 16.5", + ], + }, + fill: { + props: [ + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "inline-size", + "min-inline-size", + "max-inline-size", + "block-size", + "min-block-size", + "max-block-size", + "grid", + "grid-template", + "grid-template-rows", + "grid-template-columns", + "grid-auto-columns", + "grid-auto-rows", + ], + feature: "intrinsic-width", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "fill-available": { + props: [ + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "inline-size", + "min-inline-size", + "max-inline-size", + "block-size", + "min-block-size", + "max-block-size", + "grid", + "grid-template", + "grid-template-rows", + "grid-template-columns", + "grid-auto-columns", + "grid-auto-rows", + ], + feature: "intrinsic-width", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + stretch: { + props: [ + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "inline-size", + "min-inline-size", + "max-inline-size", + "block-size", + "min-block-size", + "max-block-size", + "grid", + "grid-template", + "grid-template-rows", + "grid-template-columns", + "grid-auto-columns", + "grid-auto-rows", + ], + feature: "intrinsic-width", + browsers: ["firefox 114"], + }, + "fit-content": { + props: [ + "width", + "min-width", + "max-width", + "height", + "min-height", + "max-height", + "inline-size", + "min-inline-size", + "max-inline-size", + "block-size", + "min-block-size", + "max-block-size", + "grid", + "grid-template", + "grid-template-rows", + "grid-template-columns", + "grid-auto-columns", + "grid-auto-rows", + ], + feature: "intrinsic-width", + browsers: ["firefox 114"], + }, + "text-decoration-style": { + feature: "text-decoration", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + ], + }, + "text-decoration-color": { + feature: "text-decoration", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + ], + }, + "text-decoration-line": { + feature: "text-decoration", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + ], + }, + "text-decoration": { + feature: "text-decoration", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + ], + }, + "text-decoration-skip": { + feature: "text-decoration", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + ], + }, + "text-decoration-skip-ink": { + feature: "text-decoration", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + ], + }, + "text-size-adjust": { + feature: "text-size-adjust", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + ], + }, + "mask-clip": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-composite": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-image": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-origin": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-repeat": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-border-repeat": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-border-source": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + mask: { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-position": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-size": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-border": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-border-outset": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-border-width": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "mask-border-slice": { + feature: "css-masks", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + "clip-path": { feature: "css-clip-path", browsers: ["samsung 21"] }, + "box-decoration-break": { + feature: "css-boxdecorationbreak", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + "opera 99", + "safari 16.5", + "samsung 21", + ], + }, + appearance: { feature: "css-appearance", browsers: ["samsung 21"] }, + "image-set": { + props: [ + "background", + "background-image", + "border-image", + "cursor", + "mask", + "mask-image", + "list-style", + "list-style-image", + "content", + ], + feature: "css-image-set", + browsers: ["and_uc 15.5", "chrome 109", "samsung 21"], + }, + "cross-fade": { + props: [ + "background", + "background-image", + "border-image", + "mask", + "list-style", + "list-style-image", + "content", + "mask-image", + ], + feature: "css-cross-fade", + browsers: [ + "and_chr 114", + "and_uc 15.5", + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + "samsung 21", + ], + }, + isolate: { + props: ["unicode-bidi"], + feature: "css-unicode-bidi", + browsers: [ + "ios_saf 16.1", + "ios_saf 16.3", + "ios_saf 16.4", + "ios_saf 16.5", + "safari 16.5", + ], + }, + "color-adjust": { + feature: "css-color-adjust", + browsers: [ + "chrome 109", + "chrome 113", + "chrome 114", + "edge 114", + "opera 99", + ], + }, + }; + }); + var rb = v((eq, tb) => { + l(); + tb.exports = {}; + }); + var ab = v((tq, sb) => { + l(); + var EO = Wo(), + { agents: TO } = ($n(), Ln), + ru = ym(), + PO = pt(), + DO = Kw(), + IO = eb(), + qO = rb(), + ib = { browsers: TO, prefixes: IO }, + nb = ` + Replace Autoprefixer \`browsers\` option to Browserslist config. + Use \`browserslist\` key in \`package.json\` or \`.browserslistrc\` file. + + Using \`browsers\` option can cause errors. Browserslist config can + be used for Babel, Autoprefixer, postcss-normalize and other tools. + + If you really need to use option, rename it to \`overrideBrowserslist\`. + + Learn more at: + https://github.com/browserslist/browserslist#readme + https://twitter.com/browserslist + +`; + function RO(i) { + return Object.prototype.toString.apply(i) === "[object Object]"; + } + var iu = new Map(); + function MO(i, e) { + e.browsers.selected.length !== 0 && + (e.add.selectors.length > 0 || + Object.keys(e.add).length > 2 || + i.warn(`Autoprefixer target browsers do not need any prefixes.You do not need Autoprefixer anymore. +Check your Browserslist config to be sure that your targets are set up correctly. + + Learn more at: + https://github.com/postcss/autoprefixer#readme + https://github.com/browserslist/browserslist#readme + +`)); + } + sb.exports = nr; + function nr(...i) { + let e; + if ( + (i.length === 1 && RO(i[0]) + ? ((e = i[0]), (i = void 0)) + : i.length === 0 || (i.length === 1 && !i[0]) + ? (i = void 0) + : i.length <= 2 && (Array.isArray(i[0]) || !i[0]) + ? ((e = i[1]), (i = i[0])) + : typeof i[i.length - 1] == "object" && (e = i.pop()), + e || (e = {}), + e.browser) + ) + throw new Error( + "Change `browser` option to `overrideBrowserslist` in Autoprefixer", + ); + if (e.browserslist) + throw new Error( + "Change `browserslist` option to `overrideBrowserslist` in Autoprefixer", + ); + e.overrideBrowserslist + ? (i = e.overrideBrowserslist) + : e.browsers && + (typeof console != "undefined" && + console.warn && + (ru.red + ? console.warn( + ru.red( + nb.replace(/`[^`]+`/g, (n) => ru.yellow(n.slice(1, -1))), + ), + ) + : console.warn(nb)), + (i = e.browsers)); + let t = { + ignoreUnknownVersions: e.ignoreUnknownVersions, + stats: e.stats, + env: e.env, + }; + function r(n) { + let a = ib, + s = new PO(a.browsers, i, n, t), + o = s.selected.join(", ") + JSON.stringify(e); + return iu.has(o) || iu.set(o, new DO(a.prefixes, s, e)), iu.get(o); + } + return { + postcssPlugin: "autoprefixer", + prepare(n) { + let a = r({ from: n.opts.from, env: e.env }); + return { + OnceExit(s) { + MO(n, a), + e.remove !== !1 && a.processor.remove(s, n), + e.add !== !1 && a.processor.add(s, n); + }, + }; + }, + info(n) { + return (n = n || {}), (n.from = n.from || h.cwd()), qO(r(n)); + }, + options: e, + browsers: i, + }; + } + nr.postcss = !0; + nr.data = ib; + nr.defaults = EO.defaults; + nr.info = () => nr().info(); + }); + var ob = {}; + Ae(ob, { default: () => BO }); + var BO, + lb = C(() => { + l(); + BO = []; + }); + var fb = {}; + Ae(fb, { default: () => FO }); + var ub, + FO, + cb = C(() => { + l(); + hi(); + (ub = K(bi())), (FO = Ze(ub.default.theme)); + }); + var db = {}; + Ae(db, { default: () => NO }); + var pb, + NO, + hb = C(() => { + l(); + hi(); + (pb = K(bi())), (NO = Ze(pb.default)); + }); + l(); + ("use strict"); + var LO = Je(mm()), + $O = Je(ge()), + jO = Je(ab()), + zO = Je((lb(), ob)), + VO = Je((cb(), fb)), + UO = Je((hb(), db)), + WO = Je((Zn(), ku)), + GO = Je((wo(), yo)), + HO = Je((hs(), tf)); + function Je(i) { + return i && i.__esModule ? i : { default: i }; + } + console.warn( + "cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation", + ); + var Hn = "tailwind", + nu = "text/tailwindcss", + mb = "/template.html", + xt, + gb = !0, + yb = 0, + su = new Set(), + au, + wb = "", + bb = (i = !1) => ({ + get(e, t) { + return (!i || t === "config") && + typeof e[t] == "object" && + e[t] !== null + ? new Proxy(e[t], bb()) + : e[t]; + }, + set(e, t, r) { + return (e[t] = r), (!i || t === "config") && ou(!0), !0; + }, + }); + window[Hn] = new Proxy( + { + config: {}, + defaultTheme: VO.default, + defaultConfig: UO.default, + colors: WO.default, + plugin: GO.default, + resolveConfig: HO.default, + }, + bb(!0), + ); + function vb(i) { + au.observe(i, { + attributes: !0, + attributeFilter: ["type"], + characterData: !0, + subtree: !0, + childList: !0, + }); + } + new MutationObserver(async (i) => { + let e = !1; + if (!au) { + au = new MutationObserver(async () => await ou(!0)); + for (let t of document.querySelectorAll(`style[type="${nu}"]`)) vb(t); + } + for (let t of i) + for (let r of t.addedNodes) + r.nodeType === 1 && + r.tagName === "STYLE" && + r.getAttribute("type") === nu && + (vb(r), (e = !0)); + await ou(e); + }).observe(document.documentElement, { + attributes: !0, + attributeFilter: ["class"], + childList: !0, + subtree: !0, + }); + async function ou(i = !1) { + i && (yb++, su.clear()); + let e = ""; + for (let r of document.querySelectorAll(`style[type="${nu}"]`)) + e += r.textContent; + let t = new Set(); + for (let r of document.querySelectorAll("[class]")) + for (let n of r.classList) su.has(n) || t.add(n); + if ( + document.body && + (gb || t.size > 0 || e !== wb || !xt || !xt.isConnected) + ) { + for (let n of t) su.add(n); + (gb = !1), (wb = e), (self[mb] = Array.from(t).join(" ")); + let { css: r } = await (0, $O.default)([ + (0, LO.default)({ + ...window[Hn].config, + _hash: yb, + content: [mb], + plugins: [ + ...zO.default, + ...(Array.isArray(window[Hn].config.plugins) + ? window[Hn].config.plugins + : []), + ], + }), + (0, jO.default)({ remove: !1 }), + ]).process( + `@tailwind base;@tailwind components;@tailwind utilities;${e}`, + ); + (!xt || !xt.isConnected) && + ((xt = document.createElement("style")), document.head.append(xt)), + (xt.textContent = r); + } + } +})(); +/*! https://mths.be/cssesc v3.0.0 by @mathias */ diff --git a/views/auth/login.eta b/views/auth/login.eta new file mode 100644 index 0000000..e1d29dc --- /dev/null +++ b/views/auth/login.eta @@ -0,0 +1,12 @@ +
+ + + + <% if (error) { %> + <%= error %> + <% } %> +
+
or you can move in here. + diff --git a/views/auth/register.eta b/views/auth/register.eta new file mode 100644 index 0000000..a80d261 --- /dev/null +++ b/views/auth/register.eta @@ -0,0 +1,10 @@ +
+ + + + <% if (error) { %> + <%= error %> + <% } %> +
diff --git a/views/index.html b/views/index.html new file mode 100644 index 0000000..e69de29 diff --git a/views/workshop/editor.eta b/views/workshop/editor.eta new file mode 100644 index 0000000..baf8ec3 --- /dev/null +++ b/views/workshop/editor.eta @@ -0,0 +1,29 @@ + + + + + + + +
+
+
Workshop - <%- include('/workshop/structure_name', {structure: it.structure}) %> +
+
+
+
+
+ <%- include('/workshop/sidebar') %> +
+
+
+ +
+ +
+
+
+
+ + + \ No newline at end of file diff --git a/views/workshop/index.eta b/views/workshop/index.eta new file mode 100644 index 0000000..2703b58 --- /dev/null +++ b/views/workshop/index.eta @@ -0,0 +1,24 @@ + + + + + + + + + + <% structures.map(structure => { %> + + <%= structure.name %> + + <% }) %> + + diff --git a/views/workshop/sidebar.eta b/views/workshop/sidebar.eta new file mode 100644 index 0000000..fe0c852 --- /dev/null +++ b/views/workshop/sidebar.eta @@ -0,0 +1 @@ +sdf \ No newline at end of file diff --git a/views/workshop/structure_name.eta b/views/workshop/structure_name.eta new file mode 100644 index 0000000..6ebb117 --- /dev/null +++ b/views/workshop/structure_name.eta @@ -0,0 +1,2 @@ +
structure<%= it.structure.name %>
+ \ No newline at end of file