@prometa/sleek 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,54 +1,54 @@
1
- var Je = Object.defineProperty;
2
- var Oe = (s) => {
3
- throw TypeError(s);
1
+ var Et = Object.defineProperty;
2
+ var It = (i) => {
3
+ throw TypeError(i);
4
4
  };
5
- var We = (s, e, t) => e in s ? Je(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
6
- var N = (s, e, t) => We(s, typeof e != "symbol" ? e + "" : e, t), ae = (s, e, t) => e.has(s) || Oe("Cannot " + t);
7
- var x = (s, e, t) => (ae(s, e, "read from private field"), t ? t.call(s) : e.get(s)), K = (s, e, t) => e.has(s) ? Oe("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(s) : e.set(s, t), H = (s, e, t, i) => (ae(s, e, "write to private field"), i ? i.call(s, t) : e.set(s, t), t), we = (s, e, t) => (ae(s, e, "access private method"), t);
8
- import { snakeToCamel as Xe } from "./chartjs-chart.js";
9
- import { t as Ze } from "./utils.js";
10
- function ce(s, e) {
11
- s.split(/\s+/).forEach((t) => {
12
- e(t);
5
+ var Ut = (i, t, e) => t in i ? Et(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
6
+ var V = (i, t, e) => Ut(i, typeof t != "symbol" ? t + "" : t, e), lt = (i, t, e) => t.has(i) || It("Cannot " + e);
7
+ var Y = (i, t, e) => (lt(i, t, "read from private field"), e ? e.call(i) : t.get(i)), S = (i, t, e) => t.has(i) ? It("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(i) : t.set(i, e), K = (i, t, e, n) => (lt(i, t, "write to private field"), n ? n.call(i, e) : t.set(i, e), e), Ct = (i, t, e) => (lt(i, t, "access private method"), e);
8
+ import { snakeToCamel as $t } from "./chartjs-chart.js";
9
+ import { t as Pt } from "./utils.js";
10
+ function ct(i, t) {
11
+ i.split(/\s+/).forEach((e) => {
12
+ t(e);
13
13
  });
14
14
  }
15
- class et {
15
+ class qt {
16
16
  constructor() {
17
17
  this._events = {};
18
18
  }
19
- on(e, t) {
20
- ce(e, (i) => {
21
- const n = this._events[i] || [];
22
- n.push(t), this._events[i] = n;
19
+ on(t, e) {
20
+ ct(t, (n) => {
21
+ const s = this._events[n] || [];
22
+ s.push(e), this._events[n] = s;
23
23
  });
24
24
  }
25
- off(e, t) {
26
- var i = arguments.length;
27
- if (i === 0) {
25
+ off(t, e) {
26
+ var n = arguments.length;
27
+ if (n === 0) {
28
28
  this._events = {};
29
29
  return;
30
30
  }
31
- ce(e, (n) => {
32
- if (i === 1) {
33
- delete this._events[n];
31
+ ct(t, (s) => {
32
+ if (n === 1) {
33
+ delete this._events[s];
34
34
  return;
35
35
  }
36
- const o = this._events[n];
37
- o !== void 0 && (o.splice(o.indexOf(t), 1), this._events[n] = o);
36
+ const o = this._events[s];
37
+ o !== void 0 && (o.splice(o.indexOf(e), 1), this._events[s] = o);
38
38
  });
39
39
  }
40
- trigger(e, ...t) {
41
- var i = this;
42
- ce(e, (n) => {
43
- const o = i._events[n];
40
+ trigger(t, ...e) {
41
+ var n = this;
42
+ ct(t, (s) => {
43
+ const o = n._events[s];
44
44
  o !== void 0 && o.forEach((r) => {
45
- r.apply(i, t);
45
+ r.apply(n, e);
46
46
  });
47
47
  });
48
48
  }
49
49
  }
50
- function tt(s) {
51
- return s.plugins = {}, class extends s {
50
+ function te(i) {
51
+ return i.plugins = {}, class extends i {
52
52
  constructor() {
53
53
  super(...arguments), this.plugins = {
54
54
  names: [],
@@ -62,10 +62,10 @@ function tt(s) {
62
62
  *
63
63
  * @param {function} fn
64
64
  */
65
- static define(e, t) {
66
- s.plugins[e] = {
67
- name: e,
68
- fn: t
65
+ static define(t, e) {
66
+ i.plugins[t] = {
67
+ name: t,
68
+ fn: e
69
69
  };
70
70
  }
71
71
  /**
@@ -83,69 +83,69 @@ function tt(s) {
83
83
  *
84
84
  * @param {array|object} plugins
85
85
  */
86
- initializePlugins(e) {
87
- var t, i;
88
- const n = this, o = [];
89
- if (Array.isArray(e))
90
- e.forEach((r) => {
91
- typeof r == "string" ? o.push(r) : (n.plugins.settings[r.name] = r.options, o.push(r.name));
86
+ initializePlugins(t) {
87
+ var e, n;
88
+ const s = this, o = [];
89
+ if (Array.isArray(t))
90
+ t.forEach((r) => {
91
+ typeof r == "string" ? o.push(r) : (s.plugins.settings[r.name] = r.options, o.push(r.name));
92
92
  });
93
- else if (e)
94
- for (t in e)
95
- e.hasOwnProperty(t) && (n.plugins.settings[t] = e[t], o.push(t));
96
- for (; i = o.shift(); )
97
- n.require(i);
93
+ else if (t)
94
+ for (e in t)
95
+ t.hasOwnProperty(e) && (s.plugins.settings[e] = t[e], o.push(e));
96
+ for (; n = o.shift(); )
97
+ s.require(n);
98
98
  }
99
- loadPlugin(e) {
100
- var t = this, i = t.plugins, n = s.plugins[e];
101
- if (!s.plugins.hasOwnProperty(e))
102
- throw new Error('Unable to find "' + e + '" plugin');
103
- i.requested[e] = !0, i.loaded[e] = n.fn.apply(t, [t.plugins.settings[e] || {}]), i.names.push(e);
99
+ loadPlugin(t) {
100
+ var e = this, n = e.plugins, s = i.plugins[t];
101
+ if (!i.plugins.hasOwnProperty(t))
102
+ throw new Error('Unable to find "' + t + '" plugin');
103
+ n.requested[t] = !0, n.loaded[t] = s.fn.apply(e, [e.plugins.settings[t] || {}]), n.names.push(t);
104
104
  }
105
105
  /**
106
106
  * Initializes a plugin.
107
107
  *
108
108
  */
109
- require(e) {
110
- var t = this, i = t.plugins;
111
- if (!t.plugins.loaded.hasOwnProperty(e)) {
112
- if (i.requested[e])
113
- throw new Error('Plugin has circular dependency ("' + e + '")');
114
- t.loadPlugin(e);
109
+ require(t) {
110
+ var e = this, n = e.plugins;
111
+ if (!e.plugins.loaded.hasOwnProperty(t)) {
112
+ if (n.requested[t])
113
+ throw new Error('Plugin has circular dependency ("' + t + '")');
114
+ e.loadPlugin(t);
115
115
  }
116
- return i.loaded[e];
116
+ return n.loaded[t];
117
117
  }
118
118
  };
119
119
  }
120
- const le = (s) => (s = s.filter(Boolean), s.length < 2 ? s[0] || "" : it(s) == 1 ? "[" + s.join("") + "]" : "(?:" + s.join("|") + ")"), Ke = (s) => {
121
- if (!st(s))
122
- return s.join("");
123
- let e = "", t = 0;
124
- const i = () => {
125
- t > 1 && (e += "{" + t + "}");
120
+ const ot = (i) => (i = i.filter(Boolean), i.length < 2 ? i[0] || "" : ie(i) == 1 ? "[" + i.join("") + "]" : "(?:" + i.join("|") + ")"), kt = (i) => {
121
+ if (!ee(i))
122
+ return i.join("");
123
+ let t = "", e = 0;
124
+ const n = () => {
125
+ e > 1 && (t += "{" + e + "}");
126
126
  };
127
- return s.forEach((n, o) => {
128
- if (n === s[o - 1]) {
129
- t++;
127
+ return i.forEach((s, o) => {
128
+ if (s === i[o - 1]) {
129
+ e++;
130
130
  return;
131
131
  }
132
- i(), e += n, t = 1;
133
- }), i(), e;
134
- }, Re = (s) => {
135
- let e = Array.from(s);
136
- return le(e);
137
- }, st = (s) => new Set(s).size !== s.length, G = (s) => (s + "").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu, "\\$1"), it = (s) => s.reduce((e, t) => Math.max(e, nt(t)), 0), nt = (s) => Array.from(s).length, Be = (s) => {
138
- if (s.length === 1)
139
- return [[s]];
140
- let e = [];
141
- const t = s.substring(1);
142
- return Be(t).forEach(function(n) {
143
- let o = n.slice(0);
144
- o[0] = s.charAt(0) + o[0], e.push(o), o = n.slice(0), o.unshift(s.charAt(0)), e.push(o);
145
- }), e;
146
- }, rt = [[0, 65535]], ot = "[̀-ͯ·ʾʼ]";
147
- let ie, ze;
148
- const lt = 3, _e = {}, be = {
132
+ n(), t += s, e = 1;
133
+ }), n(), t;
134
+ }, Ft = (i) => {
135
+ let t = Array.from(i);
136
+ return ot(t);
137
+ }, ee = (i) => new Set(i).size !== i.length, T = (i) => (i + "").replace(/([\$\(\)\*\+\.\?\[\]\^\{\|\}\\])/gu, "\\$1"), ie = (i) => i.reduce((t, e) => Math.max(t, ne(e)), 0), ne = (i) => Array.from(i).length, St = (i) => {
138
+ if (i.length === 1)
139
+ return [[i]];
140
+ let t = [];
141
+ const e = i.substring(1);
142
+ return St(e).forEach(function(s) {
143
+ let o = s.slice(0);
144
+ o[0] = i.charAt(0) + o[0], t.push(o), o = s.slice(0), o.unshift(i.charAt(0)), t.push(o);
145
+ }), t;
146
+ }, se = [[0, 65535]], re = "[̀-ͯ·ʾʼ]";
147
+ let it, Kt;
148
+ const oe = 3, bt = {}, yt = {
149
149
  "/": "⁄∕",
150
150
  0: "߀",
151
151
  a: "ⱥɐɑ",
@@ -188,67 +188,67 @@ const lt = 3, _e = {}, be = {
188
188
  z: "ƶȥɀⱬꝣ",
189
189
  hv: "ƕ"
190
190
  };
191
- for (let s in be) {
192
- let e = be[s] || "";
193
- for (let t = 0; t < e.length; t++) {
194
- let i = e.substring(t, t + 1);
195
- _e[i] = s;
191
+ for (let i in yt) {
192
+ let t = yt[i] || "";
193
+ for (let e = 0; e < t.length; e++) {
194
+ let n = t.substring(e, e + 1);
195
+ bt[n] = i;
196
196
  }
197
197
  }
198
- const at = new RegExp(Object.keys(_e).join("|") + "|" + ot, "gu"), ct = (s) => {
199
- ie === void 0 && (ie = pt(rt));
200
- }, Ae = (s, e = "NFKD") => s.normalize(e), ne = (s) => Array.from(s).reduce(
198
+ const le = new RegExp(Object.keys(bt).join("|") + "|" + re, "gu"), ce = (i) => {
199
+ it === void 0 && (it = ge(se));
200
+ }, Zt = (i, t = "NFKD") => i.normalize(t), nt = (i) => Array.from(i).reduce(
201
201
  /**
202
202
  * @param {string} result
203
203
  * @param {string} char
204
204
  */
205
- (e, t) => e + ut(t),
205
+ (t, e) => t + ae(e),
206
206
  ""
207
- ), ut = (s) => (s = Ae(s).toLowerCase().replace(at, (e) => _e[e] || ""), Ae(s, "NFC"));
208
- function* dt(s) {
209
- for (const [e, t] of s)
210
- for (let i = e; i <= t; i++) {
211
- let n = String.fromCharCode(i), o = ne(n);
212
- o != n.toLowerCase() && (o.length > lt || o.length != 0 && (yield { folded: o, composed: n, code_point: i }));
207
+ ), ae = (i) => (i = Zt(i).toLowerCase().replace(le, (t) => bt[t] || ""), Zt(i, "NFC"));
208
+ function* de(i) {
209
+ for (const [t, e] of i)
210
+ for (let n = t; n <= e; n++) {
211
+ let s = String.fromCharCode(n), o = nt(s);
212
+ o != s.toLowerCase() && (o.length > oe || o.length != 0 && (yield { folded: o, composed: s, code_point: n }));
213
213
  }
214
214
  }
215
- const ft = (s) => {
216
- const e = {}, t = (i, n) => {
217
- const o = e[i] || /* @__PURE__ */ new Set(), r = new RegExp("^" + Re(o) + "$", "iu");
218
- n.match(r) || (o.add(G(n)), e[i] = o);
215
+ const ue = (i) => {
216
+ const t = {}, e = (n, s) => {
217
+ const o = t[n] || /* @__PURE__ */ new Set(), r = new RegExp("^" + Ft(o) + "$", "iu");
218
+ s.match(r) || (o.add(T(s)), t[n] = o);
219
219
  };
220
- for (let i of dt(s))
221
- t(i.folded, i.folded), t(i.folded, i.composed);
222
- return e;
223
- }, pt = (s) => {
224
- const e = ft(s), t = {};
225
- let i = [];
226
- for (let o in e) {
227
- let r = e[o];
228
- r && (t[o] = Re(r)), o.length > 1 && i.push(G(o));
229
- }
230
- i.sort((o, r) => r.length - o.length);
231
- const n = le(i);
232
- return ze = new RegExp("^" + n, "u"), t;
233
- }, ht = (s, e = 1) => {
234
- let t = 0;
235
- return s = s.map((i) => (ie[i] && (t += i.length), ie[i] || i)), t >= e ? Ke(s) : "";
236
- }, gt = (s, e = 1) => (e = Math.max(e, s.length - 1), le(Be(s).map((t) => ht(t, e)))), Se = (s, e = !0) => {
237
- let t = s.length > 1 ? 1 : 0;
238
- return le(s.map((i) => {
239
- let n = [];
240
- const o = e ? i.length() : i.length() - 1;
220
+ for (let n of de(i))
221
+ e(n.folded, n.folded), e(n.folded, n.composed);
222
+ return t;
223
+ }, ge = (i) => {
224
+ const t = ue(i), e = {};
225
+ let n = [];
226
+ for (let o in t) {
227
+ let r = t[o];
228
+ r && (e[o] = Ft(r)), o.length > 1 && n.push(T(o));
229
+ }
230
+ n.sort((o, r) => r.length - o.length);
231
+ const s = ot(n);
232
+ return Kt = new RegExp("^" + s, "u"), e;
233
+ }, pe = (i, t = 1) => {
234
+ let e = 0;
235
+ return i = i.map((n) => (it[n] && (e += n.length), it[n] || n)), e >= t ? kt(i) : "";
236
+ }, he = (i, t = 1) => (t = Math.max(t, i.length - 1), ot(St(i).map((e) => pe(e, t)))), wt = (i, t = !0) => {
237
+ let e = i.length > 1 ? 1 : 0;
238
+ return ot(i.map((n) => {
239
+ let s = [];
240
+ const o = t ? n.length() : n.length() - 1;
241
241
  for (let r = 0; r < o; r++)
242
- n.push(gt(i.substrs[r] || "", t));
243
- return Ke(n);
242
+ s.push(he(n.substrs[r] || "", e));
243
+ return kt(s);
244
244
  }));
245
- }, mt = (s, e) => {
246
- for (const t of e) {
247
- if (t.start != s.start || t.end != s.end || t.substrs.join("") !== s.substrs.join(""))
245
+ }, me = (i, t) => {
246
+ for (const e of t) {
247
+ if (e.start != i.start || e.end != i.end || e.substrs.join("") !== i.substrs.join(""))
248
248
  continue;
249
- let i = s.parts;
250
- const n = (r) => {
251
- for (const l of i) {
249
+ let n = i.parts;
250
+ const s = (r) => {
251
+ for (const l of n) {
252
252
  if (l.start === r.start && l.substr === r.substr)
253
253
  return !1;
254
254
  if (!(r.length == 1 || l.length == 1) && (r.start < l.start && r.end > l.start || l.start < r.start && l.end > r.start))
@@ -256,21 +256,21 @@ const ft = (s) => {
256
256
  }
257
257
  return !1;
258
258
  };
259
- if (!(t.parts.filter(n).length > 0))
259
+ if (!(e.parts.filter(s).length > 0))
260
260
  return !0;
261
261
  }
262
262
  return !1;
263
263
  };
264
- class re {
264
+ class st {
265
265
  constructor() {
266
- N(this, "parts");
267
- N(this, "substrs");
268
- N(this, "start");
269
- N(this, "end");
266
+ V(this, "parts");
267
+ V(this, "substrs");
268
+ V(this, "start");
269
+ V(this, "end");
270
270
  this.parts = [], this.substrs = [], this.start = 0, this.end = 0;
271
271
  }
272
- add(e) {
273
- e && (this.parts.push(e), this.substrs.push(e.substr), this.start = Math.min(e.start, this.start), this.end = Math.max(e.end, this.end));
272
+ add(t) {
273
+ t && (this.parts.push(t), this.substrs.push(t.substr), this.start = Math.min(t.start, this.start), this.end = Math.max(t.end, this.end));
274
274
  }
275
275
  last() {
276
276
  return this.parts[this.parts.length - 1];
@@ -278,105 +278,105 @@ class re {
278
278
  length() {
279
279
  return this.parts.length;
280
280
  }
281
- clone(e, t) {
282
- let i = new re(), n = JSON.parse(JSON.stringify(this.parts)), o = n.pop();
283
- for (const c of n)
284
- i.add(c);
285
- let r = t.substr.substring(0, e - o.start), l = r.length;
286
- return i.add({ start: o.start, end: o.start + l, length: l, substr: r }), i;
281
+ clone(t, e) {
282
+ let n = new st(), s = JSON.parse(JSON.stringify(this.parts)), o = s.pop();
283
+ for (const a of s)
284
+ n.add(a);
285
+ let r = e.substr.substring(0, t - o.start), l = r.length;
286
+ return n.add({ start: o.start, end: o.start + l, length: l, substr: r }), n;
287
287
  }
288
288
  }
289
- const vt = (s) => {
290
- ct(), s = ne(s);
291
- let e = "", t = [new re()];
292
- for (let i = 0; i < s.length; i++) {
293
- let o = s.substring(i).match(ze);
294
- const r = s.substring(i, i + 1), l = o ? o[0] : null;
295
- let c = [], a = /* @__PURE__ */ new Set();
296
- for (const u of t) {
297
- const d = u.last();
298
- if (!d || d.length == 1 || d.end <= i)
289
+ const fe = (i) => {
290
+ ce(), i = nt(i);
291
+ let t = "", e = [new st()];
292
+ for (let n = 0; n < i.length; n++) {
293
+ let o = i.substring(n).match(Kt);
294
+ const r = i.substring(n, n + 1), l = o ? o[0] : null;
295
+ let a = [], c = /* @__PURE__ */ new Set();
296
+ for (const d of e) {
297
+ const u = d.last();
298
+ if (!u || u.length == 1 || u.end <= n)
299
299
  if (l) {
300
300
  const p = l.length;
301
- u.add({ start: i, end: i + p, length: p, substr: l }), a.add("1");
301
+ d.add({ start: n, end: n + p, length: p, substr: l }), c.add("1");
302
302
  } else
303
- u.add({ start: i, end: i + 1, length: 1, substr: r }), a.add("2");
303
+ d.add({ start: n, end: n + 1, length: 1, substr: r }), c.add("2");
304
304
  else if (l) {
305
- let p = u.clone(i, d);
306
- const w = l.length;
307
- p.add({ start: i, end: i + w, length: w, substr: l }), c.push(p);
305
+ let p = d.clone(n, u);
306
+ const y = l.length;
307
+ p.add({ start: n, end: n + y, length: y, substr: l }), a.push(p);
308
308
  } else
309
- a.add("3");
309
+ c.add("3");
310
310
  }
311
- if (c.length > 0) {
312
- c = c.sort((u, d) => u.length() - d.length());
313
- for (let u of c)
314
- mt(u, t) || t.push(u);
311
+ if (a.length > 0) {
312
+ a = a.sort((d, u) => d.length() - u.length());
313
+ for (let d of a)
314
+ me(d, e) || e.push(d);
315
315
  continue;
316
316
  }
317
- if (i > 0 && a.size == 1 && !a.has("3")) {
318
- e += Se(t, !1);
319
- let u = new re();
320
- const d = t[0];
321
- d && u.add(d.last()), t = [u];
317
+ if (n > 0 && c.size == 1 && !c.has("3")) {
318
+ t += wt(e, !1);
319
+ let d = new st();
320
+ const u = e[0];
321
+ u && d.add(u.last()), e = [d];
322
322
  }
323
323
  }
324
- return e += Se(t, !0), e;
325
- }, _t = (s, e) => {
326
- if (s)
327
- return s[e];
328
- }, yt = (s, e) => {
329
- if (s) {
330
- for (var t, i = e.split("."); (t = i.shift()) && (s = s[t]); )
324
+ return t += wt(e, !0), t;
325
+ }, be = (i, t) => {
326
+ if (i)
327
+ return i[t];
328
+ }, ve = (i, t) => {
329
+ if (i) {
330
+ for (var e, n = t.split("."); (e = n.shift()) && (i = i[e]); )
331
331
  ;
332
- return s;
332
+ return i;
333
333
  }
334
- }, ue = (s, e, t) => {
335
- var i, n;
336
- return !s || (s = s + "", e.regex == null) || (n = s.search(e.regex), n === -1) ? 0 : (i = e.string.length / s.length, n === 0 && (i += 0.5), i * t);
337
- }, de = (s, e) => {
338
- var t = s[e];
339
- if (typeof t == "function")
340
- return t;
341
- t && !Array.isArray(t) && (s[e] = [t]);
342
- }, X = (s, e) => {
343
- if (Array.isArray(s))
344
- s.forEach(e);
334
+ }, at = (i, t, e) => {
335
+ var n, s;
336
+ return !i || (i = i + "", t.regex == null) || (s = i.search(t.regex), s === -1) ? 0 : (n = t.string.length / i.length, s === 0 && (n += 0.5), n * e);
337
+ }, dt = (i, t) => {
338
+ var e = i[t];
339
+ if (typeof e == "function")
340
+ return e;
341
+ e && !Array.isArray(e) && (i[t] = [e]);
342
+ }, $ = (i, t) => {
343
+ if (Array.isArray(i))
344
+ i.forEach(t);
345
345
  else
346
- for (var t in s)
347
- s.hasOwnProperty(t) && e(s[t], t);
348
- }, Ot = (s, e) => typeof s == "number" && typeof e == "number" ? s > e ? 1 : s < e ? -1 : 0 : (s = ne(s + "").toLowerCase(), e = ne(e + "").toLowerCase(), s > e ? 1 : e > s ? -1 : 0);
349
- class wt {
346
+ for (var e in i)
347
+ i.hasOwnProperty(e) && t(i[e], e);
348
+ }, Ie = (i, t) => typeof i == "number" && typeof t == "number" ? i > t ? 1 : i < t ? -1 : 0 : (i = nt(i + "").toLowerCase(), t = nt(t + "").toLowerCase(), i > t ? 1 : t > i ? -1 : 0);
349
+ class Ce {
350
350
  /**
351
351
  * Textually searches arrays and hashes of objects
352
352
  * by property (or multiple properties). Designed
353
353
  * specifically for autocomplete.
354
354
  *
355
355
  */
356
- constructor(e, t) {
357
- N(this, "items");
356
+ constructor(t, e) {
357
+ V(this, "items");
358
358
  // []|{};
359
- N(this, "settings");
360
- this.items = e, this.settings = t || { diacritics: !0 };
359
+ V(this, "settings");
360
+ this.items = t, this.settings = e || { diacritics: !0 };
361
361
  }
362
362
  /**
363
363
  * Splits a search string into an array of individual
364
364
  * regexps to be used to match results.
365
365
  *
366
366
  */
367
- tokenize(e, t, i) {
368
- if (!e || !e.length)
367
+ tokenize(t, e, n) {
368
+ if (!t || !t.length)
369
369
  return [];
370
- const n = [], o = e.split(/\s+/);
370
+ const s = [], o = t.split(/\s+/);
371
371
  var r;
372
- return i && (r = new RegExp("^(" + Object.keys(i).map(G).join("|") + "):(.*)$")), o.forEach((l) => {
373
- let c, a = null, u = null;
374
- r && (c = l.match(r)) && (a = c[1], l = c[2]), l.length > 0 && (this.settings.diacritics ? u = vt(l) || null : u = G(l), u && t && (u = "\\b" + u)), n.push({
372
+ return n && (r = new RegExp("^(" + Object.keys(n).map(T).join("|") + "):(.*)$")), o.forEach((l) => {
373
+ let a, c = null, d = null;
374
+ r && (a = l.match(r)) && (c = a[1], l = a[2]), l.length > 0 && (this.settings.diacritics ? d = fe(l) || null : d = T(l), d && e && (d = "\\b" + d)), s.push({
375
375
  string: l,
376
- regex: u ? new RegExp(u, "iu") : null,
377
- field: a
376
+ regex: d ? new RegExp(d, "iu") : null,
377
+ field: c
378
378
  });
379
- }), n;
379
+ }), s;
380
380
  }
381
381
  /**
382
382
  * Returns a function to be used to score individual results.
@@ -386,56 +386,56 @@ class wt {
386
386
  *
387
387
  * @returns {T.ScoreFn}
388
388
  */
389
- getScoreFunction(e, t) {
390
- var i = this.prepareSearch(e, t);
391
- return this._getScoreFunction(i);
389
+ getScoreFunction(t, e) {
390
+ var n = this.prepareSearch(t, e);
391
+ return this._getScoreFunction(n);
392
392
  }
393
393
  /**
394
394
  * @returns {T.ScoreFn}
395
395
  *
396
396
  */
397
- _getScoreFunction(e) {
398
- const t = e.tokens, i = t.length;
399
- if (!i)
397
+ _getScoreFunction(t) {
398
+ const e = t.tokens, n = e.length;
399
+ if (!n)
400
400
  return function() {
401
401
  return 0;
402
402
  };
403
- const n = e.options.fields, o = e.weights, r = n.length, l = e.getAttrFn;
403
+ const s = t.options.fields, o = t.weights, r = s.length, l = t.getAttrFn;
404
404
  if (!r)
405
405
  return function() {
406
406
  return 1;
407
407
  };
408
- const c = /* @__PURE__ */ function() {
409
- return r === 1 ? function(a, u) {
410
- const d = n[0].field;
411
- return ue(l(u, d), a, o[d] || 1);
412
- } : function(a, u) {
413
- var d = 0;
414
- if (a.field) {
415
- const p = l(u, a.field);
416
- !a.regex && p ? d += 1 / r : d += ue(p, a, 1);
408
+ const a = /* @__PURE__ */ function() {
409
+ return r === 1 ? function(c, d) {
410
+ const u = s[0].field;
411
+ return at(l(d, u), c, o[u] || 1);
412
+ } : function(c, d) {
413
+ var u = 0;
414
+ if (c.field) {
415
+ const p = l(d, c.field);
416
+ !c.regex && p ? u += 1 / r : u += at(p, c, 1);
417
417
  } else
418
- X(o, (p, w) => {
419
- d += ue(l(u, w), a, p);
418
+ $(o, (p, y) => {
419
+ u += at(l(d, y), c, p);
420
420
  });
421
- return d / r;
421
+ return u / r;
422
422
  };
423
423
  }();
424
- return i === 1 ? function(a) {
425
- return c(t[0], a);
426
- } : e.options.conjunction === "and" ? function(a) {
427
- var u, d = 0;
428
- for (let p of t) {
429
- if (u = c(p, a), u <= 0)
424
+ return n === 1 ? function(c) {
425
+ return a(e[0], c);
426
+ } : t.options.conjunction === "and" ? function(c) {
427
+ var d, u = 0;
428
+ for (let p of e) {
429
+ if (d = a(p, c), d <= 0)
430
430
  return 0;
431
- d += u;
431
+ u += d;
432
432
  }
433
- return d / i;
434
- } : function(a) {
435
- var u = 0;
436
- return X(t, (d) => {
437
- u += c(d, a);
438
- }), u / i;
433
+ return u / n;
434
+ } : function(c) {
435
+ var d = 0;
436
+ return $(e, (u) => {
437
+ d += a(u, c);
438
+ }), d / n;
439
439
  };
440
440
  }
441
441
  /**
@@ -445,36 +445,36 @@ class wt {
445
445
  *
446
446
  * @return function(a,b)
447
447
  */
448
- getSortFunction(e, t) {
449
- var i = this.prepareSearch(e, t);
450
- return this._getSortFunction(i);
448
+ getSortFunction(t, e) {
449
+ var n = this.prepareSearch(t, e);
450
+ return this._getSortFunction(n);
451
451
  }
452
- _getSortFunction(e) {
453
- var t, i = [];
454
- const n = this, o = e.options, r = !e.query && o.sort_empty ? o.sort_empty : o.sort;
452
+ _getSortFunction(t) {
453
+ var e, n = [];
454
+ const s = this, o = t.options, r = !t.query && o.sort_empty ? o.sort_empty : o.sort;
455
455
  if (typeof r == "function")
456
456
  return r.bind(this);
457
- const l = function(a, u) {
458
- return a === "$score" ? u.score : e.getAttrFn(n.items[u.id], a);
457
+ const l = function(c, d) {
458
+ return c === "$score" ? d.score : t.getAttrFn(s.items[d.id], c);
459
459
  };
460
460
  if (r)
461
- for (let a of r)
462
- (e.query || a.field !== "$score") && i.push(a);
463
- if (e.query) {
464
- t = !0;
465
- for (let a of i)
466
- if (a.field === "$score") {
467
- t = !1;
461
+ for (let c of r)
462
+ (t.query || c.field !== "$score") && n.push(c);
463
+ if (t.query) {
464
+ e = !0;
465
+ for (let c of n)
466
+ if (c.field === "$score") {
467
+ e = !1;
468
468
  break;
469
469
  }
470
- t && i.unshift({ field: "$score", direction: "desc" });
470
+ e && n.unshift({ field: "$score", direction: "desc" });
471
471
  } else
472
- i = i.filter((a) => a.field !== "$score");
473
- return i.length ? function(a, u) {
474
- var d, p;
475
- for (let w of i)
476
- if (p = w.field, d = (w.direction === "desc" ? -1 : 1) * Ot(l(p, a), l(p, u)), d)
477
- return d;
472
+ n = n.filter((c) => c.field !== "$score");
473
+ return n.length ? function(c, d) {
474
+ var u, p;
475
+ for (let y of n)
476
+ if (p = y.field, u = (y.direction === "desc" ? -1 : 1) * Ie(l(p, c), l(p, d)), u)
477
+ return u;
478
478
  return 0;
479
479
  } : null;
480
480
  }
@@ -484,171 +484,171 @@ class wt {
484
484
  * with results.
485
485
  *
486
486
  */
487
- prepareSearch(e, t) {
488
- const i = {};
489
- var n = Object.assign({}, t);
490
- if (de(n, "sort"), de(n, "sort_empty"), n.fields) {
491
- de(n, "fields");
487
+ prepareSearch(t, e) {
488
+ const n = {};
489
+ var s = Object.assign({}, e);
490
+ if (dt(s, "sort"), dt(s, "sort_empty"), s.fields) {
491
+ dt(s, "fields");
492
492
  const o = [];
493
- n.fields.forEach((r) => {
494
- typeof r == "string" && (r = { field: r, weight: 1 }), o.push(r), i[r.field] = "weight" in r ? r.weight : 1;
495
- }), n.fields = o;
493
+ s.fields.forEach((r) => {
494
+ typeof r == "string" && (r = { field: r, weight: 1 }), o.push(r), n[r.field] = "weight" in r ? r.weight : 1;
495
+ }), s.fields = o;
496
496
  }
497
497
  return {
498
- options: n,
499
- query: e.toLowerCase().trim(),
500
- tokens: this.tokenize(e, n.respect_word_boundaries, i),
498
+ options: s,
499
+ query: t.toLowerCase().trim(),
500
+ tokens: this.tokenize(t, s.respect_word_boundaries, n),
501
501
  total: 0,
502
502
  items: [],
503
- weights: i,
504
- getAttrFn: n.nesting ? yt : _t
503
+ weights: n,
504
+ getAttrFn: s.nesting ? ve : be
505
505
  };
506
506
  }
507
507
  /**
508
508
  * Searches through all items and returns a sorted array of matches.
509
509
  *
510
510
  */
511
- search(e, t) {
512
- var i = this, n, o;
513
- o = this.prepareSearch(e, t), t = o.options, e = o.query;
514
- const r = t.score || i._getScoreFunction(o);
515
- e.length ? X(i.items, (c, a) => {
516
- n = r(c), (t.filter === !1 || n > 0) && o.items.push({ score: n, id: a });
517
- }) : X(i.items, (c, a) => {
518
- o.items.push({ score: 1, id: a });
511
+ search(t, e) {
512
+ var n = this, s, o;
513
+ o = this.prepareSearch(t, e), e = o.options, t = o.query;
514
+ const r = e.score || n._getScoreFunction(o);
515
+ t.length ? $(n.items, (a, c) => {
516
+ s = r(a), (e.filter === !1 || s > 0) && o.items.push({ score: s, id: c });
517
+ }) : $(n.items, (a, c) => {
518
+ o.items.push({ score: 1, id: c });
519
519
  });
520
- const l = i._getSortFunction(o);
521
- return l && o.items.sort(l), o.total = o.items.length, typeof t.limit == "number" && (o.items = o.items.slice(0, t.limit)), o;
520
+ const l = n._getSortFunction(o);
521
+ return l && o.items.sort(l), o.total = o.items.length, typeof e.limit == "number" && (o.items = o.items.slice(0, e.limit)), o;
522
522
  }
523
523
  }
524
- const T = (s) => typeof s > "u" || s === null ? null : se(s), se = (s) => typeof s == "boolean" ? s ? "1" : "0" : s + "", fe = (s) => (s + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), bt = (s, e) => e > 0 ? window.setTimeout(s, e) : (s.call(null), null), At = (s, e) => {
525
- var t;
526
- return function(i, n) {
524
+ const O = (i) => typeof i > "u" || i === null ? null : et(i), et = (i) => typeof i == "boolean" ? i ? "1" : "0" : i + "", ut = (i) => (i + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), ye = (i, t) => t > 0 ? window.setTimeout(i, t) : (i.call(null), null), Ze = (i, t) => {
525
+ var e;
526
+ return function(n, s) {
527
527
  var o = this;
528
- t && (o.loading = Math.max(o.loading - 1, 0), clearTimeout(t)), t = setTimeout(function() {
529
- t = null, o.loadedSearches[i] = !0, s.call(o, i, n);
530
- }, e);
528
+ e && (o.loading = Math.max(o.loading - 1, 0), clearTimeout(e)), e = setTimeout(function() {
529
+ e = null, o.loadedSearches[n] = !0, i.call(o, n, s);
530
+ }, t);
531
531
  };
532
- }, Ce = (s, e, t) => {
533
- var i, n = s.trigger, o = {};
534
- s.trigger = function() {
532
+ }, Lt = (i, t, e) => {
533
+ var n, s = i.trigger, o = {};
534
+ i.trigger = function() {
535
535
  var r = arguments[0];
536
- if (e.indexOf(r) !== -1)
536
+ if (t.indexOf(r) !== -1)
537
537
  o[r] = arguments;
538
538
  else
539
- return n.apply(s, arguments);
540
- }, t.apply(s, []), s.trigger = n;
541
- for (i of e)
542
- i in o && n.apply(s, o[i]);
543
- }, St = (s) => ({
544
- start: s.selectionStart || 0,
545
- length: (s.selectionEnd || 0) - (s.selectionStart || 0)
546
- }), C = (s, e = !1) => {
547
- s && (s.preventDefault(), e && s.stopPropagation());
548
- }, L = (s, e, t, i) => {
549
- s.addEventListener(e, t, i);
550
- }, R = (s, e) => {
551
- if (!e || !e[s])
539
+ return s.apply(i, arguments);
540
+ }, e.apply(i, []), i.trigger = s;
541
+ for (n of t)
542
+ n in o && s.apply(i, o[n]);
543
+ }, we = (i) => ({
544
+ start: i.selectionStart || 0,
545
+ length: (i.selectionEnd || 0) - (i.selectionStart || 0)
546
+ }), W = (i, t = !1) => {
547
+ i && (i.preventDefault(), t && i.stopPropagation());
548
+ }, B = (i, t, e, n) => {
549
+ i.addEventListener(t, e, n);
550
+ }, z = (i, t) => {
551
+ if (!t || !t[i])
552
552
  return !1;
553
- var t = (e.altKey ? 1 : 0) + (e.ctrlKey ? 1 : 0) + (e.shiftKey ? 1 : 0) + (e.metaKey ? 1 : 0);
554
- return t === 1;
555
- }, pe = (s, e) => {
556
- const t = s.getAttribute("id");
557
- return t || (s.setAttribute("id", e), e);
558
- }, xe = (s) => s.replace(/[\\"']/g, "\\$&"), B = (s, e) => {
559
- e && s.append(e);
560
- }, I = (s, e) => {
561
- if (Array.isArray(s))
562
- s.forEach(e);
553
+ var e = (t.altKey ? 1 : 0) + (t.ctrlKey ? 1 : 0) + (t.shiftKey ? 1 : 0) + (t.metaKey ? 1 : 0);
554
+ return e === 1;
555
+ }, gt = (i, t) => {
556
+ const e = i.getAttribute("id");
557
+ return e || (i.setAttribute("id", t), t);
558
+ }, Wt = (i) => i.replace(/[\\"']/g, "\\$&"), k = (i, t) => {
559
+ t && i.append(t);
560
+ }, G = (i, t) => {
561
+ if (Array.isArray(i))
562
+ i.forEach(t);
563
563
  else
564
- for (var t in s)
565
- s.hasOwnProperty(t) && e(s[t], t);
566
- }, D = (s) => {
567
- if (s.jquery)
568
- return s[0];
569
- if (s instanceof HTMLElement)
570
- return s;
571
- if (je(s)) {
572
- var e = document.createElement("template");
573
- return e.innerHTML = s.trim(), e.content.firstChild;
574
- }
575
- return document.querySelector(s);
576
- }, je = (s) => typeof s == "string" && s.indexOf("<") > -1, Ct = (s) => s.replace(/['"\\]/g, "\\$&"), he = (s, e) => {
577
- var t = document.createEvent("HTMLEvents");
578
- t.initEvent(e, !0, !1), s.dispatchEvent(t);
579
- }, Z = (s, e) => {
580
- Object.assign(s.style, e);
581
- }, k = (s, ...e) => {
582
- var t = Ye(e);
583
- s = Qe(s), s.map((i) => {
584
- t.map((n) => {
585
- i.classList.add(n);
564
+ for (var e in i)
565
+ i.hasOwnProperty(e) && t(i[e], e);
566
+ }, R = (i) => {
567
+ if (i.jquery)
568
+ return i[0];
569
+ if (i instanceof HTMLElement)
570
+ return i;
571
+ if (xt(i)) {
572
+ var t = document.createElement("template");
573
+ return t.innerHTML = i.trim(), t.content.firstChild;
574
+ }
575
+ return document.querySelector(i);
576
+ }, xt = (i) => typeof i == "string" && i.indexOf("<") > -1, Le = (i) => i.replace(/['"\\]/g, "\\$&"), pt = (i, t) => {
577
+ var e = document.createEvent("HTMLEvents");
578
+ e.initEvent(t, !0, !1), i.dispatchEvent(e);
579
+ }, P = (i, t) => {
580
+ Object.assign(i.style, t);
581
+ }, J = (i, ...t) => {
582
+ var e = Dt(t);
583
+ i = _t(i), i.map((n) => {
584
+ e.map((s) => {
585
+ n.classList.add(s);
586
586
  });
587
587
  });
588
- }, M = (s, ...e) => {
589
- var t = Ye(e);
590
- s = Qe(s), s.map((i) => {
591
- t.map((n) => {
592
- i.classList.remove(n);
588
+ }, N = (i, ...t) => {
589
+ var e = Dt(t);
590
+ i = _t(i), i.map((n) => {
591
+ e.map((s) => {
592
+ n.classList.remove(s);
593
593
  });
594
594
  });
595
- }, Ye = (s) => {
596
- var e = [];
597
- return I(s, (t) => {
598
- typeof t == "string" && (t = t.trim().split(/[\t\n\f\r\s]/)), Array.isArray(t) && (e = e.concat(t));
599
- }), e.filter(Boolean);
600
- }, Qe = (s) => (Array.isArray(s) || (s = [s]), s), ge = (s, e, t) => {
601
- if (!(t && !t.contains(s)))
602
- for (; s && s.matches; ) {
603
- if (s.matches(e))
604
- return s;
605
- s = s.parentNode;
595
+ }, Dt = (i) => {
596
+ var t = [];
597
+ return G(i, (e) => {
598
+ typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
599
+ }), t.filter(Boolean);
600
+ }, _t = (i) => (Array.isArray(i) || (i = [i]), i), ht = (i, t, e) => {
601
+ if (!(e && !e.contains(i)))
602
+ for (; i && i.matches; ) {
603
+ if (i.matches(t))
604
+ return i;
605
+ i = i.parentNode;
606
606
  }
607
- }, Ie = (s, e = 0) => e > 0 ? s[s.length - 1] : s[0], xt = (s) => Object.keys(s).length === 0, Ee = (s, e) => {
608
- if (!s)
607
+ }, Gt = (i, t = 0) => t > 0 ? i[i.length - 1] : i[0], We = (i) => Object.keys(i).length === 0, At = (i, t) => {
608
+ if (!i)
609
609
  return -1;
610
- e = e || s.nodeName;
611
- for (var t = 0; s = s.previousElementSibling; )
612
- s.matches(e) && t++;
613
- return t;
614
- }, A = (s, e) => {
615
- I(e, (t, i) => {
616
- t == null ? s.removeAttribute(i) : s.setAttribute(i, "" + t);
610
+ t = t || i.nodeName;
611
+ for (var e = 0; i = i.previousElementSibling; )
612
+ i.matches(t) && e++;
613
+ return e;
614
+ }, w = (i, t) => {
615
+ G(t, (e, n) => {
616
+ e == null ? i.removeAttribute(n) : i.setAttribute(n, "" + e);
617
617
  });
618
- }, me = (s, e) => {
619
- s.parentNode && s.parentNode.replaceChild(e, s);
620
- }, It = (s, e) => {
621
- if (e === null)
618
+ }, mt = (i, t) => {
619
+ i.parentNode && i.parentNode.replaceChild(t, i);
620
+ }, Ge = (i, t) => {
621
+ if (t === null)
622
622
  return;
623
- if (typeof e == "string") {
624
- if (!e.length)
623
+ if (typeof t == "string") {
624
+ if (!t.length)
625
625
  return;
626
- e = new RegExp(e, "i");
626
+ t = new RegExp(t, "i");
627
627
  }
628
- const t = (o) => {
629
- var r = o.data.match(e);
628
+ const e = (o) => {
629
+ var r = o.data.match(t);
630
630
  if (r && o.data.length > 0) {
631
631
  var l = document.createElement("span");
632
632
  l.className = "highlight";
633
- var c = o.splitText(r.index);
634
- c.splitText(r[0].length);
635
- var a = c.cloneNode(!0);
636
- return l.appendChild(a), me(c, l), 1;
633
+ var a = o.splitText(r.index);
634
+ a.splitText(r[0].length);
635
+ var c = a.cloneNode(!0);
636
+ return l.appendChild(c), mt(a, l), 1;
637
637
  }
638
638
  return 0;
639
- }, i = (o) => {
639
+ }, n = (o) => {
640
640
  o.nodeType === 1 && o.childNodes && !/(script|style)/i.test(o.tagName) && (o.className !== "highlight" || o.tagName !== "SPAN") && Array.from(o.childNodes).forEach((r) => {
641
- n(r);
641
+ s(r);
642
642
  });
643
- }, n = (o) => o.nodeType === 3 ? t(o) : (i(o), 0);
644
- n(s);
645
- }, Et = (s) => {
646
- var e = s.querySelectorAll("span.highlight");
647
- Array.prototype.forEach.call(e, function(t) {
648
- var i = t.parentNode;
649
- i.replaceChild(t.firstChild, t), i.normalize();
643
+ }, s = (o) => o.nodeType === 3 ? e(o) : (n(o), 0);
644
+ s(i);
645
+ }, Ae = (i) => {
646
+ var t = i.querySelectorAll("span.highlight");
647
+ Array.prototype.forEach.call(t, function(e) {
648
+ var n = e.parentNode;
649
+ n.replaceChild(e.firstChild, e), n.normalize();
650
650
  });
651
- }, Lt = 65, Ft = 13, kt = 27, $t = 37, Tt = 38, Pt = 39, Dt = 40, Le = 8, Ht = 46, Fe = 9, Mt = typeof navigator > "u" ? !1 : /Mac/.test(navigator.userAgent), ee = Mt ? "metaKey" : "ctrlKey", ke = {
651
+ }, Be = 65, Xe = 13, Ye = 27, Je = 37, Oe = 38, He = 39, Me = 40, Bt = 8, Re = 46, Xt = 9, Ne = typeof navigator > "u" ? !1 : /Mac/.test(navigator.userAgent), q = Ne ? "metaKey" : "ctrlKey", Yt = {
652
652
  options: [],
653
653
  optgroups: [],
654
654
  plugins: [],
@@ -699,8 +699,8 @@ const T = (s) => typeof s > "u" || s === null ? null : se(s), se = (s) => typeof
699
699
  copyClassesToDropdown: !1,
700
700
  placeholder: null,
701
701
  hidePlaceholder: null,
702
- shouldLoad: function(s) {
703
- return s.length > 0;
702
+ shouldLoad: function(i) {
703
+ return i.length > 0;
704
704
  },
705
705
  /*
706
706
  load : null, // function(query, callback) { ... }
@@ -731,171 +731,171 @@ const T = (s) => typeof s > "u" || s === null ? null : se(s), se = (s) => typeof
731
731
  */
732
732
  }
733
733
  };
734
- function $e(s, e) {
735
- var t = Object.assign({}, ke, e), i = t.dataAttr, n = t.labelField, o = t.valueField, r = t.disabledField, l = t.optgroupField, c = t.optgroupLabelField, a = t.optgroupValueField, u = s.tagName.toLowerCase(), d = s.getAttribute("placeholder") || s.getAttribute("data-placeholder");
736
- if (!d && !t.allowEmptyOption) {
737
- let v = s.querySelector('option[value=""]');
738
- v && (d = v.textContent);
734
+ function Jt(i, t) {
735
+ var e = Object.assign({}, Yt, t), n = e.dataAttr, s = e.labelField, o = e.valueField, r = e.disabledField, l = e.optgroupField, a = e.optgroupLabelField, c = e.optgroupValueField, d = i.tagName.toLowerCase(), u = i.getAttribute("placeholder") || i.getAttribute("data-placeholder");
736
+ if (!u && !e.allowEmptyOption) {
737
+ let b = i.querySelector('option[value=""]');
738
+ b && (u = b.textContent);
739
739
  }
740
740
  var p = {
741
- placeholder: d,
741
+ placeholder: u,
742
742
  options: [],
743
743
  optgroups: [],
744
744
  items: [],
745
745
  maxItems: null
746
- }, w = () => {
747
- var v, b = p.options, y = {}, h = 1;
748
- let S = 0;
749
- var P = (m) => {
750
- var _ = Object.assign({}, m.dataset), g = i && _[i];
751
- return typeof g == "string" && g.length && (_ = Object.assign(_, JSON.parse(g))), _;
752
- }, q = (m, _) => {
753
- var g = T(m.value);
754
- if (g != null && !(!g && !t.allowEmptyOption)) {
755
- if (y.hasOwnProperty(g)) {
756
- if (_) {
757
- var E = y[g][l];
758
- E ? Array.isArray(E) ? E.push(_) : y[g][l] = [E, _] : y[g][l] = _;
746
+ }, y = () => {
747
+ var b, Z = p.options, I = {}, h = 1;
748
+ let L = 0;
749
+ var M = (f) => {
750
+ var v = Object.assign({}, f.dataset), m = n && v[n];
751
+ return typeof m == "string" && m.length && (v = Object.assign(v, JSON.parse(m))), v;
752
+ }, Q = (f, v) => {
753
+ var m = O(f.value);
754
+ if (m != null && !(!m && !e.allowEmptyOption)) {
755
+ if (I.hasOwnProperty(m)) {
756
+ if (v) {
757
+ var A = I[m][l];
758
+ A ? Array.isArray(A) ? A.push(v) : I[m][l] = [A, v] : I[m][l] = v;
759
759
  }
760
760
  } else {
761
- var O = P(m);
762
- O[n] = O[n] || m.textContent, O[o] = O[o] || g, O[r] = O[r] || m.disabled, O[l] = O[l] || _, O.$option = m, O.$order = O.$order || ++S, y[g] = O, b.push(O);
761
+ var C = M(f);
762
+ C[s] = C[s] || f.textContent, C[o] = C[o] || m, C[r] = C[r] || f.disabled, C[l] = C[l] || v, C.$option = f, C.$order = C.$order || ++L, I[m] = C, Z.push(C);
763
763
  }
764
- m.selected && p.items.push(g);
764
+ f.selected && p.items.push(m);
765
765
  }
766
- }, j = (m) => {
767
- var _, g;
768
- g = P(m), g[c] = g[c] || m.getAttribute("label") || "", g[a] = g[a] || h++, g[r] = g[r] || m.disabled, g.$order = g.$order || ++S, p.optgroups.push(g), _ = g[a], I(m.children, (E) => {
769
- q(E, _);
766
+ }, F = (f) => {
767
+ var v, m;
768
+ m = M(f), m[a] = m[a] || f.getAttribute("label") || "", m[c] = m[c] || h++, m[r] = m[r] || f.disabled, m.$order = m.$order || ++L, p.optgroups.push(m), v = m[c], G(f.children, (A) => {
769
+ Q(A, v);
770
770
  });
771
771
  };
772
- p.maxItems = s.hasAttribute("multiple") ? null : 1, I(s.children, (m) => {
773
- v = m.tagName.toLowerCase(), v === "optgroup" ? j(m) : v === "option" && q(m);
772
+ p.maxItems = i.hasAttribute("multiple") ? null : 1, G(i.children, (f) => {
773
+ b = f.tagName.toLowerCase(), b === "optgroup" ? F(f) : b === "option" && Q(f);
774
774
  });
775
- }, f = () => {
776
- const v = s.getAttribute(i);
777
- if (v)
778
- p.options = JSON.parse(v), I(p.options, (y) => {
779
- p.items.push(y[o]);
775
+ }, g = () => {
776
+ const b = i.getAttribute(n);
777
+ if (b)
778
+ p.options = JSON.parse(b), G(p.options, (I) => {
779
+ p.items.push(I[o]);
780
780
  });
781
781
  else {
782
- var b = s.value.trim() || "";
783
- if (!t.allowEmptyOption && !b.length)
782
+ var Z = i.value.trim() || "";
783
+ if (!e.allowEmptyOption && !Z.length)
784
784
  return;
785
- const y = b.split(t.delimiter);
786
- I(y, (h) => {
787
- const S = {};
788
- S[n] = h, S[o] = h, p.options.push(S);
789
- }), p.items = y;
785
+ const I = Z.split(e.delimiter);
786
+ G(I, (h) => {
787
+ const L = {};
788
+ L[s] = h, L[o] = h, p.options.push(L);
789
+ }), p.items = I;
790
790
  }
791
791
  };
792
- return u === "select" ? w() : f(), Object.assign({}, ke, p, e);
792
+ return d === "select" ? y() : g(), Object.assign({}, Yt, p, t);
793
793
  }
794
- var Te = 0;
795
- class F extends tt(et) {
796
- constructor(e, t) {
797
- super(), this.order = 0, this.isOpen = !1, this.isDisabled = !1, this.isReadOnly = !1, this.isInvalid = !1, this.isValid = !0, this.isLocked = !1, this.isFocused = !1, this.isInputHidden = !1, this.isSetup = !1, this.ignoreFocus = !1, this.ignoreHover = !1, this.hasOptions = !1, this.lastValue = "", this.caretPos = 0, this.loading = 0, this.loadedSearches = {}, this.activeOption = null, this.activeItems = [], this.optgroups = {}, this.options = {}, this.userOptions = {}, this.items = [], this.refreshTimeout = null, Te++;
798
- var i, n = D(e);
799
- if (n.tomselect)
794
+ var Ot = 0;
795
+ class X extends te(qt) {
796
+ constructor(t, e) {
797
+ super(), this.order = 0, this.isOpen = !1, this.isDisabled = !1, this.isReadOnly = !1, this.isInvalid = !1, this.isValid = !0, this.isLocked = !1, this.isFocused = !1, this.isInputHidden = !1, this.isSetup = !1, this.ignoreFocus = !1, this.ignoreHover = !1, this.hasOptions = !1, this.lastValue = "", this.caretPos = 0, this.loading = 0, this.loadedSearches = {}, this.activeOption = null, this.activeItems = [], this.optgroups = {}, this.options = {}, this.userOptions = {}, this.items = [], this.refreshTimeout = null, Ot++;
798
+ var n, s = R(t);
799
+ if (s.tomselect)
800
800
  throw new Error("Tom Select already initialized on this element");
801
- n.tomselect = this;
802
- var o = window.getComputedStyle && window.getComputedStyle(n, null);
803
- i = o.getPropertyValue("direction");
804
- const r = $e(n, t);
805
- this.settings = r, this.input = n, this.tabIndex = n.tabIndex || 0, this.is_select_tag = n.tagName.toLowerCase() === "select", this.rtl = /rtl/i.test(i), this.inputId = pe(n, "tomselect-" + Te), this.isRequired = n.required, this.sifter = new wt(this.options, { diacritics: r.diacritics }), r.mode = r.mode || (r.maxItems === 1 ? "single" : "multi"), typeof r.hideSelected != "boolean" && (r.hideSelected = r.mode === "multi"), typeof r.hidePlaceholder != "boolean" && (r.hidePlaceholder = r.mode !== "multi");
801
+ s.tomselect = this;
802
+ var o = window.getComputedStyle && window.getComputedStyle(s, null);
803
+ n = o.getPropertyValue("direction");
804
+ const r = Jt(s, e);
805
+ this.settings = r, this.input = s, this.tabIndex = s.tabIndex || 0, this.is_select_tag = s.tagName.toLowerCase() === "select", this.rtl = /rtl/i.test(n), this.inputId = gt(s, "tomselect-" + Ot), this.isRequired = s.required, this.sifter = new Ce(this.options, { diacritics: r.diacritics }), r.mode = r.mode || (r.maxItems === 1 ? "single" : "multi"), typeof r.hideSelected != "boolean" && (r.hideSelected = r.mode === "multi"), typeof r.hidePlaceholder != "boolean" && (r.hidePlaceholder = r.mode !== "multi");
806
806
  var l = r.createFilter;
807
- typeof l != "function" && (typeof l == "string" && (l = new RegExp(l)), l instanceof RegExp ? r.createFilter = (b) => l.test(b) : r.createFilter = (b) => this.settings.duplicates || !this.options[b]), this.initializePlugins(r.plugins), this.setupCallbacks(), this.setupTemplates();
808
- const c = D("<div>"), a = D("<div>"), u = this._render("dropdown"), d = D('<div role="listbox" tabindex="-1">'), p = this.input.getAttribute("class") || "", w = r.mode;
809
- var f;
810
- if (k(c, r.wrapperClass, p, w), k(a, r.controlClass), B(c, a), k(u, r.dropdownClass, w), r.copyClassesToDropdown && k(u, p), k(d, r.dropdownContentClass), B(u, d), D(r.dropdownParent || c).appendChild(u), je(r.controlInput)) {
811
- f = D(r.controlInput);
812
- var v = ["autocorrect", "autocapitalize", "autocomplete", "spellcheck"];
813
- I(v, (b) => {
814
- n.getAttribute(b) && A(f, { [b]: n.getAttribute(b) });
815
- }), f.tabIndex = -1, a.appendChild(f), this.focus_node = f;
816
- } else r.controlInput ? (f = D(r.controlInput), this.focus_node = f) : (f = D("<input/>"), this.focus_node = a);
817
- this.wrapper = c, this.dropdown = u, this.dropdown_content = d, this.control = a, this.control_input = f, this.setup();
807
+ typeof l != "function" && (typeof l == "string" && (l = new RegExp(l)), l instanceof RegExp ? r.createFilter = (Z) => l.test(Z) : r.createFilter = (Z) => this.settings.duplicates || !this.options[Z]), this.initializePlugins(r.plugins), this.setupCallbacks(), this.setupTemplates();
808
+ const a = R("<div>"), c = R("<div>"), d = this._render("dropdown"), u = R('<div role="listbox" tabindex="-1">'), p = this.input.getAttribute("class") || "", y = r.mode;
809
+ var g;
810
+ if (J(a, r.wrapperClass, p, y), J(c, r.controlClass), k(a, c), J(d, r.dropdownClass, y), r.copyClassesToDropdown && J(d, p), J(u, r.dropdownContentClass), k(d, u), R(r.dropdownParent || a).appendChild(d), xt(r.controlInput)) {
811
+ g = R(r.controlInput);
812
+ var b = ["autocorrect", "autocapitalize", "autocomplete", "spellcheck"];
813
+ G(b, (Z) => {
814
+ s.getAttribute(Z) && w(g, { [Z]: s.getAttribute(Z) });
815
+ }), g.tabIndex = -1, c.appendChild(g), this.focus_node = g;
816
+ } else r.controlInput ? (g = R(r.controlInput), this.focus_node = g) : (g = R("<input/>"), this.focus_node = c);
817
+ this.wrapper = a, this.dropdown = d, this.dropdown_content = u, this.control = c, this.control_input = g, this.setup();
818
818
  }
819
819
  /**
820
820
  * set up event bindings.
821
821
  *
822
822
  */
823
823
  setup() {
824
- const e = this, t = e.settings, i = e.control_input, n = e.dropdown, o = e.dropdown_content, r = e.wrapper, l = e.control, c = e.input, a = e.focus_node, u = { passive: !0 }, d = e.inputId + "-ts-dropdown";
825
- A(o, {
826
- id: d
827
- }), A(a, {
824
+ const t = this, e = t.settings, n = t.control_input, s = t.dropdown, o = t.dropdown_content, r = t.wrapper, l = t.control, a = t.input, c = t.focus_node, d = { passive: !0 }, u = t.inputId + "-ts-dropdown";
825
+ w(o, {
826
+ id: u
827
+ }), w(c, {
828
828
  role: "combobox",
829
829
  "aria-haspopup": "listbox",
830
830
  "aria-expanded": "false",
831
- "aria-controls": d
831
+ "aria-controls": u
832
832
  });
833
- const p = pe(a, e.inputId + "-ts-control"), w = "label[for='" + Ct(e.inputId) + "']", f = document.querySelector(w), v = e.focus.bind(e);
834
- if (f) {
835
- L(f, "click", v), A(f, { for: p });
836
- const h = pe(f, e.inputId + "-ts-label");
837
- A(a, { "aria-labelledby": h }), A(o, { "aria-labelledby": h });
833
+ const p = gt(c, t.inputId + "-ts-control"), y = "label[for='" + Le(t.inputId) + "']", g = document.querySelector(y), b = t.focus.bind(t);
834
+ if (g) {
835
+ B(g, "click", b), w(g, { for: p });
836
+ const h = gt(g, t.inputId + "-ts-label");
837
+ w(c, { "aria-labelledby": h }), w(o, { "aria-labelledby": h });
838
838
  }
839
- if (r.style.width = c.style.width, e.plugins.names.length) {
840
- const h = "plugin-" + e.plugins.names.join(" plugin-");
841
- k([r, n], h);
839
+ if (r.style.width = a.style.width, t.plugins.names.length) {
840
+ const h = "plugin-" + t.plugins.names.join(" plugin-");
841
+ J([r, s], h);
842
842
  }
843
- (t.maxItems === null || t.maxItems > 1) && e.is_select_tag && A(c, { multiple: "multiple" }), t.placeholder && A(i, { placeholder: t.placeholder }), !t.splitOn && t.delimiter && (t.splitOn = new RegExp("\\s*" + G(t.delimiter) + "+\\s*")), t.load && t.loadThrottle && (t.load = At(t.load, t.loadThrottle)), L(n, "mousemove", () => {
844
- e.ignoreHover = !1;
845
- }), L(n, "mouseenter", (h) => {
846
- var S = ge(h.target, "[data-selectable]", n);
847
- S && e.onOptionHover(h, S);
848
- }, { capture: !0 }), L(n, "click", (h) => {
849
- const S = ge(h.target, "[data-selectable]");
850
- S && (e.onOptionSelect(h, S), C(h, !0));
851
- }), L(l, "click", (h) => {
852
- var S = ge(h.target, "[data-ts-item]", l);
853
- if (S && e.onItemSelect(h, S)) {
854
- C(h, !0);
843
+ (e.maxItems === null || e.maxItems > 1) && t.is_select_tag && w(a, { multiple: "multiple" }), e.placeholder && w(n, { placeholder: e.placeholder }), !e.splitOn && e.delimiter && (e.splitOn = new RegExp("\\s*" + T(e.delimiter) + "+\\s*")), e.load && e.loadThrottle && (e.load = Ze(e.load, e.loadThrottle)), B(s, "mousemove", () => {
844
+ t.ignoreHover = !1;
845
+ }), B(s, "mouseenter", (h) => {
846
+ var L = ht(h.target, "[data-selectable]", s);
847
+ L && t.onOptionHover(h, L);
848
+ }, { capture: !0 }), B(s, "click", (h) => {
849
+ const L = ht(h.target, "[data-selectable]");
850
+ L && (t.onOptionSelect(h, L), W(h, !0));
851
+ }), B(l, "click", (h) => {
852
+ var L = ht(h.target, "[data-ts-item]", l);
853
+ if (L && t.onItemSelect(h, L)) {
854
+ W(h, !0);
855
855
  return;
856
856
  }
857
- i.value == "" && (e.onClick(), C(h, !0));
858
- }), L(a, "keydown", (h) => e.onKeyDown(h)), L(i, "keypress", (h) => e.onKeyPress(h)), L(i, "input", (h) => e.onInput(h)), L(a, "blur", (h) => e.onBlur(h)), L(a, "focus", (h) => e.onFocus(h)), L(i, "paste", (h) => e.onPaste(h));
859
- const b = (h) => {
860
- const S = h.composedPath()[0];
861
- if (!r.contains(S) && !n.contains(S)) {
862
- e.isFocused && e.blur(), e.inputState();
857
+ n.value == "" && (t.onClick(), W(h, !0));
858
+ }), B(c, "keydown", (h) => t.onKeyDown(h)), B(n, "keypress", (h) => t.onKeyPress(h)), B(n, "input", (h) => t.onInput(h)), B(c, "blur", (h) => t.onBlur(h)), B(c, "focus", (h) => t.onFocus(h)), B(n, "paste", (h) => t.onPaste(h));
859
+ const Z = (h) => {
860
+ const L = h.composedPath()[0];
861
+ if (!r.contains(L) && !s.contains(L)) {
862
+ t.isFocused && t.blur(), t.inputState();
863
863
  return;
864
864
  }
865
- S == i && e.isOpen ? h.stopPropagation() : C(h, !0);
866
- }, y = () => {
867
- e.isOpen && e.positionDropdown();
865
+ L == n && t.isOpen ? h.stopPropagation() : W(h, !0);
866
+ }, I = () => {
867
+ t.isOpen && t.positionDropdown();
868
868
  };
869
- L(document, "mousedown", b), L(window, "scroll", y, u), L(window, "resize", y, u), this._destroy = () => {
870
- document.removeEventListener("mousedown", b), window.removeEventListener("scroll", y), window.removeEventListener("resize", y), f && f.removeEventListener("click", v);
869
+ B(document, "mousedown", Z), B(window, "scroll", I, d), B(window, "resize", I, d), this._destroy = () => {
870
+ document.removeEventListener("mousedown", Z), window.removeEventListener("scroll", I), window.removeEventListener("resize", I), g && g.removeEventListener("click", b);
871
871
  }, this.revertSettings = {
872
- innerHTML: c.innerHTML,
873
- tabIndex: c.tabIndex
874
- }, c.tabIndex = -1, c.insertAdjacentElement("afterend", e.wrapper), e.sync(!1), t.items = [], delete t.optgroups, delete t.options, L(c, "invalid", () => {
875
- e.isValid && (e.isValid = !1, e.isInvalid = !0, e.refreshState());
876
- }), e.updateOriginalInput(), e.refreshItems(), e.close(!1), e.inputState(), e.isSetup = !0, c.disabled ? e.disable() : c.readOnly ? e.setReadOnly(!0) : e.enable(), e.on("change", this.onChange), k(c, "tomselected", "ts-hidden-accessible"), e.trigger("initialize"), t.preload === !0 && e.preload();
872
+ innerHTML: a.innerHTML,
873
+ tabIndex: a.tabIndex
874
+ }, a.tabIndex = -1, a.insertAdjacentElement("afterend", t.wrapper), t.sync(!1), e.items = [], delete e.optgroups, delete e.options, B(a, "invalid", () => {
875
+ t.isValid && (t.isValid = !1, t.isInvalid = !0, t.refreshState());
876
+ }), t.updateOriginalInput(), t.refreshItems(), t.close(!1), t.inputState(), t.isSetup = !0, a.disabled ? t.disable() : a.readOnly ? t.setReadOnly(!0) : t.enable(), t.on("change", this.onChange), J(a, "tomselected", "ts-hidden-accessible"), t.trigger("initialize"), e.preload === !0 && t.preload();
877
877
  }
878
878
  /**
879
879
  * Register options and optgroups
880
880
  *
881
881
  */
882
- setupOptions(e = [], t = []) {
883
- this.addOptions(e), I(t, (i) => {
884
- this.registerOptionGroup(i);
882
+ setupOptions(t = [], e = []) {
883
+ this.addOptions(t), G(e, (n) => {
884
+ this.registerOptionGroup(n);
885
885
  });
886
886
  }
887
887
  /**
888
888
  * Sets up default rendering functions.
889
889
  */
890
890
  setupTemplates() {
891
- var e = this, t = e.settings.labelField, i = e.settings.optgroupLabelField, n = {
891
+ var t = this, e = t.settings.labelField, n = t.settings.optgroupLabelField, s = {
892
892
  optgroup: (o) => {
893
893
  let r = document.createElement("div");
894
894
  return r.className = "optgroup", r.appendChild(o.options), r;
895
895
  },
896
- optgroup_header: (o, r) => '<div class="optgroup-header">' + r(o[i]) + "</div>",
897
- option: (o, r) => "<div>" + r(o[t]) + "</div>",
898
- item: (o, r) => "<div>" + r(o[t]) + "</div>",
896
+ optgroup_header: (o, r) => '<div class="optgroup-header">' + r(o[n]) + "</div>",
897
+ option: (o, r) => "<div>" + r(o[e]) + "</div>",
898
+ item: (o, r) => "<div>" + r(o[e]) + "</div>",
899
899
  option_create: (o, r) => '<div class="create">Add <strong>' + r(o.input) + "</strong>&hellip;</div>",
900
900
  no_results: () => '<div class="no-results">No results found</div>',
901
901
  loading: () => '<div class="spinner"></div>',
@@ -903,14 +903,14 @@ class F extends tt(et) {
903
903
  },
904
904
  dropdown: () => "<div></div>"
905
905
  };
906
- e.settings.render = Object.assign({}, n, e.settings.render);
906
+ t.settings.render = Object.assign({}, s, t.settings.render);
907
907
  }
908
908
  /**
909
909
  * Maps fired events to callbacks provided
910
910
  * in the settings used when creating the control.
911
911
  */
912
912
  setupCallbacks() {
913
- var e, t, i = {
913
+ var t, e, n = {
914
914
  initialize: "onInitialize",
915
915
  change: "onChange",
916
916
  item_add: "onItemAdd",
@@ -930,16 +930,16 @@ class F extends tt(et) {
930
930
  focus: "onFocus",
931
931
  blur: "onBlur"
932
932
  };
933
- for (e in i)
934
- t = this.settings[i[e]], t && this.on(e, t);
933
+ for (t in n)
934
+ e = this.settings[n[t]], e && this.on(t, e);
935
935
  }
936
936
  /**
937
937
  * Sync the Tom Select instance with the original input or select
938
938
  *
939
939
  */
940
- sync(e = !0) {
941
- const t = this, i = e ? $e(t.input, { delimiter: t.settings.delimiter }) : t.settings;
942
- t.setupOptions(i.options, i.optgroups), t.setValue(i.items || [], !0), t.lastQuery = null;
940
+ sync(t = !0) {
941
+ const e = this, n = t ? Jt(e.input, { delimiter: e.settings.delimiter }) : e.settings;
942
+ e.setupOptions(n.options, n.optgroups), e.setValue(n.items || [], !0), e.lastQuery = null;
943
943
  }
944
944
  /**
945
945
  * Triggered when the main control element
@@ -947,12 +947,12 @@ class F extends tt(et) {
947
947
  *
948
948
  */
949
949
  onClick() {
950
- var e = this;
951
- if (e.activeItems.length > 0) {
952
- e.clearActiveItems(), e.focus();
950
+ var t = this;
951
+ if (t.activeItems.length > 0) {
952
+ t.clearActiveItems(), t.focus();
953
953
  return;
954
954
  }
955
- e.isFocused && e.isOpen ? e.blur() : e.focus();
955
+ t.isFocused && t.isOpen ? t.blur() : t.focus();
956
956
  }
957
957
  /**
958
958
  * @deprecated v1.7
@@ -966,24 +966,24 @@ class F extends tt(et) {
966
966
  * input / select element.
967
967
  */
968
968
  onChange() {
969
- he(this.input, "input"), he(this.input, "change");
969
+ pt(this.input, "input"), pt(this.input, "change");
970
970
  }
971
971
  /**
972
972
  * Triggered on <input> paste.
973
973
  *
974
974
  */
975
- onPaste(e) {
976
- var t = this;
977
- if (t.isInputHidden || t.isLocked) {
978
- C(e);
975
+ onPaste(t) {
976
+ var e = this;
977
+ if (e.isInputHidden || e.isLocked) {
978
+ W(t);
979
979
  return;
980
980
  }
981
- t.settings.splitOn && setTimeout(() => {
982
- var i = t.inputValue();
983
- if (i.match(t.settings.splitOn)) {
984
- var n = i.trim().split(t.settings.splitOn);
985
- I(n, (o) => {
986
- T(o) && (this.options[o] ? t.addItem(o) : t.createItem(o));
981
+ e.settings.splitOn && setTimeout(() => {
982
+ var n = e.inputValue();
983
+ if (n.match(e.settings.splitOn)) {
984
+ var s = n.trim().split(e.settings.splitOn);
985
+ G(s, (o) => {
986
+ O(o) && (this.options[o] ? e.addItem(o) : e.createItem(o));
987
987
  });
988
988
  }
989
989
  }, 0);
@@ -992,15 +992,15 @@ class F extends tt(et) {
992
992
  * Triggered on <input> keypress.
993
993
  *
994
994
  */
995
- onKeyPress(e) {
996
- var t = this;
997
- if (t.isLocked) {
998
- C(e);
995
+ onKeyPress(t) {
996
+ var e = this;
997
+ if (e.isLocked) {
998
+ W(t);
999
999
  return;
1000
1000
  }
1001
- var i = String.fromCharCode(e.keyCode || e.which);
1002
- if (t.settings.create && t.settings.mode === "multi" && i === t.settings.delimiter) {
1003
- t.createItem(), C(e);
1001
+ var n = String.fromCharCode(t.keyCode || t.which);
1002
+ if (e.settings.create && e.settings.mode === "multi" && n === e.settings.delimiter) {
1003
+ e.createItem(), W(t);
1004
1004
  return;
1005
1005
  }
1006
1006
  }
@@ -1008,121 +1008,121 @@ class F extends tt(et) {
1008
1008
  * Triggered on <input> keydown.
1009
1009
  *
1010
1010
  */
1011
- onKeyDown(e) {
1012
- var t = this;
1013
- if (t.ignoreHover = !0, t.isLocked) {
1014
- e.keyCode !== Fe && C(e);
1011
+ onKeyDown(t) {
1012
+ var e = this;
1013
+ if (e.ignoreHover = !0, e.isLocked) {
1014
+ t.keyCode !== Xt && W(t);
1015
1015
  return;
1016
1016
  }
1017
- switch (e.keyCode) {
1017
+ switch (t.keyCode) {
1018
1018
  // ctrl+A: select all
1019
- case Lt:
1020
- if (R(ee, e) && t.control_input.value == "") {
1021
- C(e), t.selectAll();
1019
+ case Be:
1020
+ if (z(q, t) && e.control_input.value == "") {
1021
+ W(t), e.selectAll();
1022
1022
  return;
1023
1023
  }
1024
1024
  break;
1025
1025
  // esc: close dropdown
1026
- case kt:
1027
- t.isOpen && (C(e, !0), t.close()), t.clearActiveItems();
1026
+ case Ye:
1027
+ e.isOpen && (W(t, !0), e.close()), e.clearActiveItems();
1028
1028
  return;
1029
1029
  // down: open dropdown or move selection down
1030
- case Dt:
1031
- if (!t.isOpen && t.hasOptions)
1032
- t.open();
1033
- else if (t.activeOption) {
1034
- let i = t.getAdjacent(t.activeOption, 1);
1035
- i && t.setActiveOption(i);
1030
+ case Me:
1031
+ if (!e.isOpen && e.hasOptions)
1032
+ e.open();
1033
+ else if (e.activeOption) {
1034
+ let n = e.getAdjacent(e.activeOption, 1);
1035
+ n && e.setActiveOption(n);
1036
1036
  }
1037
- C(e);
1037
+ W(t);
1038
1038
  return;
1039
1039
  // up: move selection up
1040
- case Tt:
1041
- if (t.activeOption) {
1042
- let i = t.getAdjacent(t.activeOption, -1);
1043
- i && t.setActiveOption(i);
1040
+ case Oe:
1041
+ if (e.activeOption) {
1042
+ let n = e.getAdjacent(e.activeOption, -1);
1043
+ n && e.setActiveOption(n);
1044
1044
  }
1045
- C(e);
1045
+ W(t);
1046
1046
  return;
1047
1047
  // return: select active option
1048
- case Ft:
1049
- t.canSelect(t.activeOption) ? (t.onOptionSelect(e, t.activeOption), C(e)) : (t.settings.create && t.createItem() || document.activeElement == t.control_input && t.isOpen) && C(e);
1048
+ case Xe:
1049
+ e.canSelect(e.activeOption) ? (e.onOptionSelect(t, e.activeOption), W(t)) : (e.settings.create && e.createItem() || document.activeElement == e.control_input && e.isOpen) && W(t);
1050
1050
  return;
1051
1051
  // left: modifiy item selection to the left
1052
- case $t:
1053
- t.advanceSelection(-1, e);
1052
+ case Je:
1053
+ e.advanceSelection(-1, t);
1054
1054
  return;
1055
1055
  // right: modifiy item selection to the right
1056
- case Pt:
1057
- t.advanceSelection(1, e);
1056
+ case He:
1057
+ e.advanceSelection(1, t);
1058
1058
  return;
1059
1059
  // tab: select active option and/or create item
1060
- case Fe:
1061
- t.settings.selectOnTab && (t.canSelect(t.activeOption) && (t.onOptionSelect(e, t.activeOption), C(e)), t.settings.create && t.createItem() && C(e));
1060
+ case Xt:
1061
+ e.settings.selectOnTab && (e.canSelect(e.activeOption) && (e.onOptionSelect(t, e.activeOption), W(t)), e.settings.create && e.createItem() && W(t));
1062
1062
  return;
1063
1063
  // delete|backspace: delete items
1064
- case Le:
1065
- case Ht:
1066
- t.deleteSelection(e);
1064
+ case Bt:
1065
+ case Re:
1066
+ e.deleteSelection(t);
1067
1067
  return;
1068
1068
  }
1069
- t.isInputHidden && !R(ee, e) && C(e);
1069
+ e.isInputHidden && !z(q, t) && W(t);
1070
1070
  }
1071
1071
  /**
1072
1072
  * Triggered on <input> keyup.
1073
1073
  *
1074
1074
  */
1075
- onInput(e) {
1075
+ onInput(t) {
1076
1076
  if (this.isLocked)
1077
1077
  return;
1078
- const t = this.inputValue();
1079
- if (this.lastValue !== t) {
1080
- if (this.lastValue = t, t == "") {
1078
+ const e = this.inputValue();
1079
+ if (this.lastValue !== e) {
1080
+ if (this.lastValue = e, e == "") {
1081
1081
  this._onInput();
1082
1082
  return;
1083
1083
  }
1084
- this.refreshTimeout && window.clearTimeout(this.refreshTimeout), this.refreshTimeout = bt(() => {
1084
+ this.refreshTimeout && window.clearTimeout(this.refreshTimeout), this.refreshTimeout = ye(() => {
1085
1085
  this.refreshTimeout = null, this._onInput();
1086
1086
  }, this.settings.refreshThrottle);
1087
1087
  }
1088
1088
  }
1089
1089
  _onInput() {
1090
- const e = this.lastValue;
1091
- this.settings.shouldLoad.call(this, e) && this.load(e), this.refreshOptions(), this.trigger("type", e);
1090
+ const t = this.lastValue;
1091
+ this.settings.shouldLoad.call(this, t) && this.load(t), this.refreshOptions(), this.trigger("type", t);
1092
1092
  }
1093
1093
  /**
1094
1094
  * Triggered when the user rolls over
1095
1095
  * an option in the autocomplete dropdown menu.
1096
1096
  *
1097
1097
  */
1098
- onOptionHover(e, t) {
1099
- this.ignoreHover || this.setActiveOption(t, !1);
1098
+ onOptionHover(t, e) {
1099
+ this.ignoreHover || this.setActiveOption(e, !1);
1100
1100
  }
1101
1101
  /**
1102
1102
  * Triggered on <input> focus.
1103
1103
  *
1104
1104
  */
1105
- onFocus(e) {
1106
- var t = this, i = t.isFocused;
1107
- if (t.isDisabled || t.isReadOnly) {
1108
- t.blur(), C(e);
1105
+ onFocus(t) {
1106
+ var e = this, n = e.isFocused;
1107
+ if (e.isDisabled || e.isReadOnly) {
1108
+ e.blur(), W(t);
1109
1109
  return;
1110
1110
  }
1111
- t.ignoreFocus || (t.isFocused = !0, t.settings.preload === "focus" && t.preload(), i || t.trigger("focus"), t.activeItems.length || (t.inputState(), t.refreshOptions(!!t.settings.openOnFocus)), t.refreshState());
1111
+ e.ignoreFocus || (e.isFocused = !0, e.settings.preload === "focus" && e.preload(), n || e.trigger("focus"), e.activeItems.length || (e.inputState(), e.refreshOptions(!!e.settings.openOnFocus)), e.refreshState());
1112
1112
  }
1113
1113
  /**
1114
1114
  * Triggered on <input> blur.
1115
1115
  *
1116
1116
  */
1117
- onBlur(e) {
1117
+ onBlur(t) {
1118
1118
  if (document.hasFocus() !== !1) {
1119
- var t = this;
1120
- if (t.isFocused) {
1121
- t.isFocused = !1, t.ignoreFocus = !1;
1122
- var i = () => {
1123
- t.close(), t.setActiveItem(), t.setCaret(t.items.length), t.trigger("blur");
1119
+ var e = this;
1120
+ if (e.isFocused) {
1121
+ e.isFocused = !1, e.ignoreFocus = !1;
1122
+ var n = () => {
1123
+ e.close(), e.setActiveItem(), e.setCaret(e.items.length), e.trigger("blur");
1124
1124
  };
1125
- t.settings.create && t.settings.createOnBlur ? t.createItem(null, i) : i();
1125
+ e.settings.create && e.settings.createOnBlur ? e.createItem(null, n) : n();
1126
1126
  }
1127
1127
  }
1128
1128
  }
@@ -1131,27 +1131,27 @@ class F extends tt(et) {
1131
1131
  * in the autocomplete dropdown menu.
1132
1132
  *
1133
1133
  */
1134
- onOptionSelect(e, t) {
1135
- var i, n = this;
1136
- t.parentElement && t.parentElement.matches("[data-disabled]") || (t.classList.contains("create") ? n.createItem(null, () => {
1137
- n.settings.closeAfterSelect && n.close();
1138
- }) : (i = t.dataset.value, typeof i < "u" && (n.lastQuery = null, n.addItem(i), n.settings.closeAfterSelect && n.close(), !n.settings.hideSelected && e.type && /click/.test(e.type) && n.setActiveOption(t))));
1134
+ onOptionSelect(t, e) {
1135
+ var n, s = this;
1136
+ e.parentElement && e.parentElement.matches("[data-disabled]") || (e.classList.contains("create") ? s.createItem(null, () => {
1137
+ s.settings.closeAfterSelect && s.close();
1138
+ }) : (n = e.dataset.value, typeof n < "u" && (s.lastQuery = null, s.addItem(n), s.settings.closeAfterSelect && s.close(), !s.settings.hideSelected && t.type && /click/.test(t.type) && s.setActiveOption(e))));
1139
1139
  }
1140
1140
  /**
1141
1141
  * Return true if the given option can be selected
1142
1142
  *
1143
1143
  */
1144
- canSelect(e) {
1145
- return !!(this.isOpen && e && this.dropdown_content.contains(e));
1144
+ canSelect(t) {
1145
+ return !!(this.isOpen && t && this.dropdown_content.contains(t));
1146
1146
  }
1147
1147
  /**
1148
1148
  * Triggered when the user clicks on an item
1149
1149
  * that has been selected.
1150
1150
  *
1151
1151
  */
1152
- onItemSelect(e, t) {
1153
- var i = this;
1154
- return !i.isLocked && i.settings.mode === "multi" ? (C(e), i.setActiveItem(t, e), !0) : !1;
1152
+ onItemSelect(t, e) {
1153
+ var n = this;
1154
+ return !n.isLocked && n.settings.mode === "multi" ? (W(t), n.setActiveItem(e, t), !0) : !1;
1155
1155
  }
1156
1156
  /**
1157
1157
  * Determines whether or not to invoke
@@ -1169,40 +1169,40 @@ class F extends tt(et) {
1169
1169
  * feedback when canLoad returns false
1170
1170
  *
1171
1171
  */
1172
- canLoad(e) {
1173
- return !(!this.settings.load || this.loadedSearches.hasOwnProperty(e));
1172
+ canLoad(t) {
1173
+ return !(!this.settings.load || this.loadedSearches.hasOwnProperty(t));
1174
1174
  }
1175
1175
  /**
1176
1176
  * Invokes the user-provided option provider / loader.
1177
1177
  *
1178
1178
  */
1179
- load(e) {
1180
- const t = this;
1181
- if (!t.canLoad(e))
1179
+ load(t) {
1180
+ const e = this;
1181
+ if (!e.canLoad(t))
1182
1182
  return;
1183
- k(t.wrapper, t.settings.loadingClass), t.loading++;
1184
- const i = t.loadCallback.bind(t);
1185
- t.settings.load.call(t, e, i);
1183
+ J(e.wrapper, e.settings.loadingClass), e.loading++;
1184
+ const n = e.loadCallback.bind(e);
1185
+ e.settings.load.call(e, t, n);
1186
1186
  }
1187
1187
  /**
1188
1188
  * Invoked by the user-provided option provider
1189
1189
  *
1190
1190
  */
1191
- loadCallback(e, t) {
1192
- const i = this;
1193
- i.loading = Math.max(i.loading - 1, 0), i.lastQuery = null, i.clearActiveOption(), i.setupOptions(e, t), i.refreshOptions(i.isFocused && !i.isInputHidden), i.loading || M(i.wrapper, i.settings.loadingClass), i.trigger("load", e, t);
1191
+ loadCallback(t, e) {
1192
+ const n = this;
1193
+ n.loading = Math.max(n.loading - 1, 0), n.lastQuery = null, n.clearActiveOption(), n.setupOptions(t, e), n.refreshOptions(n.isFocused && !n.isInputHidden), n.loading || N(n.wrapper, n.settings.loadingClass), n.trigger("load", t, e);
1194
1194
  }
1195
1195
  preload() {
1196
- var e = this.wrapper.classList;
1197
- e.contains("preloaded") || (e.add("preloaded"), this.load(""));
1196
+ var t = this.wrapper.classList;
1197
+ t.contains("preloaded") || (t.add("preloaded"), this.load(""));
1198
1198
  }
1199
1199
  /**
1200
1200
  * Sets the input field of the control to the specified value.
1201
1201
  *
1202
1202
  */
1203
- setTextboxValue(e = "") {
1204
- var t = this.control_input, i = t.value !== e;
1205
- i && (t.value = e, he(t, "update"), this.lastValue = e);
1203
+ setTextboxValue(t = "") {
1204
+ var e = this.control_input, n = e.value !== t;
1205
+ n && (e.value = t, pt(e, "update"), this.lastValue = t);
1206
1206
  }
1207
1207
  /**
1208
1208
  * Returns the value of the control. If multiple items
@@ -1218,104 +1218,104 @@ class F extends tt(et) {
1218
1218
  * Resets the selected items to the given value.
1219
1219
  *
1220
1220
  */
1221
- setValue(e, t) {
1222
- var i = t ? [] : ["change"];
1223
- Ce(this, i, () => {
1224
- this.clear(t), this.addItems(e, t);
1221
+ setValue(t, e) {
1222
+ var n = e ? [] : ["change"];
1223
+ Lt(this, n, () => {
1224
+ this.clear(e), this.addItems(t, e);
1225
1225
  });
1226
1226
  }
1227
1227
  /**
1228
1228
  * Resets the number of max items to the given value
1229
1229
  *
1230
1230
  */
1231
- setMaxItems(e) {
1232
- e === 0 && (e = null), this.settings.maxItems = e, this.refreshState();
1231
+ setMaxItems(t) {
1232
+ t === 0 && (t = null), this.settings.maxItems = t, this.refreshState();
1233
1233
  }
1234
1234
  /**
1235
1235
  * Sets the selected item.
1236
1236
  *
1237
1237
  */
1238
- setActiveItem(e, t) {
1239
- var i = this, n, o, r, l, c, a;
1240
- if (i.settings.mode !== "single") {
1241
- if (!e) {
1242
- i.clearActiveItems(), i.isFocused && i.inputState();
1238
+ setActiveItem(t, e) {
1239
+ var n = this, s, o, r, l, a, c;
1240
+ if (n.settings.mode !== "single") {
1241
+ if (!t) {
1242
+ n.clearActiveItems(), n.isFocused && n.inputState();
1243
1243
  return;
1244
1244
  }
1245
- if (n = t && t.type.toLowerCase(), n === "click" && R("shiftKey", t) && i.activeItems.length) {
1246
- for (a = i.getLastActive(), r = Array.prototype.indexOf.call(i.control.children, a), l = Array.prototype.indexOf.call(i.control.children, e), r > l && (c = r, r = l, l = c), o = r; o <= l; o++)
1247
- e = i.control.children[o], i.activeItems.indexOf(e) === -1 && i.setActiveItemClass(e);
1248
- C(t);
1249
- } else n === "click" && R(ee, t) || n === "keydown" && R("shiftKey", t) ? e.classList.contains("active") ? i.removeActiveItem(e) : i.setActiveItemClass(e) : (i.clearActiveItems(), i.setActiveItemClass(e));
1250
- i.inputState(), i.isFocused || i.focus();
1245
+ if (s = e && e.type.toLowerCase(), s === "click" && z("shiftKey", e) && n.activeItems.length) {
1246
+ for (c = n.getLastActive(), r = Array.prototype.indexOf.call(n.control.children, c), l = Array.prototype.indexOf.call(n.control.children, t), r > l && (a = r, r = l, l = a), o = r; o <= l; o++)
1247
+ t = n.control.children[o], n.activeItems.indexOf(t) === -1 && n.setActiveItemClass(t);
1248
+ W(e);
1249
+ } else s === "click" && z(q, e) || s === "keydown" && z("shiftKey", e) ? t.classList.contains("active") ? n.removeActiveItem(t) : n.setActiveItemClass(t) : (n.clearActiveItems(), n.setActiveItemClass(t));
1250
+ n.inputState(), n.isFocused || n.focus();
1251
1251
  }
1252
1252
  }
1253
1253
  /**
1254
1254
  * Set the active and last-active classes
1255
1255
  *
1256
1256
  */
1257
- setActiveItemClass(e) {
1258
- const t = this, i = t.control.querySelector(".last-active");
1259
- i && M(i, "last-active"), k(e, "active last-active"), t.trigger("item_select", e), t.activeItems.indexOf(e) == -1 && t.activeItems.push(e);
1257
+ setActiveItemClass(t) {
1258
+ const e = this, n = e.control.querySelector(".last-active");
1259
+ n && N(n, "last-active"), J(t, "active last-active"), e.trigger("item_select", t), e.activeItems.indexOf(t) == -1 && e.activeItems.push(t);
1260
1260
  }
1261
1261
  /**
1262
1262
  * Remove active item
1263
1263
  *
1264
1264
  */
1265
- removeActiveItem(e) {
1266
- var t = this.activeItems.indexOf(e);
1267
- this.activeItems.splice(t, 1), M(e, "active");
1265
+ removeActiveItem(t) {
1266
+ var e = this.activeItems.indexOf(t);
1267
+ this.activeItems.splice(e, 1), N(t, "active");
1268
1268
  }
1269
1269
  /**
1270
1270
  * Clears all the active items
1271
1271
  *
1272
1272
  */
1273
1273
  clearActiveItems() {
1274
- M(this.activeItems, "active"), this.activeItems = [];
1274
+ N(this.activeItems, "active"), this.activeItems = [];
1275
1275
  }
1276
1276
  /**
1277
1277
  * Sets the selected item in the dropdown menu
1278
1278
  * of available options.
1279
1279
  *
1280
1280
  */
1281
- setActiveOption(e, t = !0) {
1282
- e !== this.activeOption && (this.clearActiveOption(), e && (this.activeOption = e, A(this.focus_node, { "aria-activedescendant": e.getAttribute("id") }), A(e, { "aria-selected": "true" }), k(e, "active"), t && this.scrollToOption(e)));
1281
+ setActiveOption(t, e = !0) {
1282
+ t !== this.activeOption && (this.clearActiveOption(), t && (this.activeOption = t, w(this.focus_node, { "aria-activedescendant": t.getAttribute("id") }), w(t, { "aria-selected": "true" }), J(t, "active"), e && this.scrollToOption(t)));
1283
1283
  }
1284
1284
  /**
1285
1285
  * Sets the dropdown_content scrollTop to display the option
1286
1286
  *
1287
1287
  */
1288
- scrollToOption(e, t) {
1289
- if (!e)
1288
+ scrollToOption(t, e) {
1289
+ if (!t)
1290
1290
  return;
1291
- const i = this.dropdown_content, n = i.clientHeight, o = i.scrollTop || 0, r = e.offsetHeight, l = e.getBoundingClientRect().top - i.getBoundingClientRect().top + o;
1292
- l + r > n + o ? this.scroll(l - n + r, t) : l < o && this.scroll(l, t);
1291
+ const n = this.dropdown_content, s = n.clientHeight, o = n.scrollTop || 0, r = t.offsetHeight, l = t.getBoundingClientRect().top - n.getBoundingClientRect().top + o;
1292
+ l + r > s + o ? this.scroll(l - s + r, e) : l < o && this.scroll(l, e);
1293
1293
  }
1294
1294
  /**
1295
1295
  * Scroll the dropdown to the given position
1296
1296
  *
1297
1297
  */
1298
- scroll(e, t) {
1299
- const i = this.dropdown_content;
1300
- t && (i.style.scrollBehavior = t), i.scrollTop = e, i.style.scrollBehavior = "";
1298
+ scroll(t, e) {
1299
+ const n = this.dropdown_content;
1300
+ e && (n.style.scrollBehavior = e), n.scrollTop = t, n.style.scrollBehavior = "";
1301
1301
  }
1302
1302
  /**
1303
1303
  * Clears the active option
1304
1304
  *
1305
1305
  */
1306
1306
  clearActiveOption() {
1307
- this.activeOption && (M(this.activeOption, "active"), A(this.activeOption, { "aria-selected": null })), this.activeOption = null, A(this.focus_node, { "aria-activedescendant": null });
1307
+ this.activeOption && (N(this.activeOption, "active"), w(this.activeOption, { "aria-selected": null })), this.activeOption = null, w(this.focus_node, { "aria-activedescendant": null });
1308
1308
  }
1309
1309
  /**
1310
1310
  * Selects all items (CTRL + A).
1311
1311
  */
1312
1312
  selectAll() {
1313
- const e = this;
1314
- if (e.settings.mode === "single")
1313
+ const t = this;
1314
+ if (t.settings.mode === "single")
1315
1315
  return;
1316
- const t = e.controlChildren();
1317
- t.length && (e.inputState(), e.close(), e.activeItems = t, I(t, (i) => {
1318
- e.setActiveItemClass(i);
1316
+ const e = t.controlChildren();
1317
+ e.length && (t.inputState(), t.close(), t.activeItems = e, G(e, (n) => {
1318
+ t.setActiveItemClass(n);
1319
1319
  }));
1320
1320
  }
1321
1321
  /**
@@ -1323,8 +1323,8 @@ class F extends tt(et) {
1323
1323
  *
1324
1324
  */
1325
1325
  inputState() {
1326
- var e = this;
1327
- e.control.contains(e.control_input) && (A(e.control_input, { placeholder: e.settings.placeholder }), e.activeItems.length > 0 || !e.isFocused && e.settings.hidePlaceholder && e.items.length > 0 ? (e.setTextboxValue(), e.isInputHidden = !0) : (e.settings.hidePlaceholder && e.items.length > 0 && A(e.control_input, { placeholder: "" }), e.isInputHidden = !1), e.wrapper.classList.toggle("input-hidden", e.isInputHidden));
1326
+ var t = this;
1327
+ t.control.contains(t.control_input) && (w(t.control_input, { placeholder: t.settings.placeholder }), t.activeItems.length > 0 || !t.isFocused && t.settings.hidePlaceholder && t.items.length > 0 ? (t.setTextboxValue(), t.isInputHidden = !0) : (t.settings.hidePlaceholder && t.items.length > 0 && w(t.control_input, { placeholder: "" }), t.isInputHidden = !1), t.wrapper.classList.toggle("input-hidden", t.isInputHidden));
1328
1328
  }
1329
1329
  /**
1330
1330
  * Get the input value
@@ -1336,9 +1336,9 @@ class F extends tt(et) {
1336
1336
  * Gives the control focus.
1337
1337
  */
1338
1338
  focus() {
1339
- var e = this;
1340
- e.isDisabled || e.isReadOnly || (e.ignoreFocus = !0, e.control_input.offsetWidth ? e.control_input.focus() : e.focus_node.focus(), setTimeout(() => {
1341
- e.ignoreFocus = !1, e.onFocus();
1339
+ var t = this;
1340
+ t.isDisabled || t.isReadOnly || (t.ignoreFocus = !0, t.control_input.offsetWidth ? t.control_input.focus() : t.focus_node.focus(), setTimeout(() => {
1341
+ t.ignoreFocus = !1, t.onFocus();
1342
1342
  }, 0));
1343
1343
  }
1344
1344
  /**
@@ -1355,8 +1355,8 @@ class F extends tt(et) {
1355
1355
  *
1356
1356
  * @return {function}
1357
1357
  */
1358
- getScoreFunction(e) {
1359
- return this.sifter.getScoreFunction(e, this.getSearchOptions());
1358
+ getScoreFunction(t) {
1359
+ return this.sifter.getScoreFunction(t, this.getSearchOptions());
1360
1360
  }
1361
1361
  /**
1362
1362
  * Returns search options for sifter (the system
@@ -1366,12 +1366,12 @@ class F extends tt(et) {
1366
1366
  * @return {object}
1367
1367
  */
1368
1368
  getSearchOptions() {
1369
- var e = this.settings, t = e.sortField;
1370
- return typeof e.sortField == "string" && (t = [{ field: e.sortField }]), {
1371
- fields: e.searchField,
1372
- conjunction: e.searchConjunction,
1373
- sort: t,
1374
- nesting: e.nesting
1369
+ var t = this.settings, e = t.sortField;
1370
+ return typeof t.sortField == "string" && (e = [{ field: t.sortField }]), {
1371
+ fields: t.searchField,
1372
+ conjunction: t.searchConjunction,
1373
+ sort: e,
1374
+ nesting: t.nesting
1375
1375
  };
1376
1376
  }
1377
1377
  /**
@@ -1379,82 +1379,82 @@ class F extends tt(et) {
1379
1379
  * a sorted array of matches.
1380
1380
  *
1381
1381
  */
1382
- search(e) {
1383
- var t, i, n = this, o = this.getSearchOptions();
1384
- if (n.settings.score && (i = n.settings.score.call(n, e), typeof i != "function"))
1382
+ search(t) {
1383
+ var e, n, s = this, o = this.getSearchOptions();
1384
+ if (s.settings.score && (n = s.settings.score.call(s, t), typeof n != "function"))
1385
1385
  throw new Error('Tom Select "score" setting must be a function that returns a function');
1386
- return e !== n.lastQuery ? (n.lastQuery = e, t = n.sifter.search(e, Object.assign(o, { score: i })), n.currentResults = t) : t = Object.assign({}, n.currentResults), n.settings.hideSelected && (t.items = t.items.filter((r) => {
1387
- let l = T(r.id);
1388
- return !(l && n.items.indexOf(l) !== -1);
1389
- })), t;
1386
+ return t !== s.lastQuery ? (s.lastQuery = t, e = s.sifter.search(t, Object.assign(o, { score: n })), s.currentResults = e) : e = Object.assign({}, s.currentResults), s.settings.hideSelected && (e.items = e.items.filter((r) => {
1387
+ let l = O(r.id);
1388
+ return !(l && s.items.indexOf(l) !== -1);
1389
+ })), e;
1390
1390
  }
1391
1391
  /**
1392
1392
  * Refreshes the list of available options shown
1393
1393
  * in the autocomplete dropdown menu.
1394
1394
  *
1395
1395
  */
1396
- refreshOptions(e = !0) {
1397
- var t, i, n, o, r, l, c, a, u, d;
1398
- const p = {}, w = [];
1399
- var f = this, v = f.inputValue();
1400
- const b = v === f.lastQuery || v == "" && f.lastQuery == null;
1401
- var y = f.search(v), h = null, S = f.settings.shouldOpen || !1, P = f.dropdown_content;
1402
- b && (h = f.activeOption, h && (u = h.closest("[data-group]"))), o = y.items.length, typeof f.settings.maxOptions == "number" && (o = Math.min(o, f.settings.maxOptions)), o > 0 && (S = !0);
1403
- const q = (m, _) => {
1404
- let g = p[m];
1405
- if (g !== void 0) {
1406
- let O = w[g];
1407
- if (O !== void 0)
1408
- return [g, O.fragment];
1396
+ refreshOptions(t = !0) {
1397
+ var e, n, s, o, r, l, a, c, d, u;
1398
+ const p = {}, y = [];
1399
+ var g = this, b = g.inputValue();
1400
+ const Z = b === g.lastQuery || b == "" && g.lastQuery == null;
1401
+ var I = g.search(b), h = null, L = g.settings.shouldOpen || !1, M = g.dropdown_content;
1402
+ Z && (h = g.activeOption, h && (d = h.closest("[data-group]"))), o = I.items.length, typeof g.settings.maxOptions == "number" && (o = Math.min(o, g.settings.maxOptions)), o > 0 && (L = !0);
1403
+ const Q = (f, v) => {
1404
+ let m = p[f];
1405
+ if (m !== void 0) {
1406
+ let C = y[m];
1407
+ if (C !== void 0)
1408
+ return [m, C.fragment];
1409
1409
  }
1410
- let E = document.createDocumentFragment();
1411
- return g = w.length, w.push({ fragment: E, order: _, optgroup: m }), [g, E];
1410
+ let A = document.createDocumentFragment();
1411
+ return m = y.length, y.push({ fragment: A, order: v, optgroup: f }), [m, A];
1412
1412
  };
1413
- for (t = 0; t < o; t++) {
1414
- let m = y.items[t];
1415
- if (!m)
1413
+ for (e = 0; e < o; e++) {
1414
+ let f = I.items[e];
1415
+ if (!f)
1416
1416
  continue;
1417
- let _ = m.id, g = f.options[_];
1418
- if (g === void 0)
1417
+ let v = f.id, m = g.options[v];
1418
+ if (m === void 0)
1419
1419
  continue;
1420
- let E = se(_), O = f.getOption(E, !0);
1421
- for (f.settings.hideSelected || O.classList.toggle("selected", f.items.includes(E)), r = g[f.settings.optgroupField] || "", l = Array.isArray(r) ? r : [r], i = 0, n = l && l.length; i < n; i++) {
1422
- r = l[i];
1423
- let J = g.$order, W = f.optgroups[r];
1424
- W === void 0 ? r = "" : J = W.$order;
1425
- const [Ge, qe] = q(r, J);
1426
- i > 0 && (O = O.cloneNode(!0), A(O, { id: g.$id + "-clone-" + i, "aria-selected": null }), O.classList.add("ts-cloned"), M(O, "active"), f.activeOption && f.activeOption.dataset.value == _ && u && u.dataset.group === r.toString() && (h = O)), qe.appendChild(O), r != "" && (p[r] = Ge);
1420
+ let A = et(v), C = g.getOption(A, !0);
1421
+ for (g.settings.hideSelected || C.classList.toggle("selected", g.items.includes(A)), r = m[g.settings.optgroupField] || "", l = Array.isArray(r) ? r : [r], n = 0, s = l && l.length; n < s; n++) {
1422
+ r = l[n];
1423
+ let E = m.$order, U = g.optgroups[r];
1424
+ U === void 0 ? r = "" : E = U.$order;
1425
+ const [Tt, Qt] = Q(r, E);
1426
+ n > 0 && (C = C.cloneNode(!0), w(C, { id: m.$id + "-clone-" + n, "aria-selected": null }), C.classList.add("ts-cloned"), N(C, "active"), g.activeOption && g.activeOption.dataset.value == v && d && d.dataset.group === r.toString() && (h = C)), Qt.appendChild(C), r != "" && (p[r] = Tt);
1427
1427
  }
1428
1428
  }
1429
- f.settings.lockOptgroupOrder && w.sort((m, _) => m.order - _.order), c = document.createDocumentFragment(), I(w, (m) => {
1430
- let _ = m.fragment, g = m.optgroup;
1431
- if (!_ || !_.children.length)
1429
+ g.settings.lockOptgroupOrder && y.sort((f, v) => f.order - v.order), a = document.createDocumentFragment(), G(y, (f) => {
1430
+ let v = f.fragment, m = f.optgroup;
1431
+ if (!v || !v.children.length)
1432
1432
  return;
1433
- let E = f.optgroups[g];
1434
- if (E !== void 0) {
1435
- let O = document.createDocumentFragment(), J = f.render("optgroup_header", E);
1436
- B(O, J), B(O, _);
1437
- let W = f.render("optgroup", { group: E, options: O });
1438
- B(c, W);
1433
+ let A = g.optgroups[m];
1434
+ if (A !== void 0) {
1435
+ let C = document.createDocumentFragment(), E = g.render("optgroup_header", A);
1436
+ k(C, E), k(C, v);
1437
+ let U = g.render("optgroup", { group: A, options: C });
1438
+ k(a, U);
1439
1439
  } else
1440
- B(c, _);
1441
- }), P.innerHTML = "", B(P, c), f.settings.highlight && (Et(P), y.query.length && y.tokens.length && I(y.tokens, (m) => {
1442
- It(P, m.regex);
1440
+ k(a, v);
1441
+ }), M.innerHTML = "", k(M, a), g.settings.highlight && (Ae(M), I.query.length && I.tokens.length && G(I.tokens, (f) => {
1442
+ Ge(M, f.regex);
1443
1443
  }));
1444
- var j = (m) => {
1445
- let _ = f.render(m, { input: v });
1446
- return _ && (S = !0, P.insertBefore(_, P.firstChild)), _;
1444
+ var F = (f) => {
1445
+ let v = g.render(f, { input: b });
1446
+ return v && (L = !0, M.insertBefore(v, M.firstChild)), v;
1447
1447
  };
1448
- if (f.loading ? j("loading") : f.settings.shouldLoad.call(f, v) ? y.items.length === 0 && j("no_results") : j("not_loading"), a = f.canCreate(v), a && (d = j("option_create")), f.hasOptions = y.items.length > 0 || a, S) {
1449
- if (y.items.length > 0) {
1450
- if (!h && f.settings.mode === "single" && f.items[0] != null && (h = f.getOption(f.items[0])), !P.contains(h)) {
1451
- let m = 0;
1452
- d && !f.settings.addPrecedence && (m = 1), h = f.selectable()[m];
1448
+ if (g.loading ? F("loading") : g.settings.shouldLoad.call(g, b) ? I.items.length === 0 && F("no_results") : F("not_loading"), c = g.canCreate(b), c && (u = F("option_create")), g.hasOptions = I.items.length > 0 || c, L) {
1449
+ if (I.items.length > 0) {
1450
+ if (!h && g.settings.mode === "single" && g.items[0] != null && (h = g.getOption(g.items[0])), !M.contains(h)) {
1451
+ let f = 0;
1452
+ u && !g.settings.addPrecedence && (f = 1), h = g.selectable()[f];
1453
1453
  }
1454
- } else d && (h = d);
1455
- e && !f.isOpen && (f.open(), f.scrollToOption(h, "auto")), f.setActiveOption(h);
1454
+ } else u && (h = u);
1455
+ t && !g.isOpen && (g.open(), g.scrollToOption(h, "auto")), g.setActiveOption(h);
1456
1456
  } else
1457
- f.clearActiveOption(), e && f.isOpen && f.close(!1);
1457
+ g.clearActiveOption(), t && g.isOpen && g.close(!1);
1458
1458
  }
1459
1459
  /**
1460
1460
  * Return list of selectable options
@@ -1474,52 +1474,52 @@ class F extends tt(et) {
1474
1474
  * this.addOption(data)
1475
1475
  *
1476
1476
  */
1477
- addOption(e, t = !1) {
1478
- const i = this;
1479
- if (Array.isArray(e))
1480
- return i.addOptions(e, t), !1;
1481
- const n = T(e[i.settings.valueField]);
1482
- return n === null || i.options.hasOwnProperty(n) ? !1 : (e.$order = e.$order || ++i.order, e.$id = i.inputId + "-opt-" + e.$order, i.options[n] = e, i.lastQuery = null, t && (i.userOptions[n] = t, i.trigger("option_add", n, e)), n);
1477
+ addOption(t, e = !1) {
1478
+ const n = this;
1479
+ if (Array.isArray(t))
1480
+ return n.addOptions(t, e), !1;
1481
+ const s = O(t[n.settings.valueField]);
1482
+ return s === null || n.options.hasOwnProperty(s) ? !1 : (t.$order = t.$order || ++n.order, t.$id = n.inputId + "-opt-" + t.$order, n.options[s] = t, n.lastQuery = null, e && (n.userOptions[s] = e, n.trigger("option_add", s, t)), s);
1483
1483
  }
1484
1484
  /**
1485
1485
  * Add multiple options
1486
1486
  *
1487
1487
  */
1488
- addOptions(e, t = !1) {
1489
- I(e, (i) => {
1490
- this.addOption(i, t);
1488
+ addOptions(t, e = !1) {
1489
+ G(t, (n) => {
1490
+ this.addOption(n, e);
1491
1491
  });
1492
1492
  }
1493
1493
  /**
1494
1494
  * @deprecated 1.7.7
1495
1495
  */
1496
- registerOption(e) {
1497
- return this.addOption(e);
1496
+ registerOption(t) {
1497
+ return this.addOption(t);
1498
1498
  }
1499
1499
  /**
1500
1500
  * Registers an option group to the pool of option groups.
1501
1501
  *
1502
1502
  * @return {boolean|string}
1503
1503
  */
1504
- registerOptionGroup(e) {
1505
- var t = T(e[this.settings.optgroupValueField]);
1506
- return t === null ? !1 : (e.$order = e.$order || ++this.order, this.optgroups[t] = e, t);
1504
+ registerOptionGroup(t) {
1505
+ var e = O(t[this.settings.optgroupValueField]);
1506
+ return e === null ? !1 : (t.$order = t.$order || ++this.order, this.optgroups[e] = t, e);
1507
1507
  }
1508
1508
  /**
1509
1509
  * Registers a new optgroup for options
1510
1510
  * to be bucketed into.
1511
1511
  *
1512
1512
  */
1513
- addOptionGroup(e, t) {
1514
- var i;
1515
- t[this.settings.optgroupValueField] = e, (i = this.registerOptionGroup(t)) && this.trigger("optgroup_add", i, t);
1513
+ addOptionGroup(t, e) {
1514
+ var n;
1515
+ e[this.settings.optgroupValueField] = t, (n = this.registerOptionGroup(e)) && this.trigger("optgroup_add", n, e);
1516
1516
  }
1517
1517
  /**
1518
1518
  * Removes an existing option group.
1519
1519
  *
1520
1520
  */
1521
- removeOptionGroup(e) {
1522
- this.optgroups.hasOwnProperty(e) && (delete this.optgroups[e], this.clearCache(), this.trigger("optgroup_remove", e));
1521
+ removeOptionGroup(t) {
1522
+ this.optgroups.hasOwnProperty(t) && (delete this.optgroups[t], this.clearCache(), this.trigger("optgroup_remove", t));
1523
1523
  }
1524
1524
  /**
1525
1525
  * Clears all existing option groups.
@@ -1533,69 +1533,69 @@ class F extends tt(et) {
1533
1533
  * dropdown, it will be re-rendered automatically.
1534
1534
  *
1535
1535
  */
1536
- updateOption(e, t) {
1537
- const i = this;
1538
- var n, o;
1539
- const r = T(e), l = T(t[i.settings.valueField]);
1536
+ updateOption(t, e) {
1537
+ const n = this;
1538
+ var s, o;
1539
+ const r = O(t), l = O(e[n.settings.valueField]);
1540
1540
  if (r === null)
1541
1541
  return;
1542
- const c = i.options[r];
1543
- if (c == null)
1542
+ const a = n.options[r];
1543
+ if (a == null)
1544
1544
  return;
1545
1545
  if (typeof l != "string")
1546
1546
  throw new Error("Value must be set in option data");
1547
- const a = i.getOption(r), u = i.getItem(r);
1548
- if (t.$order = t.$order || c.$order, delete i.options[r], i.uncacheValue(l), i.options[l] = t, a) {
1549
- if (i.dropdown_content.contains(a)) {
1550
- const d = i._render("option", t);
1551
- me(a, d), i.activeOption === a && i.setActiveOption(d);
1547
+ const c = n.getOption(r), d = n.getItem(r);
1548
+ if (e.$order = e.$order || a.$order, delete n.options[r], n.uncacheValue(l), n.options[l] = e, c) {
1549
+ if (n.dropdown_content.contains(c)) {
1550
+ const u = n._render("option", e);
1551
+ mt(c, u), n.activeOption === c && n.setActiveOption(u);
1552
1552
  }
1553
- a.remove();
1553
+ c.remove();
1554
1554
  }
1555
- u && (o = i.items.indexOf(r), o !== -1 && i.items.splice(o, 1, l), n = i._render("item", t), u.classList.contains("active") && k(n, "active"), me(u, n)), i.lastQuery = null;
1555
+ d && (o = n.items.indexOf(r), o !== -1 && n.items.splice(o, 1, l), s = n._render("item", e), d.classList.contains("active") && J(s, "active"), mt(d, s)), n.lastQuery = null;
1556
1556
  }
1557
1557
  /**
1558
1558
  * Removes a single option.
1559
1559
  *
1560
1560
  */
1561
- removeOption(e, t) {
1562
- const i = this;
1563
- e = se(e), i.uncacheValue(e), delete i.userOptions[e], delete i.options[e], i.lastQuery = null, i.trigger("option_remove", e), i.removeItem(e, t);
1561
+ removeOption(t, e) {
1562
+ const n = this;
1563
+ t = et(t), n.uncacheValue(t), delete n.userOptions[t], delete n.options[t], n.lastQuery = null, n.trigger("option_remove", t), n.removeItem(t, e);
1564
1564
  }
1565
1565
  /**
1566
1566
  * Clears all options.
1567
1567
  */
1568
- clearOptions(e) {
1569
- const t = (e || this.clearFilter).bind(this);
1568
+ clearOptions(t) {
1569
+ const e = (t || this.clearFilter).bind(this);
1570
1570
  this.loadedSearches = {}, this.userOptions = {}, this.clearCache();
1571
- const i = {};
1572
- I(this.options, (n, o) => {
1573
- t(n, o) && (i[o] = n);
1574
- }), this.options = this.sifter.items = i, this.lastQuery = null, this.trigger("option_clear");
1571
+ const n = {};
1572
+ G(this.options, (s, o) => {
1573
+ e(s, o) && (n[o] = s);
1574
+ }), this.options = this.sifter.items = n, this.lastQuery = null, this.trigger("option_clear");
1575
1575
  }
1576
1576
  /**
1577
1577
  * Used by clearOptions() to decide whether or not an option should be removed
1578
1578
  * Return true to keep an option, false to remove
1579
1579
  *
1580
1580
  */
1581
- clearFilter(e, t) {
1582
- return this.items.indexOf(t) >= 0;
1581
+ clearFilter(t, e) {
1582
+ return this.items.indexOf(e) >= 0;
1583
1583
  }
1584
1584
  /**
1585
1585
  * Returns the dom element of the option
1586
1586
  * matching the given value.
1587
1587
  *
1588
1588
  */
1589
- getOption(e, t = !1) {
1590
- const i = T(e);
1591
- if (i === null)
1589
+ getOption(t, e = !1) {
1590
+ const n = O(t);
1591
+ if (n === null)
1592
1592
  return null;
1593
- const n = this.options[i];
1594
- if (n != null) {
1595
- if (n.$div)
1596
- return n.$div;
1597
- if (t)
1598
- return this._render("option", n);
1593
+ const s = this.options[n];
1594
+ if (s != null) {
1595
+ if (s.$div)
1596
+ return s.$div;
1597
+ if (e)
1598
+ return this._render("option", s);
1599
1599
  }
1600
1600
  return null;
1601
1601
  }
@@ -1604,14 +1604,14 @@ class F extends tt(et) {
1604
1604
  * Note: adjacent options may not be adjacent DOM elements (optgroups)
1605
1605
  *
1606
1606
  */
1607
- getAdjacent(e, t, i = "option") {
1608
- var n = this, o;
1609
- if (!e)
1607
+ getAdjacent(t, e, n = "option") {
1608
+ var s = this, o;
1609
+ if (!t)
1610
1610
  return null;
1611
- i == "item" ? o = n.controlChildren() : o = n.dropdown_content.querySelectorAll("[data-selectable]");
1611
+ n == "item" ? o = s.controlChildren() : o = s.dropdown_content.querySelectorAll("[data-selectable]");
1612
1612
  for (let r = 0; r < o.length; r++)
1613
- if (o[r] == e)
1614
- return t > 0 ? o[r + 1] : o[r - 1];
1613
+ if (o[r] == t)
1614
+ return e > 0 ? o[r + 1] : o[r - 1];
1615
1615
  return null;
1616
1616
  }
1617
1617
  /**
@@ -1619,23 +1619,23 @@ class F extends tt(et) {
1619
1619
  * matching the given value.
1620
1620
  *
1621
1621
  */
1622
- getItem(e) {
1623
- if (typeof e == "object")
1624
- return e;
1625
- var t = T(e);
1626
- return t !== null ? this.control.querySelector(`[data-value="${xe(t)}"]`) : null;
1622
+ getItem(t) {
1623
+ if (typeof t == "object")
1624
+ return t;
1625
+ var e = O(t);
1626
+ return e !== null ? this.control.querySelector(`[data-value="${Wt(e)}"]`) : null;
1627
1627
  }
1628
1628
  /**
1629
1629
  * "Selects" multiple items at once. Adds them to the list
1630
1630
  * at the current caret position.
1631
1631
  *
1632
1632
  */
1633
- addItems(e, t) {
1634
- var i = this, n = Array.isArray(e) ? e : [e];
1635
- n = n.filter((r) => i.items.indexOf(r) === -1);
1636
- const o = n[n.length - 1];
1637
- n.forEach((r) => {
1638
- i.isPending = r !== o, i.addItem(r, t);
1633
+ addItems(t, e) {
1634
+ var n = this, s = Array.isArray(t) ? t : [t];
1635
+ s = s.filter((r) => n.items.indexOf(r) === -1);
1636
+ const o = s[s.length - 1];
1637
+ s.forEach((r) => {
1638
+ n.isPending = r !== o, n.addItem(r, e);
1639
1639
  });
1640
1640
  }
1641
1641
  /**
@@ -1643,18 +1643,18 @@ class F extends tt(et) {
1643
1643
  * at the current caret position.
1644
1644
  *
1645
1645
  */
1646
- addItem(e, t) {
1647
- var i = t ? [] : ["change", "dropdown_close"];
1648
- Ce(this, i, () => {
1649
- var n, o;
1650
- const r = this, l = r.settings.mode, c = T(e);
1651
- if (!(c && r.items.indexOf(c) !== -1 && (l === "single" && r.close(), l === "single" || !r.settings.duplicates)) && !(c === null || !r.options.hasOwnProperty(c)) && (l === "single" && r.clear(t), !(l === "multi" && r.isFull()))) {
1652
- if (n = r._render("item", r.options[c]), r.control.contains(n) && (n = n.cloneNode(!0)), o = r.isFull(), r.items.splice(r.caretPos, 0, c), r.insertAtCaret(n), r.isSetup) {
1646
+ addItem(t, e) {
1647
+ var n = e ? [] : ["change", "dropdown_close"];
1648
+ Lt(this, n, () => {
1649
+ var s, o;
1650
+ const r = this, l = r.settings.mode, a = O(t);
1651
+ if (!(a && r.items.indexOf(a) !== -1 && (l === "single" && r.close(), l === "single" || !r.settings.duplicates)) && !(a === null || !r.options.hasOwnProperty(a)) && (l === "single" && r.clear(e), !(l === "multi" && r.isFull()))) {
1652
+ if (s = r._render("item", r.options[a]), r.control.contains(s) && (s = s.cloneNode(!0)), o = r.isFull(), r.items.splice(r.caretPos, 0, a), r.insertAtCaret(s), r.isSetup) {
1653
1653
  if (!r.isPending && r.settings.hideSelected) {
1654
- let a = r.getOption(c), u = r.getAdjacent(a, 1);
1655
- u && r.setActiveOption(u);
1654
+ let c = r.getOption(a), d = r.getAdjacent(c, 1);
1655
+ d && r.setActiveOption(d);
1656
1656
  }
1657
- !r.isPending && !r.settings.closeAfterSelect && r.refreshOptions(r.isFocused && l !== "single"), r.settings.closeAfterSelect != !1 && r.isFull() ? r.close() : r.isPending || r.positionDropdown(), r.trigger("item_add", c, n), r.isPending || r.updateOriginalInput({ silent: t });
1657
+ !r.isPending && !r.settings.closeAfterSelect && r.refreshOptions(r.isFocused && l !== "single"), r.settings.closeAfterSelect != !1 && r.isFull() ? r.close() : r.isPending || r.positionDropdown(), r.trigger("item_add", a, s), r.isPending || r.updateOriginalInput({ silent: e });
1658
1658
  }
1659
1659
  (!r.isPending || !o && r.isFull()) && (r.inputState(), r.refreshState());
1660
1660
  }
@@ -1665,13 +1665,13 @@ class F extends tt(et) {
1665
1665
  * the provided value.
1666
1666
  *
1667
1667
  */
1668
- removeItem(e = null, t) {
1669
- const i = this;
1670
- if (e = i.getItem(e), !e)
1668
+ removeItem(t = null, e) {
1669
+ const n = this;
1670
+ if (t = n.getItem(t), !t)
1671
1671
  return;
1672
- var n, o;
1673
- const r = e.dataset.value;
1674
- n = Ee(e), e.remove(), e.classList.contains("active") && (o = i.activeItems.indexOf(e), i.activeItems.splice(o, 1), M(e, "active")), i.items.splice(n, 1), i.lastQuery = null, !i.settings.persist && i.userOptions.hasOwnProperty(r) && i.removeOption(r, t), n < i.caretPos && i.setCaret(i.caretPos - 1), i.updateOriginalInput({ silent: t }), i.refreshState(), i.positionDropdown(), i.trigger("item_remove", r, e);
1672
+ var s, o;
1673
+ const r = t.dataset.value;
1674
+ s = At(t), t.remove(), t.classList.contains("active") && (o = n.activeItems.indexOf(t), n.activeItems.splice(o, 1), N(t, "active")), n.items.splice(s, 1), n.lastQuery = null, !n.settings.persist && n.userOptions.hasOwnProperty(r) && n.removeOption(r, e), s < n.caretPos && n.setCaret(n.caretPos - 1), n.updateOriginalInput({ silent: e }), n.refreshState(), n.positionDropdown(), n.trigger("item_remove", r, t);
1675
1675
  }
1676
1676
  /**
1677
1677
  * Invokes the `create` method provided in the
@@ -1682,45 +1682,45 @@ class F extends tt(et) {
1682
1682
  * to the item list.
1683
1683
  *
1684
1684
  */
1685
- createItem(e = null, t = () => {
1685
+ createItem(t = null, e = () => {
1686
1686
  }) {
1687
- arguments.length === 3 && (t = arguments[2]), typeof t != "function" && (t = () => {
1687
+ arguments.length === 3 && (e = arguments[2]), typeof e != "function" && (e = () => {
1688
1688
  });
1689
- var i = this, n = i.caretPos, o;
1690
- if (e = e || i.inputValue(), !i.canCreate(e))
1691
- return t(), !1;
1692
- i.lock();
1693
- var r = !1, l = (c) => {
1694
- if (i.unlock(), !c || typeof c != "object")
1695
- return t();
1696
- var a = T(c[i.settings.valueField]);
1697
- if (typeof a != "string")
1698
- return t();
1699
- i.setTextboxValue(), i.addOption(c, !0), i.setCaret(n), i.addItem(a), t(c), r = !0;
1689
+ var n = this, s = n.caretPos, o;
1690
+ if (t = t || n.inputValue(), !n.canCreate(t))
1691
+ return e(), !1;
1692
+ n.lock();
1693
+ var r = !1, l = (a) => {
1694
+ if (n.unlock(), !a || typeof a != "object")
1695
+ return e();
1696
+ var c = O(a[n.settings.valueField]);
1697
+ if (typeof c != "string")
1698
+ return e();
1699
+ n.setTextboxValue(), n.addOption(a, !0), n.setCaret(s), n.addItem(c), e(a), r = !0;
1700
1700
  };
1701
- return typeof i.settings.create == "function" ? o = i.settings.create.call(this, e, l) : o = {
1702
- [i.settings.labelField]: e,
1703
- [i.settings.valueField]: e
1701
+ return typeof n.settings.create == "function" ? o = n.settings.create.call(this, t, l) : o = {
1702
+ [n.settings.labelField]: t,
1703
+ [n.settings.valueField]: t
1704
1704
  }, r || l(o), !0;
1705
1705
  }
1706
1706
  /**
1707
1707
  * Re-renders the selected item lists.
1708
1708
  */
1709
1709
  refreshItems() {
1710
- var e = this;
1711
- e.lastQuery = null, e.isSetup && e.addItems(e.items), e.updateOriginalInput(), e.refreshState();
1710
+ var t = this;
1711
+ t.lastQuery = null, t.isSetup && t.addItems(t.items), t.updateOriginalInput(), t.refreshState();
1712
1712
  }
1713
1713
  /**
1714
1714
  * Updates all state-dependent attributes
1715
1715
  * and CSS classes.
1716
1716
  */
1717
1717
  refreshState() {
1718
- const e = this;
1719
- e.refreshValidityState();
1720
- const t = e.isFull(), i = e.isLocked;
1721
- e.wrapper.classList.toggle("rtl", e.rtl);
1722
- const n = e.wrapper.classList;
1723
- n.toggle("focus", e.isFocused), n.toggle("disabled", e.isDisabled), n.toggle("readonly", e.isReadOnly), n.toggle("required", e.isRequired), n.toggle("invalid", !e.isValid), n.toggle("locked", i), n.toggle("full", t), n.toggle("input-active", e.isFocused && !e.isInputHidden), n.toggle("dropdown-active", e.isOpen), n.toggle("has-options", xt(e.options)), n.toggle("has-items", e.items.length > 0);
1718
+ const t = this;
1719
+ t.refreshValidityState();
1720
+ const e = t.isFull(), n = t.isLocked;
1721
+ t.wrapper.classList.toggle("rtl", t.rtl);
1722
+ const s = t.wrapper.classList;
1723
+ s.toggle("focus", t.isFocused), s.toggle("disabled", t.isDisabled), s.toggle("readonly", t.isReadOnly), s.toggle("required", t.isRequired), s.toggle("invalid", !t.isValid), s.toggle("locked", n), s.toggle("full", e), s.toggle("input-active", t.isFocused && !t.isInputHidden), s.toggle("dropdown-active", t.isOpen), s.toggle("has-options", We(t.options)), s.toggle("has-items", t.items.length > 0);
1724
1724
  }
1725
1725
  /**
1726
1726
  * Update the `required` attribute of both input and control input.
@@ -1731,8 +1731,8 @@ class F extends tt(et) {
1731
1731
  * hidden and can't show errors.
1732
1732
  */
1733
1733
  refreshValidityState() {
1734
- var e = this;
1735
- e.input.validity && (e.isValid = e.input.validity.valid, e.isInvalid = !e.isValid);
1734
+ var t = this;
1735
+ t.input.validity && (t.isValid = t.input.validity.valid, t.isInvalid = !t.isValid);
1736
1736
  }
1737
1737
  /**
1738
1738
  * Determines whether or not more items can be added
@@ -1748,42 +1748,42 @@ class F extends tt(et) {
1748
1748
  * element to reflect the current state.
1749
1749
  *
1750
1750
  */
1751
- updateOriginalInput(e = {}) {
1752
- const t = this;
1753
- var i, n;
1754
- const o = t.input.querySelector('option[value=""]');
1755
- if (t.is_select_tag) {
1756
- let c = function(a, u, d) {
1757
- return a || (a = D('<option value="' + fe(u) + '">' + fe(d) + "</option>")), a != o && t.input.append(a), r.push(a), (a != o || l > 0) && (a.selected = !0), a;
1751
+ updateOriginalInput(t = {}) {
1752
+ const e = this;
1753
+ var n, s;
1754
+ const o = e.input.querySelector('option[value=""]');
1755
+ if (e.is_select_tag) {
1756
+ let a = function(c, d, u) {
1757
+ return c || (c = R('<option value="' + ut(d) + '">' + ut(u) + "</option>")), c != o && e.input.append(c), r.push(c), (c != o || l > 0) && (c.selected = !0), c;
1758
1758
  };
1759
- const r = [], l = t.input.querySelectorAll("option:checked").length;
1760
- t.input.querySelectorAll("option:checked").forEach((a) => {
1761
- a.selected = !1;
1762
- }), t.items.length == 0 && t.settings.mode == "single" ? c(o, "", "") : t.items.forEach((a) => {
1763
- if (i = t.options[a], n = i[t.settings.labelField] || "", r.includes(i.$option)) {
1764
- const u = t.input.querySelector(`option[value="${xe(a)}"]:not(:checked)`);
1765
- c(u, a, n);
1759
+ const r = [], l = e.input.querySelectorAll("option:checked").length;
1760
+ e.input.querySelectorAll("option:checked").forEach((c) => {
1761
+ c.selected = !1;
1762
+ }), e.items.length == 0 && e.settings.mode == "single" ? a(o, "", "") : e.items.forEach((c) => {
1763
+ if (n = e.options[c], s = n[e.settings.labelField] || "", r.includes(n.$option)) {
1764
+ const d = e.input.querySelector(`option[value="${Wt(c)}"]:not(:checked)`);
1765
+ a(d, c, s);
1766
1766
  } else
1767
- i.$option = c(i.$option, a, n);
1767
+ n.$option = a(n.$option, c, s);
1768
1768
  });
1769
1769
  } else
1770
- t.input.value = t.getValue();
1771
- t.isSetup && (e.silent || t.trigger("change", t.getValue()));
1770
+ e.input.value = e.getValue();
1771
+ e.isSetup && (t.silent || e.trigger("change", e.getValue()));
1772
1772
  }
1773
1773
  /**
1774
1774
  * Shows the autocomplete dropdown containing
1775
1775
  * the available options.
1776
1776
  */
1777
1777
  open() {
1778
- var e = this;
1779
- e.isLocked || e.isOpen || e.settings.mode === "multi" && e.isFull() || (e.isOpen = !0, A(e.focus_node, { "aria-expanded": "true" }), e.refreshState(), Z(e.dropdown, { visibility: "hidden", display: "block" }), e.positionDropdown(), Z(e.dropdown, { visibility: "visible", display: "block" }), e.focus(), e.trigger("dropdown_open", e.dropdown));
1778
+ var t = this;
1779
+ t.isLocked || t.isOpen || t.settings.mode === "multi" && t.isFull() || (t.isOpen = !0, w(t.focus_node, { "aria-expanded": "true" }), t.refreshState(), P(t.dropdown, { visibility: "hidden", display: "block" }), t.positionDropdown(), P(t.dropdown, { visibility: "visible", display: "block" }), t.focus(), t.trigger("dropdown_open", t.dropdown));
1780
1780
  }
1781
1781
  /**
1782
1782
  * Closes the autocomplete dropdown menu.
1783
1783
  */
1784
- close(e = !0) {
1785
- var t = this, i = t.isOpen;
1786
- e && (t.setTextboxValue(), t.settings.mode === "single" && t.items.length && t.inputState()), t.isOpen = !1, A(t.focus_node, { "aria-expanded": "false" }), Z(t.dropdown, { display: "none" }), t.settings.hideSelected && t.clearActiveOption(), t.refreshState(), i && t.trigger("dropdown_close", t.dropdown);
1784
+ close(t = !0) {
1785
+ var e = this, n = e.isOpen;
1786
+ t && (e.setTextboxValue(), e.settings.mode === "single" && e.items.length && e.inputState()), e.isOpen = !1, w(e.focus_node, { "aria-expanded": "false" }), P(e.dropdown, { display: "none" }), e.settings.hideSelected && e.clearActiveOption(), e.refreshState(), n && e.trigger("dropdown_close", e.dropdown);
1787
1787
  }
1788
1788
  /**
1789
1789
  * Calculates and applies the appropriate
@@ -1792,11 +1792,11 @@ class F extends tt(et) {
1792
1792
  */
1793
1793
  positionDropdown() {
1794
1794
  if (this.settings.dropdownParent === "body") {
1795
- var e = this.control, t = e.getBoundingClientRect(), i = e.offsetHeight + t.top + window.scrollY, n = t.left + window.scrollX;
1796
- Z(this.dropdown, {
1797
- width: t.width + "px",
1798
- top: i + "px",
1799
- left: n + "px"
1795
+ var t = this.control, e = t.getBoundingClientRect(), n = t.offsetHeight + e.top + window.scrollY, s = e.left + window.scrollX;
1796
+ P(this.dropdown, {
1797
+ width: e.width + "px",
1798
+ top: n + "px",
1799
+ left: s + "px"
1800
1800
  });
1801
1801
  }
1802
1802
  }
@@ -1805,13 +1805,13 @@ class F extends tt(et) {
1805
1805
  * from the control.
1806
1806
  *
1807
1807
  */
1808
- clear(e) {
1809
- var t = this;
1810
- if (t.items.length) {
1811
- var i = t.controlChildren();
1812
- I(i, (n) => {
1813
- t.removeItem(n, !0);
1814
- }), t.inputState(), e || t.updateOriginalInput(), t.trigger("clear");
1808
+ clear(t) {
1809
+ var e = this;
1810
+ if (e.items.length) {
1811
+ var n = e.controlChildren();
1812
+ G(n, (s) => {
1813
+ e.removeItem(s, !0);
1814
+ }), e.inputState(), t || e.updateOriginalInput(), e.trigger("clear");
1815
1815
  }
1816
1816
  }
1817
1817
  /**
@@ -1819,37 +1819,37 @@ class F extends tt(et) {
1819
1819
  * at the current caret position.
1820
1820
  *
1821
1821
  */
1822
- insertAtCaret(e) {
1823
- const t = this, i = t.caretPos, n = t.control;
1824
- n.insertBefore(e, n.children[i] || null), t.setCaret(i + 1);
1822
+ insertAtCaret(t) {
1823
+ const e = this, n = e.caretPos, s = e.control;
1824
+ s.insertBefore(t, s.children[n] || null), e.setCaret(n + 1);
1825
1825
  }
1826
1826
  /**
1827
1827
  * Removes the current selected item(s).
1828
1828
  *
1829
1829
  */
1830
- deleteSelection(e) {
1831
- var t, i, n, o, r = this;
1832
- t = e && e.keyCode === Le ? -1 : 1, i = St(r.control_input);
1830
+ deleteSelection(t) {
1831
+ var e, n, s, o, r = this;
1832
+ e = t && t.keyCode === Bt ? -1 : 1, n = we(r.control_input);
1833
1833
  const l = [];
1834
1834
  if (r.activeItems.length)
1835
- o = Ie(r.activeItems, t), n = Ee(o), t > 0 && n++, I(r.activeItems, (c) => l.push(c));
1835
+ o = Gt(r.activeItems, e), s = At(o), e > 0 && s++, G(r.activeItems, (a) => l.push(a));
1836
1836
  else if ((r.isFocused || r.settings.mode === "single") && r.items.length) {
1837
- const c = r.controlChildren();
1838
- let a;
1839
- t < 0 && i.start === 0 && i.length === 0 ? a = c[r.caretPos - 1] : t > 0 && i.start === r.inputValue().length && (a = c[r.caretPos]), a !== void 0 && l.push(a);
1837
+ const a = r.controlChildren();
1838
+ let c;
1839
+ e < 0 && n.start === 0 && n.length === 0 ? c = a[r.caretPos - 1] : e > 0 && n.start === r.inputValue().length && (c = a[r.caretPos]), c !== void 0 && l.push(c);
1840
1840
  }
1841
- if (!r.shouldDelete(l, e))
1841
+ if (!r.shouldDelete(l, t))
1842
1842
  return !1;
1843
- for (C(e, !0), typeof n < "u" && r.setCaret(n); l.length; )
1843
+ for (W(t, !0), typeof s < "u" && r.setCaret(s); l.length; )
1844
1844
  r.removeItem(l.pop());
1845
1845
  return r.inputState(), r.positionDropdown(), r.refreshOptions(!1), !0;
1846
1846
  }
1847
1847
  /**
1848
1848
  * Return true if the items should be deleted
1849
1849
  */
1850
- shouldDelete(e, t) {
1851
- const i = e.map((n) => n.dataset.value);
1852
- return !(!i.length || typeof this.settings.onDelete == "function" && this.settings.onDelete(i, t) === !1);
1850
+ shouldDelete(t, e) {
1851
+ const n = t.map((s) => s.dataset.value);
1852
+ return !(!n.length || typeof this.settings.onDelete == "function" && this.settings.onDelete(n, e) === !1);
1853
1853
  }
1854
1854
  /**
1855
1855
  * Selects the previous / next item (depending on the `direction` argument).
@@ -1858,23 +1858,23 @@ class F extends tt(et) {
1858
1858
  * < 0 - left
1859
1859
  *
1860
1860
  */
1861
- advanceSelection(e, t) {
1862
- var i, n, o = this;
1863
- o.rtl && (e *= -1), !o.inputValue().length && (R(ee, t) || R("shiftKey", t) ? (i = o.getLastActive(e), i ? i.classList.contains("active") ? n = o.getAdjacent(i, e, "item") : n = i : e > 0 ? n = o.control_input.nextElementSibling : n = o.control_input.previousElementSibling, n && (n.classList.contains("active") && o.removeActiveItem(i), o.setActiveItemClass(n))) : o.moveCaret(e));
1861
+ advanceSelection(t, e) {
1862
+ var n, s, o = this;
1863
+ o.rtl && (t *= -1), !o.inputValue().length && (z(q, e) || z("shiftKey", e) ? (n = o.getLastActive(t), n ? n.classList.contains("active") ? s = o.getAdjacent(n, t, "item") : s = n : t > 0 ? s = o.control_input.nextElementSibling : s = o.control_input.previousElementSibling, s && (s.classList.contains("active") && o.removeActiveItem(n), o.setActiveItemClass(s))) : o.moveCaret(t));
1864
1864
  }
1865
- moveCaret(e) {
1865
+ moveCaret(t) {
1866
1866
  }
1867
1867
  /**
1868
1868
  * Get the last active item
1869
1869
  *
1870
1870
  */
1871
- getLastActive(e) {
1872
- let t = this.control.querySelector(".last-active");
1873
- if (t)
1874
- return t;
1875
- var i = this.control.querySelectorAll(".active");
1876
- if (i)
1877
- return Ie(i, e);
1871
+ getLastActive(t) {
1872
+ let e = this.control.querySelector(".last-active");
1873
+ if (e)
1874
+ return e;
1875
+ var n = this.control.querySelectorAll(".active");
1876
+ if (n)
1877
+ return Gt(n, t);
1878
1878
  }
1879
1879
  /**
1880
1880
  * Moves the caret to the specified index.
@@ -1884,7 +1884,7 @@ class F extends tt(et) {
1884
1884
  * on mobile webkit devices
1885
1885
  *
1886
1886
  */
1887
- setCaret(e) {
1887
+ setCaret(t) {
1888
1888
  this.caretPos = this.items.length;
1889
1889
  }
1890
1890
  /**
@@ -1910,8 +1910,8 @@ class F extends tt(et) {
1910
1910
  /**
1911
1911
  * Disable or enable user input on the control
1912
1912
  */
1913
- setLocked(e = this.isReadOnly || this.isDisabled) {
1914
- this.isLocked = e, this.refreshState();
1913
+ setLocked(t = this.isReadOnly || this.isDisabled) {
1914
+ this.isLocked = t, this.refreshState();
1915
1915
  }
1916
1916
  /**
1917
1917
  * Disables user input on the control completely.
@@ -1927,11 +1927,11 @@ class F extends tt(et) {
1927
1927
  enable() {
1928
1928
  this.setDisabled(!1);
1929
1929
  }
1930
- setDisabled(e) {
1931
- this.focus_node.tabIndex = e ? -1 : this.tabIndex, this.isDisabled = e, this.input.disabled = e, this.control_input.disabled = e, this.setLocked();
1930
+ setDisabled(t) {
1931
+ this.focus_node.tabIndex = t ? -1 : this.tabIndex, this.isDisabled = t, this.input.disabled = t, this.control_input.disabled = t, this.setLocked();
1932
1932
  }
1933
- setReadOnly(e) {
1934
- this.isReadOnly = e, this.input.readOnly = e, this.control_input.readOnly = e, this.setLocked();
1933
+ setReadOnly(t) {
1934
+ this.isReadOnly = t, this.input.readOnly = t, this.control_input.readOnly = t, this.setLocked();
1935
1935
  }
1936
1936
  /**
1937
1937
  * Completely destroys the control and
@@ -1939,37 +1939,37 @@ class F extends tt(et) {
1939
1939
  * be garbage collected.
1940
1940
  */
1941
1941
  destroy() {
1942
- var e = this, t = e.revertSettings;
1943
- e.trigger("destroy"), e.off(), e.wrapper.remove(), e.dropdown.remove(), e.input.innerHTML = t.innerHTML, e.input.tabIndex = t.tabIndex, M(e.input, "tomselected", "ts-hidden-accessible"), e._destroy(), delete e.input.tomselect;
1942
+ var t = this, e = t.revertSettings;
1943
+ t.trigger("destroy"), t.off(), t.wrapper.remove(), t.dropdown.remove(), t.input.innerHTML = e.innerHTML, t.input.tabIndex = e.tabIndex, N(t.input, "tomselected", "ts-hidden-accessible"), t._destroy(), delete t.input.tomselect;
1944
1944
  }
1945
1945
  /**
1946
1946
  * A helper method for rendering "item" and
1947
1947
  * "option" templates, given the data.
1948
1948
  *
1949
1949
  */
1950
- render(e, t) {
1951
- var i, n;
1950
+ render(t, e) {
1951
+ var n, s;
1952
1952
  const o = this;
1953
- if (typeof this.settings.render[e] != "function" || (n = o.settings.render[e].call(this, t, fe), !n))
1953
+ if (typeof this.settings.render[t] != "function" || (s = o.settings.render[t].call(this, e, ut), !s))
1954
1954
  return null;
1955
- if (n = D(n), e === "option" || e === "option_create" ? t[o.settings.disabledField] ? A(n, { "aria-disabled": "true" }) : A(n, { "data-selectable": "" }) : e === "optgroup" && (i = t.group[o.settings.optgroupValueField], A(n, { "data-group": i }), t.group[o.settings.disabledField] && A(n, { "data-disabled": "" })), e === "option" || e === "item") {
1956
- const r = se(t[o.settings.valueField]);
1957
- A(n, { "data-value": r }), e === "item" ? (k(n, o.settings.itemClass), A(n, { "data-ts-item": "" })) : (k(n, o.settings.optionClass), A(n, {
1955
+ if (s = R(s), t === "option" || t === "option_create" ? e[o.settings.disabledField] ? w(s, { "aria-disabled": "true" }) : w(s, { "data-selectable": "" }) : t === "optgroup" && (n = e.group[o.settings.optgroupValueField], w(s, { "data-group": n }), e.group[o.settings.disabledField] && w(s, { "data-disabled": "" })), t === "option" || t === "item") {
1956
+ const r = et(e[o.settings.valueField]);
1957
+ w(s, { "data-value": r }), t === "item" ? (J(s, o.settings.itemClass), w(s, { "data-ts-item": "" })) : (J(s, o.settings.optionClass), w(s, {
1958
1958
  role: "option",
1959
- id: t.$id
1960
- }), t.$div = n, o.options[r] = t);
1959
+ id: e.$id
1960
+ }), e.$div = s, o.options[r] = e);
1961
1961
  }
1962
- return n;
1962
+ return s;
1963
1963
  }
1964
1964
  /**
1965
1965
  * Type guarded rendering
1966
1966
  *
1967
1967
  */
1968
- _render(e, t) {
1969
- const i = this.render(e, t);
1970
- if (i == null)
1968
+ _render(t, e) {
1969
+ const n = this.render(t, e);
1970
+ if (n == null)
1971
1971
  throw "HTMLElement expected";
1972
- return i;
1972
+ return n;
1973
1973
  }
1974
1974
  /**
1975
1975
  * Clears the render cache for a template. If
@@ -1978,25 +1978,25 @@ class F extends tt(et) {
1978
1978
  *
1979
1979
  */
1980
1980
  clearCache() {
1981
- I(this.options, (e) => {
1982
- e.$div && (e.$div.remove(), delete e.$div);
1981
+ G(this.options, (t) => {
1982
+ t.$div && (t.$div.remove(), delete t.$div);
1983
1983
  });
1984
1984
  }
1985
1985
  /**
1986
1986
  * Removes a value from item and option caches
1987
1987
  *
1988
1988
  */
1989
- uncacheValue(e) {
1990
- const t = this.getOption(e);
1991
- t && t.remove();
1989
+ uncacheValue(t) {
1990
+ const e = this.getOption(t);
1991
+ e && e.remove();
1992
1992
  }
1993
1993
  /**
1994
1994
  * Determines whether or not to display the
1995
1995
  * create item prompt, given a user input.
1996
1996
  *
1997
1997
  */
1998
- canCreate(e) {
1999
- return this.settings.create && e.length > 0 && this.settings.createFilter.call(this, e);
1998
+ canCreate(t) {
1999
+ return this.settings.create && t.length > 0 && this.settings.createFilter.call(this, t);
2000
2000
  }
2001
2001
  /**
2002
2002
  * Wraps this.`method` so that `new_fn` can be invoked 'before', 'after', or 'instead' of the original method
@@ -2005,551 +2005,559 @@ class F extends tt(et) {
2005
2005
  *
2006
2006
  * });
2007
2007
  */
2008
- hook(e, t, i) {
2009
- var n = this, o = n[t];
2010
- n[t] = function() {
2008
+ hook(t, e, n) {
2009
+ var s = this, o = s[e];
2010
+ s[e] = function() {
2011
2011
  var r, l;
2012
- return e === "after" && (r = o.apply(n, arguments)), l = i.apply(n, arguments), e === "instead" ? l : (e === "before" && (r = o.apply(n, arguments)), r);
2012
+ return t === "after" && (r = o.apply(s, arguments)), l = n.apply(s, arguments), t === "instead" ? l : (t === "before" && (r = o.apply(s, arguments)), r);
2013
2013
  };
2014
2014
  }
2015
2015
  }
2016
- const Vt = (s, e, t, i) => {
2017
- s.addEventListener(e, t, i);
2016
+ const Ve = (i, t, e, n) => {
2017
+ i.addEventListener(t, e, n);
2018
2018
  };
2019
- function Nt() {
2020
- Vt(this.input, "change", () => {
2019
+ function ze() {
2020
+ Ve(this.input, "change", () => {
2021
2021
  this.sync();
2022
2022
  });
2023
2023
  }
2024
- const Kt = (s) => typeof s > "u" || s === null ? null : Rt(s), Rt = (s) => typeof s == "boolean" ? s ? "1" : "0" : s + "", Pe = (s, e = !1) => {
2025
- s && (s.preventDefault(), e && s.stopPropagation());
2026
- }, Bt = (s) => {
2027
- if (s.jquery)
2028
- return s[0];
2029
- if (s instanceof HTMLElement)
2030
- return s;
2031
- if (zt(s)) {
2032
- var e = document.createElement("template");
2033
- return e.innerHTML = s.trim(), e.content.firstChild;
2034
- }
2035
- return document.querySelector(s);
2036
- }, zt = (s) => typeof s == "string" && s.indexOf("<") > -1;
2037
- function jt(s) {
2038
- var e = this, t = e.onOptionSelect;
2039
- e.settings.hideSelected = !1;
2040
- const i = Object.assign({
2024
+ const ke = (i) => typeof i > "u" || i === null ? null : Fe(i), Fe = (i) => typeof i == "boolean" ? i ? "1" : "0" : i + "", Ht = (i, t = !1) => {
2025
+ i && (i.preventDefault(), t && i.stopPropagation());
2026
+ }, Se = (i) => {
2027
+ if (i.jquery)
2028
+ return i[0];
2029
+ if (i instanceof HTMLElement)
2030
+ return i;
2031
+ if (Ke(i)) {
2032
+ var t = document.createElement("template");
2033
+ return t.innerHTML = i.trim(), t.content.firstChild;
2034
+ }
2035
+ return document.querySelector(i);
2036
+ }, Ke = (i) => typeof i == "string" && i.indexOf("<") > -1;
2037
+ function xe(i) {
2038
+ var t = this, e = t.onOptionSelect;
2039
+ t.settings.hideSelected = !1;
2040
+ const n = Object.assign({
2041
2041
  // so that the user may add different ones as well
2042
2042
  className: "tomselect-checkbox",
2043
2043
  // the following default to the historic plugin's values
2044
2044
  checkedClassNames: void 0,
2045
2045
  uncheckedClassNames: void 0
2046
- }, s);
2047
- var n = function(l, c) {
2048
- c ? (l.checked = !0, i.uncheckedClassNames && l.classList.remove(...i.uncheckedClassNames), i.checkedClassNames && l.classList.add(...i.checkedClassNames)) : (l.checked = !1, i.checkedClassNames && l.classList.remove(...i.checkedClassNames), i.uncheckedClassNames && l.classList.add(...i.uncheckedClassNames));
2046
+ }, i);
2047
+ var s = function(l, a) {
2048
+ a ? (l.checked = !0, n.uncheckedClassNames && l.classList.remove(...n.uncheckedClassNames), n.checkedClassNames && l.classList.add(...n.checkedClassNames)) : (l.checked = !1, n.checkedClassNames && l.classList.remove(...n.checkedClassNames), n.uncheckedClassNames && l.classList.add(...n.uncheckedClassNames));
2049
2049
  }, o = function(l) {
2050
2050
  setTimeout(() => {
2051
- var c = l.querySelector("input." + i.className);
2052
- c instanceof HTMLInputElement && n(c, l.classList.contains("selected"));
2051
+ var a = l.querySelector("input." + n.className);
2052
+ a instanceof HTMLInputElement && s(a, l.classList.contains("selected"));
2053
2053
  }, 1);
2054
2054
  };
2055
- e.hook("after", "setupTemplates", () => {
2056
- var r = e.settings.render.option;
2057
- e.settings.render.option = (l, c) => {
2058
- var a = Bt(r.call(e, l, c)), u = document.createElement("input");
2059
- i.className && u.classList.add(i.className), u.addEventListener("click", function(p) {
2060
- Pe(p);
2061
- }), u.type = "checkbox";
2062
- const d = Kt(l[e.settings.valueField]);
2063
- return n(u, !!(d && e.items.indexOf(d) > -1)), a.prepend(u), a;
2055
+ t.hook("after", "setupTemplates", () => {
2056
+ var r = t.settings.render.option;
2057
+ t.settings.render.option = (l, a) => {
2058
+ var c = Se(r.call(t, l, a)), d = document.createElement("input");
2059
+ n.className && d.classList.add(n.className), d.addEventListener("click", function(p) {
2060
+ Ht(p);
2061
+ }), d.type = "checkbox";
2062
+ const u = ke(l[t.settings.valueField]);
2063
+ return s(d, !!(u && t.items.indexOf(u) > -1)), c.prepend(d), c;
2064
2064
  };
2065
- }), e.on("item_remove", (r) => {
2066
- var l = e.getOption(r);
2065
+ }), t.on("item_remove", (r) => {
2066
+ var l = t.getOption(r);
2067
2067
  l && (l.classList.remove("selected"), o(l));
2068
- }), e.on("item_add", (r) => {
2069
- var l = e.getOption(r);
2068
+ }), t.on("item_add", (r) => {
2069
+ var l = t.getOption(r);
2070
2070
  l && o(l);
2071
- }), e.hook("instead", "onOptionSelect", (r, l) => {
2071
+ }), t.hook("instead", "onOptionSelect", (r, l) => {
2072
2072
  if (l.classList.contains("selected")) {
2073
- l.classList.remove("selected"), e.removeItem(l.dataset.value), e.refreshOptions(), Pe(r, !0);
2073
+ l.classList.remove("selected"), t.removeItem(l.dataset.value), t.refreshOptions(), Ht(r, !0);
2074
2074
  return;
2075
2075
  }
2076
- t.call(e, r, l), o(l);
2076
+ e.call(t, r, l), o(l);
2077
2077
  });
2078
2078
  }
2079
- const Yt = (s) => {
2080
- if (s.jquery)
2081
- return s[0];
2082
- if (s instanceof HTMLElement)
2083
- return s;
2084
- if (Qt(s)) {
2085
- var e = document.createElement("template");
2086
- return e.innerHTML = s.trim(), e.content.firstChild;
2087
- }
2088
- return document.querySelector(s);
2089
- }, Qt = (s) => typeof s == "string" && s.indexOf("<") > -1;
2090
- function Ut(s) {
2091
- const e = this, t = Object.assign({
2079
+ const De = (i) => {
2080
+ if (i.jquery)
2081
+ return i[0];
2082
+ if (i instanceof HTMLElement)
2083
+ return i;
2084
+ if (_e(i)) {
2085
+ var t = document.createElement("template");
2086
+ return t.innerHTML = i.trim(), t.content.firstChild;
2087
+ }
2088
+ return document.querySelector(i);
2089
+ }, _e = (i) => typeof i == "string" && i.indexOf("<") > -1;
2090
+ function je(i) {
2091
+ const t = this, e = Object.assign({
2092
2092
  className: "clear-button",
2093
2093
  title: "Clear All",
2094
- html: (i) => `<div class="${i.className}" title="${i.title}">&#10799;</div>`
2095
- }, s);
2096
- e.on("initialize", () => {
2097
- var i = Yt(t.html(t));
2098
- i.addEventListener("click", (n) => {
2099
- e.isLocked || (e.clear(), e.settings.mode === "single" && e.settings.allowEmptyOption && e.addItem(""), n.preventDefault(), n.stopPropagation());
2100
- }), e.control.appendChild(i);
2094
+ html: (n) => `<div class="${n.className}" title="${n.title}">&#10799;</div>`
2095
+ }, i);
2096
+ t.on("initialize", () => {
2097
+ var n = De(e.html(e));
2098
+ n.addEventListener("click", (s) => {
2099
+ t.isLocked || (t.clear(), t.settings.mode === "single" && t.settings.allowEmptyOption && t.addItem(""), s.preventDefault(), s.stopPropagation());
2100
+ }), t.control.appendChild(n);
2101
2101
  });
2102
2102
  }
2103
- const Gt = (s, e = !1) => {
2104
- s && (s.preventDefault(), e && s.stopPropagation());
2105
- }, Y = (s, e, t, i) => {
2106
- s.addEventListener(e, t, i);
2107
- }, qt = (s, e) => {
2108
- if (Array.isArray(s))
2109
- s.forEach(e);
2103
+ const Te = (i, t = !1) => {
2104
+ i && (i.preventDefault(), t && i.stopPropagation());
2105
+ }, x = (i, t, e, n) => {
2106
+ i.addEventListener(t, e, n);
2107
+ }, Qe = (i, t) => {
2108
+ if (Array.isArray(i))
2109
+ i.forEach(t);
2110
2110
  else
2111
- for (var t in s)
2112
- s.hasOwnProperty(t) && e(s[t], t);
2113
- }, Jt = (s) => {
2114
- if (s.jquery)
2115
- return s[0];
2116
- if (s instanceof HTMLElement)
2117
- return s;
2118
- if (Wt(s)) {
2119
- var e = document.createElement("template");
2120
- return e.innerHTML = s.trim(), e.content.firstChild;
2121
- }
2122
- return document.querySelector(s);
2123
- }, Wt = (s) => typeof s == "string" && s.indexOf("<") > -1, Xt = (s, e) => {
2124
- qt(e, (t, i) => {
2125
- t == null ? s.removeAttribute(i) : s.setAttribute(i, "" + t);
2111
+ for (var e in i)
2112
+ i.hasOwnProperty(e) && t(i[e], e);
2113
+ }, Ee = (i) => {
2114
+ if (i.jquery)
2115
+ return i[0];
2116
+ if (i instanceof HTMLElement)
2117
+ return i;
2118
+ if (Ue(i)) {
2119
+ var t = document.createElement("template");
2120
+ return t.innerHTML = i.trim(), t.content.firstChild;
2121
+ }
2122
+ return document.querySelector(i);
2123
+ }, Ue = (i) => typeof i == "string" && i.indexOf("<") > -1, $e = (i, t) => {
2124
+ Qe(t, (e, n) => {
2125
+ e == null ? i.removeAttribute(n) : i.setAttribute(n, "" + e);
2126
2126
  });
2127
- }, Zt = (s, e) => {
2128
- var t;
2129
- (t = s.parentNode) == null || t.insertBefore(e, s.nextSibling);
2130
- }, es = (s, e) => {
2131
- var t;
2132
- (t = s.parentNode) == null || t.insertBefore(e, s);
2133
- }, ts = (s, e) => {
2127
+ }, Pe = (i, t) => {
2128
+ var e;
2129
+ (e = i.parentNode) == null || e.insertBefore(t, i.nextSibling);
2130
+ }, qe = (i, t) => {
2131
+ var e;
2132
+ (e = i.parentNode) == null || e.insertBefore(t, i);
2133
+ }, ti = (i, t) => {
2134
2134
  do {
2135
- var t;
2136
- if (e = (t = e) == null ? void 0 : t.previousElementSibling, s == e)
2135
+ var e;
2136
+ if (t = (e = t) == null ? void 0 : e.previousElementSibling, i == t)
2137
2137
  return !0;
2138
- } while (e && e.previousElementSibling);
2138
+ } while (t && t.previousElementSibling);
2139
2139
  return !1;
2140
2140
  };
2141
- function ss() {
2142
- var s = this;
2143
- if (s.settings.mode !== "multi") return;
2144
- var e = s.lock, t = s.unlock;
2145
- let i = !0, n;
2146
- s.hook("after", "setupTemplates", () => {
2147
- var o = s.settings.render.item;
2148
- s.settings.render.item = (r, l) => {
2149
- const c = Jt(o.call(s, r, l));
2150
- Xt(c, {
2141
+ function ei() {
2142
+ var i = this;
2143
+ if (i.settings.mode !== "multi") return;
2144
+ var t = i.lock, e = i.unlock;
2145
+ let n = !0, s;
2146
+ i.hook("after", "setupTemplates", () => {
2147
+ var o = i.settings.render.item;
2148
+ i.settings.render.item = (r, l) => {
2149
+ const a = Ee(o.call(i, r, l));
2150
+ $e(a, {
2151
2151
  draggable: "true"
2152
2152
  });
2153
- const a = (v) => {
2154
- i || Gt(v), v.stopPropagation();
2155
- }, u = (v) => {
2156
- n = c, setTimeout(() => {
2157
- c.classList.add("ts-dragging");
2153
+ const c = (b) => {
2154
+ n || Te(b), b.stopPropagation();
2155
+ }, d = (b) => {
2156
+ s = a, setTimeout(() => {
2157
+ a.classList.add("ts-dragging");
2158
2158
  }, 0);
2159
- }, d = (v) => {
2160
- v.preventDefault(), c.classList.add("ts-drag-over"), w(c, n);
2159
+ }, u = (b) => {
2160
+ b.preventDefault(), a.classList.add("ts-drag-over"), y(a, s);
2161
2161
  }, p = () => {
2162
- c.classList.remove("ts-drag-over");
2163
- }, w = (v, b) => {
2164
- b !== void 0 && (ts(b, c) ? Zt(v, b) : es(v, b));
2165
- }, f = () => {
2166
- var v;
2167
- document.querySelectorAll(".ts-drag-over").forEach((y) => y.classList.remove("ts-drag-over")), (v = n) == null || v.classList.remove("ts-dragging"), n = void 0;
2168
- var b = [];
2169
- s.control.querySelectorAll("[data-value]").forEach((y) => {
2170
- if (y.dataset.value) {
2171
- let h = y.dataset.value;
2172
- h && b.push(h);
2162
+ a.classList.remove("ts-drag-over");
2163
+ }, y = (b, Z) => {
2164
+ Z !== void 0 && (ti(Z, a) ? Pe(b, Z) : qe(b, Z));
2165
+ }, g = () => {
2166
+ var b;
2167
+ document.querySelectorAll(".ts-drag-over").forEach((I) => I.classList.remove("ts-drag-over")), (b = s) == null || b.classList.remove("ts-dragging"), s = void 0;
2168
+ var Z = [];
2169
+ i.control.querySelectorAll("[data-value]").forEach((I) => {
2170
+ if (I.dataset.value) {
2171
+ let h = I.dataset.value;
2172
+ h && Z.push(h);
2173
2173
  }
2174
- }), s.setValue(b);
2174
+ }), i.setValue(Z);
2175
2175
  };
2176
- return Y(c, "mousedown", a), Y(c, "dragstart", u), Y(c, "dragenter", d), Y(c, "dragover", d), Y(c, "dragleave", p), Y(c, "dragend", f), c;
2176
+ return x(a, "mousedown", c), x(a, "dragstart", d), x(a, "dragenter", u), x(a, "dragover", u), x(a, "dragleave", p), x(a, "dragend", g), a;
2177
2177
  };
2178
- }), s.hook("instead", "lock", () => (i = !1, e.call(s))), s.hook("instead", "unlock", () => (i = !0, t.call(s)));
2178
+ }), i.hook("instead", "lock", () => (n = !1, t.call(i))), i.hook("instead", "unlock", () => (n = !0, e.call(i)));
2179
2179
  }
2180
- const is = (s, e = !1) => {
2181
- s && (s.preventDefault(), e && s.stopPropagation());
2182
- }, ns = (s) => {
2183
- if (s.jquery)
2184
- return s[0];
2185
- if (s instanceof HTMLElement)
2186
- return s;
2187
- if (rs(s)) {
2188
- var e = document.createElement("template");
2189
- return e.innerHTML = s.trim(), e.content.firstChild;
2190
- }
2191
- return document.querySelector(s);
2192
- }, rs = (s) => typeof s == "string" && s.indexOf("<") > -1;
2193
- function os(s) {
2194
- const e = this, t = Object.assign({
2180
+ const ii = (i, t = !1) => {
2181
+ i && (i.preventDefault(), t && i.stopPropagation());
2182
+ }, ni = (i) => {
2183
+ if (i.jquery)
2184
+ return i[0];
2185
+ if (i instanceof HTMLElement)
2186
+ return i;
2187
+ if (si(i)) {
2188
+ var t = document.createElement("template");
2189
+ return t.innerHTML = i.trim(), t.content.firstChild;
2190
+ }
2191
+ return document.querySelector(i);
2192
+ }, si = (i) => typeof i == "string" && i.indexOf("<") > -1;
2193
+ function ri(i) {
2194
+ const t = this, e = Object.assign({
2195
2195
  title: "Untitled",
2196
2196
  headerClass: "dropdown-header",
2197
2197
  titleRowClass: "dropdown-header-title",
2198
2198
  labelClass: "dropdown-header-label",
2199
2199
  closeClass: "dropdown-header-close",
2200
- html: (i) => '<div class="' + i.headerClass + '"><div class="' + i.titleRowClass + '"><span class="' + i.labelClass + '">' + i.title + '</span><a class="' + i.closeClass + '">&times;</a></div></div>'
2201
- }, s);
2202
- e.on("initialize", () => {
2203
- var i = ns(t.html(t)), n = i.querySelector("." + t.closeClass);
2204
- n && n.addEventListener("click", (o) => {
2205
- is(o, !0), e.close();
2206
- }), e.dropdown.insertBefore(i, e.dropdown.firstChild);
2200
+ html: (n) => '<div class="' + n.headerClass + '"><div class="' + n.titleRowClass + '"><span class="' + n.labelClass + '">' + n.title + '</span><a class="' + n.closeClass + '">&times;</a></div></div>'
2201
+ }, i);
2202
+ t.on("initialize", () => {
2203
+ var n = ni(e.html(e)), s = n.querySelector("." + e.closeClass);
2204
+ s && s.addEventListener("click", (o) => {
2205
+ ii(o, !0), t.close();
2206
+ }), t.dropdown.insertBefore(n, t.dropdown.firstChild);
2207
2207
  });
2208
2208
  }
2209
- const ls = (s, e) => {
2210
- if (Array.isArray(s))
2211
- s.forEach(e);
2209
+ const oi = (i, t) => {
2210
+ if (Array.isArray(i))
2211
+ i.forEach(t);
2212
2212
  else
2213
- for (var t in s)
2214
- s.hasOwnProperty(t) && e(s[t], t);
2215
- }, as = (s, ...e) => {
2216
- var t = cs(e);
2217
- s = us(s), s.map((i) => {
2218
- t.map((n) => {
2219
- i.classList.remove(n);
2213
+ for (var e in i)
2214
+ i.hasOwnProperty(e) && t(i[e], e);
2215
+ }, li = (i, ...t) => {
2216
+ var e = ci(t);
2217
+ i = ai(i), i.map((n) => {
2218
+ e.map((s) => {
2219
+ n.classList.remove(s);
2220
2220
  });
2221
2221
  });
2222
- }, cs = (s) => {
2223
- var e = [];
2224
- return ls(s, (t) => {
2225
- typeof t == "string" && (t = t.trim().split(/[\t\n\f\r\s]/)), Array.isArray(t) && (e = e.concat(t));
2226
- }), e.filter(Boolean);
2227
- }, us = (s) => (Array.isArray(s) || (s = [s]), s), ds = (s, e) => {
2228
- if (!s) return -1;
2229
- e = e || s.nodeName;
2230
- for (var t = 0; s = s.previousElementSibling; )
2231
- s.matches(e) && t++;
2232
- return t;
2222
+ }, ci = (i) => {
2223
+ var t = [];
2224
+ return oi(i, (e) => {
2225
+ typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
2226
+ }), t.filter(Boolean);
2227
+ }, ai = (i) => (Array.isArray(i) || (i = [i]), i), di = (i, t) => {
2228
+ if (!i) return -1;
2229
+ t = t || i.nodeName;
2230
+ for (var e = 0; i = i.previousElementSibling; )
2231
+ i.matches(t) && e++;
2232
+ return e;
2233
2233
  };
2234
- function fs() {
2235
- var s = this;
2236
- s.hook("instead", "setCaret", (e) => {
2237
- s.settings.mode === "single" || !s.control.contains(s.control_input) ? e = s.items.length : (e = Math.max(0, Math.min(s.items.length, e)), e != s.caretPos && !s.isPending && s.controlChildren().forEach((t, i) => {
2238
- i < e ? s.control_input.insertAdjacentElement("beforebegin", t) : s.control.appendChild(t);
2239
- })), s.caretPos = e;
2240
- }), s.hook("instead", "moveCaret", (e) => {
2241
- if (!s.isFocused) return;
2242
- const t = s.getLastActive(e);
2243
- if (t) {
2244
- const i = ds(t);
2245
- s.setCaret(e > 0 ? i + 1 : i), s.setActiveItem(), as(t, "last-active");
2234
+ function ui() {
2235
+ var i = this;
2236
+ i.hook("instead", "setCaret", (t) => {
2237
+ i.settings.mode === "single" || !i.control.contains(i.control_input) ? t = i.items.length : (t = Math.max(0, Math.min(i.items.length, t)), t != i.caretPos && !i.isPending && i.controlChildren().forEach((e, n) => {
2238
+ n < t ? i.control_input.insertAdjacentElement("beforebegin", e) : i.control.appendChild(e);
2239
+ })), i.caretPos = t;
2240
+ }), i.hook("instead", "moveCaret", (t) => {
2241
+ if (!i.isFocused) return;
2242
+ const e = i.getLastActive(t);
2243
+ if (e) {
2244
+ const n = di(e);
2245
+ i.setCaret(t > 0 ? n + 1 : n), i.setActiveItem(), li(e, "last-active");
2246
2246
  } else
2247
- s.setCaret(s.caretPos + e);
2247
+ i.setCaret(i.caretPos + t);
2248
2248
  });
2249
2249
  }
2250
- const ps = 27, hs = 9, gs = (s, e = !1) => {
2251
- s && (s.preventDefault(), e && s.stopPropagation());
2252
- }, ms = (s, e, t, i) => {
2253
- s.addEventListener(e, t, i);
2254
- }, vs = (s, e) => {
2255
- if (Array.isArray(s))
2256
- s.forEach(e);
2250
+ const gi = 27, pi = 9, hi = (i, t = !1) => {
2251
+ i && (i.preventDefault(), t && i.stopPropagation());
2252
+ }, mi = (i, t, e, n) => {
2253
+ i.addEventListener(t, e, n);
2254
+ }, fi = (i, t) => {
2255
+ if (Array.isArray(i))
2256
+ i.forEach(t);
2257
2257
  else
2258
- for (var t in s)
2259
- s.hasOwnProperty(t) && e(s[t], t);
2260
- }, De = (s) => {
2261
- if (s.jquery)
2262
- return s[0];
2263
- if (s instanceof HTMLElement)
2264
- return s;
2265
- if (_s(s)) {
2266
- var e = document.createElement("template");
2267
- return e.innerHTML = s.trim(), e.content.firstChild;
2268
- }
2269
- return document.querySelector(s);
2270
- }, _s = (s) => typeof s == "string" && s.indexOf("<") > -1, ys = (s, ...e) => {
2271
- var t = Os(e);
2272
- s = ws(s), s.map((i) => {
2273
- t.map((n) => {
2274
- i.classList.add(n);
2258
+ for (var e in i)
2259
+ i.hasOwnProperty(e) && t(i[e], e);
2260
+ }, Mt = (i) => {
2261
+ if (i.jquery)
2262
+ return i[0];
2263
+ if (i instanceof HTMLElement)
2264
+ return i;
2265
+ if (bi(i)) {
2266
+ var t = document.createElement("template");
2267
+ return t.innerHTML = i.trim(), t.content.firstChild;
2268
+ }
2269
+ return document.querySelector(i);
2270
+ }, bi = (i) => typeof i == "string" && i.indexOf("<") > -1, vi = (i, ...t) => {
2271
+ var e = Ii(t);
2272
+ i = Ci(i), i.map((n) => {
2273
+ e.map((s) => {
2274
+ n.classList.add(s);
2275
2275
  });
2276
2276
  });
2277
- }, Os = (s) => {
2278
- var e = [];
2279
- return vs(s, (t) => {
2280
- typeof t == "string" && (t = t.trim().split(/[\t\n\f\r\s]/)), Array.isArray(t) && (e = e.concat(t));
2281
- }), e.filter(Boolean);
2282
- }, ws = (s) => (Array.isArray(s) || (s = [s]), s);
2283
- function bs() {
2284
- const s = this;
2285
- s.settings.shouldOpen = !0, s.hook("before", "setup", () => {
2286
- s.focus_node = s.control, ys(s.control_input, "dropdown-input");
2287
- const e = De('<div class="dropdown-input-wrap">');
2288
- e.append(s.control_input), s.dropdown.insertBefore(e, s.dropdown.firstChild);
2289
- const t = De('<input class="items-placeholder" tabindex="-1" />');
2290
- t.placeholder = s.settings.placeholder || "", s.control.append(t);
2291
- }), s.on("initialize", () => {
2292
- s.control_input.addEventListener("keydown", (t) => {
2293
- switch (t.keyCode) {
2294
- case ps:
2295
- s.isOpen && (gs(t, !0), s.close()), s.clearActiveItems();
2277
+ }, Ii = (i) => {
2278
+ var t = [];
2279
+ return fi(i, (e) => {
2280
+ typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
2281
+ }), t.filter(Boolean);
2282
+ }, Ci = (i) => (Array.isArray(i) || (i = [i]), i);
2283
+ function yi() {
2284
+ const i = this;
2285
+ i.settings.shouldOpen = !0, i.hook("before", "setup", () => {
2286
+ i.focus_node = i.control, vi(i.control_input, "dropdown-input");
2287
+ const t = Mt('<div class="dropdown-input-wrap">');
2288
+ t.append(i.control_input), i.dropdown.insertBefore(t, i.dropdown.firstChild);
2289
+ const e = Mt('<input class="items-placeholder" tabindex="-1" />');
2290
+ e.placeholder = i.settings.placeholder || "", i.control.append(e);
2291
+ }), i.on("initialize", () => {
2292
+ i.control_input.addEventListener("keydown", (e) => {
2293
+ switch (e.keyCode) {
2294
+ case gi:
2295
+ i.isOpen && (hi(e, !0), i.close()), i.clearActiveItems();
2296
2296
  return;
2297
- case hs:
2298
- s.focus_node.tabIndex = -1;
2297
+ case pi:
2298
+ i.focus_node.tabIndex = -1;
2299
2299
  break;
2300
2300
  }
2301
- return s.onKeyDown.call(s, t);
2302
- }), s.on("blur", () => {
2303
- s.focus_node.tabIndex = s.isDisabled ? -1 : s.tabIndex;
2304
- }), s.on("dropdown_open", () => {
2305
- s.control_input.focus();
2301
+ return i.onKeyDown.call(i, e);
2302
+ }), i.on("blur", () => {
2303
+ i.focus_node.tabIndex = i.isDisabled ? -1 : i.tabIndex;
2304
+ }), i.on("dropdown_open", () => {
2305
+ i.control_input.focus();
2306
2306
  });
2307
- const e = s.onBlur;
2308
- s.hook("instead", "onBlur", (t) => {
2309
- if (!(t && t.relatedTarget == s.control_input))
2310
- return e.call(s);
2311
- }), ms(s.control_input, "blur", () => s.onBlur()), s.hook("before", "close", () => {
2312
- s.isOpen && s.focus_node.focus({
2307
+ const t = i.onBlur;
2308
+ i.hook("instead", "onBlur", (e) => {
2309
+ if (!(e && e.relatedTarget == i.control_input))
2310
+ return t.call(i);
2311
+ }), mi(i.control_input, "blur", () => i.onBlur()), i.hook("before", "close", () => {
2312
+ i.isOpen && i.focus_node.focus({
2313
2313
  preventScroll: !0
2314
2314
  });
2315
2315
  });
2316
2316
  });
2317
2317
  }
2318
- const te = (s, e, t, i) => {
2319
- s.addEventListener(e, t, i);
2318
+ const tt = (i, t, e, n) => {
2319
+ i.addEventListener(t, e, n);
2320
2320
  };
2321
- function As() {
2322
- var s = this;
2323
- s.on("initialize", () => {
2324
- var e = document.createElement("span"), t = s.control_input;
2325
- e.style.cssText = "position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; ", s.wrapper.appendChild(e);
2326
- var i = ["letterSpacing", "fontSize", "fontFamily", "fontWeight", "textTransform"];
2327
- for (const o of i)
2328
- e.style[o] = t.style[o];
2329
- var n = () => {
2330
- e.textContent = t.value, t.style.width = e.clientWidth + "px";
2321
+ function Zi() {
2322
+ var i = this;
2323
+ i.on("initialize", () => {
2324
+ var t = document.createElement("span"), e = i.control_input;
2325
+ t.style.cssText = "position:absolute; top:-99999px; left:-99999px; width:auto; padding:0; white-space:pre; ", i.wrapper.appendChild(t);
2326
+ var n = ["letterSpacing", "fontSize", "fontFamily", "fontWeight", "textTransform"];
2327
+ for (const o of n)
2328
+ t.style[o] = e.style[o];
2329
+ var s = () => {
2330
+ t.textContent = e.value, e.style.width = t.clientWidth + "px";
2331
2331
  };
2332
- n(), s.on("update item_add item_remove", n), te(t, "input", n), te(t, "keyup", n), te(t, "blur", n), te(t, "update", n);
2332
+ s(), i.on("update item_add item_remove", s), tt(e, "input", s), tt(e, "keyup", s), tt(e, "blur", s), tt(e, "update", s);
2333
2333
  });
2334
2334
  }
2335
- function Ss() {
2336
- var s = this, e = s.deleteSelection;
2337
- this.hook("instead", "deleteSelection", (t) => s.activeItems.length ? e.call(s, t) : !1);
2335
+ function wi() {
2336
+ var i = this, t = i.deleteSelection;
2337
+ this.hook("instead", "deleteSelection", (e) => i.activeItems.length ? t.call(i, e) : !1);
2338
2338
  }
2339
- function Cs() {
2339
+ function Li() {
2340
2340
  this.hook("instead", "setActiveItem", () => {
2341
2341
  }), this.hook("instead", "selectAll", () => {
2342
2342
  });
2343
2343
  }
2344
- const He = 37, xs = 39, Is = (s, e, t) => {
2345
- for (; s && s.matches; ) {
2346
- if (s.matches(e))
2347
- return s;
2348
- s = s.parentNode;
2349
- }
2350
- }, Es = (s, e) => {
2351
- if (!s) return -1;
2352
- e = e || s.nodeName;
2353
- for (var t = 0; s = s.previousElementSibling; )
2354
- s.matches(e) && t++;
2355
- return t;
2344
+ const Rt = 37, Wi = 39, Gi = (i, t, e) => {
2345
+ for (; i && i.matches; ) {
2346
+ if (i.matches(t))
2347
+ return i;
2348
+ i = i.parentNode;
2349
+ }
2350
+ }, Ai = (i, t) => {
2351
+ if (!i) return -1;
2352
+ t = t || i.nodeName;
2353
+ for (var e = 0; i = i.previousElementSibling; )
2354
+ i.matches(t) && e++;
2355
+ return e;
2356
2356
  };
2357
- function Ls() {
2358
- var s = this, e = s.onKeyDown;
2359
- s.hook("instead", "onKeyDown", (t) => {
2360
- var i, n, o, r;
2361
- if (!s.isOpen || !(t.keyCode === He || t.keyCode === xs))
2362
- return e.call(s, t);
2363
- s.ignoreHover = !0, r = Is(s.activeOption, "[data-group]"), i = Es(s.activeOption, "[data-selectable]"), r && (t.keyCode === He ? r = r.previousSibling : r = r.nextSibling, r && (o = r.querySelectorAll("[data-selectable]"), n = o[Math.min(o.length - 1, i)], n && s.setActiveOption(n)));
2357
+ function Bi() {
2358
+ var i = this, t = i.onKeyDown;
2359
+ i.hook("instead", "onKeyDown", (e) => {
2360
+ var n, s, o, r;
2361
+ if (!i.isOpen || !(e.keyCode === Rt || e.keyCode === Wi))
2362
+ return t.call(i, e);
2363
+ i.ignoreHover = !0, r = Gi(i.activeOption, "[data-group]"), n = Ai(i.activeOption, "[data-selectable]"), r && (e.keyCode === Rt ? r = r.previousSibling : r = r.nextSibling, r && (o = r.querySelectorAll("[data-selectable]"), s = o[Math.min(o.length - 1, n)], s && i.setActiveOption(s)));
2364
2364
  });
2365
2365
  }
2366
- const Fs = (s) => (s + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), Me = (s, e = !1) => {
2367
- s && (s.preventDefault(), e && s.stopPropagation());
2368
- }, Ve = (s, e, t, i) => {
2369
- s.addEventListener(e, t, i);
2370
- }, Ne = (s) => {
2371
- if (s.jquery)
2372
- return s[0];
2373
- if (s instanceof HTMLElement)
2374
- return s;
2375
- if (ks(s)) {
2376
- var e = document.createElement("template");
2377
- return e.innerHTML = s.trim(), e.content.firstChild;
2378
- }
2379
- return document.querySelector(s);
2380
- }, ks = (s) => typeof s == "string" && s.indexOf("<") > -1;
2381
- function $s(s) {
2382
- const e = Object.assign({
2366
+ const Xi = (i) => (i + "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), Nt = (i, t = !1) => {
2367
+ i && (i.preventDefault(), t && i.stopPropagation());
2368
+ }, Vt = (i, t, e, n) => {
2369
+ i.addEventListener(t, e, n);
2370
+ }, zt = (i) => {
2371
+ if (i.jquery)
2372
+ return i[0];
2373
+ if (i instanceof HTMLElement)
2374
+ return i;
2375
+ if (Yi(i)) {
2376
+ var t = document.createElement("template");
2377
+ return t.innerHTML = i.trim(), t.content.firstChild;
2378
+ }
2379
+ return document.querySelector(i);
2380
+ }, Yi = (i) => typeof i == "string" && i.indexOf("<") > -1;
2381
+ function Ji(i) {
2382
+ const t = Object.assign({
2383
2383
  label: "&times;",
2384
2384
  title: "Remove",
2385
2385
  className: "remove",
2386
2386
  append: !0
2387
- }, s);
2388
- var t = this;
2389
- if (e.append) {
2390
- var i = '<a href="javascript:void(0)" class="' + e.className + '" tabindex="-1" title="' + Fs(e.title) + '">' + e.label + "</a>";
2391
- t.hook("after", "setupTemplates", () => {
2392
- var n = t.settings.render.item;
2393
- t.settings.render.item = (o, r) => {
2394
- var l = Ne(n.call(t, o, r)), c = Ne(i);
2395
- return l.appendChild(c), Ve(c, "mousedown", (a) => {
2396
- Me(a, !0);
2397
- }), Ve(c, "click", (a) => {
2398
- t.isLocked || (Me(a, !0), !t.isLocked && t.shouldDelete([l], a) && (t.removeItem(l), t.refreshOptions(!1), t.inputState()));
2387
+ }, i);
2388
+ var e = this;
2389
+ if (t.append) {
2390
+ var n = '<a href="javascript:void(0)" class="' + t.className + '" tabindex="-1" title="' + Xi(t.title) + '">' + t.label + "</a>";
2391
+ e.hook("after", "setupTemplates", () => {
2392
+ var s = e.settings.render.item;
2393
+ e.settings.render.item = (o, r) => {
2394
+ var l = zt(s.call(e, o, r)), a = zt(n);
2395
+ return l.appendChild(a), Vt(a, "mousedown", (c) => {
2396
+ Nt(c, !0);
2397
+ }), Vt(a, "click", (c) => {
2398
+ e.isLocked || (Nt(c, !0), !e.isLocked && e.shouldDelete([l], c) && (e.removeItem(l), e.refreshOptions(!1), e.inputState()));
2399
2399
  }), l;
2400
2400
  };
2401
2401
  });
2402
2402
  }
2403
2403
  }
2404
- function Ts(s) {
2405
- const e = this, t = Object.assign({
2406
- text: (i) => i[e.settings.labelField]
2407
- }, s);
2408
- e.on("item_remove", function(i) {
2409
- if (e.isFocused && e.control_input.value.trim() === "") {
2410
- var n = e.options[i];
2411
- n && e.setTextboxValue(t.text.call(e, n));
2404
+ function Oi(i) {
2405
+ const t = this, e = Object.assign({
2406
+ text: (n) => n[t.settings.labelField]
2407
+ }, i);
2408
+ t.on("item_remove", function(n) {
2409
+ if (t.isFocused && t.control_input.value.trim() === "") {
2410
+ var s = t.options[n];
2411
+ s && t.setTextboxValue(e.text.call(t, s));
2412
2412
  }
2413
2413
  });
2414
2414
  }
2415
- const Ps = (s, e) => {
2416
- if (Array.isArray(s))
2417
- s.forEach(e);
2415
+ const Hi = (i, t) => {
2416
+ if (Array.isArray(i))
2417
+ i.forEach(t);
2418
2418
  else
2419
- for (var t in s)
2420
- s.hasOwnProperty(t) && e(s[t], t);
2421
- }, Ds = (s, ...e) => {
2422
- var t = Hs(e);
2423
- s = Ms(s), s.map((i) => {
2424
- t.map((n) => {
2425
- i.classList.add(n);
2419
+ for (var e in i)
2420
+ i.hasOwnProperty(e) && t(i[e], e);
2421
+ }, Mi = (i, ...t) => {
2422
+ var e = Ri(t);
2423
+ i = Ni(i), i.map((n) => {
2424
+ e.map((s) => {
2425
+ n.classList.add(s);
2426
2426
  });
2427
2427
  });
2428
- }, Hs = (s) => {
2429
- var e = [];
2430
- return Ps(s, (t) => {
2431
- typeof t == "string" && (t = t.trim().split(/[\t\n\f\r\s]/)), Array.isArray(t) && (e = e.concat(t));
2432
- }), e.filter(Boolean);
2433
- }, Ms = (s) => (Array.isArray(s) || (s = [s]), s);
2434
- function Vs() {
2435
- const s = this, e = s.canLoad, t = s.clearActiveOption, i = s.loadCallback;
2436
- var n = {}, o, r = !1, l, c = [];
2437
- if (s.settings.shouldLoadMore || (s.settings.shouldLoadMore = () => {
2428
+ }, Ri = (i) => {
2429
+ var t = [];
2430
+ return Hi(i, (e) => {
2431
+ typeof e == "string" && (e = e.trim().split(/[\t\n\f\r\s]/)), Array.isArray(e) && (t = t.concat(e));
2432
+ }), t.filter(Boolean);
2433
+ }, Ni = (i) => (Array.isArray(i) || (i = [i]), i);
2434
+ function Vi() {
2435
+ const i = this, t = i.canLoad, e = i.clearActiveOption, n = i.loadCallback;
2436
+ var s = {}, o, r = !1, l, a = [];
2437
+ if (i.settings.shouldLoadMore || (i.settings.shouldLoadMore = () => {
2438
2438
  if (o.clientHeight / (o.scrollHeight - o.scrollTop) > 0.9)
2439
2439
  return !0;
2440
- if (s.activeOption) {
2441
- var p = s.selectable(), w = Array.from(p).indexOf(s.activeOption);
2442
- if (w >= p.length - 2)
2440
+ if (i.activeOption) {
2441
+ var p = i.selectable(), y = Array.from(p).indexOf(i.activeOption);
2442
+ if (y >= p.length - 2)
2443
2443
  return !0;
2444
2444
  }
2445
2445
  return !1;
2446
- }), !s.settings.firstUrl)
2446
+ }), !i.settings.firstUrl)
2447
2447
  throw "virtual_scroll plugin requires a firstUrl() method";
2448
- s.settings.sortField = [{
2448
+ i.settings.sortField = [{
2449
2449
  field: "$order"
2450
2450
  }, {
2451
2451
  field: "$score"
2452
2452
  }];
2453
- const a = (d) => typeof s.settings.maxOptions == "number" && o.children.length >= s.settings.maxOptions ? !1 : !!(d in n && n[d]), u = (d, p) => s.items.indexOf(p) >= 0 || c.indexOf(p) >= 0;
2454
- s.setNextUrl = (d, p) => {
2455
- n[d] = p;
2456
- }, s.getUrl = (d) => {
2457
- if (d in n) {
2458
- const p = n[d];
2459
- return n[d] = !1, p;
2453
+ const c = (u) => typeof i.settings.maxOptions == "number" && o.children.length >= i.settings.maxOptions ? !1 : !!(u in s && s[u]), d = (u, p) => i.items.indexOf(p) >= 0 || a.indexOf(p) >= 0;
2454
+ i.setNextUrl = (u, p) => {
2455
+ s[u] = p;
2456
+ }, i.getUrl = (u) => {
2457
+ if (u in s) {
2458
+ const p = s[u];
2459
+ return s[u] = !1, p;
2460
2460
  }
2461
- return s.clearPagination(), s.settings.firstUrl.call(s, d);
2462
- }, s.clearPagination = () => {
2463
- n = {};
2464
- }, s.hook("instead", "clearActiveOption", () => {
2461
+ return i.clearPagination(), i.settings.firstUrl.call(i, u);
2462
+ }, i.clearPagination = () => {
2463
+ s = {};
2464
+ }, i.hook("instead", "clearActiveOption", () => {
2465
2465
  if (!r)
2466
- return t.call(s);
2467
- }), s.hook("instead", "canLoad", (d) => d in n ? a(d) : e.call(s, d)), s.hook("instead", "loadCallback", (d, p) => {
2466
+ return e.call(i);
2467
+ }), i.hook("instead", "canLoad", (u) => u in s ? c(u) : t.call(i, u)), i.hook("instead", "loadCallback", (u, p) => {
2468
2468
  if (!r)
2469
- s.clearOptions(u);
2469
+ i.clearOptions(d);
2470
2470
  else if (l) {
2471
- const w = d[0];
2472
- w !== void 0 && (l.dataset.value = w[s.settings.valueField]);
2471
+ const y = u[0];
2472
+ y !== void 0 && (l.dataset.value = y[i.settings.valueField]);
2473
2473
  }
2474
- i.call(s, d, p), r = !1;
2475
- }), s.hook("after", "refreshOptions", () => {
2476
- const d = s.lastValue;
2474
+ n.call(i, u, p), r = !1;
2475
+ }), i.hook("after", "refreshOptions", () => {
2476
+ const u = i.lastValue;
2477
2477
  var p;
2478
- a(d) ? (p = s.render("loading_more", {
2479
- query: d
2480
- }), p && (p.setAttribute("data-selectable", ""), l = p)) : d in n && !o.querySelector(".no-results") && (p = s.render("no_more_results", {
2481
- query: d
2482
- })), p && (Ds(p, s.settings.optionClass), o.append(p));
2483
- }), s.on("initialize", () => {
2484
- c = Object.keys(s.options), o = s.dropdown_content, s.settings.render = Object.assign({}, {
2478
+ c(u) ? (p = i.render("loading_more", {
2479
+ query: u
2480
+ }), p && (p.setAttribute("data-selectable", ""), l = p)) : u in s && !o.querySelector(".no-results") && (p = i.render("no_more_results", {
2481
+ query: u
2482
+ })), p && (Mi(p, i.settings.optionClass), o.append(p));
2483
+ }), i.on("initialize", () => {
2484
+ a = Object.keys(i.options), o = i.dropdown_content, i.settings.render = Object.assign({}, {
2485
2485
  loading_more: () => '<div class="loading-more-results">Loading more results ... </div>',
2486
2486
  no_more_results: () => '<div class="no-more-results">No more results</div>'
2487
- }, s.settings.render), o.addEventListener("scroll", () => {
2488
- s.settings.shouldLoadMore.call(s) && a(s.lastValue) && (r || (r = !0, s.load.call(s, s.lastValue)));
2487
+ }, i.settings.render), o.addEventListener("scroll", () => {
2488
+ i.settings.shouldLoadMore.call(i) && c(i.lastValue) && (r || (r = !0, i.load.call(i, i.lastValue)));
2489
2489
  });
2490
2490
  });
2491
2491
  }
2492
- F.define("change_listener", Nt);
2493
- F.define("checkbox_options", jt);
2494
- F.define("clear_button", Ut);
2495
- F.define("drag_drop", ss);
2496
- F.define("dropdown_header", os);
2497
- F.define("caret_position", fs);
2498
- F.define("dropdown_input", bs);
2499
- F.define("input_autogrow", As);
2500
- F.define("no_backspace_delete", Ss);
2501
- F.define("no_active_items", Cs);
2502
- F.define("optgroup_columns", Ls);
2503
- F.define("remove_button", $s);
2504
- F.define("restore_on_backspace", Ts);
2505
- F.define("virtual_scroll", Vs);
2506
- const Ns = "/tom-select.bootstrap5.css";
2507
- var $, Q, z, V, U, oe, Ue;
2508
- const ye = class ye extends HTMLElement {
2492
+ X.define("change_listener", ze);
2493
+ X.define("checkbox_options", xe);
2494
+ X.define("clear_button", je);
2495
+ X.define("drag_drop", ei);
2496
+ X.define("dropdown_header", ri);
2497
+ X.define("caret_position", ui);
2498
+ X.define("dropdown_input", yi);
2499
+ X.define("input_autogrow", Zi);
2500
+ X.define("no_backspace_delete", wi);
2501
+ X.define("no_active_items", Li);
2502
+ X.define("optgroup_columns", Bi);
2503
+ X.define("remove_button", Ji);
2504
+ X.define("restore_on_backspace", Oi);
2505
+ X.define("virtual_scroll", Vi);
2506
+ const zi = new URL("data:text/css;base64,LyoqCiAqIFRvbSBTZWxlY3QgQm9vdHN0cmFwIDUKICovCi8qKgogKiB0b20tc2VsZWN0LmNzcyAodjIuNC4zKQogKiBDb3B5cmlnaHQgKGMpIGNvbnRyaWJ1dG9ycwogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMKICogZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CiAqIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyCiAqIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GCiAqIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZQogKiBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKi8KLnRzLWNvbnRyb2wgewogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvcik7CiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTsKICB3aWR0aDogMTAwJTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzKTsKICBkaXNwbGF5OiBmbGV4OwogIGZsZXgtd3JhcDogd3JhcDsKfQoudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgewogIHBhZGRpbmc6IGNhbGMoMC4zNzVyZW0gLSAxcHggLSAwKSAwLjc1cmVtIGNhbGMoMC4zNzVyZW0gLSAxcHggLSAzcHggLSAwKTsKfQouZnVsbCAudHMtY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7Cn0KLmRpc2FibGVkIC50cy1jb250cm9sLCAuZGlzYWJsZWQgLnRzLWNvbnRyb2wgKiB7CiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7Cn0KLmZvY3VzIC50cy1jb250cm9sIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci50cy1jb250cm9sID4gKiB7CiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKfQoudHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7CiAgY3Vyc29yOiBwb2ludGVyOwogIG1hcmdpbjogMCAzcHggM3B4IDA7CiAgcGFkZGluZzogMXB4IDVweDsKICBiYWNrZ3JvdW5kOiAjZWZlZmVmOwogIGNvbG9yOiAjMzQzYTQwOwogIGJvcmRlcjogMCBzb2xpZCAjZGVlMmU2Owp9Ci50cy13cmFwcGVyLm11bHRpIC50cy1jb250cm9sID4gZGl2LmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogIzBkNmVmZDsKICBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDAgc29saWQgcmdiYSgwLCAwLCAwLCAwKTsKfQoudHMtd3JhcHBlci5tdWx0aS5kaXNhYmxlZCAudHMtY29udHJvbCA+IGRpdiwgLnRzLXdyYXBwZXIubXVsdGkuZGlzYWJsZWQgLnRzLWNvbnRyb2wgPiBkaXYuYWN0aXZlIHsKICBjb2xvcjogcmdiKDEzNC41LCAxMzQuNSwgMTM0LjUpOwogIGJhY2tncm91bmQ6IHdoaXRlOwogIGJvcmRlcjogMCBzb2xpZCB3aGl0ZTsKfQoudHMtY29udHJvbCA+IGlucHV0IHsKICBmbGV4OiAxIDEgYXV0bzsKICBtaW4td2lkdGg6IDdyZW07CiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDsKICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7CiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgdGV4dC1pbmRlbnQ6IDAgIWltcG9ydGFudDsKICBib3JkZXI6IDAgbm9uZSAhaW1wb3J0YW50OwogIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKICBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50OwogIC13ZWJraXQtdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDsKICAgICAtbW96LXVzZXItc2VsZWN0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgIC1tcy11c2VyLXNlbGVjdDogYXV0byAhaW1wb3J0YW50OwogICAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDsKICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7Cn0KLnRzLWNvbnRyb2wgPiBpbnB1dDo6LW1zLWNsZWFyIHsKICBkaXNwbGF5OiBub25lOwp9Ci50cy1jb250cm9sID4gaW5wdXQ6Zm9jdXMgewogIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsKfQouaGFzLWl0ZW1zIC50cy1jb250cm9sID4gaW5wdXQgewogIG1hcmdpbjogMCA0cHggIWltcG9ydGFudDsKfQoudHMtY29udHJvbC5ydGwgewogIHRleHQtYWxpZ246IHJpZ2h0Owp9Ci50cy1jb250cm9sLnJ0bC5zaW5nbGUgLnRzLWNvbnRyb2w6YWZ0ZXIgewogIGxlZnQ6IGNhbGMoMC43NXJlbSArIDVweCk7CiAgcmlnaHQ6IGF1dG87Cn0KLnRzLWNvbnRyb2wucnRsIC50cy1jb250cm9sID4gaW5wdXQgewogIG1hcmdpbjogMCA0cHggMCAtMnB4ICFpbXBvcnRhbnQ7Cn0KLmRpc2FibGVkIC50cy1jb250cm9sIHsKICBvcGFjaXR5OiAwLjU7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtc2Vjb25kYXJ5LWJnKTsKfQouaW5wdXQtaGlkZGVuIC50cy1jb250cm9sID4gaW5wdXQgewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IC0xMDAwMHB4Owp9CgoudHMtZHJvcGRvd24gewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEwMCU7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAxMDsKICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOwogIGJhY2tncm91bmQ6IHZhcigtLWJzLWJvZHktYmcpOwogIG1hcmdpbjogMC4yNXJlbSAwIDA7CiAgYm9yZGVyLXRvcDogMCBub25lOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cyk7Cn0KLnRzLWRyb3Bkb3duIFtkYXRhLXNlbGVjdGFibGVdIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoudHMtZHJvcGRvd24gW2RhdGEtc2VsZWN0YWJsZV0gLmhpZ2hsaWdodCB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIzNywgNDAsIDAuNCk7CiAgYm9yZGVyLXJhZGl1czogMXB4Owp9Ci50cy1kcm9wZG93biAub3B0aW9uLAoudHMtZHJvcGRvd24gLm9wdGdyb3VwLWhlYWRlciwKLnRzLWRyb3Bkb3duIC5uby1yZXN1bHRzLAoudHMtZHJvcGRvd24gLmNyZWF0ZSB7CiAgcGFkZGluZzogM3B4IDAuNzVyZW07Cn0KLnRzLWRyb3Bkb3duIC5vcHRpb24sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0sIC50cy1kcm9wZG93biBbZGF0YS1kaXNhYmxlZF0gW2RhdGEtc2VsZWN0YWJsZV0ub3B0aW9uIHsKICBjdXJzb3I6IGluaGVyaXQ7CiAgb3BhY2l0eTogMC41Owp9Ci50cy1kcm9wZG93biBbZGF0YS1zZWxlY3RhYmxlXS5vcHRpb24gewogIG9wYWNpdHk6IDE7CiAgY3Vyc29yOiBwb2ludGVyOwp9Ci50cy1kcm9wZG93biAub3B0Z3JvdXA6Zmlyc3QtY2hpbGQgLm9wdGdyb3VwLWhlYWRlciB7CiAgYm9yZGVyLXRvcDogMCBub25lOwp9Ci50cy1kcm9wZG93biAub3B0Z3JvdXAtaGVhZGVyIHsKICBjb2xvcjogIzZjNzU3ZDsKICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ib2R5LWJnKTsKICBjdXJzb3I6IGRlZmF1bHQ7Cn0KLnRzLWRyb3Bkb3duIC5hY3RpdmUgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLXRlcnRpYXJ5LWJnKTsKICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7Cn0KLnRzLWRyb3Bkb3duIC5hY3RpdmUuY3JlYXRlIHsKICBjb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvcik7Cn0KLnRzLWRyb3Bkb3duIC5jcmVhdGUgewogIGNvbG9yOiByZ2JhKDUyLCA1OCwgNjQsIDAuNSk7Cn0KLnRzLWRyb3Bkb3duIC5zcGlubmVyIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDMwcHg7CiAgaGVpZ2h0OiAzMHB4OwogIG1hcmdpbjogM3B4IDAuNzVyZW07Cn0KLnRzLWRyb3Bkb3duIC5zcGlubmVyOjphZnRlciB7CiAgY29udGVudDogIiAiOwogIGRpc3BsYXk6IGJsb2NrOwogIHdpZHRoOiAyNHB4OwogIGhlaWdodDogMjRweDsKICBtYXJnaW46IDNweDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm9yZGVyOiA1cHggc29saWQgI2QwZDBkMDsKICBib3JkZXItY29sb3I6ICNkMGQwZDAgdHJhbnNwYXJlbnQgI2QwZDBkMCB0cmFuc3BhcmVudDsKICBhbmltYXRpb246IGxkcy1kdWFsLXJpbmcgMS4ycyBsaW5lYXIgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBsZHMtZHVhbC1yaW5nIHsKICAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsKICB9CiAgMTAwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQoKLnRzLWRyb3Bkb3duLWNvbnRlbnQgewogIG92ZXJmbG93OiBoaWRkZW4gYXV0bzsKICBtYXgtaGVpZ2h0OiAyMDBweDsKICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKfQoKLnRzLXdyYXBwZXIucGx1Z2luLWRyYWdfZHJvcCAudHMtZHJhZ2dpbmcgewogIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1kcmFnX2Ryb3AgLnRzLWRyYWdnaW5nID4gKiB7CiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KCi5wbHVnaW4tY2hlY2tib3hfb3B0aW9uczpub3QoLnJ0bCkgLm9wdGlvbiBpbnB1dCB7CiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07Cn0KCi5wbHVnaW4tY2hlY2tib3hfb3B0aW9ucy5ydGwgLm9wdGlvbiBpbnB1dCB7CiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsKfQoKLyogc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tbmFtZS1jYXNlICovCi5wbHVnaW4tY2xlYXJfYnV0dG9uIHsKICAtLXRzLXByLWNsZWFyLWJ1dHRvbjogMWVtOwp9Ci5wbHVnaW4tY2xlYXJfYnV0dG9uIC5jbGVhci1idXR0b24gewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICByaWdodDogY2FsYygwLjc1cmVtIC0gNXB4KTsKICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC41czsKICBjdXJzb3I6IHBvaW50ZXI7Cn0KLnBsdWdpbi1jbGVhcl9idXR0b24uZm9ybS1zZWxlY3QgLmNsZWFyLWJ1dHRvbiwgLnBsdWdpbi1jbGVhcl9idXR0b24uc2luZ2xlIC5jbGVhci1idXR0b24gewogIHJpZ2h0OiBtYXgodmFyKC0tdHMtcHItY2FyZXQpLCAwLjc1cmVtKTsKfQoucGx1Z2luLWNsZWFyX2J1dHRvbi5mb2N1cy5oYXMtaXRlbXMgLmNsZWFyLWJ1dHRvbiwgLnBsdWdpbi1jbGVhcl9idXR0b246bm90KC5kaXNhYmxlZCk6aG92ZXIuaGFzLWl0ZW1zIC5jbGVhci1idXR0b24gewogIG9wYWNpdHk6IDE7Cn0KCi50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nOiA2cHggMC43NXJlbTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMDsKICBiYWNrZ3JvdW5kOiBjb2xvci1taXgodmFyKC0tYnMtYm9keS1iZyksICNkMGQwZDAsIDg1JSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgdmFyKC0tYnMtYm9yZGVyLXJhZGl1cykgMCAwOwp9Ci50cy13cmFwcGVyIC5kcm9wZG93bi1oZWFkZXItY2xvc2UgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMC43NXJlbTsKICB0b3A6IDUwJTsKICBjb2xvcjogIzM0M2E0MDsKICBvcGFjaXR5OiAwLjQ7CiAgbWFyZ2luLXRvcDogLTEycHg7CiAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7Cn0KLnRzLXdyYXBwZXIgLmRyb3Bkb3duLWhlYWRlci1jbG9zZTpob3ZlciB7CiAgY29sb3I6IGJsYWNrOwp9CgoucGx1Z2luLWRyb3Bkb3duX2lucHV0LmZvY3VzLmRyb3Bkb3duLWFjdGl2ZSAudHMtY29udHJvbCB7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1icy1ib3JkZXItY29sb3IpOwogIGJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3ctaW5zZXQpOwp9Ci5wbHVnaW4tZHJvcGRvd25faW5wdXQgLmRyb3Bkb3duLWlucHV0IHsKICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwOwogIGJvcmRlci13aWR0aDogMCAwIDFweDsKICBkaXNwbGF5OiBibG9jazsKICBwYWRkaW5nOiAwLjM3NXJlbSAwLjc1cmVtOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgd2lkdGg6IDEwMCU7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cn0KLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5mb2N1cyAudHMtZHJvcGRvd24gLmRyb3Bkb3duLWlucHV0IHsKICBib3JkZXItY29sb3I6IHJnYigxMzQsIDE4Mi41LCAyNTQpOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7Cn0KLnBsdWdpbi1kcm9wZG93bl9pbnB1dCAuaXRlbXMtcGxhY2Vob2xkZXIgewogIGJvcmRlcjogMCBub25lICFpbXBvcnRhbnQ7CiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OwogIHdpZHRoOiAxMDAlOwp9Ci5wbHVnaW4tZHJvcGRvd25faW5wdXQuaGFzLWl0ZW1zIC5pdGVtcy1wbGFjZWhvbGRlciwgLnBsdWdpbi1kcm9wZG93bl9pbnB1dC5kcm9wZG93bi1hY3RpdmUgLml0ZW1zLXBsYWNlaG9sZGVyIHsKICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cn0KCi50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7CiAgbWluLXdpZHRoOiAwOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dCB7CiAgZmxleDogbm9uZTsKICBtaW4td2lkdGg6IDRweDsKfQoudHMtd3JhcHBlci5wbHVnaW4taW5wdXRfYXV0b2dyb3cuaGFzLWl0ZW1zLmZvY3VzIC50cy1jb250cm9sID4gaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7CiAgY29sb3I6IHRyYW5zcGFyZW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1pbnB1dF9hdXRvZ3Jvdy5oYXMtaXRlbXMuZm9jdXMgLnRzLWNvbnRyb2wgPiBpbnB1dDo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLnRzLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC50cy1kcm9wZG93bi1jb250ZW50IHsKICBkaXNwbGF5OiBmbGV4Owp9Ci50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXAgewogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMmYyZjI7CiAgYm9yZGVyLXRvcDogMCBub25lOwogIGZsZXgtZ3JvdzogMTsKICBmbGV4LWJhc2lzOiAwOwogIG1pbi13aWR0aDogMDsKfQoudHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwOmxhc3QtY2hpbGQgewogIGJvcmRlci1yaWdodDogMCBub25lOwp9Ci50cy1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXA6OmJlZm9yZSB7CiAgZGlzcGxheTogbm9uZTsKfQoudHMtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3VwLWhlYWRlciB7CiAgYm9yZGVyLXRvcDogMCBub25lOwp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlIHsKICBjb2xvcjogaW5oZXJpdDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogMCA1cHg7CiAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbiAuaXRlbSAucmVtb3ZlOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLmRpc2FibGVkIC5pdGVtIC5yZW1vdmU6aG92ZXIgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b24gLnJlbW92ZS1zaW5nbGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7CiAgZm9udC1zaXplOiAyM3B4Owp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0gewogIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkgLml0ZW0gLnJlbW92ZSB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGVlMmU2OwogIG1hcmdpbi1sZWZ0OiA1cHg7Cn0KLnRzLXdyYXBwZXIucGx1Z2luLXJlbW92ZV9idXR0b246bm90KC5ydGwpIC5pdGVtLmFjdGl2ZSAucmVtb3ZlIHsKICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsKfQoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbjpub3QoLnJ0bCkuZGlzYWJsZWQgLml0ZW0gLnJlbW92ZSB7CiAgYm9yZGVyLWxlZnQtY29sb3I6IHdoaXRlOwp9CgoudHMtd3JhcHBlci5wbHVnaW4tcmVtb3ZlX2J1dHRvbi5ydGwgLml0ZW0gewogIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbSAucmVtb3ZlIHsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGVlMmU2OwogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bCAuaXRlbS5hY3RpdmUgLnJlbW92ZSB7CiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOwp9Ci50cy13cmFwcGVyLnBsdWdpbi1yZW1vdmVfYnV0dG9uLnJ0bC5kaXNhYmxlZCAuaXRlbSAucmVtb3ZlIHsKICBib3JkZXItcmlnaHQtY29sb3I6IHdoaXRlOwp9Cgo6cm9vdCB7CiAgLS10cy1wci1jbGVhci1idXR0b246IDBweDsKICAtLXRzLXByLWNhcmV0OiAwcHg7CiAgLS10cy1wci1taW46IC43NXJlbTsKfQoKLnRzLXdyYXBwZXIuc2luZ2xlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5zaW5nbGUgLnRzLWNvbnRyb2wgaW5wdXQgewogIGN1cnNvcjogcG9pbnRlcjsKfQoKLnRzLWNvbnRyb2w6bm90KC5ydGwpIHsKICBwYWRkaW5nLXJpZ2h0OiBtYXgodmFyKC0tdHMtcHItbWluKSwgdmFyKC0tdHMtcHItY2xlYXItYnV0dG9uKSArIHZhcigtLXRzLXByLWNhcmV0KSkgIWltcG9ydGFudDsKfQoKLnRzLWNvbnRyb2wucnRsIHsKICBwYWRkaW5nLWxlZnQ6IG1heCh2YXIoLS10cy1wci1taW4pLCB2YXIoLS10cy1wci1jbGVhci1idXR0b24pICsgdmFyKC0tdHMtcHItY2FyZXQpKSAhaW1wb3J0YW50Owp9CgoudHMtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgoudHMtZHJvcGRvd24sCi50cy1jb250cm9sLAoudHMtY29udHJvbCBpbnB1dCB7CiAgY29sb3I6ICMzNDNhNDA7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgZm9udC1zaXplOiBpbmhlcml0OwogIGxpbmUtaGVpZ2h0OiAxLjU7Cn0KCi50cy1jb250cm9sLAoudHMtd3JhcHBlci5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1icy1ib2R5LWJnKTsKICBjdXJzb3I6IHRleHQ7Cn0KCi50cy1oaWRkZW4tYWNjZXNzaWJsZSB7CiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7CiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50OwogIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7CiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDsKICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50OwogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OwogIHdpZHRoOiAxcHggIWltcG9ydGFudDsKICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7Cn0KCi50cy1kcm9wZG93biwKLnRzLWRyb3Bkb3duLmZvcm0tY29udHJvbCwKLnRzLWRyb3Bkb3duLmZvcm0tc2VsZWN0IHsKICBoZWlnaHQ6IGF1dG87CiAgcGFkZGluZzogMDsKICB6LWluZGV4OiAxMDAwOwogIGJhY2tncm91bmQ6IHZhcigtLWJzLWJvZHktYmcpOwogIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJzLWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCk7CiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07CiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTsKfQoKLnRzLWRyb3Bkb3duIC5vcHRncm91cC1oZWFkZXIgewogIGZvbnQtc2l6ZTogMC44NzVyZW07CiAgbGluZS1oZWlnaHQ6IDEuNTsKfQoudHMtZHJvcGRvd24gLm9wdGdyb3VwOmZpcnN0LWNoaWxkOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRzLWRyb3Bkb3duIC5vcHRncm91cDo6YmVmb3JlIHsKICBjb250ZW50OiAiICI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAwOwogIG1hcmdpbjogMC41cmVtIDA7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYnMtYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KTsKICBtYXJnaW4tbGVmdDogLTAuNzVyZW07CiAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTsKfQoudHMtZHJvcGRvd24gLmNyZWF0ZSB7CiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOwp9CgoudHMtZHJvcGRvd24tY29udGVudCB7CiAgcGFkZGluZzogNXB4IDA7Cn0KCi50cy1jb250cm9sIHsKICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4xNXMgZWFzZS1pbi1vdXQ7CiAgZGlzcGxheTogZmxleDsKICBhbGlnbi1pdGVtczogY2VudGVyOwp9CkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLnRzLWNvbnRyb2wgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9Cn0KLmZvY3VzIC50cy1jb250cm9sIHsKICBib3JkZXItY29sb3I6IHJnYigxMzQsIDE4Mi41LCAyNTQpOwogIG91dGxpbmU6IDA7CiAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKDEzLCAxMTAsIDI1MywgMC4yNSk7Cn0KLnRzLWNvbnRyb2wgLml0ZW0gewogIGRpc3BsYXk6IGZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKfQoKLnRzLXdyYXBwZXIuaXMtaW52YWxpZCwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTsKfQoudHMtd3JhcHBlci5pcy1pbnZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQ6bm90KC5zaW5nbGUpLAoud2FzLXZhbGlkYXRlZCA6aW52YWxpZCArIC50cy13cmFwcGVyOm5vdCguc2luZ2xlKSB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvJTNlJTNjcGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLyUzZSUzY2NpcmNsZSBjeD0nNicgY3k9JzguMicgcj0nLjYnIGZpbGw9JyUyM2RjMzU0NScgc3Ryb2tlPSdub25lJy8lM2UlM2Mvc3ZnJTNlIik7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2FsYygwLjM3NWVtICsgMC4xODc1cmVtKSBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKSBjYWxjKDAuNzVlbSArIDAuMzc1cmVtKTsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Owp9Ci50cy13cmFwcGVyLmlzLWludmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCAuaW52YWxpZC5zaW5nbGUsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIuc2luZ2xlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZSIpLCB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNkYzM1NDUnJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZGMzNTQ1JyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlciwgY2VudGVyIHJpZ2h0IDIuMjVyZW07CiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHgsIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KLnRzLXdyYXBwZXIuaXMtaW52YWxpZC5mb2N1cyAudHMtY29udHJvbCwKLndhcy12YWxpZGF0ZWQgLmludmFsaWQuZm9jdXMgLnRzLWNvbnRyb2wsCi53YXMtdmFsaWRhdGVkIDppbnZhbGlkICsgLnRzLXdyYXBwZXIuZm9jdXMgLnRzLWNvbnRyb2wgewogIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZm9ybS1pbnZhbGlkLWNvbG9yKSwgMC4yNSk7Cn0KCi50cy13cmFwcGVyLmlzLXZhbGlkLAoud2FzLXZhbGlkYXRlZCAudmFsaWQsCi53YXMtdmFsaWRhdGVkIDp2YWxpZCArIC50cy13cmFwcGVyIHsKICBib3JkZXItY29sb3I6IHZhcigtLWJzLWZvcm0tdmFsaWQtY29sb3IpOwp9Ci50cy13cmFwcGVyLmlzLXZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgLnZhbGlkOm5vdCguc2luZ2xlKSwKLndhcy12YWxpZGF0ZWQgOnZhbGlkICsgLnRzLXdyYXBwZXI6bm90KC5zaW5nbGUpIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMTk4NzU0JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2UiKTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjYWxjKDAuMzc1ZW0gKyAwLjE4NzVyZW0pIGNlbnRlcjsKICBiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMC43NWVtICsgMC4zNzVyZW0pIGNhbGMoMC43NWVtICsgMC4zNzVyZW0pOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KLnRzLXdyYXBwZXIuaXMtdmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCAudmFsaWQuc2luZ2xlLAoud2FzLXZhbGlkYXRlZCA6dmFsaWQgKyAudHMtd3JhcHBlci5zaW5nbGUgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMzQzYTQwJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8lM2UlM2Mvc3ZnJTNlIiksIHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMxOTg3NTQnIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZSIpOwogIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyLCBjZW50ZXIgcmlnaHQgMi4yNXJlbTsKICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweCwgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSkgY2FsYygwLjc1ZW0gKyAwLjM3NXJlbSk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoudHMtd3JhcHBlci5pcy12YWxpZC5mb2N1cyAudHMtY29udHJvbCwKLndhcy12YWxpZGF0ZWQgLnZhbGlkLmZvY3VzIC50cy1jb250cm9sLAoud2FzLXZhbGlkYXRlZCA6dmFsaWQgKyAudHMtd3JhcHBlci5mb2N1cyAudHMtY29udHJvbCB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icy1mb3JtLXZhbGlkLWNvbG9yKTsKICBib3gtc2hhZG93OiAwIDAgMCAwLjI1cmVtIHJnYmEodmFyKC0tYnMtZm9ybS12YWxpZC1jb2xvciksIDAuMjUpOwp9CgoudHMtd3JhcHBlciB7CiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNzVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSk7CiAgZGlzcGxheTogZmxleDsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlciwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Qtc20sIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1zbSB7CiAgbWluLWhlaWdodDogY2FsYygxLjVlbSArIDAuNXJlbSArIGNhbGModmFyKC0tYnMtYm9yZGVyLXdpZHRoKSAqIDIpKTsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlciAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Qtc20gLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1zbSAudHMtY29udHJvbCB7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnMtYm9yZGVyLXJhZGl1cy1zbSk7CiAgZm9udC1zaXplOiAwLjg3NXJlbTsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlci5oYXMtaXRlbXMgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LXNtLmhhcy1pdGVtcyAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sLXNtLmhhcy1pdGVtcyAudHMtY29udHJvbCB7CiAgZm9udC1zaXplOiAwLjg3NXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQouaW5wdXQtZ3JvdXAtc20gPiAudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LXNtLm11bHRpLmhhcy1pdGVtcyAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sLXNtLm11bHRpLmhhcy1pdGVtcyAudHMtY29udHJvbCB7CiAgcGFkZGluZy10b3A6IGNhbGMoKGNhbGMoMS41ZW0gKyAwLjVyZW0gKyBjYWxjKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKiAyKSkgLSAxLjUgKiAwLjg3NXJlbSAtIGNhbGMoKHZhcigtLWJzLWJvcmRlci13aWR0aCkgKyAxcHgpICogMikpIC8gMikgIWltcG9ydGFudDsKfQoudHMtd3JhcHBlci5tdWx0aS5oYXMtaXRlbXMgLnRzLWNvbnRyb2wgewogIHBhZGRpbmctbGVmdDogY2FsYygwLjc1cmVtIC0gNXB4KTsKICAtLXRzLXByLW1pbjogY2FsYygwLjc1cmVtIC0gNXB4KTsKfQoudHMtd3JhcHBlci5tdWx0aSAudHMtY29udHJvbCA+IGRpdiB7CiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1icy1ib3JkZXItcmFkaXVzKSAtIDFweCk7Cn0KLmlucHV0LWdyb3VwLWxnID4gLnRzLXdyYXBwZXIsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC1sZywgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3QtbGcgewogIG1pbi1oZWlnaHQ6IGNhbGMoMS41ZW0gKyAxcmVtICsgY2FsYyh2YXIoLS1icy1ib3JkZXItd2lkdGgpICogMikpOwp9Ci5pbnB1dC1ncm91cC1sZyA+IC50cy13cmFwcGVyIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wtbGcgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0LWxnIC50cy1jb250cm9sIHsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1icy1ib3JkZXItcmFkaXVzLWxnKTsKICBmb250LXNpemU6IDEuMjVyZW07Cn0KLnRzLXdyYXBwZXI6bm90KC5mb3JtLWNvbnRyb2wsIC5mb3JtLXNlbGVjdCkgewogIHBhZGRpbmc6IDA7CiAgYm9yZGVyOiBub25lOwogIGhlaWdodDogYXV0bzsKICBib3gtc2hhZG93OiBub25lOwogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLnRzLXdyYXBwZXI6bm90KC5mb3JtLWNvbnRyb2wsIC5mb3JtLXNlbGVjdCkuc2luZ2xlIC50cy1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyMzM0M2E0MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvJTNlJTNjL3N2ZyUzZSIpOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbSBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7Cn0KLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3QsIC50cy13cmFwcGVyLnNpbmdsZSB7CiAgLS10cy1wci1jYXJldDogMi4yNXJlbTsKfQoudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0IHsKICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7CiAgaGVpZ2h0OiBhdXRvOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgZGlzcGxheTogZmxleDsKfQoudHMtd3JhcHBlci5mb3JtLWNvbnRyb2wgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tY29udHJvbC5zaW5nbGUuaW5wdXQtYWN0aXZlIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLXNlbGVjdCAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Quc2luZ2xlLmlucHV0LWFjdGl2ZSAudHMtY29udHJvbCB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cn0KLnRzLXdyYXBwZXIuZm9ybS1jb250cm9sOm5vdCguZGlzYWJsZWQpIC50cy1jb250cm9sLCAudHMtd3JhcHBlci5mb3JtLWNvbnRyb2w6bm90KC5kaXNhYmxlZCkuc2luZ2xlLmlucHV0LWFjdGl2ZSAudHMtY29udHJvbCwgLnRzLXdyYXBwZXIuZm9ybS1zZWxlY3Q6bm90KC5kaXNhYmxlZCkgLnRzLWNvbnRyb2wsIC50cy13cmFwcGVyLmZvcm0tc2VsZWN0Om5vdCguZGlzYWJsZWQpLnNpbmdsZS5pbnB1dC1hY3RpdmUgLnRzLWNvbnRyb2wgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7Cn0KCi5pbnB1dC1ncm91cCA+IC50cy13cmFwcGVyIHsKICBmbGV4LWdyb3c6IDE7CiAgd2lkdGg6IDElOwp9Ci5pbnB1dC1ncm91cCA+IC50cy13cmFwcGVyOm5vdCg6bnRoLWNoaWxkKDIpKSA+IC50cy1jb250cm9sIHsKICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7Cn0KLmlucHV0LWdyb3VwID4gLnRzLXdyYXBwZXI6bm90KDpsYXN0LWNoaWxkKSA+IC50cy1jb250cm9sIHsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsKICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsKfQovKiMgc291cmNlTWFwcGluZ1VSTD10b20tc2VsZWN0LmJvb3RzdHJhcDUuY3NzLm1hcCAqLw==", import.meta.url);
2507
+ var H, D, _, j, rt, jt;
2508
+ const vt = class vt extends HTMLElement {
2509
2509
  constructor() {
2510
- super();
2511
- K(this, oe);
2512
- K(this, $);
2513
- K(this, Q);
2514
- K(this, z);
2515
- K(this, V);
2516
- K(this, U, {});
2517
- H(this, $, document.createElement("select")), H(this, Q, this.attachShadow({ mode: "open" })), H(this, z, this.attachInternals());
2510
+ super(...arguments);
2511
+ S(this, rt);
2512
+ S(this, H);
2513
+ S(this, D);
2514
+ S(this, _);
2515
+ S(this, j, {});
2518
2516
  }
2519
2517
  connectedCallback() {
2520
- this.hasAttribute("name") && (x(this, $).name = this.getAttribute("name")), this.hasAttribute("multiple") && x(this, $).setAttribute("multiple", "");
2521
- const t = document.createElement("link");
2522
- t.setAttribute("rel", "stylesheet"), t.setAttribute("href", Ns), x(this, Q).appendChild(x(this, $)), x(this, Q).appendChild(t);
2518
+ K(this, H, document.createElement("select")), K(this, D, this.attachShadow({ mode: "open" })), K(this, _, this.attachInternals()), this.hasAttribute("name") && (Y(this, H).name = this.getAttribute("name")), this.hasAttribute("multiple") && Y(this, H).setAttribute("multiple", "");
2519
+ const e = document.createElement("link");
2520
+ e.setAttribute("rel", "stylesheet"), e.setAttribute("href", zi.href), Y(this, D).appendChild(Y(this, H)), Y(this, D).appendChild(e);
2523
2521
  try {
2524
- H(this, U, this.getAttributeNames().filter(
2525
- (i) => i === "options" || i === "value-field" || i === "label-field" || i === "search-field" || i === "items" || i === "optgroup-field" || i === "optgroups"
2526
- ).reduce((i, n) => {
2527
- const o = n.split("."), r = o.pop(), l = this.getAttribute(n), c = o.reduce((a, u) => (u in a || (a[u] = {}), a[u]), i);
2528
- return c[Xe(r)] = Ze(l), i;
2522
+ K(this, j, this.getAttributeNames().filter(
2523
+ (n) => n === "options" || n === "value-field" || n === "label-field" || n === "search-field" || n === "items" || n === "optgroup-field" || n === "optgroups"
2524
+ ).reduce((n, s) => {
2525
+ const o = s.split("."), r = o.pop(), l = this.getAttribute(s), a = o.reduce((c, d) => (d in c || (c[d] = {}), c[d]), n);
2526
+ return a[$t(r)] = Pt(l), n;
2529
2527
  }, {}));
2530
- } catch (i) {
2531
- console.error("Invalid options JSON:", i), H(this, U, {});
2528
+ } catch (n) {
2529
+ console.error("Invalid options JSON:", n), K(this, j, {});
2532
2530
  }
2533
- this.tomSelect = new F(x(this, $), {
2534
- ...x(this, U),
2531
+ this.tomSelect = new X(Y(this, H), {
2532
+ ...Y(this, j),
2535
2533
  plugins: ["remove_button", "clear_button"],
2536
2534
  highlight: !0
2537
- }), H(this, V, x(this, $).value), x(this, z).setFormValue(x(this, V)), x(this, $).addEventListener("change", (i) => we(this, oe, Ue).call(this, i));
2535
+ }), this.value = this.tomSelect.getValue(), Y(this, H).addEventListener("change", (n) => Ct(this, rt, jt).call(this, n)), this.dispatchEvent(new CustomEvent("upgrade"));
2538
2536
  }
2539
2537
  get value() {
2540
- return x(this, V);
2541
- }
2542
- set value(t) {
2543
- H(this, V, t), x(this, $).value = t, x(this, z).setFormValue(t);
2538
+ let e = this.tomSelect.getValue();
2539
+ return Array.isArray(e) && (e = [...e]), e;
2540
+ }
2541
+ set value(e) {
2542
+ if (ki(this.value, e) || this.tomSelect.setValue(e, !0), Array.isArray(e)) {
2543
+ const n = new FormData();
2544
+ for (const s of e)
2545
+ n.append(Y(this, H).name, s);
2546
+ Y(this, _).setFormValue(n);
2547
+ } else
2548
+ Y(this, _).setFormValue(e);
2544
2549
  }
2545
2550
  };
2546
- $ = new WeakMap(), Q = new WeakMap(), z = new WeakMap(), V = new WeakMap(), U = new WeakMap(), oe = new WeakSet(), Ue = function(t) {
2547
- const i = Array.from(x(this, $).selectedOptions).map((o) => o.value);
2548
- H(this, V, i);
2549
- const n = new FormData();
2550
- for (const o of i)
2551
- n.append(x(this, $).name, o);
2552
- x(this, z).setFormValue(n);
2553
- }, ye.formAssociated = !0;
2554
- let ve = ye;
2555
- customElements.define("sleek-select", ve);
2551
+ H = new WeakMap(), D = new WeakMap(), _ = new WeakMap(), j = new WeakMap(), rt = new WeakSet(), jt = function(e) {
2552
+ this.value = Array.from(Y(this, H).selectedOptions).map((n) => n.value), this.dispatchEvent(new Event("change"));
2553
+ }, vt.formAssociated = !0;
2554
+ let ft = vt;
2555
+ function ki(i, t) {
2556
+ if (Array.isArray(i) !== Array.isArray(t)) return !1;
2557
+ if (Array.isArray(i)) {
2558
+ const e = new Set(t);
2559
+ return i.length === t.length && i.every((n) => e.has(n));
2560
+ }
2561
+ return i === t;
2562
+ }
2563
+ customElements.define("sleek-select", ft);