From 4196a0f200823130a4ed6637b363eb8a4da77acb Mon Sep 17 00:00:00 2001 From: Christian Hellsten Date: Wed, 8 May 2024 16:05:55 +0300 Subject: [PATCH] Update dependencies --- README.md | 117 +- dist/index.4de9b498.js | 25 +- dist/index.4de9b498.js.map | 2 +- dist/index.7388f1a7.css | 19 - dist/index.7388f1a7.css.map | 2 +- package.json | 2 +- yarn.lock | 3361 +++++++++++++++++------------------ 7 files changed, 1742 insertions(+), 1786 deletions(-) diff --git a/README.md b/README.md index 574cf2a..3891950 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ To run the Ollama UI using [Caddy](https://caddyserver.com/), execute the follow ```bash $ git clone git@github.com:christianhellsten/ollama-html-ui.git +$ brew install caddy $ caddy run ``` @@ -88,18 +89,27 @@ $ docker build -t ollama-html-ui . $ docker run -p 80:80 ollama-html-ui ``` -
- Contributing -Clone the repository: +**Using Parcel** + +First, clone the repository and install the dependencies: ```bash $ git clone git@github.com:christianhellsten/ollama-html-ui.git $ cd ollama-html-ui -$ yarn global add parcel-bundler +$ yarn add --dev parcel # Alternatively, use npm: -# npm install -g parcel-bundler -$ npm install -$ parcel index.html +# npm install --save-dev parcel +``` + +Run the ollama-html-ui using parcel: + +```bash +$ yarn parcel index.html +``` + +Open the UI using a browser: + +```bash $ open http://locahost:1234 ``` @@ -119,53 +129,53 @@ $ node test ```bash $ parcel build index.html ``` +
-
Tasks - - [ ] Personas / Characters / Custom GPTs - - [ ] Ollama authentication - - [ ] Edit message / response - - [ ] Clear chat - - [ ] CSP - - [ ] Speech recognition - - [ ] Image upload / multi-modal - - [ ] Markdown support - - [ ] Fork chat - - [ ] Fork chat before / after message - - ## Done - - - [x] Mark message as good, bad, flagged - - [x] Export chat messages to JSON - - [x] Keyboard shortcuts - - [x] Dark & light theme - - [x] Export chat messages to JSON - - [x] Keyboard shortcuts - - [x] Keyboard shortcuts - - [x] Dark & light theme - - [x] Delete message / response - - [x] Ollama chat API / chat memory - - [x] IndexedDB persistence - - [x] Model parameters - - [x] System prompt - - [x] Copy message to clipboard - - [x] Select model in settings (global) - - [x] Select model in chat (local) - - [x] Search chats - - [x] Delete Chat - - [x] Select model - - [x] Save settings - - [x] View settings - - [x] Clear chats - - [x] Edit chat - - [x] New chat - - [x] Abort response - - [x] Send message - - [x] UI tests: https://nodejs.org/api/test.html +- [ ] Personas / Characters / Custom GPTs +- [ ] Ollama authentication +- [ ] Edit message / response +- [ ] Clear chat +- [ ] CSP +- [ ] Speech recognition +- [ ] Image upload / multi-modal +- [ ] Markdown support +- [ ] Fork chat +- [ ] Fork chat before / after message + +## Done + +- [x] Mark message as good, bad, flagged +- [x] Export chat messages to JSON +- [x] Keyboard shortcuts +- [x] Dark & light theme +- [x] Export chat messages to JSON +- [x] Keyboard shortcuts +- [x] Keyboard shortcuts +- [x] Dark & light theme +- [x] Delete message / response +- [x] Ollama chat API / chat memory +- [x] IndexedDB persistence +- [x] Model parameters +- [x] System prompt +- [x] Copy message to clipboard +- [x] Select model in settings (global) +- [x] Select model in chat (local) +- [x] Search chats +- [x] Delete Chat +- [x] Select model +- [x] Save settings +- [x] View settings +- [x] Clear chats +- [x] Edit chat +- [x] New chat +- [x] Abort response +- [x] Send message +- [x] UI tests: https://nodejs.org/api/test.html
@@ -207,6 +217,17 @@ $ parcel build index.html +
+ Troubleshooting + If you experience compilation errors, try deleting the cache directory: + + ```bash + rm -rf .parcel-cache/ + ``` + + +
+
Licensing diff --git a/dist/index.4de9b498.js b/dist/index.4de9b498.js index 3bda07e..a10d275 100644 --- a/dist/index.4de9b498.js +++ b/dist/index.4de9b498.js @@ -142,15 +142,16 @@ this[globalName] = mainExports; } } -})({"3pyWu":[function(require,module,exports) { +})({"g0UqZ":[function(require,module,exports) { var global = arguments[3]; var HMR_HOST = null; var HMR_PORT = null; var HMR_SECURE = false; var HMR_ENV_HASH = "d6ea1d42532a7575"; +var HMR_USE_SSE = false; module.bundle.HMR_BUNDLE_ID = "2751c5c64de9b498"; "use strict"; -/* global HMR_HOST, HMR_PORT, HMR_ENV_HASH, HMR_SECURE, chrome, browser, __parcel__import__, __parcel__importScripts__, ServiceWorkerGlobalScope */ /*:: +/* global HMR_HOST, HMR_PORT, HMR_ENV_HASH, HMR_SECURE, HMR_USE_SSE, chrome, browser, __parcel__import__, __parcel__importScripts__, ServiceWorkerGlobalScope */ /*:: import type { HMRAsset, HMRMessage, @@ -189,6 +190,7 @@ declare var HMR_HOST: string; declare var HMR_PORT: string; declare var HMR_ENV_HASH: string; declare var HMR_SECURE: boolean; +declare var HMR_USE_SSE: boolean; declare var chrome: ExtensionContext; declare var browser: ExtensionContext; declare var __parcel__import__: (string) => Promise; @@ -232,7 +234,8 @@ if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== "undefined") { "0.0.0.0" ].includes(hostname) ? "wss" : "ws"; var ws; - try { + if (HMR_USE_SSE) ws = new EventSource("/__parcel_hmr"); + else try { ws = new WebSocket(protocol + "://" + hostname + (port ? ":" + port : "") + "/"); } catch (err) { if (err.message) console.error(err.message); @@ -302,12 +305,14 @@ if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== "undefined") { } } }; - ws.onerror = function(e) { - if (e.message) console.error(e.message); - }; - ws.onclose = function() { - console.warn("[parcel] \uD83D\uDEA8 Connection to the HMR server was lost"); - }; + if (ws instanceof WebSocket) { + ws.onerror = function(e) { + if (e.message) console.error(e.message); + }; + ws.onclose = function() { + console.warn("[parcel] \uD83D\uDEA8 Connection to the HMR server was lost"); + }; + } } function removeErrorOverlay() { var overlay = document.getElementById(OVERLAY_ID); @@ -2644,6 +2649,6 @@ class ChatForm { } } -},{"@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}]},["3pyWu","4pp4s"], "4pp4s", "parcelRequire461f") +},{"@parcel/transformer-js/src/esmodule-helpers.js":"gkKU3"}]},["g0UqZ","4pp4s"], "4pp4s", "parcelRequire461f") //# sourceMappingURL=index.4de9b498.js.map diff --git a/dist/index.4de9b498.js.map b/dist/index.4de9b498.js.map index 179fc7b..026fb82 100644 --- a/dist/index.4de9b498.js.map +++ b/dist/index.4de9b498.js.map @@ -1 +1 @@ -{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,WAAW;AAAK,IAAI,WAAW;AAAK,IAAI,aAAa;AAAM,IAAI,eAAe;AAAmB,OAAO,MAAM,CAAC,aAAa,GAAG;AAAmB;AAEtJ,iJAAiJ,GACjJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,GACA,IAAI,aAAa;AACjB,IAAI,YAAY,OAAO,MAAM,CAAC,MAAM;AACpC,SAAS,OAAO,UAAU;IACxB,UAAU,IAAI,CAAC,IAAI,EAAE;IACrB,IAAI,CAAC,GAAG,GAAG;QACT,MAAM,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW;QACvC,kBAAkB,EAAE;QACpB,mBAAmB,EAAE;QACrB,QAAQ,SAAU,EAAE;YAClB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,YAAa;QAChD;QACA,SAAS,SAAU,EAAE;YACnB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAC9B;IACF;IACA,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG;AACtC;AACA,OAAO,MAAM,CAAC,MAAM,GAAG;AACvB,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC;AACzB,IAAI,cAAc,0BAA0B,KAAI,gBAAgB,mCAAmC,KAAI,eAAe,mCAAmC;AAEzJ,SAAS;IACP,OAAO,YAAa,CAAA,SAAS,QAAQ,CAAC,OAAO,CAAC,YAAY,IAAI,SAAS,QAAQ,GAAG,WAAU;AAC9F;AACA,SAAS;IACP,OAAO,YAAY,SAAS,IAAI;AAClC;AAEA,wCAAwC;AACxC,IAAI,SAAS,OAAO,MAAM,CAAC,MAAM;AACjC,IAAI,AAAC,CAAA,CAAC,UAAU,CAAC,OAAO,eAAe,AAAD,KAAM,OAAO,cAAc,aAAa;IAC5E,IAAI,WAAW;IACf,IAAI,OAAO;IACX,IAAI,WAAW,cAAc,SAAS,QAAQ,IAAI,YAAY,CAAC;QAAC;QAAa;QAAa;KAAU,CAAC,QAAQ,CAAC,YAAY,QAAQ;IAClI,IAAI;IACJ,IAAI;QACF,KAAK,IAAI,UAAU,WAAW,QAAQ,WAAY,CAAA,OAAO,MAAM,OAAO,EAAC,IAAK;IAC9E,EAAE,OAAO,KAAK;QACZ,IAAI,IAAI,OAAO,EACb,QAAQ,KAAK,CAAC,IAAI,OAAO;QAE3B,KAAK,CAAC;IACR;IAEA,wBAAwB;IACxB,IAAI,SAAS,OAAO,YAAY,cAAc,OAAO,WAAW,cAAc,OAAO,SAAS;IAE9F,oDAAoD;IACpD,0DAA0D;IAC1D,IAAI,oBAAoB;IACxB,IAAI;QACD,CAAA,GAAG,IAAG,EAAG;IACZ,EAAE,OAAO,KAAK;QACZ,oBAAoB,IAAI,KAAK,CAAC,QAAQ,CAAC;IACzC;IAEA,aAAa;IACb,GAAG,SAAS,GAAG,eAAgB,MAAM,wBAAwB,GAAzB;QAClC,gBAAgB,CAAC,EAAE,0BAA0B;QAC7C,iBAAiB,EAAE;QACnB,kBAAkB,EAAE;QACpB,IAAI,KAAK,eAAe,MAAK,KAAK,KAAK,CAAC,MAAM,IAAI;QAClD,IAAI,KAAK,IAAI,KAAK,UAAU;YAC1B,uCAAuC;YACvC,IAAI,OAAO,aAAa,aACtB;YAEF,IAAI,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,CAAA,QAAS,MAAM,OAAO,KAAK;YAE3D,oBAAoB;YACpB,IAAI,UAAU,OAAO,KAAK,CAAC,CAAA;gBACzB,OAAO,MAAM,IAAI,KAAK,SAAS,MAAM,IAAI,KAAK,QAAQ,eAAe,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,YAAY;YACvH;YACA,IAAI,SAAS;gBACX,QAAQ,KAAK;gBAEb,yEAAyE;gBACzE,IAAI,OAAO,WAAW,eAAe,OAAO,gBAAgB,aAC1D,OAAO,aAAa,CAAC,IAAI,YAAY;gBAEvC,MAAM,gBAAgB;gBAEtB,0BAA0B;gBAC1B,IAAI,kBAAkB,CAAC,EAAE,0BAA0B;gBACnD,IAAK,IAAI,IAAI,GAAG,IAAI,gBAAgB,MAAM,EAAE,IAAK;oBAC/C,IAAI,KAAK,eAAe,CAAC,EAAE,CAAC,EAAE;oBAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE;wBACxB,WAAW,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE;wBAClC,eAAe,CAAC,GAAG,GAAG;oBACxB;gBACF;gBAEA,8FAA8F;gBAC9F,kBAAkB,CAAC;gBACnB,IAAK,IAAI,IAAI,GAAG,IAAI,eAAe,MAAM,EAAE,IAAK;oBAC9C,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC,EAAE;oBAC7B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE;wBACxB,UAAU,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE;wBAChC,eAAe,CAAC,GAAG,GAAG;oBACxB;gBACF;YACF,OAAO;QACT;QACA,IAAI,KAAK,IAAI,KAAK,SAAS;YACzB,+BAA+B;YAC/B,KAAK,IAAI,kBAAkB,KAAK,WAAW,CAAC,IAAI,CAAE;gBAChD,IAAI,QAAQ,eAAe,SAAS,GAAG,eAAe,SAAS,GAAG,eAAe,KAAK;gBACtF,QAAQ,KAAK,CAAC,4BAAkB,eAAe,OAAO,GAAG,OAAO,QAAQ,SAAS,eAAe,KAAK,CAAC,IAAI,CAAC;YAC7G;YACA,IAAI,OAAO,aAAa,aAAa;gBACnC,gCAAgC;gBAChC;gBACA,IAAI,UAAU,mBAAmB,KAAK,WAAW,CAAC,IAAI;gBACtD,aAAa;gBACb,SAAS,IAAI,CAAC,WAAW,CAAC;YAC5B;QACF;IACF;IACA,GAAG,OAAO,GAAG,SAAU,CAAC;QACtB,IAAI,EAAE,OAAO,EACX,QAAQ,KAAK,CAAC,EAAE,OAAO;IAE3B;IACA,GAAG,OAAO,GAAG;QACX,QAAQ,IAAI,CAAC;IACf;AACF;AACA,SAAS;IACP,IAAI,UAAU,SAAS,cAAc,CAAC;IACtC,IAAI,SAAS;QACX,QAAQ,MAAM;QACd,QAAQ,GAAG,CAAC;IACd;AACF;AACA,SAAS,mBAAmB,WAAW;IACrC,IAAI,UAAU,SAAS,aAAa,CAAC;IACrC,QAAQ,EAAE,GAAG;IACb,IAAI,YAAY;IAChB,KAAK,IAAI,cAAc,YAAa;QAClC,IAAI,QAAQ,WAAW,MAAM,CAAC,MAAM,GAAG,WAAW,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG;YAClE,OAAO,CAAC,EAAE,EAAE;sCACoB,EAAE,mBAAmB,MAAM,QAAQ,EAAE,2FAA2F,EAAE,MAAM,QAAQ,CAAC;AACvL,EAAE,MAAM,IAAI,CAAC,CAAC;QACV,GAAG,MAAM,WAAW,KAAK;QACzB,aAAa,CAAC;;;oBAGL,EAAE,WAAW,OAAO,CAAC;;aAErB,EAAE,MAAM;;UAEX,EAAE,WAAW,KAAK,CAAC,GAAG,CAAC,CAAA,OAAQ,uBAAa,OAAO,UAAU,IAAI,CAAC,IAAI;;QAExE,EAAE,WAAW,aAAa,GAAG,CAAC,8CAAuC,EAAE,WAAW,aAAa,CAAC,sCAAsC,CAAC,GAAG,GAAG;;IAEjJ,CAAC;IACH;IACA,aAAa;IACb,QAAQ,SAAS,GAAG;IACpB,OAAO;AACT;AACA,SAAS;IACP,IAAI,YAAY,UACd,SAAS,MAAM;SACV,IAAI,UAAU,OAAO,OAAO,IAAI,OAAO,OAAO,CAAC,MAAM,EAC1D,OAAO,OAAO,CAAC,MAAM;AAEzB;AACA,SAAS,WAAW,MAAM,EAAE,EAAE,EAAE,mCAAmC;IACjE,IAAI,UAAU,OAAO,OAAO;IAC5B,IAAI,CAAC,SACH,OAAO,EAAE;IAEX,IAAI,UAAU,EAAE;IAChB,IAAI,GAAG,GAAG;IACV,IAAK,KAAK,QACR,IAAK,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAE;QACvB,MAAM,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QACtB,IAAI,QAAQ,MAAM,MAAM,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,KAAK,IAC9D,QAAQ,IAAI,CAAC;YAAC;YAAQ;SAAE;IAE5B;IAEF,IAAI,OAAO,MAAM,EACf,UAAU,QAAQ,MAAM,CAAC,WAAW,OAAO,MAAM,EAAE;IAErD,OAAO;AACT;AACA,SAAS,WAAW,IAAI;IACtB,IAAI,OAAO,KAAK,YAAY,CAAC;IAC7B,IAAI,CAAC,MACH;IAEF,IAAI,UAAU,KAAK,SAAS;IAC5B,QAAQ,MAAM,GAAG;QACf,IAAI,KAAK,UAAU,KAAK,MACtB,aAAa;QACb,KAAK,UAAU,CAAC,WAAW,CAAC;IAEhC;IACA,QAAQ,YAAY,CAAC,QACrB,aAAa;IACb,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,KAAK,GAAG;IACnC,aAAa;IACb,KAAK,UAAU,CAAC,YAAY,CAAC,SAAS,KAAK,WAAW;AACxD;AACA,IAAI,aAAa;AACjB,SAAS;IACP,IAAI,YACF;IAEF,aAAa,WAAW;QACtB,IAAI,QAAQ,SAAS,gBAAgB,CAAC;QACtC,IAAK,IAAI,IAAI,GAAG,IAAI,MAAM,MAAM,EAAE,IAAK;YACrC,gCAAgC;YAChC,IAAI,KAAK,WAAW,MAAK,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC;YAC/C,IAAI,WAAW;YACf,IAAI,sBAAsB,aAAa,cAAc,IAAI,OAAO,mDAAmD,WAAW,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,WAAW,MAAM;YACzK,IAAI,WAAW,gBAAgB,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,MAAM,MAAM,KAAK,CAAC;YACrF,IAAI,CAAC,UACH,WAAW,KAAK,CAAC,EAAE;QAEvB;QACA,aAAa;IACf,GAAG;AACL;AACA,SAAS,YAAY,KAAK;IACxB,IAAI,MAAM,IAAI,KAAK,MAAM;QACvB,IAAI,OAAO,aAAa,aAAa;YACnC,IAAI,SAAS,SAAS,aAAa,CAAC;YACpC,OAAO,GAAG,GAAG,MAAM,GAAG,GAAG,QAAQ,KAAK,GAAG;YACzC,IAAI,MAAM,YAAY,KAAK,YACzB,OAAO,IAAI,GAAG;YAEhB,OAAO,IAAI,QAAQ,CAAC,SAAS;gBAC3B,IAAI;gBACJ,OAAO,MAAM,GAAG,IAAM,QAAQ;gBAC9B,OAAO,OAAO,GAAG;gBAChB,CAAA,iBAAiB,SAAS,IAAI,AAAD,MAAO,QAAQ,mBAAmB,KAAK,KAAK,eAAe,WAAW,CAAC;YACvG;QACF,OAAO,IAAI,OAAO,kBAAkB,YAAY;YAC9C,iBAAiB;YACjB,IAAI,MAAM,YAAY,KAAK,YACzB,OAAO,OAAmB,MAAM,GAAG,GAAG,QAAQ,KAAK,GAAG;iBAEtD,OAAO,IAAI,QAAQ,CAAC,SAAS;gBAC3B,IAAI;oBACF,cAA0B,MAAM,GAAG,GAAG,QAAQ,KAAK,GAAG;oBACtD;gBACF,EAAE,OAAO,KAAK;oBACZ,OAAO;gBACT;YACF;QAEJ;IACF;AACF;AACA,eAAe,gBAAgB,MAAM;IACnC,OAAO,eAAe,GAAG,OAAO,MAAM,CAAC;IACvC,IAAI;IACJ,IAAI;QACF,kEAAkE;QAClE,gEAAgE;QAChE,gEAAgE;QAChE,mDAAmD;QACnD,iDAAiD;QACjD,mDAAmD;QACnD,IAAI,CAAC,mBAAmB;YACtB,IAAI,WAAW,OAAO,GAAG,CAAC,CAAA;gBACxB,IAAI;gBACJ,OAAO,AAAC,CAAA,eAAe,YAAY,MAAK,MAAO,QAAQ,iBAAiB,KAAK,IAAI,KAAK,IAAI,aAAa,KAAK,CAAC,CAAA;oBAC3G,oBAAoB;oBACpB,IAAI,UAAU,OAAO,OAAO,IAAI,OAAO,OAAO,CAAC,WAAW,GAAG,gBAAgB,IAAI,KAAK,OAAO,4BAA4B,eAAe,kBAAkB,0BAA0B;wBAClL,OAAO,OAAO,CAAC,MAAM;wBACrB;oBACF;oBACA,MAAM;gBACR;YACF;YACA,kBAAkB,MAAM,QAAQ,GAAG,CAAC;QACtC;QACA,OAAO,OAAO,CAAC,SAAU,KAAK;YAC5B,SAAS,OAAO,MAAM,CAAC,IAAI,EAAE;QAC/B;IACF,SAAU;QACR,OAAO,OAAO,eAAe;QAC7B,IAAI,iBACF,gBAAgB,OAAO,CAAC,CAAA;YACtB,IAAI,QAAQ;gBACV,IAAI;gBACH,CAAA,kBAAkB,SAAS,IAAI,AAAD,MAAO,QAAQ,oBAAoB,KAAK,KAAK,gBAAgB,WAAW,CAAC;YAC1G;QACF;IAEJ;AACF;AACA,SAAS,SAAS,OAAO,kBAAkB,GAAnB,EAAuB,MAAM,cAAc,GAAf;IAClD,IAAI,UAAU,OAAO,OAAO;IAC5B,IAAI,CAAC,SACH;IAEF,IAAI,MAAM,IAAI,KAAK,OACjB;SACK,IAAI,MAAM,IAAI,KAAK,MAAM;QAC9B,IAAI,OAAO,MAAM,YAAY,CAAC,OAAO,aAAa,CAAC;QACnD,IAAI,MAAM;YACR,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE;gBACrB,iEAAiE;gBACjE,oHAAoH;gBACpH,IAAI,UAAU,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;gBAClC,IAAK,IAAI,OAAO,QACd,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;oBAC5C,IAAI,KAAK,OAAO,CAAC,IAAI;oBACrB,IAAI,UAAU,WAAW,OAAO,MAAM,CAAC,IAAI,EAAE;oBAC7C,IAAI,QAAQ,MAAM,KAAK,GACrB,UAAU,OAAO,MAAM,CAAC,IAAI,EAAE;gBAElC;YAEJ;YACA,IAAI,mBAGF,AAFA,4DAA4D;YAC5D,+CAA+C;YAC9C,CAAA,GAAG,IAAG,EAAG,MAAM,MAAM;YAGxB,aAAa;YACb,IAAI,KAAK,OAAO,eAAe,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG;gBAAC;gBAAI;aAAK;QAChC,OAAO,IAAI,OAAO,MAAM,EACtB,SAAS,OAAO,MAAM,EAAE;IAE5B;AACF;AACA,SAAS,UAAU,MAAM,EAAE,EAAE;IAC3B,IAAI,UAAU,OAAO,OAAO;IAC5B,IAAI,CAAC,SACH;IAEF,IAAI,OAAO,CAAC,GAAG,EAAE;QACf,8EAA8E;QAC9E,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE;QACzB,IAAI,UAAU,EAAE;QAChB,IAAK,IAAI,OAAO,KAAM;YACpB,IAAI,UAAU,WAAW,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI;YACtD,IAAI,QAAQ,MAAM,KAAK,GACrB,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI;QAE1B;QAEA,sGAAsG;QACtG,OAAO,OAAO,CAAC,GAAG;QAClB,OAAO,OAAO,KAAK,CAAC,GAAG;QAEvB,0BAA0B;QAC1B,QAAQ,OAAO,CAAC,CAAA;YACd,UAAU,OAAO,MAAM,CAAC,IAAI,EAAE;QAChC;IACF,OAAO,IAAI,OAAO,MAAM,EACtB,UAAU,OAAO,MAAM,EAAE;AAE7B;AACA,SAAS,eAAe,OAAO,kBAAkB,GAAnB,EAAuB,GAAG,WAAW,GAAZ,EAAgB,aAAa,uCAAuC,GAAxC;IACjF,IAAI,kBAAkB,QAAQ,IAAI,eAChC,OAAO;IAGT,uGAAuG;IACvG,IAAI,UAAU,WAAW,OAAO,MAAM,CAAC,IAAI,EAAE;IAC7C,IAAI,WAAW;IACf,MAAO,QAAQ,MAAM,GAAG,EAAG;QACzB,IAAI,IAAI,QAAQ,KAAK;QACrB,IAAI,IAAI,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;QACtC,IAAI,GACF,+EAA+E;QAC/E,WAAW;aACN;YACL,yDAAyD;YACzD,IAAI,IAAI,WAAW,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YAC3C,IAAI,EAAE,MAAM,KAAK,GAAG;gBAClB,kFAAkF;gBAClF,WAAW;gBACX;YACF;YACA,QAAQ,IAAI,IAAI;QAClB;IACF;IACA,OAAO;AACT;AACA,SAAS,kBAAkB,OAAO,kBAAkB,GAAnB,EAAuB,GAAG,WAAW,GAAZ,EAAgB,aAAa,uCAAuC,GAAxC;IACpF,IAAI,UAAU,OAAO,OAAO;IAC5B,IAAI,CAAC,SACH;IAEF,IAAI,gBAAgB,CAAC,YAAY,CAAC,OAAO,aAAa,CAAC,EAAE;QACvD,2EAA2E;QAC3E,yEAAyE;QACzE,IAAI,CAAC,OAAO,MAAM,EAChB,OAAO;QAET,OAAO,eAAe,OAAO,MAAM,EAAE,IAAI;IAC3C;IACA,IAAI,aAAa,CAAC,GAAG,EACnB,OAAO;IAET,aAAa,CAAC,GAAG,GAAG;IACpB,IAAI,SAAS,OAAO,KAAK,CAAC,GAAG;IAC7B,gBAAgB,IAAI,CAAC;QAAC;QAAQ;KAAG;IACjC,IAAI,CAAC,UAAU,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAC/D,eAAe,IAAI,CAAC;YAAC;YAAQ;SAAG;QAChC,OAAO;IACT;AACF;AACA,SAAS,WAAW,OAAO,kBAAkB,GAAnB,EAAuB,GAAG,WAAW,GAAZ;IACjD,IAAI,SAAS,OAAO,KAAK,CAAC,GAAG;IAC7B,OAAO,OAAO,CAAC,GAAG,GAAG,CAAC;IACtB,IAAI,UAAU,OAAO,GAAG,EACtB,OAAO,GAAG,CAAC,IAAI,GAAG,OAAO,OAAO,CAAC,GAAG;IAEtC,IAAI,UAAU,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAC7D,OAAO,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAU,EAAE;QAC/C,GAAG,OAAO,OAAO,CAAC,GAAG;IACvB;IAEF,OAAO,OAAO,KAAK,CAAC,GAAG;AACzB;AACA,SAAS,UAAU,OAAO,kBAAkB,GAAnB,EAAuB,GAAG,WAAW,GAAZ;IAChD,sBAAsB;IACtB,OAAO;IAEP,6DAA6D;IAC7D,IAAI,SAAS,OAAO,KAAK,CAAC,GAAG;IAC7B,IAAI,UAAU,OAAO,GAAG,IAAI,OAAO,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAC5D,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAU,EAAE;QAC9C,IAAI,qBAAqB,GAAG;YAC1B,OAAO,WAAW,OAAO,MAAM,CAAC,IAAI,EAAE;QACxC;QACA,IAAI,sBAAsB,eAAe,MAAM,EAAE;YAC/C,mBAAmB,OAAO,CAAC,SAAU,CAAC;gBACpC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;YACvB;YAEA,+BAA+B;YAC/B,eAAe,IAAI,CAAC,KAAK,CAAC,gBAAgB;QAC5C;IACF;AAEJ;;;AChfA;AACA;AACA;AAEA,iBAAiB;AACjB,eAAe;IACb,MAAM,CAAA,GAAA,YAAI,AAAD,EAAE,UAAU;IACrB,MAAM,CAAA,GAAA,0BAAW,AAAD,EAAE,UAAU;AAC9B;AAEA,aAAa,IAAI,CAAC;IAChB,CAAA,GAAA,UAAG,AAAD,EAAE,GAAG;AACT;;;;;ACIA,4BAA4B;AAC5B,yCAAa;AAjBb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AAGO,MAAM;IACX,OAAO,MAAM;QACX,CAAA,GAAA,gCAAc,AAAD,EAAE,UAAU;QACzB,MAAM,MAAM,IAAI;QAChB,OAAO;IACT;IAEA,aAAc;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA,GAAA,kBAAO,AAAD;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA,GAAA,oBAAQ,AAAD;QAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA,GAAA,sBAAS,AAAD;QACvB,8BAA8B;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA,GAAA,gCAAc,AAAD,EAAE;YACvC,OAAO;YACP,UAAU;YACV,OAAO;YACP,YAAY;QACd;QACA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA,GAAA,wCAAkB,AAAD,EAAE;YAC/C,OAAO;YACP,UAAU;YACV,OAAO;YACP,YAAY;QACd;QACA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA,GAAA,gCAAc,AAAD;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA,GAAA,wBAAU,AAAD;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA,GAAA,4BAAY,AAAD;QACnC,IAAI,CAAC,kBAAkB;QACvB,IAAI,CAAC,kBAAkB;QACvB,IAAI,CAAC,iBAAiB;IACxB;IAEA,qBAAqB;QACnB,4DAA4D;QAC5D,IAAI,CAAC,WAAW,GAAG,SAAS,cAAc,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,SAAS,cAAc,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,SAAS,cAAc,CAAC;IAC7C;IAEA,oBAAoB;QAClB,MAAM,MAAM,CAAC;aACJ,EAAE,CAAA,GAAA,oBAAQ,AAAD,EAAE,QAAQ,GAAG;aACtB,EAAE,CAAA,GAAA,oBAAQ,AAAD,EAAE,MAAM,GAAG;aACpB,EAAE,CAAA,GAAA,oBAAQ,AAAD,EAAE,gBAAgB,GAAG;aAC9B,EAAE,KAAK,SAAS,CAAC,CAAA,GAAA,oBAAQ,AAAD,EAAE,kBAAkB,IAAI;AAC7D,CAAC;QACG,QAAQ,GAAG,CAAC;IACd;IAEA,qBAAqB;QACnB,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,kBAAkB;QACpD,0EAA0E;QAC1E,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI;QACrE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChC,YACA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI;IAEjC;IAEA,qBAAqB,CAAC;QACpB,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,EAAE;IAEF,cAAc;QACZ,IAAI,CAAC,GAAG,CAAC,KAAK;QACd,IAAI,CAAC,UAAU;QACf,QAAQ,GAAG,CAAC;IACd,EAAE;IAEF,iBAAiB,CAAC;QAChB,IAAI,MAAM,GAAG,KAAK,WAAW,CAAC,MAAM,QAAQ,EAC1C,IAAI,CAAC,WAAW;IAEpB,EAAE;IAEF,aAAa;QACX,CAAA,GAAA,UAAG,AAAD,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,YAAY;QAC/D,IAAI,CAAC,YAAY,CAAC,KAAK;IACzB;IAEA,cAAc;QACZ,CAAA,GAAA,UAAG,AAAD,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY;IAClE;IAEA,kFAAkF;IAClF,MAAM,cAAc;QAClB,MAAM,aAAa,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI;QAC/C,uBAAuB;QACvB,IAAI,OAAO,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,cAAc;QAC7C,MAAM,MAAM,CAAA,GAAA,oBAAQ,AAAD,EAAE,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK;YACR,CAAA,GAAA,gCAAc,AAAD,EAAE,IAAI,CACjB;YAEF,OAAO;QACT;QACA,IAAI,YAAY;YACd,cAAc;YACd,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG;YAC1B,kBAAkB;YAClB,IAAI,CAAC,MACH,OAAO,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,UAAU,CAAC;gBACpC,OAAO;gBACP,OAAO,CAAA,GAAA,oBAAQ,AAAD,EAAE,QAAQ;YAC1B;YAEF,qBAAqB;YACrB,MAAM,cAAc,MAAM,KAAK,UAAU,CAAC;gBACxC,MAAM;gBACN,SAAS;YACX;YACA,MAAM,gBAAgB,MAAM,KAAK,UAAU,CAAC;gBAC1C,MAAM;gBACN,SAAS;YACX;YACA,MAAM,eAAe,CAAA,GAAA,oBAAQ,AAAD,EAAE,eAAe;YAC7C,MAAM,kBAAkB,CAAA,GAAA,oBAAQ,AAAD,EAAE,kBAAkB;YACnD,eAAe;YACf,IAAI,CAAC,WAAW;YAChB,sBAAsB;YACtB,IAAI,CAAC,iBAAiB,CAAC;YACvB,kCAAkC;YAClC,MAAM,kBAAkB,IAAI,CAAC,iBAAiB,CAAC;YAC/C,MAAM,iBAAiB;gBACrB;gBACA;gBACA;gBACA;YACF;YACA,MAAM,cAAc,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAC5C,MACA,aACA,cACA;YAEF;;;;;;;;;;;;;;;;;;MAkBA,GACA,eAAe;YACf,gBAAgB,WAAW,CAAC,SAAS,GAAG;YACxC,IAAI,CAAC,QAAQ,CAAC,WAAW;YACzB,eAAe;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,KACA,aACA,CAAC,SAAS,WACR,IAAI,CAAC,cAAc,CAAC,SAAS,UAAU,iBACzC,CAAC,SAAS,QAAU,IAAI,CAAC,mBAAmB,CAAC,SAAS,QACtD,CAAC,SAAS,WACR,IAAI,CAAC,UAAU,CAAC,SAAS,UAAU;QAEzC;IACF;IAEA,kBAAkB,OAAO,EAAE;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACxC;IAEA,eAAe,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;QACzC,MAAM,kBAAkB,QAAQ,eAAe;QAC/C,MAAM,mBAAmB,IAAI,CAAC,eAAe,CAAC;QAC9C,6BAA6B;QAC7B,QAAQ,aAAa,CAAC,OAAO,IAAI;QACjC,gBAAgB,WAAW,CAAC,WAAW,IAAI;QAC3C,IAAI,CAAC,QAAQ,CAAC,WAAW;IAC3B;IAEA,oBAAoB,OAAO,EAAE,KAAK,EAAE;QAClC,wBAAwB;QACxB,IAAI,UAAU,aAAa,MAAM,IAAI,KAAK,cACxC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,QAAQ,CAAC,WAAW;QACzB,IAAI,CAAC,UAAU;IACjB;IAEA,MAAM,WAAW,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE;QAC3C,MAAM,OAAO,QAAQ,IAAI;QACzB,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC;QAClC,MAAM,QAAQ,aAAa,CAAC,IAAI;QAChC,IAAI,CAAC,UAAU;IACjB;IAEA,kBAAkB,CAAC;QACjB,gCAAgC;QAChC,OAAO;IACT,EAAE;IAEF,aAAa;QACX,OAAO,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG;IAC9D,EAAE;AACJ;;;;;ACtNA,+CAA+C;AAC/C;;;;;;AAMA,GAEA,oDAAa;AAnBb,SAAS,WAAW,GAAG;IACrB,IAAI,OAAO;IACX,IAAK,IAAI,IAAI,GAAG,IAAI,IAAI,MAAM,EAAE,IAAK;QACnC,MAAM,OAAO,IAAI,UAAU,CAAC;QAC5B,OAAO,AAAC,CAAA,QAAQ,CAAA,IAAK,OAAO;QAC5B,OAAO,OAAO,MAAM,2BAA2B;IACjD;IACA,OAAO;AACT;AAWO,MAAM;IACX,YAAY,OAAO,EAAE,IAAI,EAAE,WAAW,CAAE;QACtC,MAAM,KAAK,WAAW,KAAK,SAAS,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,CAAC,KAAK,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI;QAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,cAAc,CAAC,yBAAyB,OAAO;QACxE,IAAI,CAAC,mBAAmB;QACxB,IAAI,aACF,IAAI,CAAC,WAAW;IAEpB;IAEA,sBAAsB;QACpB,OAAO,gBAAgB,CAAC,WAAW,CAAC;YAClC,IAAI,MAAM,GAAG,KAAK,UAChB,IAAI,CAAC,IAAI;QAEb;IACF;IAEA,cAAc;QACZ,WAAW;YACT,IAAI,CAAC,IAAI;QACX,GAAG,OAAO,gCAAgC;IAC5C;IAEA,OAAO,KAAK,OAAO,EAAE,IAAI,EAAE;QACzB,MAAM,eAAe,IAAI,eAAe,SAAS;QACjD,aAAa,IAAI,CAAC;QAClB,OAAO;IACT;IAEA,OAAO,aAAa;QAClB,4CAA4C;QAC5C,MAAM,uBAAuB,QAAQ,KAAK;QAE1C,yBAAyB;QACzB,QAAQ,KAAK,GAAG,SAAU,GAAG,IAAI;YAC/B,eAAe,IAAI,CAAC;YACpB,qDAAqD;YACrD,qBAAqB,KAAK,CAAC,SAAS;QACtC;IACF;IAEA,OAAO,uBAAuB,KAAK,EAAE;QACnC,QAAQ,KAAK,CAAC;QACd,QAAQ,KAAK,CAAC;QACd,eAAe,IAAI,CAAC;IACtB;IAEA,KAAK,OAAO,EAAE;QACZ,qBAAqB;QACrB,MAAM,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAEtC,yDAAyD;QACzD,MAAM,sBAAsB,MAAM,aAAa,CAAC;QAChD,IAAI,CAAC,qBAAqB;YACxB,QAAQ,KAAK,CAAC;YACd;QACF;QAEA,kBAAkB;QAClB,MAAM,aAAa,CAAC,yBAAyB,WAAW,GAAG;QAE3D,oBAAoB,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,iDAAiD;QACtF,+BAA+B;QAC/B,IAAI,IAAI,CAAC,IAAI,EACX,oBAAoB,SAAS,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAG/D,0BAA0B;QAC1B,MAAM,cAAc,MAAM,aAAa,CAAC;QACxC,YAAY,OAAO,GAAG,IAAM,IAAI,CAAC,IAAI;QAErC,yCAAyC;QACzC,IAAI,CAAC,SAAS,cAAc,CAAC,IAAI,CAAC,KAAK,GACrC,sCAAsC;QACtC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;IAE/B;IAEA,OAAO;QACL,SAAS,cAAc,CAAC,IAAI,CAAC,KAAK,GAAG;IACvC;AACF;;;ACxGA,QAAQ,cAAc,GAAG,SAAU,CAAC;IAClC,OAAO,KAAK,EAAE,UAAU,GAAG,IAAI;QAAC,SAAS;IAAC;AAC5C;AAEA,QAAQ,iBAAiB,GAAG,SAAU,CAAC;IACrC,OAAO,cAAc,CAAC,GAAG,cAAc;QAAC,OAAO;IAAI;AACrD;AAEA,QAAQ,SAAS,GAAG,SAAU,MAAM,EAAE,IAAI;IACxC,OAAO,IAAI,CAAC,QAAQ,OAAO,CAAC,SAAU,GAAG;QACvC,IACE,QAAQ,aACR,QAAQ,gBACR,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,MAE3C;QAGF,OAAO,cAAc,CAAC,MAAM,KAAK;YAC/B,YAAY;YACZ,KAAK;gBACH,OAAO,MAAM,CAAC,IAAI;YACpB;QACF;IACF;IAEA,OAAO;AACT;AAEA,QAAQ,MAAM,GAAG,SAAU,IAAI,EAAE,QAAQ,EAAE,GAAG;IAC5C,OAAO,cAAc,CAAC,MAAM,UAAU;QACpC,YAAY;QACZ,KAAK;IACP;AACF;;;;;AClCA,8CAAa;AAAN,MAAM;IACX,+CAA+C;IAC/C,OAAO,IAAI,GAAG,EAAE,KAAK,EAAE;QACrB,IAAI;YACF,MAAM,cAAc,KAAK,SAAS,CAAC;YACnC,aAAa,OAAO,CAAC,KAAK;QAC5B,EAAE,OAAO,GAAG;YACV,QAAQ,KAAK,CAAC,gCAAgC;QAChD;IACF;IAEA,iDAAiD;IACjD,OAAO,IAAI,GAAG,EAAE,eAAe,IAAI,EAAE;QACnC,IAAI;YACF,MAAM,QAAQ,aAAa,OAAO,CAAC;YACnC,OAAO,UAAU,OAAO,KAAK,KAAK,CAAC,SAAS;QAC9C,EAAE,OAAO,GAAG;YACV,QAAQ,KAAK,CAAC,mCAAmC;YACjD,OAAO;QACT;IACF;IAEA,oDAAoD;IACpD,OAAO,OAAO,GAAG,EAAE;QACjB,IAAI;YACF,aAAa,UAAU,CAAC;QAC1B,EAAE,OAAO,GAAG;YACV,QAAQ,KAAK,CAAC,oCAAoC;QACpD;IACF;IAEA,OAAO,OAAO,GAAG,EAAE;QACjB,IAAI;YACF,MAAM,UAAU,SAAS,GAAG,CAAC;YAC7B,IAAI,KACF,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI;iBAEjC,OAAO;QAEX,EAAE,OAAO,OAAO;YACd,OAAO;QACT;IACF;IAEA,OAAO,OAAO,GAAG,EAAE;QACjB,SAAS,GAAG,CAAC,OAAO;IACtB;IAEA,OAAO,WAAW;QAChB,OAAO,SAAS,GAAG,CAAC;IACtB;IAEA,OAAO,SAAS,KAAK,EAAE;QACrB,SAAS,GAAG,CAAC,SAAS;IACxB;IAEA,OAAO,kBAAkB;QACvB,OAAO,SAAS,GAAG,CAAC;IACtB;IAEA,OAAO,gBAAgB,YAAY,EAAE;QACnC,IAAI,iBAAiB,IACnB,eAAe;QAEjB,SAAS,GAAG,CAAC,iBAAiB;IAChC;IAEA,OAAO,qBAAqB;QAC1B,OAAO,SAAS,GAAG,CAAC;IACtB;IAEA,OAAO,mBAAmB,eAAe,EAAE;QACzC,IAAI,oBAAoB,IACtB,kBAAkB;QAEpB,SAAS,GAAG,CAAC,oBAAoB;IACnC;IAEA,OAAO,mBAAmB;QACxB,OAAO,SAAS,GAAG,CAAC;IACtB;IAEA,OAAO,iBAAiB,MAAM,EAAE;QAC9B,IAAI,WAAW,WACb,SAAS;QAEX,SAAS,GAAG,CAAC,iBAAiB;IAChC;AACF;;;;;ACxFA,2CAAa;AAAN,MAAM;IACX,OAAO,OAAO,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;QACxC,IAAI,WAAW,QAAQ,WAAW,WAChC,SAAS;QAEX,OAAO,gBAAgB,CAAC,WAAW,CAAC;YAClC,QAAQ,MAAM,MAAM;QACtB;IACF;IAEA,OAAO,KAAK,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;QACnC,IAAI,WAAW,QAAQ,WAAW,WAChC,SAAS;QAEX,IAAI,MAAM,CAAC,EAAE,UAAU,CAAC;QACxB,IAAI,MAAM,IACR,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1B,QAAQ,GAAG,CAAC;QACZ,MAAM,QAAQ,IAAI,YAAY,WAAW;YACvC,QAAQ,QAAQ,CAAC;YACjB,SAAS;QACX;QACA,OAAO,aAAa,CAAC;IACvB;AACF;;;;;ACzBA,yCAAa;AAAN,MAAM;IACX,OAAO,YAAY,OAAO,EAAE;QAC1B,QAAQ,SAAS,CAAC,MAAM,CAAC;QACzB,OAAO,IAAI;IACb;IAEA,OAAO,YAAY,OAAO,EAAE;QAC1B,QAAQ,SAAS,CAAC,GAAG,CAAC;QACtB,OAAO,IAAI;IACb;IAEA,OAAO,YAAY,OAAO,EAAE;QAC1B,QAAQ,eAAe,CAAC;QACxB,OAAO,IAAI;IACb;IAEA,OAAO,aAAa,OAAO,EAAE;QAC3B,QAAQ,YAAY,CAAC,YAAY;QACjC,OAAO,IAAI;IACb;AACF;;;;;ACZA,6CAAa;AARb;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAM;IACX,aAAc;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA,GAAA,4BAAY,AAAD;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA,GAAA,oBAAQ,AAAD;QAC3B,IAAI,CAAC,OAAO,GAAG,SAAS,cAAc,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,SAAS,cAAc,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,SAAS,cAAc,CAAC;QAC5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA,GAAA,0CAAmB,AAAD;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,cAAc,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,SAAS,cAAc,CAAC;QAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,MAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;QAE7B,IAAI,CAAC,kBAAkB;QACvB,IAAI,CAAC,MAAM;IACb;IAEA,SAAS;QACP,IAAI,CAAC,QAAQ,CAAC,MAAM;IACtB;IAEA,qBAAqB;QACnB,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,kBAAkB;QACpD,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;QACvE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,YACA,CAAA,GAAA,oBAAQ,AAAD,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG;QAE1C,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,SACA,CAAA,GAAA,oBAAQ,AAAD,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,GAAG;QAE1C,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI;QACzE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI;QACrE,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;IACtE;IAEA,YAAY;IACZ,qBAAqB,CAAC;QACpB,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,IAAI,UACF,SAAS,cAAc,CAAC;YACtB,UAAU;YACV,OAAO;YACP,QAAQ;QACV;IAEJ,EAAE;IAEF,eAAe;QACb,MAAM,YAAY,SAAS,cAAc,CAAC;QAC1C,UAAU,SAAS,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK;IACxB;IAEA,gBAAgB;QACd,SAAS,aAAa,MAAM;YAC1B,OAAO,OAAO,OAAO,CAAC,uBAAuB,SAAS,6BAA6B;QACrF;QACA,MAAM,QAAQ,aAAa,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,CAC/D,QACA;QAEF,MAAM,eAAe,MAAM,MAAM,GAAG,GAAG,wDAAwD;QAC/F,MAAM,QAAQ,IAAI,OAAO,OAAO,MAAM,oCAAoC;QAC1E,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;QAC7B,CAAA,GAAA,YAAI,AAAD,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;YAClB,MAAM,UAAU,MACb,MAAM,CAAC,CAAC;gBACP,IAAI,QAAQ,MAAM,IAAI,CAAC,KAAK,KAAK;gBACjC,IAAI,cACF,UAAU,MAAM,IAAI,CAAC,KAAK,OAAO;gBAEnC,OAAO;YACT,GACC,GAAG,CAAC,CAAC,OAAS,KAAK,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,OAAO,CAAC,CAAC;gBACxD,IAAI,QAAQ,QAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,GAC/B,uBAAuB;gBACvB,KAAK,SAAS,CAAC,MAAM,CAAC;qBAEtB,KAAK,SAAS,CAAC,GAAG,CAAC;YAEvB;QACF;IACF;IAEA,SAAS;QACP,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC;QACtC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,cAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB;aAEvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB;IAE3C;IAEA,MAAM,gBAAgB;QACpB,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,UAAU;IAChC;IAEA,MAAM,cAAc;QAClB,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,UAAU;IAChC;AACF;;;;;AClHA,8CAAgB;AAAT,SAAS,SAAS,IAAI,EAAE,IAAI;IACjC,IAAI;IAEJ,OAAO,SAAS,YAAY,GAAG,IAAI;QACjC,MAAM,QAAQ;YACZ,aAAa;YACb,QAAQ;QACV;QAEA,aAAa;QACb,UAAU,WAAW,OAAO;IAC9B;AACF;;;;;ACTA,0CAAa;AAHb;AACA;AAEO,MAAM,aAAa,CAAA,GAAA,sBAAS,AAAD;IAChC,MAAM,WAAW,IAAI,EAAE;QACrB,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE;QACrB,OAAO,MAAM,IAAI,CAAA,GAAA,0BAAW,AAAD,EAAE,MAAM,MAAM;IAC3C;IAEA,MAAM,cAAc;QAClB,MAAM,WAAW,MAAM,CAAA,GAAA,0BAAW,AAAD,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;QACzD,IAAI,CAAC,QAAQ,GAAG;QAChB,OAAO,IAAI,CAAC,QAAQ;IACtB;IAEA,aAAa,aAAa;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW;YAAC;SAAQ;IAC1C;IAEA,aAAa,QAAQ;QACnB,MAAM,CAAA,GAAA,0BAAW,AAAD,EAAE,KAAK;QACvB,MAAM,KAAK,CAAC;IACd;IAEA,aAAa,IAAI,EAAE,EAAE;QACnB,MAAM,OAAO,MAAM,KAAK,CAAC,IAAI;QAE7B;;;;;;IAMA,GAEA,OAAO;IACT;IAEA,aAAa,OAAO,EAAE,EAAE;QACtB,2BAA2B;QAC3B,MAAM,KAAK,CAAC,OAAO;QAEnB,iCAAiC;QACjC,MAAM,WAAW,MAAM,CAAA,GAAA,0BAAW,AAAD,EAAE,cAAc,CAAC;QAClD,KAAK,MAAM,WAAW,SACpB,MAAM,QAAQ,MAAM;IAExB;AACF;;;;;AC7CA,+CAAa;AAHb;AACA;AAEO,MAAM;IACX,YAAY,IAAI,CAAE;QAChB,OAAO,MAAM,CAAC,IAAI,EAAE;IACtB;IAEA,MAAM,SAAS;QACb,MAAM,MAAM,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI;QAC1E,IAAI,CAAC,IAAI,CAAC,EAAE,EACV,IAAI,CAAC,EAAE,GAAG;QAEZ,OAAO,IAAI;IACb;IAEA,MAAM,OAAO;QACX,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI;IACvE;IAEA,MAAM,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CACrC,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,IAAI,CAAC,EAAE;IAEX;IAEA,UAAU;QACR,OAAO,KAAK,SAAS,CAAC,IAAI;IAC5B;IAEA,aAAa,SAAS,IAAI,EAAE,KAAK,EAAE;QACjC,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,SAAS,GAAG;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA,GAAA,oBAAQ,AAAD,EAAE,MAAM;YAAC;SAAM,EAAE,CAAA,GAAA,wBAAU,AAAD;QAC/C,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI;IACpB;IAEA,aAAa,YAAY,IAAI,EAAE;QAC7B,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE;IACnD;IAEA,MAAM,YAAY,IAAI,EAAE;QACtB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;IAC5C;IAEA,aAAa,IAAI,EAAE,EAAE;QACnB,MAAM,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;QAC/C,OAAO,IAAI,IAAI,CAAC;IAClB;IAEA,aAAa,QAAQ;QACnB,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS;IAC3C;IAEA,sDAAsD;IACtD,aAAa,SAAS;QACpB,MAAM,UAAU,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS;QACnD,OAAO,QAAQ,GAAG,CAAC,CAAC,OAAS,IAAI,IAAI,CAAC;IACxC;IAEA;;;;;GAKC,GACD,aAAa,mBAAmB,SAAS,EAAE,EAAE,EAAE;QAC7C,mDAAmD;QACnD,MAAM,cAAc,MAAM,IAAI,CAAC,WAAW,CAAC;QAE3C,qDAAqD;QACrD,MAAM,QAAQ,YAAY,KAAK,CAAC;QAChC,MAAM,UAAU,MAAM,MAAM,CAAC;QAE7B,OAAO,IAAI,QAAQ,CAAC,SAAS;YAC3B,QAAQ,SAAS,GAAG;gBAClB,oCAAoC;gBACpC,MAAM,WAAW,QAAQ,MAAM,CAAC,GAAG,CAAC,CAAC,OAAS,IAAI,IAAI,CAAC;gBACvD,QAAQ;YACV;YACA,QAAQ,OAAO,GAAG;gBAChB,OAAO,QAAQ,KAAK;YACtB;QACF;IACF;IAEA,0BAA0B;IAC1B,aAAa,SAAS;QACpB,IAAI,cAAc,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE;QAC5D,IAAI,QAAQ,MAAM,YAAY,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS;QACpE,OAAO,MAAM,MAAM;IACrB;AACF;;;;;AC7FA,8CAAa;AAAN,MAAM;IACX,YAAY,MAAM,EAAE,YAAY,EAAE,UAAU,CAAE;QAC5C,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,YAAY,GAAG;QACpB,IAAI,CAAC,YAAY,GAAG,MAAM,sBAAsB;QAChD,IAAI,CAAC,UAAU,GAAG;IACpB;IAEA,MAAM,OAAO;QACX,IAAI,IAAI,CAAC,YAAY,EACnB,MAAM,IAAI,MAAM;QAGlB,OAAO,IAAI,QAAQ,CAAC,SAAS;YAC3B,MAAM,UAAU,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;YAEnE,QAAQ,OAAO,GAAG,CAAC,QAAU,OAAO,MAAM,MAAM,CAAC,KAAK;YACtD,QAAQ,eAAe,GAAG,CAAC;gBACzB,MAAM,KAAK,MAAM,MAAM,CAAC,MAAM;gBAC9B,MAAM,cAAc,MAAM,aAAa,CAAC,WAAW;gBACnD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,aAAa,MAAM,UAAU;YAC3D;YACA,QAAQ,SAAS,GAAG,CAAC;gBACnB,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM;gBACvC,QAAQ,IAAI,CAAC,YAAY;YAC3B;QACF;IACF;IAEA,MAAM,YAAY,SAAS,EAAE,IAAI,EAAE;QACjC,OAAO,IAAI,CAAC,YAAY,CACrB,WAAW,CAAC;YAAC;SAAU,EAAE,MACzB,WAAW,CAAC;IACjB;IAEA,MAAM,IAAI,SAAS,EAAE,IAAI,EAAE;QACzB,MAAM,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,MAAM,GAAG,CAAC;IAC7C;IAEA,MAAM,IAAI,SAAS,EAAE,EAAE,EAAE;QACvB,MAAM,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,MAAM,GAAG,CAAC;IAC7C;IAEA,MAAM,IAAI,SAAS,EAAE,IAAI,EAAE;QACzB,MAAM,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,MAAM,GAAG,CAAC;IAC7C;IAEA,MAAM,OAAO,SAAS,EAAE,EAAE,EAAE;QAC1B,MAAM,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,MAAM,MAAM,CAAC;IACnD;IAEA,MAAM,OAAO,SAAS,EAAE;QACtB,MAAM,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,MAAM,MAAM;IAClD;IAEA,MAAM,MAAM,SAAS,EAAE;QACrB,MAAM,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,MAAM,KAAK;IACpD;IAEA,cAAc,IAAI,EAAE,OAAO,EAAE;QAC3B,OAAO,IAAI,QAAQ,CAAC,SAAS;YAC3B,QAAQ,SAAS,GAAG,IAAM,QAAQ,QAAQ,MAAM;YAEhD,QAAQ,OAAO,GAAG,CAAC;gBACjB,MAAM,QAAQ,CAAC,SAAS,EAAE,KAAK,mBAAmB,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChF,OAAO,IAAI,MAAM,KAAK,SAAS,CAAC;YAClC;QACF;IACF;AACF;;;;;AC3EA,gDAAa;AAAN,MAAM;IACX,OAAO,UAAU,EAAE;IACnB,OAAO,QAAQ,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE;QAChD,QAAQ,KAAK,CACX,CAAC,8BAA8B,EAAE,WAAW,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7E,MAAM,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,cAAc,IAAI,CAAC,SAAS;QAClC,IAAI,CAAC,aACH,MAAM,IAAI,MAAM,CAAC,6BAA6B,EAAE,SAAS,CAAC;QAE5D,IAAI,IAAI,CAAC,OAAO,IAAI,YAClB,YAAY;YAAE;YAAU;QAAY;IAExC;IAEA,OAAO,kBAAkB,OAAO,EAAE;QAChC,eAAe;QACf,QAAQ,QAAQ,CAAC,iBAAiB,CAAC,SAAS;YAC1C,SAAS;YACT,eAAe;QACjB;QACA,uBAAuB;QACvB,MAAM,eAAe,QAAQ,QAAQ,CAAC,iBAAiB,CAAC,iBAAiB;YACvE,SAAS;YACT,eAAe;QACjB;QACA,aAAa,WAAW,CAAC,WAAW,UAAU;YAAE,QAAQ;QAAM;IAChE;AACF;;;;;AC3BA,iDAAa;AAFb;AAEO,MAAM,oBAAoB,CAAA,GAAA,sBAAS,AAAD;IACvC,aAAa,aAAa;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW;IACjC;IAEA,aAAa,eAAe,MAAM,EAAE;QAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW;IAC5C;AACF;;;;;ACJA,+BAA+B;AAC/B,gCAAgC;AAChC,mDAAa;AARb;AACA;AACA;AACA;AACA;AAIO,MAAM;IACX,aAAa,WAAW,IAAI,EAAE,IAAI,EAAE;QAClC,OAAO,MAAM,CAAC,MAAM;QACpB,MAAM,KAAK,IAAI;QACf,0BAA0B;QAC1B,CAAA,GAAA,cAAK,AAAD,EAAE,IAAI,CAAC,eAAe;IAC5B;IAEA,aAAa,WAAW,IAAI,EAAE;QAC5B,IAAI,CAAC,MACH,OAAO,CAAC;QAEV,IAAI,CAAC,KAAK,KAAK,EACb,KAAK,KAAK,GAAG;QAEf,IAAI,CAAC,KAAK,KAAK,EACb,KAAK,KAAK,GAAG,CAAA,GAAA,oBAAQ,AAAD,EAAE,QAAQ;QAEhC,MAAM,OAAO,MAAM,IAAI,CAAA,GAAA,YAAI,AAAD,EAAE,MAAM,MAAM;QACxC,CAAA,GAAA,oBAAQ,AAAD,EAAE,gBAAgB,CAAC,KAAK,EAAE;QACjC,CAAA,GAAA,cAAK,AAAD,EAAE,IAAI,CAAC,eAAe;QAC1B,CAAA,GAAA,cAAK,AAAD,EAAE,IAAI,CAAC,gBAAgB;QAC3B,OAAO;IACT;IAEA,aAAa,kBAAkB,SAAS,EAAE;QACxC,CAAA,GAAA,gCAAc,AAAD,EAAE,IAAI,CAAC,mBAAmB,WAAW;QAClD,MAAM,UAAU,MAAM,CAAA,GAAA,0BAAW,AAAD,EAAE,GAAG,CAAC;QACtC,QAAQ,MAAM;IAChB;IAEA,aAAa,WAAW,IAAI,EAAE;QAC5B,MAAM,KAAK,MAAM;QACjB,IAAI,CAAA,GAAA,oBAAQ,AAAD,EAAE,gBAAgB,OAAO,KAAK,EAAE,EACzC,CAAA,GAAA,oBAAQ,AAAD,EAAE,gBAAgB,CAAC;QAE5B,CAAA,GAAA,cAAK,AAAD,EAAE,IAAI,CAAC,eAAe;IAC5B;IAEA,aAAa,iBAAiB;QAC5B,MAAM,SAAS,IAAI,CAAC,gBAAgB;QACpC,IAAI,QACF,OAAO,MAAM,CAAA,GAAA,YAAI,AAAD,EAAE,GAAG,CAAC;QAExB,OAAO;IACT;IAEA,OAAO,mBAAmB;QACxB,OAAO,CAAA,GAAA,oBAAQ,AAAD,EAAE,GAAG,CAAC;IACtB;IAEA,aAAa,eAAe,IAAI,EAAE;QAChC,CAAA,GAAA,oBAAQ,AAAD,EAAE,gBAAgB,CAAC,KAAK,EAAE;QACjC,CAAA,GAAA,cAAK,AAAD,EAAE,IAAI,CAAC,gBAAgB;IAC7B;IAEA,aAAa,iBAAiB,MAAM,EAAE;QACpC,MAAM,OAAO,MAAM,CAAA,GAAA,YAAI,AAAD,EAAE,GAAG,CAAC;QAC5B,IAAI,MACF,MAAM,IAAI,CAAC,cAAc,CAAC;IAE9B;IAEA,aAAa,aAAa;QACxB,CAAA,GAAA,oBAAQ,AAAD,EAAE,gBAAgB,CAAC;QAC1B,MAAM,CAAA,GAAA,YAAI,AAAD,EAAE,KAAK;QAChB,CAAA,GAAA,cAAK,AAAD,EAAE,IAAI,CAAC;IACb;AACF;;;;;ACtEA,8CAAa;AANb;AACA;AACA;AACA;AACA;AAEO,MAAM;IACX,aAAc;QACZ,IAAI,CAAC,OAAO,GAAG,SAAS,cAAc,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,SAAS,cAAc,CAAC,2BAA2B,OAAO;QAC1E,IAAI,CAAC,kBAAkB;QACvB,CAAA,GAAA,8BAAa,AAAD,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG;QACd;IACF;IAEA,qBAAqB;QACnB,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI;QAC5D,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI;QAC5D,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI;QAC9D,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI;QAC5D,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI;IAChE;IAEA,MAAM,WAAW,MAAM,EAAE;QACvB,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,gBAAgB,CAAC;IACvC;IAEA,kBAAkB,IAAI,EAAE;QACtB,IAAI,CAAC,UAAU,CAAC,MAAM;IACxB;IAEA,kBAAkB,IAAI,EAAE;QACtB,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,EAAE,EAC3B,IAAI,CAAC,IAAI,GAAG;QAEd,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG;IACjD;IAEA,qBAAqB;QACnB,MAAM,WAAW,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC/C,SAAS,OAAO,CAAC,CAAC,UAAY,QAAQ,MAAM;IAC9C;IAEA,kBAAkB,IAAI,EAAE;QACtB,MAAM,cAAc,IAAI,CAAC,OAAO,CAAC,aAAa,CAC5C,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC;QAE/B,IAAI,aACF,YAAY,WAAW,GAAG,KAAK,KAAK;IAExC;IAEA,mBAAmB,IAAI,EAAE;QACvB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,MAAM,sBAAsB,IAAI,CAAC,OAAO,CAAC,aAAa,CACpD,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAExB,IAAI,qBACF,oBAAoB,SAAS,CAAC,MAAM,CAAC;QAEzC;QACA,MAAM,iBAAiB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,IAAI,gBACF,eAAe,SAAS,CAAC,GAAG,CAAC;QAE/B,yBAAyB;QACzB,IAAI,CAAC,IAAI,GAAG;IACd;IAEA,SAAS;QACP,MAAM,gBAAgB,CAAA,GAAA,8BAAa,AAAD,EAAE,gBAAgB;QACpD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;QACzB,CAAA,GAAA,YAAI,AAAD,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;YAClB,MAAM,OAAO,CAAC,CAAC;gBACb,MAAM,WAAW,KAAK,EAAE,KAAK;gBAC7B,IAAI,CAAC,UAAU,CAAC,MAAM;YACxB;YACA,IAAI,CAAA,GAAA,0BAAW,AAAD,EAAE;QAClB;IACF;IAEA,WAAW,IAAI,EAAE,QAAQ,EAAE;QACzB,MAAM,eAAe,IAAI,CAAA,GAAA,4BAAY,AAAD,EAAE,MAAM,IAAI,EAAE;QAClD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,OAAO;QAC7C,OAAO;IACT;AACF;;;;;ACrFA,kDAAa;AAFb;AAEO,MAAM;IACX,YAAY,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAE;QACpC,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,CAAC,QAAQ,GAAG;QAChB,IAAI,CAAC,OAAO,GAAG,SACZ,cAAc,CAAC,2BACf,OAAO,CAAC,SAAS,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG;YAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;QAAC;QACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,aAAa,MACf,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;QAG7B,IAAI,CAAC,QAAQ;QACb,IAAI,CAAC,kBAAkB;IACzB;IAEA,SAAS,CAAC;IAEV,qBAAqB;QACnB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI;QACrE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI;QACnE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;QAC7D,IAAI,CAAC,OAAO,CACT,aAAa,CAAC,qBACd,gBAAgB,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI;IACxD;IAEA,cAAc;QACZ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;IAC7B;IAEA,aAAa;QACX,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IAChC;IAEA,UAAU;QACR,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IACvC;IAEA,WAAW;QACT,MAAM,YAAY,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,UAAU,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK;IACzC;IAEA,aAAa;QACX,CAAA,GAAA,8BAAa,AAAD,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI;QAClC,IAAI,CAAC,OAAO,CAAC,MAAM;IACrB;AACF;;;;;ACrDA,iDAAa;AAAN,MAAM;IACX,YAAY,QAAQ,CAAE;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,gBAAgB,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG;QACnB,IAAI,CAAC,qBAAqB;IAC5B;IAEA,wBAAwB;QACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACtB,KAAK,gBAAgB,CAAC,aAAa,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;YACnE,KAAK,gBAAgB,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI;YAC/D,KAAK,gBAAgB,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;YACzD,KAAK,gBAAgB,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI;QAC/D;IACF;IAEA,gBAAgB,IAAI,EAAE;QACpB,IAAI,CAAC,WAAW,GAAG;IACrB;IAEA,eAAe,CAAC,EAAE;QAChB,EAAE,cAAc;IAClB;IAEA,WAAW,IAAI,EAAE;QACf,IAAI,SAAS,IAAI,CAAC,WAAW,EAAE;YAC7B,IAAI,cAAc,KAAK,SAAS;YAChC,KAAK,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS;YAC3C,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG;YAC7B,QAAQ,KAAK,CAAC;QAChB;IACF;IAEA,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG;IACrB;AACF;;;;;ACjCA,yDAAa;AAHb;AACA;AAEO,MAAM;IACX,aAAc;QACZ,IAAI,CAAC,MAAM,GAAG,SAAS,aAAa,CAAC;QACrC,IAAI,CAAC,kBAAkB;IACzB;IAEA,qBAAqB;QACnB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS;YACpC,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,kBAAkB;QACzB;IACF;IAEA,MAAM,aAAa;QACjB,MAAM,UAAU,MAAM,CAAA,GAAA,YAAI,AAAD,EAAE,MAAM;QAEjC,QAAQ,SAAS,GAAG;YAClB,IAAI,OAAO,QAAQ,MAAM;YAEzB,kCAAkC;YAClC,IAAI,WAAW,KAAK,SAAS,CAAC,MAAM;YAEpC,sDAAsD;YACtD,IAAI,OAAO,IAAI,KAAK;gBAAC;aAAS,EAAE;gBAAE,MAAM;YAAmB;YAC3D,IAAI,MAAM,IAAI,eAAe,CAAC;YAE9B,IAAI,IAAI,SAAS,aAAa,CAAC;YAC/B,EAAE,IAAI,GAAG;YACT,EAAE,QAAQ,GAAG;YACb,EAAE,KAAK;YACP,IAAI,eAAe,CAAC;QACtB;QAEA,QAAQ,OAAO,GAAG,SAAU,KAAK;YAC/B,QAAQ,KAAK,CAAC,wBAAwB,MAAM,MAAM,CAAC,SAAS;QAC9D;IACF;IAEA,MAAM,qBAAqB;QACzB,MAAM,UAAU,MAAM,CAAA,GAAA,0BAAW,AAAD,EAAE,MAAM;QAExC,QAAQ,SAAS,GAAG;YAClB,IAAI,OAAO,QAAQ,MAAM;YAEzB,kCAAkC;YAClC,IAAI,WAAW,KAAK,SAAS,CAAC,MAAM;YAEpC,sDAAsD;YACtD,IAAI,OAAO,IAAI,KAAK;gBAAC;aAAS,EAAE;gBAAE,MAAM;YAAmB;YAC3D,IAAI,MAAM,IAAI,eAAe,CAAC;YAE9B,IAAI,IAAI,SAAS,aAAa,CAAC;YAC/B,EAAE,IAAI,GAAG;YACT,EAAE,QAAQ,GAAG;YACb,EAAE,KAAK;YACP,IAAI,eAAe,CAAC;QACtB;QAEA,QAAQ,OAAO,GAAG,SAAU,KAAK;YAC/B,QAAQ,KAAK,CAAC,wBAAwB,MAAM,MAAM,CAAC,SAAS;QAC9D;IACF;AACF;;;;;ACjEA,kDAAa;AAAN,MAAM;IACX,8BAA8B;IAC9B,IAAI,GAAG,EAAE,KAAK,EAAE;QACd,IAAI;YACF,MAAM,cAAc,KAAK,SAAS,CAAC;YACnC,aAAa,OAAO,CAAC,KAAK;QAC5B,EAAE,OAAO,GAAG;YACV,QAAQ,KAAK,CAAC,gCAAgC;QAChD;IACF;IAEA,0EAA0E;IAC1E,IAAI,GAAG,EAAE,eAAe,IAAI,EAAE;QAC5B,IAAI;YACF,MAAM,QAAQ,aAAa,OAAO,CAAC;YACnC,OAAO,UAAU,OAAO,KAAK,KAAK,CAAC,SAAS;QAC9C,EAAE,OAAO,GAAG;YACV,QAAQ,KAAK,CAAC,mCAAmC;YACjD,OAAO;QACT;IACF;IAEA,mCAAmC;IACnC,OAAO,GAAG,EAAE;QACV,IAAI;YACF,aAAa,UAAU,CAAC;QAC1B,EAAE,OAAO,GAAG;YACV,QAAQ,KAAK,CAAC,oCAAoC;QACpD;IACF;AACF;;;;;AC5BA,gDAAa;AAFb;AAEO,MAAM;IACX,aAAc;QACZ,SAAS,gBAAgB,CAAC,SAAS,CAAC;YAClC,2DAA2D;YAC3D,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB;gBAClD,MAAM,iBAAiB,MAAM,MAAM,CAAC,YAAY,CAAC;gBACjD,IAAI,CAAC,gBAAgB;oBACnB,QAAQ,KAAK,CAAC;oBACd;gBACF;gBACA,MAAM,aAAa,SAAS,cAAc,CAAC,gBAAgB,SAAS;gBACpE,sCAAsC;gBACtC,MAAM,WAAW,SAAS,aAAa,CAAC;gBACxC,SAAS,KAAK,GAAG;gBACjB,SAAS,IAAI,CAAC,WAAW,CAAC;gBAE1B,8BAA8B;gBAC9B,SAAS,MAAM;gBACf,SAAS,WAAW,CAAC;gBAErB,gCAAgC;gBAChC,SAAS,IAAI,CAAC,WAAW,CAAC;gBAE1B,gEAAgE;gBAChE,CAAA,GAAA,gCAAc,AAAD,EAAE,IAAI,CAAC,4BAA4B,WAAW;YAC7D;QACF;IACF;AACF;;;;;AC9BA,+CAAa;AAAN,MAAM;IACX,aAAc;QACZ,IAAI,CAAC,eAAe,GAAG;IACzB;IAEA,MAAM,YAAY,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE;QAClE,MAAM,cAAc;YAClB,QAAQ;YACR,OAAO,KAAK,KAAK;YACjB,UAAU,AAAC,CAAA,MAAM,KAAK,WAAW,EAAC,EAAG,GAAG,CAAC,CAAC,UAAa,CAAA;oBACrD,MAAM,QAAQ,IAAI;oBAClB,SAAS,QAAQ,OAAO;gBAC1B,CAAA;QACF;QACA,oBAAoB;QACpB,IAAI,cACF,YAAY,MAAM,GAAG;QAEvB,uBAAuB;QACvB,IAAI,iBACF,YAAY,OAAO,GAAG;QAExB,OAAO;IACT;IAEA,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE;QACjD,MAAM,UAAU;YAAE;QAAK;QACvB,IAAI;YACF,MAAM,WAAW,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK;YACjD,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,UAAU,YAAY;QAC3D,EAAE,OAAO,OAAO;YACd,QAAQ,SAAS;QACnB;IACF;IAEA,MAAM,gBAAgB,GAAG,EAAE,IAAI,EAAE;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI;QAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe;QACvC,MAAM,WAAW,MAAM,MAAM,KAAK;YAChC;YACA,QAAQ;YACR,SAAS;gBAAE,gBAAgB;YAAmB;YAC9C,MAAM,KAAK,SAAS,CAAC;QACvB;QAEA,IAAI,CAAC,SAAS,EAAE,EACd,MAAM,IAAI,MAAM,CAAC,EAAE,IAAI,oBAAoB,EAAE,SAAS,MAAM,CAAC,CAAC;QAGhE,OAAO;IACT;IAEA,MAAM,eAAe,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;QAC1D,MAAM,SAAS,SAAS,IAAI,CAAC,SAAS;QACtC,IAAI,cAAc;QAClB,IAAI,gBAAgB;QAEpB,MAAO,CAAC,cAAe;YACrB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,IAAI;YACzC,IAAI,MAAM;gBACR,OAAO,SAAS;gBAChB,gBAAgB;gBAChB;YACF;YAEA,MAAM,YAAY,IAAI,cAAc,MAAM,CAAC;YAC3C,MAAM,QAAQ,AAAC,CAAA,cAAc,SAAQ,EAAG,KAAK,CAAC;YAC9C,cAAc,MAAM,GAAG;YAEvB,MAAM,OAAO,CAAC,CAAC;gBACb,MAAM,eAAe,KAAK,KAAK,CAAC;gBAChC,IAAI,KAAK,IAAI,IAAI;oBACf,wBAAwB;oBACxB,IAAI,CAAC,kBAAkB,CAAC;oBACxB,WAAW,SAAS,aAAa,OAAO,CAAC,OAAO;gBAClD;YACF;QACF;QAEA,IAAI,YAAY,IAAI,IAClB,WAAW,SAAS;IAExB;IAEA,QAAQ;QACN,IAAI,IAAI,CAAC,eAAe,EACtB,IAAI,CAAC,eAAe,CAAC,KAAK;IAE9B;IAEA,mBAAmB,IAAI,EAAE;QACvB,IAAI,CAAC,KAAK,cAAc,EACtB;QAEF,+CAA+C;QAC/C,MAAM,yBAAyB,KAAK,cAAc,GAAG;QACrD,MAAM,wBAAwB,KAAK,aAAa,GAAG;QACnD,MAAM,8BAA8B,KAAK,oBAAoB,GAAG;QAChE,MAAM,gCAAgC,KAAK,aAAa,GAAG;QAE3D,wCAAwC;QACxC,MAAM,kBAAkB,KAAK,UAAU,GAAG;QAC1C,MAAM,SAAS,CAAC;OACb,EAAE,KAAK,KAAK,CAAC;YACR,EAAE,KAAK,UAAU,CAAC;oBACV,EAAE,uBAAuB,OAAO,CAAC,GAAG;mBACrC,EAAE,sBAAsB,OAAO,CAAC,GAAG;yBAC7B,EAAE,KAAK,iBAAiB,CAAC;gCAClB,EAAE,4BAA4B,OAAO,CAAC,GAAG;2BAC9C,EAAE,KAAK,UAAU,CAAC;kCACX,EAAE,8BAA8B,OAAO,CAAC,GAAG;mBAC1D,EAAE,gBAAgB,OAAO,CAAC,GAAG;IAC5C,CAAC;QACD,QAAQ,GAAG,CAAC;IACd;IAEA,OAAO,UAAU,GAAG,EAAE,UAAU,EAAE;QAChC,IAAI,CAAC,KACH,OAAO;QAGT,OAAO,MAAM,KACV,IAAI,CAAC,CAAC;YACL,IAAI,CAAC,SAAS,EAAE,EACd,MAAM,IAAI,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC;YAEtD,OAAO,SAAS,IAAI;QACtB,GACC,IAAI,CAAC,CAAC;YACL,WAAW,KAAK,MAAM;QACxB,GACC,KAAK,CAAC,CAAC;YACN,QAAQ,KAAK,CAAC;YACd,QAAQ,KAAK,CACX,CAAC,wCAAwC,EAAE,IAAI,mBAAmB,CAAC;YAErE,WAAW,EAAE;QACf;IACJ;AACF;;;;;AC3IA,oDAAa;AAAN,MAAM;IACX,aAAc;QACZ,SAAS,gBAAgB,CAAC,SAAS,CAAC;YAClC,2DAA2D;YAC3D,IAAI,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB;gBACtD,+CAA+C;gBAC/C,MAAM,WAAW,MAAM,MAAM,CAAC,YAAY,CAAC;gBAC3C,IAAI,CAAC,sBAAsB,CAAC,UAAU;YACxC;QACF;IACF;IAEA,uBAAuB,SAAS,EAAE,QAAQ,EAAE;QAC1C,kBAAkB;QAClB,MAAM,UAAU,SAAS,cAAc,CAAC;QACxC,IAAI,CAAC,SAAS;YACZ,QAAQ,KAAK,CAAC;YACd;QACF;QAEA,kCAAkC;QAClC,MAAM,UAAU,QAAQ,SAAS;QAEjC,iCAAiC;QACjC,MAAM,OAAO,IAAI,KAAK;YAAC;SAAQ,EAAE;YAAE,MAAM;QAAY;QAErD,wDAAwD;QACxD,MAAM,IAAI,SAAS,aAAa,CAAC;QACjC,EAAE,IAAI,GAAG,IAAI,eAAe,CAAC;QAC7B,EAAE,QAAQ,GAAG;QAEb,yEAAyE;QACzE,SAAS,IAAI,CAAC,WAAW,CAAC;QAC1B,EAAE,KAAK;QACP,SAAS,IAAI,CAAC,WAAW,CAAC;QAE1B,sBAAsB;QACtB,IAAI,eAAe,CAAC,EAAE,IAAI;IAC5B;AACF;;;;;ACvCA,kDAAa;AAAN,MAAM;IACX,aAAc;QACZ,IAAI,CAAC,cAAc,GAAG;QACtB,IAAI,CAAC,aAAa,GAAG,SAAS,gBAAgB,CAAC,IAAI,CAAC,cAAc;QAClE,IAAI,CAAC,IAAI;IACX;IAEA,OAAO;QACL,6CAA6C;QAC7C,SAAS,gBAAgB,CAAC,SAAS,CAAC;YAClC,oFAAoF;YACpF,MAAM,cAAc,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc;YAC5D,IAAI,aAAa;gBACf,MAAM,eAAe,YAAY,aAAa,CAAC;gBAC/C,IAAI,cACF,IAAI,CAAC,UAAU,CAAC;YAEpB;QACF;IACF;IAEA,WAAW,IAAI,EAAE;QACf,KAAK,SAAS,CAAC,MAAM,CAAC;QACtB,KAAK,SAAS,CAAC,MAAM,CAAC;IACxB;AACF;;;;;ACnBA,oDAAa;AANb;AACA;AACA;AACA;AACA;AAEO,MAAM,uBAAuB,CAAA,GAAA,cAAK,AAAD;IACtC,YAAY,OAAO,CAAE;QACnB,KAAK,CAAC;QACN,IAAI,CAAC,UAAU,GAAG,SAAS,cAAc,CAAC,QAAQ,QAAQ;QAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAClD;QAEF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CACjD;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA,GAAA,wBAAU,AAAD,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACzD,IAAI,CAAC,kBAAkB;IACzB;IAEA,cAAc;QACZ,OAAO,CAAA,GAAA,oBAAQ,AAAD,EAAE,QAAQ;IAC1B;IAEA,qBAAqB;QACnB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI;QACtE,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CACrC,QACA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI;QAE1C,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,IACjD,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI;QAE7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI;QACxD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC7D,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CACvC,SACA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI;QAE9B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;IAChE;IAEA,4BAA4B;QAC1B,CAAA,GAAA,oBAAQ,AAAD,EAAE,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI;IAC5D;IAEA,qBAAqB;QACnB,CAAA,GAAA,oBAAQ,AAAD,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW;IAC9C;IAEA,+BAA+B;QAC7B,MAAM,QAAQ,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI;QAClD,IAAI,UAAU,IACZ;QAEF,IAAI;YACF,MAAM,cAAc,KAAK,KAAK,CAAC;YAC/B,MAAM,aAAa,KAAK,SAAS,CAAC,aAAa;YAC/C,CAAA,GAAA,oBAAQ,AAAD,EAAE,kBAAkB,CAAC;YAC5B,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG;YAClC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7C,EAAE,OAAO,OAAO;YACd,IAAI,MAAM,IAAI,KAAK,eACjB,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC;iBAExC,QAAQ,KAAK,CAAC;QAElB;IACF;IAEA,mBAAmB;QACjB,MAAM,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;QACtC,CAAA,GAAA,oBAAQ,AAAD,EAAE,MAAM,CAAC;IAClB;IAEA,OAAO;QACL,IAAI,CAAC,YAAY;QACjB,CAAA,GAAA,gBAAM,AAAD,EAAE,IAAI;QACX,IAAI,CAAC,UAAU;IACjB;IAEA,gBAAgB;QACd,IAAI,CAAC,CAAA,GAAA,gBAAM,AAAD,EAAE,MAAM,IAChB,CAAA,GAAA,gCAAc,AAAD,EAAE,IAAI,CAAC;aAEpB,CAAA,GAAA,gBAAM,AAAD,EAAE,IAAI;IAEf;IAEA,eAAe;QACb,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW;QAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAA,GAAA,oBAAQ,AAAD,EAAE,MAAM;QACrC,MAAM,kBAAkB,CAAA,GAAA,oBAAQ,AAAD,EAAE,kBAAkB;QACnD,IAAI,iBACF,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,KAAK,SAAS,CAAC,iBAAiB;IAEtE;AACF;;;ACpGA,mBAAmB;;;AACnB,2CAAa;AAAN,MAAM;IACX,YAAY,OAAO,CAAE;QACnB,IAAI,CAAC,KAAK,GAAG,QAAQ,KAAK;QAC1B,IAAI,CAAC,UAAU,GAAG,QAAQ,UAAU;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAM,IAAI,CAAC,IAAI;QAC1C,IAAI,CAAC,mBAAmB;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK;IAC7B;IAEA,SAAS,KAAK,EAAE;QACd,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG;IAClC;IAEA,sBAAsB;QACpB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC;YACpC,IAAI,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,EAC5B,IAAI,CAAC,IAAI;QAEb;QACA,OAAO,gBAAgB,CAAC,WAAW,CAAC;YAClC,IAAI,MAAM,GAAG,KAAK,UAChB,IAAI,CAAC,IAAI;QAEb;IACF;IAEA,sBAAsB;QACpB,MAAM,WAAW,SAAS,cAAc,CAAC,IAAI,CAAC,UAAU;QACxD,IAAI,CAAC,UAAU;YACb,QAAQ,KAAK,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAC9D;QACF;QAEA,MAAM,QAAQ,SAAS,OAAO,CAAC,SAAS,CAAC;QACzC,MAAM,eAAe,MAAM,iBAAiB;QAC5C,aAAa,EAAE,GAAG,IAAI,CAAC,KAAK;QAE5B,IAAI,CAAC,cAAc;YACjB,QAAQ,KAAK,CACX,CAAC,+CAA+C,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAEtE;QACF;QAEA,SAAS,IAAI,CAAC,WAAW,CAAC;QAE1B,OAAO;IACT;IAEA,OAAO;QACL,IAAI,CAAC,UAAU;IACjB;IAEA,OAAO;QACL,IAAI,CAAC,UAAU;IACjB;IAEA,aAAa;QACX,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;IAC3B;IAEA,aAAa;QACX,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;IAC9B;AACF;;;;;AChEA,gDAAa;AAJb;AACA;AACA;AAEO,MAAM,mBAAmB,CAAA,GAAA,4BAAY,AAAD;IACzC,YAAY,SAAS,CAAE;QACrB,KAAK,CAAC,WAAW,CAAA,GAAA,gBAAM,AAAD,EAAE,QAAQ;QAChC,IAAI,CAAC,kBAAkB;IACzB;IAEA,qBAAqB;QACnB,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI;IAChE;IAEA,qBAAqB;QACnB,IAAI,CAAC,QAAQ,CAAC,CAAA,GAAA,gBAAM,AAAD,EAAE,QAAQ;IAC/B;IAEA,OAAO,YAAY;QACjB,OAAO,CAAA,GAAA,gBAAM,AAAD,EAAE,QAAQ;IACxB;AACF;;;;;AClBA,kDAAa;AAHb;AACA;AAEO,MAAM,qBAAqB,CAAA,GAAA,YAAI,AAAD;IACnC,YAAY,EAAE,EAAE,KAAK,CAAE;QACrB,KAAK,CAAC,IAAI,QAAQ,2CAA2C;QAC7D,IAAI,CAAC,GAAG,GAAG,SAAS,aAAa,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU;QACjC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;QACxB,IAAI,CAAC,KAAK,GAAG;IACf;IAEA,aAAa,MAAM,EAAE;QACnB,OAAO,OAAO,OAAO,CAAC,uBAAuB,SAAS,6BAA6B;IACrF;IAEA,SAAS;QACP,KAAK,CAAC;IACR;IAEA,cAAc;QACZ,MACE,SAAS,aAAa,CAAC,oCAAoC,WAAW;IAE1E;IAEA,OAAO,UAAU,EAAE;QACjB,IAAI,CAAC,KAAK,GAAG;QACb,IAAI,eAAe,QAAQ,eAAe,WAAW;YACnD,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,QAAQ,GAAG;YAChB,OAAO;QACT;QACA,MAAM,QAAQ,IAAI,CAAC,YAAY,CAAC,YAAY,OAAO,CAAC,QAAQ;QAC5D,MAAM,QAAQ,IAAI,OAAO,OAAO,MAAM,oCAAoC;QAE1E,8BAA8B;QAC9B,MAAM,UAAU,IAAI,CAAC,EAAE,CACpB,GAAG,CAAC,CAAC;YACJ,MAAM,OAAO,gBAAgB,WAAW;YACxC,MAAM,QAAQ,MAAM,IAAI,CAAC;YAEzB,IAAI,OAAO;gBACT,CAAA,GAAA,UAAG,AAAD,EAAE,WAAW,CAAC;gBAChB,OAAO;YACT,OAAO;gBACL,CAAA,GAAA,UAAG,AAAD,EAAE,WAAW,CAAC;gBAChB,OAAO;YACT;QACF,GACC,MAAM,CAAC,CAAC,QAAU;QACrB,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,WAAW,EAAE,QAAQ,CAAC;QAElD,cAAc;QACd,CAAA,GAAA,UAAG,AAAD,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG;QACxB,IAAI,UAAU;QACd,IAAI,WAAW,MAAM,GAAG,GACtB,UAAU,CAAC,qDAAqD,CAAC;aAEjE,IAAI,QAAQ,MAAM,IAAI,GACpB,UAAU,CAAC,MAAM,EAAE,QAAQ,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,uEAAuE,CAAC;aAE3I,UAAU,CAAC,oCAAoC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAGnE,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG;QAEvB,OAAO;IACT;IAEA,cAAc;QACZ,CAAA,GAAA,UAAG,AAAD,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG;QACxB,IAAI,CAAC,KAAK,GAAG;QACb,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACf,CAAA,GAAA,UAAG,AAAD,EAAE,WAAW,CAAC;QAClB;IACF;AACF;;;;;AC1EA,0CAAa;AAHb;AACA;AAEO,MAAM,aAAa,CAAA,GAAA,sBAAS,AAAD;IAChC,YAAY,EAAE,EAAE,KAAK,CAAE;QACrB,KAAK,CAAC;QACN,IAAI,CAAC,EAAE,GAAG;QACV,IAAI,CAAC,KAAK,GAAG;QACb,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,YAAY,GAAG;QACpB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;IACxB;IAEA,QAAQ,OAAO,EAAE;QACf,IAAI,CAAC,YAAY,GAAG;QACpB,OAAO,IAAI,EAAE,iBAAiB;IAChC;IAEA,SAAS,KAAK,EAAE;QACd,IAAI,CAAC,KAAK,GAAG;QACb,IAAI,CAAC,MAAM;IACb;IAEA,YAAY,QAAQ,EAAE;QACpB,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG;QAChB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACf,IAAI,KAAK,WAAW,KAAK,UACvB,KAAK,SAAS,CAAC,GAAG,CAAC;iBAEnB,KAAK,SAAS,CAAC,MAAM,CAAC;QAE1B;QACA,CAAA,GAAA,cAAK,AAAD,EAAE,IAAI,CAAC,UAAU,UAAU,IAAI,CAAC,EAAE;IACxC;IAEA,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ;IACtB;IAEA,SAAS;QACP,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,yBAAyB;QACjD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,KAAK,SAAS,aAAa,CAAC;YAClC,GAAG,SAAS,CAAC,GAAG,CAAC;YACjB,IAAI,SAAS,IAAI,CAAC,QAAQ,EACxB,GAAG,SAAS,CAAC,GAAG,CAAC;YAEnB,GAAG,WAAW,GAAG;YACjB,GAAG,IAAI,GAAG;YACV,GAAG,gBAAgB,CAAC,SAAS;gBAC3B,IAAI,CAAC,WAAW,CAAC;gBACjB,IAAI,IAAI,CAAC,YAAY,EACnB,IAAI,CAAC,YAAY,CAAC;YAEtB;YACA,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO;QACT;IACF;AACF;;;;;AC1DA,+CAAa;AAFb;AAEO,MAAM;IACX,YAAY,OAAO,CAAE;QACnB,IAAI,CAAC,OAAO,GAAG;IACjB;IAEA,OAAO;QACL,CAAA,GAAA,UAAG,AAAD,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO;IAC9B;IAEA,OAAO;QACL,CAAA,GAAA,UAAG,AAAD,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO;IAC9B;AACF;;;;;ACdA,yCAAa;AAAN,MAAM;IACX,OAAO,YAAY,OAAO,EAAE;QAC1B,QAAQ,SAAS,CAAC,MAAM,CAAC;QACzB,OAAO,IAAI;IACb;IAEA,OAAO,YAAY,OAAO,EAAE;QAC1B,QAAQ,SAAS,CAAC,GAAG,CAAC;QACtB,OAAO,IAAI;IACb;IAEA,OAAO,YAAY,OAAO,EAAE;QAC1B,QAAQ,eAAe,CAAC;QACxB,OAAO,IAAI;IACb;IAEA,OAAO,aAAa,OAAO,EAAE;QAC3B,QAAQ,YAAY,CAAC,YAAY;QACjC,OAAO,IAAI;IACb;AACF;;;;;AChBA,4CAAa;AAJb;AACA;AACA;AAEO,MAAM;IACX,oCAAoC;IACpC,OAAO,SAAS,EAAE,CAAC;IAEnB,OAAO,SAAS;QACd,OAAO,CAAA,GAAA,oBAAQ,AAAD,EAAE,MAAM,CAAC;IACzB;IAEA,OAAO,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,IACd,OAAO;QAET,OAAO,CAAA,GAAA,sBAAS,AAAD,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;YACzC,OAAO,MAAM,GAAG;YAChB,uBAAuB;YACvB,CAAA,GAAA,oBAAQ,AAAD,EAAE,GAAG,CAAC,UAAU,OAAO,MAAM;YACpC,CAAA,GAAA,cAAK,AAAD,EAAE,IAAI,CAAC,gBAAgB,OAAO,MAAM;QAC1C;IACF;IAEA,OAAO,SAAS;QACd,OAAO,CAAA,GAAA,oBAAQ,AAAD,EAAE,GAAG,CAAC;IACtB;IAEA,OAAO,WAAW;QAChB,MAAM,SAAS,IAAI,CAAC,MAAM;QAC1B,IAAI,CAAC,QACH,OAAO,EAAE;QAEX,OAAO,OAAO,GAAG,CAAC,CAAC,QAAU,MAAM,IAAI;IACzC;IAEA,OAAO,gBAAgB,IAAI,EAAE;QAC3B,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,QAAU,MAAM,IAAI,KAAK;IACtD;AACF;;;;;ACnCA,wDAAa;AAJb;AACA;AACA;AAEO,MAAM,2BAA2B,CAAA,GAAA,gCAAc,AAAD;IACnD,YAAY,OAAO,CAAE;QACnB,KAAK,CAAC;IACR;IAEA,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,EAAE;IACpB;IAEA,MAAM,4BAA4B;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI;QAC1D,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI;IACtB;IAEA,MAAM,qBAAqB;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW;QAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI;IACtB;IAEA,MAAM,+BAA+B;QACnC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI;QAChE,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI;IACtB;IAEA,MAAM,mBAAmB;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI;IACtB;IAEA,eAAe;QACb,CAAA,GAAA,8BAAa,AAAD,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,KAAK;YACrC,IAAI,CAAC,IAAI,GAAG;YACZ,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA,GAAA,oBAAQ,AAAD,EAAE,MAAM;YACtD,MAAM,kBACJ,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAA,GAAA,oBAAQ,AAAD,EAAE,kBAAkB;YAC1D,IAAI,iBACF,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,KAAK,SAAS,CAAC,iBAAiB;QAEtE;IACF;AACF;;;;;ACnCA,8CAAa;AAVb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAM;IACX,aAAc;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA,GAAA,sBAAS,AAAD;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA,GAAA,oBAAQ,AAAD;QAC3B,IAAI,CAAC,WAAW,GAAG,SAAS,cAAc,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,SAAS,cAAc,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,SAAS,cAAc,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,cAAc,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,iBAAiB,GAAG,SAAS,cAAc,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,SAAS,cAAc,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,SAAS,cAAc,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,SAAS,cAAc,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA,GAAA,wBAAU,AAAD,EAC5B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,qBAC7B,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI;QAC5C,IAAI,CAAA,GAAA,oCAAgB,AAAD,EACjB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI;QAEpC,CAAA,GAAA,8BAAa,AAAD,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,MACH;YAEF,IAAI,CAAC,IAAI,GAAG;YACZ,IAAI,CAAC,MAAM;QACb;QACA,IAAI,CAAC,kBAAkB;IACzB;IAEA,SAAS;QACP,qBAAqB;QACrB,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG;QAC7B,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,kCAAkC;YAClC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK;YAC5C,wBAAwB;YACxB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAC1C,IAAI,CAAC,IAAI,CAAC,sBAAsB;aAC7B,WAAW,GACX,IAAI,CAAC,CAAC;gBACL,SAAS,OAAO,CAAC,CAAC;oBAChB,IAAI,CAAC,gBAAgB,CAAC;gBACxB;YACF;YACF,IAAI,CAAC,WAAW;QAClB;QACA,IAAI,CAAC,YAAY,CAAC,KAAK;IACzB;IAEA,qBAAqB;QACnB,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI;QAC9D,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI;QAC5D,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CACrC,SACA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI;QAE5B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CACrC,SACA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI;QAE5B,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAClC,SACA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI;QAE/B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CACpC,SACA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI;QAEjC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,SAAS;YAC9C,CAAA,GAAA,wBAAU,AAAD,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9D;QACA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;QACrD,wDAAwD;QACxD,SAAS,gBAAgB,CAAC,WAAW,CAAC;YACpC,IAAI,MAAM;YAEV,IAAI,OAAM,GAAG,KAAK,aAAa;gBAC7B,OAAO,IAAI,CAAC,cAAc,GACtB,IAAI,CAAC,cAAc,CAAC,kBAAkB,GACtC,IAAI,CAAC,WAAW,CAAC,iBAAiB;gBACtC,IAAI,MAAM;oBACR,IAAI,IAAI,CAAC,cAAc,EACrB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC;oBACvC,KAAK,SAAS,CAAC,GAAG,CAAC;oBACnB,IAAI,CAAC,cAAc,GAAG,MAAM,wBAAwB;oBACpD,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;wBACjC,UAAU;wBACV,OAAO;oBACT,IAAI,mBAAmB;gBACzB;YACF,OAAO,IAAI,OAAM,GAAG,KAAK,WAAW;gBAClC,WAAW,IAAI,CAAC,cAAc,GAC1B,IAAI,CAAC,cAAc,CAAC,sBAAsB,GAC1C,IAAI,CAAC,WAAW,CAAC,gBAAgB;gBACrC,IAAI,UAAU;oBACZ,IAAI,IAAI,CAAC,cAAc,EACrB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC;oBACvC,SAAS,SAAS,CAAC,GAAG,CAAC;gBACzB;gBACA,IAAI,CAAC,cAAc,GAAG,UAAU,wBAAwB;gBACxD,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;oBACjC,UAAU;oBACV,OAAO;gBACT,IAAI,mBAAmB;YACzB;QACF;IACF;IAEA,iBAAiB,OAAO,EAAE;QACxB,MAAM,QAAQ,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,QAAQ,IAAI;QACzB,MAAM,UAAU,QAAQ,OAAO;QAC/B,mCAAmC;QACnC,MAAM,WAAW,SAAS,cAAc,CAAC;QACzC,MAAM,eAAe,SAAS,OAAO,CAAC,SAAS,CAAC;QAChD,4DAA4D;QAC5D,MAAM,aAAa,aAAa,aAAa,CAAC;QAC9C,MAAM,WAAW,aAAa,aAAa,CAAC;QAC5C,MAAM,eAAe,aAAa,aAAa,CAC7C;QAEF,MAAM,aAAa,aAAa,aAAa,CAC3C;QAEF,MAAM,aAAa,aAAa,aAAa,CAAC;QAC9C,MAAM,YAAY,aAAa,aAAa,CAAC;QAC7C,MAAM,aAAa,aAAa,aAAa,CAAC;QAE9C,IAAI,QAAQ,OAAO,IAAI,OACrB,UAAU,SAAS,CAAC,GAAG,CAAC;aACnB,IAAI,QAAQ,OAAO,IAAI,QAC5B,WAAW,SAAS,CAAC,GAAG,CAAC;aACpB,IAAI,QAAQ,OAAO,IAAI,WAC5B,WAAW,SAAS,CAAC,GAAG,CAAC;QAG3B,0CAA0C;QAC1C,WAAW,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC;QAC/C,WAAW,EAAE,GAAG;QAChB,SAAS,WAAW,GAAG;QACvB,WAAW,UAAU,GAAG;QAExB,0CAA0C;QAC1C,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;QAC7B,WAAW,OAAO,CAAC,KAAK,GAAG,QAAQ,EAAE;QACrC,IAAI,CAAA,GAAA,sBAAS,AAAD,EAAE;QACd,aAAa,gBAAgB,CAAC,SAAS;YACrC,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YAChD,WAAW,MAAM;QACnB;QACA,WAAW,OAAO,CAAC,SAAS,GAAG;QAC/B,WAAW,gBAAgB,CAAC,SAAS;YACnC,CAAA,GAAA,gCAAc,AAAD,EAAE,IAAI,CAAC,mBAAmB,WAAW;YAClD,QAAQ,OAAO,GAAG;YAClB,MAAM,QAAQ,IAAI;QACpB;QACA,WAAW,gBAAgB,CAAC,SAAS;YACnC,CAAA,GAAA,gCAAc,AAAD,EAAE,IAAI,CAAC,0BAA0B,WAAW;YACzD,QAAQ,OAAO,GAAG;YAClB,MAAM,QAAQ,IAAI;QACpB;QACA,UAAU,gBAAgB,CAAC,SAAS;YAClC,CAAA,GAAA,gCAAc,AAAD,EAAE,IAAI,CAAC,yBAAyB,WAAW;YACxD,QAAQ,OAAO,GAAG;YAClB,MAAM,QAAQ,IAAI;QACpB;QACA,OAAO;YAAE,SAAS;YAAY,aAAa;QAAS;IACtD;IAEA,kBAAkB,IAAI,EAAE;QACtB,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,IACzB,IAAI,CAAC,IAAI,GAAG;aAEZ,IAAI,CAAC,IAAI,GAAG;QAEd,IAAI,CAAC,MAAM;IACb;IAEA,MAAM,oBAAoB,QAAQ,EAAE;QAClC,MAAM,OAAO,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,cAAc;QAC/C,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG;QAC7B,CAAA,GAAA,8BAAa,AAAD,EAAE,UAAU,CAAC,MAAM;YAAE,OAAO;QAAS;IACnD;IAEA,mBAAmB,IAAI,EAAE;QACvB,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,CAAC,MAAM;IACb;IAEA,iBAAiB;QACf,IAAI,CAAC,SAAS,CAAC,KAAK;QACpB,MAAM,eAAe;IACvB;IAEA,MAAM,mBAAmB;QACvB,MAAM,OAAO,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,cAAc;QAC/C,IAAI,MACF,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,UAAU,CAAC;IAEnC;IAEA,cAAc;QACZ,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG;IAC/B;IAEA,cAAc;QACZ,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY;IAC5D;AACF;;;;;AC1NA,sDAAa;AAFb;AAEO,MAAM;IACX,YAAY,KAAK,EAAE,MAAM,EAAE,UAAU,CAAE;QACrC,IAAI,CAAC,QACH,MAAM,MAAM;QAEd,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,UAAU,GAAG;QAClB,IAAI,CAAC,KAAK,GAAG;QACb,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,kBAAkB;IACzB;IAEA,qBAAqB;QACnB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,IAAM,IAAI,CAAC,WAAW;QAC3D,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAM,IAAI,CAAC,aAAa,CAAC;QACjE,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE;IAChE;IAEA,cAAc;QACZ,MAAM,OAAO,IAAI,CAAC,OAAO;QACzB,MAAM,WAAW,IAAI,CAAC,KAAK,MAAM,GAAG,EAAE;QAEtC,gDAAgD;QAChD,IAAI,aAAa,KACf,IAAI,CAAC,UAAU;QAGjB,0BAA0B;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,aAAa,IAAI,CAAC,aAAa;YACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aACtB,4CAA4C;YAC5C,IAAI,CAAC,UAAU;QAEnB;IACF;IAEA,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;IAC9B;IAEA,gBAAgB;QACd,MAAM,OAAO,IAAI,CAAC,OAAO;QACzB,MAAM,YAAY,KAAK,WAAW,CAAC;QACnC,MAAM,QAAQ,cAAc,KAAK,KAAK,SAAS,CAAC,YAAY,KAAK;QACjE,OAAO;IACT;IAEA,cAAc,KAAK,EAAE;QACnB,MAAM,MAAM,MAAM,GAAG;QAErB,2BAA2B;QAC3B,IAAI,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,WAAW;YACvB,MAAM,cAAc;QACtB,OAAO,IAAI,QAAQ,OAAO,QAAQ,WAAW,QAAQ,UACnD,IAAI,CAAC,UAAU;IAEnB;IAEA,eAAe,QAAQ,EAAE;QACvB,IAAI,aAAa,QAAQ,aAAa,WACpC;QAEF,IAAI,CAAC,IAAI,CAAC,MAAM,EACd;QAEF,MAAM,OAAO,IAAI,CAAC,OAAO;QACzB,MAAM,YAAY,KAAK,WAAW,CAAC;QACnC,IAAI,cAAc,IAAI;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,SAAS,CAAC,GAAG,YAAY,KAAK;YACtD,IAAI,CAAC,KAAK,CAAC,KAAK;YAChB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;YAEzB,IAAI,CAAC,UAAU,CAAC;YAChB,IAAI,CAAC,UAAU;QACjB;IACF;IAEA,aAAa;QACX,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI;IAClB;IAEA,aAAa;QACX,IAAI,CAAC,MAAM,GAAG;QACd,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI;IAClB;AACF;;;;;AC9FA,gDAAa;AAAN,MAAM;IACX,OAAO,WAAW,IAAI,EAAE,QAAQ,EAAE;QAChC,kCAAkC;QAClC,MAAM,UAAU,KAAK,OAAO;QAE5B,iCAAiC;QACjC,MAAM,OAAO,IAAI,KAAK;YAAC;SAAQ,EAAE;YAAE,MAAM;QAAmB;QAE5D,wDAAwD;QACxD,MAAM,IAAI,SAAS,aAAa,CAAC;QACjC,EAAE,IAAI,GAAG,IAAI,eAAe,CAAC;QAC7B,EAAE,QAAQ,GAAG;QAEb,yEAAyE;QACzE,SAAS,IAAI,CAAC,WAAW,CAAC;QAC1B,EAAE,KAAK;QACP,SAAS,IAAI,CAAC,WAAW,CAAC;QAE1B,sBAAsB;QACtB,IAAI,eAAe,CAAC,EAAE,IAAI;IAC5B;AACF;;;;;ACrBA,+CAAa;AAAN,MAAM;IACX,YAAY,OAAO,CAAE;QACnB,IAAI,CAAC,OAAO,GAAG;QACf,QAAQ,SAAS,GAAG,IAAI;QACxB,IAAI,CAAC,kBAAkB;IACzB;IAEA,qBAAqB;QACnB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,IAAM,IAAI,CAAC,WAAW;QACjE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,IAAM,IAAI,CAAC,UAAU;IACjE;IAEA,cAAc;QACZ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;IAC7B;IAEA,aAAa;QACX,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IAChC;AACF;;;;;AChBA,+CAAa;AAHb;AACA;AAEO,MAAM;IACX,aAAc;QACZ,IAAI,CAAC,YAAY,GAAG;QACpB,IAAI,CAAC,OAAO,GAAG,SAAS,cAAc,CAAC;QACvC,IAAI,CAAC,kBAAkB;QACvB,IAAI,CAAC,MAAM;IACb;IAEA,SAAS;QACP,CAAA,GAAA,8BAAa,AAAD,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,GAAG;YACZ,IAAI,CAAC,QAAQ,CAAC,MAAM;QACtB;IACF;IAEA,SAAS,KAAK,EAAE;QACd,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS,IAAI,CAAC,YAAY;IACvD;IAEA,QAAQ;QACN,MAAM,WAAW,SAAS,aAAa,KAAK,IAAI,CAAC,OAAO;QACxD,IAAI,CAAC,UACH,IAAI,CAAC,OAAO,CAAC,KAAK;IAEtB;IAEA,qBAAqB;QACnB,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI;QAC5D,CAAA,GAAA,cAAK,AAAD,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI;QAC9D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI;QAC/D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;YACzC,IAAI,EAAE,GAAG,KAAK,SAAS;gBACrB,EAAE,cAAc;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI;YACnB;QACF;IACF;IAEA,mBAAmB,IAAI,EAAE;QACvB,IAAI,CAAC,IAAI,GAAG;QACZ,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK;IAC1B;IAEA,kBAAkB,IAAI,EAAE;QACtB,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY;IAEnC;IAEA,MAAM,aAAa;QACjB,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;QACzC,IAAI,MAAM,MAAM,KAAK,GAAG;YACtB,QAAQ,IAAI,CAAC,YAAY;YACzB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;QAC7B,OACE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;QAEhC,MAAM,OAAO,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,cAAc;QAC/C,IAAI,MACF,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,UAAU,CAAC,MAAM;YAAE;QAAM;aAE7C,MAAM,CAAA,GAAA,8BAAa,AAAD,EAAE,UAAU,CAAC;YAAE;QAAM;IAE3C;AACF;;;ACnEA,mDAAmD;;;AACnD,8CAAa;AAAN,MAAM;IACX,aAAc;QACZ,IAAI,CAAC,WAAW,GAAG,SAAS,cAAc,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,SAAS,cAAc,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,SAAS,cAAc,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,SAAS,cAAc,CAAC;IAC7C;AACF","sources":["node_modules/@parcel/runtime-browser-hmr/lib/runtime-8d643c788d4e835a.js","js/script.js","js/App.js","js/UINotification.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js","js/models/Settings.js","js/Event.js","js/Dom.js","js/Sidebar.js","js/debounce.js","js/models/Chat.js","js/models/BaseModel.js","js/Database.js","js/Migrations.js","js/models/ChatMessage.js","js/AppController.js","js/ChatList.js","js/ChatListItem.js","js/DragAndDrop.js","js/DownloadChatsButton.js","js/models/LocalStorage.js","js/CopyButton.js","js/OllamaApi.js","js/DownloadButton.js","js/DropDownMenu.js","js/SettingsDialog.js","js/Modal.js","js/ModelsList.js","js/FilteredList.js","js/List.js","js/UIElement.js","js/DOM.js","js/models/Models.js","js/ChatSettingsDialog.js","js/ChatArea.js","js/AtSymbolListener.js","js/ExportChat.js","js/Hoverable.js","js/ChatTitle.js","js/ChatForm.js"],"sourcesContent":["var HMR_HOST = null;var HMR_PORT = null;var HMR_SECURE = false;var HMR_ENV_HASH = \"d6ea1d42532a7575\";module.bundle.HMR_BUNDLE_ID = \"2751c5c64de9b498\";\"use strict\";\n\n/* global HMR_HOST, HMR_PORT, HMR_ENV_HASH, HMR_SECURE, chrome, browser, __parcel__import__, __parcel__importScripts__, ServiceWorkerGlobalScope */\n/*::\nimport type {\n HMRAsset,\n HMRMessage,\n} from '@parcel/reporter-dev-server/src/HMRServer.js';\ninterface ParcelRequire {\n (string): mixed;\n cache: {|[string]: ParcelModule|};\n hotData: {|[string]: mixed|};\n Module: any;\n parent: ?ParcelRequire;\n isParcelRequire: true;\n modules: {|[string]: [Function, {|[string]: string|}]|};\n HMR_BUNDLE_ID: string;\n root: ParcelRequire;\n}\ninterface ParcelModule {\n hot: {|\n data: mixed,\n accept(cb: (Function) => void): void,\n dispose(cb: (mixed) => void): void,\n // accept(deps: Array | string, cb: (Function) => void): void,\n // decline(): void,\n _acceptCallbacks: Array<(Function) => void>,\n _disposeCallbacks: Array<(mixed) => void>,\n |};\n}\ninterface ExtensionContext {\n runtime: {|\n reload(): void,\n getURL(url: string): string;\n getManifest(): {manifest_version: number, ...};\n |};\n}\ndeclare var module: {bundle: ParcelRequire, ...};\ndeclare var HMR_HOST: string;\ndeclare var HMR_PORT: string;\ndeclare var HMR_ENV_HASH: string;\ndeclare var HMR_SECURE: boolean;\ndeclare var chrome: ExtensionContext;\ndeclare var browser: ExtensionContext;\ndeclare var __parcel__import__: (string) => Promise;\ndeclare var __parcel__importScripts__: (string) => Promise;\ndeclare var globalThis: typeof self;\ndeclare var ServiceWorkerGlobalScope: Object;\n*/\nvar OVERLAY_ID = '__parcel__error__overlay__';\nvar OldModule = module.bundle.Module;\nfunction Module(moduleName) {\n OldModule.call(this, moduleName);\n this.hot = {\n data: module.bundle.hotData[moduleName],\n _acceptCallbacks: [],\n _disposeCallbacks: [],\n accept: function (fn) {\n this._acceptCallbacks.push(fn || function () {});\n },\n dispose: function (fn) {\n this._disposeCallbacks.push(fn);\n }\n };\n module.bundle.hotData[moduleName] = undefined;\n}\nmodule.bundle.Module = Module;\nmodule.bundle.hotData = {};\nvar checkedAssets /*: {|[string]: boolean|} */, assetsToDispose /*: Array<[ParcelRequire, string]> */, assetsToAccept /*: Array<[ParcelRequire, string]> */;\n\nfunction getHostname() {\n return HMR_HOST || (location.protocol.indexOf('http') === 0 ? location.hostname : 'localhost');\n}\nfunction getPort() {\n return HMR_PORT || location.port;\n}\n\n// eslint-disable-next-line no-redeclare\nvar parent = module.bundle.parent;\nif ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {\n var hostname = getHostname();\n var port = getPort();\n var protocol = HMR_SECURE || location.protocol == 'https:' && !['localhost', '127.0.0.1', '0.0.0.0'].includes(hostname) ? 'wss' : 'ws';\n var ws;\n try {\n ws = new WebSocket(protocol + '://' + hostname + (port ? ':' + port : '') + '/');\n } catch (err) {\n if (err.message) {\n console.error(err.message);\n }\n ws = {};\n }\n\n // Web extension context\n var extCtx = typeof browser === 'undefined' ? typeof chrome === 'undefined' ? null : chrome : browser;\n\n // Safari doesn't support sourceURL in error stacks.\n // eval may also be disabled via CSP, so do a quick check.\n var supportsSourceURL = false;\n try {\n (0, eval)('throw new Error(\"test\"); //# sourceURL=test.js');\n } catch (err) {\n supportsSourceURL = err.stack.includes('test.js');\n }\n\n // $FlowFixMe\n ws.onmessage = async function (event /*: {data: string, ...} */) {\n checkedAssets = {} /*: {|[string]: boolean|} */;\n assetsToAccept = [];\n assetsToDispose = [];\n var data /*: HMRMessage */ = JSON.parse(event.data);\n if (data.type === 'update') {\n // Remove error overlay if there is one\n if (typeof document !== 'undefined') {\n removeErrorOverlay();\n }\n let assets = data.assets.filter(asset => asset.envHash === HMR_ENV_HASH);\n\n // Handle HMR Update\n let handled = assets.every(asset => {\n return asset.type === 'css' || asset.type === 'js' && hmrAcceptCheck(module.bundle.root, asset.id, asset.depsByBundle);\n });\n if (handled) {\n console.clear();\n\n // Dispatch custom event so other runtimes (e.g React Refresh) are aware.\n if (typeof window !== 'undefined' && typeof CustomEvent !== 'undefined') {\n window.dispatchEvent(new CustomEvent('parcelhmraccept'));\n }\n await hmrApplyUpdates(assets);\n\n // Dispose all old assets.\n let processedAssets = {} /*: {|[string]: boolean|} */;\n for (let i = 0; i < assetsToDispose.length; i++) {\n let id = assetsToDispose[i][1];\n if (!processedAssets[id]) {\n hmrDispose(assetsToDispose[i][0], id);\n processedAssets[id] = true;\n }\n }\n\n // Run accept callbacks. This will also re-execute other disposed assets in topological order.\n processedAssets = {};\n for (let i = 0; i < assetsToAccept.length; i++) {\n let id = assetsToAccept[i][1];\n if (!processedAssets[id]) {\n hmrAccept(assetsToAccept[i][0], id);\n processedAssets[id] = true;\n }\n }\n } else fullReload();\n }\n if (data.type === 'error') {\n // Log parcel errors to console\n for (let ansiDiagnostic of data.diagnostics.ansi) {\n let stack = ansiDiagnostic.codeframe ? ansiDiagnostic.codeframe : ansiDiagnostic.stack;\n console.error('🚨 [parcel]: ' + ansiDiagnostic.message + '\\n' + stack + '\\n\\n' + ansiDiagnostic.hints.join('\\n'));\n }\n if (typeof document !== 'undefined') {\n // Render the fancy html overlay\n removeErrorOverlay();\n var overlay = createErrorOverlay(data.diagnostics.html);\n // $FlowFixMe\n document.body.appendChild(overlay);\n }\n }\n };\n ws.onerror = function (e) {\n if (e.message) {\n console.error(e.message);\n }\n };\n ws.onclose = function () {\n console.warn('[parcel] 🚨 Connection to the HMR server was lost');\n };\n}\nfunction removeErrorOverlay() {\n var overlay = document.getElementById(OVERLAY_ID);\n if (overlay) {\n overlay.remove();\n console.log('[parcel] ✨ Error resolved');\n }\n}\nfunction createErrorOverlay(diagnostics) {\n var overlay = document.createElement('div');\n overlay.id = OVERLAY_ID;\n let errorHTML = '
';\n for (let diagnostic of diagnostics) {\n let stack = diagnostic.frames.length ? diagnostic.frames.reduce((p, frame) => {\n return `${p}\n${frame.location}\n${frame.code}`;\n }, '') : diagnostic.stack;\n errorHTML += `\n
\n
\n 🚨 ${diagnostic.message}\n
\n
${stack}
\n
\n ${diagnostic.hints.map(hint => '
💡 ' + hint + '
').join('')}\n
\n ${diagnostic.documentation ? `` : ''}\n
\n `;\n }\n errorHTML += '
';\n overlay.innerHTML = errorHTML;\n return overlay;\n}\nfunction fullReload() {\n if ('reload' in location) {\n location.reload();\n } else if (extCtx && extCtx.runtime && extCtx.runtime.reload) {\n extCtx.runtime.reload();\n }\n}\nfunction getParents(bundle, id) /*: Array<[ParcelRequire, string]> */{\n var modules = bundle.modules;\n if (!modules) {\n return [];\n }\n var parents = [];\n var k, d, dep;\n for (k in modules) {\n for (d in modules[k][1]) {\n dep = modules[k][1][d];\n if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) {\n parents.push([bundle, k]);\n }\n }\n }\n if (bundle.parent) {\n parents = parents.concat(getParents(bundle.parent, id));\n }\n return parents;\n}\nfunction updateLink(link) {\n var href = link.getAttribute('href');\n if (!href) {\n return;\n }\n var newLink = link.cloneNode();\n newLink.onload = function () {\n if (link.parentNode !== null) {\n // $FlowFixMe\n link.parentNode.removeChild(link);\n }\n };\n newLink.setAttribute('href',\n // $FlowFixMe\n href.split('?')[0] + '?' + Date.now());\n // $FlowFixMe\n link.parentNode.insertBefore(newLink, link.nextSibling);\n}\nvar cssTimeout = null;\nfunction reloadCSS() {\n if (cssTimeout) {\n return;\n }\n cssTimeout = setTimeout(function () {\n var links = document.querySelectorAll('link[rel=\"stylesheet\"]');\n for (var i = 0; i < links.length; i++) {\n // $FlowFixMe[incompatible-type]\n var href /*: string */ = links[i].getAttribute('href');\n var hostname = getHostname();\n var servedFromHMRServer = hostname === 'localhost' ? new RegExp('^(https?:\\\\/\\\\/(0.0.0.0|127.0.0.1)|localhost):' + getPort()).test(href) : href.indexOf(hostname + ':' + getPort());\n var absolute = /^https?:\\/\\//i.test(href) && href.indexOf(location.origin) !== 0 && !servedFromHMRServer;\n if (!absolute) {\n updateLink(links[i]);\n }\n }\n cssTimeout = null;\n }, 50);\n}\nfunction hmrDownload(asset) {\n if (asset.type === 'js') {\n if (typeof document !== 'undefined') {\n let script = document.createElement('script');\n script.src = asset.url + '?t=' + Date.now();\n if (asset.outputFormat === 'esmodule') {\n script.type = 'module';\n }\n return new Promise((resolve, reject) => {\n var _document$head;\n script.onload = () => resolve(script);\n script.onerror = reject;\n (_document$head = document.head) === null || _document$head === void 0 || _document$head.appendChild(script);\n });\n } else if (typeof importScripts === 'function') {\n // Worker scripts\n if (asset.outputFormat === 'esmodule') {\n return __parcel__import__(asset.url + '?t=' + Date.now());\n } else {\n return new Promise((resolve, reject) => {\n try {\n __parcel__importScripts__(asset.url + '?t=' + Date.now());\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n }\n }\n }\n}\nasync function hmrApplyUpdates(assets) {\n global.parcelHotUpdate = Object.create(null);\n let scriptsToRemove;\n try {\n // If sourceURL comments aren't supported in eval, we need to load\n // the update from the dev server over HTTP so that stack traces\n // are correct in errors/logs. This is much slower than eval, so\n // we only do it if needed (currently just Safari).\n // https://bugs.webkit.org/show_bug.cgi?id=137297\n // This path is also taken if a CSP disallows eval.\n if (!supportsSourceURL) {\n let promises = assets.map(asset => {\n var _hmrDownload;\n return (_hmrDownload = hmrDownload(asset)) === null || _hmrDownload === void 0 ? void 0 : _hmrDownload.catch(err => {\n // Web extension fix\n if (extCtx && extCtx.runtime && extCtx.runtime.getManifest().manifest_version == 3 && typeof ServiceWorkerGlobalScope != 'undefined' && global instanceof ServiceWorkerGlobalScope) {\n extCtx.runtime.reload();\n return;\n }\n throw err;\n });\n });\n scriptsToRemove = await Promise.all(promises);\n }\n assets.forEach(function (asset) {\n hmrApply(module.bundle.root, asset);\n });\n } finally {\n delete global.parcelHotUpdate;\n if (scriptsToRemove) {\n scriptsToRemove.forEach(script => {\n if (script) {\n var _document$head2;\n (_document$head2 = document.head) === null || _document$head2 === void 0 || _document$head2.removeChild(script);\n }\n });\n }\n }\n}\nfunction hmrApply(bundle /*: ParcelRequire */, asset /*: HMRAsset */) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n if (asset.type === 'css') {\n reloadCSS();\n } else if (asset.type === 'js') {\n let deps = asset.depsByBundle[bundle.HMR_BUNDLE_ID];\n if (deps) {\n if (modules[asset.id]) {\n // Remove dependencies that are removed and will become orphaned.\n // This is necessary so that if the asset is added back again, the cache is gone, and we prevent a full page reload.\n let oldDeps = modules[asset.id][1];\n for (let dep in oldDeps) {\n if (!deps[dep] || deps[dep] !== oldDeps[dep]) {\n let id = oldDeps[dep];\n let parents = getParents(module.bundle.root, id);\n if (parents.length === 1) {\n hmrDelete(module.bundle.root, id);\n }\n }\n }\n }\n if (supportsSourceURL) {\n // Global eval. We would use `new Function` here but browser\n // support for source maps is better with eval.\n (0, eval)(asset.output);\n }\n\n // $FlowFixMe\n let fn = global.parcelHotUpdate[asset.id];\n modules[asset.id] = [fn, deps];\n } else if (bundle.parent) {\n hmrApply(bundle.parent, asset);\n }\n }\n}\nfunction hmrDelete(bundle, id) {\n let modules = bundle.modules;\n if (!modules) {\n return;\n }\n if (modules[id]) {\n // Collect dependencies that will become orphaned when this module is deleted.\n let deps = modules[id][1];\n let orphans = [];\n for (let dep in deps) {\n let parents = getParents(module.bundle.root, deps[dep]);\n if (parents.length === 1) {\n orphans.push(deps[dep]);\n }\n }\n\n // Delete the module. This must be done before deleting dependencies in case of circular dependencies.\n delete modules[id];\n delete bundle.cache[id];\n\n // Now delete the orphans.\n orphans.forEach(id => {\n hmrDelete(module.bundle.root, id);\n });\n } else if (bundle.parent) {\n hmrDelete(bundle.parent, id);\n }\n}\nfunction hmrAcceptCheck(bundle /*: ParcelRequire */, id /*: string */, depsByBundle /*: ?{ [string]: { [string]: string } }*/) {\n if (hmrAcceptCheckOne(bundle, id, depsByBundle)) {\n return true;\n }\n\n // Traverse parents breadth first. All possible ancestries must accept the HMR update, or we'll reload.\n let parents = getParents(module.bundle.root, id);\n let accepted = false;\n while (parents.length > 0) {\n let v = parents.shift();\n let a = hmrAcceptCheckOne(v[0], v[1], null);\n if (a) {\n // If this parent accepts, stop traversing upward, but still consider siblings.\n accepted = true;\n } else {\n // Otherwise, queue the parents in the next level upward.\n let p = getParents(module.bundle.root, v[1]);\n if (p.length === 0) {\n // If there are no parents, then we've reached an entry without accepting. Reload.\n accepted = false;\n break;\n }\n parents.push(...p);\n }\n }\n return accepted;\n}\nfunction hmrAcceptCheckOne(bundle /*: ParcelRequire */, id /*: string */, depsByBundle /*: ?{ [string]: { [string]: string } }*/) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n if (depsByBundle && !depsByBundle[bundle.HMR_BUNDLE_ID]) {\n // If we reached the root bundle without finding where the asset should go,\n // there's nothing to do. Mark as \"accepted\" so we don't reload the page.\n if (!bundle.parent) {\n return true;\n }\n return hmrAcceptCheck(bundle.parent, id, depsByBundle);\n }\n if (checkedAssets[id]) {\n return true;\n }\n checkedAssets[id] = true;\n var cached = bundle.cache[id];\n assetsToDispose.push([bundle, id]);\n if (!cached || cached.hot && cached.hot._acceptCallbacks.length) {\n assetsToAccept.push([bundle, id]);\n return true;\n }\n}\nfunction hmrDispose(bundle /*: ParcelRequire */, id /*: string */) {\n var cached = bundle.cache[id];\n bundle.hotData[id] = {};\n if (cached && cached.hot) {\n cached.hot.data = bundle.hotData[id];\n }\n if (cached && cached.hot && cached.hot._disposeCallbacks.length) {\n cached.hot._disposeCallbacks.forEach(function (cb) {\n cb(bundle.hotData[id]);\n });\n }\n delete bundle.cache[id];\n}\nfunction hmrAccept(bundle /*: ParcelRequire */, id /*: string */) {\n // Execute the module.\n bundle(id);\n\n // Run the accept callbacks in the new version of the module.\n var cached = bundle.cache[id];\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n cached.hot._acceptCallbacks.forEach(function (cb) {\n var assetsToAlsoAccept = cb(function () {\n return getParents(module.bundle.root, id);\n });\n if (assetsToAlsoAccept && assetsToAccept.length) {\n assetsToAlsoAccept.forEach(function (a) {\n hmrDispose(a[0], a[1]);\n });\n\n // $FlowFixMe[method-unbinding]\n assetsToAccept.push.apply(assetsToAccept, assetsToAlsoAccept);\n }\n });\n }\n}","import { App } from './App.js';\nimport { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\n\n// TODO: refactor\nasync function initialize() {\n await Chat.initialize();\n await ChatMessage.initialize();\n}\n\ninitialize().then(() => {\n App.run();\n});\n","import { UINotification } from './UINotification.js';\nimport { Settings } from './models/Settings.js';\nimport { Event } from './Event.js';\nimport { DOM } from './Dom.js';\nimport { Sidebar } from './Sidebar.js';\nimport { AppController } from './AppController.js';\nimport { CopyButton } from './CopyButton.js';\nimport { OllamaApi } from './OllamaApi.js';\n// import { OpenAiApi } from './OpenAiApi.js';\nimport { DownloadButton } from './DownloadButton.js';\nimport { DropDownMenu } from './DropDownMenu.js';\nimport { SettingsDialog } from './SettingsDialog.js';\nimport { ChatSettingsDialog } from './ChatSettingsDialog.js';\n// import { MarkdownFormatter } from './MarkdownFormatter.js'\nimport { ChatArea } from './ChatArea.js';\n\n// TODO: Review and refactor\nexport class App {\n static run() {\n UINotification.initialize();\n const app = new App();\n return app;\n }\n\n constructor() {\n this.sidebar = new Sidebar();\n this.chatArea = new ChatArea();\n this.api = new OllamaApi();\n // this.api = new OpenAiApi();\n this.settingsDialog = new SettingsDialog({\n domId: 'settings-dialog',\n buttonId: 'settings-button',\n title: 'Global settings',\n templateId: 'settings-dialog-template',\n });\n this.chatSettingsDialog = new ChatSettingsDialog({\n domId: 'chat-settings-dialog',\n buttonId: 'chat-settings-button',\n title: 'Chat settings',\n templateId: 'settings-dialog-template',\n });\n this.downloadButton = new DownloadButton();\n this.copyButton = new CopyButton();\n this.dropDownMenu = new DropDownMenu();\n this.initializeElements();\n this.bindEventListeners();\n this.logInitialization();\n }\n\n initializeElements() {\n // this.sendButton = document.getElementById('send-button');\n this.abortButton = document.getElementById('abort-button');\n this.messageInput = document.getElementById('message-input');\n this.chatHistory = document.getElementById('chat-history');\n }\n\n logInitialization() {\n const msg = `~~~~\\nChat\\n~~~~\nModel: ${Settings.getModel()}\nURL: ${Settings.getUrl()}\nChat: ${Settings.getCurrentChatId()}\nParameters: ${JSON.stringify(Settings.getModelParameters())}\n`;\n console.log(msg);\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected);\n // this.sendButton.addEventListener('click', this.sendMessage.bind(this));\n this.abortButton.addEventListener('click', this.handleAbort.bind(this));\n this.messageInput.addEventListener(\n 'keypress',\n this.handleKeyPress.bind(this),\n );\n }\n\n handleChatSelected = (chat) => {\n window.history.pushState({}, '', `/chats/${chat.id}`);\n };\n\n handleAbort = () => {\n this.api.abort();\n this.enableForm();\n console.log('Request aborted');\n };\n\n handleKeyPress = (event) => {\n if (event.key === 'Enter' && !event.shiftKey) {\n this.sendMessage();\n }\n };\n\n enableForm() {\n DOM.hideElement(this.abortButton).enableInput(this.messageInput);\n this.messageInput.focus();\n }\n\n disableForm() {\n DOM.showElement(this.abortButton).disableInput(this.messageInput);\n }\n\n // https://github.com/jmorganca/ollama/blob/main/docs/api.md#generate-a-completion\n async sendMessage() {\n const userPrompt = this.messageInput.value.trim();\n // Get the current chat\n let chat = await AppController.getCurrentChat();\n const url = Settings.getUrl('/api/chat');\n if (!url) {\n UINotification.show(\n 'Please update the URL in the settings to continue. ',\n );\n return null;\n }\n if (userPrompt) {\n // Reset input\n this.messageInput.value = '';\n // Create new chat\n if (!chat) {\n chat = await AppController.createChat({\n title: 'Untitled',\n model: Settings.getModel(),\n });\n }\n // Store user message\n const userMessage = await chat.addMessage({\n role: 'user',\n content: userPrompt,\n });\n const systemMessage = await chat.addMessage({\n role: 'assistant',\n content: '',\n });\n const systemPrompt = Settings.getSystemPrompt();\n const modelParameters = Settings.getModelParameters();\n // Disable form\n this.disableForm();\n // Create user message\n this.createChatMessage(userMessage);\n // Create system message container\n const responseElement = this.createChatMessage(systemMessage);\n const requestContext = {\n chat,\n userMessage,\n systemMessage,\n responseElement,\n };\n const requestData = await this.api.makeRequest(\n chat,\n userMessage,\n systemPrompt,\n modelParameters,\n );\n /*\n console.dir(requestData);\n const requestData = {\n prompt: userMessage,\n model: chat.model,\n messages: (await chat.getMessages()).map((message) => ({\n role: message.role,\n content: message.content,\n })),\n };\n // Add system prompt\n if (systemPrompt) {\n requestData.system = systemPrompt;\n }\n // Add model parameters\n if (modelParameters) {\n requestData.options = modelParameters;\n }\n */\n // Show spinner\n responseElement.textElement.innerHTML = '
';\n this.chatArea.scrollToEnd();\n // Make request\n this.api.send(\n url,\n requestData,\n (request, response) =>\n this.handleResponse(request, response, requestContext),\n (request, error) => this.handleResponseError(request, error),\n (request, response) =>\n this.handleDone(request, response, requestContext),\n );\n }\n }\n\n createChatMessage(message) {\n return this.chatArea.createMessageDiv(message);\n }\n\n handleResponse(request, response, context) {\n const responseElement = context.responseElement;\n const sanitizedContent = this.sanitizeContent(response);\n // Remember original response\n context.systemMessage.content += sanitizedContent;\n responseElement.textElement.textContent += sanitizedContent;\n this.chatArea.scrollToEnd();\n }\n\n handleResponseError(request, error) {\n // Ignore \"Abort\" button\n if (error !== undefined && error.name !== 'AbortError') {\n console.error(`Error: ${error.message}`);\n }\n this.chatArea.scrollToEnd();\n this.enableForm();\n }\n\n async handleDone(request, response, context) {\n const chat = context.chat;\n console.log(`Chat ${chat.id} done`);\n await context.systemMessage.save();\n this.enableForm();\n }\n\n sanitizeContent = (content) => {\n // TODO: Sanitization logic here\n return content;\n };\n\n getIdParam = () => {\n return new URL(window.location.href).pathname.split('/').pop();\n };\n}\n","function simpleHash(str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32bit integer\n }\n return hash;\n}\n\n// Show all uncaught errors as UI notifications\n/*\nwindow.onerror = function (message, source, lineno, colno, error) {\n const errorDetails = `${message} at ${source}:${lineno}:${colno}`;\n UINotification.show(errorDetails, 'error');\n return true;\n};\n*/\n\nexport class UINotification {\n constructor(message, type, autoDismiss) {\n const id = simpleHash(JSON.stringify(message));\n this.type = type;\n this.domId = `notification-${id}`;\n this.container = document.body;\n this.template = document.getElementById('notification-template').content;\n this._bindEventListeners();\n if (autoDismiss) {\n this.autoDismiss();\n }\n }\n\n _bindEventListeners() {\n window.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n });\n }\n\n autoDismiss() {\n setTimeout(() => {\n this.hide();\n }, 2000); // 2000 milliseconds (2 seconds)\n }\n\n static show(message, type) {\n const notification = new UINotification(message, type);\n notification.show(message);\n return notification;\n }\n\n static initialize() {\n // Store the original console.error function\n const originalConsoleError = console.error;\n\n // Override console.error\n console.error = function (...args) {\n UINotification.show(args);\n // Call the original console.error with all arguments\n originalConsoleError.apply(console, args);\n };\n }\n\n static handleApplicationError(error) {\n console.debug('caught error');\n console.error(error);\n UINotification.show(error);\n }\n\n show(message) {\n // Clone the template\n const clone = this.template.cloneNode(true);\n\n // Find the root element of the notification in the clone\n const notificationElement = clone.querySelector('.notification');\n if (!notificationElement) {\n console.error('Notification root element not found in template');\n return;\n }\n\n // Set the message\n clone.querySelector('.notification-message').textContent = message;\n\n notificationElement.id = this.domId; // Set ID on the actual element, not the fragment\n // Add type, for example, error\n if (this.type) {\n notificationElement.classList.add(`notification-${this.type}`);\n }\n\n // Add close functionality\n const closeButton = clone.querySelector('.close-notification-button');\n closeButton.onclick = () => this.hide();\n\n // Don't show the same notification twice\n if (!document.getElementById(this.domId)) {\n // Append to the container and display\n this.container.appendChild(clone);\n }\n }\n\n hide() {\n document.getElementById(this.domId)?.remove();\n }\n}\n","exports.interopDefault = function (a) {\n return a && a.__esModule ? a : {default: a};\n};\n\nexports.defineInteropFlag = function (a) {\n Object.defineProperty(a, '__esModule', {value: true});\n};\n\nexports.exportAll = function (source, dest) {\n Object.keys(source).forEach(function (key) {\n if (\n key === 'default' ||\n key === '__esModule' ||\n Object.prototype.hasOwnProperty.call(dest, key)\n ) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function () {\n return source[key];\n },\n });\n });\n\n return dest;\n};\n\nexports.export = function (dest, destName, get) {\n Object.defineProperty(dest, destName, {\n enumerable: true,\n get: get,\n });\n};\n","export class Settings {\n // Static method to set a value in localStorage\n static set(key, value) {\n try {\n const stringValue = JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n } catch (e) {\n console.error('Error saving to localStorage', e);\n }\n }\n\n // Static method to get a value from localStorage\n static get(key, defaultValue = null) {\n try {\n const value = localStorage.getItem(key);\n return value !== null ? JSON.parse(value) : defaultValue;\n } catch (e) {\n console.error('Error reading from localStorage', e);\n return defaultValue;\n }\n }\n\n // Static method to remove a value from localStorage\n static remove(key) {\n try {\n localStorage.removeItem(key);\n } catch (e) {\n console.error('Error removing from localStorage', e);\n }\n }\n\n static getUrl(uri) {\n try {\n const baseUrl = Settings.get('url');\n if (uri) {\n return new URL(uri, baseUrl).href;\n } else {\n return baseUrl;\n }\n } catch (error) {\n return null;\n }\n }\n\n static setUrl(url) {\n Settings.set('url', url);\n }\n\n static getModel() {\n return Settings.get('model');\n }\n\n static setModel(model) {\n Settings.set('model', model);\n }\n\n static getSystemPrompt() {\n return Settings.get('system-prompt');\n }\n\n static setSystemPrompt(systemPrompt) {\n if (systemPrompt === '') {\n systemPrompt = null;\n }\n Settings.set('system-prompt', systemPrompt);\n }\n\n static getModelParameters() {\n return Settings.get('model-parameters');\n }\n\n static setModelParameters(modelParameters) {\n if (modelParameters === '') {\n modelParameters = null;\n }\n Settings.set('model-parameters', modelParameters);\n }\n\n static getCurrentChatId() {\n return Settings.get('currentChatId');\n }\n\n static setCurrentChatId(chatId) {\n if (chatId === undefined) {\n chatId = null;\n }\n Settings.set('currentChatId', chatId);\n }\n}\n","export class Event {\n static listen(eventName, handler, target) {\n if (target === null || target === undefined) {\n target = window;\n }\n target.addEventListener(eventName, (event) => {\n handler(event.detail);\n });\n }\n\n static emit(eventName, data, target) {\n if (target === null || target === undefined) {\n target = window;\n }\n let log = `${eventName}`;\n if (data?.id) {\n log += ` id: ${data.id}`;\n }\n console.log(log);\n const event = new CustomEvent(eventName, {\n detail: data || {},\n bubbles: true, // This makes the event bubble up through the DOM\n });\n target.dispatchEvent(event);\n }\n}\n","export class DOM {\n static showElement(element) {\n element.classList.remove('hidden');\n return this;\n }\n\n static hideElement(element) {\n element.classList.add('hidden');\n return this;\n }\n\n static enableInput(element) {\n element.removeAttribute('disabled');\n return this;\n }\n\n static disableInput(element) {\n element.setAttribute('disabled', 'disabled');\n return this;\n }\n}\n","import { debounce } from './debounce.js';\nimport { Event } from './Event.js';\nimport { Chat } from './models/Chat.js';\nimport { AppController } from './AppController.js';\nimport { ChatList } from './ChatList.js';\nimport { DownloadChatsButton } from './DownloadChatsButton.js';\nimport { LocalStorage } from './models/LocalStorage.js';\n\nexport class Sidebar {\n constructor() {\n this.settings = new LocalStorage();\n this.chatList = new ChatList();\n this.element = document.getElementById('sidebar');\n this.newChatButton = this.element.querySelector('#new-chat-button');\n this.clearButton = this.element.querySelector('#clear-button');\n this.hamburgerButton = document.getElementById('hamburger-menu');\n this.searchButton = document.getElementById('search-button');\n this.downloadChatsButton = new DownloadChatsButton();\n this.searchRow = document.getElementById('search-row');\n this.searchInput = document.getElementById('search-input');\n if (this.settings.get('sidebar-collapsed') === true) {\n this.element.classList.add('collapsed');\n }\n this.bindEventListeners();\n this.render();\n }\n\n render() {\n this.chatList.render();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected);\n this.searchButton.addEventListener('click', this.toggleSearch.bind(this));\n this.searchInput.addEventListener(\n 'keypress',\n debounce(this.performSearch.bind(this), 50),\n );\n this.searchInput.addEventListener(\n 'keyup',\n debounce(this.performSearch.bind(this), 50),\n );\n this.newChatButton.addEventListener('click', this.handleNewChat.bind(this));\n this.clearButton.addEventListener('click', this.handleClear.bind(this));\n this.hamburgerButton.addEventListener('click', this.toggle.bind(this));\n }\n\n // TODO: Fix\n handleChatSelected = (chat) => {\n const listItem = this.element.querySelector(`chat${chat.id}`);\n if (listItem) {\n listItem.scrollIntoView({\n behavior: 'smooth',\n block: 'start', // \"start\" will bring the top of the element into view\n inline: 'nearest', // \"nearest\" will scroll to the nearest edge if partially visible\n });\n }\n };\n\n toggleSearch() {\n const searchRow = document.getElementById('search-row');\n searchRow.classList.toggle('hidden');\n this.searchInput.focus();\n }\n\n performSearch() {\n function escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // Escapes special characters\n }\n const query = escapeRegExp(this.searchInput.value.trim()).replace(\n /\\s+/g,\n '.*',\n );\n const queryContent = query.length > 2; // Nobody wants to query content based on one character?\n const regex = new RegExp(query, 'i'); // 'i' for case-insensitive matching\n console.log(`Search ${query}`);\n Chat.getAll().then((chats) => {\n const matches = chats\n .filter((chat) => {\n let match = regex.test(chat.title);\n if (queryContent) {\n match ||= regex.test(chat.content);\n }\n return match;\n })\n .map((chat) => chat.id);\n this.element.querySelectorAll('.chat-list-item').forEach((item) => {\n if (matches.includes(item.data.id)) {\n // Now matches the type\n item.classList.remove('hidden');\n } else {\n item.classList.add('hidden');\n }\n });\n });\n }\n\n toggle() {\n this.element.classList.toggle('collapsed');\n this.hamburgerButton.classList.toggle('collapsed');\n if (this.element.classList.contains('collapsed')) {\n this.settings.set('sidebar-collapsed', true);\n } else {\n this.settings.set('sidebar-collapsed', false);\n }\n }\n\n async handleNewChat() {\n await AppController.createChat();\n }\n\n async handleClear() {\n await AppController.clearChats();\n }\n}\n","export function debounce(func, wait) {\n let timeout;\n\n return function funcWrapper(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n}\n","import { BaseModel } from './BaseModel.js';\nimport { ChatMessage } from './ChatMessage.js';\n\nexport class Chat extends BaseModel {\n async addMessage(data) {\n data.chatId = this.id;\n return await new ChatMessage(data).create();\n }\n\n async getMessages() {\n const messages = await ChatMessage.getAllByChatId(this.id);\n this.messages = messages;\n return this.messages;\n }\n\n static async initialize() {\n await this.database('ChatApp', ['chats']);\n }\n\n static async clear() {\n await ChatMessage.clear();\n await super.clear();\n }\n\n static async get(id) {\n const chat = await super.get(id);\n\n /*\n if (chat) {\n // Fetch all messages for this chat\n const messages = await ChatMessage.getAllByChatId(id);\n chat.messages = messages;\n }\n */\n\n return chat;\n }\n\n static async delete(id) {\n // Delete the chat instance\n await super.delete(id);\n\n // Delete all associated messages\n const messages = await ChatMessage.getAllByChatId(id);\n for (const message of messages) {\n await message.delete();\n }\n }\n}\n","import { Database } from '../Database.js';\nimport { Migrations } from '../Migrations.js';\n\nexport class BaseModel {\n constructor(data) {\n Object.assign(this, data);\n }\n\n async create() {\n const key = await this.constructor.db.add(this.constructor.storeName, this);\n if (!this.id) {\n this.id = key;\n }\n return this;\n }\n\n async save() {\n return await this.constructor.db.put(this.constructor.storeName, this);\n }\n\n async delete() {\n return await this.constructor.db.delete(\n this.constructor.storeName,\n this.id,\n );\n }\n\n jsonify() {\n return JSON.stringify(this);\n }\n\n static async database(name, store) {\n this.dbName = name;\n this.storeName = store;\n this.db = new Database(name, [store], Migrations);\n await this.db.open();\n }\n\n static async transaction(mode) {\n return await this.db.transaction(this.storeName, mode);\n }\n\n async transaction(mode) {\n return await this.constructor.transaction(mode);\n }\n\n static async get(id) {\n const data = await this.db.get(this.storeName, id);\n return new this(data);\n }\n\n static async clear() {\n return await this.db.clear(this.storeName);\n }\n\n // TODO: sorting and selecting only certain attributes\n static async getAll() {\n const records = await this.db.getAll(this.storeName);\n return records.map((data) => new this(data));\n }\n\n /**\n * Retrieves all objects associated with a given ID and index.\n *\n * @param {number|string} chatId - The ID of the chat.\n * @returns {Promise} A promise that resolves to an array.\n */\n static async getAllByIndexAndId(indexName, id) {\n // Open a transaction and access the messages store\n const transaction = await this.transaction('readonly');\n\n // Use an index to find objects with the specified id\n const index = transaction.index(indexName);\n const request = index.getAll(id);\n\n return new Promise((resolve, reject) => {\n request.onsuccess = () => {\n // Convert the result into instances\n const messages = request.result.map((data) => new this(data));\n resolve(messages);\n };\n request.onerror = () => {\n reject(request.error);\n };\n });\n }\n\n // Exports the whole store\n static async export() {\n let transaction = await this.db.transaction(this.storeName, 'readonly');\n let store = await transaction.transaction.objectStore(this.storeName);\n return store.getAll();\n }\n}\n","export class Database {\n constructor(dbName, objectStores, migrations) {\n this.dbName = dbName;\n this.objectStores = objectStores;\n this.dbConnection = null; // Initialized in open\n this.migrations = migrations;\n }\n\n async open() {\n if (this.dbConnection) {\n throw new Error('Connection already open');\n }\n\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(this.dbName, this.migrations.version);\n\n request.onerror = (event) => reject(event.target.error);\n request.onupgradeneeded = (event) => {\n const db = event.target.result;\n const transaction = event.currentTarget.transaction;\n this.migrations.upgrade(db, transaction, event.oldVersion);\n };\n request.onsuccess = (event) => {\n this.dbConnection = event.target.result;\n resolve(this.dbConnection);\n };\n });\n }\n\n async transaction(storeName, mode) {\n return this.dbConnection\n .transaction([storeName], mode)\n .objectStore(storeName);\n }\n\n async add(storeName, data) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('add', store.add(data));\n }\n\n async get(storeName, id) {\n const store = await this.transaction(storeName, 'readonly');\n return this.handleRequest('get', store.get(id));\n }\n\n async put(storeName, data) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('put', store.put(data));\n }\n\n async delete(storeName, id) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('delete', store.delete(id));\n }\n\n async getAll(storeName) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('getAll', store.getAll());\n }\n\n async clear(storeName) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('deleteAll', store.clear());\n }\n\n handleRequest(type, request) {\n return new Promise((resolve, reject) => {\n request.onsuccess = () => resolve(request.result);\n\n request.onerror = (event) => {\n const error = `Database ${type} operation failed: ${event.target.error.message}`;\n reject(new Error(JSON.stringify(error)));\n };\n });\n }\n}\n","export class Migrations {\n static version = 2;\n static upgrade(database, transaction, oldVersion) {\n console.debug(\n `Migration needed. Old version ${oldVersion}. New version ${this.version}.`,\n );\n const funcName = `upgradeToVersion${this.version}`;\n const upgradeFunc = this[funcName];\n if (!upgradeFunc) {\n throw new Error(`Upgrade function missing for ${funcName}`);\n }\n if (this.version >= oldVersion) {\n upgradeFunc({ database, transaction });\n }\n }\n\n static upgradeToVersion2(context) {\n // Create chats\n context.database.createObjectStore('chats', {\n keyPath: 'id',\n autoIncrement: true,\n });\n // Create chat_messages\n const chatMessages = context.database.createObjectStore('chat_messages', {\n keyPath: 'id',\n autoIncrement: true,\n });\n chatMessages.createIndex('by_chat', 'chatId', { unique: false });\n }\n}\n","import { BaseModel } from './BaseModel.js';\n\nexport class ChatMessage extends BaseModel {\n static async initialize() {\n await this.database('ChatApp', 'chat_messages');\n }\n\n static async getAllByChatId(chatId) {\n return this.getAllByIndexAndId('by_chat', chatId);\n }\n}\n","import { UINotification } from './UINotification.js';\nimport { Event } from './Event.js';\nimport { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\nimport { Settings } from './models/Settings.js';\n\n// TODO: Move all actions here?\n// TODO: Cache current chat here\nexport class AppController {\n static async updateChat(chat, data) {\n Object.assign(chat, data);\n await chat.save();\n // TODO: Move to BaseModel\n Event.emit('chatUpdated', chat);\n }\n\n static async createChat(data) {\n if (!data) {\n data = {};\n }\n if (!data.title) {\n data.title = 'Untitled';\n }\n if (!data.model) {\n data.model = Settings.getModel();\n }\n const chat = await new Chat(data).create();\n Settings.setCurrentChatId(chat.id);\n Event.emit('chatCreated', chat);\n Event.emit('chatSelected', chat);\n return chat;\n }\n\n static async deleteChatMessage(messageId) {\n UINotification.show('Deleted message').autoDismiss();\n const message = await ChatMessage.get(messageId);\n message.delete();\n }\n\n static async deleteChat(chat) {\n await chat.delete();\n if (Settings.getCurrentChatId() === chat.id) {\n Settings.setCurrentChatId(null);\n }\n Event.emit('chatDeleted', chat);\n }\n\n static async getCurrentChat() {\n const chatId = this.getCurrentChatId();\n if (chatId) {\n return await Chat.get(chatId);\n }\n return null;\n }\n\n static getCurrentChatId() {\n return Settings.get('currentChatId');\n }\n\n static async setCurrentChat(chat) {\n Settings.setCurrentChatId(chat.id);\n Event.emit('chatSelected', chat);\n }\n\n static async setCurrentChatId(chatId) {\n const chat = await Chat.get(chatId);\n if (chat) {\n await this.setCurrentChat(chat);\n }\n }\n\n static async clearChats() {\n Settings.setCurrentChatId(null);\n await Chat.clear();\n Event.emit('chatsCleared');\n }\n}\n","import { Event } from './Event.js';\nimport { ChatListItem } from './ChatListItem.js';\nimport { DragAndDrop } from './DragAndDrop.js';\nimport { Chat } from './models/Chat.js';\nimport { AppController } from './AppController.js';\n\nexport class ChatList {\n constructor() {\n this.element = document.getElementById('chat-list');\n this.template = document.getElementById('chat-list-item-template').content;\n this.bindEventListeners();\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n });\n }\n\n bindEventListeners() {\n Event.listen('chatCreated', this.handleChatCreated.bind(this));\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n Event.listen('chatsCleared', this.handleChatsCleared.bind(this));\n Event.listen('chatUpdated', this.handleChatUpdated.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n }\n\n async selectChat(chatId) {\n await AppController.setCurrentChatId(chatId);\n }\n\n handleChatCreated(chat) {\n this.appendChat(chat, true);\n }\n\n handleChatDeleted(chat) {\n if (this.chat?.id === chat.id) {\n this.chat = null;\n }\n this.element.querySelector(`.chat${chat.id}`)?.remove();\n }\n\n handleChatsCleared() {\n const elements = this.element.querySelectorAll('.chat-list-item');\n elements.forEach((element) => element.remove());\n }\n\n handleChatUpdated(chat) {\n const listElement = this.element.querySelector(\n `.chat${chat.id} .chat-title`,\n );\n if (listElement) {\n listElement.textContent = chat.title;\n }\n }\n\n handleChatSelected(chat) {\n if (this.chat) {\n const previousListElement = this.element.querySelector(\n `.chat${this.chat.id}`,\n );\n if (previousListElement) {\n previousListElement.classList.remove('selected');\n }\n }\n const newListElement = this.element.querySelector(`.chat${chat.id}`);\n if (newListElement) {\n newListElement.classList.add('selected');\n }\n // Remember selected chat\n this.chat = chat;\n }\n\n render() {\n const currentChatId = AppController.getCurrentChatId();\n this.element.innerHTML = '';\n Chat.getAll().then((chats) => {\n chats.forEach((chat) => {\n const selected = chat.id === currentChatId;\n this.appendChat(chat, selected);\n });\n new DragAndDrop('.chat-list-item');\n });\n }\n\n appendChat(chat, selected) {\n const chatListItem = new ChatListItem(chat, this, selected);\n this.element.appendChild(chatListItem.element);\n return chatListItem;\n }\n}\n","import { AppController } from './AppController.js';\n\nexport class ChatListItem {\n constructor(chat, chatList, selected) {\n this.chat = chat;\n this.chatList = chatList;\n this.content = document\n .getElementById('chat-list-item-template')\n .content.cloneNode(true);\n this.element = this.content.querySelector('.chat-list-item');\n this.element.title = this.chat.title;\n this.element.data = { id: this.chat.id };\n this.element.classList.add(`chat${this.chat.id}`);\n if (selected === true) {\n this.element.classList.add('selected');\n // this.content.querySelector('.icon-selected').classList.remove('hidden')\n }\n this.setTitle();\n this.bindEventListeners();\n }\n\n render() {}\n\n bindEventListeners() {\n this.element.addEventListener('mouseover', this.onMouseover.bind(this));\n this.element.addEventListener('mouseout', this.onMouseout.bind(this));\n this.element.addEventListener('click', this.onClick.bind(this));\n this.element\n .querySelector('.list-item-delete')\n .addEventListener('click', this.deleteChat.bind(this));\n }\n\n onMouseover() {\n this.element.classList.add('hover');\n }\n\n onMouseout() {\n this.element.classList.remove('hover');\n }\n\n onClick() {\n this.chatList.selectChat(this.chat.id);\n }\n\n setTitle() {\n const chatTitle = this.content.querySelector('.chat-title');\n chatTitle.textContent = this.chat.title;\n }\n\n deleteChat() {\n AppController.deleteChat(this.chat);\n this.element.remove();\n }\n}\n","export class DragAndDrop {\n constructor(selector) {\n this.listItems = document.querySelectorAll(selector);\n this.draggedItem = null;\n this.initializeDragAndDrop();\n }\n\n initializeDragAndDrop() {\n this.listItems.forEach((item) => {\n item.addEventListener('dragstart', this.handleDragStart.bind(this, item));\n item.addEventListener('dragover', this.handleDragOver.bind(this));\n item.addEventListener('drop', this.handleDrop.bind(this, item));\n item.addEventListener('dragend', this.handleDragEnd.bind(this));\n });\n }\n\n handleDragStart(item) {\n this.draggedItem = item;\n }\n\n handleDragOver(e) {\n e.preventDefault();\n }\n\n handleDrop(item) {\n if (item !== this.draggedItem) {\n let currentHTML = item.innerHTML;\n item.innerHTML = this.draggedItem.innerHTML;\n this.draggedItem.innerHTML = currentHTML;\n console.debug('dnd drop');\n }\n }\n\n handleDragEnd() {\n this.draggedItem = null;\n }\n}\n","import { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\n\nexport class DownloadChatsButton {\n constructor() {\n this.button = document.querySelector('#export-button');\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.button.addEventListener('click', () => {\n this.exportChat();\n this.exportChatMessages();\n });\n }\n\n async exportChat() {\n const request = await Chat.export();\n\n request.onsuccess = function () {\n let data = request.result;\n\n // Convert the data to JSON format\n let jsonData = JSON.stringify(data, 2);\n\n // Export the JSON data by creating a file to download\n let blob = new Blob([jsonData], { type: 'application/json' });\n let url = URL.createObjectURL(blob);\n\n let a = document.createElement('a');\n a.href = url;\n a.download = 'chats.json';\n a.click();\n URL.revokeObjectURL(url);\n };\n\n request.onerror = function (event) {\n console.error('Error reading data: ', event.target.errorCode);\n };\n }\n\n async exportChatMessages() {\n const request = await ChatMessage.export();\n\n request.onsuccess = function () {\n let data = request.result;\n\n // Convert the data to JSON format\n let jsonData = JSON.stringify(data, 2);\n\n // Export the JSON data by creating a file to download\n let blob = new Blob([jsonData], { type: 'application/json' });\n let url = URL.createObjectURL(blob);\n\n let a = document.createElement('a');\n a.href = url;\n a.download = 'chat_messages.json';\n a.click();\n URL.revokeObjectURL(url);\n };\n\n request.onerror = function (event) {\n console.error('Error reading data: ', event.target.errorCode);\n };\n }\n}\n","export class LocalStorage {\n // Set a value in localStorage\n set(key, value) {\n try {\n const stringValue = JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n } catch (e) {\n console.error('Error saving to localStorage', e);\n }\n }\n\n // Get a value from localStorage, return defaultValue if key doesn't exist\n get(key, defaultValue = null) {\n try {\n const value = localStorage.getItem(key);\n return value !== null ? JSON.parse(value) : defaultValue;\n } catch (e) {\n console.error('Error reading from localStorage', e);\n return defaultValue;\n }\n }\n\n // Remove a value from localStorage\n remove(key) {\n try {\n localStorage.removeItem(key);\n } catch (e) {\n console.error('Error removing from localStorage', e);\n }\n }\n}\n","import { UINotification } from './UINotification.js';\n\nexport class CopyButton {\n constructor() {\n document.addEventListener('click', (event) => {\n // Check if the clicked element has the class 'copy-button'\n if (event.target.classList.contains('copy-button')) {\n const targetSelector = event.target.getAttribute('data-target');\n if (!targetSelector) {\n console.error('The data-target attribute is not set');\n return;\n }\n const textToCopy = document.getElementById(targetSelector).innerText;\n // Create a temporary textarea element\n const textarea = document.createElement('textarea');\n textarea.value = textToCopy;\n document.body.appendChild(textarea);\n\n // Select the text and copy it\n textarea.select();\n document.execCommand('copy');\n\n // Remove the temporary textarea\n document.body.removeChild(textarea);\n\n // Optional: Display a message or change the button text/content\n UINotification.show('Text copied to clipboard').autoDismiss();\n }\n });\n }\n}\n","export class OllamaApi {\n constructor() {\n this.abortController = null;\n }\n\n async makeRequest(chat, userMessage, systemPrompt, modelParameters) {\n const requestData = {\n prompt: userMessage,\n model: chat.model,\n messages: (await chat.getMessages()).map((message) => ({\n role: message.role,\n content: message.content,\n })),\n };\n // Add system prompt\n if (systemPrompt) {\n requestData.system = systemPrompt;\n }\n // Add model parameters\n if (modelParameters) {\n requestData.options = modelParameters;\n }\n return requestData;\n }\n\n async send(url, data, onResponse, onError, onDone) {\n const request = { data };\n try {\n const response = await this.postChatMessage(url, data);\n await this.handleResponse(request, response, onResponse, onDone);\n } catch (error) {\n onError(request, error);\n }\n }\n\n async postChatMessage(url, data) {\n this.abortController = new AbortController();\n const { signal } = this.abortController;\n const response = await fetch(url, {\n signal,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(data),\n });\n\n if (!response.ok) {\n throw new Error(`${url} failed with status ${response.status}`);\n }\n\n return response;\n }\n\n async handleResponse(request, response, onResponse, onDone) {\n const reader = response.body.getReader();\n let partialLine = '';\n var isRequestDone = false;\n\n while (!isRequestDone) {\n const { done, value } = await reader.read();\n if (done) {\n onDone(request, response);\n isRequestDone = true;\n continue;\n }\n\n const textChunk = new TextDecoder().decode(value);\n const lines = (partialLine + textChunk).split('\\n');\n partialLine = lines.pop();\n\n lines.forEach((line) => {\n const responseData = JSON.parse(line);\n if (line.trim()) {\n // TODO: Move this line:\n this.printResponseStats(responseData);\n onResponse(request, responseData.message.content);\n }\n });\n }\n\n if (partialLine.trim()) {\n onResponse(request, partialLine);\n }\n }\n\n abort() {\n if (this.abortController) {\n this.abortController.abort();\n }\n }\n\n printResponseStats(data) {\n if (!data.total_duration) {\n return;\n }\n // Convert nanoseconds to seconds for durations\n const totalDurationInSeconds = data.total_duration / 1e9;\n const loadDurationInSeconds = data.load_duration / 1e9;\n const promptEvalDurationInSeconds = data.prompt_eval_duration / 1e9;\n const responseEvalDurationInSeconds = data.eval_duration / 1e9;\n\n // Calculate tokens per second (token/s)\n const tokensPerSecond = data.eval_count / responseEvalDurationInSeconds;\n const output = `\nModel: ${data.model}\nCreated At: ${data.created_at}\nTotal Duration (s): ${totalDurationInSeconds.toFixed(2)}\nLoad Duration (s): ${loadDurationInSeconds.toFixed(2)}\nPrompt Evaluation Count: ${data.prompt_eval_count}\nPrompt Evaluation Duration (s): ${promptEvalDurationInSeconds.toFixed(2)}\nResponse Evaluation Count: ${data.eval_count}\nResponse Evaluation Duration (s): ${responseEvalDurationInSeconds.toFixed(2)}\nTokens Per Second: ${tokensPerSecond.toFixed(2)} token/s\n `;\n console.log(output);\n }\n\n static getModels(url, onResponse) {\n if (!url) {\n return null;\n }\n\n return fetch(url)\n .then((response) => {\n if (!response.ok) {\n throw new Error(`Unable to fetch models from ${url}`);\n }\n return response.json();\n })\n .then((data) => {\n onResponse(data.models);\n })\n .catch((error) => {\n console.debug(error);\n console.error(\n `Please ensure the server is running at: ${url}. Error code: 39847`,\n );\n onResponse([]);\n });\n }\n}\n","export class DownloadButton {\n constructor() {\n document.addEventListener('click', (event) => {\n // Check if the clicked element has the class 'copy-button'\n if (event.target.classList.contains('download-button')) {\n // Get the index from the data-target attribute\n const targetId = event.target.getAttribute('data-target');\n this.downloadElementContent(targetId, 'chat.html');\n }\n });\n }\n\n downloadElementContent(elementId, filename) {\n // Get the element\n const element = document.getElementById(elementId);\n if (!element) {\n console.error('Element not found');\n return;\n }\n\n // Get the contents of the element\n const content = element.innerText;\n\n // Create a Blob with the content\n const blob = new Blob([content], { type: 'text/html' });\n\n // Create an anchor element and set the href to the blob\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = filename;\n\n // Append the anchor to the document, trigger a click, and then remove it\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Revoke the blob URL\n URL.revokeObjectURL(a.href);\n }\n}\n","export class DropDownMenu {\n constructor() {\n this.buttonSelector = '.drop-down-menu';\n this.dropDownMenus = document.querySelectorAll(this.buttonSelector);\n this.init();\n }\n\n init() {\n // Add a click listener to the whole document\n document.addEventListener('click', (event) => {\n // Check if the clicked element or any of its parents has the 'drop-down-menu' class\n const menuElement = event.target.closest(this.buttonSelector);\n if (menuElement) {\n const dropDownMenu = menuElement.querySelector('.drop-down-menu-items');\n if (dropDownMenu) {\n this.toggleMenu(dropDownMenu);\n }\n }\n });\n }\n\n toggleMenu(menu) {\n menu.classList.toggle('hidden');\n menu.classList.toggle('visible');\n }\n}\n","import { Modal } from './Modal.js';\nimport { UINotification } from './UINotification.js';\nimport { ModelsList } from './ModelsList.js';\nimport { Models } from './models/Models.js';\nimport { Settings } from './models/Settings.js';\n\nexport class SettingsDialog extends Modal {\n constructor(options) {\n super(options);\n this.showButton = document.getElementById(options.buttonId);\n this.urlInput = this.modal.querySelector('#input-url');\n this.modelInput = this.modal.querySelector('#input-model');\n this.systemPromptInput = this.modal.querySelector('#input-system-prompt');\n this.modelParametersInput = this.modal.querySelector(\n '#input-model-parameters',\n );\n this.refreshModelsButton = this.modal.querySelector(\n '.refresh-models-button',\n );\n this.modelList = new ModelsList(this.modal.querySelector('#model-list'));\n this.bindEventListeners();\n }\n\n getSelected() {\n return Settings.getModel();\n }\n\n bindEventListeners() {\n this.urlInput.addEventListener('blur', this.handleUrlUpdated.bind(this));\n this.systemPromptInput.addEventListener(\n 'blur',\n this.handleSystemPromptUpdated.bind(this),\n );\n this.modelParametersInput.addEventListener('blur', () =>\n this.handleModelParametersUpdated.bind(this),\n );\n this.modelList.onClick(this.handleModelUpdated.bind(this));\n this.showButton.addEventListener('click', this.show.bind(this));\n this.refreshModelsButton.addEventListener(\n 'click',\n this.refreshModels.bind(this),\n );\n this.closeButton.addEventListener('click', this.hide.bind(this));\n }\n\n handleSystemPromptUpdated() {\n Settings.setSystemPrompt(this.systemPromptInput.value.trim());\n }\n\n handleModelUpdated() {\n Settings.setModel(this.modelList.getSelected());\n }\n\n handleModelParametersUpdated() {\n const value = this.modelParametersInput.value.trim();\n if (value === '') {\n return;\n }\n try {\n const parsedValue = JSON.parse(value);\n const prettyJSON = JSON.stringify(parsedValue, 2);\n Settings.setModelParameters(parsedValue);\n this.modelParametersInput.value = prettyJSON;\n this.modelParametersInput.classList.remove('error');\n } catch (error) {\n if (error.name === 'SyntaxError') {\n this.modelParametersInput.classList.add('error');\n } else {\n console.error(error);\n }\n }\n }\n\n handleUrlUpdated() {\n const value = this.urlInput.value.trim();\n Settings.setUrl(value);\n }\n\n show() {\n this.loadSettings();\n Models.load();\n this.handleShow();\n }\n\n refreshModels() {\n if (!Models.getUrl()) {\n UINotification.show('Please update the URL in the settings to continue.');\n } else {\n Models.load();\n }\n }\n\n loadSettings() {\n this.modelList.setSelected(this.getSelected());\n this.urlInput.value = Settings.getUrl();\n const modelParameters = Settings.getModelParameters();\n if (modelParameters) {\n this.modelParametersInput.value = JSON.stringify(modelParameters, 2);\n }\n }\n}\n","// Modal base class\nexport class Modal {\n constructor(options) {\n this.domId = options.domId;\n this.templateId = options.templateId;\n this.modal = this.createDialogElement();\n this.titleElement = this.modal.querySelector('.modal-title');\n this.closeButton = this.modal.querySelector('.button-close');\n this.closeButton.onclick = () => this.hide();\n this._bindEventListeners();\n this.setTitle(options.title);\n }\n\n setTitle(title) {\n this.titleElement.textContent = title;\n }\n\n _bindEventListeners() {\n this.modal.addEventListener('click', (event) => {\n if (event.target == this.modal) {\n this.hide();\n }\n });\n window.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n });\n }\n\n createDialogElement() {\n const template = document.getElementById(this.templateId);\n if (!template) {\n console.error(`Template with ID ${this.templateId} not found.`);\n return;\n }\n\n const clone = template.content.cloneNode(true);\n const modalElement = clone.firstElementChild;\n modalElement.id = this.domId;\n\n if (!modalElement) {\n console.error(\n `No modal element found in the template with ID ${this.templateId}.`,\n );\n return;\n }\n\n document.body.appendChild(modalElement);\n\n return modalElement;\n }\n\n show() {\n this.handleShow();\n }\n\n hide() {\n this.handleHide();\n }\n\n handleShow() {\n this.modal.classList.add('show');\n }\n\n handleHide() {\n this.modal.classList.remove('show');\n }\n}\n","import { FilteredList } from './FilteredList.js';\nimport { Event } from './Event.js';\nimport { Models } from './models/Models.js';\n\nexport class ModelsList extends FilteredList {\n constructor(container) {\n super(container, Models.getNames());\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n Event.listen('modelsLoaded', this.handleModelsLoaded.bind(this));\n }\n\n handleModelsLoaded() {\n this.setItems(Models.getNames());\n }\n\n static getModels() {\n return Models.getNames();\n }\n}\n","import { List } from './List.js';\nimport { DOM } from './DOM.js';\n\nexport class FilteredList extends List {\n constructor(ul, items) {\n super(ul, items); // Call the constructor of the parent class\n this.div = document.createElement('small');\n this.div.classList.add('hidden', 'p-2');\n this.ul.prepend(this.div);\n this.query = null;\n }\n\n escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // Escapes special characters\n }\n\n render() {\n super.render();\n }\n\n selectFirst() {\n alert(\n document.querySelector('.chat-model-list li:not(.hidden)').textContent,\n );\n }\n\n filter(searchTerm) {\n this.query = searchTerm;\n if (searchTerm === null || searchTerm === undefined) {\n this.clearFilter();\n this.filtered = false;\n return null;\n }\n const query = this.escapeRegExp(searchTerm).replace(/\\s+/g, '.*');\n const regex = new RegExp(query, 'i'); // 'i' for case-insensitive matching\n\n // Loop through the list items\n const matches = this.li\n .map((listItemElement) => {\n const text = listItemElement.textContent;\n const match = regex.test(text);\n\n if (match) {\n DOM.showElement(listItemElement);\n return text;\n } else {\n DOM.hideElement(listItemElement);\n return null;\n }\n })\n .filter((match) => match);\n console.log(`Search ${query}. Matches: ${matches}`);\n\n // Update text\n DOM.showElement(this.div);\n let message = null;\n if (searchTerm.length < 1) {\n message = `Continue typing to search models. Showing all models:`;\n } else {\n if (matches.length != 0) {\n message = `Found ${matches.length} model(s) matching '${this.query}'. Click to change chat's model, or press tab to change prompt's model:`;\n } else {\n message = `Did not find any models that match '${this.query}'.`;\n }\n }\n this.div.textContent = message;\n\n return matches;\n }\n\n clearFilter() {\n DOM.hideElement(this.div);\n this.query = null;\n this.li.forEach((listItemElement) => {\n DOM.showElement(listItemElement);\n });\n }\n}\n","import { Event } from './Event.js';\nimport { UIElement } from './UIElement.js';\n\nexport class List extends UIElement {\n constructor(ul, items) {\n super(ul);\n this.ul = ul;\n this.items = items;\n this.render();\n this.clickHandler = null;\n this.ul.classList.add('list');\n }\n\n onClick(handler) {\n this.clickHandler = handler;\n return this; // Allow chaining\n }\n\n setItems(items) {\n this.items = items;\n this.render();\n }\n\n setSelected(selected) {\n console.debug(`Select ${selected}`);\n this.selected = selected;\n this.li.forEach((item) => {\n if (item.textContent === selected) {\n item.classList.add('selected');\n } else {\n item.classList.remove('selected');\n }\n });\n Event.emit('select', selected, this.ul);\n }\n\n getSelected() {\n return this.selected;\n }\n\n render() {\n this.ul.innerHTML = ''; // Clear existing content\n this.li = this.items.map((item) => {\n const li = document.createElement('li');\n li.classList.add('list-item');\n if (item === this.selected) {\n li.classList.add('selected');\n }\n li.textContent = item;\n li.item = item;\n li.addEventListener('click', () => {\n this.setSelected(item);\n if (this.clickHandler) {\n this.clickHandler(item);\n }\n });\n this.ul.appendChild(li);\n return li;\n });\n }\n}\n","import { DOM } from './DOM.js';\n\nexport class UIElement {\n constructor(element) {\n this.element = element;\n }\n\n show() {\n DOM.showElement(this.element);\n }\n\n hide() {\n DOM.hideElement(this.element);\n }\n}\n","export class DOM {\n static showElement(element) {\n element.classList.remove('hidden');\n return this;\n }\n\n static hideElement(element) {\n element.classList.add('hidden');\n return this;\n }\n\n static enableInput(element) {\n element.removeAttribute('disabled');\n return this;\n }\n\n static disableInput(element) {\n element.setAttribute('disabled', 'disabled');\n return this;\n }\n}\n","import { Event } from '../Event.js';\nimport { Settings } from './Settings.js';\nimport { OllamaApi } from '../OllamaApi.js';\n\nexport class Models {\n // TODO: Get this from the settings?\n static models = [];\n\n static getUrl() {\n return Settings.getUrl('/api/tags');\n }\n\n static load() {\n if (!this.getUrl()) {\n return null;\n }\n return OllamaApi.getModels(this.getUrl(), (models) => {\n Models.models = models;\n // Cache list of models\n Settings.set('models', Models.models);\n Event.emit('modelsLoaded', Models.models);\n });\n }\n\n static getAll() {\n return Settings.get('models');\n }\n\n static getNames() {\n const models = this.getAll();\n if (!models) {\n return [];\n }\n return models.map((model) => model.name);\n }\n\n static findModelByName(name) {\n return this.getAll().find((model) => model.name === name);\n }\n}\n","import { AppController } from './AppController.js';\nimport { SettingsDialog } from './SettingsDialog.js';\nimport { Settings } from './models/Settings.js';\n\nexport class ChatSettingsDialog extends SettingsDialog {\n constructor(options) {\n super(options);\n }\n\n getSelected() {\n return this.chat?.model;\n }\n\n async handleSystemPromptUpdated() {\n this.chat.systemPrompt = this.systemPromptInput.value.trim();\n await this.chat.save();\n }\n\n async handleModelUpdated() {\n this.chat.model = this.modelList.getSelected();\n await this.chat.save();\n }\n\n async handleModelParametersUpdated() {\n this.chat.modelParameters = this.modelParametersInput.value.trim();\n await this.chat.save();\n }\n\n async handleUrlUpdated() {\n this.chat.url = this.urlInput.value.trim();\n await this.chat.save();\n }\n\n loadSettings() {\n AppController.getCurrentChat().then((chat) => {\n this.modelList.setSelected(chat.model);\n this.chat = chat;\n this.urlInput.value = this.chat.url || Settings.getUrl();\n const modelParameters =\n this.chat.modelParameters || Settings.getModelParameters();\n if (modelParameters) {\n this.modelParametersInput.value = JSON.stringify(modelParameters, 2);\n }\n });\n }\n}\n","import { UINotification } from './UINotification.js';\nimport { AppController } from './AppController.js';\nimport { AtSymbolListener } from './AtSymbolListener.js';\nimport { ExportChat } from './ExportChat.js';\nimport { Event } from './Event.js';\nimport { Hoverable } from './Hoverable.js';\nimport { ChatTitle } from './ChatTitle.js';\nimport { ChatForm } from './ChatForm.js';\nimport { ModelsList } from './ModelsList.js';\n\nexport class ChatArea {\n constructor() {\n this.chatTitle = new ChatTitle();\n this.chatForm = new ChatForm();\n this.chatHistory = document.getElementById('chat-history');\n this.messageInput = document.getElementById('message-input');\n this.editChatButton = document.getElementById('edit-chat-button');\n this.chatModel = document.getElementById('chat-model');\n this.modelName = this.chatModel.querySelector('.chat-model-name');\n this.scrollToTopButton = document.getElementById('scroll-to-top-button');\n this.scrollToEndButton = document.getElementById('scroll-to-end-button');\n this.deleteChatButton = document.getElementById('delete-chat-button');\n this.exportChatButton = document.getElementById('export-chat-button');\n this.modelList = new ModelsList(\n this.chatModel.querySelector('.chat-model-list'),\n ).onClick(this.handleModelSelected.bind(this));\n new AtSymbolListener(\n this.messageInput,\n this.modelList,\n this.handleModelSelected.bind(this),\n );\n AppController.getCurrentChat().then((chat) => {\n if (!chat) {\n return;\n }\n this.chat = chat;\n this.render();\n });\n this.bindEventListeners();\n }\n\n render() {\n // Clear history view\n this.chatHistory.innerText = '';\n if (this.chat) {\n // Show model name in \"talking to\"\n this.modelName.textContent = this.chat.model;\n // Update list of models\n this.modelList.setSelected(this.chat.model);\n this.chat // Render chat history\n .getMessages()\n .then((messages) => {\n messages.forEach((message) => {\n this.createMessageDiv(message);\n });\n });\n this.scrollToEnd();\n }\n this.messageInput.focus();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n this.scrollToTopButton.addEventListener(\n 'click',\n this.scrollToTop.bind(this),\n );\n this.scrollToEndButton.addEventListener(\n 'click',\n this.scrollToEnd.bind(this),\n );\n this.editChatButton.addEventListener(\n 'click',\n this.handleEditChat.bind(this),\n );\n this.deleteChatButton.addEventListener(\n 'click',\n this.handleDeleteChat.bind(this),\n );\n this.exportChatButton.addEventListener('click', () => {\n ExportChat.exportChat(this.chat, `chat-${this.chat.id}.json`);\n });\n this.currentMessage = this.chatHistory.querySelector('.selected');\n // Select chat message with arrow up and arrow down keys\n document.addEventListener('keydown', (event) => {\n let next, previous;\n\n if (event.key === 'ArrowDown') {\n next = this.currentMessage\n ? this.currentMessage.nextElementSibling\n : this.chatHistory.firstElementChild;\n if (next) {\n if (this.currentMessage)\n this.currentMessage.classList.remove('hover');\n next.classList.add('hover');\n this.currentMessage = next; // Update currentMessage\n this.currentMessage.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n }); // Scroll into view\n }\n } else if (event.key === 'ArrowUp') {\n previous = this.currentMessage\n ? this.currentMessage.previousElementSibling\n : this.chatHistory.lastElementChild;\n if (previous) {\n if (this.currentMessage)\n this.currentMessage.classList.remove('hover');\n previous.classList.add('hover');\n }\n this.currentMessage = previous; // Update currentMessage\n this.currentMessage.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n }); // Scroll into view\n }\n });\n }\n\n createMessageDiv(message) {\n const domId = `chat-message-${message.id}`;\n const role = message.role;\n const content = message.content;\n // Get the template and its content\n const template = document.getElementById('chat-message-template');\n const messageClone = template.content.cloneNode(true);\n // Find the div and span elements within the cloned template\n const messageDiv = messageClone.querySelector('.chat-message');\n const textSpan = messageClone.querySelector('.chat-message-text');\n const deleteButton = messageClone.querySelector(\n '.delete-chat-message-button',\n );\n const copyButton = messageClone.querySelector(\n '.copy-chat-message-button .copy-button',\n );\n const goodButton = messageClone.querySelector('.good-chat-message-button');\n const badButton = messageClone.querySelector('.bad-chat-message-button');\n const flagButton = messageClone.querySelector('.flag-chat-message-button');\n\n if (message.quality == 'bad') {\n badButton.classList.add('selected');\n } else if (message.quality == 'good') {\n goodButton.classList.add('selected');\n } else if (message.quality == 'flagged') {\n flagButton.classList.add('selected');\n }\n\n // Set the class for role and text content\n messageDiv.classList.add(`${role}-chat-message`);\n messageDiv.id = domId;\n textSpan.textContent = content;\n messageDiv.spellcheck = false;\n\n // Append to chatHistory and adjust scroll\n this.chatHistory.appendChild(messageDiv);\n messageDiv.dataset['id'] = message.id;\n new Hoverable(messageDiv);\n deleteButton.addEventListener('click', async () => {\n await AppController.deleteChatMessage(message.id);\n messageDiv.remove();\n });\n copyButton.dataset['target'] = domId;\n flagButton.addEventListener('click', async () => {\n UINotification.show('Flagged message').autoDismiss();\n message.quality = 'flagged';\n await message.save();\n });\n goodButton.addEventListener('click', async () => {\n UINotification.show('Marked message as good').autoDismiss();\n message.quality = 'good';\n await message.save();\n });\n badButton.addEventListener('click', async () => {\n UINotification.show('Marked message as bad').autoDismiss();\n message.quality = 'bad';\n await message.save();\n });\n return { element: messageDiv, textElement: textSpan };\n }\n\n handleChatDeleted(chat) {\n if (chat.id === this.chat?.id) {\n this.chat = null;\n } else {\n this.chat = chat;\n }\n this.render();\n }\n\n async handleModelSelected(selected) {\n const chat = await AppController.getCurrentChat();\n this.modelName.textContent = selected;\n AppController.updateChat(chat, { model: selected });\n }\n\n handleChatSelected(chat) {\n this.chat = chat;\n this.render();\n }\n\n handleEditChat() {\n this.chatTitle.focus();\n event.stopPropagation();\n }\n\n async handleDeleteChat() {\n const chat = await AppController.getCurrentChat();\n if (chat) {\n await AppController.deleteChat(chat);\n }\n }\n\n scrollToTop() {\n this.chatHistory.scrollTop = 0;\n }\n\n scrollToEnd() {\n this.chatHistory.scrollTop = this.chatHistory.scrollHeight;\n }\n}\n","import { Event } from './Event.js';\n\nexport class AtSymbolListener {\n constructor(input, target, onSelected) {\n if (!target) {\n throw Error('No target element specified');\n }\n this.active = false;\n this.onSelected = onSelected;\n this.input = input;\n this.target = target;\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.input.addEventListener('input', () => this.handleInput());\n this.input.addEventListener('keydown', (e) => this.handleKeydown(e));\n Event.listen('select', this.handleSelected.bind(this), this.ul);\n }\n\n handleInput() {\n const text = this.getText();\n const lastChar = text[text.length - 1];\n\n // Handle show and hide using special characters\n if (lastChar === '@') {\n this.showTarget();\n }\n\n // Handle search if active\n if (this.active) {\n const searchTerm = this.getSearchTerm();\n if (!this.target.filter(searchTerm)) {\n // TODO: Show ”No matches” instead of hiding\n this.hideTarget();\n }\n }\n }\n\n getText() {\n return this.input.value.trim();\n }\n\n getSearchTerm() {\n const text = this.getText();\n const lastAtPos = text.lastIndexOf('@');\n const query = lastAtPos !== -1 ? text.substring(lastAtPos + 1) : null;\n return query;\n }\n\n handleKeydown(event) {\n const key = event.key;\n\n // Select first item on tab\n if (event.which == 9 && this.active) {\n this.target.selectFirst();\n event.preventDefault();\n } else if (key === ' ' || key === 'Enter' || key === 'Escape') {\n this.hideTarget();\n }\n }\n\n handleSelected(selected) {\n if (selected === null || selected === undefined) {\n return;\n }\n if (!this.active) {\n return;\n }\n const text = this.getText();\n const lastAtPos = text.lastIndexOf('@');\n if (lastAtPos !== -1) {\n this.input.value = text.substring(0, lastAtPos + 1) + selected;\n this.input.focus();\n this.input.setSelectionRange(\n this.input.value.length,\n this.input.value.length,\n );\n this.onSelected(selected);\n this.hideTarget();\n }\n }\n\n showTarget() {\n this.active = true;\n this.target.element.classList.add('active');\n this.target.show();\n }\n\n hideTarget() {\n this.active = false;\n this.target.element.classList.remove('active');\n this.target.hide();\n }\n}\n","export class ExportChat {\n static exportChat(chat, filename) {\n // Get the contents of the element\n const content = chat.jsonify();\n\n // Create a Blob with the content\n const blob = new Blob([content], { type: 'application/json' });\n\n // Create an anchor element and set the href to the blob\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = filename;\n\n // Append the anchor to the document, trigger a click, and then remove it\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Revoke the blob URL\n URL.revokeObjectURL(a.href);\n }\n}\n","export class Hoverable {\n constructor(element) {\n this.element = element;\n element.hoverable = this;\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.element.addEventListener('mouseover', () => this.onMouseover());\n this.element.addEventListener('mouseout', () => this.onMouseout());\n }\n\n onMouseover() {\n this.element.classList.add('hover');\n }\n\n onMouseout() {\n this.element.classList.remove('hover');\n }\n}\n","import { Event } from './Event.js';\nimport { AppController } from './AppController.js';\n\nexport class ChatTitle {\n constructor() {\n this.defaultTitle = 'Untitled';\n this.element = document.getElementById('chat-title');\n this.bindEventListeners();\n this.render();\n }\n\n render() {\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n this.setTitle(chat?.title);\n });\n }\n\n setTitle(title) {\n this.element.textContent = title || this.defaultTitle;\n }\n\n focus() {\n const hasFocus = document.activeElement === this.element;\n if (!hasFocus) {\n this.element.focus();\n }\n }\n\n bindEventListeners() {\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n this.element.addEventListener('blur', this.handleSave.bind(this));\n this.element.addEventListener('keypress', (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.element.blur();\n }\n });\n }\n\n handleChatSelected(chat) {\n this.chat = chat;\n this.setTitle(chat.title);\n }\n\n handleChatDeleted(chat) {\n if (chat.id === this.chat.id) {\n this.setTitle(this.defaultTitle);\n }\n }\n\n async handleSave() {\n let title = this.element.textContent.trim();\n if (title.length === 0) {\n title = this.defaultTitle;\n this.element.classList.add('error');\n } else {\n this.element.classList.remove('error');\n }\n const chat = await AppController.getCurrentChat();\n if (chat) {\n await AppController.updateChat(chat, { title });\n } else {\n await AppController.createChat({ title });\n }\n }\n}\n","// TODO: Move code here from App.js and ChatArea.js\nexport class ChatForm {\n constructor() {\n this.chatHistory = document.getElementById('chat-history');\n this.messageInput = document.getElementById('message-input');\n this.sendButton = document.getElementById('send-button');\n this.abortButton = document.getElementById('abort-button');\n }\n}\n"],"names":[],"version":3,"file":"index.4de9b498.js.map","sourceRoot":"/__parcel_source_root/"} \ No newline at end of file +{"mappings":"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","sources":["node_modules/@parcel/runtime-browser-hmr/lib/runtime-06ba2feb363079e8.js","js/script.js","js/App.js","js/UINotification.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js","js/models/Settings.js","js/Event.js","js/Dom.js","js/Sidebar.js","js/debounce.js","js/models/Chat.js","js/models/BaseModel.js","js/Database.js","js/Migrations.js","js/models/ChatMessage.js","js/AppController.js","js/ChatList.js","js/ChatListItem.js","js/DragAndDrop.js","js/DownloadChatsButton.js","js/models/LocalStorage.js","js/CopyButton.js","js/OllamaApi.js","js/DownloadButton.js","js/DropDownMenu.js","js/SettingsDialog.js","js/Modal.js","js/ModelsList.js","js/FilteredList.js","js/List.js","js/UIElement.js","js/DOM.js","js/models/Models.js","js/ChatSettingsDialog.js","js/ChatArea.js","js/AtSymbolListener.js","js/ExportChat.js","js/Hoverable.js","js/ChatTitle.js","js/ChatForm.js"],"sourcesContent":["var HMR_HOST = null;var HMR_PORT = null;var HMR_SECURE = false;var HMR_ENV_HASH = \"d6ea1d42532a7575\";var HMR_USE_SSE = false;module.bundle.HMR_BUNDLE_ID = \"2751c5c64de9b498\";\"use strict\";\n\n/* global HMR_HOST, HMR_PORT, HMR_ENV_HASH, HMR_SECURE, HMR_USE_SSE, chrome, browser, __parcel__import__, __parcel__importScripts__, ServiceWorkerGlobalScope */\n/*::\nimport type {\n HMRAsset,\n HMRMessage,\n} from '@parcel/reporter-dev-server/src/HMRServer.js';\ninterface ParcelRequire {\n (string): mixed;\n cache: {|[string]: ParcelModule|};\n hotData: {|[string]: mixed|};\n Module: any;\n parent: ?ParcelRequire;\n isParcelRequire: true;\n modules: {|[string]: [Function, {|[string]: string|}]|};\n HMR_BUNDLE_ID: string;\n root: ParcelRequire;\n}\ninterface ParcelModule {\n hot: {|\n data: mixed,\n accept(cb: (Function) => void): void,\n dispose(cb: (mixed) => void): void,\n // accept(deps: Array | string, cb: (Function) => void): void,\n // decline(): void,\n _acceptCallbacks: Array<(Function) => void>,\n _disposeCallbacks: Array<(mixed) => void>,\n |};\n}\ninterface ExtensionContext {\n runtime: {|\n reload(): void,\n getURL(url: string): string;\n getManifest(): {manifest_version: number, ...};\n |};\n}\ndeclare var module: {bundle: ParcelRequire, ...};\ndeclare var HMR_HOST: string;\ndeclare var HMR_PORT: string;\ndeclare var HMR_ENV_HASH: string;\ndeclare var HMR_SECURE: boolean;\ndeclare var HMR_USE_SSE: boolean;\ndeclare var chrome: ExtensionContext;\ndeclare var browser: ExtensionContext;\ndeclare var __parcel__import__: (string) => Promise;\ndeclare var __parcel__importScripts__: (string) => Promise;\ndeclare var globalThis: typeof self;\ndeclare var ServiceWorkerGlobalScope: Object;\n*/\nvar OVERLAY_ID = '__parcel__error__overlay__';\nvar OldModule = module.bundle.Module;\nfunction Module(moduleName) {\n OldModule.call(this, moduleName);\n this.hot = {\n data: module.bundle.hotData[moduleName],\n _acceptCallbacks: [],\n _disposeCallbacks: [],\n accept: function (fn) {\n this._acceptCallbacks.push(fn || function () {});\n },\n dispose: function (fn) {\n this._disposeCallbacks.push(fn);\n }\n };\n module.bundle.hotData[moduleName] = undefined;\n}\nmodule.bundle.Module = Module;\nmodule.bundle.hotData = {};\nvar checkedAssets /*: {|[string]: boolean|} */, assetsToDispose /*: Array<[ParcelRequire, string]> */, assetsToAccept /*: Array<[ParcelRequire, string]> */;\n\nfunction getHostname() {\n return HMR_HOST || (location.protocol.indexOf('http') === 0 ? location.hostname : 'localhost');\n}\nfunction getPort() {\n return HMR_PORT || location.port;\n}\n\n// eslint-disable-next-line no-redeclare\nvar parent = module.bundle.parent;\nif ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {\n var hostname = getHostname();\n var port = getPort();\n var protocol = HMR_SECURE || location.protocol == 'https:' && !['localhost', '127.0.0.1', '0.0.0.0'].includes(hostname) ? 'wss' : 'ws';\n var ws;\n if (HMR_USE_SSE) {\n ws = new EventSource('/__parcel_hmr');\n } else {\n try {\n ws = new WebSocket(protocol + '://' + hostname + (port ? ':' + port : '') + '/');\n } catch (err) {\n if (err.message) {\n console.error(err.message);\n }\n ws = {};\n }\n }\n\n // Web extension context\n var extCtx = typeof browser === 'undefined' ? typeof chrome === 'undefined' ? null : chrome : browser;\n\n // Safari doesn't support sourceURL in error stacks.\n // eval may also be disabled via CSP, so do a quick check.\n var supportsSourceURL = false;\n try {\n (0, eval)('throw new Error(\"test\"); //# sourceURL=test.js');\n } catch (err) {\n supportsSourceURL = err.stack.includes('test.js');\n }\n\n // $FlowFixMe\n ws.onmessage = async function (event /*: {data: string, ...} */) {\n checkedAssets = {} /*: {|[string]: boolean|} */;\n assetsToAccept = [];\n assetsToDispose = [];\n var data /*: HMRMessage */ = JSON.parse(event.data);\n if (data.type === 'update') {\n // Remove error overlay if there is one\n if (typeof document !== 'undefined') {\n removeErrorOverlay();\n }\n let assets = data.assets.filter(asset => asset.envHash === HMR_ENV_HASH);\n\n // Handle HMR Update\n let handled = assets.every(asset => {\n return asset.type === 'css' || asset.type === 'js' && hmrAcceptCheck(module.bundle.root, asset.id, asset.depsByBundle);\n });\n if (handled) {\n console.clear();\n\n // Dispatch custom event so other runtimes (e.g React Refresh) are aware.\n if (typeof window !== 'undefined' && typeof CustomEvent !== 'undefined') {\n window.dispatchEvent(new CustomEvent('parcelhmraccept'));\n }\n await hmrApplyUpdates(assets);\n\n // Dispose all old assets.\n let processedAssets = {} /*: {|[string]: boolean|} */;\n for (let i = 0; i < assetsToDispose.length; i++) {\n let id = assetsToDispose[i][1];\n if (!processedAssets[id]) {\n hmrDispose(assetsToDispose[i][0], id);\n processedAssets[id] = true;\n }\n }\n\n // Run accept callbacks. This will also re-execute other disposed assets in topological order.\n processedAssets = {};\n for (let i = 0; i < assetsToAccept.length; i++) {\n let id = assetsToAccept[i][1];\n if (!processedAssets[id]) {\n hmrAccept(assetsToAccept[i][0], id);\n processedAssets[id] = true;\n }\n }\n } else fullReload();\n }\n if (data.type === 'error') {\n // Log parcel errors to console\n for (let ansiDiagnostic of data.diagnostics.ansi) {\n let stack = ansiDiagnostic.codeframe ? ansiDiagnostic.codeframe : ansiDiagnostic.stack;\n console.error('🚨 [parcel]: ' + ansiDiagnostic.message + '\\n' + stack + '\\n\\n' + ansiDiagnostic.hints.join('\\n'));\n }\n if (typeof document !== 'undefined') {\n // Render the fancy html overlay\n removeErrorOverlay();\n var overlay = createErrorOverlay(data.diagnostics.html);\n // $FlowFixMe\n document.body.appendChild(overlay);\n }\n }\n };\n if (ws instanceof WebSocket) {\n ws.onerror = function (e) {\n if (e.message) {\n console.error(e.message);\n }\n };\n ws.onclose = function () {\n console.warn('[parcel] 🚨 Connection to the HMR server was lost');\n };\n }\n}\nfunction removeErrorOverlay() {\n var overlay = document.getElementById(OVERLAY_ID);\n if (overlay) {\n overlay.remove();\n console.log('[parcel] ✨ Error resolved');\n }\n}\nfunction createErrorOverlay(diagnostics) {\n var overlay = document.createElement('div');\n overlay.id = OVERLAY_ID;\n let errorHTML = '
';\n for (let diagnostic of diagnostics) {\n let stack = diagnostic.frames.length ? diagnostic.frames.reduce((p, frame) => {\n return `${p}\n${frame.location}\n${frame.code}`;\n }, '') : diagnostic.stack;\n errorHTML += `\n
\n
\n 🚨 ${diagnostic.message}\n
\n
${stack}
\n
\n ${diagnostic.hints.map(hint => '
💡 ' + hint + '
').join('')}\n
\n ${diagnostic.documentation ? `` : ''}\n
\n `;\n }\n errorHTML += '
';\n overlay.innerHTML = errorHTML;\n return overlay;\n}\nfunction fullReload() {\n if ('reload' in location) {\n location.reload();\n } else if (extCtx && extCtx.runtime && extCtx.runtime.reload) {\n extCtx.runtime.reload();\n }\n}\nfunction getParents(bundle, id) /*: Array<[ParcelRequire, string]> */{\n var modules = bundle.modules;\n if (!modules) {\n return [];\n }\n var parents = [];\n var k, d, dep;\n for (k in modules) {\n for (d in modules[k][1]) {\n dep = modules[k][1][d];\n if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) {\n parents.push([bundle, k]);\n }\n }\n }\n if (bundle.parent) {\n parents = parents.concat(getParents(bundle.parent, id));\n }\n return parents;\n}\nfunction updateLink(link) {\n var href = link.getAttribute('href');\n if (!href) {\n return;\n }\n var newLink = link.cloneNode();\n newLink.onload = function () {\n if (link.parentNode !== null) {\n // $FlowFixMe\n link.parentNode.removeChild(link);\n }\n };\n newLink.setAttribute('href',\n // $FlowFixMe\n href.split('?')[0] + '?' + Date.now());\n // $FlowFixMe\n link.parentNode.insertBefore(newLink, link.nextSibling);\n}\nvar cssTimeout = null;\nfunction reloadCSS() {\n if (cssTimeout) {\n return;\n }\n cssTimeout = setTimeout(function () {\n var links = document.querySelectorAll('link[rel=\"stylesheet\"]');\n for (var i = 0; i < links.length; i++) {\n // $FlowFixMe[incompatible-type]\n var href /*: string */ = links[i].getAttribute('href');\n var hostname = getHostname();\n var servedFromHMRServer = hostname === 'localhost' ? new RegExp('^(https?:\\\\/\\\\/(0.0.0.0|127.0.0.1)|localhost):' + getPort()).test(href) : href.indexOf(hostname + ':' + getPort());\n var absolute = /^https?:\\/\\//i.test(href) && href.indexOf(location.origin) !== 0 && !servedFromHMRServer;\n if (!absolute) {\n updateLink(links[i]);\n }\n }\n cssTimeout = null;\n }, 50);\n}\nfunction hmrDownload(asset) {\n if (asset.type === 'js') {\n if (typeof document !== 'undefined') {\n let script = document.createElement('script');\n script.src = asset.url + '?t=' + Date.now();\n if (asset.outputFormat === 'esmodule') {\n script.type = 'module';\n }\n return new Promise((resolve, reject) => {\n var _document$head;\n script.onload = () => resolve(script);\n script.onerror = reject;\n (_document$head = document.head) === null || _document$head === void 0 || _document$head.appendChild(script);\n });\n } else if (typeof importScripts === 'function') {\n // Worker scripts\n if (asset.outputFormat === 'esmodule') {\n return __parcel__import__(asset.url + '?t=' + Date.now());\n } else {\n return new Promise((resolve, reject) => {\n try {\n __parcel__importScripts__(asset.url + '?t=' + Date.now());\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n }\n }\n }\n}\nasync function hmrApplyUpdates(assets) {\n global.parcelHotUpdate = Object.create(null);\n let scriptsToRemove;\n try {\n // If sourceURL comments aren't supported in eval, we need to load\n // the update from the dev server over HTTP so that stack traces\n // are correct in errors/logs. This is much slower than eval, so\n // we only do it if needed (currently just Safari).\n // https://bugs.webkit.org/show_bug.cgi?id=137297\n // This path is also taken if a CSP disallows eval.\n if (!supportsSourceURL) {\n let promises = assets.map(asset => {\n var _hmrDownload;\n return (_hmrDownload = hmrDownload(asset)) === null || _hmrDownload === void 0 ? void 0 : _hmrDownload.catch(err => {\n // Web extension fix\n if (extCtx && extCtx.runtime && extCtx.runtime.getManifest().manifest_version == 3 && typeof ServiceWorkerGlobalScope != 'undefined' && global instanceof ServiceWorkerGlobalScope) {\n extCtx.runtime.reload();\n return;\n }\n throw err;\n });\n });\n scriptsToRemove = await Promise.all(promises);\n }\n assets.forEach(function (asset) {\n hmrApply(module.bundle.root, asset);\n });\n } finally {\n delete global.parcelHotUpdate;\n if (scriptsToRemove) {\n scriptsToRemove.forEach(script => {\n if (script) {\n var _document$head2;\n (_document$head2 = document.head) === null || _document$head2 === void 0 || _document$head2.removeChild(script);\n }\n });\n }\n }\n}\nfunction hmrApply(bundle /*: ParcelRequire */, asset /*: HMRAsset */) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n if (asset.type === 'css') {\n reloadCSS();\n } else if (asset.type === 'js') {\n let deps = asset.depsByBundle[bundle.HMR_BUNDLE_ID];\n if (deps) {\n if (modules[asset.id]) {\n // Remove dependencies that are removed and will become orphaned.\n // This is necessary so that if the asset is added back again, the cache is gone, and we prevent a full page reload.\n let oldDeps = modules[asset.id][1];\n for (let dep in oldDeps) {\n if (!deps[dep] || deps[dep] !== oldDeps[dep]) {\n let id = oldDeps[dep];\n let parents = getParents(module.bundle.root, id);\n if (parents.length === 1) {\n hmrDelete(module.bundle.root, id);\n }\n }\n }\n }\n if (supportsSourceURL) {\n // Global eval. We would use `new Function` here but browser\n // support for source maps is better with eval.\n (0, eval)(asset.output);\n }\n\n // $FlowFixMe\n let fn = global.parcelHotUpdate[asset.id];\n modules[asset.id] = [fn, deps];\n } else if (bundle.parent) {\n hmrApply(bundle.parent, asset);\n }\n }\n}\nfunction hmrDelete(bundle, id) {\n let modules = bundle.modules;\n if (!modules) {\n return;\n }\n if (modules[id]) {\n // Collect dependencies that will become orphaned when this module is deleted.\n let deps = modules[id][1];\n let orphans = [];\n for (let dep in deps) {\n let parents = getParents(module.bundle.root, deps[dep]);\n if (parents.length === 1) {\n orphans.push(deps[dep]);\n }\n }\n\n // Delete the module. This must be done before deleting dependencies in case of circular dependencies.\n delete modules[id];\n delete bundle.cache[id];\n\n // Now delete the orphans.\n orphans.forEach(id => {\n hmrDelete(module.bundle.root, id);\n });\n } else if (bundle.parent) {\n hmrDelete(bundle.parent, id);\n }\n}\nfunction hmrAcceptCheck(bundle /*: ParcelRequire */, id /*: string */, depsByBundle /*: ?{ [string]: { [string]: string } }*/) {\n if (hmrAcceptCheckOne(bundle, id, depsByBundle)) {\n return true;\n }\n\n // Traverse parents breadth first. All possible ancestries must accept the HMR update, or we'll reload.\n let parents = getParents(module.bundle.root, id);\n let accepted = false;\n while (parents.length > 0) {\n let v = parents.shift();\n let a = hmrAcceptCheckOne(v[0], v[1], null);\n if (a) {\n // If this parent accepts, stop traversing upward, but still consider siblings.\n accepted = true;\n } else {\n // Otherwise, queue the parents in the next level upward.\n let p = getParents(module.bundle.root, v[1]);\n if (p.length === 0) {\n // If there are no parents, then we've reached an entry without accepting. Reload.\n accepted = false;\n break;\n }\n parents.push(...p);\n }\n }\n return accepted;\n}\nfunction hmrAcceptCheckOne(bundle /*: ParcelRequire */, id /*: string */, depsByBundle /*: ?{ [string]: { [string]: string } }*/) {\n var modules = bundle.modules;\n if (!modules) {\n return;\n }\n if (depsByBundle && !depsByBundle[bundle.HMR_BUNDLE_ID]) {\n // If we reached the root bundle without finding where the asset should go,\n // there's nothing to do. Mark as \"accepted\" so we don't reload the page.\n if (!bundle.parent) {\n return true;\n }\n return hmrAcceptCheck(bundle.parent, id, depsByBundle);\n }\n if (checkedAssets[id]) {\n return true;\n }\n checkedAssets[id] = true;\n var cached = bundle.cache[id];\n assetsToDispose.push([bundle, id]);\n if (!cached || cached.hot && cached.hot._acceptCallbacks.length) {\n assetsToAccept.push([bundle, id]);\n return true;\n }\n}\nfunction hmrDispose(bundle /*: ParcelRequire */, id /*: string */) {\n var cached = bundle.cache[id];\n bundle.hotData[id] = {};\n if (cached && cached.hot) {\n cached.hot.data = bundle.hotData[id];\n }\n if (cached && cached.hot && cached.hot._disposeCallbacks.length) {\n cached.hot._disposeCallbacks.forEach(function (cb) {\n cb(bundle.hotData[id]);\n });\n }\n delete bundle.cache[id];\n}\nfunction hmrAccept(bundle /*: ParcelRequire */, id /*: string */) {\n // Execute the module.\n bundle(id);\n\n // Run the accept callbacks in the new version of the module.\n var cached = bundle.cache[id];\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n cached.hot._acceptCallbacks.forEach(function (cb) {\n var assetsToAlsoAccept = cb(function () {\n return getParents(module.bundle.root, id);\n });\n if (assetsToAlsoAccept && assetsToAccept.length) {\n assetsToAlsoAccept.forEach(function (a) {\n hmrDispose(a[0], a[1]);\n });\n\n // $FlowFixMe[method-unbinding]\n assetsToAccept.push.apply(assetsToAccept, assetsToAlsoAccept);\n }\n });\n }\n}","import { App } from './App.js';\nimport { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\n\n// TODO: refactor\nasync function initialize() {\n await Chat.initialize();\n await ChatMessage.initialize();\n}\n\ninitialize().then(() => {\n App.run();\n});\n","import { UINotification } from './UINotification.js';\nimport { Settings } from './models/Settings.js';\nimport { Event } from './Event.js';\nimport { DOM } from './Dom.js';\nimport { Sidebar } from './Sidebar.js';\nimport { AppController } from './AppController.js';\nimport { CopyButton } from './CopyButton.js';\nimport { OllamaApi } from './OllamaApi.js';\n// import { OpenAiApi } from './OpenAiApi.js';\nimport { DownloadButton } from './DownloadButton.js';\nimport { DropDownMenu } from './DropDownMenu.js';\nimport { SettingsDialog } from './SettingsDialog.js';\nimport { ChatSettingsDialog } from './ChatSettingsDialog.js';\n// import { MarkdownFormatter } from './MarkdownFormatter.js'\nimport { ChatArea } from './ChatArea.js';\n\n// TODO: Review and refactor\nexport class App {\n static run() {\n UINotification.initialize();\n const app = new App();\n return app;\n }\n\n constructor() {\n this.sidebar = new Sidebar();\n this.chatArea = new ChatArea();\n this.api = new OllamaApi();\n // this.api = new OpenAiApi();\n this.settingsDialog = new SettingsDialog({\n domId: 'settings-dialog',\n buttonId: 'settings-button',\n title: 'Global settings',\n templateId: 'settings-dialog-template',\n });\n this.chatSettingsDialog = new ChatSettingsDialog({\n domId: 'chat-settings-dialog',\n buttonId: 'chat-settings-button',\n title: 'Chat settings',\n templateId: 'settings-dialog-template',\n });\n this.downloadButton = new DownloadButton();\n this.copyButton = new CopyButton();\n this.dropDownMenu = new DropDownMenu();\n this.initializeElements();\n this.bindEventListeners();\n this.logInitialization();\n }\n\n initializeElements() {\n // this.sendButton = document.getElementById('send-button');\n this.abortButton = document.getElementById('abort-button');\n this.messageInput = document.getElementById('message-input');\n this.chatHistory = document.getElementById('chat-history');\n }\n\n logInitialization() {\n const msg = `~~~~\\nChat\\n~~~~\nModel: ${Settings.getModel()}\nURL: ${Settings.getUrl()}\nChat: ${Settings.getCurrentChatId()}\nParameters: ${JSON.stringify(Settings.getModelParameters())}\n`;\n console.log(msg);\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected);\n // this.sendButton.addEventListener('click', this.sendMessage.bind(this));\n this.abortButton.addEventListener('click', this.handleAbort.bind(this));\n this.messageInput.addEventListener(\n 'keypress',\n this.handleKeyPress.bind(this),\n );\n }\n\n handleChatSelected = (chat) => {\n window.history.pushState({}, '', `/chats/${chat.id}`);\n };\n\n handleAbort = () => {\n this.api.abort();\n this.enableForm();\n console.log('Request aborted');\n };\n\n handleKeyPress = (event) => {\n if (event.key === 'Enter' && !event.shiftKey) {\n this.sendMessage();\n }\n };\n\n enableForm() {\n DOM.hideElement(this.abortButton).enableInput(this.messageInput);\n this.messageInput.focus();\n }\n\n disableForm() {\n DOM.showElement(this.abortButton).disableInput(this.messageInput);\n }\n\n // https://github.com/jmorganca/ollama/blob/main/docs/api.md#generate-a-completion\n async sendMessage() {\n const userPrompt = this.messageInput.value.trim();\n // Get the current chat\n let chat = await AppController.getCurrentChat();\n const url = Settings.getUrl('/api/chat');\n if (!url) {\n UINotification.show(\n 'Please update the URL in the settings to continue. ',\n );\n return null;\n }\n if (userPrompt) {\n // Reset input\n this.messageInput.value = '';\n // Create new chat\n if (!chat) {\n chat = await AppController.createChat({\n title: 'Untitled',\n model: Settings.getModel(),\n });\n }\n // Store user message\n const userMessage = await chat.addMessage({\n role: 'user',\n content: userPrompt,\n });\n const systemMessage = await chat.addMessage({\n role: 'assistant',\n content: '',\n });\n const systemPrompt = Settings.getSystemPrompt();\n const modelParameters = Settings.getModelParameters();\n // Disable form\n this.disableForm();\n // Create user message\n this.createChatMessage(userMessage);\n // Create system message container\n const responseElement = this.createChatMessage(systemMessage);\n const requestContext = {\n chat,\n userMessage,\n systemMessage,\n responseElement,\n };\n const requestData = await this.api.makeRequest(\n chat,\n userMessage,\n systemPrompt,\n modelParameters,\n );\n /*\n console.dir(requestData);\n const requestData = {\n prompt: userMessage,\n model: chat.model,\n messages: (await chat.getMessages()).map((message) => ({\n role: message.role,\n content: message.content,\n })),\n };\n // Add system prompt\n if (systemPrompt) {\n requestData.system = systemPrompt;\n }\n // Add model parameters\n if (modelParameters) {\n requestData.options = modelParameters;\n }\n */\n // Show spinner\n responseElement.textElement.innerHTML = '
';\n this.chatArea.scrollToEnd();\n // Make request\n this.api.send(\n url,\n requestData,\n (request, response) =>\n this.handleResponse(request, response, requestContext),\n (request, error) => this.handleResponseError(request, error),\n (request, response) =>\n this.handleDone(request, response, requestContext),\n );\n }\n }\n\n createChatMessage(message) {\n return this.chatArea.createMessageDiv(message);\n }\n\n handleResponse(request, response, context) {\n const responseElement = context.responseElement;\n const sanitizedContent = this.sanitizeContent(response);\n // Remember original response\n context.systemMessage.content += sanitizedContent;\n responseElement.textElement.textContent += sanitizedContent;\n this.chatArea.scrollToEnd();\n }\n\n handleResponseError(request, error) {\n // Ignore \"Abort\" button\n if (error !== undefined && error.name !== 'AbortError') {\n console.error(`Error: ${error.message}`);\n }\n this.chatArea.scrollToEnd();\n this.enableForm();\n }\n\n async handleDone(request, response, context) {\n const chat = context.chat;\n console.log(`Chat ${chat.id} done`);\n await context.systemMessage.save();\n this.enableForm();\n }\n\n sanitizeContent = (content) => {\n // TODO: Sanitization logic here\n return content;\n };\n\n getIdParam = () => {\n return new URL(window.location.href).pathname.split('/').pop();\n };\n}\n","function simpleHash(str) {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) - hash + char;\n hash = hash & hash; // Convert to 32bit integer\n }\n return hash;\n}\n\n// Show all uncaught errors as UI notifications\n/*\nwindow.onerror = function (message, source, lineno, colno, error) {\n const errorDetails = `${message} at ${source}:${lineno}:${colno}`;\n UINotification.show(errorDetails, 'error');\n return true;\n};\n*/\n\nexport class UINotification {\n constructor(message, type, autoDismiss) {\n const id = simpleHash(JSON.stringify(message));\n this.type = type;\n this.domId = `notification-${id}`;\n this.container = document.body;\n this.template = document.getElementById('notification-template').content;\n this._bindEventListeners();\n if (autoDismiss) {\n this.autoDismiss();\n }\n }\n\n _bindEventListeners() {\n window.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n });\n }\n\n autoDismiss() {\n setTimeout(() => {\n this.hide();\n }, 2000); // 2000 milliseconds (2 seconds)\n }\n\n static show(message, type) {\n const notification = new UINotification(message, type);\n notification.show(message);\n return notification;\n }\n\n static initialize() {\n // Store the original console.error function\n const originalConsoleError = console.error;\n\n // Override console.error\n console.error = function (...args) {\n UINotification.show(args);\n // Call the original console.error with all arguments\n originalConsoleError.apply(console, args);\n };\n }\n\n static handleApplicationError(error) {\n console.debug('caught error');\n console.error(error);\n UINotification.show(error);\n }\n\n show(message) {\n // Clone the template\n const clone = this.template.cloneNode(true);\n\n // Find the root element of the notification in the clone\n const notificationElement = clone.querySelector('.notification');\n if (!notificationElement) {\n console.error('Notification root element not found in template');\n return;\n }\n\n // Set the message\n clone.querySelector('.notification-message').textContent = message;\n\n notificationElement.id = this.domId; // Set ID on the actual element, not the fragment\n // Add type, for example, error\n if (this.type) {\n notificationElement.classList.add(`notification-${this.type}`);\n }\n\n // Add close functionality\n const closeButton = clone.querySelector('.close-notification-button');\n closeButton.onclick = () => this.hide();\n\n // Don't show the same notification twice\n if (!document.getElementById(this.domId)) {\n // Append to the container and display\n this.container.appendChild(clone);\n }\n }\n\n hide() {\n document.getElementById(this.domId)?.remove();\n }\n}\n","exports.interopDefault = function (a) {\n return a && a.__esModule ? a : {default: a};\n};\n\nexports.defineInteropFlag = function (a) {\n Object.defineProperty(a, '__esModule', {value: true});\n};\n\nexports.exportAll = function (source, dest) {\n Object.keys(source).forEach(function (key) {\n if (\n key === 'default' ||\n key === '__esModule' ||\n Object.prototype.hasOwnProperty.call(dest, key)\n ) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function () {\n return source[key];\n },\n });\n });\n\n return dest;\n};\n\nexports.export = function (dest, destName, get) {\n Object.defineProperty(dest, destName, {\n enumerable: true,\n get: get,\n });\n};\n","export class Settings {\n // Static method to set a value in localStorage\n static set(key, value) {\n try {\n const stringValue = JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n } catch (e) {\n console.error('Error saving to localStorage', e);\n }\n }\n\n // Static method to get a value from localStorage\n static get(key, defaultValue = null) {\n try {\n const value = localStorage.getItem(key);\n return value !== null ? JSON.parse(value) : defaultValue;\n } catch (e) {\n console.error('Error reading from localStorage', e);\n return defaultValue;\n }\n }\n\n // Static method to remove a value from localStorage\n static remove(key) {\n try {\n localStorage.removeItem(key);\n } catch (e) {\n console.error('Error removing from localStorage', e);\n }\n }\n\n static getUrl(uri) {\n try {\n const baseUrl = Settings.get('url');\n if (uri) {\n return new URL(uri, baseUrl).href;\n } else {\n return baseUrl;\n }\n } catch (error) {\n return null;\n }\n }\n\n static setUrl(url) {\n Settings.set('url', url);\n }\n\n static getModel() {\n return Settings.get('model');\n }\n\n static setModel(model) {\n Settings.set('model', model);\n }\n\n static getSystemPrompt() {\n return Settings.get('system-prompt');\n }\n\n static setSystemPrompt(systemPrompt) {\n if (systemPrompt === '') {\n systemPrompt = null;\n }\n Settings.set('system-prompt', systemPrompt);\n }\n\n static getModelParameters() {\n return Settings.get('model-parameters');\n }\n\n static setModelParameters(modelParameters) {\n if (modelParameters === '') {\n modelParameters = null;\n }\n Settings.set('model-parameters', modelParameters);\n }\n\n static getCurrentChatId() {\n return Settings.get('currentChatId');\n }\n\n static setCurrentChatId(chatId) {\n if (chatId === undefined) {\n chatId = null;\n }\n Settings.set('currentChatId', chatId);\n }\n}\n","export class Event {\n static listen(eventName, handler, target) {\n if (target === null || target === undefined) {\n target = window;\n }\n target.addEventListener(eventName, (event) => {\n handler(event.detail);\n });\n }\n\n static emit(eventName, data, target) {\n if (target === null || target === undefined) {\n target = window;\n }\n let log = `${eventName}`;\n if (data?.id) {\n log += ` id: ${data.id}`;\n }\n console.log(log);\n const event = new CustomEvent(eventName, {\n detail: data || {},\n bubbles: true, // This makes the event bubble up through the DOM\n });\n target.dispatchEvent(event);\n }\n}\n","export class DOM {\n static showElement(element) {\n element.classList.remove('hidden');\n return this;\n }\n\n static hideElement(element) {\n element.classList.add('hidden');\n return this;\n }\n\n static enableInput(element) {\n element.removeAttribute('disabled');\n return this;\n }\n\n static disableInput(element) {\n element.setAttribute('disabled', 'disabled');\n return this;\n }\n}\n","import { debounce } from './debounce.js';\nimport { Event } from './Event.js';\nimport { Chat } from './models/Chat.js';\nimport { AppController } from './AppController.js';\nimport { ChatList } from './ChatList.js';\nimport { DownloadChatsButton } from './DownloadChatsButton.js';\nimport { LocalStorage } from './models/LocalStorage.js';\n\nexport class Sidebar {\n constructor() {\n this.settings = new LocalStorage();\n this.chatList = new ChatList();\n this.element = document.getElementById('sidebar');\n this.newChatButton = this.element.querySelector('#new-chat-button');\n this.clearButton = this.element.querySelector('#clear-button');\n this.hamburgerButton = document.getElementById('hamburger-menu');\n this.searchButton = document.getElementById('search-button');\n this.downloadChatsButton = new DownloadChatsButton();\n this.searchRow = document.getElementById('search-row');\n this.searchInput = document.getElementById('search-input');\n if (this.settings.get('sidebar-collapsed') === true) {\n this.element.classList.add('collapsed');\n }\n this.bindEventListeners();\n this.render();\n }\n\n render() {\n this.chatList.render();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected);\n this.searchButton.addEventListener('click', this.toggleSearch.bind(this));\n this.searchInput.addEventListener(\n 'keypress',\n debounce(this.performSearch.bind(this), 50),\n );\n this.searchInput.addEventListener(\n 'keyup',\n debounce(this.performSearch.bind(this), 50),\n );\n this.newChatButton.addEventListener('click', this.handleNewChat.bind(this));\n this.clearButton.addEventListener('click', this.handleClear.bind(this));\n this.hamburgerButton.addEventListener('click', this.toggle.bind(this));\n }\n\n // TODO: Fix\n handleChatSelected = (chat) => {\n const listItem = this.element.querySelector(`chat${chat.id}`);\n if (listItem) {\n listItem.scrollIntoView({\n behavior: 'smooth',\n block: 'start', // \"start\" will bring the top of the element into view\n inline: 'nearest', // \"nearest\" will scroll to the nearest edge if partially visible\n });\n }\n };\n\n toggleSearch() {\n const searchRow = document.getElementById('search-row');\n searchRow.classList.toggle('hidden');\n this.searchInput.focus();\n }\n\n performSearch() {\n function escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // Escapes special characters\n }\n const query = escapeRegExp(this.searchInput.value.trim()).replace(\n /\\s+/g,\n '.*',\n );\n const queryContent = query.length > 2; // Nobody wants to query content based on one character?\n const regex = new RegExp(query, 'i'); // 'i' for case-insensitive matching\n console.log(`Search ${query}`);\n Chat.getAll().then((chats) => {\n const matches = chats\n .filter((chat) => {\n let match = regex.test(chat.title);\n if (queryContent) {\n match ||= regex.test(chat.content);\n }\n return match;\n })\n .map((chat) => chat.id);\n this.element.querySelectorAll('.chat-list-item').forEach((item) => {\n if (matches.includes(item.data.id)) {\n // Now matches the type\n item.classList.remove('hidden');\n } else {\n item.classList.add('hidden');\n }\n });\n });\n }\n\n toggle() {\n this.element.classList.toggle('collapsed');\n this.hamburgerButton.classList.toggle('collapsed');\n if (this.element.classList.contains('collapsed')) {\n this.settings.set('sidebar-collapsed', true);\n } else {\n this.settings.set('sidebar-collapsed', false);\n }\n }\n\n async handleNewChat() {\n await AppController.createChat();\n }\n\n async handleClear() {\n await AppController.clearChats();\n }\n}\n","export function debounce(func, wait) {\n let timeout;\n\n return function funcWrapper(...args) {\n const later = () => {\n clearTimeout(timeout);\n func(...args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n };\n}\n","import { BaseModel } from './BaseModel.js';\nimport { ChatMessage } from './ChatMessage.js';\n\nexport class Chat extends BaseModel {\n async addMessage(data) {\n data.chatId = this.id;\n return await new ChatMessage(data).create();\n }\n\n async getMessages() {\n const messages = await ChatMessage.getAllByChatId(this.id);\n this.messages = messages;\n return this.messages;\n }\n\n static async initialize() {\n await this.database('ChatApp', ['chats']);\n }\n\n static async clear() {\n await ChatMessage.clear();\n await super.clear();\n }\n\n static async get(id) {\n const chat = await super.get(id);\n\n /*\n if (chat) {\n // Fetch all messages for this chat\n const messages = await ChatMessage.getAllByChatId(id);\n chat.messages = messages;\n }\n */\n\n return chat;\n }\n\n static async delete(id) {\n // Delete the chat instance\n await super.delete(id);\n\n // Delete all associated messages\n const messages = await ChatMessage.getAllByChatId(id);\n for (const message of messages) {\n await message.delete();\n }\n }\n}\n","import { Database } from '../Database.js';\nimport { Migrations } from '../Migrations.js';\n\nexport class BaseModel {\n constructor(data) {\n Object.assign(this, data);\n }\n\n async create() {\n const key = await this.constructor.db.add(this.constructor.storeName, this);\n if (!this.id) {\n this.id = key;\n }\n return this;\n }\n\n async save() {\n return await this.constructor.db.put(this.constructor.storeName, this);\n }\n\n async delete() {\n return await this.constructor.db.delete(\n this.constructor.storeName,\n this.id,\n );\n }\n\n jsonify() {\n return JSON.stringify(this);\n }\n\n static async database(name, store) {\n this.dbName = name;\n this.storeName = store;\n this.db = new Database(name, [store], Migrations);\n await this.db.open();\n }\n\n static async transaction(mode) {\n return await this.db.transaction(this.storeName, mode);\n }\n\n async transaction(mode) {\n return await this.constructor.transaction(mode);\n }\n\n static async get(id) {\n const data = await this.db.get(this.storeName, id);\n return new this(data);\n }\n\n static async clear() {\n return await this.db.clear(this.storeName);\n }\n\n // TODO: sorting and selecting only certain attributes\n static async getAll() {\n const records = await this.db.getAll(this.storeName);\n return records.map((data) => new this(data));\n }\n\n /**\n * Retrieves all objects associated with a given ID and index.\n *\n * @param {number|string} chatId - The ID of the chat.\n * @returns {Promise} A promise that resolves to an array.\n */\n static async getAllByIndexAndId(indexName, id) {\n // Open a transaction and access the messages store\n const transaction = await this.transaction('readonly');\n\n // Use an index to find objects with the specified id\n const index = transaction.index(indexName);\n const request = index.getAll(id);\n\n return new Promise((resolve, reject) => {\n request.onsuccess = () => {\n // Convert the result into instances\n const messages = request.result.map((data) => new this(data));\n resolve(messages);\n };\n request.onerror = () => {\n reject(request.error);\n };\n });\n }\n\n // Exports the whole store\n static async export() {\n let transaction = await this.db.transaction(this.storeName, 'readonly');\n let store = await transaction.transaction.objectStore(this.storeName);\n return store.getAll();\n }\n}\n","export class Database {\n constructor(dbName, objectStores, migrations) {\n this.dbName = dbName;\n this.objectStores = objectStores;\n this.dbConnection = null; // Initialized in open\n this.migrations = migrations;\n }\n\n async open() {\n if (this.dbConnection) {\n throw new Error('Connection already open');\n }\n\n return new Promise((resolve, reject) => {\n const request = indexedDB.open(this.dbName, this.migrations.version);\n\n request.onerror = (event) => reject(event.target.error);\n request.onupgradeneeded = (event) => {\n const db = event.target.result;\n const transaction = event.currentTarget.transaction;\n this.migrations.upgrade(db, transaction, event.oldVersion);\n };\n request.onsuccess = (event) => {\n this.dbConnection = event.target.result;\n resolve(this.dbConnection);\n };\n });\n }\n\n async transaction(storeName, mode) {\n return this.dbConnection\n .transaction([storeName], mode)\n .objectStore(storeName);\n }\n\n async add(storeName, data) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('add', store.add(data));\n }\n\n async get(storeName, id) {\n const store = await this.transaction(storeName, 'readonly');\n return this.handleRequest('get', store.get(id));\n }\n\n async put(storeName, data) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('put', store.put(data));\n }\n\n async delete(storeName, id) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('delete', store.delete(id));\n }\n\n async getAll(storeName) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('getAll', store.getAll());\n }\n\n async clear(storeName) {\n const store = await this.transaction(storeName, 'readwrite');\n return this.handleRequest('deleteAll', store.clear());\n }\n\n handleRequest(type, request) {\n return new Promise((resolve, reject) => {\n request.onsuccess = () => resolve(request.result);\n\n request.onerror = (event) => {\n const error = `Database ${type} operation failed: ${event.target.error.message}`;\n reject(new Error(JSON.stringify(error)));\n };\n });\n }\n}\n","export class Migrations {\n static version = 2;\n static upgrade(database, transaction, oldVersion) {\n console.debug(\n `Migration needed. Old version ${oldVersion}. New version ${this.version}.`,\n );\n const funcName = `upgradeToVersion${this.version}`;\n const upgradeFunc = this[funcName];\n if (!upgradeFunc) {\n throw new Error(`Upgrade function missing for ${funcName}`);\n }\n if (this.version >= oldVersion) {\n upgradeFunc({ database, transaction });\n }\n }\n\n static upgradeToVersion2(context) {\n // Create chats\n context.database.createObjectStore('chats', {\n keyPath: 'id',\n autoIncrement: true,\n });\n // Create chat_messages\n const chatMessages = context.database.createObjectStore('chat_messages', {\n keyPath: 'id',\n autoIncrement: true,\n });\n chatMessages.createIndex('by_chat', 'chatId', { unique: false });\n }\n}\n","import { BaseModel } from './BaseModel.js';\n\nexport class ChatMessage extends BaseModel {\n static async initialize() {\n await this.database('ChatApp', 'chat_messages');\n }\n\n static async getAllByChatId(chatId) {\n return this.getAllByIndexAndId('by_chat', chatId);\n }\n}\n","import { UINotification } from './UINotification.js';\nimport { Event } from './Event.js';\nimport { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\nimport { Settings } from './models/Settings.js';\n\n// TODO: Move all actions here?\n// TODO: Cache current chat here\nexport class AppController {\n static async updateChat(chat, data) {\n Object.assign(chat, data);\n await chat.save();\n // TODO: Move to BaseModel\n Event.emit('chatUpdated', chat);\n }\n\n static async createChat(data) {\n if (!data) {\n data = {};\n }\n if (!data.title) {\n data.title = 'Untitled';\n }\n if (!data.model) {\n data.model = Settings.getModel();\n }\n const chat = await new Chat(data).create();\n Settings.setCurrentChatId(chat.id);\n Event.emit('chatCreated', chat);\n Event.emit('chatSelected', chat);\n return chat;\n }\n\n static async deleteChatMessage(messageId) {\n UINotification.show('Deleted message').autoDismiss();\n const message = await ChatMessage.get(messageId);\n message.delete();\n }\n\n static async deleteChat(chat) {\n await chat.delete();\n if (Settings.getCurrentChatId() === chat.id) {\n Settings.setCurrentChatId(null);\n }\n Event.emit('chatDeleted', chat);\n }\n\n static async getCurrentChat() {\n const chatId = this.getCurrentChatId();\n if (chatId) {\n return await Chat.get(chatId);\n }\n return null;\n }\n\n static getCurrentChatId() {\n return Settings.get('currentChatId');\n }\n\n static async setCurrentChat(chat) {\n Settings.setCurrentChatId(chat.id);\n Event.emit('chatSelected', chat);\n }\n\n static async setCurrentChatId(chatId) {\n const chat = await Chat.get(chatId);\n if (chat) {\n await this.setCurrentChat(chat);\n }\n }\n\n static async clearChats() {\n Settings.setCurrentChatId(null);\n await Chat.clear();\n Event.emit('chatsCleared');\n }\n}\n","import { Event } from './Event.js';\nimport { ChatListItem } from './ChatListItem.js';\nimport { DragAndDrop } from './DragAndDrop.js';\nimport { Chat } from './models/Chat.js';\nimport { AppController } from './AppController.js';\n\nexport class ChatList {\n constructor() {\n this.element = document.getElementById('chat-list');\n this.template = document.getElementById('chat-list-item-template').content;\n this.bindEventListeners();\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n });\n }\n\n bindEventListeners() {\n Event.listen('chatCreated', this.handleChatCreated.bind(this));\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n Event.listen('chatsCleared', this.handleChatsCleared.bind(this));\n Event.listen('chatUpdated', this.handleChatUpdated.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n }\n\n async selectChat(chatId) {\n await AppController.setCurrentChatId(chatId);\n }\n\n handleChatCreated(chat) {\n this.appendChat(chat, true);\n }\n\n handleChatDeleted(chat) {\n if (this.chat?.id === chat.id) {\n this.chat = null;\n }\n this.element.querySelector(`.chat${chat.id}`)?.remove();\n }\n\n handleChatsCleared() {\n const elements = this.element.querySelectorAll('.chat-list-item');\n elements.forEach((element) => element.remove());\n }\n\n handleChatUpdated(chat) {\n const listElement = this.element.querySelector(\n `.chat${chat.id} .chat-title`,\n );\n if (listElement) {\n listElement.textContent = chat.title;\n }\n }\n\n handleChatSelected(chat) {\n if (this.chat) {\n const previousListElement = this.element.querySelector(\n `.chat${this.chat.id}`,\n );\n if (previousListElement) {\n previousListElement.classList.remove('selected');\n }\n }\n const newListElement = this.element.querySelector(`.chat${chat.id}`);\n if (newListElement) {\n newListElement.classList.add('selected');\n }\n // Remember selected chat\n this.chat = chat;\n }\n\n render() {\n const currentChatId = AppController.getCurrentChatId();\n this.element.innerHTML = '';\n Chat.getAll().then((chats) => {\n chats.forEach((chat) => {\n const selected = chat.id === currentChatId;\n this.appendChat(chat, selected);\n });\n new DragAndDrop('.chat-list-item');\n });\n }\n\n appendChat(chat, selected) {\n const chatListItem = new ChatListItem(chat, this, selected);\n this.element.appendChild(chatListItem.element);\n return chatListItem;\n }\n}\n","import { AppController } from './AppController.js';\n\nexport class ChatListItem {\n constructor(chat, chatList, selected) {\n this.chat = chat;\n this.chatList = chatList;\n this.content = document\n .getElementById('chat-list-item-template')\n .content.cloneNode(true);\n this.element = this.content.querySelector('.chat-list-item');\n this.element.title = this.chat.title;\n this.element.data = { id: this.chat.id };\n this.element.classList.add(`chat${this.chat.id}`);\n if (selected === true) {\n this.element.classList.add('selected');\n // this.content.querySelector('.icon-selected').classList.remove('hidden')\n }\n this.setTitle();\n this.bindEventListeners();\n }\n\n render() {}\n\n bindEventListeners() {\n this.element.addEventListener('mouseover', this.onMouseover.bind(this));\n this.element.addEventListener('mouseout', this.onMouseout.bind(this));\n this.element.addEventListener('click', this.onClick.bind(this));\n this.element\n .querySelector('.list-item-delete')\n .addEventListener('click', this.deleteChat.bind(this));\n }\n\n onMouseover() {\n this.element.classList.add('hover');\n }\n\n onMouseout() {\n this.element.classList.remove('hover');\n }\n\n onClick() {\n this.chatList.selectChat(this.chat.id);\n }\n\n setTitle() {\n const chatTitle = this.content.querySelector('.chat-title');\n chatTitle.textContent = this.chat.title;\n }\n\n deleteChat() {\n AppController.deleteChat(this.chat);\n this.element.remove();\n }\n}\n","export class DragAndDrop {\n constructor(selector) {\n this.listItems = document.querySelectorAll(selector);\n this.draggedItem = null;\n this.initializeDragAndDrop();\n }\n\n initializeDragAndDrop() {\n this.listItems.forEach((item) => {\n item.addEventListener('dragstart', this.handleDragStart.bind(this, item));\n item.addEventListener('dragover', this.handleDragOver.bind(this));\n item.addEventListener('drop', this.handleDrop.bind(this, item));\n item.addEventListener('dragend', this.handleDragEnd.bind(this));\n });\n }\n\n handleDragStart(item) {\n this.draggedItem = item;\n }\n\n handleDragOver(e) {\n e.preventDefault();\n }\n\n handleDrop(item) {\n if (item !== this.draggedItem) {\n let currentHTML = item.innerHTML;\n item.innerHTML = this.draggedItem.innerHTML;\n this.draggedItem.innerHTML = currentHTML;\n console.debug('dnd drop');\n }\n }\n\n handleDragEnd() {\n this.draggedItem = null;\n }\n}\n","import { Chat } from './models/Chat.js';\nimport { ChatMessage } from './models/ChatMessage.js';\n\nexport class DownloadChatsButton {\n constructor() {\n this.button = document.querySelector('#export-button');\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.button.addEventListener('click', () => {\n this.exportChat();\n this.exportChatMessages();\n });\n }\n\n async exportChat() {\n const request = await Chat.export();\n\n request.onsuccess = function () {\n let data = request.result;\n\n // Convert the data to JSON format\n let jsonData = JSON.stringify(data, 2);\n\n // Export the JSON data by creating a file to download\n let blob = new Blob([jsonData], { type: 'application/json' });\n let url = URL.createObjectURL(blob);\n\n let a = document.createElement('a');\n a.href = url;\n a.download = 'chats.json';\n a.click();\n URL.revokeObjectURL(url);\n };\n\n request.onerror = function (event) {\n console.error('Error reading data: ', event.target.errorCode);\n };\n }\n\n async exportChatMessages() {\n const request = await ChatMessage.export();\n\n request.onsuccess = function () {\n let data = request.result;\n\n // Convert the data to JSON format\n let jsonData = JSON.stringify(data, 2);\n\n // Export the JSON data by creating a file to download\n let blob = new Blob([jsonData], { type: 'application/json' });\n let url = URL.createObjectURL(blob);\n\n let a = document.createElement('a');\n a.href = url;\n a.download = 'chat_messages.json';\n a.click();\n URL.revokeObjectURL(url);\n };\n\n request.onerror = function (event) {\n console.error('Error reading data: ', event.target.errorCode);\n };\n }\n}\n","export class LocalStorage {\n // Set a value in localStorage\n set(key, value) {\n try {\n const stringValue = JSON.stringify(value);\n localStorage.setItem(key, stringValue);\n } catch (e) {\n console.error('Error saving to localStorage', e);\n }\n }\n\n // Get a value from localStorage, return defaultValue if key doesn't exist\n get(key, defaultValue = null) {\n try {\n const value = localStorage.getItem(key);\n return value !== null ? JSON.parse(value) : defaultValue;\n } catch (e) {\n console.error('Error reading from localStorage', e);\n return defaultValue;\n }\n }\n\n // Remove a value from localStorage\n remove(key) {\n try {\n localStorage.removeItem(key);\n } catch (e) {\n console.error('Error removing from localStorage', e);\n }\n }\n}\n","import { UINotification } from './UINotification.js';\n\nexport class CopyButton {\n constructor() {\n document.addEventListener('click', (event) => {\n // Check if the clicked element has the class 'copy-button'\n if (event.target.classList.contains('copy-button')) {\n const targetSelector = event.target.getAttribute('data-target');\n if (!targetSelector) {\n console.error('The data-target attribute is not set');\n return;\n }\n const textToCopy = document.getElementById(targetSelector).innerText;\n // Create a temporary textarea element\n const textarea = document.createElement('textarea');\n textarea.value = textToCopy;\n document.body.appendChild(textarea);\n\n // Select the text and copy it\n textarea.select();\n document.execCommand('copy');\n\n // Remove the temporary textarea\n document.body.removeChild(textarea);\n\n // Optional: Display a message or change the button text/content\n UINotification.show('Text copied to clipboard').autoDismiss();\n }\n });\n }\n}\n","export class OllamaApi {\n constructor() {\n this.abortController = null;\n }\n\n async makeRequest(chat, userMessage, systemPrompt, modelParameters) {\n const requestData = {\n prompt: userMessage,\n model: chat.model,\n messages: (await chat.getMessages()).map((message) => ({\n role: message.role,\n content: message.content,\n })),\n };\n // Add system prompt\n if (systemPrompt) {\n requestData.system = systemPrompt;\n }\n // Add model parameters\n if (modelParameters) {\n requestData.options = modelParameters;\n }\n return requestData;\n }\n\n async send(url, data, onResponse, onError, onDone) {\n const request = { data };\n try {\n const response = await this.postChatMessage(url, data);\n await this.handleResponse(request, response, onResponse, onDone);\n } catch (error) {\n onError(request, error);\n }\n }\n\n async postChatMessage(url, data) {\n this.abortController = new AbortController();\n const { signal } = this.abortController;\n const response = await fetch(url, {\n signal,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(data),\n });\n\n if (!response.ok) {\n throw new Error(`${url} failed with status ${response.status}`);\n }\n\n return response;\n }\n\n async handleResponse(request, response, onResponse, onDone) {\n const reader = response.body.getReader();\n let partialLine = '';\n var isRequestDone = false;\n\n while (!isRequestDone) {\n const { done, value } = await reader.read();\n if (done) {\n onDone(request, response);\n isRequestDone = true;\n continue;\n }\n\n const textChunk = new TextDecoder().decode(value);\n const lines = (partialLine + textChunk).split('\\n');\n partialLine = lines.pop();\n\n lines.forEach((line) => {\n const responseData = JSON.parse(line);\n if (line.trim()) {\n // TODO: Move this line:\n this.printResponseStats(responseData);\n onResponse(request, responseData.message.content);\n }\n });\n }\n\n if (partialLine.trim()) {\n onResponse(request, partialLine);\n }\n }\n\n abort() {\n if (this.abortController) {\n this.abortController.abort();\n }\n }\n\n printResponseStats(data) {\n if (!data.total_duration) {\n return;\n }\n // Convert nanoseconds to seconds for durations\n const totalDurationInSeconds = data.total_duration / 1e9;\n const loadDurationInSeconds = data.load_duration / 1e9;\n const promptEvalDurationInSeconds = data.prompt_eval_duration / 1e9;\n const responseEvalDurationInSeconds = data.eval_duration / 1e9;\n\n // Calculate tokens per second (token/s)\n const tokensPerSecond = data.eval_count / responseEvalDurationInSeconds;\n const output = `\nModel: ${data.model}\nCreated At: ${data.created_at}\nTotal Duration (s): ${totalDurationInSeconds.toFixed(2)}\nLoad Duration (s): ${loadDurationInSeconds.toFixed(2)}\nPrompt Evaluation Count: ${data.prompt_eval_count}\nPrompt Evaluation Duration (s): ${promptEvalDurationInSeconds.toFixed(2)}\nResponse Evaluation Count: ${data.eval_count}\nResponse Evaluation Duration (s): ${responseEvalDurationInSeconds.toFixed(2)}\nTokens Per Second: ${tokensPerSecond.toFixed(2)} token/s\n `;\n console.log(output);\n }\n\n static getModels(url, onResponse) {\n if (!url) {\n return null;\n }\n\n return fetch(url)\n .then((response) => {\n if (!response.ok) {\n throw new Error(`Unable to fetch models from ${url}`);\n }\n return response.json();\n })\n .then((data) => {\n onResponse(data.models);\n })\n .catch((error) => {\n console.debug(error);\n console.error(\n `Please ensure the server is running at: ${url}. Error code: 39847`,\n );\n onResponse([]);\n });\n }\n}\n","export class DownloadButton {\n constructor() {\n document.addEventListener('click', (event) => {\n // Check if the clicked element has the class 'copy-button'\n if (event.target.classList.contains('download-button')) {\n // Get the index from the data-target attribute\n const targetId = event.target.getAttribute('data-target');\n this.downloadElementContent(targetId, 'chat.html');\n }\n });\n }\n\n downloadElementContent(elementId, filename) {\n // Get the element\n const element = document.getElementById(elementId);\n if (!element) {\n console.error('Element not found');\n return;\n }\n\n // Get the contents of the element\n const content = element.innerText;\n\n // Create a Blob with the content\n const blob = new Blob([content], { type: 'text/html' });\n\n // Create an anchor element and set the href to the blob\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = filename;\n\n // Append the anchor to the document, trigger a click, and then remove it\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Revoke the blob URL\n URL.revokeObjectURL(a.href);\n }\n}\n","export class DropDownMenu {\n constructor() {\n this.buttonSelector = '.drop-down-menu';\n this.dropDownMenus = document.querySelectorAll(this.buttonSelector);\n this.init();\n }\n\n init() {\n // Add a click listener to the whole document\n document.addEventListener('click', (event) => {\n // Check if the clicked element or any of its parents has the 'drop-down-menu' class\n const menuElement = event.target.closest(this.buttonSelector);\n if (menuElement) {\n const dropDownMenu = menuElement.querySelector('.drop-down-menu-items');\n if (dropDownMenu) {\n this.toggleMenu(dropDownMenu);\n }\n }\n });\n }\n\n toggleMenu(menu) {\n menu.classList.toggle('hidden');\n menu.classList.toggle('visible');\n }\n}\n","import { Modal } from './Modal.js';\nimport { UINotification } from './UINotification.js';\nimport { ModelsList } from './ModelsList.js';\nimport { Models } from './models/Models.js';\nimport { Settings } from './models/Settings.js';\n\nexport class SettingsDialog extends Modal {\n constructor(options) {\n super(options);\n this.showButton = document.getElementById(options.buttonId);\n this.urlInput = this.modal.querySelector('#input-url');\n this.modelInput = this.modal.querySelector('#input-model');\n this.systemPromptInput = this.modal.querySelector('#input-system-prompt');\n this.modelParametersInput = this.modal.querySelector(\n '#input-model-parameters',\n );\n this.refreshModelsButton = this.modal.querySelector(\n '.refresh-models-button',\n );\n this.modelList = new ModelsList(this.modal.querySelector('#model-list'));\n this.bindEventListeners();\n }\n\n getSelected() {\n return Settings.getModel();\n }\n\n bindEventListeners() {\n this.urlInput.addEventListener('blur', this.handleUrlUpdated.bind(this));\n this.systemPromptInput.addEventListener(\n 'blur',\n this.handleSystemPromptUpdated.bind(this),\n );\n this.modelParametersInput.addEventListener('blur', () =>\n this.handleModelParametersUpdated.bind(this),\n );\n this.modelList.onClick(this.handleModelUpdated.bind(this));\n this.showButton.addEventListener('click', this.show.bind(this));\n this.refreshModelsButton.addEventListener(\n 'click',\n this.refreshModels.bind(this),\n );\n this.closeButton.addEventListener('click', this.hide.bind(this));\n }\n\n handleSystemPromptUpdated() {\n Settings.setSystemPrompt(this.systemPromptInput.value.trim());\n }\n\n handleModelUpdated() {\n Settings.setModel(this.modelList.getSelected());\n }\n\n handleModelParametersUpdated() {\n const value = this.modelParametersInput.value.trim();\n if (value === '') {\n return;\n }\n try {\n const parsedValue = JSON.parse(value);\n const prettyJSON = JSON.stringify(parsedValue, 2);\n Settings.setModelParameters(parsedValue);\n this.modelParametersInput.value = prettyJSON;\n this.modelParametersInput.classList.remove('error');\n } catch (error) {\n if (error.name === 'SyntaxError') {\n this.modelParametersInput.classList.add('error');\n } else {\n console.error(error);\n }\n }\n }\n\n handleUrlUpdated() {\n const value = this.urlInput.value.trim();\n Settings.setUrl(value);\n }\n\n show() {\n this.loadSettings();\n Models.load();\n this.handleShow();\n }\n\n refreshModels() {\n if (!Models.getUrl()) {\n UINotification.show('Please update the URL in the settings to continue.');\n } else {\n Models.load();\n }\n }\n\n loadSettings() {\n this.modelList.setSelected(this.getSelected());\n this.urlInput.value = Settings.getUrl();\n const modelParameters = Settings.getModelParameters();\n if (modelParameters) {\n this.modelParametersInput.value = JSON.stringify(modelParameters, 2);\n }\n }\n}\n","// Modal base class\nexport class Modal {\n constructor(options) {\n this.domId = options.domId;\n this.templateId = options.templateId;\n this.modal = this.createDialogElement();\n this.titleElement = this.modal.querySelector('.modal-title');\n this.closeButton = this.modal.querySelector('.button-close');\n this.closeButton.onclick = () => this.hide();\n this._bindEventListeners();\n this.setTitle(options.title);\n }\n\n setTitle(title) {\n this.titleElement.textContent = title;\n }\n\n _bindEventListeners() {\n this.modal.addEventListener('click', (event) => {\n if (event.target == this.modal) {\n this.hide();\n }\n });\n window.addEventListener('keydown', (event) => {\n if (event.key === 'Escape') {\n this.hide();\n }\n });\n }\n\n createDialogElement() {\n const template = document.getElementById(this.templateId);\n if (!template) {\n console.error(`Template with ID ${this.templateId} not found.`);\n return;\n }\n\n const clone = template.content.cloneNode(true);\n const modalElement = clone.firstElementChild;\n modalElement.id = this.domId;\n\n if (!modalElement) {\n console.error(\n `No modal element found in the template with ID ${this.templateId}.`,\n );\n return;\n }\n\n document.body.appendChild(modalElement);\n\n return modalElement;\n }\n\n show() {\n this.handleShow();\n }\n\n hide() {\n this.handleHide();\n }\n\n handleShow() {\n this.modal.classList.add('show');\n }\n\n handleHide() {\n this.modal.classList.remove('show');\n }\n}\n","import { FilteredList } from './FilteredList.js';\nimport { Event } from './Event.js';\nimport { Models } from './models/Models.js';\n\nexport class ModelsList extends FilteredList {\n constructor(container) {\n super(container, Models.getNames());\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n Event.listen('modelsLoaded', this.handleModelsLoaded.bind(this));\n }\n\n handleModelsLoaded() {\n this.setItems(Models.getNames());\n }\n\n static getModels() {\n return Models.getNames();\n }\n}\n","import { List } from './List.js';\nimport { DOM } from './DOM.js';\n\nexport class FilteredList extends List {\n constructor(ul, items) {\n super(ul, items); // Call the constructor of the parent class\n this.div = document.createElement('small');\n this.div.classList.add('hidden', 'p-2');\n this.ul.prepend(this.div);\n this.query = null;\n }\n\n escapeRegExp(string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // Escapes special characters\n }\n\n render() {\n super.render();\n }\n\n selectFirst() {\n alert(\n document.querySelector('.chat-model-list li:not(.hidden)').textContent,\n );\n }\n\n filter(searchTerm) {\n this.query = searchTerm;\n if (searchTerm === null || searchTerm === undefined) {\n this.clearFilter();\n this.filtered = false;\n return null;\n }\n const query = this.escapeRegExp(searchTerm).replace(/\\s+/g, '.*');\n const regex = new RegExp(query, 'i'); // 'i' for case-insensitive matching\n\n // Loop through the list items\n const matches = this.li\n .map((listItemElement) => {\n const text = listItemElement.textContent;\n const match = regex.test(text);\n\n if (match) {\n DOM.showElement(listItemElement);\n return text;\n } else {\n DOM.hideElement(listItemElement);\n return null;\n }\n })\n .filter((match) => match);\n console.log(`Search ${query}. Matches: ${matches}`);\n\n // Update text\n DOM.showElement(this.div);\n let message = null;\n if (searchTerm.length < 1) {\n message = `Continue typing to search models. Showing all models:`;\n } else {\n if (matches.length != 0) {\n message = `Found ${matches.length} model(s) matching '${this.query}'. Click to change chat's model, or press tab to change prompt's model:`;\n } else {\n message = `Did not find any models that match '${this.query}'.`;\n }\n }\n this.div.textContent = message;\n\n return matches;\n }\n\n clearFilter() {\n DOM.hideElement(this.div);\n this.query = null;\n this.li.forEach((listItemElement) => {\n DOM.showElement(listItemElement);\n });\n }\n}\n","import { Event } from './Event.js';\nimport { UIElement } from './UIElement.js';\n\nexport class List extends UIElement {\n constructor(ul, items) {\n super(ul);\n this.ul = ul;\n this.items = items;\n this.render();\n this.clickHandler = null;\n this.ul.classList.add('list');\n }\n\n onClick(handler) {\n this.clickHandler = handler;\n return this; // Allow chaining\n }\n\n setItems(items) {\n this.items = items;\n this.render();\n }\n\n setSelected(selected) {\n console.debug(`Select ${selected}`);\n this.selected = selected;\n this.li.forEach((item) => {\n if (item.textContent === selected) {\n item.classList.add('selected');\n } else {\n item.classList.remove('selected');\n }\n });\n Event.emit('select', selected, this.ul);\n }\n\n getSelected() {\n return this.selected;\n }\n\n render() {\n this.ul.innerHTML = ''; // Clear existing content\n this.li = this.items.map((item) => {\n const li = document.createElement('li');\n li.classList.add('list-item');\n if (item === this.selected) {\n li.classList.add('selected');\n }\n li.textContent = item;\n li.item = item;\n li.addEventListener('click', () => {\n this.setSelected(item);\n if (this.clickHandler) {\n this.clickHandler(item);\n }\n });\n this.ul.appendChild(li);\n return li;\n });\n }\n}\n","import { DOM } from './DOM.js';\n\nexport class UIElement {\n constructor(element) {\n this.element = element;\n }\n\n show() {\n DOM.showElement(this.element);\n }\n\n hide() {\n DOM.hideElement(this.element);\n }\n}\n","export class DOM {\n static showElement(element) {\n element.classList.remove('hidden');\n return this;\n }\n\n static hideElement(element) {\n element.classList.add('hidden');\n return this;\n }\n\n static enableInput(element) {\n element.removeAttribute('disabled');\n return this;\n }\n\n static disableInput(element) {\n element.setAttribute('disabled', 'disabled');\n return this;\n }\n}\n","import { Event } from '../Event.js';\nimport { Settings } from './Settings.js';\nimport { OllamaApi } from '../OllamaApi.js';\n\nexport class Models {\n // TODO: Get this from the settings?\n static models = [];\n\n static getUrl() {\n return Settings.getUrl('/api/tags');\n }\n\n static load() {\n if (!this.getUrl()) {\n return null;\n }\n return OllamaApi.getModels(this.getUrl(), (models) => {\n Models.models = models;\n // Cache list of models\n Settings.set('models', Models.models);\n Event.emit('modelsLoaded', Models.models);\n });\n }\n\n static getAll() {\n return Settings.get('models');\n }\n\n static getNames() {\n const models = this.getAll();\n if (!models) {\n return [];\n }\n return models.map((model) => model.name);\n }\n\n static findModelByName(name) {\n return this.getAll().find((model) => model.name === name);\n }\n}\n","import { AppController } from './AppController.js';\nimport { SettingsDialog } from './SettingsDialog.js';\nimport { Settings } from './models/Settings.js';\n\nexport class ChatSettingsDialog extends SettingsDialog {\n constructor(options) {\n super(options);\n }\n\n getSelected() {\n return this.chat?.model;\n }\n\n async handleSystemPromptUpdated() {\n this.chat.systemPrompt = this.systemPromptInput.value.trim();\n await this.chat.save();\n }\n\n async handleModelUpdated() {\n this.chat.model = this.modelList.getSelected();\n await this.chat.save();\n }\n\n async handleModelParametersUpdated() {\n this.chat.modelParameters = this.modelParametersInput.value.trim();\n await this.chat.save();\n }\n\n async handleUrlUpdated() {\n this.chat.url = this.urlInput.value.trim();\n await this.chat.save();\n }\n\n loadSettings() {\n AppController.getCurrentChat().then((chat) => {\n this.modelList.setSelected(chat.model);\n this.chat = chat;\n this.urlInput.value = this.chat.url || Settings.getUrl();\n const modelParameters =\n this.chat.modelParameters || Settings.getModelParameters();\n if (modelParameters) {\n this.modelParametersInput.value = JSON.stringify(modelParameters, 2);\n }\n });\n }\n}\n","import { UINotification } from './UINotification.js';\nimport { AppController } from './AppController.js';\nimport { AtSymbolListener } from './AtSymbolListener.js';\nimport { ExportChat } from './ExportChat.js';\nimport { Event } from './Event.js';\nimport { Hoverable } from './Hoverable.js';\nimport { ChatTitle } from './ChatTitle.js';\nimport { ChatForm } from './ChatForm.js';\nimport { ModelsList } from './ModelsList.js';\n\nexport class ChatArea {\n constructor() {\n this.chatTitle = new ChatTitle();\n this.chatForm = new ChatForm();\n this.chatHistory = document.getElementById('chat-history');\n this.messageInput = document.getElementById('message-input');\n this.editChatButton = document.getElementById('edit-chat-button');\n this.chatModel = document.getElementById('chat-model');\n this.modelName = this.chatModel.querySelector('.chat-model-name');\n this.scrollToTopButton = document.getElementById('scroll-to-top-button');\n this.scrollToEndButton = document.getElementById('scroll-to-end-button');\n this.deleteChatButton = document.getElementById('delete-chat-button');\n this.exportChatButton = document.getElementById('export-chat-button');\n this.modelList = new ModelsList(\n this.chatModel.querySelector('.chat-model-list'),\n ).onClick(this.handleModelSelected.bind(this));\n new AtSymbolListener(\n this.messageInput,\n this.modelList,\n this.handleModelSelected.bind(this),\n );\n AppController.getCurrentChat().then((chat) => {\n if (!chat) {\n return;\n }\n this.chat = chat;\n this.render();\n });\n this.bindEventListeners();\n }\n\n render() {\n // Clear history view\n this.chatHistory.innerText = '';\n if (this.chat) {\n // Show model name in \"talking to\"\n this.modelName.textContent = this.chat.model;\n // Update list of models\n this.modelList.setSelected(this.chat.model);\n this.chat // Render chat history\n .getMessages()\n .then((messages) => {\n messages.forEach((message) => {\n this.createMessageDiv(message);\n });\n });\n this.scrollToEnd();\n }\n this.messageInput.focus();\n }\n\n bindEventListeners() {\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n this.scrollToTopButton.addEventListener(\n 'click',\n this.scrollToTop.bind(this),\n );\n this.scrollToEndButton.addEventListener(\n 'click',\n this.scrollToEnd.bind(this),\n );\n this.editChatButton.addEventListener(\n 'click',\n this.handleEditChat.bind(this),\n );\n this.deleteChatButton.addEventListener(\n 'click',\n this.handleDeleteChat.bind(this),\n );\n this.exportChatButton.addEventListener('click', () => {\n ExportChat.exportChat(this.chat, `chat-${this.chat.id}.json`);\n });\n this.currentMessage = this.chatHistory.querySelector('.selected');\n // Select chat message with arrow up and arrow down keys\n document.addEventListener('keydown', (event) => {\n let next, previous;\n\n if (event.key === 'ArrowDown') {\n next = this.currentMessage\n ? this.currentMessage.nextElementSibling\n : this.chatHistory.firstElementChild;\n if (next) {\n if (this.currentMessage)\n this.currentMessage.classList.remove('hover');\n next.classList.add('hover');\n this.currentMessage = next; // Update currentMessage\n this.currentMessage.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n }); // Scroll into view\n }\n } else if (event.key === 'ArrowUp') {\n previous = this.currentMessage\n ? this.currentMessage.previousElementSibling\n : this.chatHistory.lastElementChild;\n if (previous) {\n if (this.currentMessage)\n this.currentMessage.classList.remove('hover');\n previous.classList.add('hover');\n }\n this.currentMessage = previous; // Update currentMessage\n this.currentMessage.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n }); // Scroll into view\n }\n });\n }\n\n createMessageDiv(message) {\n const domId = `chat-message-${message.id}`;\n const role = message.role;\n const content = message.content;\n // Get the template and its content\n const template = document.getElementById('chat-message-template');\n const messageClone = template.content.cloneNode(true);\n // Find the div and span elements within the cloned template\n const messageDiv = messageClone.querySelector('.chat-message');\n const textSpan = messageClone.querySelector('.chat-message-text');\n const deleteButton = messageClone.querySelector(\n '.delete-chat-message-button',\n );\n const copyButton = messageClone.querySelector(\n '.copy-chat-message-button .copy-button',\n );\n const goodButton = messageClone.querySelector('.good-chat-message-button');\n const badButton = messageClone.querySelector('.bad-chat-message-button');\n const flagButton = messageClone.querySelector('.flag-chat-message-button');\n\n if (message.quality == 'bad') {\n badButton.classList.add('selected');\n } else if (message.quality == 'good') {\n goodButton.classList.add('selected');\n } else if (message.quality == 'flagged') {\n flagButton.classList.add('selected');\n }\n\n // Set the class for role and text content\n messageDiv.classList.add(`${role}-chat-message`);\n messageDiv.id = domId;\n textSpan.textContent = content;\n messageDiv.spellcheck = false;\n\n // Append to chatHistory and adjust scroll\n this.chatHistory.appendChild(messageDiv);\n messageDiv.dataset['id'] = message.id;\n new Hoverable(messageDiv);\n deleteButton.addEventListener('click', async () => {\n await AppController.deleteChatMessage(message.id);\n messageDiv.remove();\n });\n copyButton.dataset['target'] = domId;\n flagButton.addEventListener('click', async () => {\n UINotification.show('Flagged message').autoDismiss();\n message.quality = 'flagged';\n await message.save();\n });\n goodButton.addEventListener('click', async () => {\n UINotification.show('Marked message as good').autoDismiss();\n message.quality = 'good';\n await message.save();\n });\n badButton.addEventListener('click', async () => {\n UINotification.show('Marked message as bad').autoDismiss();\n message.quality = 'bad';\n await message.save();\n });\n return { element: messageDiv, textElement: textSpan };\n }\n\n handleChatDeleted(chat) {\n if (chat.id === this.chat?.id) {\n this.chat = null;\n } else {\n this.chat = chat;\n }\n this.render();\n }\n\n async handleModelSelected(selected) {\n const chat = await AppController.getCurrentChat();\n this.modelName.textContent = selected;\n AppController.updateChat(chat, { model: selected });\n }\n\n handleChatSelected(chat) {\n this.chat = chat;\n this.render();\n }\n\n handleEditChat() {\n this.chatTitle.focus();\n event.stopPropagation();\n }\n\n async handleDeleteChat() {\n const chat = await AppController.getCurrentChat();\n if (chat) {\n await AppController.deleteChat(chat);\n }\n }\n\n scrollToTop() {\n this.chatHistory.scrollTop = 0;\n }\n\n scrollToEnd() {\n this.chatHistory.scrollTop = this.chatHistory.scrollHeight;\n }\n}\n","import { Event } from './Event.js';\n\nexport class AtSymbolListener {\n constructor(input, target, onSelected) {\n if (!target) {\n throw Error('No target element specified');\n }\n this.active = false;\n this.onSelected = onSelected;\n this.input = input;\n this.target = target;\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.input.addEventListener('input', () => this.handleInput());\n this.input.addEventListener('keydown', (e) => this.handleKeydown(e));\n Event.listen('select', this.handleSelected.bind(this), this.ul);\n }\n\n handleInput() {\n const text = this.getText();\n const lastChar = text[text.length - 1];\n\n // Handle show and hide using special characters\n if (lastChar === '@') {\n this.showTarget();\n }\n\n // Handle search if active\n if (this.active) {\n const searchTerm = this.getSearchTerm();\n if (!this.target.filter(searchTerm)) {\n // TODO: Show ”No matches” instead of hiding\n this.hideTarget();\n }\n }\n }\n\n getText() {\n return this.input.value.trim();\n }\n\n getSearchTerm() {\n const text = this.getText();\n const lastAtPos = text.lastIndexOf('@');\n const query = lastAtPos !== -1 ? text.substring(lastAtPos + 1) : null;\n return query;\n }\n\n handleKeydown(event) {\n const key = event.key;\n\n // Select first item on tab\n if (event.which == 9 && this.active) {\n this.target.selectFirst();\n event.preventDefault();\n } else if (key === ' ' || key === 'Enter' || key === 'Escape') {\n this.hideTarget();\n }\n }\n\n handleSelected(selected) {\n if (selected === null || selected === undefined) {\n return;\n }\n if (!this.active) {\n return;\n }\n const text = this.getText();\n const lastAtPos = text.lastIndexOf('@');\n if (lastAtPos !== -1) {\n this.input.value = text.substring(0, lastAtPos + 1) + selected;\n this.input.focus();\n this.input.setSelectionRange(\n this.input.value.length,\n this.input.value.length,\n );\n this.onSelected(selected);\n this.hideTarget();\n }\n }\n\n showTarget() {\n this.active = true;\n this.target.element.classList.add('active');\n this.target.show();\n }\n\n hideTarget() {\n this.active = false;\n this.target.element.classList.remove('active');\n this.target.hide();\n }\n}\n","export class ExportChat {\n static exportChat(chat, filename) {\n // Get the contents of the element\n const content = chat.jsonify();\n\n // Create a Blob with the content\n const blob = new Blob([content], { type: 'application/json' });\n\n // Create an anchor element and set the href to the blob\n const a = document.createElement('a');\n a.href = URL.createObjectURL(blob);\n a.download = filename;\n\n // Append the anchor to the document, trigger a click, and then remove it\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n\n // Revoke the blob URL\n URL.revokeObjectURL(a.href);\n }\n}\n","export class Hoverable {\n constructor(element) {\n this.element = element;\n element.hoverable = this;\n this.bindEventListeners();\n }\n\n bindEventListeners() {\n this.element.addEventListener('mouseover', () => this.onMouseover());\n this.element.addEventListener('mouseout', () => this.onMouseout());\n }\n\n onMouseover() {\n this.element.classList.add('hover');\n }\n\n onMouseout() {\n this.element.classList.remove('hover');\n }\n}\n","import { Event } from './Event.js';\nimport { AppController } from './AppController.js';\n\nexport class ChatTitle {\n constructor() {\n this.defaultTitle = 'Untitled';\n this.element = document.getElementById('chat-title');\n this.bindEventListeners();\n this.render();\n }\n\n render() {\n AppController.getCurrentChat().then((chat) => {\n this.chat = chat;\n this.setTitle(chat?.title);\n });\n }\n\n setTitle(title) {\n this.element.textContent = title || this.defaultTitle;\n }\n\n focus() {\n const hasFocus = document.activeElement === this.element;\n if (!hasFocus) {\n this.element.focus();\n }\n }\n\n bindEventListeners() {\n Event.listen('chatDeleted', this.handleChatDeleted.bind(this));\n Event.listen('chatSelected', this.handleChatSelected.bind(this));\n this.element.addEventListener('blur', this.handleSave.bind(this));\n this.element.addEventListener('keypress', (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.element.blur();\n }\n });\n }\n\n handleChatSelected(chat) {\n this.chat = chat;\n this.setTitle(chat.title);\n }\n\n handleChatDeleted(chat) {\n if (chat.id === this.chat.id) {\n this.setTitle(this.defaultTitle);\n }\n }\n\n async handleSave() {\n let title = this.element.textContent.trim();\n if (title.length === 0) {\n title = this.defaultTitle;\n this.element.classList.add('error');\n } else {\n this.element.classList.remove('error');\n }\n const chat = await AppController.getCurrentChat();\n if (chat) {\n await AppController.updateChat(chat, { title });\n } else {\n await AppController.createChat({ title });\n }\n }\n}\n","// TODO: Move code here from App.js and ChatArea.js\nexport class ChatForm {\n constructor() {\n this.chatHistory = document.getElementById('chat-history');\n this.messageInput = document.getElementById('message-input');\n this.sendButton = document.getElementById('send-button');\n this.abortButton = document.getElementById('abort-button');\n }\n}\n"],"names":[],"version":3,"file":"index.4de9b498.js.map","sourceRoot":"/__parcel_source_root/"} \ No newline at end of file diff --git a/dist/index.7388f1a7.css b/dist/index.7388f1a7.css index 4effa01..ed5c391 100644 --- a/dist/index.7388f1a7.css +++ b/dist/index.7388f1a7.css @@ -636,23 +636,6 @@ button { } } -@keyframes pulse { - 0% { - opacity: 1; - transform: scale(1); - } - - 50% { - opacity: .7; - transform: scale(1.3); - } - - 100% { - opacity: .8; - transform: scale(.9); - } -} - @keyframes pulse { 0%, 100% { opacity: 1; @@ -900,7 +883,6 @@ ul li { } .chat-list-item .chat-title { - -webkit-mask-image: linear-gradient(90deg, var(--white) 95%, transparent); mask-image: linear-gradient(90deg, var(--white) 95%, transparent); } @@ -1038,5 +1020,4 @@ ul li { top: calc(50% - 10px); left: -20px; } - /*# sourceMappingURL=index.7388f1a7.css.map */ diff --git a/dist/index.7388f1a7.css.map b/dist/index.7388f1a7.css.map index f3fa508..4890f2e 100644 --- a/dist/index.7388f1a7.css.map +++ b/dist/index.7388f1a7.css.map @@ -1 +1 @@ -{"mappings":"ACAA;;;;;;;;;AAyFA;;;;AAcA;;;;AAIA;;;;AAKA;;;;AAKA;;;;;AAQA;;;;;AAKA;;;;AAKA;;;;;;AAMA;;;;AC1IA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA;EACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBF;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAQA;;;;AC/BA;;;;;;;AAOA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;ACtBA;;;;;AAMA;;;;;;AAYA;;;;AAIA;;;;AAIA;;;;AC3BA;;;;AAIA;;;;;;;AAOA;;;;;;AAMA;;;;;;;;;;;AAWA;;;;;AAMA;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAME;;;;;AAKA;;;;;AAOF;EAEI;;;;;;AClKJ;;;;;;;;;;;;;;AAcA;;;;;;;AAME;;;;;;;;AAQA;;;;;AAKA;;;;AAOF;;;;;;;;AAWA;;;;AAIA;;;;;ACvDA;;;;;AAOA;;;;;AAKA;;;;;;;AAQA;;;;AAKA;;;;;;AAUA;;;;AAKA;;;;ACvCA;;;;;;AAKE;;;;;;;;;;;AAUE;;;;;AAKA;;;;;AAYF;;;;AAmBE;;;;AAKF;;;;ACzDF;;;;;;;AAOA;;;;AAGE;;;;AAIA;;;;AAKF;;;;AASA;;;;AAIA;;;;AAUA;;;;AAGE;;;;;AAMF;;;;AClDA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAKE;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAKF;;;;AAIA;;;;AC/BA;;;;;;;;;AASA;;;;;;;;;;AAkBA;;;;;;;;;;;;;;;;;AA2BA;;;;;;;;;;;;AAaA;;;;;;;;;;;;;;;;;;AClEA;;;;;;;;;AAeA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AC/BI;;;;AAMJ;;;;AAIA;;;;AAKA;;;;;AAIE;;;;;AAMF;;;;;;AAIE;;;;;AC/BF;EACE;;;;;AAKF;EACE;;;;;ACPF;;;;;AAME;;;;;ACNF;;;;;AAKA;;;;;;;;AAYA;;;;AChBA;;;;;;ACDA;;;;;AAQE;;;;AAKF;;;;;;;AAWA;;;;;;;;ACvBA;;;;;;;;;;AAcA;;;;;AAKE;;;;;;;AAYA;;;;AAMF;;;;AAGE;;;;AAKF;;;;;;;AC9CA;;;;;;;AAQE;;;;;;;AAOA;;;;;;AAMA;;;;AAIA;;;;;;AAMA;;;;AAKF;;;;;ACpCA;;;;AAGE;;;;;AASA;;;;AAKF;;;;;;AASA;;;;AC1BA;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;AASE;;;;AAIA;;;;;;AAOF;;;;AAIA;;;;;ACxBA;;;;AAIA;;;;;;;;;;;AASE;;;;AAQA;;;;AAKF;;;;;AAME;;;;;AChCF;;;;;;;;;;;;;AAeE;;;;;;AAOF;;;;ACtBA;;;;;;;;;;AAUA","sources":["css/theme.scss","css/reset.scss","css/colors.scss","css/placeholders.scss","css/grid.scss","css/typography.scss","css/icons.scss","css/modal.scss","css/form.scss","css/list.scss","css/button.scss","css/utils.scss","css/spinner.scss","css/style.scss","css/animations.scss","css/responsive.scss","css/Hoverable.scss","css/Tabs.scss","css/ChatApp.scss","css/ChatHeader.scss","css/ChatHistory.scss","css/ChatForm.scss","css/ChatList.scss","css/ChatArea.scss","css/ChatTitle.scss","css/Sidebar.scss","css/DropDownMenu.scss","css/UINotification.scss","css/SpeechBubble.scss"],"sourcesContent":["@import 'reset';\n@import 'colors';\n@import 'variables';\n@import 'placeholders';\n@import 'grid';\n@import 'typography';\n@import 'icons';\n@import 'modal';\n@import 'form';\n@import 'list';\n@import 'button';\n@import 'utils';\n@import 'spinner';\n@import 'style';\n@import 'animations';\n@import 'responsive';\n\n// Components\n@import 'Hoverable';\n@import 'Tabs';\n@import 'ChatApp';\n@import 'ChatHeader';\n@import 'ChatHistory';\n@import 'ChatForm';\n@import 'ChatList';\n@import 'ChatArea';\n@import 'ChatTitle';\n@import 'Sidebar';\n@import 'DropDownMenu';\n@import 'UINotification';\n@import 'SpeechBubble';\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"version":3,"file":"index.7388f1a7.css.map","sourceRoot":"/__parcel_source_root/"} \ No newline at end of file +{"mappings":"AAAA;;;;;;;;;AAyFA;;;;AAcA;;;;AAIA;;;;AAKA;;;;AAKA;;;;;AAQA;;;;;AAKA;;;;AAKA;;;;;;AAMA;;;;AC1IA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA;EACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBF;;;;;AAKA;;;;;AAKA;;;;AAIA;;;;AAQA;;;;AC/BA;;;;;;;AAOA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;ACtBA;;;;;AAMA;;;;;;AAYA;;;;AAIA;;;;AAIA;;;;AC3BA;;;;AAIA;;;;;;;AAOA;;;;;;AAMA;;;;;;;;;;;AAWA;;;;;AAMA;;;;;AAMA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAME;;;;;AAKA;;;;;AAOF;EAEI;;;;;;AClKJ;;;;;;;;;;;;;;AAcA;;;;;;;AAME;;;;;;;;AAQA;;;;;AAKA;;;;AAOF;;;;;;;;AAWA;;;;AAIA;;;;;ACvDA;;;;;AAOA;;;;;AAKA;;;;;;;AAQA;;;;AAKA;;;;;;AAUA;;;;AAKA;;;;ACvCA;;;;;;AAKE;;;;;;;;;;;AAUE;;;;;AAKA;;;;;AAYF;;;;AAmBE;;;;AAKF;;;;ACzDF;;;;;;;AAOA;;;;AAGE;;;;AAIA;;;;AAKF;;;;AASA;;;;AAIA;;;;AAUA;;;;AAGE;;;;;AAMF;;;;AClDA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAKE;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAJA;;;;AAIA;;;;AAKF;;;;AAIA;;;;AC/BA;;;;;;;;;AASA;;;;;;;;;;AA6CA;;;;;;;;;;;;AAaA;;;;;;;;;;;;;;;;;;AClEA;;;;;;;;;AAeA;;;;;AAKA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AC/BI;;;;AAMJ;;;;AAIA;;;;AAKA;;;;;AAIE;;;;;AAMF;;;;;;AAIE;;;;;AC/BF;EACE;;;;;AAKF;EACE;;;;;ACPF;;;;;AAME;;;;;ACNF;;;;;AAKA;;;;;;;;AAYA;;;;AChBA;;;;;;ACDA;;;;;AAQE;;;;AAKF;;;;;;;AAWA;;;;;;;;ACvBA;;;;;;;;;;AAcA;;;;;AAKE;;;;;;;AAYA;;;;AAMF;;;;AAGE;;;;AAKF;;;;;;;AC9CA;;;;;;;AAQE;;;;;;;AAOA;;;;;;AAMA;;;;AAIA;;;;;;AAMA;;;;AAKF;;;;;ACpCA;;;;AAGE;;;;AASA;;;;AAKF;;;;;;AASA;;;;AC1BA;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;AASE;;;;AAIA;;;;;;AAOF;;;;AAIA;;;;;ACxBA;;;;AAIA;;;;;;;;;;;AASE;;;;AAQA;;;;AAKF;;;;;AAME;;;;;AChCF;;;;;;;;;;;;;AAeE;;;;;;AAOF;;;;ACtBA;;;;;;;;;;AAUA","sources":["css/reset.scss","css/colors.scss","css/placeholders.scss","css/grid.scss","css/typography.scss","css/icons.scss","css/modal.scss","css/form.scss","css/list.scss","css/button.scss","css/utils.scss","css/spinner.scss","css/style.scss","css/animations.scss","css/responsive.scss","css/Hoverable.scss","css/Tabs.scss","css/ChatApp.scss","css/ChatHeader.scss","css/ChatHistory.scss","css/ChatForm.scss","css/ChatList.scss","css/ChatArea.scss","css/ChatTitle.scss","css/Sidebar.scss","css/DropDownMenu.scss","css/UINotification.scss","css/SpeechBubble.scss"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"version":3,"file":"index.7388f1a7.css.map","sourceRoot":"/__parcel_source_root/"} \ No newline at end of file diff --git a/package.json b/package.json index deb3d42..0b11837 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "eslint-plugin-import": "^2.29", "eslint-plugin-n": "^16.6", "eslint-plugin-promise": "^6.1", - "parcel": "^2.11.0", + "parcel": "^2.12.0", "playwright": "^1.40.1", "postcss": "^8.4.32", "prettier": "^3.2.4", diff --git a/yarn.lock b/yarn.lock index 6667cd9..bc8fb4b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,68 +2,69 @@ # yarn lockfile v1 -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - "@babel/code-frame@^7.0.0": - version "7.23.5" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + version "7.24.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" + integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" + "@babel/highlight" "^7.24.2" + picocolors "^1.0.0" -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" + integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== +"@babel/highlight@^7.24.2": + version "7.24.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" + integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== dependencies: - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-validator-identifier" "^7.24.5" chalk "^2.4.2" js-tokens "^4.0.0" + picocolors "^1.0.0" -"@csstools/css-parser-algorithms@^2.5.0": - version "2.5.0" - resolved "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.5.0.tgz" - integrity sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ== +"@csstools/css-parser-algorithms@^2.6.1": + version "2.6.3" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.6.3.tgz#b5e7eb2bd2a42e968ef61484f1490a8a4148a8eb" + integrity sha512-xI/tL2zxzEbESvnSxwFgwvy5HS00oCXxL4MLs6HUiDcYfwowsoQaABKxUElp1ARITrINzBnsECOc1q0eg2GOrA== -"@csstools/css-tokenizer@^2.2.3": - version "2.2.3" - resolved "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.3.tgz" - integrity sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg== +"@csstools/css-tokenizer@^2.2.4": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-2.3.1.tgz#3d47e101ad48d815a4bdce8159fb5764f087f17a" + integrity sha512-iMNHTyxLbBlWIfGtabT157LH9DUx9X8+Y3oymFEuMj8HNc+rpE3dPFGFgHjpKfjeFDjLjYIAIhXPGvS2lKxL9g== -"@csstools/media-query-list-parser@^2.1.7": - version "2.1.7" - resolved "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.7.tgz" - integrity sha512-lHPKJDkPUECsyAvD60joYfDmp8UERYxHGkFfyLJFTVK/ERJe0sVlIFLXU5XFxdjNDTerp5L4KeaKG+Z5S94qxQ== +"@csstools/media-query-list-parser@^2.1.9": + version "2.1.11" + resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.11.tgz#465aa42f268599729350e305e1ae14a30c1daf51" + integrity sha512-uox5MVhvNHqitPP+SynrB1o8oPxPMt2JLgp5ghJOWf54WGQ5OKu47efne49r1SWqs3wRP8xSWjnO9MBKxhB1dA== -"@csstools/selector-specificity@^3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.1.tgz" - integrity sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww== +"@csstools/selector-specificity@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz#208a3929ee614967a1fc8cd6cb758d9fcbf0caae" + integrity sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q== + +"@dual-bundle/import-meta-resolve@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz#df79b7ea62c55094dc129880387864cdf41eca7c" + integrity sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw== "@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.6.0", "@eslint-community/regexpp@^4.6.1": version "4.10.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== "@eslint/eslintrc@^2.1.4": version "2.1.4" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" @@ -76,14 +77,14 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.56.0": - version "8.56.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz" - integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== -"@humanwhocodes/config-array@^0.11.13": +"@humanwhocodes/config-array@^0.11.14": version "0.11.14" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== dependencies: "@humanwhocodes/object-schema" "^2.0.2" @@ -92,41 +93,29 @@ "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== "@lezer/common@^1.0.0": version "1.2.1" - resolved "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.2.1.tgz#198b278b7869668e1bebbe687586e12a42731049" integrity sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ== "@lezer/lr@^1.0.0": version "1.4.0" - resolved "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.0.tgz#ed52a75dbbfbb0d1eb63710ea84c35ee647cb67e" integrity sha512-Wst46p51km8gH0ZUmeNrtpRYmdlRHUpN1DQd3GFAyKANi8WVz8c2jHYTf1CVScFaCjQw1iO3ZZdqGDxQPRErTg== dependencies: "@lezer/common" "^1.0.0" "@lmdb/lmdb-darwin-arm64@2.8.5": version "2.8.5" - resolved "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz#895d8cb16a9d709ce5fedd8b60022903b875e08e" integrity sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw== "@lmdb/lmdb-darwin-x64@2.8.5": @@ -156,7 +145,7 @@ "@mischnic/json-sourcemap@^0.1.0": version "0.1.1" - resolved "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz#0ef9b015a8f575dd9a8720d9a6b4dbc988425906" integrity sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w== dependencies: "@lezer/common" "^1.0.0" @@ -165,7 +154,7 @@ "@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2": version "3.0.2" - resolved "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz#44d752c1a2dc113f15f781b7cc4f53a307e3fa38" integrity sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ== "@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2": @@ -195,7 +184,7 @@ "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -203,124 +192,124 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@parcel/bundler-default@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.11.0.tgz" - integrity sha512-ZIs0865Lp871ZK83k5I9L4DeeE26muNMrHa7j8bvls6fKBJKAn8djrhfU4XOLyziU4aAOobcPwXU0+npWqs52g== +"@parcel/bundler-default@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.12.0.tgz#b8f6f3fc3f497714bd54e19882aaa116e97df4a4" + integrity sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/graph" "3.1.0" - "@parcel/plugin" "2.11.0" - "@parcel/rust" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/graph" "3.2.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/utils" "2.12.0" nullthrows "^1.1.1" -"@parcel/cache@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/cache/-/cache-2.11.0.tgz" - integrity sha512-RSSkGNjO00lJPyftzaC9eaNVs4jMjPSAm0VJNWQ9JSm2n4A9BzQtTFAt1vhJOzzW1UsQvvBge9DdfkB7a2gIOw== +"@parcel/cache@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.12.0.tgz#b8fd2ea2bc7a2353a9b20344cc191bfb4f8284f3" + integrity sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw== dependencies: - "@parcel/fs" "2.11.0" - "@parcel/logger" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/fs" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/utils" "2.12.0" lmdb "2.8.5" -"@parcel/codeframe@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.11.0.tgz" - integrity sha512-YHs9g/i5af/sd/JrWAojU9YFbKffcJ3Tx2EJaK0ME8OJsye91UaI/3lxSUYLmJG9e4WLNJtqci8V5FBMz//ZPg== +"@parcel/codeframe@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.12.0.tgz#9ea75bd7ae6c5f7fadf42a5e64657cf88fdcb29e" + integrity sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg== dependencies: chalk "^4.1.0" "@parcel/compressor-brotli@^2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/compressor-brotli/-/compressor-brotli-2.11.0.tgz" - integrity sha512-5e8aKADVikIbyB1A11YGk4A/oZ7GSmAwDPN5QquXhIB2WQ9hAz59GBSdu4YIpj4s43+Hpvh1ndm7hRY7XjePmA== + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/compressor-brotli/-/compressor-brotli-2.12.0.tgz#b2a38255ffe3f0cefa4fdb2e8a15402c7e0a48fb" + integrity sha512-6Jf7CNkZYwnt3cIz0j7Ln8yU0Uq9mqPktokFXQVp+s0v7Vs1WXiBOP93LJ18aeQaN0cI1/PLU4PQ3vm2ukchsg== dependencies: - "@parcel/plugin" "2.11.0" + "@parcel/plugin" "2.12.0" "@parcel/compressor-gzip@^2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/compressor-gzip/-/compressor-gzip-2.11.0.tgz" - integrity sha512-Tqn8WtqRnGeIUte7z823PMx7EeTcCjzL3zhHiUObZ418+9bJjskwOMSW2cE1nrzt7fP5Cq/cqlUC731zwD4RoA== - dependencies: - "@parcel/plugin" "2.11.0" - -"@parcel/compressor-raw@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.11.0.tgz" - integrity sha512-RArhBPRTCfz77soX2IECH09NUd76UBWujXiPRcXGPIHK+C3L1cRuzsNcA39QeSb3thz3b99JcozMJ1nkC2Bsgw== - dependencies: - "@parcel/plugin" "2.11.0" - -"@parcel/config-default@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.11.0.tgz" - integrity sha512-1e2+qcZkm5/0f4eI20p/DemcYiSxq9d/eyjpTXA7PulJaHbL1wonwUAuy3mvnAvDnLOJmAk/obDVgX1ZfxMGtg== - dependencies: - "@parcel/bundler-default" "2.11.0" - "@parcel/compressor-raw" "2.11.0" - "@parcel/namer-default" "2.11.0" - "@parcel/optimizer-css" "2.11.0" - "@parcel/optimizer-htmlnano" "2.11.0" - "@parcel/optimizer-image" "2.11.0" - "@parcel/optimizer-svgo" "2.11.0" - "@parcel/optimizer-swc" "2.11.0" - "@parcel/packager-css" "2.11.0" - "@parcel/packager-html" "2.11.0" - "@parcel/packager-js" "2.11.0" - "@parcel/packager-raw" "2.11.0" - "@parcel/packager-svg" "2.11.0" - "@parcel/packager-wasm" "2.11.0" - "@parcel/reporter-dev-server" "2.11.0" - "@parcel/resolver-default" "2.11.0" - "@parcel/runtime-browser-hmr" "2.11.0" - "@parcel/runtime-js" "2.11.0" - "@parcel/runtime-react-refresh" "2.11.0" - "@parcel/runtime-service-worker" "2.11.0" - "@parcel/transformer-babel" "2.11.0" - "@parcel/transformer-css" "2.11.0" - "@parcel/transformer-html" "2.11.0" - "@parcel/transformer-image" "2.11.0" - "@parcel/transformer-js" "2.11.0" - "@parcel/transformer-json" "2.11.0" - "@parcel/transformer-postcss" "2.11.0" - "@parcel/transformer-posthtml" "2.11.0" - "@parcel/transformer-raw" "2.11.0" - "@parcel/transformer-react-refresh-wrap" "2.11.0" - "@parcel/transformer-svg" "2.11.0" - -"@parcel/core@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/core/-/core-2.11.0.tgz" - integrity sha512-Npe0S6hVaqWEwRL+HI7gtOYOaoE5bJQZTgUDhsDoppWbau51jOlRYOZTXuvRK/jxXnze4/S1sdM24xBYAQ5qkw== + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/compressor-gzip/-/compressor-gzip-2.12.0.tgz#92fbd1b17252c1c4a810b6e2425257f432c81469" + integrity sha512-5olysAPy/gq1bCeNAF5eLhF9VIR8Rl2jW0H6+i8AzM4oKeMLhnRoVOPjas7ZrAkPcbKEq9/AnRTYvN54eZgf8g== + dependencies: + "@parcel/plugin" "2.12.0" + +"@parcel/compressor-raw@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.12.0.tgz#71012b695c870f1d26bfd8d56983c14bf13fd996" + integrity sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A== + dependencies: + "@parcel/plugin" "2.12.0" + +"@parcel/config-default@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.12.0.tgz#7b213348db349c6042a80dfd4a7eab707a1dfbfa" + integrity sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg== + dependencies: + "@parcel/bundler-default" "2.12.0" + "@parcel/compressor-raw" "2.12.0" + "@parcel/namer-default" "2.12.0" + "@parcel/optimizer-css" "2.12.0" + "@parcel/optimizer-htmlnano" "2.12.0" + "@parcel/optimizer-image" "2.12.0" + "@parcel/optimizer-svgo" "2.12.0" + "@parcel/optimizer-swc" "2.12.0" + "@parcel/packager-css" "2.12.0" + "@parcel/packager-html" "2.12.0" + "@parcel/packager-js" "2.12.0" + "@parcel/packager-raw" "2.12.0" + "@parcel/packager-svg" "2.12.0" + "@parcel/packager-wasm" "2.12.0" + "@parcel/reporter-dev-server" "2.12.0" + "@parcel/resolver-default" "2.12.0" + "@parcel/runtime-browser-hmr" "2.12.0" + "@parcel/runtime-js" "2.12.0" + "@parcel/runtime-react-refresh" "2.12.0" + "@parcel/runtime-service-worker" "2.12.0" + "@parcel/transformer-babel" "2.12.0" + "@parcel/transformer-css" "2.12.0" + "@parcel/transformer-html" "2.12.0" + "@parcel/transformer-image" "2.12.0" + "@parcel/transformer-js" "2.12.0" + "@parcel/transformer-json" "2.12.0" + "@parcel/transformer-postcss" "2.12.0" + "@parcel/transformer-posthtml" "2.12.0" + "@parcel/transformer-raw" "2.12.0" + "@parcel/transformer-react-refresh-wrap" "2.12.0" + "@parcel/transformer-svg" "2.12.0" + +"@parcel/core@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.12.0.tgz#ea5734f008300bc57aaff2ba0f7949724c93b56d" + integrity sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q== dependencies: "@mischnic/json-sourcemap" "^0.1.0" - "@parcel/cache" "2.11.0" - "@parcel/diagnostic" "2.11.0" - "@parcel/events" "2.11.0" - "@parcel/fs" "2.11.0" - "@parcel/graph" "3.1.0" - "@parcel/logger" "2.11.0" - "@parcel/package-manager" "2.11.0" - "@parcel/plugin" "2.11.0" - "@parcel/profiler" "2.11.0" - "@parcel/rust" "2.11.0" + "@parcel/cache" "2.12.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/events" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/graph" "3.2.0" + "@parcel/logger" "2.12.0" + "@parcel/package-manager" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/profiler" "2.12.0" + "@parcel/rust" "2.12.0" "@parcel/source-map" "^2.1.1" - "@parcel/types" "2.11.0" - "@parcel/utils" "2.11.0" - "@parcel/workers" "2.11.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" abortcontroller-polyfill "^1.1.9" base-x "^3.0.8" browserslist "^4.6.6" @@ -332,352 +321,353 @@ nullthrows "^1.1.1" semver "^7.5.2" -"@parcel/diagnostic@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.11.0.tgz" - integrity sha512-4dJmOXVL5YGGQRRsQosQbSRONBcboB71mSwaeaEgz3pPdq9QXVPLACkGe/jTXSqa3OnAHu3g5vQLpE1g5xqBqw== +"@parcel/diagnostic@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.12.0.tgz#b38057d819ea2edc32018a1d51df434f07840be9" + integrity sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA== dependencies: "@mischnic/json-sourcemap" "^0.1.0" nullthrows "^1.1.1" -"@parcel/events@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/events/-/events-2.11.0.tgz" - integrity sha512-K6SOjOrQsz1GdNl2qKBktq7KJ3Q3yxK8WXdmQYo10wG39dr051xtMb38aqieTp4eVhL8Yaq2iJgGkdr11fuBnA== +"@parcel/events@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.12.0.tgz#ef67e3fbb96806b3531a37bcf95e8fbb3818ffa2" + integrity sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA== -"@parcel/fs@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/fs/-/fs-2.11.0.tgz" - integrity sha512-zWckdnnovdrgdFX4QYuQV4bbKCsh6IYCkmwaB4yp47rhw1MP0lkBINLt4yFPHBxWXOpElCfxjL+z69c9xJQRBQ== +"@parcel/fs@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.12.0.tgz#8c9029353888311ba2e9e2198dbe6c7c1da635c0" + integrity sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q== dependencies: - "@parcel/rust" "2.11.0" - "@parcel/types" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/rust" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" "@parcel/watcher" "^2.0.7" - "@parcel/workers" "2.11.0" + "@parcel/workers" "2.12.0" -"@parcel/graph@3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@parcel/graph/-/graph-3.1.0.tgz" - integrity sha512-d1dTW5C7A52HgDtoXlyvlET1ypSlmIxSIZOJ1xp3R9L9hgo3h1u3jHNyaoTe/WPkGVe2QnFxh0h+UibVJhu9vg== +"@parcel/graph@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-3.2.0.tgz#309e6e3f19ef4ea7f71b2341ec1bcc08e7c43523" + integrity sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA== dependencies: nullthrows "^1.1.1" -"@parcel/logger@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/logger/-/logger-2.11.0.tgz" - integrity sha512-HtMEdCq3LKnvv4T2CIskcqlf2gpBvHMm3pkeUFB/hc/7hW/hE1k6/HA2VOQvc0tBsaMpmEx7PCrfrH56usQSyA== +"@parcel/logger@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.12.0.tgz#0b866b7aee8a0a462596a80cd46bd8b29c318758" + integrity sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/events" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/events" "2.12.0" -"@parcel/markdown-ansi@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.11.0.tgz" - integrity sha512-YA60EWbXi6cLOIzcwRC2wijotPauOGQbUi0vSbu0O6/mjQ68kWCMGz0hwZjDRQcPypQVJEIvTgMymLbvumxwhg== +"@parcel/markdown-ansi@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.12.0.tgz#a4301321fa784a28ba817e65e41432fe8b3b3192" + integrity sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w== dependencies: chalk "^4.1.0" -"@parcel/namer-default@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.11.0.tgz" - integrity sha512-DEwBSKSClg4DA2xAWimYkw9bFi7MFb9TdT7/TYZStMTsfYHPWOyyjGR7aVr3Ra4wNb+XX6g4rR41yp3HD6KO7A== +"@parcel/namer-default@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.12.0.tgz#f9903da8e4c5c3e33fc8ab70b222be520a46da5d" + integrity sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" nullthrows "^1.1.1" -"@parcel/node-resolver-core@3.2.0": - version "3.2.0" - resolved "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.2.0.tgz" - integrity sha512-XJRSxCkNbGFWjfmwFdcQZ/qlzWZd35qLtvLz2va8euGL7M5OMEQOv7dsvEhl0R+CC2zcnfFzZwxk78q6ezs8AQ== +"@parcel/node-resolver-core@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-3.3.0.tgz#f40d80de800baa7cf230406b7122c8711ac4cdc8" + integrity sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA== dependencies: "@mischnic/json-sourcemap" "^0.1.0" - "@parcel/diagnostic" "2.11.0" - "@parcel/fs" "2.11.0" - "@parcel/rust" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/utils" "2.12.0" nullthrows "^1.1.1" semver "^7.5.2" -"@parcel/optimizer-css@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.11.0.tgz" - integrity sha512-bV97PRxshHV3dMwOpLRgcP1QNhrVWh6VVDfm2gmWULpvsjoykcPS6vrCFksY5CpQsSvNHqJBzQjWS8FubUI76w== +"@parcel/optimizer-css@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-css/-/optimizer-css-2.12.0.tgz#f44f38dc7136b511a849343eea04714a42e1ba5f" + integrity sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.11.0" + "@parcel/utils" "2.12.0" browserslist "^4.6.6" lightningcss "^1.22.1" nullthrows "^1.1.1" -"@parcel/optimizer-htmlnano@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.11.0.tgz" - integrity sha512-c20pz4EFF5DNFmqYgptlIj49eT6xjGLkDTdHH3RRzxKovuSXWfYSPs3GED3ZsjVuQyjNQif+/MAk9547F7hrdQ== +"@parcel/optimizer-htmlnano@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.12.0.tgz#e389d56d3f5cd2f6dd464a756a0704a65e527a9b" + integrity sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ== dependencies: - "@parcel/plugin" "2.11.0" + "@parcel/plugin" "2.12.0" htmlnano "^2.0.0" nullthrows "^1.1.1" posthtml "^0.16.5" svgo "^2.4.0" -"@parcel/optimizer-image@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.11.0.tgz" - integrity sha512-jCaJww5QFG2GuNzYW8nlSW+Ea+Cv47TRnOPJNquFIajgfTLJ5ddsWbaNal0GQsL8yNiCBKWd1AV4W0RH9tG0Jg== - dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" - "@parcel/rust" "2.11.0" - "@parcel/utils" "2.11.0" - "@parcel/workers" "2.11.0" - -"@parcel/optimizer-svgo@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.11.0.tgz" - integrity sha512-TQpvfBhjV2IsuFHXUolbDS6XWB3DDR2rYTlqlA8LMmuOY7jQd9Bnkl4JnapzWm/bRuzRlzdGjjVCPGL8iShFvA== - dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" +"@parcel/optimizer-image@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-image/-/optimizer-image-2.12.0.tgz#46dd3c2a871700076c17376d27f6d46d030a0717" + integrity sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" + +"@parcel/optimizer-svgo@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-svgo/-/optimizer-svgo-2.12.0.tgz#f1e411cbc3a3c56e05aa5fb2e1edd1ecc7016378" + integrity sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" svgo "^2.4.0" -"@parcel/optimizer-swc@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.11.0.tgz" - integrity sha512-ftf42F3JyZxJb6nnLlgNGyNQ273YOla4dFGH/tWC8iTwObHUpWe7cMbCGcrSJBvAlsLkZfLpFNAXFxUgxdKyHQ== +"@parcel/optimizer-swc@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-swc/-/optimizer-swc-2.12.0.tgz#bacbdb4f6f4a7e0b7086f30b683e3f3f2f980c96" + integrity sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.11.0" + "@parcel/utils" "2.12.0" "@swc/core" "^1.3.36" nullthrows "^1.1.1" -"@parcel/package-manager@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.11.0.tgz" - integrity sha512-QzdsrUYlAwIzb8by7WJjqYnbR1MoMKWbtE1MXUeYsZbFusV8B6pOH+lwqNJKS/BFtddZMRPYFueZS2N2fwzjig== - dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/fs" "2.11.0" - "@parcel/logger" "2.11.0" - "@parcel/node-resolver-core" "3.2.0" - "@parcel/types" "2.11.0" - "@parcel/utils" "2.11.0" - "@parcel/workers" "2.11.0" +"@parcel/package-manager@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.12.0.tgz#7e1eb5f652544e045f7240fa6cf92e5ff1627624" + integrity sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/node-resolver-core" "3.3.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" + "@swc/core" "^1.3.36" semver "^7.5.2" -"@parcel/packager-css@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.11.0.tgz" - integrity sha512-AyIxsp4eL8c22vp2oO2hSRnr3hSVNkARNZc9DG6uXxCc2Is5tUEX0I4PwxWnAx0EI44l+3zX/o414zT8yV9wwQ== +"@parcel/packager-css@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/packager-css/-/packager-css-2.12.0.tgz#bee2908608f306186695c6505c3303548751a7b8" + integrity sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.11.0" + "@parcel/utils" "2.12.0" + lightningcss "^1.22.1" nullthrows "^1.1.1" -"@parcel/packager-html@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.11.0.tgz" - integrity sha512-ho5AQ70naTV8IqkKIbKtK+jsXQ5TJfFgtBvmJlyB3YydRMbIc+3g4G0xgIvf15V4uCMw9Md0Sv1W65nQXHPQoA== +"@parcel/packager-html@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/packager-html/-/packager-html-2.12.0.tgz#dd62a483043982880a63e68ce8d8132f60becd3d" + integrity sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/types" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" nullthrows "^1.1.1" posthtml "^0.16.5" -"@parcel/packager-js@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.11.0.tgz" - integrity sha512-SxjCsd0xQfg5H73YtVJj9VOpr9s0rwMsSoeykjkatbkEla9NsZajsUkd/bfYf+/0WvEKOrB8oUBo15HkGOgKug== +"@parcel/packager-js@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.12.0.tgz#f81f64d16560b97e70bbb4cf568555f990afa2f6" + integrity sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" - "@parcel/rust" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" "@parcel/source-map" "^2.1.1" - "@parcel/types" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" globals "^13.2.0" nullthrows "^1.1.1" -"@parcel/packager-raw@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.11.0.tgz" - integrity sha512-2/0JQ8DZrz7cVNXwD6OYoUUtSSnlr4dsz8ZkpFDKsBJhvMHtC78Sq+1EDixDGOMiUcalSEjNsoHtkpq9uNh+Xw== +"@parcel/packager-raw@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.12.0.tgz#043b704814ff2bcc884cf33e6542f72e246367e0" + integrity sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA== dependencies: - "@parcel/plugin" "2.11.0" + "@parcel/plugin" "2.12.0" -"@parcel/packager-svg@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.11.0.tgz" - integrity sha512-2wQBkzLwcaWFGWz8TP+bgsXgiueWPzrjKsWugWdDfq0FbXh8XVeR/599qnus3RFHZy4cH6L6yq/7zxcljtxK8A== +"@parcel/packager-svg@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/packager-svg/-/packager-svg-2.12.0.tgz#2c392243373d60fc834a08d15003f239c34f39a7" + integrity sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/types" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" posthtml "^0.16.4" -"@parcel/packager-wasm@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.11.0.tgz" - integrity sha512-tTy4EbDXeeiZ0oB7L2FWaHSD1mbmYZP6R5HXqkvc5dECGUKPU5Jz6ek2C5AM+HfQdQLKXPQ/Xw3eJnI/AmctVg== +"@parcel/packager-wasm@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/packager-wasm/-/packager-wasm-2.12.0.tgz#39dbd91e7bf68456dbc9d19a412017e2b513736f" + integrity sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A== dependencies: - "@parcel/plugin" "2.11.0" + "@parcel/plugin" "2.12.0" -"@parcel/plugin@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.11.0.tgz" - integrity sha512-9npuKBlhnPn7oeUpLJGecceg16GkXbvzbr6MNSZiHhkx3IBeITHQXlZnp2zAjUOFreNsYOfifwEF2S4KsARfBQ== +"@parcel/plugin@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.12.0.tgz#3db4237e8977ef5b5378b65eaffb809d2026431a" + integrity sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g== dependencies: - "@parcel/types" "2.11.0" + "@parcel/types" "2.12.0" -"@parcel/profiler@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.11.0.tgz" - integrity sha512-s10SS09prOdwnaAcjK8M5zO8o+zPJJW5oOqXPNdf6KH4NGD/ue7iOk2xM8QLw6ulSwxE7NDt++lyfW3AXgCZwg== +"@parcel/profiler@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/profiler/-/profiler-2.12.0.tgz#8541ca5d27500aebc843b1de081734442e5ee054" + integrity sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/events" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/events" "2.12.0" chrome-trace-event "^1.0.2" "@parcel/reporter-bundle-analyzer@^2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/reporter-bundle-analyzer/-/reporter-bundle-analyzer-2.11.0.tgz" - integrity sha512-Cqob9LbXTDmkw1hZZIMiHSJYTBBfz+DsD2m/arrBGgW20L9xJ9yZGP/+myPeoznuOBwkpST6KuU4o+zdV7JCGQ== + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/reporter-bundle-analyzer/-/reporter-bundle-analyzer-2.12.0.tgz#7fc6db7eb085af702ffb61f0af829f59c3f1dea5" + integrity sha512-lj5ayqpo7lzvc1jZWDKiqzzFakhfF8a6U59cxmCGXn4sU6qEDbJcGUqox4vemiBWb1cr0/b4MpfnIs9aUl5UDA== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" nullthrows "^1.1.1" -"@parcel/reporter-cli@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.11.0.tgz" - integrity sha512-hY0iO0f+LifgJHDUIjGQJnxLFSkk2jlbfy+kIaft5oI3/IM+UljecfGO+14XH8mYlqRXXPsT09TJe8ZKQzp4ZQ== +"@parcel/reporter-cli@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/reporter-cli/-/reporter-cli-2.12.0.tgz#e067b4eeca49c7120d3455d99810bed5bc825920" + integrity sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/types" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" chalk "^4.1.0" - cli-progress "^3.12.0" term-size "^2.2.1" -"@parcel/reporter-dev-server@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.11.0.tgz" - integrity sha512-T4ue1+oLFNdcd9maw8QWQuxzOS2kX2jOrSvYKwYd9oGnqiAr1rpiHYYKJhHng+PF5ybwWkj8dUJfGh2NoQysJA== +"@parcel/reporter-dev-server@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.12.0.tgz#bd4c9e3d6dc8d8b178564a336f46b4f70acf3e79" + integrity sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" -"@parcel/reporter-tracer@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.11.0.tgz" - integrity sha512-33q4ftO26OPWHkUpEm0bzzSjW2kHEh6q/JFePwf8W6APTQVruj4mV46+Fh6rxX42ixs92K/QoiE0gYgWZQVDHA== +"@parcel/reporter-tracer@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/reporter-tracer/-/reporter-tracer-2.12.0.tgz#680e8be677277318c656c1825dbe98a8bfb64e16" + integrity sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" chrome-trace-event "^1.0.3" nullthrows "^1.1.1" -"@parcel/resolver-default@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.11.0.tgz" - integrity sha512-suZNN2lE5W48LPTwAbG7gnj1IeubkCVEm0XspWXcXUtCzglimNJ8PVVBGx171o5CqDpdbGF3AqHjG9N3uOwXag== +"@parcel/resolver-default@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.12.0.tgz#005b6bc01de9d166a97d7ef30daf339973c4898a" + integrity sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA== dependencies: - "@parcel/node-resolver-core" "3.2.0" - "@parcel/plugin" "2.11.0" + "@parcel/node-resolver-core" "3.3.0" + "@parcel/plugin" "2.12.0" -"@parcel/runtime-browser-hmr@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.11.0.tgz" - integrity sha512-uVwNBtoLMrlPHLvRS05BVhLseduMOpZT36yiIjS0YSBJcC6/otI9AY7ZiDPYmrB5xTqM0R+D554JhPaJHCuocw== +"@parcel/runtime-browser-hmr@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.12.0.tgz#9d045785b83760e305c9efd3d6300a9ff73bcfaf" + integrity sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" -"@parcel/runtime-js@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.11.0.tgz" - integrity sha512-fH3nJoexINz7s4cDzp0Vjsx0k1pMYSa5ch38LbbNqCKTermy0pS0zZuvgfLfHFFP+AMRpFQenrF7h7N3bgDmHw== +"@parcel/runtime-js@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.12.0.tgz#da6f7da041cb157556822ad60fefcdbc790dda9c" + integrity sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" nullthrows "^1.1.1" -"@parcel/runtime-react-refresh@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.11.0.tgz" - integrity sha512-Kfnc7gLjhoephLMnjABrkIkzVfzPrpJlxiJFIleY2Fm57YhmCfKsEYxm3lHOutNaYl1VArW0LKClPH/VHG9vfQ== +"@parcel/runtime-react-refresh@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.12.0.tgz#58c17552766492ec2005ffedfa04ecb29386dd8b" + integrity sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" react-error-overlay "6.0.9" react-refresh "^0.9.0" -"@parcel/runtime-service-worker@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.11.0.tgz" - integrity sha512-c8MaSpSbXIKuN5sA/g4UsrsH1BtBZ6Em+eSxt9AYbdPtWrW+qwCioNVZj9lugBRUzDMjVfJz0yK59nS42hABvw== +"@parcel/runtime-service-worker@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/runtime-service-worker/-/runtime-service-worker-2.12.0.tgz#67ee1e6dbc5441651fed04ecb2bd7ebe1e362679" + integrity sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" nullthrows "^1.1.1" -"@parcel/rust@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/rust/-/rust-2.11.0.tgz" - integrity sha512-UkLWdHOD8Md2YmJDPsqd3yIs9chhdl/ATfV/B/xdPKGmqtNouYpDCRlq+WxMt3mLoYgHEg9UwrWLTebo2rr2iQ== +"@parcel/rust@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/rust/-/rust-2.12.0.tgz#135df4dd8c63d97720379777c5bb4a2680a201cd" + integrity sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw== "@parcel/source-map@^2.1.1": version "2.1.1" - resolved "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.1.1.tgz#fb193b82dba6dd62cc7a76b326f57bb35000a782" integrity sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew== dependencies: detect-libc "^1.0.3" -"@parcel/transformer-babel@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.11.0.tgz" - integrity sha512-WKGblnp7r426VG+cpeQzc6dj/30EoUaYwyl4OEaigQSJizyuPWTBWTz6FUw+ih1/sg37h+D1BIh9C2FsVzpzbw== +"@parcel/transformer-babel@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-babel/-/transformer-babel-2.12.0.tgz#29be68f2fad4688b33ef3f03ef2b8c3e9928b87f" + integrity sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.11.0" + "@parcel/utils" "2.12.0" browserslist "^4.6.6" json5 "^2.2.0" nullthrows "^1.1.1" semver "^7.5.2" -"@parcel/transformer-css@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.11.0.tgz" - integrity sha512-nFmBulF/ErNoafO87JbVrBavjBMNwE/kahbCRVxc2Mvlphz4F4lBW4eDRS5l4xBqFJaNkHr9R55ehLBBilF4Jw== +"@parcel/transformer-css@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-css/-/transformer-css-2.12.0.tgz#218a98948c9410c17287183d80ca9bd9943cc9e9" + integrity sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.11.0" + "@parcel/utils" "2.12.0" browserslist "^4.6.6" lightningcss "^1.22.1" nullthrows "^1.1.1" -"@parcel/transformer-html@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.11.0.tgz" - integrity sha512-90vp7mbvvfqPr9XIINpMcELtywj56f1bxfOkLQgWU1bm22H0FT3i5dqdac++2My0IGDvMwhAEjQfbn4pA579NQ== +"@parcel/transformer-html@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-html/-/transformer-html-2.12.0.tgz#8681b089e2b20c5fda1c966cefb8de4d8fb2ce80" + integrity sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" - "@parcel/rust" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" @@ -685,353 +675,350 @@ semver "^7.5.2" srcset "4" -"@parcel/transformer-image@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.11.0.tgz" - integrity sha512-QiZj18UHf3lVFsi65Vz8YbS3ydx9Pe9x8ktMxE1oh9qpznN8lD7gE/Z9DxuTZB84EZ9pKytKwcv5WGXP25xIFg== +"@parcel/transformer-image@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-image/-/transformer-image-2.12.0.tgz#8ba2ca3b5d88287bf38c8244b2714158c9d34b2e" + integrity sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" - "@parcel/workers" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" nullthrows "^1.1.1" -"@parcel/transformer-js@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.11.0.tgz" - integrity sha512-G1sv0n8/fJqHqwUs0iVnVdmRY0Kh8kWaDkuWcU/GJBHMGhUnLXKdNwxX2Av9UdBL14bU1nTINfr9qOfnQotXWg== +"@parcel/transformer-js@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.12.0.tgz#e6bf0c312f78603faf98ce546086898506e3811f" + integrity sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" - "@parcel/rust" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.11.0" - "@parcel/workers" "2.11.0" + "@parcel/utils" "2.12.0" + "@parcel/workers" "2.12.0" "@swc/helpers" "^0.5.0" browserslist "^4.6.6" nullthrows "^1.1.1" regenerator-runtime "^0.13.7" semver "^7.5.2" -"@parcel/transformer-json@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.11.0.tgz" - integrity sha512-Wt/wgSBaRWmPL4gpvjkV0bCBRxFOtsuLNzsm8vYA5poxTFhuLY+AoyQ8S2+xXU4VxwBfdppfIr2Ny3SwGs8xbQ== +"@parcel/transformer-json@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.12.0.tgz#16cc0454e4862350b605a5e2009d050c676c6ea5" + integrity sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ== dependencies: - "@parcel/plugin" "2.11.0" + "@parcel/plugin" "2.12.0" json5 "^2.2.0" -"@parcel/transformer-postcss@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.11.0.tgz" - integrity sha512-Ugy8XHBaUptGotsvwzq7gPCvkCopTIqqZ0JZ40Jmy9slGms8wnx06pNHA1Be/RcJwkJ2TbSu+7ncZdgmP5x5GQ== +"@parcel/transformer-postcss@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.12.0.tgz#195f4fb86f36f42b5de82076ea36b9d850f4832e" + integrity sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" - "@parcel/rust" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" + "@parcel/utils" "2.12.0" clone "^2.1.1" nullthrows "^1.1.1" postcss-value-parser "^4.2.0" semver "^7.5.2" -"@parcel/transformer-posthtml@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.11.0.tgz" - integrity sha512-dMK4p1RRAoIJEjK/Wz9GOLqwHqdD/VQDhMPk+6sUKp5zf2MhSohUstpp5gKsSZivCM3PS2f8k9rgroacJ/ReuA== +"@parcel/transformer-posthtml@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-posthtml/-/transformer-posthtml-2.12.0.tgz#a906c26278e03455f6186b7dbd9f5b63eaa26948" + integrity sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" semver "^7.5.2" -"@parcel/transformer-raw@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.11.0.tgz" - integrity sha512-2ltp3TgS+cxEqSM1vk5gDtJrYx4KMuRRtbSgSvkdldyOgPhflnLU3/HRz72hXSNGqYOV0/JN0+ocsfPnqR00ug== +"@parcel/transformer-raw@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-raw/-/transformer-raw-2.12.0.tgz#1ee7e02214f777cf3a5bf53580ee4dadfaf8a44c" + integrity sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ== dependencies: - "@parcel/plugin" "2.11.0" + "@parcel/plugin" "2.12.0" -"@parcel/transformer-react-refresh-wrap@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.11.0.tgz" - integrity sha512-6pY0CdIgIpXC6XpsDWizf+zLgiuEsJ106HjWLwF7/R72BrvDhLPZ6jRu4UTrnd6bM89KahPw9fZZzjKoA5Efcw== +"@parcel/transformer-react-refresh-wrap@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.12.0.tgz#cf079353126f2bb820209736a75f868d0df58d92" + integrity sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw== dependencies: - "@parcel/plugin" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/plugin" "2.12.0" + "@parcel/utils" "2.12.0" react-refresh "^0.9.0" "@parcel/transformer-sass@^2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.11.0.tgz" - integrity sha512-caVIj1UANPgtlZOXcsBrQ++ouAy04hcq+wTwxJrf5t3XA4pdXQmkiLs5WIIUUGBp5hwkV6/BSwc4ht87MunA0g== + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-sass/-/transformer-sass-2.12.0.tgz#9132ee78197db04baf51d3024a1bf3c35f1df5ef" + integrity sha512-xLLoSLPST+2AHJwFRLl4foArDjjy6P1RChP3TxMU2MVS1sbKGJnfFhFpHAacH8ASjuGtu5rbpfpHRZePlvoZxw== dependencies: - "@parcel/plugin" "2.11.0" + "@parcel/plugin" "2.12.0" "@parcel/source-map" "^2.1.1" sass "^1.38.0" -"@parcel/transformer-svg@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.11.0.tgz" - integrity sha512-GrTNi04OoQSXsyrB7FqQPeYREscEXFhIBPkyQ0q7WDG/yYynWljiA0kwITCtMjPfv2EDVks292dvM3EcnERRIA== +"@parcel/transformer-svg@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/transformer-svg/-/transformer-svg-2.12.0.tgz#0281e89bf0f438ec161c19b59a8a8978434a3621" + integrity sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A== dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/plugin" "2.11.0" - "@parcel/rust" "2.11.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/plugin" "2.12.0" + "@parcel/rust" "2.12.0" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" semver "^7.5.2" -"@parcel/types@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/types/-/types-2.11.0.tgz" - integrity sha512-lN5XlfV9b1s2rli8q1LqsLtu+D4ZwNI3sKmNcL/3tohSfQcF2EgF+MaiANGo9VzXOzoWFHt4dqWjO4OcdyC5tg== +"@parcel/types@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.12.0.tgz#caf0af00ee0c7228b350eca5f4d3a5b85ce457ad" + integrity sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ== dependencies: - "@parcel/cache" "2.11.0" - "@parcel/diagnostic" "2.11.0" - "@parcel/fs" "2.11.0" - "@parcel/package-manager" "2.11.0" + "@parcel/cache" "2.12.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/package-manager" "2.12.0" "@parcel/source-map" "^2.1.1" - "@parcel/workers" "2.11.0" + "@parcel/workers" "2.12.0" utility-types "^3.10.0" -"@parcel/utils@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/utils/-/utils-2.11.0.tgz" - integrity sha512-AcL70cXlIyE7eQdvjQbYxegN5l+skqvlJllxTWg4YkIZe9p8Gmv74jLAeLWh5F+IGl5WRn0TSy9JhNJjIMQGwQ== +"@parcel/utils@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.12.0.tgz#ac900726e7cb12a9e6392081fa05b756183f65fd" + integrity sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g== dependencies: - "@parcel/codeframe" "2.11.0" - "@parcel/diagnostic" "2.11.0" - "@parcel/logger" "2.11.0" - "@parcel/markdown-ansi" "2.11.0" - "@parcel/rust" "2.11.0" + "@parcel/codeframe" "2.12.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/markdown-ansi" "2.12.0" + "@parcel/rust" "2.12.0" "@parcel/source-map" "^2.1.1" chalk "^4.1.0" nullthrows "^1.1.1" -"@parcel/watcher-android-arm64@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.0.tgz#9c93763794153e4f76920994a423b6ea3257059d" - integrity sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA== - -"@parcel/watcher-darwin-arm64@2.4.0": - version "2.4.0" - resolved "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.0.tgz" - integrity sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA== - -"@parcel/watcher-darwin-x64@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.0.tgz#23d82f198c5d033f047467c68d7c335f3df49b46" - integrity sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q== - -"@parcel/watcher-freebsd-x64@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.0.tgz#7310cc86abc27dacd57624bcdba1f0ba092e76df" - integrity sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA== - -"@parcel/watcher-linux-arm-glibc@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.0.tgz#c31b76e695027eeb1078d3d6f1d641d0b900c335" - integrity sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ== - -"@parcel/watcher-linux-arm64-glibc@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.0.tgz#56e09b86e9d8a4096f606be118b588da6e965080" - integrity sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg== - -"@parcel/watcher-linux-arm64-musl@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.0.tgz#27ffd5ca5f510ecd638f9ad22e2e813049db54e7" - integrity sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng== - -"@parcel/watcher-linux-x64-glibc@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.0.tgz#44cbbb1e5884a1ca900655f47a0775218318f934" - integrity sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ== - -"@parcel/watcher-linux-x64-musl@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.0.tgz#4c33993618c8d5113722852806239cb80360494b" - integrity sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA== - -"@parcel/watcher-win32-arm64@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.0.tgz#2a172fd2fda95fe5389298ca3e70b5a96316162a" - integrity sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg== - -"@parcel/watcher-win32-ia32@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.0.tgz#279225b2ebe1fadd3c5137c9b2365ad422656904" - integrity sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA== - -"@parcel/watcher-win32-x64@2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.0.tgz#93e0bd0ad1bda2c9a688764b9b30b71dc5b72a71" - integrity sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA== +"@parcel/watcher-android-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" + integrity sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg== + +"@parcel/watcher-darwin-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz#c817c7a3b4f3a79c1535bfe54a1c2818d9ffdc34" + integrity sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA== + +"@parcel/watcher-darwin-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz#1a3f69d9323eae4f1c61a5f480a59c478d2cb020" + integrity sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg== + +"@parcel/watcher-freebsd-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz#0d67fef1609f90ba6a8a662bc76a55fc93706fc8" + integrity sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w== + +"@parcel/watcher-linux-arm-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz#ce5b340da5829b8e546bd00f752ae5292e1c702d" + integrity sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA== + +"@parcel/watcher-linux-arm64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz#6d7c00dde6d40608f9554e73998db11b2b1ff7c7" + integrity sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA== + +"@parcel/watcher-linux-arm64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz#bd39bc71015f08a4a31a47cd89c236b9d6a7f635" + integrity sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA== + +"@parcel/watcher-linux-x64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz#0ce29966b082fb6cdd3de44f2f74057eef2c9e39" + integrity sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg== + +"@parcel/watcher-linux-x64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz#d2ebbf60e407170bb647cd6e447f4f2bab19ad16" + integrity sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ== + +"@parcel/watcher-win32-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz#eb4deef37e80f0b5e2f215dd6d7a6d40a85f8adc" + integrity sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg== + +"@parcel/watcher-win32-ia32@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz#94fbd4b497be39fd5c8c71ba05436927842c9df7" + integrity sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw== + +"@parcel/watcher-win32-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz#4bf920912f67cae5f2d264f58df81abfea68dadf" + integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== "@parcel/watcher@^2.0.7": - version "2.4.0" - resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.0.tgz" - integrity sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg== + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.4.1.tgz#a50275151a1bb110879c6123589dba90c19f1bf8" + integrity sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA== dependencies: detect-libc "^1.0.3" is-glob "^4.0.3" micromatch "^4.0.5" node-addon-api "^7.0.0" optionalDependencies: - "@parcel/watcher-android-arm64" "2.4.0" - "@parcel/watcher-darwin-arm64" "2.4.0" - "@parcel/watcher-darwin-x64" "2.4.0" - "@parcel/watcher-freebsd-x64" "2.4.0" - "@parcel/watcher-linux-arm-glibc" "2.4.0" - "@parcel/watcher-linux-arm64-glibc" "2.4.0" - "@parcel/watcher-linux-arm64-musl" "2.4.0" - "@parcel/watcher-linux-x64-glibc" "2.4.0" - "@parcel/watcher-linux-x64-musl" "2.4.0" - "@parcel/watcher-win32-arm64" "2.4.0" - "@parcel/watcher-win32-ia32" "2.4.0" - "@parcel/watcher-win32-x64" "2.4.0" - -"@parcel/workers@2.11.0": - version "2.11.0" - resolved "https://registry.npmjs.org/@parcel/workers/-/workers-2.11.0.tgz" - integrity sha512-wjybqdSy6Nk0N9iBGsFcp7739W2zvx0WGfVxPVShqhz46pIkPOiFF/iSn+kFu5EmMKTRWeUif42+a6rRZ7pCnQ== - dependencies: - "@parcel/diagnostic" "2.11.0" - "@parcel/logger" "2.11.0" - "@parcel/profiler" "2.11.0" - "@parcel/types" "2.11.0" - "@parcel/utils" "2.11.0" + "@parcel/watcher-android-arm64" "2.4.1" + "@parcel/watcher-darwin-arm64" "2.4.1" + "@parcel/watcher-darwin-x64" "2.4.1" + "@parcel/watcher-freebsd-x64" "2.4.1" + "@parcel/watcher-linux-arm-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-musl" "2.4.1" + "@parcel/watcher-linux-x64-glibc" "2.4.1" + "@parcel/watcher-linux-x64-musl" "2.4.1" + "@parcel/watcher-win32-arm64" "2.4.1" + "@parcel/watcher-win32-ia32" "2.4.1" + "@parcel/watcher-win32-x64" "2.4.1" + +"@parcel/workers@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.12.0.tgz#773182b5006741102de8ae36d18a5a9e3320ebd1" + integrity sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw== + dependencies: + "@parcel/diagnostic" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/profiler" "2.12.0" + "@parcel/types" "2.12.0" + "@parcel/utils" "2.12.0" nullthrows "^1.1.1" -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@swc/core-darwin-arm64@1.3.107": - version "1.3.107" - resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.107.tgz" - integrity sha512-47tD/5vSXWxPd0j/ZllyQUg4bqalbQTsmqSw0J4dDdS82MWqCAwUErUrAZPRjBkjNQ6Kmrf5rpCWaGTtPw+ngw== - -"@swc/core-darwin-x64@1.3.107": - version "1.3.107" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.107.tgz#4c0df233ebf293429cd2f10224d6a870a5cc019e" - integrity sha512-hwiLJ2ulNkBGAh1m1eTfeY1417OAYbRGcb/iGsJ+LuVLvKAhU/itzsl535CvcwAlt2LayeCFfcI8gdeOLeZa9A== - -"@swc/core-linux-arm-gnueabihf@1.3.107": - version "1.3.107" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.107.tgz#81004cca4c7554007ea5ac51e276147e958e3e9f" - integrity sha512-I2wzcC0KXqh0OwymCmYwNRgZ9nxX7DWnOOStJXV3pS0uB83TXAkmqd7wvMBuIl9qu4Hfomi9aDM7IlEEn9tumQ== - -"@swc/core-linux-arm64-gnu@1.3.107": - version "1.3.107" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.107.tgz#c01d75df662067fb7805bfdfa66c2f17f2b3185f" - integrity sha512-HWgnn7JORYlOYnGsdunpSF8A+BCZKPLzLtEUA27/M/ZuANcMZabKL9Zurt7XQXq888uJFAt98Gy+59PU90aHKg== - -"@swc/core-linux-arm64-musl@1.3.107": - version "1.3.107" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.107.tgz#5e0c4fe3fcc49a7bb77ffafa680622e53c982e0a" - integrity sha512-vfPF74cWfAm8hyhS8yvYI94ucMHIo8xIYU+oFOW9uvDlGQRgnUf/6DEVbLyt/3yfX5723Ln57U8uiMALbX5Pyw== - -"@swc/core-linux-x64-gnu@1.3.107": - version "1.3.107" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.107.tgz#afb4a656a1717170b2c8b76c9b2349b5077630b4" - integrity sha512-uBVNhIg0ip8rH9OnOsCARUFZ3Mq3tbPHxtmWk9uAa5u8jQwGWeBx5+nTHpDOVd3YxKb6+5xDEI/edeeLpha/9g== - -"@swc/core-linux-x64-musl@1.3.107": - version "1.3.107" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.107.tgz#3f9bce2fe13691be39fddc39bba8558fe6308823" - integrity sha512-mvACkUvzSIB12q1H5JtabWATbk3AG+pQgXEN95AmEX2ZA5gbP9+B+mijsg7Sd/3tboHr7ZHLz/q3SHTvdFJrEw== - -"@swc/core-win32-arm64-msvc@1.3.107": - version "1.3.107" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.107.tgz#5b485e9ce2de6f27ce2fbc1ba8c0b4e98009318d" - integrity sha512-J3P14Ngy/1qtapzbguEH41kY109t6DFxfbK4Ntz9dOWNuVY3o9/RTB841ctnJk0ZHEG+BjfCJjsD2n8H5HcaOA== - -"@swc/core-win32-ia32-msvc@1.3.107": - version "1.3.107" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.107.tgz#1bbe3ce6784b3e4203bf89443c33411c27389b56" - integrity sha512-ZBUtgyjTHlz8TPJh7kfwwwFma+ktr6OccB1oXC8fMSopD0AxVnQasgun3l3099wIsAB9eEsJDQ/3lDkOLs1gBA== - -"@swc/core-win32-x64-msvc@1.3.107": - version "1.3.107" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.107.tgz#c89640b16504ddda1f1faf573a7ed7193dc87485" - integrity sha512-Eyzo2XRqWOxqhE1gk9h7LWmUf4Bp4Xn2Ttb0ayAXFp6YSTxQIThXcT9kipXZqcpxcmDwoq8iWbbf2P8XL743EA== +"@swc/core-darwin-arm64@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.5.tgz#65b40093f622ec811713d2e2ebcdf8a39ae2e91d" + integrity sha512-Ol5ZwZYdTOZsv2NwjcT/qVVALKzVFeh+IJ4GNarr3P99+38Dkwi81OqCI1o/WaDXQYKAQC/V+CzMbkEuJJfq9Q== + +"@swc/core-darwin-x64@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.5.5.tgz#4e16d5fb55d8f3fa7d95df85e9cfbb5d57a7ac9e" + integrity sha512-XHWpKBIPKYLgh5/lV2PYjO84lkzf5JR51kjiloyz2Pa9HIV8tHoAP8bYdJwm4nUp2I7KcEh3pPH0AVu5LpxMKw== + +"@swc/core-linux-arm-gnueabihf@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.5.tgz#ab3fbac59b7c527fa5da115a96f3c87e07737686" + integrity sha512-vtoWNCWAe+CNSqtqIwFnIH48qgPPlUZKoQ4EVFeMM+7/kDi6SeNxoh5TierJs5bKAWxD49VkPvRoWFCk6V62mA== + +"@swc/core-linux-arm64-gnu@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.5.tgz#fcfb1d97f8e8ac6bd495aaaa0d15f8dfdb33b76b" + integrity sha512-L4l7M78U6h/rCAxId+y5Vu+1KfDRF6dJZtitFcaT293guiUQFwJv8gLxI4Jh5wFtZ0fYd0QaCuvh2Ip79CzGMg== + +"@swc/core-linux-arm64-musl@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.5.tgz#e8678d350500b3784bb125bef4eb97db1e388442" + integrity sha512-DkzJc13ukXa7oJpyn24BjIgsiOybYrc+IxjsQyfNlDrrs1QXP4elStcpkD02SsIuSyHjZV8Hw2HFBMQB3OHPrA== + +"@swc/core-linux-x64-gnu@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.5.tgz#e68406379d55447217a4ac1a79ffc7ce1e251b29" + integrity sha512-kj4ZwWJGeBEUzHrRQP2VudN+kkkYH7OI1dPVDc6kWQx5X4329JeKOas4qY0l7gDVjBbRwN9IbbPI6TIn2KfAug== + +"@swc/core-linux-x64-musl@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.5.tgz#40e439aeb265c3cc63526c51f4e89f6492092159" + integrity sha512-6pTorCs4mYhPhYtC4jNOnhGgjNd3DZcRoZ9P0tzXXP69aCbYjvlgNH/NRvAROp9AaVFeZ7a7PmCWb6+Rbe7NKg== + +"@swc/core-win32-arm64-msvc@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.5.tgz#efdd773a9e7ecc49bb246362a45dfc389f1fbfe0" + integrity sha512-o0/9pstmEjwZyrY/bA+mymF0zH7E+GT/XCVqdKeWW9Wn3gTTyWa5MZnrFgI2THQ+AXwdglMB/Zo76ARQPaz/+A== + +"@swc/core-win32-ia32-msvc@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.5.tgz#02082adef99bfa0101c6c94b04be636e39ed567f" + integrity sha512-B+nypUwsmCuaH6RtKWgiPCb+ENjxstJPPJeMJvBqlJqyCaIkZzN4M07Ozi3xVv1VG21SRkd6G3xIqRoalrNc0Q== + +"@swc/core-win32-x64-msvc@1.5.5": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.5.tgz#699217ea438eb3b533b73d982659891d9aae7379" + integrity sha512-ry83ki9ZX0Q+GWGnqc2J618Z+FvKE8Ajn42F8EYi8Wj0q6Jz3mj+pJzgzakk2INm2ldEZ+FaRPipn4ozsZDcBg== "@swc/core@^1.3.36": - version "1.3.107" - resolved "https://registry.npmjs.org/@swc/core/-/core-1.3.107.tgz" - integrity sha512-zKhqDyFcTsyLIYK1iEmavljZnf4CCor5pF52UzLAz4B6Nu/4GLU+2LQVAf+oRHjusG39PTPjd2AlRT3f3QWfsQ== + version "1.5.5" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.5.5.tgz#e7b7ae4323d15ba990a0ffde135a849ffddec69d" + integrity sha512-M8O22EEgdSONLd+7KRrXj8pn+RdAZZ7ISnPjE9KCQQlI0kkFNEquWR+uFdlFxQfwlyCe/Zb6uGXGDvtcov4IMg== dependencies: - "@swc/counter" "^0.1.1" + "@swc/counter" "^0.1.2" "@swc/types" "^0.1.5" optionalDependencies: - "@swc/core-darwin-arm64" "1.3.107" - "@swc/core-darwin-x64" "1.3.107" - "@swc/core-linux-arm-gnueabihf" "1.3.107" - "@swc/core-linux-arm64-gnu" "1.3.107" - "@swc/core-linux-arm64-musl" "1.3.107" - "@swc/core-linux-x64-gnu" "1.3.107" - "@swc/core-linux-x64-musl" "1.3.107" - "@swc/core-win32-arm64-msvc" "1.3.107" - "@swc/core-win32-ia32-msvc" "1.3.107" - "@swc/core-win32-x64-msvc" "1.3.107" - -"@swc/counter@^0.1.1": - version "0.1.2" - resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz" - integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== + "@swc/core-darwin-arm64" "1.5.5" + "@swc/core-darwin-x64" "1.5.5" + "@swc/core-linux-arm-gnueabihf" "1.5.5" + "@swc/core-linux-arm64-gnu" "1.5.5" + "@swc/core-linux-arm64-musl" "1.5.5" + "@swc/core-linux-x64-gnu" "1.5.5" + "@swc/core-linux-x64-musl" "1.5.5" + "@swc/core-win32-arm64-msvc" "1.5.5" + "@swc/core-win32-ia32-msvc" "1.5.5" + "@swc/core-win32-x64-msvc" "1.5.5" + +"@swc/counter@^0.1.2", "@swc/counter@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" + integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== "@swc/helpers@^0.5.0": - version "0.5.3" - resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.3.tgz" - integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== + version "0.5.11" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.11.tgz#5bab8c660a6e23c13b2d23fcd1ee44a2db1b0cb7" + integrity sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A== dependencies: tslib "^2.4.0" "@swc/types@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz" - integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== + version "0.1.6" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.6.tgz#2f13f748995b247d146de2784d3eb7195410faba" + integrity sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg== + dependencies: + "@swc/counter" "^0.1.3" "@trysound/sax@0.2.0": version "0.2.0" - resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@types/json5@^0.0.29": version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@ungap/structured-clone@^1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== abortcontroller-polyfill@^1.1.9: version "1.7.5" - resolved "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz" + resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^8.9.0: version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -1040,47 +1027,42 @@ ajv@^6.12.4: uri-js "^4.2.2" ajv@^8.0.1: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + version "8.13.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.13.0.tgz#a3939eaec9fb80d217ddf0c3376948c023f28c91" + integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== dependencies: - fast-deep-equal "^3.1.1" + fast-deep-equal "^3.1.3" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.2.2" + uri-js "^4.4.1" ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -1088,47 +1070,49 @@ anymatch@~3.1.2: argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" + call-bind "^1.0.5" + is-array-buffer "^3.0.4" array-includes@^3.1.7: - version "3.1.7" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" is-string "^1.0.7" array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.findlastindex@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" array.prototype.flat@^1.3.2: version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" @@ -1138,7 +1122,7 @@ array.prototype.flat@^1.3.2: array.prototype.flatmap@^1.3.2: version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== dependencies: call-bind "^1.0.2" @@ -1146,117 +1130,115 @@ array.prototype.flatmap@^1.3.2: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" astral-regex@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== balanced-match@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== base-x@^3.0.8: version "3.0.9" - resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== dependencies: safe-buffer "^5.0.1" binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== boolbase@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^2.0.1: - 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" - braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" -browserslist@^4.0.0, browserslist@^4.22.2, browserslist@^4.6.6: - version "4.22.3" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz" - integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A== +browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.6.6: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== dependencies: - caniuse-lite "^1.0.30001580" - electron-to-chromium "^1.4.648" + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" node-releases "^2.0.14" update-browserslist-db "^1.0.13" builtin-modules@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== builtins@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + version "5.1.0" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" + integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== dependencies: semver "^7.0.0" -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== caniuse-api@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== dependencies: browserslist "^4.0.0" @@ -1264,14 +1246,14 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001580: - version "1.0.30001581" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz" - integrity sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587: + version "1.0.30001616" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz#4342712750d35f71ebba9fcac65e2cf8870013c3" + integrity sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw== chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -1280,16 +1262,16 @@ chalk@^2.4.2: chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" "chokidar@>=3.0.0 <4.0.0": - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -1303,73 +1285,56 @@ chalk@^4.0.0, chalk@^4.1.0: chrome-trace-event@^1.0.2, chrome-trace-event@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -cli-progress@^3.12.0: - version "3.12.0" - resolved "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz" - integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== - dependencies: - string-width "^4.2.3" - clone@^2.1.1: version "2.1.2" - resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colord@^2.9.1, colord@^2.9.3: +colord@^2.9.3: version "2.9.3" - resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== commander@^7.0.0, commander@^7.2.0: version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -cosmiconfig@^8.0.0: - version "8.3.6" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" - integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== - dependencies: - import-fresh "^3.3.0" - js-yaml "^4.1.0" - parse-json "^5.2.0" - path-type "^4.0.0" - cosmiconfig@^9.0.0: version "9.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.0.tgz#34c3fc58287b915f3ae905ab6dc3de258b55ad9d" integrity sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg== dependencies: env-paths "^2.2.1" @@ -1377,28 +1342,28 @@ cosmiconfig@^9.0.0: js-yaml "^4.1.0" parse-json "^5.2.0" -cross-spawn@^7.0.0, cross-spawn@^7.0.2: +cross-spawn@^7.0.2: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" which "^2.0.1" -css-declaration-sorter@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz" - integrity sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ== +css-declaration-sorter@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" + integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== -css-functions-list@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz" - integrity sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ== +css-functions-list@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.2.2.tgz#9a54c6dd8416ed25c1079cd88234e927526c1922" + integrity sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ== css-select@^4.1.3: version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" @@ -1409,7 +1374,7 @@ css-select@^4.1.3: css-select@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== dependencies: boolbase "^1.0.0" @@ -1420,7 +1385,7 @@ css-select@^5.1.0: css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== dependencies: mdn-data "2.0.14" @@ -1428,7 +1393,7 @@ css-tree@^1.1.2, css-tree@^1.1.3: css-tree@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== dependencies: mdn-data "2.0.30" @@ -1436,7 +1401,7 @@ css-tree@^2.3.1: css-tree@~2.2.0: version "2.2.1" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== dependencies: mdn-data "2.0.28" @@ -1444,107 +1409,135 @@ css-tree@~2.2.0: css-what@^6.0.1, css-what@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.3.tgz" - integrity sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA== +cssnano-preset-default@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz#adf4b89b975aa775f2750c89dbaf199bbd9da35e" + integrity sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg== dependencies: - css-declaration-sorter "^7.1.1" - cssnano-utils "^4.0.1" + browserslist "^4.23.0" + css-declaration-sorter "^7.2.0" + cssnano-utils "^4.0.2" postcss-calc "^9.0.1" - postcss-colormin "^6.0.2" - postcss-convert-values "^6.0.2" - postcss-discard-comments "^6.0.1" - postcss-discard-duplicates "^6.0.1" - postcss-discard-empty "^6.0.1" - postcss-discard-overridden "^6.0.1" - postcss-merge-longhand "^6.0.2" - postcss-merge-rules "^6.0.3" - postcss-minify-font-values "^6.0.1" - postcss-minify-gradients "^6.0.1" - postcss-minify-params "^6.0.2" - postcss-minify-selectors "^6.0.2" - postcss-normalize-charset "^6.0.1" - postcss-normalize-display-values "^6.0.1" - postcss-normalize-positions "^6.0.1" - postcss-normalize-repeat-style "^6.0.1" - postcss-normalize-string "^6.0.1" - postcss-normalize-timing-functions "^6.0.1" - postcss-normalize-unicode "^6.0.2" - postcss-normalize-url "^6.0.1" - postcss-normalize-whitespace "^6.0.1" - postcss-ordered-values "^6.0.1" - postcss-reduce-initial "^6.0.2" - postcss-reduce-transforms "^6.0.1" - postcss-svgo "^6.0.2" - postcss-unique-selectors "^6.0.2" - -cssnano-utils@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.1.tgz" - integrity sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ== + postcss-colormin "^6.1.0" + postcss-convert-values "^6.1.0" + postcss-discard-comments "^6.0.2" + postcss-discard-duplicates "^6.0.3" + postcss-discard-empty "^6.0.3" + postcss-discard-overridden "^6.0.2" + postcss-merge-longhand "^6.0.5" + postcss-merge-rules "^6.1.1" + postcss-minify-font-values "^6.1.0" + postcss-minify-gradients "^6.0.3" + postcss-minify-params "^6.1.0" + postcss-minify-selectors "^6.0.4" + postcss-normalize-charset "^6.0.2" + postcss-normalize-display-values "^6.0.2" + postcss-normalize-positions "^6.0.2" + postcss-normalize-repeat-style "^6.0.2" + postcss-normalize-string "^6.0.2" + postcss-normalize-timing-functions "^6.0.2" + postcss-normalize-unicode "^6.1.0" + postcss-normalize-url "^6.0.2" + postcss-normalize-whitespace "^6.0.2" + postcss-ordered-values "^6.0.2" + postcss-reduce-initial "^6.1.0" + postcss-reduce-transforms "^6.0.2" + postcss-svgo "^6.0.3" + postcss-unique-selectors "^6.0.4" + +cssnano-utils@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-4.0.2.tgz#56f61c126cd0f11f2eef1596239d730d9fceff3c" + integrity sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ== cssnano@^6.0: - version "6.0.3" - resolved "https://registry.npmjs.org/cssnano/-/cssnano-6.0.3.tgz" - integrity sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw== + version "6.1.2" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-6.1.2.tgz#4bd19e505bd37ee7cf0dc902d3d869f6d79c66b8" + integrity sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA== dependencies: - cssnano-preset-default "^6.0.3" - lilconfig "^3.0.0" + cssnano-preset-default "^6.1.2" + lilconfig "^3.1.1" csso@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== dependencies: css-tree "^1.1.2" csso@^5.0.5: version "5.0.5" - resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== dependencies: css-tree "~2.2.0" +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + debug@^3.2.7: version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: - get-intrinsic "^1.2.1" + es-define-property "^1.0.0" + es-errors "^1.3.0" gopd "^1.0.1" - has-property-descriptors "^1.0.0" -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: define-data-property "^1.0.1" @@ -1553,38 +1546,38 @@ define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: detect-libc@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== detect-libc@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" + integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dom-serializer@^1.0.1: version "1.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" @@ -1593,7 +1586,7 @@ dom-serializer@^1.0.1: dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== dependencies: domelementtype "^2.3.0" @@ -1602,26 +1595,26 @@ dom-serializer@^2.0.0: domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== domhandler@^4.2.0, domhandler@^4.2.2, domhandler@^4.3.1: version "4.3.1" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== dependencies: domelementtype "^2.2.0" domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" domutils@^2.8.0: version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" @@ -1630,7 +1623,7 @@ domutils@^2.8.0: domutils@^3.0.1: version "3.1.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== dependencies: dom-serializer "^2.0.0" @@ -1639,164 +1632,182 @@ domutils@^3.0.1: dotenv-expand@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== dotenv@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c" integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -electron-to-chromium@^1.4.648: - version "1.4.648" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz" - integrity sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg== +electron-to-chromium@^1.4.668: + version "1.4.758" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.758.tgz#f39e530cae2ca4329a0f0e1840629d8d1da73156" + integrity sha512-/o9x6TCdrYZBMdGeTifAP3wlF/gVT+TtWJe3BSmtNh92Mw81U9hrYwW9OAGUh+sEOX/yz5e34sksqRruZbjYrw== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - entities@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== entities@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== entities@^4.2.0: version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== env-paths@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" es-to-primitive "^1.2.1" function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" globalthis "^1.0.3" gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" is-callable "^1.2.7" - is-negative-zero "^2.0.2" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" + is-shared-array-buffer "^1.0.3" is-string "^1.0.7" - is-typed-array "^1.1.12" + is-typed-array "^1.1.13" is-weakref "^1.0.2" object-inspect "^1.13.1" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" + which-typed-array "^1.1.15" -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" + get-intrinsic "^1.2.4" -es-shim-unscopables@^1.0.0: +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== dependencies: hasown "^2.0.0" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" is-symbol "^1.0.2" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-compat-utils@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz" - integrity sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg== +eslint-compat-utils@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz#f7b2eb2befec25a370fac76934d3f9189f312a65" + integrity sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg== + dependencies: + semver "^7.5.4" eslint-config-prettier@^9.1: version "9.1.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== eslint-config-standard@^17.1: version "17.1.0" - resolved "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz#40ffb8595d47a6b242e07cbfd49dc211ed128975" integrity sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q== eslint-import-resolver-node@^0.3.9: version "0.3.9" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: debug "^3.2.7" @@ -1804,24 +1815,24 @@ eslint-import-resolver-node@^0.3.9: resolve "^1.22.4" eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + version "2.8.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" + integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== dependencies: debug "^3.2.7" eslint-plugin-es-x@^7.5.0: - version "7.5.0" - resolved "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz" - integrity sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ== + version "7.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz#ccee7a4556c0f816d1ae88fd0eea21540e8ccd65" + integrity sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA== dependencies: "@eslint-community/eslint-utils" "^4.1.2" "@eslint-community/regexpp" "^4.6.0" - eslint-compat-utils "^0.1.2" + eslint-compat-utils "^0.5.0" eslint-plugin-import@^2.29: version "2.29.1" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== dependencies: array-includes "^3.1.7" @@ -1844,7 +1855,7 @@ eslint-plugin-import@^2.29: eslint-plugin-n@^16.6: version "16.6.2" - resolved "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz#6a60a1a376870064c906742272074d5d0b412b0b" integrity sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" @@ -1861,12 +1872,12 @@ eslint-plugin-n@^16.6: eslint-plugin-promise@^6.1: version "6.1.1" - resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig== eslint-scope@^7.2.2: version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" @@ -1874,19 +1885,19 @@ eslint-scope@^7.2.2: eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.56.0: - version "8.56.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" - integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.56.0" - "@humanwhocodes/config-array" "^0.11.13" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" "@ungap/structured-clone" "^1.2.0" @@ -1923,7 +1934,7 @@ eslint@^8.56.0: espree@^9.6.0, espree@^9.6.1: version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: acorn "^8.9.0" @@ -1932,36 +1943,36 @@ espree@^9.6.0, espree@^9.6.1: esquery@^1.4.2: version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.9, fast-glob@^3.3.2: version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -1972,50 +1983,50 @@ fast-glob@^3.2.9, fast-glob@^3.3.2: fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastest-levenshtein@^1.0.16: version "1.0.16" - resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.17.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz" - integrity sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w== + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" file-entry-cache@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== dependencies: flat-cache "^4.0.0" fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -2023,7 +2034,7 @@ find-up@^5.0.0: flat-cache@^3.0.4: version "3.2.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" @@ -2031,52 +2042,48 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flat-cache@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.0.tgz" - integrity sha512-EryKbCE/wxpxKniQlyas6PY1I9vwtF3uCBweX+N8KYTCn3Y12RTGtQAJ/bd5pl7kxUAc8v/R3Ake/N17OZiFqA== + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== dependencies: flatted "^3.2.9" keyv "^4.5.4" - rimraf "^5.0.5" flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== for-each@^0.3.3: version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@2.3.2, fsevents@~2.3.2: +fsevents@2.3.2: version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== function.prototype.name@^1.1.6: version "1.1.6" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" @@ -2086,14 +2093,15 @@ function.prototype.name@^1.1.6: functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: + es-errors "^1.3.0" function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" @@ -2101,52 +2109,42 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ get-port@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" get-tsconfig@^4.7.0: - version "4.7.2" - resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz" - integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== + version "4.7.4" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.4.tgz#228e1a3e37125aeb4467e9b992b92c4533093bd2" + integrity sha512-ofbkKj+0pjXjhejr007J/fLf+sW+8H7K5GCm+msC8q3IpvgjobpyPqSRFemNyIMxklC0zeJpi7VDFna19FacvQ== dependencies: resolve-pkg-maps "^1.0.0" glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" -glob@^10.3.7: - version "10.3.10" - resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - glob@^7.1.3: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -2158,14 +2156,14 @@ glob@^7.1.3: global-modules@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== dependencies: global-prefix "^3.0.0" global-prefix@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== dependencies: ini "^1.3.5" @@ -2174,21 +2172,22 @@ global-prefix@^3.0.0: globals@^13.19.0, globals@^13.2.0, globals@^13.24.0: version "13.24.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== dependencies: type-fest "^0.20.2" globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - define-properties "^1.1.3" + define-properties "^1.2.1" + gopd "^1.0.1" globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -2200,84 +2199,84 @@ globby@^11.1.0: globjoin@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" integrity sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg== gopd@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" graphemer@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.2.2" + es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: - has-symbols "^1.0.2" + has-symbols "^1.0.3" -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" html-tags@^3.3.1: version "3.3.1" - resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== htmlnano@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.0.tgz" - integrity sha512-jVGRE0Ep9byMBKEu0Vxgl8dhXYOUk0iNQ2pjsG+BcRB0u0oDF5A9p/iBGMg/PGKYUyMD0OAGu8dVT5Lzj8S58g== + version "2.1.1" + resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-2.1.1.tgz#9ba84e145cd8b7cd4c783d9ab8ff46a80e79b59b" + integrity sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw== dependencies: - cosmiconfig "^8.0.0" + cosmiconfig "^9.0.0" posthtml "^0.16.5" timsort "^0.3.0" htmlparser2@^7.1.1: version "7.2.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== dependencies: domelementtype "^2.0.1" @@ -2285,19 +2284,19 @@ htmlparser2@^7.1.1: domutils "^2.8.0" entities "^3.0.1" -ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== +ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== immutable@^4.0.0: version "4.3.5" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0" integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -2305,12 +2304,12 @@ import-fresh@^3.2.1, import-fresh@^3.3.0: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -2318,54 +2317,53 @@ inflight@^1.0.4: inherits@2: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== ini@^1.3.5: version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== dependencies: - get-intrinsic "^1.2.2" + es-errors "^1.3.0" hasown "^2.0.0" side-channel "^1.0.4" -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" + get-intrinsic "^1.2.1" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -2373,290 +2371,288 @@ is-boolean-object@^1.1.0: is-builtin-module@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== dependencies: builtin-modules "^3.3.0" is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.12.1, is-core-module@^2.13.0, is-core-module@^2.13.1: version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: hasown "^2.0.0" +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + is-date-object@^1.0.1: version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-json@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-json/-/is-json-2.0.1.tgz#6be166d144828a131d686891b983df62c39491ff" integrity sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA== -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-path-inside@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-object@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== dependencies: - which-typed-array "^1.1.11" + which-typed-array "^1.1.14" is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" isarray@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" json5@^2.2.0, json5@^2.2.1: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== keyv@^4.5.3, keyv@^4.5.4: version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -known-css-properties@^0.29.0: - version "0.29.0" - resolved "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz" - integrity sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ== +known-css-properties@^0.30.0: + version "0.30.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.30.0.tgz#34dd1f39c805c65a6dfa6ea76206b20dc523dd96" + integrity sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ== levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" type-check "~0.4.0" -lightningcss-darwin-arm64@1.23.0: - version "1.23.0" - resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.23.0.tgz" - integrity sha512-kl4Pk3Q2lnE6AJ7Qaij47KNEfY2/UXRZBT/zqGA24B8qwkgllr/j7rclKOf1axcslNXvvUdztjo4Xqh39Yq1aA== - -lightningcss-darwin-x64@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.23.0.tgz#8394edaa04f0984b971eab42b6f68edb1258b3ed" - integrity sha512-KeRFCNoYfDdcolcFXvokVw+PXCapd2yHS1Diko1z1BhRz/nQuD5XyZmxjWdhmhN/zj5sH8YvWsp0/lPLVzqKpg== - -lightningcss-freebsd-x64@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.23.0.tgz#d3f6faddc424f17ed046e8be9ca97868a5f804ed" - integrity sha512-xhnhf0bWPuZxcqknvMDRFFo2TInrmQRWZGB0f6YoAsZX8Y+epfjHeeOIGCfAmgF0DgZxHwYc8mIR5tQU9/+ROA== - -lightningcss-linux-arm-gnueabihf@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.23.0.tgz#040e9718c9a9dc088322da33983a894564ffcb10" - integrity sha512-fBamf/bULvmWft9uuX+bZske236pUZEoUlaHNBjnueaCTJ/xd8eXgb0cEc7S5o0Nn6kxlauMBnqJpF70Bgq3zg== - -lightningcss-linux-arm64-gnu@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.23.0.tgz#05cfcfa2cf47a042ca11cfce520ae9f91e4efcdb" - integrity sha512-RS7sY77yVLOmZD6xW2uEHByYHhQi5JYWmgVumYY85BfNoVI3DupXSlzbw+b45A9NnVKq45+oXkiN6ouMMtTwfg== - -lightningcss-linux-arm64-musl@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.23.0.tgz#3212a10dff37c70808113fbcf7cbd1b63c6cbc6f" - integrity sha512-cU00LGb6GUXCwof6ACgSMKo3q7XYbsyTj0WsKHLi1nw7pV0NCq8nFTn6ZRBYLoKiV8t+jWl0Hv8KkgymmK5L5g== - -lightningcss-linux-x64-gnu@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.23.0.tgz#3b27da32889285b1c5de3f26094ee234054634fc" - integrity sha512-q4jdx5+5NfB0/qMbXbOmuC6oo7caPnFghJbIAV90cXZqgV8Am3miZhC4p+sQVdacqxfd+3nrle4C8icR3p1AYw== - -lightningcss-linux-x64-musl@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.23.0.tgz#ad65b5a944f10d966cc10070bf20f81ddadd4240" - integrity sha512-G9Ri3qpmF4qef2CV/80dADHKXRAQeQXpQTLx7AiQrBYQHqBjB75oxqj06FCIe5g4hNCqLPnM9fsO4CyiT1sFSQ== - -lightningcss-win32-x64-msvc@1.23.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.23.0.tgz#62f3f619a7bb44f8713973103fbe1bcbd9d455f9" - integrity sha512-1rcBDJLU+obPPJM6qR5fgBUiCdZwZLafZM5f9kwjFLkb/UBNIzmae39uCSmh71nzPCTXZqHbvwu23OWnWEz+eg== +lightningcss-darwin-arm64@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.24.1.tgz#551735defa1e092ecf91244ca081f65f10ebd5f0" + integrity sha512-1jQ12jBy+AE/73uGQWGSafK5GoWgmSiIQOGhSEXiFJSZxzV+OXIx+a9h2EYHxdJfX864M+2TAxWPWb0Vv+8y4w== + +lightningcss-darwin-x64@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.24.1.tgz#5acb1338ac0aae38e405efd854ed97ba11509eea" + integrity sha512-R4R1d7VVdq2mG4igMU+Di8GPf0b64ZLnYVkubYnGG0Qxq1KaXQtAzcLI43EkpnoWvB/kUg8JKCWH4S13NfiLcQ== + +lightningcss-freebsd-x64@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.24.1.tgz#ff692c41ed0bbf37ab5a239db4c2fc04c11195e6" + integrity sha512-z6NberUUw5ALES6Ixn2shmjRRrM1cmEn1ZQPiM5IrZ6xHHL5a1lPin9pRv+w6eWfcrEo+qGG6R9XfJrpuY3e4g== + +lightningcss-linux-arm-gnueabihf@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.24.1.tgz#ba41556f4422a6a889553ad897898a314386153e" + integrity sha512-NLQLnBQW/0sSg74qLNI8F8QKQXkNg4/ukSTa+XhtkO7v3BnK19TS1MfCbDHt+TTdSgNEBv0tubRuapcKho2EWw== + +lightningcss-linux-arm64-gnu@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.24.1.tgz#6b569b6078634233bc470c4179dd67e535f22d73" + integrity sha512-AQxWU8c9E9JAjAi4Qw9CvX2tDIPjgzCTrZCSXKELfs4mCwzxRkHh2RCxX8sFK19RyJoJAjA/Kw8+LMNRHS5qEg== + +lightningcss-linux-arm64-musl@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.24.1.tgz#644abd32c09c87228bfb5dda21e8d3f75da6f731" + integrity sha512-JCgH/SrNrhqsguUA0uJUM1PvN5+dVuzPIlXcoWDHSv2OU/BWlj2dUYr3XNzEw748SmNZPfl2NjQrAdzaPOn1lA== + +lightningcss-linux-x64-gnu@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.24.1.tgz#0633f2daa2b6a2806abd497337346c2941865eec" + integrity sha512-TYdEsC63bHV0h47aNRGN3RiK7aIeco3/keN4NkoSQ5T8xk09KHuBdySltWAvKLgT8JvR+ayzq8ZHnL1wKWY0rw== + +lightningcss-linux-x64-musl@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.24.1.tgz#6ed1714737e4af2249ed10f431bc8137bd6cc4c7" + integrity sha512-HLfzVik3RToot6pQ2Rgc3JhfZkGi01hFetHt40HrUMoeKitLoqUUT5owM6yTZPTytTUW9ukLBJ1pc3XNMSvlLw== + +lightningcss-win32-x64-msvc@1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.24.1.tgz#bd6b562d902e0f92904ac3754c722d9e63e00480" + integrity sha512-joEupPjYJ7PjZtDsS5lzALtlAudAbgIBMGJPNeFe5HfdmJXFd13ECmEM+5rXNxYVMRHua2w8132R6ab5Z6K9Ow== lightningcss@^1.22.1: - version "1.23.0" - resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.23.0.tgz" - integrity sha512-SEArWKMHhqn/0QzOtclIwH5pXIYQOUEkF8DgICd/105O+GCgd7jxjNod/QPnBCSWvpRHQBGVz5fQ9uScby03zA== + version "1.24.1" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.24.1.tgz#8b86a5ee6e6ae9e035ff92892bd047b8d687581e" + integrity sha512-kUpHOLiH5GB0ERSv4pxqlL0RYKnOXtgGtVe7shDGfhS0AZ4D1ouKFYAcLcZhql8aMspDNzaUCumGHZ78tb2fTg== dependencies: detect-libc "^1.0.3" optionalDependencies: - lightningcss-darwin-arm64 "1.23.0" - lightningcss-darwin-x64 "1.23.0" - lightningcss-freebsd-x64 "1.23.0" - lightningcss-linux-arm-gnueabihf "1.23.0" - lightningcss-linux-arm64-gnu "1.23.0" - lightningcss-linux-arm64-musl "1.23.0" - lightningcss-linux-x64-gnu "1.23.0" - lightningcss-linux-x64-musl "1.23.0" - lightningcss-win32-x64-msvc "1.23.0" - -lilconfig@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz" - integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + lightningcss-darwin-arm64 "1.24.1" + lightningcss-darwin-x64 "1.24.1" + lightningcss-freebsd-x64 "1.24.1" + lightningcss-linux-arm-gnueabihf "1.24.1" + lightningcss-linux-arm64-gnu "1.24.1" + lightningcss-linux-arm64-musl "1.24.1" + lightningcss-linux-x64-gnu "1.24.1" + lightningcss-linux-x64-musl "1.24.1" + lightningcss-win32-x64-msvc "1.24.1" + +lilconfig@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" + integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lmdb@2.8.5: version "2.8.5" - resolved "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.8.5.tgz#ce191110c755c0951caa062722e300c703973837" integrity sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ== dependencies: msgpackr "^1.9.5" @@ -2674,76 +2670,64 @@ lmdb@2.8.5: locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== lodash.truncate@^4.4.2: version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lru-cache@^6.0.0: - 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" - -"lru-cache@^9.1.1 || ^10.0.0": - version "10.2.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz" - integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q== - mathml-tag-names@^2.1.3: version "2.1.3" - resolved "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz" + resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== mdn-data@2.0.14: version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== mdn-data@2.0.28: version "2.0.28" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== mdn-data@2.0.30: version "2.0.30" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== -meow@^13.1.0: - version "13.1.0" - resolved "https://registry.npmjs.org/meow/-/meow-13.1.0.tgz" - integrity sha512-o5R/R3Tzxq0PJ3v3qcQJtSvSE9nKOLSAaDuuoMzDVuGTwHdccMWcYomh9Xolng2tjT6O/Y83d+0coVGof6tqmA== +meow@^13.2.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-13.2.0.tgz#6b7d63f913f984063b3cc261b6e8800c4cd3474f" + integrity sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" @@ -2751,36 +2735,29 @@ micromatch@^4.0.4, micromatch@^4.0.5: minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^9.0.1: - version "9.0.3" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.4" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" - integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== - -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + msgpackr-extract@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz#e05ec1bb4453ddf020551bcd5daaf0092a2c279d" integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A== dependencies: node-gyp-build-optional-packages "5.0.7" @@ -2794,78 +2771,78 @@ msgpackr-extract@^3.0.2: msgpackr@^1.9.5, msgpackr@^1.9.9: version "1.10.1" - resolved "https://registry.npmjs.org/msgpackr/-/msgpackr-1.10.1.tgz" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.10.1.tgz#51953bb4ce4f3494f0c4af3f484f01cfbb306555" integrity sha512-r5VRLv9qouXuLiIBrLpl2d5ZvPt8svdQTl5/vMvE4nzDMyEX4sgW5yWhuBBj5UmgwOTWj8CIdSXn5sAfsHAWIQ== optionalDependencies: msgpackr-extract "^3.0.2" nanoid@^3.3.7: version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== node-addon-api@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== node-addon-api@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.0.tgz#71f609369379c08e251c558527a107107b5e0fdb" integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== node-gyp-build-optional-packages@5.0.7: version "5.0.7" - resolved "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz#5d2632bbde0ab2f6e22f1bbac2199b07244ae0b3" integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w== node-gyp-build-optional-packages@5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz#52b143b9dd77b7669073cbfe39e3f4118bfc603c" integrity sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw== dependencies: detect-libc "^2.0.1" node-releases@^2.0.14: version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== nth-check@^2.0.1: version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== dependencies: boolbase "^1.0.0" nullthrows@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== -object-inspect@^1.13.1, object-inspect@^1.9.0: +object-inspect@^1.13.1: version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4: +object.assign@^4.1.5: version "4.1.5" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== dependencies: call-bind "^1.0.5" @@ -2874,101 +2851,101 @@ object.assign@^4.1.4: object-keys "^1.1.1" object.fromentries@^2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" object.groupby@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" object.values@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" once@^1.3.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" + word-wrap "^1.2.5" ordered-binary@^1.4.1: version "1.5.1" - resolved "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.5.1.tgz#94ccbf14181711081ee23931db0dc3f58aaa0df6" integrity sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A== p-limit@^3.0.2: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" -parcel@^2.11.0: - version "2.11.0" - resolved "https://registry.npmjs.org/parcel/-/parcel-2.11.0.tgz" - integrity sha512-H/RI1/DmuOkL8RuG/EpNPvtzrbF+7jA/R56ydEEm+lqFbYktKB4COR7JXdHkZXRgbSJyimrFB8d0r9+SaRnj0Q== - dependencies: - "@parcel/config-default" "2.11.0" - "@parcel/core" "2.11.0" - "@parcel/diagnostic" "2.11.0" - "@parcel/events" "2.11.0" - "@parcel/fs" "2.11.0" - "@parcel/logger" "2.11.0" - "@parcel/package-manager" "2.11.0" - "@parcel/reporter-cli" "2.11.0" - "@parcel/reporter-dev-server" "2.11.0" - "@parcel/reporter-tracer" "2.11.0" - "@parcel/utils" "2.11.0" +parcel@^2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.12.0.tgz#60529c268c2ce0754b225af835f1519da1364298" + integrity sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg== + dependencies: + "@parcel/config-default" "2.12.0" + "@parcel/core" "2.12.0" + "@parcel/diagnostic" "2.12.0" + "@parcel/events" "2.12.0" + "@parcel/fs" "2.12.0" + "@parcel/logger" "2.12.0" + "@parcel/package-manager" "2.12.0" + "@parcel/reporter-cli" "2.12.0" + "@parcel/reporter-dev-server" "2.12.0" + "@parcel/reporter-tracer" "2.12.0" + "@parcel/utils" "2.12.0" chalk "^4.1.0" commander "^7.0.0" get-port "^4.2.0" parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -2978,323 +2955,320 @@ parse-json@^5.2.0: path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.10.1: - version "1.10.1" - resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== - dependencies: - lru-cache "^9.1.1 || ^10.0.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -playwright-core@1.41.1: - version "1.41.1" - resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.41.1.tgz" - integrity sha512-/KPO5DzXSMlxSX77wy+HihKGOunh3hqndhqeo/nMxfigiKzogn8kfL0ZBDu0L1RKgan5XHCPmn6zXd2NUJgjhg== +playwright-core@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.44.0.tgz#316c4f0bca0551ffb88b6eb1c97bc0d2d861b0d5" + integrity sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ== playwright@^1.40.1: - version "1.41.1" - resolved "https://registry.npmjs.org/playwright/-/playwright-1.41.1.tgz" - integrity sha512-gdZAWG97oUnbBdRL3GuBvX3nDDmUOuqzV/D24dytqlKt+eI5KbwusluZRGljx1YoJKZ2NRPaeWiFTeGZO7SosQ== + version "1.44.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.44.0.tgz#22894e9b69087f6beb639249323d80fe2b5087ff" + integrity sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ== dependencies: - playwright-core "1.41.1" + playwright-core "1.44.0" optionalDependencies: fsevents "2.3.2" +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + postcss-calc@^9.0.1: version "9.0.1" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" integrity sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ== dependencies: postcss-selector-parser "^6.0.11" postcss-value-parser "^4.2.0" -postcss-colormin@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.2.tgz" - integrity sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw== +postcss-colormin@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-6.1.0.tgz#076e8d3fb291fbff7b10e6b063be9da42ff6488d" + integrity sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw== dependencies: - browserslist "^4.22.2" + browserslist "^4.23.0" caniuse-api "^3.0.0" - colord "^2.9.1" + colord "^2.9.3" postcss-value-parser "^4.2.0" -postcss-convert-values@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.2.tgz" - integrity sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw== +postcss-convert-values@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz#3498387f8efedb817cbc63901d45bd1ceaa40f48" + integrity sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w== dependencies: - browserslist "^4.22.2" + browserslist "^4.23.0" postcss-value-parser "^4.2.0" -postcss-discard-comments@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.1.tgz" - integrity sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg== +postcss-discard-comments@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz#e768dcfdc33e0216380623652b0a4f69f4678b6c" + integrity sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw== -postcss-discard-duplicates@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.1.tgz" - integrity sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg== +postcss-discard-duplicates@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz#d121e893c38dc58a67277f75bb58ba43fce4c3eb" + integrity sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw== -postcss-discard-empty@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.1.tgz" - integrity sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg== +postcss-discard-empty@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz#ee39c327219bb70473a066f772621f81435a79d9" + integrity sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ== -postcss-discard-overridden@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.1.tgz" - integrity sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA== +postcss-discard-overridden@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz#4e9f9c62ecd2df46e8fdb44dc17e189776572e2d" + integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== postcss-media-query-parser@^0.2.3: version "0.2.3" - resolved "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" integrity sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig== -postcss-merge-longhand@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.2.tgz" - integrity sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw== +postcss-merge-longhand@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz#ba8a8d473617c34a36abbea8dda2b215750a065a" + integrity sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w== dependencies: postcss-value-parser "^4.2.0" - stylehacks "^6.0.2" + stylehacks "^6.1.1" -postcss-merge-rules@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.3.tgz" - integrity sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA== +postcss-merge-rules@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz#7aa539dceddab56019469c0edd7d22b64c3dea9d" + integrity sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ== dependencies: - browserslist "^4.22.2" + browserslist "^4.23.0" caniuse-api "^3.0.0" - cssnano-utils "^4.0.1" - postcss-selector-parser "^6.0.15" + cssnano-utils "^4.0.2" + postcss-selector-parser "^6.0.16" -postcss-minify-font-values@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.1.tgz" - integrity sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w== +postcss-minify-font-values@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz#a0e574c02ee3f299be2846369211f3b957ea4c59" + integrity sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg== dependencies: postcss-value-parser "^4.2.0" -postcss-minify-gradients@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.1.tgz" - integrity sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w== +postcss-minify-gradients@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz#ca3eb55a7bdb48a1e187a55c6377be918743dbd6" + integrity sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q== dependencies: - colord "^2.9.1" - cssnano-utils "^4.0.1" + colord "^2.9.3" + cssnano-utils "^4.0.2" postcss-value-parser "^4.2.0" -postcss-minify-params@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.2.tgz" - integrity sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw== +postcss-minify-params@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz#54551dec77b9a45a29c3cb5953bf7325a399ba08" + integrity sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA== dependencies: - browserslist "^4.22.2" - cssnano-utils "^4.0.1" + browserslist "^4.23.0" + cssnano-utils "^4.0.2" postcss-value-parser "^4.2.0" -postcss-minify-selectors@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.2.tgz" - integrity sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg== +postcss-minify-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz#197f7d72e6dd19eed47916d575d69dc38b396aff" + integrity sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ== dependencies: - postcss-selector-parser "^6.0.15" + postcss-selector-parser "^6.0.16" -postcss-normalize-charset@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.1.tgz" - integrity sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg== +postcss-normalize-charset@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz#1ec25c435057a8001dac942942a95ffe66f721e1" + integrity sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ== -postcss-normalize-display-values@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.1.tgz" - integrity sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw== +postcss-normalize-display-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz#54f02764fed0b288d5363cbb140d6950dbbdd535" + integrity sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-positions@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.1.tgz" - integrity sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg== +postcss-normalize-positions@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz#e982d284ec878b9b819796266f640852dbbb723a" + integrity sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-repeat-style@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.1.tgz" - integrity sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ== +postcss-normalize-repeat-style@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz#f8006942fd0617c73f049dd8b6201c3a3040ecf3" + integrity sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-string@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.1.tgz" - integrity sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg== +postcss-normalize-string@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz#e3cc6ad5c95581acd1fc8774b309dd7c06e5e363" + integrity sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-timing-functions@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.1.tgz" - integrity sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g== +postcss-normalize-timing-functions@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz#40cb8726cef999de984527cbd9d1db1f3e9062c0" + integrity sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-unicode@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.2.tgz" - integrity sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA== +postcss-normalize-unicode@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz#aaf8bbd34c306e230777e80f7f12a4b7d27ce06e" + integrity sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg== dependencies: - browserslist "^4.22.2" + browserslist "^4.23.0" postcss-value-parser "^4.2.0" -postcss-normalize-url@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.1.tgz" - integrity sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ== +postcss-normalize-url@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz#292792386be51a8de9a454cb7b5c58ae22db0f79" + integrity sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-whitespace@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.1.tgz" - integrity sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA== +postcss-normalize-whitespace@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz#fbb009e6ebd312f8b2efb225c2fcc7cf32b400cd" + integrity sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q== dependencies: postcss-value-parser "^4.2.0" -postcss-ordered-values@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.1.tgz" - integrity sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA== +postcss-ordered-values@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz#366bb663919707093451ab70c3f99c05672aaae5" + integrity sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q== dependencies: - cssnano-utils "^4.0.1" + cssnano-utils "^4.0.2" postcss-value-parser "^4.2.0" -postcss-reduce-initial@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.2.tgz" - integrity sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw== +postcss-reduce-initial@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz#4401297d8e35cb6e92c8e9586963e267105586ba" + integrity sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw== dependencies: - browserslist "^4.22.2" + browserslist "^4.23.0" caniuse-api "^3.0.0" -postcss-reduce-transforms@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.1.tgz" - integrity sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ== +postcss-reduce-transforms@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz#6fa2c586bdc091a7373caeee4be75a0f3e12965d" + integrity sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA== dependencies: postcss-value-parser "^4.2.0" postcss-resolve-nested-selector@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" integrity sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw== postcss-safe-parser@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz#6273d4e5149e286db5a45bc6cf6eafcad464014a" integrity sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg== postcss-scss@^4.0.9: version "4.0.9" - resolved "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.9.tgz#a03c773cd4c9623cb04ce142a52afcec74806685" integrity sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A== -postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.15: - version "6.0.15" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== +postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.15, postcss-selector-parser@^6.0.16: + version "6.0.16" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04" + integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-svgo@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.2.tgz" - integrity sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ== +postcss-svgo@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-6.0.3.tgz#1d6e180d6df1fa8a3b30b729aaa9161e94f04eaa" + integrity sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g== dependencies: postcss-value-parser "^4.2.0" svgo "^3.2.0" -postcss-unique-selectors@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.2.tgz" - integrity sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ== +postcss-unique-selectors@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz#983ab308896b4bf3f2baaf2336e14e52c11a2088" + integrity sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg== dependencies: - postcss-selector-parser "^6.0.15" + postcss-selector-parser "^6.0.16" postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.4.32, postcss@^8.4.33: - version "8.4.33" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz" - integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== +postcss@^8.4.32, postcss@^8.4.38: + version "8.4.38" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" + integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== dependencies: nanoid "^3.3.7" picocolors "^1.0.0" - source-map-js "^1.0.2" + source-map-js "^1.2.0" posthtml-parser@^0.10.1: version "0.10.2" - resolved "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz" + resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.10.2.tgz#df364d7b179f2a6bf0466b56be7b98fd4e97c573" integrity sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg== dependencies: htmlparser2 "^7.1.1" posthtml-parser@^0.11.0: version "0.11.0" - resolved "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz" + resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.11.0.tgz#25d1c7bf811ea83559bc4c21c189a29747a24b7a" integrity sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw== dependencies: htmlparser2 "^7.1.1" posthtml-render@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-3.0.0.tgz#97be44931496f495b4f07b99e903cc70ad6a3205" integrity sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA== dependencies: is-json "^2.0.1" posthtml@^0.16.4, posthtml@^0.16.5: version "0.16.6" - resolved "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz" + resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.16.6.tgz#e2fc407f67a64d2fa3567afe770409ffdadafe59" integrity sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ== dependencies: posthtml-parser "^0.11.0" @@ -3302,78 +3276,79 @@ posthtml@^0.16.4, posthtml@^0.16.5: prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier@^3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz" - integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ== + version "3.2.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== punycode@^2.1.0: version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== react-error-overlay@6.0.9: version "6.0.9" - resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== react-refresh@^0.9.0: version "0.9.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.9.0.tgz#71863337adc3e5c2f8a6bfddd12ae3bfe32aafbf" integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" regenerator-runtime@^0.13.7: version "0.13.11" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== -regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve-pkg-maps@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== resolve@^1.22.2, resolve@^1.22.4: version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" @@ -3382,58 +3357,51 @@ resolve@^1.22.2, resolve@^1.22.4: reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" -rimraf@^5.0.5: - version "5.0.5" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz" - integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== - dependencies: - glob "^10.3.7" - run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" -safe-array-concat@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz" - integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" + call-bind "^1.0.7" + get-intrinsic "^1.2.4" has-symbols "^1.0.3" isarray "^2.0.5" safe-buffer@^5.0.1: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex-test@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz" - integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== dependencies: - call-bind "^1.0.5" - get-intrinsic "^1.2.2" + call-bind "^1.0.6" + es-errors "^1.3.0" is-regex "^1.1.4" sass@^1.38.0, sass@^1.69.6: - version "1.70.0" - resolved "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz" - integrity sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ== + version "1.77.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.0.tgz#e736c69aff9fae4a4e6dae60a979eee9c942f321" + integrity sha512-eGj4HNfXqBWtSnvItNkn7B6icqH14i3CiCGbzMKs3BAPTq62pp9NBYsBgyN4cA+qssqo9r26lW4JSvlaUUWbgw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -3441,176 +3409,169 @@ sass@^1.38.0, sass@^1.69.6: semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.5.2, semver@^7.5.3: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" +semver@^7.0.0, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4: + version "7.6.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.1.tgz#60bfe090bf907a25aa8119a72b9f90ef7ca281b2" + integrity sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA== -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: - define-data-property "^1.1.1" + define-data-property "^1.1.4" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.2" + get-intrinsic "^1.2.4" gopd "^1.0.1" - has-property-descriptors "^1.0.1" + has-property-descriptors "^1.0.2" -set-function-name@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== +set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== dependencies: - define-data-property "^1.0.1" + define-data-property "^1.1.4" + es-errors "^1.3.0" functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" + has-property-descriptors "^1.0.2" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" signal-exit@^4.0.1: version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" + integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== source-map@^0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== srcset@4: version "4.0.0" - resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== stable@^0.1.8: version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.3: +string-width@^4.2.3: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 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" -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1, strip-ansi@^7.1.0: +strip-ansi@^7.1.0: version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -stylehacks@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.2.tgz" - integrity sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg== +stylehacks@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-6.1.1.tgz#543f91c10d17d00a440430362d419f79c25545a6" + integrity sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg== dependencies: - browserslist "^4.22.2" - postcss-selector-parser "^6.0.15" + browserslist "^4.23.0" + postcss-selector-parser "^6.0.16" stylelint-config-recommended-scss@^14.0.0: version "14.0.0" - resolved "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-14.0.0.tgz#d3482c9817dada80b5ec01685b38fc8af8f7263f" integrity sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw== dependencies: postcss-scss "^4.0.9" @@ -3619,48 +3580,49 @@ stylelint-config-recommended-scss@^14.0.0: stylelint-config-recommended@^14.0.0: version "14.0.0" - resolved "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz#b395c7014838d2aaca1755eebd914d0bb5274994" integrity sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ== stylelint-config-standard-scss@^13.0.0: - version "13.0.0" - resolved "https://registry.npmjs.org/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.0.0.tgz" - integrity sha512-WaLvkP689qSYUpJQPCo30TFJSSc3VzvvoWnrgp+7PpVby5o8fRUY1cZcP0sePZfjrFl9T8caGhcKg0GO34VDiQ== + version "13.1.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-13.1.0.tgz#2be36ca13087325a42c1f26df8267808667cc886" + integrity sha512-Eo5w7/XvwGHWkeGLtdm2FZLOMYoZl1omP2/jgFCXyl2x5yNz7/8vv4Tj6slHvMSSUNTaGoam/GAZ0ZhukvalfA== dependencies: stylelint-config-recommended-scss "^14.0.0" stylelint-config-standard "^36.0.0" stylelint-config-standard@^36.0.0: version "36.0.0" - resolved "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.0.tgz" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-36.0.0.tgz#6704c044d611edc12692d4a5e37b039a441604d4" integrity sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug== dependencies: stylelint-config-recommended "^14.0.0" stylelint-scss@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.1.0.tgz" - integrity sha512-kCfK8TQzthGwb4vaZniZgxRsVbCM4ZckmT1b/H5m4FU3I8Dz0id9llKsy1NMp3XXqC8+OPD4rVKtUbSxXlJb5g== + version "6.3.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-6.3.0.tgz#2020d0f0d21b8b4151f523e303ae8966728a6e54" + integrity sha512-8OSpiuf1xC7f8kllJsBOFAOYp/mR/C1FXMVeOFjtJPw+AFvEmC93FaklHt7MlOqU4poxuQ1TkYMyfI0V+1SxjA== dependencies: - known-css-properties "^0.29.0" + known-css-properties "^0.30.0" postcss-media-query-parser "^0.2.3" postcss-resolve-nested-selector "^0.1.1" postcss-selector-parser "^6.0.15" postcss-value-parser "^4.2.0" stylelint@^16.1.0: - version "16.2.0" - resolved "https://registry.npmjs.org/stylelint/-/stylelint-16.2.0.tgz" - integrity sha512-gwqU5AkIb52wrAzzn+359S3NIJDMl02TXLUaV2tzA/L6jUdpTwNt+MCxHlc8+Hb2bUHlYVo92YeSIryF2gJthA== - dependencies: - "@csstools/css-parser-algorithms" "^2.5.0" - "@csstools/css-tokenizer" "^2.2.3" - "@csstools/media-query-list-parser" "^2.1.7" - "@csstools/selector-specificity" "^3.0.1" + version "16.5.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-16.5.0.tgz#4e3aff7cc2294fa54da729b972a6c38bf2a584a0" + integrity sha512-IlCBtVrG+qTy3v+tZTk50W8BIomjY/RUuzdrDqdnlCYwVuzXtPbiGfxYqtyYAyOMcb+195zRsuHn6tgfPmFfbw== + dependencies: + "@csstools/css-parser-algorithms" "^2.6.1" + "@csstools/css-tokenizer" "^2.2.4" + "@csstools/media-query-list-parser" "^2.1.9" + "@csstools/selector-specificity" "^3.0.3" + "@dual-bundle/import-meta-resolve" "^4.0.0" balanced-match "^2.0.0" colord "^2.9.3" cosmiconfig "^9.0.0" - css-functions-list "^3.2.1" + css-functions-list "^3.2.2" css-tree "^2.3.1" debug "^4.3.4" fast-glob "^3.3.2" @@ -3670,45 +3632,45 @@ stylelint@^16.1.0: globby "^11.1.0" globjoin "^0.1.4" html-tags "^3.3.1" - ignore "^5.3.0" + ignore "^5.3.1" imurmurhash "^0.1.4" is-plain-object "^5.0.0" - known-css-properties "^0.29.0" + known-css-properties "^0.30.0" mathml-tag-names "^2.1.3" - meow "^13.1.0" + meow "^13.2.0" micromatch "^4.0.5" normalize-path "^3.0.0" picocolors "^1.0.0" - postcss "^8.4.33" + postcss "^8.4.38" postcss-resolve-nested-selector "^0.1.1" postcss-safe-parser "^7.0.0" - postcss-selector-parser "^6.0.15" + postcss-selector-parser "^6.0.16" postcss-value-parser "^4.2.0" resolve-from "^5.0.0" string-width "^4.2.3" strip-ansi "^7.1.0" supports-hyperlinks "^3.0.0" svg-tags "^1.0.0" - table "^6.8.1" + table "^6.8.2" write-file-atomic "^5.0.1" supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-hyperlinks@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-3.0.0.tgz#c711352a5c89070779b4dad54c05a2f14b15c94b" integrity sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA== dependencies: has-flag "^4.0.0" @@ -3716,17 +3678,17 @@ supports-hyperlinks@^3.0.0: supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== svg-tags@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== svgo@^2.4.0: version "2.8.0" - resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: "@trysound/sax" "0.2.0" @@ -3738,9 +3700,9 @@ svgo@^2.4.0: stable "^0.1.8" svgo@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz" - integrity sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.0.tgz#26d0b220f44ae96819ed6d040573334366fffa9b" + integrity sha512-y350OL6eAmhDbWcASdukXoG0MbpdfJQPHwEUAaTW1HBNSO2VErJ35fs7uNLSWjzFDhfua517RcouBzjZoO1JFg== dependencies: "@trysound/sax" "0.2.0" commander "^7.2.0" @@ -3750,10 +3712,10 @@ svgo@^3.2.0: csso "^5.0.5" picocolors "^1.0.0" -table@^6.8.1: - version "6.8.1" - resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== +table@^6.8.2: + version "6.8.2" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" + integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== dependencies: ajv "^8.0.1" lodash.truncate "^4.4.2" @@ -3763,29 +3725,29 @@ table@^6.8.1: term-size@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== timsort@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" tsconfig-paths@^3.15.0: version "3.15.0" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== dependencies: "@types/json5" "^0.0.29" @@ -3795,63 +3757,68 @@ tsconfig-paths@^3.15.0: tslib@^2.4.0: version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== dependencies: - call-bind "^1.0.2" + call-bind "^1.0.7" for-each "^0.3.3" - is-typed-array "^1.1.9" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -3860,38 +3827,38 @@ unbox-primitive@^1.0.2: which-boxed-primitive "^1.0.2" update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + version "1.0.15" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz#60ed9f8cba4a728b7ecf7356f641a31e3a691d97" + integrity sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA== dependencies: - escalade "^3.1.1" + escalade "^3.1.2" picocolors "^1.0.0" -uri-js@^4.2.2: +uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" util-deprecate@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== utility-types@^3.10.0: version "3.11.0" - resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz" + resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c" integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== weak-lru-cache@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz#fdbb6741f36bae9540d12f480ce8254060dccd19" integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -3900,68 +3867,50 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-typed-array@^1.1.11, which-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== +which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-tostringtag "^1.0.0" + has-tostringtag "^1.0.2" which@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== dependencies: imurmurhash "^0.1.4" signal-exit "^4.0.1" -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==