power-compass 0.0.1-alpha.1 → 0.0.1-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2299 @@
1
+ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
2
+ var __create = Object.create, __defProp = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __getOwnPropNames = Object.getOwnPropertyNames, __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty, __commonJSMin = (e, w) => () => (w || e((w = { exports: {} }).exports, w), w.exports), __copyProps = (e, w, T, E) => {
3
+ if (w && typeof w == "object" || typeof w == "function") for (var D = __getOwnPropNames(w), O = 0, k = D.length, A; O < k; O++) A = D[O], !__hasOwnProp.call(e, A) && A !== T && __defProp(e, A, {
4
+ get: ((e) => w[e]).bind(null, A),
5
+ enumerable: !(E = __getOwnPropDesc(w, A)) || E.enumerable
6
+ });
7
+ return e;
8
+ }, __toESM = (e, w, T) => (T = e == null ? {} : __create(__getProtoOf(e)), __copyProps(w || !e || !e.__esModule ? __defProp(T, "default", {
9
+ value: e,
10
+ enumerable: !0
11
+ }) : T, e));
12
+ async function fetchBackend(e, w, T, E) {
13
+ let D = new URL(`${e}/${w}/${T}`, window.location.origin);
14
+ D.search = new URLSearchParams(E).toString(), console.debug("Fetching data from backend:", D.toString());
15
+ let O = (w) => {
16
+ if (w.ok) return w.json();
17
+ throw Error(`${e} reponse error: ${w.statusText}`);
18
+ };
19
+ return fetch(D.toString(), { cache: "default" }).then(O).catch(() => fetch(D.toString(), { cache: "force-cache" }).then(O)).catch((w) => {
20
+ throw console.debug(`Failed to fetch from ${e}:`, w), w;
21
+ });
22
+ }
23
+ async function fetchMenu(e, w, T = {}) {
24
+ try {
25
+ return { items: await fetchBackend(e, w, "menu", T) };
26
+ } catch (e) {
27
+ return {
28
+ items: [],
29
+ error: { message: e instanceof Error ? e.message : String(e) }
30
+ };
31
+ }
32
+ }
33
+ const Compass = createContext(void 0), Transformations = {
34
+ flatten(e, w) {
35
+ return e.map(({ items: e, ...T }) => {
36
+ let E = {
37
+ parent: w,
38
+ ...T
39
+ };
40
+ return e ? this.flatten(e, E) : E;
41
+ }).flat();
42
+ },
43
+ trim(e) {
44
+ return e.filter((e) => e.url || e.items || e.modal);
45
+ }
46
+ };
47
+ function applyTransformations(e, w) {
48
+ return Object.keys(w).reduce((e, w) => Transformations[w](e), e);
49
+ }
50
+ var PluginMenuItems = [], PluginFilters = { tagged(e, w) {
51
+ return e.filter((e) => {
52
+ var T;
53
+ return (T = e.tags) == null ? void 0 : T.includes(w);
54
+ });
55
+ } };
56
+ function applyFilters(e, w) {
57
+ return Object.keys(w).reduce((e, T) => PluginFilters[T](e, w[T]), e);
58
+ }
59
+ function fetchPlugin(e = {}) {
60
+ return new Promise((w) => {
61
+ let T = PluginMenuItems.map((e) => Promise.resolve(e));
62
+ Promise.all(T).then((e) => e.filter(Boolean)).then((w) => applyFilters(w, e)).then((e) => w({ items: e })).catch((e) => w({
63
+ items: [],
64
+ error: { message: e instanceof Error ? e.message : String(e) }
65
+ }));
66
+ });
67
+ }
68
+ async function createMenuItem(e) {
69
+ typeof e == "function" ? PluginMenuItems.push(e()) : PluginMenuItems.push(e);
70
+ }
71
+ function sortItems(e) {
72
+ return e.sort((e, w) => ((e == null ? void 0 : e.gravity) || 0) - ((w == null ? void 0 : w.gravity) || 0) || e.label.localeCompare(w.label));
73
+ }
74
+ function useCompassMenu({ filters: e = {}, backends: w, contextId: D, ...O }) {
75
+ let [A, j] = useState([]), [M, N] = useState(!1), P = useContext(Compass), F = w || (P == null ? void 0 : P.backends) || [], I = D || (P == null ? void 0 : P.contextId);
76
+ if (!I) throw Error("contextId is required");
77
+ return useEffect(() => {
78
+ N(!0);
79
+ let w = [...F.map((w) => fetchMenu(w, I.toString(), e)), fetchPlugin(e)];
80
+ Promise.all(w).then((e) => applyTransformations(e.filter((e) => !e.error).flatMap((e) => e.items), O)).then(sortItems).then(j).finally(() => N(!1));
81
+ }, []), {
82
+ items: A,
83
+ loading: M
84
+ };
85
+ }
86
+ var loadFromStorage = (e, w) => {
87
+ try {
88
+ let T = window.localStorage.getItem(e);
89
+ return T ? JSON.parse(T) : w;
90
+ } catch (e) {
91
+ return w;
92
+ }
93
+ }, updateStorage = (e, w) => {
94
+ try {
95
+ window.localStorage.setItem(e, JSON.stringify(w));
96
+ } catch (e) {
97
+ console.debug(e);
98
+ }
99
+ };
100
+ const useLocalStorage = (e, w) => {
101
+ let [T, E] = useState(() => loadFromStorage(e, w)), D = (w) => {
102
+ E(w), updateStorage(e, w);
103
+ };
104
+ return [
105
+ T,
106
+ D,
107
+ () => D(w)
108
+ ];
109
+ };
110
+ function useNotificationCenter({ contextId: e }) {
111
+ let [w, T] = useLocalStorage("notification_center.notifications", []), [D, O] = useState(!0), [A, j] = useState(null);
112
+ return useEffect(() => {
113
+ if (!e) {
114
+ O(!1);
115
+ return;
116
+ }
117
+ (async () => {
118
+ try {
119
+ O(!0), j(null), T((await fetchBackend("compass", String(e), "notifications", {})).map((e) => e.notifications).flat().map((e) => ({
120
+ ...e,
121
+ createdAt: e.date || e.createdAt
122
+ })));
123
+ } catch (e) {
124
+ j(e instanceof Error ? e : /* @__PURE__ */ Error("Unknown error"));
125
+ } finally {
126
+ O(!1);
127
+ }
128
+ })();
129
+ }, [e, T]), {
130
+ notifications: w,
131
+ loading: D,
132
+ error: A
133
+ };
134
+ }
135
+ var require_isObject = /* @__PURE__ */ __commonJSMin(((e, w) => {
136
+ function T(e) {
137
+ var w = typeof e;
138
+ return e != null && (w == "object" || w == "function");
139
+ }
140
+ w.exports = T;
141
+ })), require__baseCreate = /* @__PURE__ */ __commonJSMin(((e, w) => {
142
+ var T = require_isObject(), E = Object.create;
143
+ w.exports = function() {
144
+ function e() {}
145
+ return function(w) {
146
+ if (!T(w)) return {};
147
+ if (E) return E(w);
148
+ e.prototype = w;
149
+ var D = new e();
150
+ return e.prototype = void 0, D;
151
+ };
152
+ }();
153
+ })), require__baseLodash = /* @__PURE__ */ __commonJSMin(((e, w) => {
154
+ function T() {}
155
+ w.exports = T;
156
+ })), require__LazyWrapper = /* @__PURE__ */ __commonJSMin(((e, w) => {
157
+ var T = require__baseCreate(), E = require__baseLodash(), D = 4294967295;
158
+ function O(e) {
159
+ this.__wrapped__ = e, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = D, this.__views__ = [];
160
+ }
161
+ O.prototype = T(E.prototype), O.prototype.constructor = O, w.exports = O;
162
+ })), require__LodashWrapper = /* @__PURE__ */ __commonJSMin(((e, w) => {
163
+ var T = require__baseCreate(), E = require__baseLodash();
164
+ function D(e, w) {
165
+ this.__wrapped__ = e, this.__actions__ = [], this.__chain__ = !!w, this.__index__ = 0, this.__values__ = void 0;
166
+ }
167
+ D.prototype = T(E.prototype), D.prototype.constructor = D, w.exports = D;
168
+ })), require_isArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
169
+ w.exports = Array.isArray;
170
+ })), require_isObjectLike = /* @__PURE__ */ __commonJSMin(((e, w) => {
171
+ function T(e) {
172
+ return typeof e == "object" && !!e;
173
+ }
174
+ w.exports = T;
175
+ })), require__copyArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
176
+ function T(e, w) {
177
+ var T = -1, E = e.length;
178
+ for (w || (w = Array(E)); ++T < E;) w[T] = e[T];
179
+ return w;
180
+ }
181
+ w.exports = T;
182
+ })), require__wrapperClone = /* @__PURE__ */ __commonJSMin(((e, w) => {
183
+ var T = require__LazyWrapper(), E = require__LodashWrapper(), D = require__copyArray();
184
+ function O(e) {
185
+ if (e instanceof T) return e.clone();
186
+ var w = new E(e.__wrapped__, e.__chain__);
187
+ return w.__actions__ = D(e.__actions__), w.__index__ = e.__index__, w.__values__ = e.__values__, w;
188
+ }
189
+ w.exports = O;
190
+ })), require_wrapperLodash = /* @__PURE__ */ __commonJSMin(((e, w) => {
191
+ var T = require__LazyWrapper(), E = require__LodashWrapper(), D = require__baseLodash(), O = require_isArray(), k = require_isObjectLike(), A = require__wrapperClone(), j = Object.prototype.hasOwnProperty;
192
+ function M(e) {
193
+ if (k(e) && !O(e) && !(e instanceof T)) {
194
+ if (e instanceof E) return e;
195
+ if (j.call(e, "__wrapped__")) return A(e);
196
+ }
197
+ return new E(e);
198
+ }
199
+ M.prototype = D.prototype, M.prototype.constructor = M, w.exports = M;
200
+ })), require_chain = /* @__PURE__ */ __commonJSMin(((e, w) => {
201
+ var T = require_wrapperLodash();
202
+ function E(e) {
203
+ var w = T(e);
204
+ return w.__chain__ = !0, w;
205
+ }
206
+ w.exports = E;
207
+ })), require__arrayPush = /* @__PURE__ */ __commonJSMin(((e, w) => {
208
+ function T(e, w) {
209
+ for (var T = -1, E = w.length, D = e.length; ++T < E;) e[D + T] = w[T];
210
+ return e;
211
+ }
212
+ w.exports = T;
213
+ })), require__freeGlobal = /* @__PURE__ */ __commonJSMin(((e, w) => {
214
+ w.exports = typeof global == "object" && global && global.Object === Object && global;
215
+ })), require__root = /* @__PURE__ */ __commonJSMin(((e, w) => {
216
+ var T = require__freeGlobal(), E = typeof self == "object" && self && self.Object === Object && self;
217
+ w.exports = T || E || Function("return this")();
218
+ })), require__Symbol = /* @__PURE__ */ __commonJSMin(((e, w) => {
219
+ w.exports = require__root().Symbol;
220
+ })), require__getRawTag = /* @__PURE__ */ __commonJSMin(((e, w) => {
221
+ var T = require__Symbol(), E = Object.prototype, D = E.hasOwnProperty, O = E.toString, k = T ? T.toStringTag : void 0;
222
+ function A(e) {
223
+ var w = D.call(e, k), T = e[k];
224
+ try {
225
+ e[k] = void 0;
226
+ var E = !0;
227
+ } catch (e) {}
228
+ var A = O.call(e);
229
+ return E && (w ? e[k] = T : delete e[k]), A;
230
+ }
231
+ w.exports = A;
232
+ })), require__objectToString = /* @__PURE__ */ __commonJSMin(((e, w) => {
233
+ var T = Object.prototype.toString;
234
+ function E(e) {
235
+ return T.call(e);
236
+ }
237
+ w.exports = E;
238
+ })), require__baseGetTag = /* @__PURE__ */ __commonJSMin(((e, w) => {
239
+ var T = require__Symbol(), E = require__getRawTag(), D = require__objectToString(), O = "[object Null]", k = "[object Undefined]", A = T ? T.toStringTag : void 0;
240
+ function j(e) {
241
+ return e == null ? e === void 0 ? k : O : A && A in Object(e) ? E(e) : D(e);
242
+ }
243
+ w.exports = j;
244
+ })), require__baseIsArguments = /* @__PURE__ */ __commonJSMin(((e, w) => {
245
+ var T = require__baseGetTag(), E = require_isObjectLike(), D = "[object Arguments]";
246
+ function O(e) {
247
+ return E(e) && T(e) == D;
248
+ }
249
+ w.exports = O;
250
+ })), require_isArguments = /* @__PURE__ */ __commonJSMin(((e, w) => {
251
+ var T = require__baseIsArguments(), E = require_isObjectLike(), D = Object.prototype, O = D.hasOwnProperty, k = D.propertyIsEnumerable;
252
+ w.exports = T(function() {
253
+ return arguments;
254
+ }()) ? T : function(e) {
255
+ return E(e) && O.call(e, "callee") && !k.call(e, "callee");
256
+ };
257
+ })), require__isFlattenable = /* @__PURE__ */ __commonJSMin(((e, w) => {
258
+ var T = require__Symbol(), E = require_isArguments(), D = require_isArray(), O = T ? T.isConcatSpreadable : void 0;
259
+ function k(e) {
260
+ return D(e) || E(e) || !!(O && e && e[O]);
261
+ }
262
+ w.exports = k;
263
+ })), require__baseFlatten = /* @__PURE__ */ __commonJSMin(((e, w) => {
264
+ var T = require__arrayPush(), E = require__isFlattenable();
265
+ function D(e, w, O, k, A) {
266
+ var j = -1, M = e.length;
267
+ for (O || (O = E), A || (A = []); ++j < M;) {
268
+ var N = e[j];
269
+ w > 0 && O(N) ? w > 1 ? D(N, w - 1, O, k, A) : T(A, N) : k || (A[A.length] = N);
270
+ }
271
+ return A;
272
+ }
273
+ w.exports = D;
274
+ })), require__arrayMap = /* @__PURE__ */ __commonJSMin(((e, w) => {
275
+ function T(e, w) {
276
+ for (var T = -1, E = e == null ? 0 : e.length, D = Array(E); ++T < E;) D[T] = w(e[T], T, e);
277
+ return D;
278
+ }
279
+ w.exports = T;
280
+ })), require_isSymbol = /* @__PURE__ */ __commonJSMin(((e, w) => {
281
+ var T = require__baseGetTag(), E = require_isObjectLike(), D = "[object Symbol]";
282
+ function O(e) {
283
+ return typeof e == "symbol" || E(e) && T(e) == D;
284
+ }
285
+ w.exports = O;
286
+ })), require__isKey = /* @__PURE__ */ __commonJSMin(((e, w) => {
287
+ var T = require_isArray(), E = require_isSymbol(), D = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, O = /^\w*$/;
288
+ function k(e, w) {
289
+ if (T(e)) return !1;
290
+ var k = typeof e;
291
+ return k == "number" || k == "symbol" || k == "boolean" || e == null || E(e) ? !0 : O.test(e) || !D.test(e) || w != null && e in Object(w);
292
+ }
293
+ w.exports = k;
294
+ })), require_isFunction = /* @__PURE__ */ __commonJSMin(((e, w) => {
295
+ var T = require__baseGetTag(), E = require_isObject(), D = "[object AsyncFunction]", O = "[object Function]", k = "[object GeneratorFunction]", A = "[object Proxy]";
296
+ function j(e) {
297
+ if (!E(e)) return !1;
298
+ var w = T(e);
299
+ return w == O || w == k || w == D || w == A;
300
+ }
301
+ w.exports = j;
302
+ })), require__coreJsData = /* @__PURE__ */ __commonJSMin(((e, w) => {
303
+ w.exports = require__root()["__core-js_shared__"];
304
+ })), require__isMasked = /* @__PURE__ */ __commonJSMin(((e, w) => {
305
+ var T = require__coreJsData(), E = function() {
306
+ var e = /[^.]+$/.exec(T && T.keys && T.keys.IE_PROTO || "");
307
+ return e ? "Symbol(src)_1." + e : "";
308
+ }();
309
+ function D(e) {
310
+ return !!E && E in e;
311
+ }
312
+ w.exports = D;
313
+ })), require__toSource = /* @__PURE__ */ __commonJSMin(((e, w) => {
314
+ var T = Function.prototype.toString;
315
+ function E(e) {
316
+ if (e != null) {
317
+ try {
318
+ return T.call(e);
319
+ } catch (e) {}
320
+ try {
321
+ return e + "";
322
+ } catch (e) {}
323
+ }
324
+ return "";
325
+ }
326
+ w.exports = E;
327
+ })), require__baseIsNative = /* @__PURE__ */ __commonJSMin(((e, w) => {
328
+ var T = require_isFunction(), E = require__isMasked(), D = require_isObject(), O = require__toSource(), k = /[\\^$.*+?()[\]{}|]/g, A = /^\[object .+?Constructor\]$/, j = Function.prototype, M = Object.prototype, N = j.toString, P = M.hasOwnProperty, F = RegExp("^" + N.call(P).replace(k, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
329
+ function I(e) {
330
+ return !D(e) || E(e) ? !1 : (T(e) ? F : A).test(O(e));
331
+ }
332
+ w.exports = I;
333
+ })), require__getValue = /* @__PURE__ */ __commonJSMin(((e, w) => {
334
+ function T(e, w) {
335
+ return e == null ? void 0 : e[w];
336
+ }
337
+ w.exports = T;
338
+ })), require__getNative = /* @__PURE__ */ __commonJSMin(((e, w) => {
339
+ var T = require__baseIsNative(), E = require__getValue();
340
+ function D(e, w) {
341
+ var D = E(e, w);
342
+ return T(D) ? D : void 0;
343
+ }
344
+ w.exports = D;
345
+ })), require__nativeCreate = /* @__PURE__ */ __commonJSMin(((e, w) => {
346
+ w.exports = require__getNative()(Object, "create");
347
+ })), require__hashClear = /* @__PURE__ */ __commonJSMin(((e, w) => {
348
+ var T = require__nativeCreate();
349
+ function E() {
350
+ this.__data__ = T ? T(null) : {}, this.size = 0;
351
+ }
352
+ w.exports = E;
353
+ })), require__hashDelete = /* @__PURE__ */ __commonJSMin(((e, w) => {
354
+ function T(e) {
355
+ var w = this.has(e) && delete this.__data__[e];
356
+ return this.size -= w ? 1 : 0, w;
357
+ }
358
+ w.exports = T;
359
+ })), require__hashGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
360
+ var T = require__nativeCreate(), E = "__lodash_hash_undefined__", D = Object.prototype.hasOwnProperty;
361
+ function O(e) {
362
+ var w = this.__data__;
363
+ if (T) {
364
+ var O = w[e];
365
+ return O === E ? void 0 : O;
366
+ }
367
+ return D.call(w, e) ? w[e] : void 0;
368
+ }
369
+ w.exports = O;
370
+ })), require__hashHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
371
+ var T = require__nativeCreate(), E = Object.prototype.hasOwnProperty;
372
+ function D(e) {
373
+ var w = this.__data__;
374
+ return T ? w[e] !== void 0 : E.call(w, e);
375
+ }
376
+ w.exports = D;
377
+ })), require__hashSet = /* @__PURE__ */ __commonJSMin(((e, w) => {
378
+ var T = require__nativeCreate(), E = "__lodash_hash_undefined__";
379
+ function D(e, w) {
380
+ var D = this.__data__;
381
+ return this.size += this.has(e) ? 0 : 1, D[e] = T && w === void 0 ? E : w, this;
382
+ }
383
+ w.exports = D;
384
+ })), require__Hash = /* @__PURE__ */ __commonJSMin(((e, w) => {
385
+ var T = require__hashClear(), E = require__hashDelete(), D = require__hashGet(), O = require__hashHas(), k = require__hashSet();
386
+ function A(e) {
387
+ var w = -1, T = e == null ? 0 : e.length;
388
+ for (this.clear(); ++w < T;) {
389
+ var E = e[w];
390
+ this.set(E[0], E[1]);
391
+ }
392
+ }
393
+ A.prototype.clear = T, A.prototype.delete = E, A.prototype.get = D, A.prototype.has = O, A.prototype.set = k, w.exports = A;
394
+ })), require__listCacheClear = /* @__PURE__ */ __commonJSMin(((e, w) => {
395
+ function T() {
396
+ this.__data__ = [], this.size = 0;
397
+ }
398
+ w.exports = T;
399
+ })), require_eq = /* @__PURE__ */ __commonJSMin(((e, w) => {
400
+ function T(e, w) {
401
+ return e === w || e !== e && w !== w;
402
+ }
403
+ w.exports = T;
404
+ })), require__assocIndexOf = /* @__PURE__ */ __commonJSMin(((e, w) => {
405
+ var T = require_eq();
406
+ function E(e, w) {
407
+ for (var E = e.length; E--;) if (T(e[E][0], w)) return E;
408
+ return -1;
409
+ }
410
+ w.exports = E;
411
+ })), require__listCacheDelete = /* @__PURE__ */ __commonJSMin(((e, w) => {
412
+ var T = require__assocIndexOf(), E = Array.prototype.splice;
413
+ function D(e) {
414
+ var w = this.__data__, D = T(w, e);
415
+ return D < 0 ? !1 : (D == w.length - 1 ? w.pop() : E.call(w, D, 1), --this.size, !0);
416
+ }
417
+ w.exports = D;
418
+ })), require__listCacheGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
419
+ var T = require__assocIndexOf();
420
+ function E(e) {
421
+ var w = this.__data__, E = T(w, e);
422
+ return E < 0 ? void 0 : w[E][1];
423
+ }
424
+ w.exports = E;
425
+ })), require__listCacheHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
426
+ var T = require__assocIndexOf();
427
+ function E(e) {
428
+ return T(this.__data__, e) > -1;
429
+ }
430
+ w.exports = E;
431
+ })), require__listCacheSet = /* @__PURE__ */ __commonJSMin(((e, w) => {
432
+ var T = require__assocIndexOf();
433
+ function E(e, w) {
434
+ var E = this.__data__, D = T(E, e);
435
+ return D < 0 ? (++this.size, E.push([e, w])) : E[D][1] = w, this;
436
+ }
437
+ w.exports = E;
438
+ })), require__ListCache = /* @__PURE__ */ __commonJSMin(((e, w) => {
439
+ var T = require__listCacheClear(), E = require__listCacheDelete(), D = require__listCacheGet(), O = require__listCacheHas(), k = require__listCacheSet();
440
+ function A(e) {
441
+ var w = -1, T = e == null ? 0 : e.length;
442
+ for (this.clear(); ++w < T;) {
443
+ var E = e[w];
444
+ this.set(E[0], E[1]);
445
+ }
446
+ }
447
+ A.prototype.clear = T, A.prototype.delete = E, A.prototype.get = D, A.prototype.has = O, A.prototype.set = k, w.exports = A;
448
+ })), require__Map = /* @__PURE__ */ __commonJSMin(((e, w) => {
449
+ w.exports = require__getNative()(require__root(), "Map");
450
+ })), require__mapCacheClear = /* @__PURE__ */ __commonJSMin(((e, w) => {
451
+ var T = require__Hash(), E = require__ListCache(), D = require__Map();
452
+ function O() {
453
+ this.size = 0, this.__data__ = {
454
+ hash: new T(),
455
+ map: new (D || E)(),
456
+ string: new T()
457
+ };
458
+ }
459
+ w.exports = O;
460
+ })), require__isKeyable = /* @__PURE__ */ __commonJSMin(((e, w) => {
461
+ function T(e) {
462
+ var w = typeof e;
463
+ return w == "string" || w == "number" || w == "symbol" || w == "boolean" ? e !== "__proto__" : e === null;
464
+ }
465
+ w.exports = T;
466
+ })), require__getMapData = /* @__PURE__ */ __commonJSMin(((e, w) => {
467
+ var T = require__isKeyable();
468
+ function E(e, w) {
469
+ var E = e.__data__;
470
+ return T(w) ? E[typeof w == "string" ? "string" : "hash"] : E.map;
471
+ }
472
+ w.exports = E;
473
+ })), require__mapCacheDelete = /* @__PURE__ */ __commonJSMin(((e, w) => {
474
+ var T = require__getMapData();
475
+ function E(e) {
476
+ var w = T(this, e).delete(e);
477
+ return this.size -= w ? 1 : 0, w;
478
+ }
479
+ w.exports = E;
480
+ })), require__mapCacheGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
481
+ var T = require__getMapData();
482
+ function E(e) {
483
+ return T(this, e).get(e);
484
+ }
485
+ w.exports = E;
486
+ })), require__mapCacheHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
487
+ var T = require__getMapData();
488
+ function E(e) {
489
+ return T(this, e).has(e);
490
+ }
491
+ w.exports = E;
492
+ })), require__mapCacheSet = /* @__PURE__ */ __commonJSMin(((e, w) => {
493
+ var T = require__getMapData();
494
+ function E(e, w) {
495
+ var E = T(this, e), D = E.size;
496
+ return E.set(e, w), this.size += E.size == D ? 0 : 1, this;
497
+ }
498
+ w.exports = E;
499
+ })), require__MapCache = /* @__PURE__ */ __commonJSMin(((e, w) => {
500
+ var T = require__mapCacheClear(), E = require__mapCacheDelete(), D = require__mapCacheGet(), O = require__mapCacheHas(), k = require__mapCacheSet();
501
+ function A(e) {
502
+ var w = -1, T = e == null ? 0 : e.length;
503
+ for (this.clear(); ++w < T;) {
504
+ var E = e[w];
505
+ this.set(E[0], E[1]);
506
+ }
507
+ }
508
+ A.prototype.clear = T, A.prototype.delete = E, A.prototype.get = D, A.prototype.has = O, A.prototype.set = k, w.exports = A;
509
+ })), require_memoize = /* @__PURE__ */ __commonJSMin(((e, w) => {
510
+ var T = require__MapCache(), E = "Expected a function";
511
+ function D(e, w) {
512
+ if (typeof e != "function" || w != null && typeof w != "function") throw TypeError(E);
513
+ var O = function() {
514
+ var T = arguments, E = w ? w.apply(this, T) : T[0], D = O.cache;
515
+ if (D.has(E)) return D.get(E);
516
+ var k = e.apply(this, T);
517
+ return O.cache = D.set(E, k) || D, k;
518
+ };
519
+ return O.cache = new (D.Cache || T)(), O;
520
+ }
521
+ D.Cache = T, w.exports = D;
522
+ })), require__memoizeCapped = /* @__PURE__ */ __commonJSMin(((e, w) => {
523
+ var T = require_memoize(), E = 500;
524
+ function D(e) {
525
+ var w = T(e, function(e) {
526
+ return D.size === E && D.clear(), e;
527
+ }), D = w.cache;
528
+ return w;
529
+ }
530
+ w.exports = D;
531
+ })), require__stringToPath = /* @__PURE__ */ __commonJSMin(((e, w) => {
532
+ var T = require__memoizeCapped(), E = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, D = /\\(\\)?/g;
533
+ w.exports = T(function(e) {
534
+ var w = [];
535
+ return e.charCodeAt(0) === 46 && w.push(""), e.replace(E, function(e, T, E, O) {
536
+ w.push(E ? O.replace(D, "$1") : T || e);
537
+ }), w;
538
+ });
539
+ })), require__baseToString = /* @__PURE__ */ __commonJSMin(((e, w) => {
540
+ var T = require__Symbol(), E = require__arrayMap(), D = require_isArray(), O = require_isSymbol(), k = Infinity, A = T ? T.prototype : void 0, j = A ? A.toString : void 0;
541
+ function M(e) {
542
+ if (typeof e == "string") return e;
543
+ if (D(e)) return E(e, M) + "";
544
+ if (O(e)) return j ? j.call(e) : "";
545
+ var w = e + "";
546
+ return w == "0" && 1 / e == -k ? "-0" : w;
547
+ }
548
+ w.exports = M;
549
+ })), require_toString = /* @__PURE__ */ __commonJSMin(((e, w) => {
550
+ var T = require__baseToString();
551
+ function E(e) {
552
+ return e == null ? "" : T(e);
553
+ }
554
+ w.exports = E;
555
+ })), require__castPath = /* @__PURE__ */ __commonJSMin(((e, w) => {
556
+ var T = require_isArray(), E = require__isKey(), D = require__stringToPath(), O = require_toString();
557
+ function k(e, w) {
558
+ return T(e) ? e : E(e, w) ? [e] : D(O(e));
559
+ }
560
+ w.exports = k;
561
+ })), require__toKey = /* @__PURE__ */ __commonJSMin(((e, w) => {
562
+ var T = require_isSymbol(), E = Infinity;
563
+ function D(e) {
564
+ if (typeof e == "string" || T(e)) return e;
565
+ var w = e + "";
566
+ return w == "0" && 1 / e == -E ? "-0" : w;
567
+ }
568
+ w.exports = D;
569
+ })), require__baseGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
570
+ var T = require__castPath(), E = require__toKey();
571
+ function D(e, w) {
572
+ w = T(w, e);
573
+ for (var D = 0, O = w.length; e != null && D < O;) e = e[E(w[D++])];
574
+ return D && D == O ? e : void 0;
575
+ }
576
+ w.exports = D;
577
+ })), require__stackClear = /* @__PURE__ */ __commonJSMin(((e, w) => {
578
+ var T = require__ListCache();
579
+ function E() {
580
+ this.__data__ = new T(), this.size = 0;
581
+ }
582
+ w.exports = E;
583
+ })), require__stackDelete = /* @__PURE__ */ __commonJSMin(((e, w) => {
584
+ function T(e) {
585
+ var w = this.__data__, T = w.delete(e);
586
+ return this.size = w.size, T;
587
+ }
588
+ w.exports = T;
589
+ })), require__stackGet = /* @__PURE__ */ __commonJSMin(((e, w) => {
590
+ function T(e) {
591
+ return this.__data__.get(e);
592
+ }
593
+ w.exports = T;
594
+ })), require__stackHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
595
+ function T(e) {
596
+ return this.__data__.has(e);
597
+ }
598
+ w.exports = T;
599
+ })), require__stackSet = /* @__PURE__ */ __commonJSMin(((e, w) => {
600
+ var T = require__ListCache(), E = require__Map(), D = require__MapCache(), O = 200;
601
+ function k(e, w) {
602
+ var k = this.__data__;
603
+ if (k instanceof T) {
604
+ var A = k.__data__;
605
+ if (!E || A.length < O - 1) return A.push([e, w]), this.size = ++k.size, this;
606
+ k = this.__data__ = new D(A);
607
+ }
608
+ return k.set(e, w), this.size = k.size, this;
609
+ }
610
+ w.exports = k;
611
+ })), require__Stack = /* @__PURE__ */ __commonJSMin(((e, w) => {
612
+ var T = require__ListCache(), E = require__stackClear(), D = require__stackDelete(), O = require__stackGet(), k = require__stackHas(), A = require__stackSet();
613
+ function j(e) {
614
+ this.size = (this.__data__ = new T(e)).size;
615
+ }
616
+ j.prototype.clear = E, j.prototype.delete = D, j.prototype.get = O, j.prototype.has = k, j.prototype.set = A, w.exports = j;
617
+ })), require__setCacheAdd = /* @__PURE__ */ __commonJSMin(((e, w) => {
618
+ var T = "__lodash_hash_undefined__";
619
+ function E(e) {
620
+ return this.__data__.set(e, T), this;
621
+ }
622
+ w.exports = E;
623
+ })), require__setCacheHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
624
+ function T(e) {
625
+ return this.__data__.has(e);
626
+ }
627
+ w.exports = T;
628
+ })), require__SetCache = /* @__PURE__ */ __commonJSMin(((e, w) => {
629
+ var T = require__MapCache(), E = require__setCacheAdd(), D = require__setCacheHas();
630
+ function O(e) {
631
+ var w = -1, E = e == null ? 0 : e.length;
632
+ for (this.__data__ = new T(); ++w < E;) this.add(e[w]);
633
+ }
634
+ O.prototype.add = O.prototype.push = E, O.prototype.has = D, w.exports = O;
635
+ })), require__arraySome = /* @__PURE__ */ __commonJSMin(((e, w) => {
636
+ function T(e, w) {
637
+ for (var T = -1, E = e == null ? 0 : e.length; ++T < E;) if (w(e[T], T, e)) return !0;
638
+ return !1;
639
+ }
640
+ w.exports = T;
641
+ })), require__cacheHas = /* @__PURE__ */ __commonJSMin(((e, w) => {
642
+ function T(e, w) {
643
+ return e.has(w);
644
+ }
645
+ w.exports = T;
646
+ })), require__equalArrays = /* @__PURE__ */ __commonJSMin(((e, w) => {
647
+ var T = require__SetCache(), E = require__arraySome(), D = require__cacheHas(), O = 1, k = 2;
648
+ function A(e, w, A, j, M, N) {
649
+ var P = A & O, F = e.length, I = w.length;
650
+ if (F != I && !(P && I > F)) return !1;
651
+ var L = N.get(e), R = N.get(w);
652
+ if (L && R) return L == w && R == e;
653
+ var z = -1, B = !0, V = A & k ? new T() : void 0;
654
+ for (N.set(e, w), N.set(w, e); ++z < F;) {
655
+ var H = e[z], U = w[z];
656
+ if (j) var W = P ? j(U, H, z, w, e, N) : j(H, U, z, e, w, N);
657
+ if (W !== void 0) {
658
+ if (W) continue;
659
+ B = !1;
660
+ break;
661
+ }
662
+ if (V) {
663
+ if (!E(w, function(e, w) {
664
+ if (!D(V, w) && (H === e || M(H, e, A, j, N))) return V.push(w);
665
+ })) {
666
+ B = !1;
667
+ break;
668
+ }
669
+ } else if (!(H === U || M(H, U, A, j, N))) {
670
+ B = !1;
671
+ break;
672
+ }
673
+ }
674
+ return N.delete(e), N.delete(w), B;
675
+ }
676
+ w.exports = A;
677
+ })), require__Uint8Array = /* @__PURE__ */ __commonJSMin(((e, w) => {
678
+ w.exports = require__root().Uint8Array;
679
+ })), require__mapToArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
680
+ function T(e) {
681
+ var w = -1, T = Array(e.size);
682
+ return e.forEach(function(e, E) {
683
+ T[++w] = [E, e];
684
+ }), T;
685
+ }
686
+ w.exports = T;
687
+ })), require__setToArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
688
+ function T(e) {
689
+ var w = -1, T = Array(e.size);
690
+ return e.forEach(function(e) {
691
+ T[++w] = e;
692
+ }), T;
693
+ }
694
+ w.exports = T;
695
+ })), require__equalByTag = /* @__PURE__ */ __commonJSMin(((e, w) => {
696
+ var T = require__Symbol(), E = require__Uint8Array(), D = require_eq(), O = require__equalArrays(), k = require__mapToArray(), A = require__setToArray(), j = 1, M = 2, N = "[object Boolean]", P = "[object Date]", F = "[object Error]", I = "[object Map]", L = "[object Number]", R = "[object RegExp]", z = "[object Set]", B = "[object String]", V = "[object Symbol]", H = "[object ArrayBuffer]", U = "[object DataView]", W = T ? T.prototype : void 0, G = W ? W.valueOf : void 0;
697
+ function K(e, w, T, W, K, q, J) {
698
+ switch (T) {
699
+ case U:
700
+ if (e.byteLength != w.byteLength || e.byteOffset != w.byteOffset) return !1;
701
+ e = e.buffer, w = w.buffer;
702
+ case H: return !(e.byteLength != w.byteLength || !q(new E(e), new E(w)));
703
+ case N:
704
+ case P:
705
+ case L: return D(+e, +w);
706
+ case F: return e.name == w.name && e.message == w.message;
707
+ case R:
708
+ case B: return e == w + "";
709
+ case I: var Y = k;
710
+ case z:
711
+ var X = W & j;
712
+ if (Y || (Y = A), e.size != w.size && !X) return !1;
713
+ var Z = J.get(e);
714
+ if (Z) return Z == w;
715
+ W |= M, J.set(e, w);
716
+ var Q = O(Y(e), Y(w), W, K, q, J);
717
+ return J.delete(e), Q;
718
+ case V: if (G) return G.call(e) == G.call(w);
719
+ }
720
+ return !1;
721
+ }
722
+ w.exports = K;
723
+ })), require__baseGetAllKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
724
+ var T = require__arrayPush(), E = require_isArray();
725
+ function D(e, w, D) {
726
+ var O = w(e);
727
+ return E(e) ? O : T(O, D(e));
728
+ }
729
+ w.exports = D;
730
+ })), require__arrayFilter = /* @__PURE__ */ __commonJSMin(((e, w) => {
731
+ function T(e, w) {
732
+ for (var T = -1, E = e == null ? 0 : e.length, D = 0, O = []; ++T < E;) {
733
+ var k = e[T];
734
+ w(k, T, e) && (O[D++] = k);
735
+ }
736
+ return O;
737
+ }
738
+ w.exports = T;
739
+ })), require_stubArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
740
+ function T() {
741
+ return [];
742
+ }
743
+ w.exports = T;
744
+ })), require__getSymbols = /* @__PURE__ */ __commonJSMin(((e, w) => {
745
+ var T = require__arrayFilter(), E = require_stubArray(), D = Object.prototype.propertyIsEnumerable, O = Object.getOwnPropertySymbols;
746
+ w.exports = O ? function(e) {
747
+ return e == null ? [] : (e = Object(e), T(O(e), function(w) {
748
+ return D.call(e, w);
749
+ }));
750
+ } : E;
751
+ })), require__baseTimes = /* @__PURE__ */ __commonJSMin(((e, w) => {
752
+ function T(e, w) {
753
+ for (var T = -1, E = Array(e); ++T < e;) E[T] = w(T);
754
+ return E;
755
+ }
756
+ w.exports = T;
757
+ })), require_stubFalse = /* @__PURE__ */ __commonJSMin(((e, w) => {
758
+ function T() {
759
+ return !1;
760
+ }
761
+ w.exports = T;
762
+ })), require_isBuffer = /* @__PURE__ */ __commonJSMin(((e, w) => {
763
+ var T = require__root(), E = require_stubFalse(), D = typeof e == "object" && e && !e.nodeType && e, O = D && typeof w == "object" && w && !w.nodeType && w, k = O && O.exports === D ? T.Buffer : void 0;
764
+ w.exports = (k ? k.isBuffer : void 0) || E;
765
+ })), require__isIndex = /* @__PURE__ */ __commonJSMin(((e, w) => {
766
+ var T = 9007199254740991, E = /^(?:0|[1-9]\d*)$/;
767
+ function D(e, w) {
768
+ var D = typeof e;
769
+ return w = w == null ? T : w, !!w && (D == "number" || D != "symbol" && E.test(e)) && e > -1 && e % 1 == 0 && e < w;
770
+ }
771
+ w.exports = D;
772
+ })), require_isLength = /* @__PURE__ */ __commonJSMin(((e, w) => {
773
+ var T = 9007199254740991;
774
+ function E(e) {
775
+ return typeof e == "number" && e > -1 && e % 1 == 0 && e <= T;
776
+ }
777
+ w.exports = E;
778
+ })), require__baseIsTypedArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
779
+ var T = require__baseGetTag(), E = require_isLength(), D = require_isObjectLike(), O = "[object Arguments]", k = "[object Array]", A = "[object Boolean]", j = "[object Date]", M = "[object Error]", N = "[object Function]", P = "[object Map]", F = "[object Number]", I = "[object Object]", L = "[object RegExp]", R = "[object Set]", z = "[object String]", B = "[object WeakMap]", V = "[object ArrayBuffer]", H = "[object DataView]", U = "[object Float32Array]", W = "[object Float64Array]", G = "[object Int8Array]", K = "[object Int16Array]", q = "[object Int32Array]", J = "[object Uint8Array]", Y = "[object Uint8ClampedArray]", X = "[object Uint16Array]", Z = "[object Uint32Array]", Q = {};
780
+ Q[U] = Q[W] = Q[G] = Q[K] = Q[q] = Q[J] = Q[Y] = Q[X] = Q[Z] = !0, Q[O] = Q[k] = Q[V] = Q[A] = Q[H] = Q[j] = Q[M] = Q[N] = Q[P] = Q[F] = Q[I] = Q[L] = Q[R] = Q[z] = Q[B] = !1;
781
+ function $(e) {
782
+ return D(e) && E(e.length) && !!Q[T(e)];
783
+ }
784
+ w.exports = $;
785
+ })), require__baseUnary = /* @__PURE__ */ __commonJSMin(((e, w) => {
786
+ function T(e) {
787
+ return function(w) {
788
+ return e(w);
789
+ };
790
+ }
791
+ w.exports = T;
792
+ })), require__nodeUtil = /* @__PURE__ */ __commonJSMin(((e, w) => {
793
+ var T = require__freeGlobal(), E = typeof e == "object" && e && !e.nodeType && e, D = E && typeof w == "object" && w && !w.nodeType && w, O = D && D.exports === E && T.process;
794
+ w.exports = function() {
795
+ try {
796
+ return D && D.require && D.require("util").types || O && O.binding && O.binding("util");
797
+ } catch (e) {}
798
+ }();
799
+ })), require_isTypedArray = /* @__PURE__ */ __commonJSMin(((e, w) => {
800
+ var T = require__baseIsTypedArray(), E = require__baseUnary(), D = require__nodeUtil(), O = D && D.isTypedArray;
801
+ w.exports = O ? E(O) : T;
802
+ })), require__arrayLikeKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
803
+ var T = require__baseTimes(), E = require_isArguments(), D = require_isArray(), O = require_isBuffer(), k = require__isIndex(), A = require_isTypedArray(), j = Object.prototype.hasOwnProperty;
804
+ function M(e, w) {
805
+ var M = D(e), N = !M && E(e), P = !M && !N && O(e), F = !M && !N && !P && A(e), I = M || N || P || F, L = I ? T(e.length, String) : [], R = L.length;
806
+ for (var z in e) (w || j.call(e, z)) && !(I && (z == "length" || P && (z == "offset" || z == "parent") || F && (z == "buffer" || z == "byteLength" || z == "byteOffset") || k(z, R))) && L.push(z);
807
+ return L;
808
+ }
809
+ w.exports = M;
810
+ })), require__isPrototype = /* @__PURE__ */ __commonJSMin(((e, w) => {
811
+ var T = Object.prototype;
812
+ function E(e) {
813
+ var w = e && e.constructor;
814
+ return e === (typeof w == "function" && w.prototype || T);
815
+ }
816
+ w.exports = E;
817
+ })), require__overArg = /* @__PURE__ */ __commonJSMin(((e, w) => {
818
+ function T(e, w) {
819
+ return function(T) {
820
+ return e(w(T));
821
+ };
822
+ }
823
+ w.exports = T;
824
+ })), require__nativeKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
825
+ w.exports = require__overArg()(Object.keys, Object);
826
+ })), require__baseKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
827
+ var T = require__isPrototype(), E = require__nativeKeys(), D = Object.prototype.hasOwnProperty;
828
+ function O(e) {
829
+ if (!T(e)) return E(e);
830
+ var w = [];
831
+ for (var O in Object(e)) D.call(e, O) && O != "constructor" && w.push(O);
832
+ return w;
833
+ }
834
+ w.exports = O;
835
+ })), require_isArrayLike = /* @__PURE__ */ __commonJSMin(((e, w) => {
836
+ var T = require_isFunction(), E = require_isLength();
837
+ function D(e) {
838
+ return e != null && E(e.length) && !T(e);
839
+ }
840
+ w.exports = D;
841
+ })), require_keys = /* @__PURE__ */ __commonJSMin(((e, w) => {
842
+ var T = require__arrayLikeKeys(), E = require__baseKeys(), D = require_isArrayLike();
843
+ function O(e) {
844
+ return D(e) ? T(e) : E(e);
845
+ }
846
+ w.exports = O;
847
+ })), require__getAllKeys = /* @__PURE__ */ __commonJSMin(((e, w) => {
848
+ var T = require__baseGetAllKeys(), E = require__getSymbols(), D = require_keys();
849
+ function O(e) {
850
+ return T(e, D, E);
851
+ }
852
+ w.exports = O;
853
+ })), require__equalObjects = /* @__PURE__ */ __commonJSMin(((e, w) => {
854
+ var T = require__getAllKeys(), E = 1, D = Object.prototype.hasOwnProperty;
855
+ function O(e, w, O, k, A, j) {
856
+ var M = O & E, N = T(e), P = N.length;
857
+ if (P != T(w).length && !M) return !1;
858
+ for (var F = P; F--;) {
859
+ var I = N[F];
860
+ if (!(M ? I in w : D.call(w, I))) return !1;
861
+ }
862
+ var L = j.get(e), R = j.get(w);
863
+ if (L && R) return L == w && R == e;
864
+ var z = !0;
865
+ j.set(e, w), j.set(w, e);
866
+ for (var B = M; ++F < P;) {
867
+ I = N[F];
868
+ var V = e[I], H = w[I];
869
+ if (k) var U = M ? k(H, V, I, w, e, j) : k(V, H, I, e, w, j);
870
+ if (!(U === void 0 ? V === H || A(V, H, O, k, j) : U)) {
871
+ z = !1;
872
+ break;
873
+ }
874
+ B || (B = I == "constructor");
875
+ }
876
+ if (z && !B) {
877
+ var W = e.constructor, G = w.constructor;
878
+ W != G && "constructor" in e && "constructor" in w && !(typeof W == "function" && W instanceof W && typeof G == "function" && G instanceof G) && (z = !1);
879
+ }
880
+ return j.delete(e), j.delete(w), z;
881
+ }
882
+ w.exports = O;
883
+ })), require__DataView = /* @__PURE__ */ __commonJSMin(((e, w) => {
884
+ w.exports = require__getNative()(require__root(), "DataView");
885
+ })), require__Promise = /* @__PURE__ */ __commonJSMin(((e, w) => {
886
+ w.exports = require__getNative()(require__root(), "Promise");
887
+ })), require__Set = /* @__PURE__ */ __commonJSMin(((e, w) => {
888
+ w.exports = require__getNative()(require__root(), "Set");
889
+ })), require__WeakMap = /* @__PURE__ */ __commonJSMin(((e, w) => {
890
+ w.exports = require__getNative()(require__root(), "WeakMap");
891
+ })), require__getTag = /* @__PURE__ */ __commonJSMin(((e, w) => {
892
+ var T = require__DataView(), E = require__Map(), D = require__Promise(), O = require__Set(), k = require__WeakMap(), A = require__baseGetTag(), j = require__toSource(), M = "[object Map]", N = "[object Object]", P = "[object Promise]", F = "[object Set]", I = "[object WeakMap]", L = "[object DataView]", R = j(T), z = j(E), B = j(D), V = j(O), H = j(k), U = A;
893
+ (T && U(new T(/* @__PURE__ */ new ArrayBuffer(1))) != L || E && U(new E()) != M || D && U(D.resolve()) != P || O && U(new O()) != F || k && U(new k()) != I) && (U = function(e) {
894
+ var w = A(e), T = w == N ? e.constructor : void 0, E = T ? j(T) : "";
895
+ if (E) switch (E) {
896
+ case R: return L;
897
+ case z: return M;
898
+ case B: return P;
899
+ case V: return F;
900
+ case H: return I;
901
+ }
902
+ return w;
903
+ }), w.exports = U;
904
+ })), require__baseIsEqualDeep = /* @__PURE__ */ __commonJSMin(((e, w) => {
905
+ var T = require__Stack(), E = require__equalArrays(), D = require__equalByTag(), O = require__equalObjects(), k = require__getTag(), A = require_isArray(), j = require_isBuffer(), M = require_isTypedArray(), N = 1, P = "[object Arguments]", F = "[object Array]", I = "[object Object]", L = Object.prototype.hasOwnProperty;
906
+ function R(e, w, R, z, B, V) {
907
+ var H = A(e), U = A(w), W = H ? F : k(e), G = U ? F : k(w);
908
+ W = W == P ? I : W, G = G == P ? I : G;
909
+ var K = W == I, q = G == I, J = W == G;
910
+ if (J && j(e)) {
911
+ if (!j(w)) return !1;
912
+ H = !0, K = !1;
913
+ }
914
+ if (J && !K) return V || (V = new T()), H || M(e) ? E(e, w, R, z, B, V) : D(e, w, W, R, z, B, V);
915
+ if (!(R & N)) {
916
+ var Y = K && L.call(e, "__wrapped__"), X = q && L.call(w, "__wrapped__");
917
+ if (Y || X) {
918
+ var Z = Y ? e.value() : e, Q = X ? w.value() : w;
919
+ return V || (V = new T()), B(Z, Q, R, z, V);
920
+ }
921
+ }
922
+ return J ? (V || (V = new T()), O(e, w, R, z, B, V)) : !1;
923
+ }
924
+ w.exports = R;
925
+ })), require__baseIsEqual = /* @__PURE__ */ __commonJSMin(((e, w) => {
926
+ var T = require__baseIsEqualDeep(), E = require_isObjectLike();
927
+ function D(e, w, O, k, A) {
928
+ return e === w ? !0 : e == null || w == null || !E(e) && !E(w) ? e !== e && w !== w : T(e, w, O, k, D, A);
929
+ }
930
+ w.exports = D;
931
+ })), require__baseIsMatch = /* @__PURE__ */ __commonJSMin(((e, w) => {
932
+ var T = require__Stack(), E = require__baseIsEqual(), D = 1, O = 2;
933
+ function k(e, w, k, A) {
934
+ var j = k.length, M = j, N = !A;
935
+ if (e == null) return !M;
936
+ for (e = Object(e); j--;) {
937
+ var P = k[j];
938
+ if (N && P[2] ? P[1] !== e[P[0]] : !(P[0] in e)) return !1;
939
+ }
940
+ for (; ++j < M;) {
941
+ P = k[j];
942
+ var F = P[0], I = e[F], L = P[1];
943
+ if (N && P[2]) {
944
+ if (I === void 0 && !(F in e)) return !1;
945
+ } else {
946
+ var R = new T();
947
+ if (A) var z = A(I, L, F, e, w, R);
948
+ if (!(z === void 0 ? E(L, I, D | O, A, R) : z)) return !1;
949
+ }
950
+ }
951
+ return !0;
952
+ }
953
+ w.exports = k;
954
+ })), require__isStrictComparable = /* @__PURE__ */ __commonJSMin(((e, w) => {
955
+ var T = require_isObject();
956
+ function E(e) {
957
+ return e === e && !T(e);
958
+ }
959
+ w.exports = E;
960
+ })), require__getMatchData = /* @__PURE__ */ __commonJSMin(((e, w) => {
961
+ var T = require__isStrictComparable(), E = require_keys();
962
+ function D(e) {
963
+ for (var w = E(e), D = w.length; D--;) {
964
+ var O = w[D], k = e[O];
965
+ w[D] = [
966
+ O,
967
+ k,
968
+ T(k)
969
+ ];
970
+ }
971
+ return w;
972
+ }
973
+ w.exports = D;
974
+ })), require__matchesStrictComparable = /* @__PURE__ */ __commonJSMin(((e, w) => {
975
+ function T(e, w) {
976
+ return function(T) {
977
+ return T == null ? !1 : T[e] === w && (w !== void 0 || e in Object(T));
978
+ };
979
+ }
980
+ w.exports = T;
981
+ })), require__baseMatches = /* @__PURE__ */ __commonJSMin(((e, w) => {
982
+ var T = require__baseIsMatch(), E = require__getMatchData(), D = require__matchesStrictComparable();
983
+ function O(e) {
984
+ var w = E(e);
985
+ return w.length == 1 && w[0][2] ? D(w[0][0], w[0][1]) : function(E) {
986
+ return E === e || T(E, e, w);
987
+ };
988
+ }
989
+ w.exports = O;
990
+ })), require_get = /* @__PURE__ */ __commonJSMin(((e, w) => {
991
+ var T = require__baseGet();
992
+ function E(e, w, E) {
993
+ var D = e == null ? void 0 : T(e, w);
994
+ return D === void 0 ? E : D;
995
+ }
996
+ w.exports = E;
997
+ })), require__baseHasIn = /* @__PURE__ */ __commonJSMin(((e, w) => {
998
+ function T(e, w) {
999
+ return e != null && w in Object(e);
1000
+ }
1001
+ w.exports = T;
1002
+ })), require__hasPath = /* @__PURE__ */ __commonJSMin(((e, w) => {
1003
+ var T = require__castPath(), E = require_isArguments(), D = require_isArray(), O = require__isIndex(), k = require_isLength(), A = require__toKey();
1004
+ function j(e, w, j) {
1005
+ w = T(w, e);
1006
+ for (var M = -1, N = w.length, P = !1; ++M < N;) {
1007
+ var F = A(w[M]);
1008
+ if (!(P = e != null && j(e, F))) break;
1009
+ e = e[F];
1010
+ }
1011
+ return P || ++M != N ? P : (N = e == null ? 0 : e.length, !!N && k(N) && O(F, N) && (D(e) || E(e)));
1012
+ }
1013
+ w.exports = j;
1014
+ })), require_hasIn = /* @__PURE__ */ __commonJSMin(((e, w) => {
1015
+ var T = require__baseHasIn(), E = require__hasPath();
1016
+ function D(e, w) {
1017
+ return e != null && E(e, w, T);
1018
+ }
1019
+ w.exports = D;
1020
+ })), require__baseMatchesProperty = /* @__PURE__ */ __commonJSMin(((e, w) => {
1021
+ var T = require__baseIsEqual(), E = require_get(), D = require_hasIn(), O = require__isKey(), k = require__isStrictComparable(), A = require__matchesStrictComparable(), j = require__toKey(), M = 1, N = 2;
1022
+ function P(e, w) {
1023
+ return O(e) && k(w) ? A(j(e), w) : function(O) {
1024
+ var k = E(O, e);
1025
+ return k === void 0 && k === w ? D(O, e) : T(w, k, M | N);
1026
+ };
1027
+ }
1028
+ w.exports = P;
1029
+ })), require_identity = /* @__PURE__ */ __commonJSMin(((e, w) => {
1030
+ function T(e) {
1031
+ return e;
1032
+ }
1033
+ w.exports = T;
1034
+ })), require__baseProperty = /* @__PURE__ */ __commonJSMin(((e, w) => {
1035
+ function T(e) {
1036
+ return function(w) {
1037
+ return w == null ? void 0 : w[e];
1038
+ };
1039
+ }
1040
+ w.exports = T;
1041
+ })), require__basePropertyDeep = /* @__PURE__ */ __commonJSMin(((e, w) => {
1042
+ var T = require__baseGet();
1043
+ function E(e) {
1044
+ return function(w) {
1045
+ return T(w, e);
1046
+ };
1047
+ }
1048
+ w.exports = E;
1049
+ })), require_property = /* @__PURE__ */ __commonJSMin(((e, w) => {
1050
+ var T = require__baseProperty(), E = require__basePropertyDeep(), D = require__isKey(), O = require__toKey();
1051
+ function k(e) {
1052
+ return D(e) ? T(O(e)) : E(e);
1053
+ }
1054
+ w.exports = k;
1055
+ })), require__baseIteratee = /* @__PURE__ */ __commonJSMin(((e, w) => {
1056
+ var T = require__baseMatches(), E = require__baseMatchesProperty(), D = require_identity(), O = require_isArray(), k = require_property();
1057
+ function A(e) {
1058
+ return typeof e == "function" ? e : e == null ? D : typeof e == "object" ? O(e) ? E(e[0], e[1]) : T(e) : k(e);
1059
+ }
1060
+ w.exports = A;
1061
+ })), require__createBaseFor = /* @__PURE__ */ __commonJSMin(((e, w) => {
1062
+ function T(e) {
1063
+ return function(w, T, E) {
1064
+ for (var D = -1, O = Object(w), k = E(w), A = k.length; A--;) {
1065
+ var j = k[e ? A : ++D];
1066
+ if (T(O[j], j, O) === !1) break;
1067
+ }
1068
+ return w;
1069
+ };
1070
+ }
1071
+ w.exports = T;
1072
+ })), require__baseFor = /* @__PURE__ */ __commonJSMin(((e, w) => {
1073
+ w.exports = require__createBaseFor()();
1074
+ })), require__baseForOwn = /* @__PURE__ */ __commonJSMin(((e, w) => {
1075
+ var T = require__baseFor(), E = require_keys();
1076
+ function D(e, w) {
1077
+ return e && T(e, w, E);
1078
+ }
1079
+ w.exports = D;
1080
+ })), require__createBaseEach = /* @__PURE__ */ __commonJSMin(((e, w) => {
1081
+ var T = require_isArrayLike();
1082
+ function E(e, w) {
1083
+ return function(E, D) {
1084
+ if (E == null) return E;
1085
+ if (!T(E)) return e(E, D);
1086
+ for (var O = E.length, k = w ? O : -1, A = Object(E); (w ? k-- : ++k < O) && D(A[k], k, A) !== !1;);
1087
+ return E;
1088
+ };
1089
+ }
1090
+ w.exports = E;
1091
+ })), require__baseEach = /* @__PURE__ */ __commonJSMin(((e, w) => {
1092
+ var T = require__baseForOwn();
1093
+ w.exports = require__createBaseEach()(T);
1094
+ })), require__baseMap = /* @__PURE__ */ __commonJSMin(((e, w) => {
1095
+ var T = require__baseEach(), E = require_isArrayLike();
1096
+ function D(e, w) {
1097
+ var D = -1, O = E(e) ? Array(e.length) : [];
1098
+ return T(e, function(e, T, E) {
1099
+ O[++D] = w(e, T, E);
1100
+ }), O;
1101
+ }
1102
+ w.exports = D;
1103
+ })), require__baseSortBy = /* @__PURE__ */ __commonJSMin(((e, w) => {
1104
+ function T(e, w) {
1105
+ var T = e.length;
1106
+ for (e.sort(w); T--;) e[T] = e[T].value;
1107
+ return e;
1108
+ }
1109
+ w.exports = T;
1110
+ })), require__compareAscending = /* @__PURE__ */ __commonJSMin(((e, w) => {
1111
+ var T = require_isSymbol();
1112
+ function E(e, w) {
1113
+ if (e !== w) {
1114
+ var E = e !== void 0, D = e === null, O = e === e, k = T(e), A = w !== void 0, j = w === null, M = w === w, N = T(w);
1115
+ if (!j && !N && !k && e > w || k && A && M && !j && !N || D && A && M || !E && M || !O) return 1;
1116
+ if (!D && !k && !N && e < w || N && E && O && !D && !k || j && E && O || !A && O || !M) return -1;
1117
+ }
1118
+ return 0;
1119
+ }
1120
+ w.exports = E;
1121
+ })), require__compareMultiple = /* @__PURE__ */ __commonJSMin(((e, w) => {
1122
+ var T = require__compareAscending();
1123
+ function E(e, w, E) {
1124
+ for (var D = -1, O = e.criteria, k = w.criteria, A = O.length, j = E.length; ++D < A;) {
1125
+ var M = T(O[D], k[D]);
1126
+ if (M) return D >= j ? M : M * (E[D] == "desc" ? -1 : 1);
1127
+ }
1128
+ return e.index - w.index;
1129
+ }
1130
+ w.exports = E;
1131
+ })), require__baseOrderBy = /* @__PURE__ */ __commonJSMin(((e, w) => {
1132
+ var T = require__arrayMap(), E = require__baseGet(), D = require__baseIteratee(), O = require__baseMap(), k = require__baseSortBy(), A = require__baseUnary(), j = require__compareMultiple(), M = require_identity(), N = require_isArray();
1133
+ function P(e, w, P) {
1134
+ w = w.length ? T(w, function(e) {
1135
+ return N(e) ? function(w) {
1136
+ return E(w, e.length === 1 ? e[0] : e);
1137
+ } : e;
1138
+ }) : [M];
1139
+ var F = -1;
1140
+ return w = T(w, A(D)), k(O(e, function(e, E, D) {
1141
+ return {
1142
+ criteria: T(w, function(w) {
1143
+ return w(e);
1144
+ }),
1145
+ index: ++F,
1146
+ value: e
1147
+ };
1148
+ }), function(e, w) {
1149
+ return j(e, w, P);
1150
+ });
1151
+ }
1152
+ w.exports = P;
1153
+ })), require__apply = /* @__PURE__ */ __commonJSMin(((e, w) => {
1154
+ function T(e, w, T) {
1155
+ switch (T.length) {
1156
+ case 0: return e.call(w);
1157
+ case 1: return e.call(w, T[0]);
1158
+ case 2: return e.call(w, T[0], T[1]);
1159
+ case 3: return e.call(w, T[0], T[1], T[2]);
1160
+ }
1161
+ return e.apply(w, T);
1162
+ }
1163
+ w.exports = T;
1164
+ })), require__overRest = /* @__PURE__ */ __commonJSMin(((e, w) => {
1165
+ var T = require__apply(), E = Math.max;
1166
+ function D(e, w, D) {
1167
+ return w = E(w === void 0 ? e.length - 1 : w, 0), function() {
1168
+ for (var O = arguments, k = -1, A = E(O.length - w, 0), j = Array(A); ++k < A;) j[k] = O[w + k];
1169
+ k = -1;
1170
+ for (var M = Array(w + 1); ++k < w;) M[k] = O[k];
1171
+ return M[w] = D(j), T(e, this, M);
1172
+ };
1173
+ }
1174
+ w.exports = D;
1175
+ })), require_constant = /* @__PURE__ */ __commonJSMin(((e, w) => {
1176
+ function T(e) {
1177
+ return function() {
1178
+ return e;
1179
+ };
1180
+ }
1181
+ w.exports = T;
1182
+ })), require__defineProperty = /* @__PURE__ */ __commonJSMin(((e, w) => {
1183
+ var T = require__getNative();
1184
+ w.exports = function() {
1185
+ try {
1186
+ var e = T(Object, "defineProperty");
1187
+ return e({}, "", {}), e;
1188
+ } catch (e) {}
1189
+ }();
1190
+ })), require__baseSetToString = /* @__PURE__ */ __commonJSMin(((e, w) => {
1191
+ var T = require_constant(), E = require__defineProperty(), D = require_identity();
1192
+ w.exports = E ? function(e, w) {
1193
+ return E(e, "toString", {
1194
+ configurable: !0,
1195
+ enumerable: !1,
1196
+ value: T(w),
1197
+ writable: !0
1198
+ });
1199
+ } : D;
1200
+ })), require__shortOut = /* @__PURE__ */ __commonJSMin(((e, w) => {
1201
+ var T = 800, E = 16, D = Date.now;
1202
+ function O(e) {
1203
+ var w = 0, O = 0;
1204
+ return function() {
1205
+ var k = D(), A = E - (k - O);
1206
+ if (O = k, A > 0) {
1207
+ if (++w >= T) return arguments[0];
1208
+ } else w = 0;
1209
+ return e.apply(void 0, arguments);
1210
+ };
1211
+ }
1212
+ w.exports = O;
1213
+ })), require__setToString = /* @__PURE__ */ __commonJSMin(((e, w) => {
1214
+ var T = require__baseSetToString();
1215
+ w.exports = require__shortOut()(T);
1216
+ })), require__baseRest = /* @__PURE__ */ __commonJSMin(((e, w) => {
1217
+ var T = require_identity(), E = require__overRest(), D = require__setToString();
1218
+ function O(e, w) {
1219
+ return D(E(e, w, T), e + "");
1220
+ }
1221
+ w.exports = O;
1222
+ })), require__isIterateeCall = /* @__PURE__ */ __commonJSMin(((e, w) => {
1223
+ var T = require_eq(), E = require_isArrayLike(), D = require__isIndex(), O = require_isObject();
1224
+ function k(e, w, k) {
1225
+ if (!O(k)) return !1;
1226
+ var A = typeof w;
1227
+ return (A == "number" ? E(k) && D(w, k.length) : A == "string" && w in k) ? T(k[w], e) : !1;
1228
+ }
1229
+ w.exports = k;
1230
+ })), import_sortBy = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((e, w) => {
1231
+ var T = require__baseFlatten(), E = require__baseOrderBy(), D = require__baseRest(), O = require__isIterateeCall();
1232
+ w.exports = D(function(e, w) {
1233
+ if (e == null) return [];
1234
+ var D = w.length;
1235
+ return D > 1 && O(e, w[0], w[1]) ? w = [] : D > 2 && O(w[0], w[1], w[2]) && (w = [w[0]]), E(e, T(w, 1), []);
1236
+ });
1237
+ })))(), 1), import_chain = /* @__PURE__ */ __toESM(require_chain(), 1);
1238
+ function isArray(e) {
1239
+ return Array.isArray ? Array.isArray(e) : getTag(e) === "[object Array]";
1240
+ }
1241
+ var INFINITY = Infinity;
1242
+ function baseToString(e) {
1243
+ if (typeof e == "string") return e;
1244
+ let w = e + "";
1245
+ return w == "0" && 1 / e == -INFINITY ? "-0" : w;
1246
+ }
1247
+ function toString(e) {
1248
+ return e == null ? "" : baseToString(e);
1249
+ }
1250
+ function isString(e) {
1251
+ return typeof e == "string";
1252
+ }
1253
+ function isNumber(e) {
1254
+ return typeof e == "number";
1255
+ }
1256
+ function isBoolean(e) {
1257
+ return e === !0 || e === !1 || isObjectLike(e) && getTag(e) == "[object Boolean]";
1258
+ }
1259
+ function isObject(e) {
1260
+ return typeof e == "object";
1261
+ }
1262
+ function isObjectLike(e) {
1263
+ return isObject(e) && e !== null;
1264
+ }
1265
+ function isDefined(e) {
1266
+ return e != null;
1267
+ }
1268
+ function isBlank(e) {
1269
+ return !e.trim().length;
1270
+ }
1271
+ function getTag(e) {
1272
+ return e == null ? e === void 0 ? "[object Undefined]" : "[object Null]" : Object.prototype.toString.call(e);
1273
+ }
1274
+ var INCORRECT_INDEX_TYPE = "Incorrect 'index' type", LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (e) => `Invalid value for key ${e}`, PATTERN_LENGTH_TOO_LARGE = (e) => `Pattern length exceeds max of ${e}.`, MISSING_KEY_PROPERTY = (e) => `Missing ${e} property in key`, INVALID_KEY_WEIGHT_VALUE = (e) => `Property 'weight' in key '${e}' must be a positive integer`, hasOwn = Object.prototype.hasOwnProperty, KeyStore = class {
1275
+ constructor(e) {
1276
+ this._keys = [], this._keyMap = {};
1277
+ let w = 0;
1278
+ e.forEach((e) => {
1279
+ let T = createKey(e);
1280
+ this._keys.push(T), this._keyMap[T.id] = T, w += T.weight;
1281
+ }), this._keys.forEach((e) => {
1282
+ e.weight /= w;
1283
+ });
1284
+ }
1285
+ get(e) {
1286
+ return this._keyMap[e];
1287
+ }
1288
+ keys() {
1289
+ return this._keys;
1290
+ }
1291
+ toJSON() {
1292
+ return JSON.stringify(this._keys);
1293
+ }
1294
+ };
1295
+ function createKey(e) {
1296
+ let w = null, T = null, E = null, D = 1, O = null;
1297
+ if (isString(e) || isArray(e)) E = e, w = createKeyPath(e), T = createKeyId(e);
1298
+ else {
1299
+ if (!hasOwn.call(e, "name")) throw Error(MISSING_KEY_PROPERTY("name"));
1300
+ let k = e.name;
1301
+ if (E = k, hasOwn.call(e, "weight") && (D = e.weight, D <= 0)) throw Error(INVALID_KEY_WEIGHT_VALUE(k));
1302
+ w = createKeyPath(k), T = createKeyId(k), O = e.getFn;
1303
+ }
1304
+ return {
1305
+ path: w,
1306
+ id: T,
1307
+ weight: D,
1308
+ src: E,
1309
+ getFn: O
1310
+ };
1311
+ }
1312
+ function createKeyPath(e) {
1313
+ return isArray(e) ? e : e.split(".");
1314
+ }
1315
+ function createKeyId(e) {
1316
+ return isArray(e) ? e.join(".") : e;
1317
+ }
1318
+ function get$1(e, w) {
1319
+ let T = [], E = !1, D = (e, w, O) => {
1320
+ if (isDefined(e)) if (!w[O]) T.push(e);
1321
+ else {
1322
+ let k = e[w[O]];
1323
+ if (!isDefined(k)) return;
1324
+ if (O === w.length - 1 && (isString(k) || isNumber(k) || isBoolean(k))) T.push(toString(k));
1325
+ else if (isArray(k)) {
1326
+ E = !0;
1327
+ for (let e = 0, T = k.length; e < T; e += 1) D(k[e], w, O + 1);
1328
+ } else w.length && D(k, w, O + 1);
1329
+ }
1330
+ };
1331
+ return D(e, isString(w) ? w.split(".") : w, 0), E ? T : T[0];
1332
+ }
1333
+ var MatchOptions = {
1334
+ includeMatches: !1,
1335
+ findAllMatches: !1,
1336
+ minMatchCharLength: 1
1337
+ }, BasicOptions = {
1338
+ isCaseSensitive: !1,
1339
+ ignoreDiacritics: !1,
1340
+ includeScore: !1,
1341
+ keys: [],
1342
+ shouldSort: !0,
1343
+ sortFn: (e, w) => e.score === w.score ? e.idx < w.idx ? -1 : 1 : e.score < w.score ? -1 : 1
1344
+ }, FuzzyOptions = {
1345
+ location: 0,
1346
+ threshold: .6,
1347
+ distance: 100
1348
+ }, AdvancedOptions = {
1349
+ useExtendedSearch: !1,
1350
+ getFn: get$1,
1351
+ ignoreLocation: !1,
1352
+ ignoreFieldNorm: !1,
1353
+ fieldNormWeight: 1
1354
+ }, Config = {
1355
+ ...BasicOptions,
1356
+ ...MatchOptions,
1357
+ ...FuzzyOptions,
1358
+ ...AdvancedOptions
1359
+ }, SPACE = /[^ ]+/g;
1360
+ function norm(e = 1, w = 3) {
1361
+ let T = /* @__PURE__ */ new Map(), E = 10 ** w;
1362
+ return {
1363
+ get(w) {
1364
+ let D = w.match(SPACE).length;
1365
+ if (T.has(D)) return T.get(D);
1366
+ let O = 1 / D ** (.5 * e), k = parseFloat(Math.round(O * E) / E);
1367
+ return T.set(D, k), k;
1368
+ },
1369
+ clear() {
1370
+ T.clear();
1371
+ }
1372
+ };
1373
+ }
1374
+ var FuseIndex = class {
1375
+ constructor({ getFn: e = Config.getFn, fieldNormWeight: w = Config.fieldNormWeight } = {}) {
1376
+ this.norm = norm(w, 3), this.getFn = e, this.isCreated = !1, this.setIndexRecords();
1377
+ }
1378
+ setSources(e = []) {
1379
+ this.docs = e;
1380
+ }
1381
+ setIndexRecords(e = []) {
1382
+ this.records = e;
1383
+ }
1384
+ setKeys(e = []) {
1385
+ this.keys = e, this._keysMap = {}, e.forEach((e, w) => {
1386
+ this._keysMap[e.id] = w;
1387
+ });
1388
+ }
1389
+ create() {
1390
+ this.isCreated || !this.docs.length || (this.isCreated = !0, isString(this.docs[0]) ? this.docs.forEach((e, w) => {
1391
+ this._addString(e, w);
1392
+ }) : this.docs.forEach((e, w) => {
1393
+ this._addObject(e, w);
1394
+ }), this.norm.clear());
1395
+ }
1396
+ add(e) {
1397
+ let w = this.size();
1398
+ isString(e) ? this._addString(e, w) : this._addObject(e, w);
1399
+ }
1400
+ removeAt(e) {
1401
+ this.records.splice(e, 1);
1402
+ for (let w = e, T = this.size(); w < T; w += 1) --this.records[w].i;
1403
+ }
1404
+ getValueForItemAtKeyId(e, w) {
1405
+ return e[this._keysMap[w]];
1406
+ }
1407
+ size() {
1408
+ return this.records.length;
1409
+ }
1410
+ _addString(e, w) {
1411
+ if (!isDefined(e) || isBlank(e)) return;
1412
+ let T = {
1413
+ v: e,
1414
+ i: w,
1415
+ n: this.norm.get(e)
1416
+ };
1417
+ this.records.push(T);
1418
+ }
1419
+ _addObject(e, w) {
1420
+ let T = {
1421
+ i: w,
1422
+ $: {}
1423
+ };
1424
+ this.keys.forEach((w, E) => {
1425
+ let D = w.getFn ? w.getFn(e) : this.getFn(e, w.path);
1426
+ if (isDefined(D)) {
1427
+ if (isArray(D)) {
1428
+ let e = [], w = [{
1429
+ nestedArrIndex: -1,
1430
+ value: D
1431
+ }];
1432
+ for (; w.length;) {
1433
+ let { nestedArrIndex: T, value: E } = w.pop();
1434
+ if (isDefined(E)) if (isString(E) && !isBlank(E)) {
1435
+ let w = {
1436
+ v: E,
1437
+ i: T,
1438
+ n: this.norm.get(E)
1439
+ };
1440
+ e.push(w);
1441
+ } else isArray(E) && E.forEach((e, T) => {
1442
+ w.push({
1443
+ nestedArrIndex: T,
1444
+ value: e
1445
+ });
1446
+ });
1447
+ }
1448
+ T.$[E] = e;
1449
+ } else if (isString(D) && !isBlank(D)) {
1450
+ let e = {
1451
+ v: D,
1452
+ n: this.norm.get(D)
1453
+ };
1454
+ T.$[E] = e;
1455
+ }
1456
+ }
1457
+ }), this.records.push(T);
1458
+ }
1459
+ toJSON() {
1460
+ return {
1461
+ keys: this.keys,
1462
+ records: this.records
1463
+ };
1464
+ }
1465
+ };
1466
+ function createIndex(e, w, { getFn: T = Config.getFn, fieldNormWeight: E = Config.fieldNormWeight } = {}) {
1467
+ let D = new FuseIndex({
1468
+ getFn: T,
1469
+ fieldNormWeight: E
1470
+ });
1471
+ return D.setKeys(e.map(createKey)), D.setSources(w), D.create(), D;
1472
+ }
1473
+ function parseIndex(e, { getFn: w = Config.getFn, fieldNormWeight: T = Config.fieldNormWeight } = {}) {
1474
+ let { keys: E, records: D } = e, O = new FuseIndex({
1475
+ getFn: w,
1476
+ fieldNormWeight: T
1477
+ });
1478
+ return O.setKeys(E), O.setIndexRecords(D), O;
1479
+ }
1480
+ function computeScore$1(e, { errors: w = 0, currentLocation: T = 0, expectedLocation: E = 0, distance: D = Config.distance, ignoreLocation: O = Config.ignoreLocation } = {}) {
1481
+ let k = w / e.length;
1482
+ if (O) return k;
1483
+ let A = Math.abs(E - T);
1484
+ return D ? k + A / D : A ? 1 : k;
1485
+ }
1486
+ function convertMaskToIndices(e = [], w = Config.minMatchCharLength) {
1487
+ let T = [], E = -1, D = -1, O = 0;
1488
+ for (let k = e.length; O < k; O += 1) {
1489
+ let k = e[O];
1490
+ k && E === -1 ? E = O : !k && E !== -1 && (D = O - 1, D - E + 1 >= w && T.push([E, D]), E = -1);
1491
+ }
1492
+ return e[O - 1] && O - E >= w && T.push([E, O - 1]), T;
1493
+ }
1494
+ var MAX_BITS = 32;
1495
+ function search$1(e, w, T, { location: E = Config.location, distance: D = Config.distance, threshold: O = Config.threshold, findAllMatches: k = Config.findAllMatches, minMatchCharLength: A = Config.minMatchCharLength, includeMatches: j = Config.includeMatches, ignoreLocation: M = Config.ignoreLocation } = {}) {
1496
+ if (w.length > MAX_BITS) throw Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS));
1497
+ let N = w.length, P = e.length, F = Math.max(0, Math.min(E, P)), I = O, L = F, R = A > 1 || j, z = R ? Array(P) : [], B;
1498
+ for (; (B = e.indexOf(w, L)) > -1;) {
1499
+ let e = computeScore$1(w, {
1500
+ currentLocation: B,
1501
+ expectedLocation: F,
1502
+ distance: D,
1503
+ ignoreLocation: M
1504
+ });
1505
+ if (I = Math.min(e, I), L = B + N, R) {
1506
+ let e = 0;
1507
+ for (; e < N;) z[B + e] = 1, e += 1;
1508
+ }
1509
+ }
1510
+ L = -1;
1511
+ let V = [], H = 1, U = N + P, W = 1 << N - 1;
1512
+ for (let E = 0; E < N; E += 1) {
1513
+ let O = 0, A = U;
1514
+ for (; O < A;) computeScore$1(w, {
1515
+ errors: E,
1516
+ currentLocation: F + A,
1517
+ expectedLocation: F,
1518
+ distance: D,
1519
+ ignoreLocation: M
1520
+ }) <= I ? O = A : U = A, A = Math.floor((U - O) / 2 + O);
1521
+ U = A;
1522
+ let j = Math.max(1, F - A + 1), B = k ? P : Math.min(F + A, P) + N, G = Array(B + 2);
1523
+ G[B + 1] = (1 << E) - 1;
1524
+ for (let O = B; O >= j; --O) {
1525
+ let k = O - 1, A = T[e.charAt(k)];
1526
+ if (R && (z[k] = +!!A), G[O] = (G[O + 1] << 1 | 1) & A, E && (G[O] |= (V[O + 1] | V[O]) << 1 | 1 | V[O + 1]), G[O] & W && (H = computeScore$1(w, {
1527
+ errors: E,
1528
+ currentLocation: k,
1529
+ expectedLocation: F,
1530
+ distance: D,
1531
+ ignoreLocation: M
1532
+ }), H <= I)) {
1533
+ if (I = H, L = k, L <= F) break;
1534
+ j = Math.max(1, 2 * F - L);
1535
+ }
1536
+ }
1537
+ if (computeScore$1(w, {
1538
+ errors: E + 1,
1539
+ currentLocation: F,
1540
+ expectedLocation: F,
1541
+ distance: D,
1542
+ ignoreLocation: M
1543
+ }) > I) break;
1544
+ V = G;
1545
+ }
1546
+ let G = {
1547
+ isMatch: L >= 0,
1548
+ score: Math.max(.001, H)
1549
+ };
1550
+ if (R) {
1551
+ let e = convertMaskToIndices(z, A);
1552
+ e.length ? j && (G.indices = e) : G.isMatch = !1;
1553
+ }
1554
+ return G;
1555
+ }
1556
+ function createPatternAlphabet(e) {
1557
+ let w = {};
1558
+ for (let T = 0, E = e.length; T < E; T += 1) {
1559
+ let D = e.charAt(T);
1560
+ w[D] = (w[D] || 0) | 1 << E - T - 1;
1561
+ }
1562
+ return w;
1563
+ }
1564
+ var stripDiacritics = String.prototype.normalize ? ((e) => e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g, "")) : ((e) => e), BitapSearch = class {
1565
+ constructor(e, { location: w = Config.location, threshold: T = Config.threshold, distance: E = Config.distance, includeMatches: D = Config.includeMatches, findAllMatches: O = Config.findAllMatches, minMatchCharLength: k = Config.minMatchCharLength, isCaseSensitive: A = Config.isCaseSensitive, ignoreDiacritics: j = Config.ignoreDiacritics, ignoreLocation: M = Config.ignoreLocation } = {}) {
1566
+ if (this.options = {
1567
+ location: w,
1568
+ threshold: T,
1569
+ distance: E,
1570
+ includeMatches: D,
1571
+ findAllMatches: O,
1572
+ minMatchCharLength: k,
1573
+ isCaseSensitive: A,
1574
+ ignoreDiacritics: j,
1575
+ ignoreLocation: M
1576
+ }, e = A ? e : e.toLowerCase(), e = j ? stripDiacritics(e) : e, this.pattern = e, this.chunks = [], !this.pattern.length) return;
1577
+ let N = (e, w) => {
1578
+ this.chunks.push({
1579
+ pattern: e,
1580
+ alphabet: createPatternAlphabet(e),
1581
+ startIndex: w
1582
+ });
1583
+ }, P = this.pattern.length;
1584
+ if (P > MAX_BITS) {
1585
+ let e = 0, w = P % MAX_BITS, T = P - w;
1586
+ for (; e < T;) N(this.pattern.substr(e, MAX_BITS), e), e += MAX_BITS;
1587
+ if (w) {
1588
+ let e = P - MAX_BITS;
1589
+ N(this.pattern.substr(e), e);
1590
+ }
1591
+ } else N(this.pattern, 0);
1592
+ }
1593
+ searchIn(e) {
1594
+ let { isCaseSensitive: w, ignoreDiacritics: T, includeMatches: E } = this.options;
1595
+ if (e = w ? e : e.toLowerCase(), e = T ? stripDiacritics(e) : e, this.pattern === e) {
1596
+ let w = {
1597
+ isMatch: !0,
1598
+ score: 0
1599
+ };
1600
+ return E && (w.indices = [[0, e.length - 1]]), w;
1601
+ }
1602
+ let { location: D, distance: O, threshold: k, findAllMatches: A, minMatchCharLength: j, ignoreLocation: M } = this.options, N = [], P = 0, F = !1;
1603
+ this.chunks.forEach(({ pattern: w, alphabet: T, startIndex: I }) => {
1604
+ let { isMatch: L, score: R, indices: z } = search$1(e, w, T, {
1605
+ location: D + I,
1606
+ distance: O,
1607
+ threshold: k,
1608
+ findAllMatches: A,
1609
+ minMatchCharLength: j,
1610
+ includeMatches: E,
1611
+ ignoreLocation: M
1612
+ });
1613
+ L && (F = !0), P += R, L && z && (N = [...N, ...z]);
1614
+ });
1615
+ let I = {
1616
+ isMatch: F,
1617
+ score: F ? P / this.chunks.length : 1
1618
+ };
1619
+ return F && E && (I.indices = N), I;
1620
+ }
1621
+ }, BaseMatch = class {
1622
+ constructor(e) {
1623
+ this.pattern = e;
1624
+ }
1625
+ static isMultiMatch(e) {
1626
+ return getMatch(e, this.multiRegex);
1627
+ }
1628
+ static isSingleMatch(e) {
1629
+ return getMatch(e, this.singleRegex);
1630
+ }
1631
+ search() {}
1632
+ };
1633
+ function getMatch(e, w) {
1634
+ let T = e.match(w);
1635
+ return T ? T[1] : null;
1636
+ }
1637
+ var ExactMatch = class extends BaseMatch {
1638
+ constructor(e) {
1639
+ super(e);
1640
+ }
1641
+ static get type() {
1642
+ return "exact";
1643
+ }
1644
+ static get multiRegex() {
1645
+ return /^="(.*)"$/;
1646
+ }
1647
+ static get singleRegex() {
1648
+ return /^=(.*)$/;
1649
+ }
1650
+ search(e) {
1651
+ let w = e === this.pattern;
1652
+ return {
1653
+ isMatch: w,
1654
+ score: w ? 0 : 1,
1655
+ indices: [0, this.pattern.length - 1]
1656
+ };
1657
+ }
1658
+ }, InverseExactMatch = class extends BaseMatch {
1659
+ constructor(e) {
1660
+ super(e);
1661
+ }
1662
+ static get type() {
1663
+ return "inverse-exact";
1664
+ }
1665
+ static get multiRegex() {
1666
+ return /^!"(.*)"$/;
1667
+ }
1668
+ static get singleRegex() {
1669
+ return /^!(.*)$/;
1670
+ }
1671
+ search(e) {
1672
+ let w = e.indexOf(this.pattern) === -1;
1673
+ return {
1674
+ isMatch: w,
1675
+ score: w ? 0 : 1,
1676
+ indices: [0, e.length - 1]
1677
+ };
1678
+ }
1679
+ }, PrefixExactMatch = class extends BaseMatch {
1680
+ constructor(e) {
1681
+ super(e);
1682
+ }
1683
+ static get type() {
1684
+ return "prefix-exact";
1685
+ }
1686
+ static get multiRegex() {
1687
+ return /^\^"(.*)"$/;
1688
+ }
1689
+ static get singleRegex() {
1690
+ return /^\^(.*)$/;
1691
+ }
1692
+ search(e) {
1693
+ let w = e.startsWith(this.pattern);
1694
+ return {
1695
+ isMatch: w,
1696
+ score: w ? 0 : 1,
1697
+ indices: [0, this.pattern.length - 1]
1698
+ };
1699
+ }
1700
+ }, InversePrefixExactMatch = class extends BaseMatch {
1701
+ constructor(e) {
1702
+ super(e);
1703
+ }
1704
+ static get type() {
1705
+ return "inverse-prefix-exact";
1706
+ }
1707
+ static get multiRegex() {
1708
+ return /^!\^"(.*)"$/;
1709
+ }
1710
+ static get singleRegex() {
1711
+ return /^!\^(.*)$/;
1712
+ }
1713
+ search(e) {
1714
+ let w = !e.startsWith(this.pattern);
1715
+ return {
1716
+ isMatch: w,
1717
+ score: w ? 0 : 1,
1718
+ indices: [0, e.length - 1]
1719
+ };
1720
+ }
1721
+ }, SuffixExactMatch = class extends BaseMatch {
1722
+ constructor(e) {
1723
+ super(e);
1724
+ }
1725
+ static get type() {
1726
+ return "suffix-exact";
1727
+ }
1728
+ static get multiRegex() {
1729
+ return /^"(.*)"\$$/;
1730
+ }
1731
+ static get singleRegex() {
1732
+ return /^(.*)\$$/;
1733
+ }
1734
+ search(e) {
1735
+ let w = e.endsWith(this.pattern);
1736
+ return {
1737
+ isMatch: w,
1738
+ score: w ? 0 : 1,
1739
+ indices: [e.length - this.pattern.length, e.length - 1]
1740
+ };
1741
+ }
1742
+ }, InverseSuffixExactMatch = class extends BaseMatch {
1743
+ constructor(e) {
1744
+ super(e);
1745
+ }
1746
+ static get type() {
1747
+ return "inverse-suffix-exact";
1748
+ }
1749
+ static get multiRegex() {
1750
+ return /^!"(.*)"\$$/;
1751
+ }
1752
+ static get singleRegex() {
1753
+ return /^!(.*)\$$/;
1754
+ }
1755
+ search(e) {
1756
+ let w = !e.endsWith(this.pattern);
1757
+ return {
1758
+ isMatch: w,
1759
+ score: w ? 0 : 1,
1760
+ indices: [0, e.length - 1]
1761
+ };
1762
+ }
1763
+ }, FuzzyMatch = class extends BaseMatch {
1764
+ constructor(e, { location: w = Config.location, threshold: T = Config.threshold, distance: E = Config.distance, includeMatches: D = Config.includeMatches, findAllMatches: O = Config.findAllMatches, minMatchCharLength: k = Config.minMatchCharLength, isCaseSensitive: A = Config.isCaseSensitive, ignoreDiacritics: j = Config.ignoreDiacritics, ignoreLocation: M = Config.ignoreLocation } = {}) {
1765
+ super(e), this._bitapSearch = new BitapSearch(e, {
1766
+ location: w,
1767
+ threshold: T,
1768
+ distance: E,
1769
+ includeMatches: D,
1770
+ findAllMatches: O,
1771
+ minMatchCharLength: k,
1772
+ isCaseSensitive: A,
1773
+ ignoreDiacritics: j,
1774
+ ignoreLocation: M
1775
+ });
1776
+ }
1777
+ static get type() {
1778
+ return "fuzzy";
1779
+ }
1780
+ static get multiRegex() {
1781
+ return /^"(.*)"$/;
1782
+ }
1783
+ static get singleRegex() {
1784
+ return /^(.*)$/;
1785
+ }
1786
+ search(e) {
1787
+ return this._bitapSearch.searchIn(e);
1788
+ }
1789
+ }, IncludeMatch = class extends BaseMatch {
1790
+ constructor(e) {
1791
+ super(e);
1792
+ }
1793
+ static get type() {
1794
+ return "include";
1795
+ }
1796
+ static get multiRegex() {
1797
+ return /^'"(.*)"$/;
1798
+ }
1799
+ static get singleRegex() {
1800
+ return /^'(.*)$/;
1801
+ }
1802
+ search(e) {
1803
+ let w = 0, T, E = [], D = this.pattern.length;
1804
+ for (; (T = e.indexOf(this.pattern, w)) > -1;) w = T + D, E.push([T, w - 1]);
1805
+ let O = !!E.length;
1806
+ return {
1807
+ isMatch: O,
1808
+ score: O ? 0 : 1,
1809
+ indices: E
1810
+ };
1811
+ }
1812
+ }, searchers = [
1813
+ ExactMatch,
1814
+ IncludeMatch,
1815
+ PrefixExactMatch,
1816
+ InversePrefixExactMatch,
1817
+ InverseSuffixExactMatch,
1818
+ SuffixExactMatch,
1819
+ InverseExactMatch,
1820
+ FuzzyMatch
1821
+ ], searchersLen = searchers.length, SPACE_RE = / +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/, OR_TOKEN = "|";
1822
+ function parseQuery(e, w = {}) {
1823
+ return e.split(OR_TOKEN).map((e) => {
1824
+ let T = e.trim().split(SPACE_RE).filter((e) => e && !!e.trim()), E = [];
1825
+ for (let e = 0, D = T.length; e < D; e += 1) {
1826
+ let D = T[e], O = !1, k = -1;
1827
+ for (; !O && ++k < searchersLen;) {
1828
+ let e = searchers[k], T = e.isMultiMatch(D);
1829
+ T && (E.push(new e(T, w)), O = !0);
1830
+ }
1831
+ if (!O) for (k = -1; ++k < searchersLen;) {
1832
+ let e = searchers[k], T = e.isSingleMatch(D);
1833
+ if (T) {
1834
+ E.push(new e(T, w));
1835
+ break;
1836
+ }
1837
+ }
1838
+ }
1839
+ return E;
1840
+ });
1841
+ }
1842
+ var MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]), ExtendedSearch = class {
1843
+ constructor(e, { isCaseSensitive: w = Config.isCaseSensitive, ignoreDiacritics: T = Config.ignoreDiacritics, includeMatches: E = Config.includeMatches, minMatchCharLength: D = Config.minMatchCharLength, ignoreLocation: O = Config.ignoreLocation, findAllMatches: k = Config.findAllMatches, location: A = Config.location, threshold: j = Config.threshold, distance: M = Config.distance } = {}) {
1844
+ this.query = null, this.options = {
1845
+ isCaseSensitive: w,
1846
+ ignoreDiacritics: T,
1847
+ includeMatches: E,
1848
+ minMatchCharLength: D,
1849
+ findAllMatches: k,
1850
+ ignoreLocation: O,
1851
+ location: A,
1852
+ threshold: j,
1853
+ distance: M
1854
+ }, e = w ? e : e.toLowerCase(), e = T ? stripDiacritics(e) : e, this.pattern = e, this.query = parseQuery(this.pattern, this.options);
1855
+ }
1856
+ static condition(e, w) {
1857
+ return w.useExtendedSearch;
1858
+ }
1859
+ searchIn(e) {
1860
+ let w = this.query;
1861
+ if (!w) return {
1862
+ isMatch: !1,
1863
+ score: 1
1864
+ };
1865
+ let { includeMatches: T, isCaseSensitive: E, ignoreDiacritics: D } = this.options;
1866
+ e = E ? e : e.toLowerCase(), e = D ? stripDiacritics(e) : e;
1867
+ let O = 0, k = [], A = 0;
1868
+ for (let E = 0, D = w.length; E < D; E += 1) {
1869
+ let D = w[E];
1870
+ k.length = 0, O = 0;
1871
+ for (let w = 0, E = D.length; w < E; w += 1) {
1872
+ let E = D[w], { isMatch: j, indices: M, score: N } = E.search(e);
1873
+ if (j) {
1874
+ if (O += 1, A += N, T) {
1875
+ let e = E.constructor.type;
1876
+ MultiMatchSet.has(e) ? k = [...k, ...M] : k.push(M);
1877
+ }
1878
+ } else {
1879
+ A = 0, O = 0, k.length = 0;
1880
+ break;
1881
+ }
1882
+ }
1883
+ if (O) {
1884
+ let e = {
1885
+ isMatch: !0,
1886
+ score: A / O
1887
+ };
1888
+ return T && (e.indices = k), e;
1889
+ }
1890
+ }
1891
+ return {
1892
+ isMatch: !1,
1893
+ score: 1
1894
+ };
1895
+ }
1896
+ }, registeredSearchers = [];
1897
+ function register(...e) {
1898
+ registeredSearchers.push(...e);
1899
+ }
1900
+ function createSearcher(e, w) {
1901
+ for (let T = 0, E = registeredSearchers.length; T < E; T += 1) {
1902
+ let E = registeredSearchers[T];
1903
+ if (E.condition(e, w)) return new E(e, w);
1904
+ }
1905
+ return new BitapSearch(e, w);
1906
+ }
1907
+ var LogicalOperator = {
1908
+ AND: "$and",
1909
+ OR: "$or"
1910
+ }, KeyType = {
1911
+ PATH: "$path",
1912
+ PATTERN: "$val"
1913
+ }, isExpression = (e) => !!(e[LogicalOperator.AND] || e[LogicalOperator.OR]), isPath = (e) => !!e[KeyType.PATH], isLeaf = (e) => !isArray(e) && isObject(e) && !isExpression(e), convertToExplicit = (e) => ({ [LogicalOperator.AND]: Object.keys(e).map((w) => ({ [w]: e[w] })) });
1914
+ function parse(e, w, { auto: T = !0 } = {}) {
1915
+ let E = (e) => {
1916
+ let D = Object.keys(e), O = isPath(e);
1917
+ if (!O && D.length > 1 && !isExpression(e)) return E(convertToExplicit(e));
1918
+ if (isLeaf(e)) {
1919
+ let E = O ? e[KeyType.PATH] : D[0], k = O ? e[KeyType.PATTERN] : e[E];
1920
+ if (!isString(k)) throw Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(E));
1921
+ let A = {
1922
+ keyId: createKeyId(E),
1923
+ pattern: k
1924
+ };
1925
+ return T && (A.searcher = createSearcher(k, w)), A;
1926
+ }
1927
+ let k = {
1928
+ children: [],
1929
+ operator: D[0]
1930
+ };
1931
+ return D.forEach((w) => {
1932
+ let T = e[w];
1933
+ isArray(T) && T.forEach((e) => {
1934
+ k.children.push(E(e));
1935
+ });
1936
+ }), k;
1937
+ };
1938
+ return isExpression(e) || (e = convertToExplicit(e)), E(e);
1939
+ }
1940
+ function computeScore(e, { ignoreFieldNorm: w = Config.ignoreFieldNorm }) {
1941
+ e.forEach((e) => {
1942
+ let T = 1;
1943
+ e.matches.forEach(({ key: e, norm: E, score: D }) => {
1944
+ let O = e ? e.weight : null;
1945
+ T *= (D === 0 && O ? 2 ** -52 : D) ** +((O || 1) * (w ? 1 : E));
1946
+ }), e.score = T;
1947
+ });
1948
+ }
1949
+ function transformMatches(e, w) {
1950
+ let T = e.matches;
1951
+ w.matches = [], isDefined(T) && T.forEach((e) => {
1952
+ if (!isDefined(e.indices) || !e.indices.length) return;
1953
+ let { indices: T, value: E } = e, D = {
1954
+ indices: T,
1955
+ value: E
1956
+ };
1957
+ e.key && (D.key = e.key.src), e.idx > -1 && (D.refIndex = e.idx), w.matches.push(D);
1958
+ });
1959
+ }
1960
+ function transformScore(e, w) {
1961
+ w.score = e.score;
1962
+ }
1963
+ function format(e, w, { includeMatches: T = Config.includeMatches, includeScore: E = Config.includeScore } = {}) {
1964
+ let D = [];
1965
+ return T && D.push(transformMatches), E && D.push(transformScore), e.map((e) => {
1966
+ let { idx: T } = e, E = {
1967
+ item: w[T],
1968
+ refIndex: T
1969
+ };
1970
+ return D.length && D.forEach((w) => {
1971
+ w(e, E);
1972
+ }), E;
1973
+ });
1974
+ }
1975
+ var Fuse = class {
1976
+ constructor(e, w = {}, T) {
1977
+ this.options = {
1978
+ ...Config,
1979
+ ...w
1980
+ }, this.options.useExtendedSearch, this._keyStore = new KeyStore(this.options.keys), this.setCollection(e, T);
1981
+ }
1982
+ setCollection(e, w) {
1983
+ if (this._docs = e, w && !(w instanceof FuseIndex)) throw Error(INCORRECT_INDEX_TYPE);
1984
+ this._myIndex = w || createIndex(this.options.keys, this._docs, {
1985
+ getFn: this.options.getFn,
1986
+ fieldNormWeight: this.options.fieldNormWeight
1987
+ });
1988
+ }
1989
+ add(e) {
1990
+ isDefined(e) && (this._docs.push(e), this._myIndex.add(e));
1991
+ }
1992
+ remove(e = () => !1) {
1993
+ let w = [];
1994
+ for (let T = 0, E = this._docs.length; T < E; T += 1) {
1995
+ let D = this._docs[T];
1996
+ e(D, T) && (this.removeAt(T), --T, --E, w.push(D));
1997
+ }
1998
+ return w;
1999
+ }
2000
+ removeAt(e) {
2001
+ this._docs.splice(e, 1), this._myIndex.removeAt(e);
2002
+ }
2003
+ getIndex() {
2004
+ return this._myIndex;
2005
+ }
2006
+ search(e, { limit: w = -1 } = {}) {
2007
+ let { includeMatches: T, includeScore: E, shouldSort: D, sortFn: O, ignoreFieldNorm: k } = this.options, A = isString(e) ? isString(this._docs[0]) ? this._searchStringList(e) : this._searchObjectList(e) : this._searchLogical(e);
2008
+ return computeScore(A, { ignoreFieldNorm: k }), D && A.sort(O), isNumber(w) && w > -1 && (A = A.slice(0, w)), format(A, this._docs, {
2009
+ includeMatches: T,
2010
+ includeScore: E
2011
+ });
2012
+ }
2013
+ _searchStringList(e) {
2014
+ let w = createSearcher(e, this.options), { records: T } = this._myIndex, E = [];
2015
+ return T.forEach(({ v: e, i: T, n: D }) => {
2016
+ if (!isDefined(e)) return;
2017
+ let { isMatch: O, score: k, indices: A } = w.searchIn(e);
2018
+ O && E.push({
2019
+ item: e,
2020
+ idx: T,
2021
+ matches: [{
2022
+ score: k,
2023
+ value: e,
2024
+ norm: D,
2025
+ indices: A
2026
+ }]
2027
+ });
2028
+ }), E;
2029
+ }
2030
+ _searchLogical(e) {
2031
+ let w = parse(e, this.options), T = (e, w, E) => {
2032
+ if (!e.children) {
2033
+ let { keyId: T, searcher: D } = e, O = this._findMatches({
2034
+ key: this._keyStore.get(T),
2035
+ value: this._myIndex.getValueForItemAtKeyId(w, T),
2036
+ searcher: D
2037
+ });
2038
+ return O && O.length ? [{
2039
+ idx: E,
2040
+ item: w,
2041
+ matches: O
2042
+ }] : [];
2043
+ }
2044
+ let D = [];
2045
+ for (let O = 0, k = e.children.length; O < k; O += 1) {
2046
+ let k = e.children[O], A = T(k, w, E);
2047
+ if (A.length) D.push(...A);
2048
+ else if (e.operator === LogicalOperator.AND) return [];
2049
+ }
2050
+ return D;
2051
+ }, E = this._myIndex.records, D = {}, O = [];
2052
+ return E.forEach(({ $: e, i: E }) => {
2053
+ if (isDefined(e)) {
2054
+ let k = T(w, e, E);
2055
+ k.length && (D[E] || (D[E] = {
2056
+ idx: E,
2057
+ item: e,
2058
+ matches: []
2059
+ }, O.push(D[E])), k.forEach(({ matches: e }) => {
2060
+ D[E].matches.push(...e);
2061
+ }));
2062
+ }
2063
+ }), O;
2064
+ }
2065
+ _searchObjectList(e) {
2066
+ let w = createSearcher(e, this.options), { keys: T, records: E } = this._myIndex, D = [];
2067
+ return E.forEach(({ $: e, i: E }) => {
2068
+ if (!isDefined(e)) return;
2069
+ let O = [];
2070
+ T.forEach((T, E) => {
2071
+ O.push(...this._findMatches({
2072
+ key: T,
2073
+ value: e[E],
2074
+ searcher: w
2075
+ }));
2076
+ }), O.length && D.push({
2077
+ idx: E,
2078
+ item: e,
2079
+ matches: O
2080
+ });
2081
+ }), D;
2082
+ }
2083
+ _findMatches({ key: e, value: w, searcher: T }) {
2084
+ if (!isDefined(w)) return [];
2085
+ let E = [];
2086
+ if (isArray(w)) w.forEach(({ v: w, i: D, n: O }) => {
2087
+ if (!isDefined(w)) return;
2088
+ let { isMatch: k, score: A, indices: j } = T.searchIn(w);
2089
+ k && E.push({
2090
+ score: A,
2091
+ key: e,
2092
+ value: w,
2093
+ idx: D,
2094
+ norm: O,
2095
+ indices: j
2096
+ });
2097
+ });
2098
+ else {
2099
+ let { v: D, n: O } = w, { isMatch: k, score: A, indices: j } = T.searchIn(D);
2100
+ k && E.push({
2101
+ score: A,
2102
+ key: e,
2103
+ value: D,
2104
+ norm: O,
2105
+ indices: j
2106
+ });
2107
+ }
2108
+ return E;
2109
+ }
2110
+ };
2111
+ Fuse.version = "7.1.0", Fuse.createIndex = createIndex, Fuse.parseIndex = parseIndex, Fuse.config = Config, Fuse.parseQuery = parse, register(ExtendedSearch);
2112
+ var DefaultEntriesPerSource = 10, RequiredOptions = {
2113
+ includeScore: !0,
2114
+ shouldSort: !0
2115
+ }, DefaultOptions = {
2116
+ keys: [
2117
+ {
2118
+ name: "label",
2119
+ weight: .6
2120
+ },
2121
+ {
2122
+ name: "category",
2123
+ weight: .3
2124
+ },
2125
+ {
2126
+ name: "tag",
2127
+ weight: 1
2128
+ }
2129
+ ],
2130
+ matchAllTokens: !0,
2131
+ maxPatternLength: 16,
2132
+ minMatchCharLength: 3,
2133
+ threshold: .4,
2134
+ tokenize: !0
2135
+ };
2136
+ function scoreEntries(e, w, T) {
2137
+ return (0, import_chain.default)(new Fuse(w, {
2138
+ ...DefaultOptions,
2139
+ ...T.searchOptions,
2140
+ ...RequiredOptions
2141
+ }).search(e)).map(({ item: e, score: w }) => ({
2142
+ item: e,
2143
+ score: w,
2144
+ source: T
2145
+ })).take(T.maxEntries || DefaultEntriesPerSource).value();
2146
+ }
2147
+ function partitionGroups(e) {
2148
+ return (0, import_chain.default)(e).sortBy("entries[0].score").partition(({ source: e }) => e.insertSourceAtIndex === void 0).value();
2149
+ }
2150
+ function sortSearchResults(e) {
2151
+ let [w, T] = partitionGroups(e);
2152
+ return (0, import_sortBy.default)(T, "source.insertSourceAtIndex").reduce((e, w) => [
2153
+ ...e.slice(0, w.source.insertSourceAtIndex),
2154
+ w,
2155
+ ...e.slice(w.source.insertSourceAtIndex)
2156
+ ], w);
2157
+ }
2158
+ function search(e, w, T, E) {
2159
+ let D = w.map((w) => w.fetch(e, T).then((T) => {
2160
+ let D = {
2161
+ source: w,
2162
+ entries: scoreEntries(e, T, w)
2163
+ };
2164
+ return E == null || E.call(null, D), D;
2165
+ }, (e) => (console.debug(`Failed to search on source: ${w.label}`, e), {
2166
+ source: w,
2167
+ entries: []
2168
+ })));
2169
+ return Promise.all(D);
2170
+ }
2171
+ require_get();
2172
+ async function createCompassProviderSource(e, w, T, E) {
2173
+ if (!T || T.length < 3 || !e || !w) return null;
2174
+ try {
2175
+ let D = await fetch(`/compass/${e}/search/${w}?q=${encodeURIComponent(T)}`, { signal: E == null ? void 0 : E.signal });
2176
+ if (!D.ok) return console.debug(`Failed to fetch ${w} search results:`, D), null;
2177
+ let O = await D.json();
2178
+ return {
2179
+ label: O.label || w,
2180
+ searchOptions: O.search_options || { threshold: .2 },
2181
+ fetch: () => Promise.resolve(O.results || []),
2182
+ display: {
2183
+ label: (e) => {
2184
+ var w;
2185
+ return (w = e.label) == null ? "" : w;
2186
+ },
2187
+ category: (e) => {
2188
+ var w;
2189
+ return (w = e.category) == null ? "" : w;
2190
+ },
2191
+ tag: (e) => {
2192
+ var w;
2193
+ return (w = e.tag) == null ? "" : w;
2194
+ }
2195
+ },
2196
+ open: (e) => e.requires_confirmation && e.data && !window.confirm(e.data) ? null : e.url
2197
+ };
2198
+ } catch (e) {
2199
+ return e.name !== "AbortError" && console.debug(`Error creating compass ${w} source:`, e), null;
2200
+ }
2201
+ }
2202
+ async function getCompassProviders(e, w) {
2203
+ try {
2204
+ var T;
2205
+ let E = await fetch(`/compass/${e}/search/providers`, { signal: w == null ? void 0 : w.signal });
2206
+ return E.ok ? ((T = (await E.json()).providers) == null ? void 0 : T.map((e) => e.name)) || [] : (console.debug("Failed to fetch providers:", E.status), []);
2207
+ } catch (e) {
2208
+ return e.name !== "AbortError" && console.debug("Error fetching available providers:", e), [];
2209
+ }
2210
+ }
2211
+ async function createCompassSources(e, w, T) {
2212
+ if (!w || w.length < 3 || !e) return [];
2213
+ try {
2214
+ let E = await getCompassProviders(e, T);
2215
+ if (!E.length) return console.debug("No providers available"), [];
2216
+ console.debug(`Found ${E.length} providers:`, E);
2217
+ let D = E.map((E) => createCompassProviderSource(e, E, w, T)), O = (await Promise.all(D)).filter((e) => e !== null);
2218
+ return console.debug(`Successfully created ${O.length}/${E.length} sources`), O;
2219
+ } catch (e) {
2220
+ return e.name !== "AbortError" && console.debug("Error creating compass individual sources:", e), [];
2221
+ }
2222
+ }
2223
+ function createMenuSources(e, w) {
2224
+ return !e || !e.length || !w ? [] : e.map((e) => ({
2225
+ fetch: async (T) => {
2226
+ try {
2227
+ let T = await fetchMenu(e, w);
2228
+ if (T.error) return [];
2229
+ let E = [];
2230
+ return T.items.forEach((e) => {
2231
+ let w = e.label, T = e.icon;
2232
+ e.url && E.push({
2233
+ label: e.label,
2234
+ url: e.url,
2235
+ category: w,
2236
+ icon: T
2237
+ }), e.items && Array.isArray(e.items) && e.items.forEach((e) => {
2238
+ E.push({
2239
+ label: e.label,
2240
+ url: e.url,
2241
+ category: w,
2242
+ icon: e.icon || T
2243
+ });
2244
+ });
2245
+ }), E;
2246
+ } catch (e) {
2247
+ return [];
2248
+ }
2249
+ },
2250
+ display: {
2251
+ label: (e) => e.label,
2252
+ category: (e) => e.category,
2253
+ tag: () => ""
2254
+ },
2255
+ open: ({ url: e, label: w }) => {
2256
+ let T = new URL(e, document.location.href);
2257
+ return T.searchParams.append("mt", w), T.toString();
2258
+ },
2259
+ searchOptions: { threshold: .2 },
2260
+ maxEntries: 20,
2261
+ insertSourceAtIndex: 0
2262
+ }));
2263
+ }
2264
+ function useSearch(e) {
2265
+ let [A, j] = useState([]), [M, N] = useState(!1), [P, F] = useState(!1), I = useContext(Compass), L = I == null ? void 0 : I.backends, R = I == null ? void 0 : I.contextId, z = useRef(void 0), B = useCallback(() => {
2266
+ N(!1), F(!0);
2267
+ }, []), H = useMemo(() => R && L ? createMenuSources(L, R.toString()) : [], [R, L]), U = useCallback((e) => {
2268
+ e.entries.length > 0 && j((w) => sortSearchResults([e, ...w.filter((w) => w.source.label !== e.source.label)]));
2269
+ }, []);
2270
+ return useEffect(() => {
2271
+ (async () => {
2272
+ var w;
2273
+ if (!e || e.length < 3) {
2274
+ j([]), N(!1), F(!1);
2275
+ return;
2276
+ }
2277
+ (w = z.current) == null || w.abort(), z.current = new AbortController(), F(!1), j([]), N(!0);
2278
+ try {
2279
+ await search(e, [...await createCompassSources(R, e, z.current), ...H], z.current, U);
2280
+ } catch (e) {
2281
+ e.name !== "AbortError" && console.debug("Search failed:", e);
2282
+ } finally {
2283
+ B();
2284
+ }
2285
+ })();
2286
+ }, [
2287
+ e,
2288
+ R,
2289
+ L,
2290
+ H,
2291
+ U,
2292
+ B
2293
+ ]), [
2294
+ A,
2295
+ M,
2296
+ P
2297
+ ];
2298
+ }
2299
+ export { Compass, createMenuItem, fetchBackend, useCompassMenu, useNotificationCenter, useSearch };