@acrolinx/sidebar-sdk 2.0.2 → 2.0.3

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +58 -0
  2. package/dist/index.js +1089 -988
  3. package/package.json +14 -14
package/dist/index.js CHANGED
@@ -1,48 +1,48 @@
1
- function Et(t) {
1
+ function St(t) {
2
2
  return t.isAsync;
3
3
  }
4
- function Ye(t) {
4
+ function Je(t) {
5
5
  return !!t.error;
6
6
  }
7
- function Tr(t) {
7
+ function Ur(t) {
8
8
  return typeof t.content == "string";
9
9
  }
10
- function kt(t) {
10
+ function xt(t) {
11
11
  return !!t.editorId;
12
12
  }
13
- function Bt(t) {
13
+ function Dt(t) {
14
14
  return !!t.element;
15
15
  }
16
16
  function ee(t) {
17
- if (Bt(t))
17
+ if (Dt(t))
18
18
  return t.element;
19
- if (kt(t))
19
+ if (xt(t))
20
20
  return document.getElementById(t.editorId);
21
21
  throw console.error("Invalid AdapterConf. Missing editorId or element", t), new Error("Invalid AdapterConf. Missing editorId or element");
22
22
  }
23
- const St = [
23
+ const Rt = [
24
24
  {
25
25
  id: "com.acrolinx.sidebarexample",
26
26
  name: "Acrolinx Sidebar Example Client",
27
27
  version: "1.2.3.999",
28
28
  category: "MAIN"
29
29
  }
30
- ], xt = {
30
+ ], Ft = {
31
31
  id: "com.acrolinx.sidebar-sdk-js",
32
32
  name: "Sidebar SDK JS",
33
- version: "2.0.2"
33
+ version: "2.0.3"
34
34
  };
35
- function Yr(t, e) {
35
+ function zr(t, e) {
36
36
  const n = Date.now(), o = e();
37
37
  return console.log(`Duration of "${t}:"`, Date.now() - n), o;
38
38
  }
39
- async function Le(t) {
39
+ async function Oe(t) {
40
40
  const e = await fetch(t);
41
41
  if (e.status >= 200 && e.status < 400)
42
42
  return e.text();
43
43
  throw new Error(`Error while loading ${t}.`);
44
44
  }
45
- function Dt(t) {
45
+ function Zt(t) {
46
46
  return t.nodeName === "IFRAME";
47
47
  }
48
48
  function X(t) {
@@ -50,35 +50,35 @@ function X(t) {
50
50
  startNode: e,
51
51
  endNode: n,
52
52
  eventType: o,
53
- startOffset: s,
53
+ startOffset: A,
54
54
  endOffset: r,
55
55
  replacement: i,
56
- disableSimulation: A
56
+ disableSimulation: s
57
57
  } = t;
58
- if (A)
58
+ if (s)
59
59
  return;
60
- const c = new StaticRange({
60
+ const a = new StaticRange({
61
61
  startContainer: e,
62
- startOffset: s,
62
+ startOffset: A,
63
63
  endContainer: n,
64
64
  endOffset: r
65
- }), a = {
65
+ }), c = {
66
66
  inputType: "insertText",
67
67
  data: i,
68
68
  bubbles: !0,
69
69
  cancelable: !1,
70
- targetRanges: [c]
70
+ targetRanges: [a]
71
71
  };
72
- e.dispatchEvent(new InputEvent(o, a));
72
+ e.dispatchEvent(new InputEvent(o, c));
73
73
  }
74
- function Rt(t) {
74
+ function Mt(t) {
75
75
  const e = document.createElement("a");
76
76
  e.href = t, e.host === "" && (e.href = e.href);
77
- const { protocol: n, host: o, hostname: s, port: r, pathname: i, hash: A } = e;
78
- return { protocol: n, host: o, hostname: s, port: r, pathname: i, hash: A };
77
+ const { protocol: n, host: o, hostname: A, port: r, pathname: i, hash: s } = e;
78
+ return { protocol: n, host: o, hostname: A, port: r, pathname: i, hash: s };
79
79
  }
80
- function Ft(t) {
81
- const { protocol: e, host: n } = Rt(t);
80
+ function Wt(t) {
81
+ const { protocol: e, host: n } = Mt(t);
82
82
  return location.protocol === e && location.host === n;
83
83
  }
84
84
  function fe(t) {
@@ -87,37 +87,37 @@ function fe(t) {
87
87
  function te(t, e) {
88
88
  return Object.assign({}, t, e);
89
89
  }
90
- function Je(t) {
90
+ function je(t) {
91
91
  Object.freeze(t);
92
92
  const e = typeof t == "function", n = Object.prototype.hasOwnProperty;
93
93
  Object.getOwnPropertyNames(t).forEach(function(o) {
94
- n.call(t, o) && (!e || o !== "caller" && o !== "callee" && o !== "arguments") && t[o] !== null && (typeof t[o] == "object" || typeof t[o] == "function") && !Object.isFrozen(t[o]) && Je(t[o]);
94
+ n.call(t, o) && (!e || o !== "caller" && o !== "callee" && o !== "arguments") && t[o] !== null && (typeof t[o] == "object" || typeof t[o] == "function") && !Object.isFrozen(t[o]) && je(t[o]);
95
95
  });
96
96
  }
97
- function Zt(t) {
97
+ function Ht(t) {
98
98
  const e = structuredClone(t);
99
- return Je(e), e;
99
+ return je(e), e;
100
100
  }
101
- function Oe(t) {
101
+ function Ue(t) {
102
102
  if (!t.parentNode)
103
103
  return !1;
104
104
  const e = t.getBoundingClientRect();
105
105
  return !!e.width && !!e.height;
106
106
  }
107
107
  function V(t) {
108
- if (!Oe(t))
108
+ if (!Ue(t))
109
109
  throw Error("Adapter element is not displayed.");
110
110
  }
111
- function Lr(t) {
111
+ function Vr(t) {
112
112
  return /\S/.test(t);
113
113
  }
114
114
  function z(t) {
115
115
  t.parentNode.removeChild(t);
116
116
  }
117
- function xe(t) {
117
+ function De(t) {
118
118
  return t && typeof t.then == "function";
119
119
  }
120
- class Mt {
120
+ class Qt {
121
121
  resolve;
122
122
  reject;
123
123
  promise;
@@ -127,7 +127,7 @@ class Mt {
127
127
  });
128
128
  }
129
129
  }
130
- function Wt(t) {
130
+ function ze(t) {
131
131
  return new Promise((e) => setTimeout(e, t));
132
132
  }
133
133
  function ce(t) {
@@ -147,20 +147,20 @@ function ce(t) {
147
147
  return n;
148
148
  }
149
149
  }
150
- function Ht(t) {
150
+ function Kt(t) {
151
151
  return JSON.parse(JSON.stringify(t));
152
152
  }
153
- function Qt(t, e, ...n) {
154
- const o = { command: e, args: Ht(n) };
153
+ function Nt(t, e, ...n) {
154
+ const o = { command: e, args: Kt(n) };
155
155
  t.postMessage(o, "*");
156
156
  }
157
- function je(t, e) {
157
+ function Ve(t, e) {
158
158
  for (const n in e) {
159
159
  const o = e[n];
160
- e[n] = (...s) => (Qt(t(), n, ...s), o.apply(e, s));
160
+ e[n] = (...A) => (Nt(t(), n, ...A), o.apply(e, A));
161
161
  }
162
162
  }
163
- function Kt(t, e) {
163
+ function Pt(t, e) {
164
164
  const n = {
165
165
  init: () => {
166
166
  },
@@ -176,19 +176,19 @@ function Kt(t, e) {
176
176
  showMessage: () => {
177
177
  }
178
178
  };
179
- je(() => e.contentWindow, n);
180
- function o(s) {
181
- if (s.source !== e.contentWindow)
179
+ Ve(() => e.contentWindow, n);
180
+ function o(A) {
181
+ if (A.source !== e.contentWindow)
182
182
  return;
183
- const r = s.data, { command: i, args: A } = r;
184
- t[i] && (i === "requestInit" ? t.requestInit(n) : t[i].apply(t, A));
183
+ const r = A.data, { command: i, args: s } = r;
184
+ t[i] && (i === "requestInit" ? t.requestInit(n) : t[i].apply(t, s));
185
185
  }
186
186
  addEventListener("message", o, !1);
187
187
  }
188
- function Nt(t = window) {
188
+ function Gt(t = window) {
189
189
  function e(o) {
190
- const s = o.data, { command: r, args: i } = s, A = t.acrolinxSidebar;
191
- A[r] && A[r].apply(A, i);
190
+ const A = o.data, { command: r, args: i } = A, s = t.acrolinxSidebar;
191
+ s[r] && s[r].apply(s, i);
192
192
  }
193
193
  t.addEventListener("message", e, !1);
194
194
  const n = {
@@ -211,11 +211,11 @@ function Nt(t = window) {
211
211
  log: () => {
212
212
  }
213
213
  };
214
- return je(() => t.parent, n), n;
214
+ return Ve(() => t.parent, n), n;
215
215
  }
216
- var re = {}, De;
217
- function Pt() {
218
- return De || (De = 1, re.ACROLINX_STARTPAGE_INLINED_HTML = `<!doctype html>
216
+ var re = {}, Re;
217
+ function Tt() {
218
+ return Re || (Re = 1, re.ACROLINX_STARTPAGE_INLINED_HTML = `<!doctype html>
219
219
  <html lang="en">
220
220
  <head>
221
221
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
@@ -309,8 +309,8 @@ function Pt() {
309
309
  </html>
310
310
  `), re;
311
311
  }
312
- var Gt = Pt();
313
- class Ue extends Error {
312
+ var Yt = Tt();
313
+ class Xe extends Error {
314
314
  constructor(e, n, o) {
315
315
  super(e), this.message = e, this.configuredSidebarURL = n, this.htmlLoaded = o, this.configuredSidebarURL = n, this.htmlLoaded = o, this.details = e + `
316
316
  Configured SidebarURL:` + n + `
@@ -318,84 +318,84 @@ Configured SidebarURL:` + n + `
318
318
  }
319
319
  details;
320
320
  }
321
- function Tt(t) {
321
+ function Lt(t) {
322
322
  const e = document.createElement("link");
323
323
  return e.rel = "stylesheet", e.href = t, e;
324
324
  }
325
- function Yt(t) {
325
+ function Jt(t) {
326
326
  const e = document.createElement("script");
327
327
  return e.src = t, e.type = "text/javascript", e.async = !1, e.defer = !1, e;
328
328
  }
329
- function ze(t) {
329
+ function qe(t) {
330
330
  const e = Date.now();
331
331
  return t + "index.html?t=" + e;
332
332
  }
333
- async function Lt(t) {
334
- const e = ze(t), n = await Le(e);
333
+ async function Ot(t) {
334
+ const e = qe(t), n = await Oe(e);
335
335
  if (n.indexOf('<meta name="sidebar-version"') < 0)
336
336
  try {
337
- throw new Ue(
337
+ throw new Xe(
338
338
  "It looks like the sidebar URL was configured wrongly.",
339
339
  t,
340
340
  n
341
341
  );
342
- } catch (c) {
343
- console.log(c);
342
+ } catch (a) {
343
+ console.log(a);
344
344
  return;
345
345
  }
346
- const o = n.replace(/<!--[\s\S]*?-->/g, ""), s = document.querySelector("head"), r = (c) => Jt(c, t);
347
- Re(o, "href").map(r).forEach((c) => {
348
- s.appendChild(Tt(c));
349
- }), Re(o, "src").map(r).forEach((c) => {
350
- s.appendChild(Yt(c));
346
+ const o = n.replace(/<!--[\s\S]*?-->/g, ""), A = document.querySelector("head"), r = (a) => jt(a, t);
347
+ Fe(o, "href").map(r).forEach((a) => {
348
+ A.appendChild(Lt(a));
349
+ }), Fe(o, "src").map(r).forEach((a) => {
350
+ A.appendChild(Jt(a));
351
351
  });
352
352
  }
353
- function Re(t, e) {
353
+ function Fe(t, e) {
354
354
  const n = new RegExp(`${e}="(.*?)"`, "g");
355
355
  let o;
356
- const s = [];
356
+ const A = [];
357
357
  for (; (o = n.exec(t)) !== null; )
358
- s.push(o[1]);
359
- return s;
358
+ A.push(o[1]);
359
+ return A;
360
360
  }
361
- function Jt(t, e) {
361
+ function jt(t, e) {
362
362
  return t.match(/^https?:/) ? t : e + t;
363
363
  }
364
- async function Fe(t, e, n) {
364
+ async function Ze(t, e, n) {
365
365
  if (t.sidebarHtml || !t.sidebarUrl) {
366
- q(t.sidebarHtml || Gt.ACROLINX_STARTPAGE_INLINED_HTML, e), n();
366
+ q(t.sidebarHtml || Yt.ACROLINX_STARTPAGE_INLINED_HTML, e), n();
367
367
  return;
368
368
  }
369
- const o = t.sidebarUrl, s = ze(o);
370
- if (t.useMessageAdapter || t.useSidebarFromSameOriginDirectly && Ft(o))
371
- e.addEventListener("load", n), e.src = s;
369
+ const o = t.sidebarUrl, A = qe(o);
370
+ if (t.useMessageAdapter || t.useSidebarFromSameOriginDirectly && Wt(o))
371
+ e.addEventListener("load", n), e.src = A;
372
372
  else {
373
- const r = await Le(s);
373
+ const r = await Oe(A);
374
374
  if (r.indexOf('<meta name="sidebar-version"') < 0)
375
375
  try {
376
- throw new Ue(
376
+ throw new Xe(
377
377
  "It looks like the sidebar URL was configured wrongly. Check developer console for more information!",
378
- s,
378
+ A,
379
379
  r
380
380
  );
381
- } catch (A) {
382
- A instanceof Error ? q(A.message, e) : q("Unknown error loading sidebar", e), console.error(A);
381
+ } catch (s) {
382
+ s instanceof Error ? q(s.message, e) : q("Unknown error loading sidebar", e), console.error(s);
383
383
  return;
384
384
  }
385
- const i = Ot(r, o);
385
+ const i = Ut(r, o);
386
386
  q(i, e), n();
387
387
  }
388
388
  }
389
- function Ot(t, e) {
389
+ function Ut(t, e) {
390
390
  return t.replace(/src="(?!https?:)/g, 'src="' + e).replace(/href="(?!https?:)/g, 'href="' + e);
391
391
  }
392
392
  function q(t, e) {
393
393
  const n = e.contentWindow;
394
394
  n.document.open(), n.document.write(t), n.document.close();
395
395
  }
396
- class jt {
397
- constructor(e, n, o, s) {
398
- this.config = e, this.adapter = n, this.onGotSidebar = o, this.sidebarContentWindow = s;
396
+ class zt {
397
+ constructor(e, n, o, A) {
398
+ this.config = e, this.adapter = n, this.onGotSidebar = o, this.sidebarContentWindow = A;
399
399
  }
400
400
  acrolinxSidebar;
401
401
  initSidebarOnPremise() {
@@ -406,14 +406,14 @@ class jt {
406
406
  log: !!this.config.log
407
407
  },
408
408
  ...this.config,
409
- clientComponents: (this.config.clientComponents || St).concat(xt)
409
+ clientComponents: (this.config.clientComponents || Rt).concat(Ft)
410
410
  });
411
411
  }
412
412
  getDefaultDocumentReference() {
413
413
  return this.config.getDocumentReference ? this.config.getDocumentReference() : window.location.href;
414
414
  }
415
415
  requestGlobalCheckSync(e, n = "HTML") {
416
- if (Ye(e))
416
+ if (Je(e))
417
417
  this.acrolinxSidebar.onGlobalCheckRejected(), window.alert(e.error);
418
418
  else {
419
419
  const o = this.acrolinxSidebar.checkGlobal(e.content, {
@@ -441,12 +441,12 @@ class jt {
441
441
  console.log("onInitFinished: ", e), this.config.onInitFinished ? this.config.onInitFinished(e) : e.error && window.alert(e.error.message), this.adapter && this.adapter.onInitFinished && this.adapter.onInitFinished(e);
442
442
  }
443
443
  requestGlobalCheck(e = { selection: !1, batchCheck: !1 }) {
444
- const n = this.adapter, o = n.extractContentForCheck({ checkSelection: e.selection }), s = n.getFormat ? n.getFormat() : void 0;
445
- xe(o) ? o.then((r) => {
446
- this.requestGlobalCheckSync(r, s);
444
+ const n = this.adapter, o = n.extractContentForCheck({ checkSelection: e.selection }), A = n.getFormat ? n.getFormat() : void 0;
445
+ De(o) ? o.then((r) => {
446
+ this.requestGlobalCheckSync(r, A);
447
447
  }).catch((r) => {
448
448
  this.acrolinxSidebar.onGlobalCheckRejected(), console.error("Error while adapter.extractContentForCheck:", r);
449
- }) : this.requestGlobalCheckSync(o, s);
449
+ }) : this.requestGlobalCheckSync(o, A);
450
450
  }
451
451
  onCheckResult(e) {
452
452
  this.config.onCheckResult && this.config.onCheckResult(e), e.embedCheckInformation && this.config.onEmbedCheckData && this.config.onEmbedCheckData(e.embedCheckInformation, e.inputFormat || ""), e.error || this.adapter.registerCheckResult(e);
@@ -470,15 +470,15 @@ class jt {
470
470
  }
471
471
  }
472
472
  handlePotentialPromiseError(e, n, o) {
473
- xe(e) && e.catch((s) => {
474
- this.handleRangeOperationError(s, n, o);
473
+ De(e) && e.catch((A) => {
474
+ this.handleRangeOperationError(A, n, o);
475
475
  });
476
476
  }
477
477
  handleRangeOperationError(e, n, o) {
478
478
  console.log(e), this.acrolinxSidebar.invalidateRanges(
479
- o.map((s) => ({
479
+ o.map((A) => ({
480
480
  checkId: n,
481
- range: s.range
481
+ range: A.range
482
482
  }))
483
483
  );
484
484
  }
@@ -492,32 +492,32 @@ class jt {
492
492
  this.config.log && this.config.log(e);
493
493
  }
494
494
  }
495
- async function Ut(t, e, n) {
495
+ async function Vt(t, e, n) {
496
496
  const o = document.getElementById(t.sidebarContainerId);
497
497
  if (!o)
498
498
  throw new Error(
499
499
  `Acrolinx can't find an element with the configured sidebarContainerId "${t.sidebarContainerId}".`
500
500
  );
501
- const s = document.createElement("iframe");
502
- o.appendChild(s);
503
- const r = s.contentWindow, i = new jt(
501
+ const A = document.createElement("iframe");
502
+ o.appendChild(A);
503
+ const r = A.contentWindow, i = new zt(
504
504
  t,
505
505
  e,
506
506
  n,
507
507
  r
508
508
  );
509
- function A() {
510
- a(), console.log("Install acrolinxPlugin in sidebar."), t.acrolinxStorage && (r.acrolinxStorage = t.acrolinxStorage), r.acrolinxPlugin = i;
509
+ function s() {
510
+ c(), console.log("Install acrolinxPlugin in sidebar."), t.acrolinxStorage && (r.acrolinxStorage = t.acrolinxStorage), r.acrolinxPlugin = i;
511
511
  }
512
- async function c() {
513
- console.log("Connect acrolinxPlugin in sidebar."), Kt(i, s), await Fe(t, s, a);
512
+ async function a() {
513
+ console.log("Connect acrolinxPlugin in sidebar."), Pt(i, A), await Ze(t, A, c);
514
514
  }
515
- function a() {
515
+ function c() {
516
516
  t.onSidebarWindowLoaded && t.onSidebarWindowLoaded(r);
517
517
  }
518
- return t.useMessageAdapter ? await c() : await Fe(t, s, A), i;
518
+ return t.useMessageAdapter ? await a() : await Ze(t, A, s), i;
519
519
  }
520
- class zt {
520
+ class Xt {
521
521
  store = [];
522
522
  push(e) {
523
523
  this.store.push(e);
@@ -526,15 +526,15 @@ class zt {
526
526
  return this.store.shift();
527
527
  }
528
528
  }
529
- class Vt {
529
+ class qt {
530
530
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
531
- workTodo = new zt();
531
+ workTodo = new Xt();
532
532
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
533
533
  currentWork;
534
534
  addWork(e) {
535
535
  const n = {
536
536
  work: e,
537
- deferred: new Mt()
537
+ deferred: new Qt()
538
538
  };
539
539
  return this.workTodo.push(n), this.currentWork || this.doRemainingWork(), n.deferred.promise;
540
540
  }
@@ -550,7 +550,7 @@ class Vt {
550
550
  ));
551
551
  }
552
552
  }
553
- class Ve {
553
+ class _e {
554
554
  constructor(e) {
555
555
  this.adapter = e, e.getAutobindWrapperAttributes && (this.getAutobindWrapperAttributes = e.getAutobindWrapperAttributes.bind(e)), e.getFormat && (this.getFormat = e.getFormat.bind(e));
556
556
  }
@@ -558,7 +558,7 @@ class Ve {
558
558
  requiresSynchronization = !1;
559
559
  getAutobindWrapperAttributes;
560
560
  getFormat;
561
- workQueue = new Vt();
561
+ workQueue = new qt();
562
562
  extractContentForCheck(e) {
563
563
  return this.adapter.extractContentForCheck(e);
564
564
  }
@@ -587,7 +587,7 @@ class pe {
587
587
  this.initConfig = e, this.config = {};
588
588
  }
589
589
  registerAdapter(e) {
590
- Et(e) && e.requiresSynchronization ? this.adapter = new Ve(e) : this.adapter = e;
590
+ St(e) && e.requiresSynchronization ? this.adapter = new _e(e) : this.adapter = e;
591
591
  }
592
592
  configure(e) {
593
593
  this.config = { ...this.config, ...e }, this.internalPlugin && this.internalPlugin.acrolinxSidebar && this.internalPlugin.configureSidebar(this.config);
@@ -610,7 +610,7 @@ class pe {
610
610
  async init() {
611
611
  if (!this.adapter)
612
612
  throw new Error("Missing registered adapter. Please use registerAdapter before init.");
613
- this.internalPlugin = await Ut(this.initConfig, this.adapter, () => {
613
+ this.internalPlugin = await Vt(this.initConfig, this.adapter, () => {
614
614
  this.internalPlugin.configureSidebar(this.config);
615
615
  });
616
616
  }
@@ -623,15 +623,15 @@ class pe {
623
623
  o.src = "about:blank", setTimeout(() => {
624
624
  n.innerHTML = "", e();
625
625
  }, 0);
626
- } catch (s) {
627
- console.error(s), e();
626
+ } catch (A) {
627
+ console.error(A), e();
628
628
  }
629
629
  else
630
630
  e();
631
631
  }
632
632
  }
633
633
  }
634
- function Xt(t) {
634
+ function _t(t) {
635
635
  const e = t.getSelection();
636
636
  if (!e)
637
637
  return [];
@@ -640,62 +640,62 @@ function Xt(t) {
640
640
  n.push(e.getRangeAt(o));
641
641
  return n;
642
642
  }
643
- function qt(t) {
644
- return t.ownerDocument ? Xt(t.ownerDocument).filter(
645
- (n) => _t(t, n.commonAncestorContainer) && n.toString().trim() !== ""
643
+ function $t(t) {
644
+ return t.ownerDocument ? _t(t.ownerDocument).filter(
645
+ (n) => en(t, n.commonAncestorContainer) && n.toString().trim() !== ""
646
646
  ) : [];
647
647
  }
648
- function _t(t, e) {
648
+ function en(t, e) {
649
649
  return t === e || e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_CONTAINS;
650
650
  }
651
- function Ze(t, e) {
651
+ function Me(t, e) {
652
652
  const n = [];
653
653
  let o = e;
654
654
  for (; o !== t; ) {
655
- const s = o.parentNode;
656
- if (!s)
655
+ const A = o.parentNode;
656
+ if (!A)
657
657
  break;
658
- const r = Array.prototype.indexOf.call(s.childNodes, o);
658
+ const r = Array.prototype.indexOf.call(A.childNodes, o);
659
659
  if (r === -1)
660
660
  break;
661
- n.push(r), o = s;
661
+ n.push(r), o = A;
662
662
  }
663
663
  return n.reverse(), n;
664
664
  }
665
- function Me(t, e) {
665
+ function We(t, e) {
666
666
  let n = t;
667
667
  for (const o of e) {
668
- const s = n.childNodes[o];
669
- if (!s)
668
+ const A = n.childNodes[o];
669
+ if (!A)
670
670
  return;
671
- n = s;
671
+ n = A;
672
672
  }
673
673
  return n;
674
674
  }
675
- const oe = "ACROOO_SELECTION_START", We = "ACROOO_SELECTION_END";
676
- function $t(t, e, n) {
675
+ const oe = "ACROOO_SELECTION_START", He = "ACROOO_SELECTION_END";
676
+ function tn(t, e, n) {
677
677
  const o = t.ownerDocument;
678
678
  if (!o)
679
679
  return;
680
- const s = Ze(t, e.startContainer), r = Ze(t, e.endContainer), i = t.cloneNode(!0), A = Me(i, s), c = Me(i, r);
681
- if (!A || !c)
680
+ const A = Me(t, e.startContainer), r = Me(t, e.endContainer), i = t.cloneNode(!0), s = We(i, A), a = We(i, r);
681
+ if (!s || !a)
682
682
  return;
683
- const a = o.createRange();
684
- a.setStart(A, e.startOffset), a.setEnd(c, e.endOffset), a.insertNode(o.createTextNode(oe)), a.collapse(!1), a.insertNode(o.createTextNode(We));
685
- const l = n(i), d = l.indexOf(oe), u = l.indexOf(We);
683
+ const c = o.createRange();
684
+ c.setStart(s, e.startOffset), c.setEnd(a, e.endOffset), c.insertNode(o.createTextNode(oe)), c.collapse(!1), c.insertNode(o.createTextNode(He));
685
+ const l = n(i), d = l.indexOf(oe), u = l.indexOf(He);
686
686
  if (!(d === -1 || u === -1))
687
687
  return [d, u - oe.length];
688
688
  }
689
- function en(t) {
689
+ function nn(t) {
690
690
  return t.innerHTML;
691
691
  }
692
- function ne(t, e = en) {
693
- return qt(t).map((o) => $t(t, o, e)).filter((o) => !!o);
692
+ function ne(t, e = nn) {
693
+ return $t(t).map((o) => tn(t, o, e)).filter((o) => !!o);
694
694
  }
695
- function tn(t, e) {
695
+ function rn(t, e) {
696
696
  if (t.length === 0)
697
697
  return 0;
698
- const n = nn(
698
+ const n = on(
699
699
  t,
700
700
  { diffOffset: 0, oldPosition: e + 0.1 },
701
701
  (o) => o.oldPosition
@@ -703,18 +703,18 @@ function tn(t, e) {
703
703
  return n > 0 ? t[n - 1].diffOffset : 0;
704
704
  }
705
705
  function G(t, e) {
706
- return e + tn(t, e);
706
+ return e + rn(t, e);
707
707
  }
708
- function nn(t, e, n) {
709
- let o = 0, s = t.length;
710
- for (; o < s; ) {
711
- const r = Math.floor((o + s) / 2);
712
- n(t[r]) < n(e) ? o = r + 1 : s = r;
708
+ function on(t, e, n) {
709
+ let o = 0, A = t.length;
710
+ for (; o < A; ) {
711
+ const r = Math.floor((o + A) / 2);
712
+ n(t[r]) < n(e) ? o = r + 1 : A = r;
713
713
  }
714
714
  return o;
715
715
  }
716
716
  var ie;
717
- const rn = /* @__PURE__ */ new Map([
717
+ const An = /* @__PURE__ */ new Map([
718
718
  [0, 65533],
719
719
  // C1 Unicode control character reference replacements
720
720
  [128, 8364],
@@ -744,18 +744,18 @@ const rn = /* @__PURE__ */ new Map([
744
744
  [156, 339],
745
745
  [158, 382],
746
746
  [159, 376]
747
- ]), on = (
747
+ ]), sn = (
748
748
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins
749
- (ie = String.fromCodePoint) !== null && ie !== void 0 ? ie : (t) => {
749
+ (ie = String.fromCodePoint) !== null && ie !== void 0 ? ie : ((t) => {
750
750
  let e = "";
751
751
  return t > 65535 && (t -= 65536, e += String.fromCharCode(t >>> 10 & 1023 | 55296), t = 56320 | t & 1023), e += String.fromCharCode(t), e;
752
- }
752
+ })
753
753
  );
754
- function An(t) {
754
+ function an(t) {
755
755
  var e;
756
- return t >= 55296 && t <= 57343 || t > 1114111 ? 65533 : (e = rn.get(t)) !== null && e !== void 0 ? e : t;
756
+ return t >= 55296 && t <= 57343 || t > 1114111 ? 65533 : (e = An.get(t)) !== null && e !== void 0 ? e : t;
757
757
  }
758
- function sn(t) {
758
+ function cn(t) {
759
759
  const e = (
760
760
  // eslint-disable-next-line n/no-unsupported-features/node-builtins
761
761
  typeof atob == "function" ? (
@@ -774,13 +774,13 @@ function sn(t) {
774
774
  )
775
775
  )
776
776
  ), n = e.length & -2, o = new Uint16Array(n / 2);
777
- for (let s = 0, r = 0; s < n; s += 2) {
778
- const i = e.charCodeAt(s), A = e.charCodeAt(s + 1);
779
- o[r++] = i | A << 8;
777
+ for (let A = 0, r = 0; A < n; A += 2) {
778
+ const i = e.charCodeAt(A), s = e.charCodeAt(A + 1);
779
+ o[r++] = i | s << 8;
780
780
  }
781
781
  return o;
782
782
  }
783
- const an = /* @__PURE__ */ sn("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
783
+ const ln = /* @__PURE__ */ cn("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
784
784
  var F;
785
785
  (function(t) {
786
786
  t[t.VALUE_LENGTH = 49152] = "VALUE_LENGTH", t[t.FLAG13 = 8192] = "FLAG13", t[t.BRANCH_LENGTH = 8064] = "BRANCH_LENGTH", t[t.JUMP_TABLE = 127] = "JUMP_TABLE";
@@ -789,18 +789,18 @@ var B;
789
789
  (function(t) {
790
790
  t[t.NUM = 35] = "NUM", t[t.SEMI = 59] = "SEMI", t[t.EQUALS = 61] = "EQUALS", t[t.ZERO = 48] = "ZERO", t[t.NINE = 57] = "NINE", t[t.LOWER_A = 97] = "LOWER_A", t[t.LOWER_F = 102] = "LOWER_F", t[t.LOWER_X = 120] = "LOWER_X", t[t.LOWER_Z = 122] = "LOWER_Z", t[t.UPPER_A = 65] = "UPPER_A", t[t.UPPER_F = 70] = "UPPER_F", t[t.UPPER_Z = 90] = "UPPER_Z";
791
791
  })(B || (B = {}));
792
- const He = 32;
792
+ const Qe = 32;
793
793
  function le(t) {
794
794
  return t >= B.ZERO && t <= B.NINE;
795
795
  }
796
- function cn(t) {
796
+ function dn(t) {
797
797
  return t >= B.UPPER_A && t <= B.UPPER_F || t >= B.LOWER_A && t <= B.LOWER_F;
798
798
  }
799
- function ln(t) {
799
+ function un(t) {
800
800
  return t >= B.UPPER_A && t <= B.UPPER_Z || t >= B.LOWER_A && t <= B.LOWER_Z || le(t);
801
801
  }
802
- function dn(t) {
803
- return t === B.EQUALS || ln(t);
802
+ function gn(t) {
803
+ return t === B.EQUALS || un(t);
804
804
  }
805
805
  var D;
806
806
  (function(t) {
@@ -810,13 +810,13 @@ var K;
810
810
  (function(t) {
811
811
  t[t.Legacy = 0] = "Legacy", t[t.Strict = 1] = "Strict", t[t.Attribute = 2] = "Attribute";
812
812
  })(K || (K = {}));
813
- class un {
813
+ class hn {
814
814
  constructor(e, n, o) {
815
- this.decodeTree = e, this.emitCodePoint = n, this.errors = o, this.state = D.EntityStart, this.consumed = 1, this.result = 0, this.treeIndex = 0, this.excess = 1, this.decodeMode = K.Strict;
815
+ this.decodeTree = e, this.emitCodePoint = n, this.errors = o, this.state = D.EntityStart, this.consumed = 1, this.result = 0, this.treeIndex = 0, this.excess = 1, this.decodeMode = K.Strict, this.runConsumed = 0;
816
816
  }
817
817
  /** Resets the instance to make it reusable. */
818
818
  startEntity(e) {
819
- this.decodeMode = e, this.state = D.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1;
819
+ this.decodeMode = e, this.state = D.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1, this.runConsumed = 0;
820
820
  }
821
821
  /**
822
822
  * Write an entity to the decoder. This can be called multiple times with partial entities.
@@ -853,7 +853,7 @@ class un {
853
853
  * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
854
854
  */
855
855
  stateNumericStart(e, n) {
856
- return n >= e.length ? -1 : (e.charCodeAt(n) | He) === B.LOWER_X ? (this.state = D.NumericHex, this.consumed += 1, this.stateNumericHex(e, n + 1)) : (this.state = D.NumericDecimal, this.stateNumericDecimal(e, n));
856
+ return n >= e.length ? -1 : (e.charCodeAt(n) | Qe) === B.LOWER_X ? (this.state = D.NumericHex, this.consumed += 1, this.stateNumericHex(e, n + 1)) : (this.state = D.NumericDecimal, this.stateNumericDecimal(e, n));
857
857
  }
858
858
  /**
859
859
  * Parses a hexadecimal numeric entity.
@@ -867,9 +867,9 @@ class un {
867
867
  stateNumericHex(e, n) {
868
868
  for (; n < e.length; ) {
869
869
  const o = e.charCodeAt(n);
870
- if (le(o) || cn(o)) {
871
- const s = o <= B.NINE ? o - B.ZERO : (o | He) - B.LOWER_A + 10;
872
- this.result = this.result * 16 + s, this.consumed++, n++;
870
+ if (le(o) || dn(o)) {
871
+ const A = o <= B.NINE ? o - B.ZERO : (o | Qe) - B.LOWER_A + 10;
872
+ this.result = this.result * 16 + A, this.consumed++, n++;
873
873
  } else
874
874
  return this.emitNumericEntity(o, 3);
875
875
  }
@@ -915,7 +915,7 @@ class un {
915
915
  this.consumed += 1;
916
916
  else if (this.decodeMode === K.Strict)
917
917
  return 0;
918
- return this.emitCodePoint(An(this.result), this.consumed), this.errors && (e !== B.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
918
+ return this.emitCodePoint(an(this.result), this.consumed), this.errors && (e !== B.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
919
919
  }
920
920
  /**
921
921
  * Parses a named entity.
@@ -928,44 +928,40 @@ class un {
928
928
  */
929
929
  stateNamedEntity(e, n) {
930
930
  const { decodeTree: o } = this;
931
- let s = o[this.treeIndex], r = (s & F.VALUE_LENGTH) >> 14;
931
+ let A = o[this.treeIndex], r = (A & F.VALUE_LENGTH) >> 14;
932
932
  for (; n < e.length; ) {
933
- if (r === 0 && (s & F.FLAG13) !== 0) {
934
- const A = (s & F.BRANCH_LENGTH) >> 7, c = s & F.JUMP_TABLE;
935
- if (n + A > e.length)
936
- return -1;
937
- if (e.charCodeAt(n) !== c)
938
- return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
939
- n++, this.excess++;
940
- const a = A - 1;
941
- for (let l = 1; l < A; l += 2) {
942
- const d = o[this.treeIndex + 1 + (l - 1 >> 1)], u = d & 255;
943
- if (e.charCodeAt(n) !== u)
933
+ if (r === 0 && (A & F.FLAG13) !== 0) {
934
+ const s = (A & F.BRANCH_LENGTH) >> 7;
935
+ if (this.runConsumed === 0) {
936
+ const a = A & F.JUMP_TABLE;
937
+ if (e.charCodeAt(n) !== a)
944
938
  return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
945
- n++, this.excess++;
946
- const g = d >> 8 & 255;
947
- if (l + 1 < A) {
948
- if (e.charCodeAt(n) !== g)
949
- return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
950
- n++, this.excess++;
951
- }
939
+ n++, this.excess++, this.runConsumed++;
940
+ }
941
+ for (; this.runConsumed < s; ) {
942
+ if (n >= e.length)
943
+ return -1;
944
+ const a = this.runConsumed - 1, c = o[this.treeIndex + 1 + (a >> 1)], l = a % 2 === 0 ? c & 255 : c >> 8 & 255;
945
+ if (e.charCodeAt(n) !== l)
946
+ return this.runConsumed = 0, this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
947
+ n++, this.excess++, this.runConsumed++;
952
948
  }
953
- this.treeIndex += 1 + (a + 1 >> 1), s = o[this.treeIndex], r = (s & F.VALUE_LENGTH) >> 14;
949
+ this.runConsumed = 0, this.treeIndex += 1 + (s >> 1), A = o[this.treeIndex], r = (A & F.VALUE_LENGTH) >> 14;
954
950
  }
955
951
  if (n >= e.length)
956
952
  break;
957
953
  const i = e.charCodeAt(n);
958
- if (i === B.SEMI && r !== 0 && (s & F.FLAG13) !== 0)
954
+ if (i === B.SEMI && r !== 0 && (A & F.FLAG13) !== 0)
959
955
  return this.emitNamedEntityData(this.treeIndex, r, this.consumed + this.excess);
960
- if (this.treeIndex = hn(o, s, this.treeIndex + Math.max(1, r), i), this.treeIndex < 0)
956
+ if (this.treeIndex = pn(o, A, this.treeIndex + Math.max(1, r), i), this.treeIndex < 0)
961
957
  return this.result === 0 || // If we are parsing an attribute
962
958
  this.decodeMode === K.Attribute && // We shouldn't have consumed any characters after the entity,
963
959
  (r === 0 || // And there should be no invalid characters.
964
- dn(i)) ? 0 : this.emitNotTerminatedNamedEntity();
965
- if (s = o[this.treeIndex], r = (s & F.VALUE_LENGTH) >> 14, r !== 0) {
960
+ gn(i)) ? 0 : this.emitNotTerminatedNamedEntity();
961
+ if (A = o[this.treeIndex], r = (A & F.VALUE_LENGTH) >> 14, r !== 0) {
966
962
  if (i === B.SEMI)
967
963
  return this.emitNamedEntityData(this.treeIndex, r, this.consumed + this.excess);
968
- this.decodeMode !== K.Strict && (s & F.FLAG13) === 0 && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0);
964
+ this.decodeMode !== K.Strict && (A & F.FLAG13) === 0 && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0);
969
965
  }
970
966
  n++, this.excess++;
971
967
  }
@@ -978,8 +974,8 @@ class un {
978
974
  */
979
975
  emitNotTerminatedNamedEntity() {
980
976
  var e;
981
- const { result: n, decodeTree: o } = this, s = (o[n] & F.VALUE_LENGTH) >> 14;
982
- return this.emitNamedEntityData(n, s, this.consumed), (e = this.errors) === null || e === void 0 || e.missingSemicolonAfterCharacterReference(), this.consumed;
977
+ const { result: n, decodeTree: o } = this, A = (o[n] & F.VALUE_LENGTH) >> 14;
978
+ return this.emitNamedEntityData(n, A, this.consumed), (e = this.errors) === null || e === void 0 || e.missingSemicolonAfterCharacterReference(), this.consumed;
983
979
  }
984
980
  /**
985
981
  * Emit a named entity.
@@ -991,8 +987,8 @@ class un {
991
987
  * @returns The number of characters consumed.
992
988
  */
993
989
  emitNamedEntityData(e, n, o) {
994
- const { decodeTree: s } = this;
995
- return this.emitCodePoint(n === 1 ? s[e] & ~(F.VALUE_LENGTH | F.FLAG13) : s[e + 1], o), n === 3 && this.emitCodePoint(s[e + 2], o), o;
990
+ const { decodeTree: A } = this;
991
+ return this.emitCodePoint(n === 1 ? A[e] & ~(F.VALUE_LENGTH | F.FLAG13) : A[e + 1], o), n === 3 && this.emitCodePoint(A[e + 2], o), o;
996
992
  }
997
993
  /**
998
994
  * Signal to the parser that the end of the input was reached.
@@ -1018,132 +1014,132 @@ class un {
1018
1014
  }
1019
1015
  }
1020
1016
  }
1021
- function gn(t) {
1017
+ function fn(t) {
1022
1018
  let e = "";
1023
- const n = new un(t, (o) => e += on(o));
1024
- return function(s, r) {
1025
- let i = 0, A = 0;
1026
- for (; (A = s.indexOf("&", A)) >= 0; ) {
1027
- e += s.slice(i, A), n.startEntity(r);
1028
- const a = n.write(
1029
- s,
1019
+ const n = new hn(t, (o) => e += sn(o));
1020
+ return function(A, r) {
1021
+ let i = 0, s = 0;
1022
+ for (; (s = A.indexOf("&", s)) >= 0; ) {
1023
+ e += A.slice(i, s), n.startEntity(r);
1024
+ const c = n.write(
1025
+ A,
1030
1026
  // Skip the "&"
1031
- A + 1
1027
+ s + 1
1032
1028
  );
1033
- if (a < 0) {
1034
- i = A + n.end();
1029
+ if (c < 0) {
1030
+ i = s + n.end();
1035
1031
  break;
1036
1032
  }
1037
- i = A + a, A = a === 0 ? i + 1 : i;
1033
+ i = s + c, s = c === 0 ? i + 1 : i;
1038
1034
  }
1039
- const c = e + s.slice(i);
1040
- return e = "", c;
1035
+ const a = e + A.slice(i);
1036
+ return e = "", a;
1041
1037
  };
1042
1038
  }
1043
- function hn(t, e, n, o) {
1044
- const s = (e & F.BRANCH_LENGTH) >> 7, r = e & F.JUMP_TABLE;
1045
- if (s === 0)
1039
+ function pn(t, e, n, o) {
1040
+ const A = (e & F.BRANCH_LENGTH) >> 7, r = e & F.JUMP_TABLE;
1041
+ if (A === 0)
1046
1042
  return r !== 0 && o === r ? n : -1;
1047
1043
  if (r) {
1048
- const a = o - r;
1049
- return a < 0 || a >= s ? -1 : t[n + a] - 1;
1044
+ const c = o - r;
1045
+ return c < 0 || c >= A ? -1 : t[n + c] - 1;
1050
1046
  }
1051
- const i = s + 1 >> 1;
1052
- let A = 0, c = s - 1;
1053
- for (; A <= c; ) {
1054
- const a = A + c >>> 1, l = a >> 1, u = t[n + l] >> (a & 1) * 8 & 255;
1047
+ const i = A + 1 >> 1;
1048
+ let s = 0, a = A - 1;
1049
+ for (; s <= a; ) {
1050
+ const c = s + a >>> 1, l = c >> 1, u = t[n + l] >> (c & 1) * 8 & 255;
1055
1051
  if (u < o)
1056
- A = a + 1;
1052
+ s = c + 1;
1057
1053
  else if (u > o)
1058
- c = a - 1;
1054
+ a = c - 1;
1059
1055
  else
1060
- return t[n + i + a];
1056
+ return t[n + i + c];
1061
1057
  }
1062
1058
  return -1;
1063
1059
  }
1064
- const fn = /* @__PURE__ */ gn(an);
1065
- function pn(t) {
1066
- return fn(t, K.Strict);
1060
+ const mn = /* @__PURE__ */ fn(ln);
1061
+ function bn(t) {
1062
+ return mn(t, K.Strict);
1067
1063
  }
1068
- const Xe = /* @__PURE__ */ new Map([
1064
+ const $e = /* @__PURE__ */ new Map([
1069
1065
  [34, "&quot;"],
1070
1066
  [38, "&amp;"],
1071
1067
  [39, "&apos;"],
1072
1068
  [60, "&lt;"],
1073
1069
  [62, "&gt;"]
1074
- ]), qe = (
1070
+ ]), et = (
1075
1071
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
1076
1072
  String.prototype.codePointAt == null ? (t, e) => (t.charCodeAt(e) & 64512) === 55296 ? (t.charCodeAt(e) - 55296) * 1024 + t.charCodeAt(e + 1) - 56320 + 65536 : t.charCodeAt(e) : (
1077
1073
  // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
1078
1074
  (t, e) => t.codePointAt(e)
1079
1075
  )
1080
- ), _e = 1342177476;
1081
- function Qe(t) {
1076
+ ), tt = 1342177476;
1077
+ function Ke(t) {
1082
1078
  let e, n = 0;
1083
1079
  const { length: o } = t;
1084
- for (let s = 0; s < o; s++) {
1085
- const r = t.charCodeAt(s);
1086
- if (r < 128 && ((_e >>> r & 1) === 0 || r >= 64 || r < 32))
1080
+ for (let A = 0; A < o; A++) {
1081
+ const r = t.charCodeAt(A);
1082
+ if (r < 128 && ((tt >>> r & 1) === 0 || r >= 64 || r < 32))
1087
1083
  continue;
1088
- if (e === void 0 ? e = t.substring(0, s) : n !== s && (e += t.substring(n, s)), r < 64) {
1089
- e += Xe.get(r), n = s + 1;
1084
+ if (e === void 0 ? e = t.substring(0, A) : n !== A && (e += t.substring(n, A)), r < 64) {
1085
+ e += $e.get(r), n = A + 1;
1090
1086
  continue;
1091
1087
  }
1092
- const i = qe(t, s);
1093
- e += `&#x${i.toString(16)};`, i !== r && s++, n = s + 1;
1088
+ const i = et(t, A);
1089
+ e += `&#x${i.toString(16)};`, i !== r && A++, n = A + 1;
1094
1090
  }
1095
1091
  return e === void 0 ? t : (n < o && (e += t.substr(n)), e);
1096
1092
  }
1097
1093
  function me(t, e) {
1098
1094
  return function(o) {
1099
- let s, r = 0, i = "";
1100
- for (; s = t.exec(o); )
1101
- r !== s.index && (i += o.substring(r, s.index)), i += e.get(s[0].charCodeAt(0)), r = s.index + 1;
1095
+ let A, r = 0, i = "";
1096
+ for (; A = t.exec(o); )
1097
+ r !== A.index && (i += o.substring(r, A.index)), i += e.get(A[0].charCodeAt(0)), r = A.index + 1;
1102
1098
  return i + o.substring(r);
1103
1099
  };
1104
1100
  }
1105
- const mn = /* @__PURE__ */ me(/["&'<>]/g, Xe), bn = /* @__PURE__ */ me(/["&\u00A0]/g, /* @__PURE__ */ new Map([
1101
+ const vn = /* @__PURE__ */ me(/["&'<>]/g, $e), In = /* @__PURE__ */ me(/["&\u00A0]/g, /* @__PURE__ */ new Map([
1106
1102
  [34, "&quot;"],
1107
1103
  [38, "&amp;"],
1108
1104
  [160, "&nbsp;"]
1109
- ])), vn = /* @__PURE__ */ me(/[&<>\u00A0]/g, /* @__PURE__ */ new Map([
1105
+ ])), Cn = /* @__PURE__ */ me(/[&<>\u00A0]/g, /* @__PURE__ */ new Map([
1110
1106
  [38, "&amp;"],
1111
1107
  [60, "&lt;"],
1112
1108
  [62, "&gt;"],
1113
1109
  [160, "&nbsp;"]
1114
1110
  ]));
1115
- function In(t) {
1111
+ function wn(t) {
1116
1112
  const e = /* @__PURE__ */ new Map(), n = t.length;
1117
- let o = 0, s = -1;
1113
+ let o = 0, A = -1;
1118
1114
  function r() {
1119
- const A = o;
1115
+ const s = o;
1120
1116
  for (; o < n; ) {
1121
- const c = t.charAt(o);
1122
- if ((c < "0" || c > "9") && (c < "a" || c > "z"))
1117
+ const a = t.charAt(o);
1118
+ if ((a < "0" || a > "9") && (a < "a" || a > "z"))
1123
1119
  break;
1124
1120
  o++;
1125
1121
  }
1126
- return o === A ? 0 : Number.parseInt(t.slice(A, o), 36);
1122
+ return o === s ? 0 : Number.parseInt(t.slice(s, o), 36);
1127
1123
  }
1128
1124
  function i() {
1129
1125
  if (t[o] !== "&")
1130
1126
  throw new Error(`Child entry missing value near index ${o}`);
1131
- const A = o, c = t.indexOf(";", o + 1);
1132
- if (c === -1)
1133
- throw new Error(`Unterminated entity starting at index ${A}`);
1134
- return o = c + 1, t.slice(A, o);
1127
+ const s = o, a = t.indexOf(";", o + 1);
1128
+ if (a === -1)
1129
+ throw new Error(`Unterminated entity starting at index ${s}`);
1130
+ return o = a + 1, t.slice(s, o);
1135
1131
  }
1136
1132
  for (; o < n; ) {
1137
- const A = r(), c = s === -1 ? A : s + A + 1;
1138
- let a;
1139
- if (t[o] === "&" && (a = i()), t[o] === "{") {
1133
+ const s = r(), a = A === -1 ? s : A + s + 1;
1134
+ let c;
1135
+ if (t[o] === "&" && (c = i()), t[o] === "{") {
1140
1136
  o++;
1141
1137
  let l = r(), d = l;
1142
1138
  const u = i();
1143
1139
  if (t[o] === "{")
1144
1140
  throw new Error("Unexpected nested '{' beyond depth 2");
1145
1141
  if (t[o] === "}")
1146
- e.set(c, { value: a, next: d, nextValue: u }), o++;
1142
+ e.set(a, { value: c, next: d, nextValue: u }), o++;
1147
1143
  else {
1148
1144
  const g = /* @__PURE__ */ new Map();
1149
1145
  g.set(d, u);
@@ -1157,18 +1153,18 @@ function In(t) {
1157
1153
  }
1158
1154
  if (t[o] !== "}")
1159
1155
  throw new Error("Unterminated child block");
1160
- o++, e.set(c, { value: a, next: g });
1156
+ o++, e.set(a, { value: c, next: g });
1161
1157
  }
1162
1158
  } else {
1163
- if (a === void 0)
1159
+ if (c === void 0)
1164
1160
  throw new Error(`Malformed encode trie: missing value at index ${o}`);
1165
- e.set(c, a);
1161
+ e.set(a, c);
1166
1162
  }
1167
- s = c;
1163
+ A = a;
1168
1164
  }
1169
1165
  return e;
1170
1166
  }
1171
- const Cn = /* @__PURE__ */ In("9&Tab;&NewLine;m&excl;&quot;&num;&dollar;&percnt;&amp;&apos;&lpar;&rpar;&ast;&plus;&comma;1&period;&sol;a&colon;&semi;&lt;{6he&nvlt;}&equals;{6hx&bne;}&gt;{6he&nvgt;}&quest;&commat;q&lbrack;&bsol;&rbrack;&Hat;&lowbar;&DiacriticalGrave;5{2y&fjlig;}k&lbrace;&verbar;&rbrace;y&nbsp;&iexcl;&cent;&pound;&curren;&yen;&brvbar;&sect;&die;&copy;&ordf;&laquo;&not;&shy;&circledR;&macr;&deg;&PlusMinus;&sup2;&sup3;&acute;&micro;&para;&centerdot;&cedil;&sup1;&ordm;&raquo;&frac14;&frac12;&frac34;&iquest;&Agrave;&Aacute;&Acirc;&Atilde;&Auml;&angst;&AElig;&Ccedil;&Egrave;&Eacute;&Ecirc;&Euml;&Igrave;&Iacute;&Icirc;&Iuml;&ETH;&Ntilde;&Ograve;&Oacute;&Ocirc;&Otilde;&Ouml;&times;&Oslash;&Ugrave;&Uacute;&Ucirc;&Uuml;&Yacute;&THORN;&szlig;&agrave;&aacute;&acirc;&atilde;&auml;&aring;&aelig;&ccedil;&egrave;&eacute;&ecirc;&euml;&igrave;&iacute;&icirc;&iuml;&eth;&ntilde;&ograve;&oacute;&ocirc;&otilde;&ouml;&div;&oslash;&ugrave;&uacute;&ucirc;&uuml;&yacute;&thorn;&yuml;&Amacr;&amacr;&Abreve;&abreve;&Aogon;&aogon;&Cacute;&cacute;&Ccirc;&ccirc;&Cdot;&cdot;&Ccaron;&ccaron;&Dcaron;&dcaron;&Dstrok;&dstrok;&Emacr;&emacr;2&Edot;&edot;&Eogon;&eogon;&Ecaron;&ecaron;&Gcirc;&gcirc;&Gbreve;&gbreve;&Gdot;&gdot;&Gcedil;1&Hcirc;&hcirc;&Hstrok;&hstrok;&Itilde;&itilde;&Imacr;&imacr;2&Iogon;&iogon;&Idot;&imath;&IJlig;&ijlig;&Jcirc;&jcirc;&Kcedil;&kcedil;&kgreen;&Lacute;&lacute;&Lcedil;&lcedil;&Lcaron;&lcaron;&Lmidot;&lmidot;&Lstrok;&lstrok;&Nacute;&nacute;&Ncedil;&ncedil;&Ncaron;&ncaron;&napos;&ENG;&eng;&Omacr;&omacr;2&Odblac;&odblac;&OElig;&oelig;&Racute;&racute;&Rcedil;&rcedil;&Rcaron;&rcaron;&Sacute;&sacute;&Scirc;&scirc;&Scedil;&scedil;&Scaron;&scaron;&Tcedil;&tcedil;&Tcaron;&tcaron;&Tstrok;&tstrok;&Utilde;&utilde;&Umacr;&umacr;&Ubreve;&ubreve;&Uring;&uring;&Udblac;&udblac;&Uogon;&uogon;&Wcirc;&wcirc;&Ycirc;&ycirc;&Yuml;&Zacute;&zacute;&Zdot;&zdot;&Zcaron;&zcaron;j&fnof;y&imped;1r&gacute;1t&jmath;3y&circ;&caron;g&breve;&DiacriticalDot;&ring;&ogon;&DiacriticalTilde;&dblac;1f&DownBreve;3j&Alpha;&Beta;&Gamma;&Delta;&Epsilon;&Zeta;&Eta;&Theta;&Iota;&Kappa;&Lambda;&Mu;&Nu;&Xi;&Omicron;&Pi;&Rho;1&Sigma;&Tau;&Upsilon;&Phi;&Chi;&Psi;&ohm;7&alpha;&beta;&gamma;&delta;&epsi;&zeta;&eta;&theta;&iota;&kappa;&lambda;&mu;&nu;&xi;&omicron;&pi;&rho;&sigmaf;&sigma;&tau;&upsi;&phi;&chi;&psi;&omega;7&thetasym;&Upsi;2&phiv;&piv;5&Gammad;&digamma;i&kappav;&rhov;3&epsiv;&backepsilon;a&IOcy;&DJcy;&GJcy;&Jukcy;&DScy;&Iukcy;&YIcy;&Jsercy;&LJcy;&NJcy;&TSHcy;&KJcy;1&Ubrcy;&DZcy;&Acy;&Bcy;&Vcy;&Gcy;&Dcy;&IEcy;&ZHcy;&Zcy;&Icy;&Jcy;&Kcy;&Lcy;&Mcy;&Ncy;&Ocy;&Pcy;&Rcy;&Scy;&Tcy;&Ucy;&Fcy;&KHcy;&TScy;&CHcy;&SHcy;&SHCHcy;&HARDcy;&Ycy;&SOFTcy;&Ecy;&YUcy;&YAcy;&acy;&bcy;&vcy;&gcy;&dcy;&iecy;&zhcy;&zcy;&icy;&jcy;&kcy;&lcy;&mcy;&ncy;&ocy;&pcy;&rcy;&scy;&tcy;&ucy;&fcy;&khcy;&tscy;&chcy;&shcy;&shchcy;&hardcy;&ycy;&softcy;&ecy;&yucy;&yacy;1&iocy;&djcy;&gjcy;&jukcy;&dscy;&iukcy;&yicy;&jsercy;&ljcy;&njcy;&tshcy;&kjcy;1&ubrcy;&dzcy;5gi&ensp;&emsp;&emsp13;&emsp14;1&numsp;&puncsp;&ThinSpace;&hairsp;&NegativeMediumSpace;&zwnj;&zwj;&lrm;&rlm;&dash;2&ndash;&mdash;&horbar;&Verbar;1&lsquo;&CloseCurlyQuote;&lsquor;1&ldquo;&CloseCurlyDoubleQuote;&bdquo;1&dagger;&Dagger;&bull;2&nldr;&hellip;9&permil;&pertenk;&prime;&Prime;&tprime;&backprime;3&lsaquo;&rsaquo;3&oline;2&caret;1&hybull;&frasl;a&bsemi;7&qprime;7&MediumSpace;{6bu&ThickSpace;}&NoBreak;&af;&InvisibleTimes;&ic;20&euro;1a&tdot;&DotDot;11&complexes;2&incare;4&gscr;&hamilt;&Hfr;&Hopf;&planckh;&hbar;&imagline;&Ifr;&lagran;&ell;1&naturals;&numero;&copysr;&weierp;&Popf;&Qopf;&realine;&real;&reals;&rx;3&trade;1&integers;2&mho;&zeetrf;&iiota;2&bernou;&Cayleys;1&escr;&Escr;&Fouriertrf;1&Mellintrf;&order;&alefsym;&beth;&gimel;&daleth;c&CapitalDifferentialD;&dd;&ee;&ii;a&frac13;&frac23;&frac15;&frac25;&frac35;&frac45;&frac16;&frac56;&frac18;&frac38;&frac58;&frac78;1d&larr;&ShortUpArrow;&rarr;&darr;&harr;&updownarrow;&nwarr;&nearr;&LowerRightArrow;&LowerLeftArrow;&nlarr;&nrarr;1&rarrw;{mw&nrarrw;}&Larr;&Uarr;&Rarr;&Darr;&larrtl;&rarrtl;&LeftTeeArrow;&mapstoup;&map;&DownTeeArrow;1&hookleftarrow;&hookrightarrow;&larrlp;&looparrowright;&harrw;&nharr;1&lsh;&rsh;&ldsh;&rdsh;1&crarr;&cularr;&curarr;2&circlearrowleft;&circlearrowright;&leftharpoonup;&DownLeftVector;&RightUpVector;&LeftUpVector;&rharu;&DownRightVector;&dharr;&dharl;&RightArrowLeftArrow;&udarr;&LeftArrowRightArrow;&leftleftarrows;&upuparrows;&rightrightarrows;&ddarr;&leftrightharpoons;&Equilibrium;&nlArr;&nhArr;&nrArr;&DoubleLeftArrow;&DoubleUpArrow;&DoubleRightArrow;&dArr;&DoubleLeftRightArrow;&DoubleUpDownArrow;&nwArr;&neArr;&seArr;&swArr;&lAarr;&rAarr;1&zigrarr;6&larrb;&rarrb;f&DownArrowUpArrow;7&loarr;&roarr;&hoarr;&forall;&comp;&part;{mw&npart;}&exist;&nexist;&empty;1&Del;&Element;&NotElement;1&ni;&notni;2&prod;&coprod;&sum;&minus;&MinusPlus;&dotplus;1&Backslash;&lowast;&compfn;1&radic;2&prop;&infin;&angrt;&ang;{6he&nang;}&angmsd;&angsph;&mid;&nmid;&DoubleVerticalBar;&NotDoubleVerticalBar;&and;&or;&cap;{1e68&caps;}&cup;{1e68&cups;}&int;&Int;&iiint;&conint;&Conint;&Cconint;&cwint;&ClockwiseContourIntegral;&awconint;&there4;&becaus;&ratio;&Colon;&dotminus;1&mDDot;&homtht;&sim;{6he&nvsim;}&backsim;{mp&race;}&ac;{mr&acE;}&acd;&VerticalTilde;&NotTilde;&eqsim;{mw&nesim;}&sime;&NotTildeEqual;&cong;&simne;&ncong;&ap;&nap;&ape;&apid;{mw&napid;}&backcong;&asympeq;{6he&nvap;}&bump;{mw&nbump;}&bumpe;{mw&nbumpe;}&doteq;{mw&nedot;}&doteqdot;&efDot;&erDot;&Assign;&ecolon;&ecir;&circeq;1&wedgeq;&veeeq;1&triangleq;2&equest;&ne;&Congruent;{6hx&bnequiv;}&nequiv;1&le;{6he&nvle;}&ge;{6he&nvge;}&lE;{mw&nlE;}&gE;{mw&ngE;}&lnE;{1e68&lvertneqq;}&gnE;{1e68&gvertneqq;}&ll;{mw&nLtv;5uh&nLt;}&gg;{mw&nGtv;5uh&nGt;}&between;&NotCupCap;&nless;&ngt;&nle;&nge;&lesssim;&GreaterTilde;&nlsim;&ngsim;&LessGreater;&gl;&NotLessGreater;&NotGreaterLess;&pr;&sc;&prcue;&sccue;&PrecedesTilde;&scsim;{mw&NotSucceedsTilde;}&NotPrecedes;&NotSucceeds;&sub;{6he&NotSubset;}&sup;{6he&NotSuperset;}&nsub;&nsup;&sube;&supe;&NotSubsetEqual;&NotSupersetEqual;&subne;{1e68&varsubsetneq;}&supne;{1e68&varsupsetneq;}1&cupdot;&UnionPlus;&sqsub;{mw&NotSquareSubset;}&sqsup;{mw&NotSquareSuperset;}&sqsube;&sqsupe;&sqcap;{1e68&sqcaps;}&sqcup;{1e68&sqcups;}&CirclePlus;&CircleMinus;&CircleTimes;&osol;&CircleDot;&circledcirc;&circledast;1&circleddash;&boxplus;&boxminus;&boxtimes;&dotsquare;&RightTee;&dashv;&DownTee;&bot;1&models;&DoubleRightTee;&Vdash;&Vvdash;&VDash;&nvdash;&nvDash;&nVdash;&nVDash;&prurel;1&LeftTriangle;&RightTriangle;&LeftTriangleEqual;{6he&nvltrie;}&RightTriangleEqual;{6he&nvrtrie;}&origof;&imof;&multimap;&hercon;&intcal;&veebar;1&barvee;&angrtvb;&lrtri;&bigwedge;&bigvee;&bigcap;&bigcup;&diam;&sdot;&sstarf;&divideontimes;&bowtie;&ltimes;&rtimes;&leftthreetimes;&rightthreetimes;&backsimeq;&curlyvee;&curlywedge;&Sub;&Sup;&Cap;&Cup;&fork;&epar;&lessdot;&gtdot;&Ll;{mw&nLl;}&Gg;{mw&nGg;}&leg;{1e68&lesg;}&gel;{1e68&gesl;}2&cuepr;&cuesc;&NotPrecedesSlantEqual;&NotSucceedsSlantEqual;&NotSquareSubsetEqual;&NotSquareSupersetEqual;2&lnsim;&gnsim;&precnsim;&scnsim;&nltri;&NotRightTriangle;&nltrie;&NotRightTriangleEqual;&vellip;&ctdot;&utdot;&dtdot;&disin;&isinsv;&isins;&isindot;{mw&notindot;}&notinvc;&notinvb;1&isinE;{mw&notinE;}&nisd;&xnis;&nis;&notnivc;&notnivb;6&barwed;&Barwed;1&lceil;&rceil;&LeftFloor;&rfloor;&drcrop;&dlcrop;&urcrop;&ulcrop;&bnot;1&profline;&profsurf;1&telrec;&target;5&ulcorn;&urcorn;&dlcorn;&drcorn;2&frown;&smile;9&cylcty;&profalar;7&topbot;6&ovbar;1&solbar;1o&angzarr;1f&lmoustache;&rmoustache;2&OverBracket;&bbrk;&bbrktbrk;11&OverParenthesis;&UnderParenthesis;&OverBrace;&UnderBrace;2&trpezium;4&elinters;1n&blank;4k&circledS;1j&boxh;1&boxv;9&boxdr;3&boxdl;3&boxur;3&boxul;3&boxvr;7&boxvl;7&boxhd;7&boxhu;7&boxvh;j&boxH;&boxV;&boxdR;&boxDr;&boxDR;&boxdL;&boxDl;&boxDL;&boxuR;&boxUr;&boxUR;&boxuL;&boxUl;&boxUL;&boxvR;&boxVr;&boxVR;&boxvL;&boxVl;&boxVL;&boxHd;&boxhD;&boxHD;&boxHu;&boxhU;&boxHU;&boxvH;&boxVh;&boxVH;j&uhblk;3&lhblk;3&block;8&blk14;&blk12;&blk34;d&square;8&blacksquare;&EmptyVerySmallSquare;1&rect;&marker;2&fltns;1&bigtriangleup;&blacktriangle;&triangle;2&blacktriangleright;&rtri;3&bigtriangledown;&blacktriangledown;&dtri;2&blacktriangleleft;&ltri;6&loz;&cir;w&tridot;2&bigcirc;8&ultri;&urtri;&lltri;&EmptySmallSquare;&FilledSmallSquare;8&bigstar;&star;7&phone;1d&female;1&male;t&spades;2&clubs;1&hearts;&diamondsuit;3&sung;2&flat;&natural;&sharp;4j&check;3&cross;8&malt;l&sext;x&VerticalSeparator;p&lbbrk;&rbbrk;2c&bsolhsub;&suphsol;s&LeftDoubleBracket;&RightDoubleBracket;&lang;&rang;&Lang;&Rang;&loang;&roang;7&longleftarrow;&longrightarrow;&longleftrightarrow;&DoubleLongLeftArrow;&DoubleLongRightArrow;&DoubleLongLeftRightArrow;1&longmapsto;2&dzigrarr;76&nvlArr;&nvrArr;&nvHarr;&Map;6&lbarr;&bkarow;&lBarr;&dbkarow;&drbkarow;&DDotrahd;&UpArrowBar;&DownArrowBar;2&Rarrtl;2&latail;&ratail;&lAtail;&rAtail;&larrfs;&rarrfs;&larrbfs;&rarrbfs;2&nwarhk;&nearhk;&hksearow;&hkswarow;&nwnear;&nesear;&seswar;&swnwar;8&rarrc;{mw&nrarrc;}1&cudarrr;&ldca;&rdca;&cudarrl;&larrpl;2&curarrm;&cularrp;7&rarrpl;2&harrcir;&Uarrocir;&lurdshar;&ldrushar;2&LeftRightVector;&RightUpDownVector;&DownLeftRightVector;&LeftUpDownVector;&LeftVectorBar;&RightVectorBar;&RightUpVectorBar;&RightDownVectorBar;&DownLeftVectorBar;&DownRightVectorBar;&LeftUpVectorBar;&LeftDownVectorBar;&LeftTeeVector;&RightTeeVector;&RightUpTeeVector;&RightDownTeeVector;&DownLeftTeeVector;&DownRightTeeVector;&LeftUpTeeVector;&LeftDownTeeVector;&lHar;&uHar;&rHar;&dHar;&luruhar;&ldrdhar;&ruluhar;&rdldhar;&lharul;&llhard;&rharul;&lrhard;&udhar;&duhar;&RoundImplies;&erarr;&simrarr;&larrsim;&rarrsim;&rarrap;&ltlarr;1&gtrarr;&subrarr;1&suplarr;&lfisht;&rfisht;&ufisht;&dfisht;5&lopar;&ropar;4&lbrke;&rbrke;&lbrkslu;&rbrksld;&lbrksld;&rbrkslu;&langd;&rangd;&lparlt;&rpargt;&gtlPar;&ltrPar;3&vzigzag;1&vangrt;&angrtvbd;6&ange;&range;&dwangle;&uwangle;&angmsdaa;&angmsdab;&angmsdac;&angmsdad;&angmsdae;&angmsdaf;&angmsdag;&angmsdah;&bemptyv;&demptyv;&cemptyv;&raemptyv;&laemptyv;&ohbar;&omid;&opar;1&operp;1&olcross;&odsold;1&olcir;&ofcir;&olt;&ogt;&cirscir;&cirE;&solb;&bsolb;3&boxbox;3&trisb;&rtriltri;&LeftTriangleBar;{mw&NotLeftTriangleBar;}&RightTriangleBar;{mw&NotRightTriangleBar;}b&iinfin;&infintie;&nvinfin;4&eparsl;&smeparsl;&eqvparsl;5&blacklozenge;8&RuleDelayed;1&dsol;9&bigodot;&bigoplus;&bigotimes;1&biguplus;1&bigsqcup;5&iiiint;&fpartint;2&cirfnint;&awint;&rppolint;&scpolint;&npolint;&pointint;&quatint;&intlarhk;a&pluscir;&plusacir;&simplus;&plusdu;&plussim;&plustwo;1&mcomma;&minusdu;2&loplus;&roplus;&Cross;&timesd;&timesbar;1&smashp;&lotimes;&rotimes;&otimesas;&Otimes;&odiv;&triplus;&triminus;&tritime;&intprod;2&amalg;&capdot;1&ncup;&ncap;&capand;&cupor;&cupcap;&capcup;&cupbrcap;&capbrcup;&cupcup;&capcap;&ccups;&ccaps;2&ccupssm;2&And;&Or;&andand;&oror;&orslope;&andslope;1&andv;&orv;&andd;&ord;1&wedbar;6&sdote;3&simdot;2&congdot;{mw&ncongdot;}&easter;&apacir;&apE;{mw&napE;}&eplus;&pluse;&Esim;&Colone;&Equal;1&ddotseq;&equivDD;&ltcir;&gtcir;&ltquest;&gtquest;&leqslant;{mw&nleqslant;}&geqslant;{mw&ngeqslant;}&lesdot;&gesdot;&lesdoto;&gesdoto;&lesdotor;&gesdotol;&lap;&gap;&lne;&gne;&lnap;&gnap;&lEg;&gEl;&lsime;&gsime;&lsimg;&gsiml;&lgE;&glE;&lesges;&gesles;&els;&egs;&elsdot;&egsdot;&el;&eg;2&siml;&simg;&simlE;&simgE;&LessLess;{mw&NotNestedLessLess;}&GreaterGreater;{mw&NotNestedGreaterGreater;}1&glj;&gla;&ltcc;&gtcc;&lescc;&gescc;&smt;&lat;&smte;{1e68&smtes;}&late;{1e68&lates;}&bumpE;&PrecedesEqual;{mw&NotPrecedesEqual;}&sce;{mw&NotSucceedsEqual;}2&prE;&scE;&precneqq;&scnE;&prap;&scap;&precnapprox;&scnap;&Pr;&Sc;&subdot;&supdot;&subplus;&supplus;&submult;&supmult;&subedot;&supedot;&subE;{mw&nsubE;}&supE;{mw&nsupE;}&subsim;&supsim;2&subnE;{1e68&varsubsetneqq;}&supnE;{1e68&varsupsetneqq;}2&csub;&csup;&csube;&csupe;&subsup;&supsub;&subsub;&supsup;&suphsub;&supdsub;&forkv;&topfork;&mlcp;8&Dashv;1&Vdashl;&Barv;&vBar;&vBarv;1&Vbar;&Not;&bNot;&rnmid;&cirmid;&midcir;&topcir;&nhpar;&parsim;9&parsl;{6hx&nparsl;}y7r{17ks&Ascr;1&Cscr;&Dscr;2&Gscr;2&Jscr;&Kscr;2&Nscr;&Oscr;&Pscr;&Qscr;1&Sscr;&Tscr;&Uscr;&Vscr;&Wscr;&Xscr;&Yscr;&Zscr;&ascr;&bscr;&cscr;&dscr;1&fscr;1&hscr;&iscr;&jscr;&kscr;&lscr;&mscr;&nscr;1&pscr;&qscr;&rscr;&sscr;&tscr;&uscr;&vscr;&wscr;&xscr;&yscr;&zscr;1g&Afr;&Bfr;1&Dfr;&Efr;&Ffr;&Gfr;2&Jfr;&Kfr;&Lfr;&Mfr;&Nfr;&Ofr;&Pfr;&Qfr;1&Sfr;&Tfr;&Ufr;&Vfr;&Wfr;&Xfr;&Yfr;1&afr;&bfr;&cfr;&dfr;&efr;&ffr;&gfr;&hfr;&ifr;&jfr;&kfr;&lfr;&mfr;&nfr;&ofr;&pfr;&qfr;&rfr;&sfr;&tfr;&ufr;&vfr;&wfr;&xfr;&yfr;&zfr;&Aopf;&Bopf;1&Dopf;&Eopf;&Fopf;&Gopf;1&Iopf;&Jopf;&Kopf;&Lopf;&Mopf;1&Oopf;3&Sopf;&Topf;&Uopf;&Vopf;&Wopf;&Xopf;&Yopf;1&aopf;&bopf;&copf;&dopf;&eopf;&fopf;&gopf;&hopf;&iopf;&jopf;&kopf;&lopf;&mopf;&nopf;&oopf;&popf;&qopf;&ropf;&sopf;&topf;&uopf;&vopf;&wopf;&xopf;&yopf;&zopf;}6ve&fflig;&filig;&fllig;&ffilig;&ffllig;"), wn = /* @__PURE__ */ new Uint32Array([
1167
+ const yn = /* @__PURE__ */ wn("9&Tab;&NewLine;m&excl;&quot;&num;&dollar;&percnt;&amp;&apos;&lpar;&rpar;&ast;&plus;&comma;1&period;&sol;a&colon;&semi;&lt;{6he&nvlt;}&equals;{6hx&bne;}&gt;{6he&nvgt;}&quest;&commat;q&lbrack;&bsol;&rbrack;&Hat;&lowbar;&DiacriticalGrave;5{2y&fjlig;}k&lbrace;&verbar;&rbrace;y&nbsp;&iexcl;&cent;&pound;&curren;&yen;&brvbar;&sect;&die;&copy;&ordf;&laquo;&not;&shy;&circledR;&macr;&deg;&PlusMinus;&sup2;&sup3;&acute;&micro;&para;&centerdot;&cedil;&sup1;&ordm;&raquo;&frac14;&frac12;&frac34;&iquest;&Agrave;&Aacute;&Acirc;&Atilde;&Auml;&angst;&AElig;&Ccedil;&Egrave;&Eacute;&Ecirc;&Euml;&Igrave;&Iacute;&Icirc;&Iuml;&ETH;&Ntilde;&Ograve;&Oacute;&Ocirc;&Otilde;&Ouml;&times;&Oslash;&Ugrave;&Uacute;&Ucirc;&Uuml;&Yacute;&THORN;&szlig;&agrave;&aacute;&acirc;&atilde;&auml;&aring;&aelig;&ccedil;&egrave;&eacute;&ecirc;&euml;&igrave;&iacute;&icirc;&iuml;&eth;&ntilde;&ograve;&oacute;&ocirc;&otilde;&ouml;&div;&oslash;&ugrave;&uacute;&ucirc;&uuml;&yacute;&thorn;&yuml;&Amacr;&amacr;&Abreve;&abreve;&Aogon;&aogon;&Cacute;&cacute;&Ccirc;&ccirc;&Cdot;&cdot;&Ccaron;&ccaron;&Dcaron;&dcaron;&Dstrok;&dstrok;&Emacr;&emacr;2&Edot;&edot;&Eogon;&eogon;&Ecaron;&ecaron;&Gcirc;&gcirc;&Gbreve;&gbreve;&Gdot;&gdot;&Gcedil;1&Hcirc;&hcirc;&Hstrok;&hstrok;&Itilde;&itilde;&Imacr;&imacr;2&Iogon;&iogon;&Idot;&imath;&IJlig;&ijlig;&Jcirc;&jcirc;&Kcedil;&kcedil;&kgreen;&Lacute;&lacute;&Lcedil;&lcedil;&Lcaron;&lcaron;&Lmidot;&lmidot;&Lstrok;&lstrok;&Nacute;&nacute;&Ncedil;&ncedil;&Ncaron;&ncaron;&napos;&ENG;&eng;&Omacr;&omacr;2&Odblac;&odblac;&OElig;&oelig;&Racute;&racute;&Rcedil;&rcedil;&Rcaron;&rcaron;&Sacute;&sacute;&Scirc;&scirc;&Scedil;&scedil;&Scaron;&scaron;&Tcedil;&tcedil;&Tcaron;&tcaron;&Tstrok;&tstrok;&Utilde;&utilde;&Umacr;&umacr;&Ubreve;&ubreve;&Uring;&uring;&Udblac;&udblac;&Uogon;&uogon;&Wcirc;&wcirc;&Ycirc;&ycirc;&Yuml;&Zacute;&zacute;&Zdot;&zdot;&Zcaron;&zcaron;j&fnof;y&imped;1r&gacute;1t&jmath;3y&circ;&caron;g&breve;&DiacriticalDot;&ring;&ogon;&DiacriticalTilde;&dblac;1f&DownBreve;3j&Alpha;&Beta;&Gamma;&Delta;&Epsilon;&Zeta;&Eta;&Theta;&Iota;&Kappa;&Lambda;&Mu;&Nu;&Xi;&Omicron;&Pi;&Rho;1&Sigma;&Tau;&Upsilon;&Phi;&Chi;&Psi;&ohm;7&alpha;&beta;&gamma;&delta;&epsi;&zeta;&eta;&theta;&iota;&kappa;&lambda;&mu;&nu;&xi;&omicron;&pi;&rho;&sigmaf;&sigma;&tau;&upsi;&phi;&chi;&psi;&omega;7&thetasym;&Upsi;2&phiv;&piv;5&Gammad;&digamma;i&kappav;&rhov;3&epsiv;&backepsilon;a&IOcy;&DJcy;&GJcy;&Jukcy;&DScy;&Iukcy;&YIcy;&Jsercy;&LJcy;&NJcy;&TSHcy;&KJcy;1&Ubrcy;&DZcy;&Acy;&Bcy;&Vcy;&Gcy;&Dcy;&IEcy;&ZHcy;&Zcy;&Icy;&Jcy;&Kcy;&Lcy;&Mcy;&Ncy;&Ocy;&Pcy;&Rcy;&Scy;&Tcy;&Ucy;&Fcy;&KHcy;&TScy;&CHcy;&SHcy;&SHCHcy;&HARDcy;&Ycy;&SOFTcy;&Ecy;&YUcy;&YAcy;&acy;&bcy;&vcy;&gcy;&dcy;&iecy;&zhcy;&zcy;&icy;&jcy;&kcy;&lcy;&mcy;&ncy;&ocy;&pcy;&rcy;&scy;&tcy;&ucy;&fcy;&khcy;&tscy;&chcy;&shcy;&shchcy;&hardcy;&ycy;&softcy;&ecy;&yucy;&yacy;1&iocy;&djcy;&gjcy;&jukcy;&dscy;&iukcy;&yicy;&jsercy;&ljcy;&njcy;&tshcy;&kjcy;1&ubrcy;&dzcy;5gi&ensp;&emsp;&emsp13;&emsp14;1&numsp;&puncsp;&ThinSpace;&hairsp;&NegativeMediumSpace;&zwnj;&zwj;&lrm;&rlm;&dash;2&ndash;&mdash;&horbar;&Verbar;1&lsquo;&CloseCurlyQuote;&lsquor;1&ldquo;&CloseCurlyDoubleQuote;&bdquo;1&dagger;&Dagger;&bull;2&nldr;&hellip;9&permil;&pertenk;&prime;&Prime;&tprime;&backprime;3&lsaquo;&rsaquo;3&oline;2&caret;1&hybull;&frasl;a&bsemi;7&qprime;7&MediumSpace;{6bu&ThickSpace;}&NoBreak;&af;&InvisibleTimes;&ic;20&euro;1a&tdot;&DotDot;11&complexes;2&incare;4&gscr;&hamilt;&Hfr;&Hopf;&planckh;&hbar;&imagline;&Ifr;&lagran;&ell;1&naturals;&numero;&copysr;&weierp;&Popf;&Qopf;&realine;&real;&reals;&rx;3&trade;1&integers;2&mho;&zeetrf;&iiota;2&bernou;&Cayleys;1&escr;&Escr;&Fouriertrf;1&Mellintrf;&order;&alefsym;&beth;&gimel;&daleth;c&CapitalDifferentialD;&dd;&ee;&ii;a&frac13;&frac23;&frac15;&frac25;&frac35;&frac45;&frac16;&frac56;&frac18;&frac38;&frac58;&frac78;1d&larr;&ShortUpArrow;&rarr;&darr;&harr;&updownarrow;&nwarr;&nearr;&LowerRightArrow;&LowerLeftArrow;&nlarr;&nrarr;1&rarrw;{mw&nrarrw;}&Larr;&Uarr;&Rarr;&Darr;&larrtl;&rarrtl;&LeftTeeArrow;&mapstoup;&map;&DownTeeArrow;1&hookleftarrow;&hookrightarrow;&larrlp;&looparrowright;&harrw;&nharr;1&lsh;&rsh;&ldsh;&rdsh;1&crarr;&cularr;&curarr;2&circlearrowleft;&circlearrowright;&leftharpoonup;&DownLeftVector;&RightUpVector;&LeftUpVector;&rharu;&DownRightVector;&dharr;&dharl;&RightArrowLeftArrow;&udarr;&LeftArrowRightArrow;&leftleftarrows;&upuparrows;&rightrightarrows;&ddarr;&leftrightharpoons;&Equilibrium;&nlArr;&nhArr;&nrArr;&DoubleLeftArrow;&DoubleUpArrow;&DoubleRightArrow;&dArr;&DoubleLeftRightArrow;&DoubleUpDownArrow;&nwArr;&neArr;&seArr;&swArr;&lAarr;&rAarr;1&zigrarr;6&larrb;&rarrb;f&DownArrowUpArrow;7&loarr;&roarr;&hoarr;&forall;&comp;&part;{mw&npart;}&exist;&nexist;&empty;1&Del;&Element;&NotElement;1&ni;&notni;2&prod;&coprod;&sum;&minus;&MinusPlus;&dotplus;1&Backslash;&lowast;&compfn;1&radic;2&prop;&infin;&angrt;&ang;{6he&nang;}&angmsd;&angsph;&mid;&nmid;&DoubleVerticalBar;&NotDoubleVerticalBar;&and;&or;&cap;{1e68&caps;}&cup;{1e68&cups;}&int;&Int;&iiint;&conint;&Conint;&Cconint;&cwint;&ClockwiseContourIntegral;&awconint;&there4;&becaus;&ratio;&Colon;&dotminus;1&mDDot;&homtht;&sim;{6he&nvsim;}&backsim;{mp&race;}&ac;{mr&acE;}&acd;&VerticalTilde;&NotTilde;&eqsim;{mw&nesim;}&sime;&NotTildeEqual;&cong;&simne;&ncong;&ap;&nap;&ape;&apid;{mw&napid;}&backcong;&asympeq;{6he&nvap;}&bump;{mw&nbump;}&bumpe;{mw&nbumpe;}&doteq;{mw&nedot;}&doteqdot;&efDot;&erDot;&Assign;&ecolon;&ecir;&circeq;1&wedgeq;&veeeq;1&triangleq;2&equest;&ne;&Congruent;{6hx&bnequiv;}&nequiv;1&le;{6he&nvle;}&ge;{6he&nvge;}&lE;{mw&nlE;}&gE;{mw&ngE;}&lnE;{1e68&lvertneqq;}&gnE;{1e68&gvertneqq;}&ll;{mw&nLtv;5uh&nLt;}&gg;{mw&nGtv;5uh&nGt;}&between;&NotCupCap;&nless;&ngt;&nle;&nge;&lesssim;&GreaterTilde;&nlsim;&ngsim;&LessGreater;&gl;&NotLessGreater;&NotGreaterLess;&pr;&sc;&prcue;&sccue;&PrecedesTilde;&scsim;{mw&NotSucceedsTilde;}&NotPrecedes;&NotSucceeds;&sub;{6he&NotSubset;}&sup;{6he&NotSuperset;}&nsub;&nsup;&sube;&supe;&NotSubsetEqual;&NotSupersetEqual;&subne;{1e68&varsubsetneq;}&supne;{1e68&varsupsetneq;}1&cupdot;&UnionPlus;&sqsub;{mw&NotSquareSubset;}&sqsup;{mw&NotSquareSuperset;}&sqsube;&sqsupe;&sqcap;{1e68&sqcaps;}&sqcup;{1e68&sqcups;}&CirclePlus;&CircleMinus;&CircleTimes;&osol;&CircleDot;&circledcirc;&circledast;1&circleddash;&boxplus;&boxminus;&boxtimes;&dotsquare;&RightTee;&dashv;&DownTee;&bot;1&models;&DoubleRightTee;&Vdash;&Vvdash;&VDash;&nvdash;&nvDash;&nVdash;&nVDash;&prurel;1&LeftTriangle;&RightTriangle;&LeftTriangleEqual;{6he&nvltrie;}&RightTriangleEqual;{6he&nvrtrie;}&origof;&imof;&multimap;&hercon;&intcal;&veebar;1&barvee;&angrtvb;&lrtri;&bigwedge;&bigvee;&bigcap;&bigcup;&diam;&sdot;&sstarf;&divideontimes;&bowtie;&ltimes;&rtimes;&leftthreetimes;&rightthreetimes;&backsimeq;&curlyvee;&curlywedge;&Sub;&Sup;&Cap;&Cup;&fork;&epar;&lessdot;&gtdot;&Ll;{mw&nLl;}&Gg;{mw&nGg;}&leg;{1e68&lesg;}&gel;{1e68&gesl;}2&cuepr;&cuesc;&NotPrecedesSlantEqual;&NotSucceedsSlantEqual;&NotSquareSubsetEqual;&NotSquareSupersetEqual;2&lnsim;&gnsim;&precnsim;&scnsim;&nltri;&NotRightTriangle;&nltrie;&NotRightTriangleEqual;&vellip;&ctdot;&utdot;&dtdot;&disin;&isinsv;&isins;&isindot;{mw&notindot;}&notinvc;&notinvb;1&isinE;{mw&notinE;}&nisd;&xnis;&nis;&notnivc;&notnivb;6&barwed;&Barwed;1&lceil;&rceil;&LeftFloor;&rfloor;&drcrop;&dlcrop;&urcrop;&ulcrop;&bnot;1&profline;&profsurf;1&telrec;&target;5&ulcorn;&urcorn;&dlcorn;&drcorn;2&frown;&smile;9&cylcty;&profalar;7&topbot;6&ovbar;1&solbar;1o&angzarr;1f&lmoustache;&rmoustache;2&OverBracket;&bbrk;&bbrktbrk;11&OverParenthesis;&UnderParenthesis;&OverBrace;&UnderBrace;2&trpezium;4&elinters;1n&blank;4k&circledS;1j&boxh;1&boxv;9&boxdr;3&boxdl;3&boxur;3&boxul;3&boxvr;7&boxvl;7&boxhd;7&boxhu;7&boxvh;j&boxH;&boxV;&boxdR;&boxDr;&boxDR;&boxdL;&boxDl;&boxDL;&boxuR;&boxUr;&boxUR;&boxuL;&boxUl;&boxUL;&boxvR;&boxVr;&boxVR;&boxvL;&boxVl;&boxVL;&boxHd;&boxhD;&boxHD;&boxHu;&boxhU;&boxHU;&boxvH;&boxVh;&boxVH;j&uhblk;3&lhblk;3&block;8&blk14;&blk12;&blk34;d&square;8&blacksquare;&EmptyVerySmallSquare;1&rect;&marker;2&fltns;1&bigtriangleup;&blacktriangle;&triangle;2&blacktriangleright;&rtri;3&bigtriangledown;&blacktriangledown;&dtri;2&blacktriangleleft;&ltri;6&loz;&cir;w&tridot;2&bigcirc;8&ultri;&urtri;&lltri;&EmptySmallSquare;&FilledSmallSquare;8&bigstar;&star;7&phone;1d&female;1&male;t&spades;2&clubs;1&hearts;&diamondsuit;3&sung;2&flat;&natural;&sharp;4j&check;3&cross;8&malt;l&sext;x&VerticalSeparator;p&lbbrk;&rbbrk;2c&bsolhsub;&suphsol;s&LeftDoubleBracket;&RightDoubleBracket;&lang;&rang;&Lang;&Rang;&loang;&roang;7&longleftarrow;&longrightarrow;&longleftrightarrow;&DoubleLongLeftArrow;&DoubleLongRightArrow;&DoubleLongLeftRightArrow;1&longmapsto;2&dzigrarr;76&nvlArr;&nvrArr;&nvHarr;&Map;6&lbarr;&bkarow;&lBarr;&dbkarow;&drbkarow;&DDotrahd;&UpArrowBar;&DownArrowBar;2&Rarrtl;2&latail;&ratail;&lAtail;&rAtail;&larrfs;&rarrfs;&larrbfs;&rarrbfs;2&nwarhk;&nearhk;&hksearow;&hkswarow;&nwnear;&nesear;&seswar;&swnwar;8&rarrc;{mw&nrarrc;}1&cudarrr;&ldca;&rdca;&cudarrl;&larrpl;2&curarrm;&cularrp;7&rarrpl;2&harrcir;&Uarrocir;&lurdshar;&ldrushar;2&LeftRightVector;&RightUpDownVector;&DownLeftRightVector;&LeftUpDownVector;&LeftVectorBar;&RightVectorBar;&RightUpVectorBar;&RightDownVectorBar;&DownLeftVectorBar;&DownRightVectorBar;&LeftUpVectorBar;&LeftDownVectorBar;&LeftTeeVector;&RightTeeVector;&RightUpTeeVector;&RightDownTeeVector;&DownLeftTeeVector;&DownRightTeeVector;&LeftUpTeeVector;&LeftDownTeeVector;&lHar;&uHar;&rHar;&dHar;&luruhar;&ldrdhar;&ruluhar;&rdldhar;&lharul;&llhard;&rharul;&lrhard;&udhar;&duhar;&RoundImplies;&erarr;&simrarr;&larrsim;&rarrsim;&rarrap;&ltlarr;1&gtrarr;&subrarr;1&suplarr;&lfisht;&rfisht;&ufisht;&dfisht;5&lopar;&ropar;4&lbrke;&rbrke;&lbrkslu;&rbrksld;&lbrksld;&rbrkslu;&langd;&rangd;&lparlt;&rpargt;&gtlPar;&ltrPar;3&vzigzag;1&vangrt;&angrtvbd;6&ange;&range;&dwangle;&uwangle;&angmsdaa;&angmsdab;&angmsdac;&angmsdad;&angmsdae;&angmsdaf;&angmsdag;&angmsdah;&bemptyv;&demptyv;&cemptyv;&raemptyv;&laemptyv;&ohbar;&omid;&opar;1&operp;1&olcross;&odsold;1&olcir;&ofcir;&olt;&ogt;&cirscir;&cirE;&solb;&bsolb;3&boxbox;3&trisb;&rtriltri;&LeftTriangleBar;{mw&NotLeftTriangleBar;}&RightTriangleBar;{mw&NotRightTriangleBar;}b&iinfin;&infintie;&nvinfin;4&eparsl;&smeparsl;&eqvparsl;5&blacklozenge;8&RuleDelayed;1&dsol;9&bigodot;&bigoplus;&bigotimes;1&biguplus;1&bigsqcup;5&iiiint;&fpartint;2&cirfnint;&awint;&rppolint;&scpolint;&npolint;&pointint;&quatint;&intlarhk;a&pluscir;&plusacir;&simplus;&plusdu;&plussim;&plustwo;1&mcomma;&minusdu;2&loplus;&roplus;&Cross;&timesd;&timesbar;1&smashp;&lotimes;&rotimes;&otimesas;&Otimes;&odiv;&triplus;&triminus;&tritime;&intprod;2&amalg;&capdot;1&ncup;&ncap;&capand;&cupor;&cupcap;&capcup;&cupbrcap;&capbrcup;&cupcup;&capcap;&ccups;&ccaps;2&ccupssm;2&And;&Or;&andand;&oror;&orslope;&andslope;1&andv;&orv;&andd;&ord;1&wedbar;6&sdote;3&simdot;2&congdot;{mw&ncongdot;}&easter;&apacir;&apE;{mw&napE;}&eplus;&pluse;&Esim;&Colone;&Equal;1&ddotseq;&equivDD;&ltcir;&gtcir;&ltquest;&gtquest;&leqslant;{mw&nleqslant;}&geqslant;{mw&ngeqslant;}&lesdot;&gesdot;&lesdoto;&gesdoto;&lesdotor;&gesdotol;&lap;&gap;&lne;&gne;&lnap;&gnap;&lEg;&gEl;&lsime;&gsime;&lsimg;&gsiml;&lgE;&glE;&lesges;&gesles;&els;&egs;&elsdot;&egsdot;&el;&eg;2&siml;&simg;&simlE;&simgE;&LessLess;{mw&NotNestedLessLess;}&GreaterGreater;{mw&NotNestedGreaterGreater;}1&glj;&gla;&ltcc;&gtcc;&lescc;&gescc;&smt;&lat;&smte;{1e68&smtes;}&late;{1e68&lates;}&bumpE;&PrecedesEqual;{mw&NotPrecedesEqual;}&sce;{mw&NotSucceedsEqual;}2&prE;&scE;&precneqq;&scnE;&prap;&scap;&precnapprox;&scnap;&Pr;&Sc;&subdot;&supdot;&subplus;&supplus;&submult;&supmult;&subedot;&supedot;&subE;{mw&nsubE;}&supE;{mw&nsupE;}&subsim;&supsim;2&subnE;{1e68&varsubsetneqq;}&supnE;{1e68&varsupsetneqq;}2&csub;&csup;&csube;&csupe;&subsup;&supsub;&subsub;&supsup;&suphsub;&supdsub;&forkv;&topfork;&mlcp;8&Dashv;1&Vdashl;&Barv;&vBar;&vBarv;1&Vbar;&Not;&bNot;&rnmid;&cirmid;&midcir;&topcir;&nhpar;&parsim;9&parsl;{6hx&nparsl;}y7r{17ks&Ascr;1&Cscr;&Dscr;2&Gscr;2&Jscr;&Kscr;2&Nscr;&Oscr;&Pscr;&Qscr;1&Sscr;&Tscr;&Uscr;&Vscr;&Wscr;&Xscr;&Yscr;&Zscr;&ascr;&bscr;&cscr;&dscr;1&fscr;1&hscr;&iscr;&jscr;&kscr;&lscr;&mscr;&nscr;1&pscr;&qscr;&rscr;&sscr;&tscr;&uscr;&vscr;&wscr;&xscr;&yscr;&zscr;1g&Afr;&Bfr;1&Dfr;&Efr;&Ffr;&Gfr;2&Jfr;&Kfr;&Lfr;&Mfr;&Nfr;&Ofr;&Pfr;&Qfr;1&Sfr;&Tfr;&Ufr;&Vfr;&Wfr;&Xfr;&Yfr;1&afr;&bfr;&cfr;&dfr;&efr;&ffr;&gfr;&hfr;&ifr;&jfr;&kfr;&lfr;&mfr;&nfr;&ofr;&pfr;&qfr;&rfr;&sfr;&tfr;&ufr;&vfr;&wfr;&xfr;&yfr;&zfr;&Aopf;&Bopf;1&Dopf;&Eopf;&Fopf;&Gopf;1&Iopf;&Jopf;&Kopf;&Lopf;&Mopf;1&Oopf;3&Sopf;&Topf;&Uopf;&Vopf;&Wopf;&Xopf;&Yopf;1&aopf;&bopf;&copf;&dopf;&eopf;&fopf;&gopf;&hopf;&iopf;&jopf;&kopf;&lopf;&mopf;&nopf;&oopf;&popf;&qopf;&ropf;&sopf;&topf;&uopf;&vopf;&wopf;&xopf;&yopf;&zopf;}6ve&fflig;&filig;&fllig;&ffilig;&ffllig;"), En = /* @__PURE__ */ new Uint32Array([
1172
1168
  5632,
1173
1169
  // Bits for 09,0A,0C
1174
1170
  4227923966,
@@ -1177,39 +1173,39 @@ const Cn = /* @__PURE__ */ In("9&Tab;&NewLine;m&excl;&quot;&num;&dollar;&percnt;
1177
1173
  // 64..95 -> 40, 5B-5F
1178
1174
  939524097
1179
1175
  // 96..127-> 60, 7B-7D
1180
- ]), yn = /* @__PURE__ */ new Uint32Array([0, _e, 0, 0]);
1181
- function En(t) {
1182
- return $e(wn, t);
1176
+ ]), kn = /* @__PURE__ */ new Uint32Array([0, tt, 0, 0]);
1177
+ function Bn(t) {
1178
+ return nt(En, t);
1183
1179
  }
1184
- function kn(t) {
1185
- return $e(yn, t);
1180
+ function Sn(t) {
1181
+ return nt(kn, t);
1186
1182
  }
1187
- function $e(t, e) {
1183
+ function nt(t, e) {
1188
1184
  let n, o = 0;
1189
- const { length: s } = e;
1190
- for (let r = 0; r < s; r++) {
1185
+ const { length: A } = e;
1186
+ for (let r = 0; r < A; r++) {
1191
1187
  const i = e.charCodeAt(r);
1192
1188
  if (i < 128 && !(t[i >>> 5] >>> i & 1))
1193
1189
  continue;
1194
1190
  n === void 0 ? n = e.substring(0, r) : o !== r && (n += e.substring(o, r));
1195
- let A = Cn.get(i);
1196
- if (typeof A == "object") {
1197
- if (r + 1 < s) {
1198
- const c = e.charCodeAt(r + 1), a = typeof A.next == "number" ? A.next === c ? A.nextValue : void 0 : A.next.get(c);
1199
- if (a !== void 0) {
1200
- n += a, r++, o = r + 1;
1191
+ let s = yn.get(i);
1192
+ if (typeof s == "object") {
1193
+ if (r + 1 < A) {
1194
+ const a = e.charCodeAt(r + 1), c = typeof s.next == "number" ? s.next === a ? s.nextValue : void 0 : s.next.get(a);
1195
+ if (c !== void 0) {
1196
+ n += c, r++, o = r + 1;
1201
1197
  continue;
1202
1198
  }
1203
1199
  }
1204
- A = A.value;
1200
+ s = s.value;
1205
1201
  }
1206
- if (A === void 0) {
1207
- const c = qe(e, r);
1208
- n += `&#x${c.toString(16)};`, c !== i && r++, o = r + 1;
1202
+ if (s === void 0) {
1203
+ const a = et(e, r);
1204
+ n += `&#x${a.toString(16)};`, a !== i && r++, o = r + 1;
1209
1205
  } else
1210
- n += A, o = r + 1;
1206
+ n += s, o = r + 1;
1211
1207
  }
1212
- return n === void 0 ? e : (o < s && (n += e.substr(o)), n);
1208
+ return n === void 0 ? e : (o < A && (n += e.substr(o)), n);
1213
1209
  }
1214
1210
  var T;
1215
1211
  (function(t) {
@@ -1223,82 +1219,82 @@ function be(t, e = T.XML) {
1223
1219
  const { mode: n = Q.Extensive, level: o = T.XML } = typeof e == "number" ? { level: e } : e;
1224
1220
  switch (n) {
1225
1221
  case Q.UTF8:
1226
- return mn(t);
1222
+ return vn(t);
1227
1223
  case Q.Attribute:
1228
- return bn(t);
1224
+ return In(t);
1229
1225
  case Q.Text:
1230
- return vn(t);
1226
+ return Cn(t);
1231
1227
  case Q.ASCII:
1232
- return o === T.HTML ? kn(t) : Qe(t);
1228
+ return o === T.HTML ? Sn(t) : Ke(t);
1233
1229
  // biome-ignore lint/complexity/noUselessSwitchCase: we get an error for the switch not being exhaustive
1234
1230
  case Q.Extensive:
1235
1231
  // eslint-disable-line unicorn/no-useless-switch-case
1236
1232
  default:
1237
- return o === T.HTML ? En(t) : Qe(t);
1233
+ return o === T.HTML ? Bn(t) : Ke(t);
1238
1234
  }
1239
1235
  }
1240
- const Bn = "<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\/script>", Sn = "<style\\b[^<]*(?:(?!<\\/style>)<[^<]*)*</style>", xn = "<([^>]+)>", Dn = "&.*?;", Rn = [Bn, Sn, xn, Dn], Fn = "(" + Rn.join("|") + ")", et = fe(["BR", "P", "DIV"]), Zn = fe(["BR"]);
1241
- function Mn(t) {
1236
+ const xn = "<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\/script>", Dn = "<style\\b[^<]*(?:(?!<\\/style>)<[^<]*)*</style>", Rn = "<([^>]+)>", Fn = "&.*?;", Zn = [xn, Dn, Rn, Fn], Mn = "(" + Zn.join("|") + ")", rt = fe(["BR", "P", "DIV"]), Wn = fe(["BR"]);
1237
+ function Hn(t) {
1242
1238
  const [e = "", n = "", o = ""] = (/^<(\/?)(\w+)/i.exec(t.toUpperCase()) || []).slice(1);
1243
- return n && (Zn[n] || et[n] && (e || o)) ? `
1239
+ return n && (Wn[n] || rt[n] && (e || o)) ? `
1244
1240
  ` : "";
1245
1241
  }
1246
- function Wn(t) {
1247
- const e = new RegExp(Fn, "ig"), n = [];
1242
+ function Qn(t) {
1243
+ const e = new RegExp(Mn, "ig"), n = [];
1248
1244
  let o = 0;
1249
- return [t.replace(e, (r, i, A, c) => {
1250
- const a = r.startsWith("&") ? pn(r) : Mn(r);
1251
- return o -= r.length - a.length, n.push({
1252
- oldPosition: c + r.length,
1245
+ return [t.replace(e, (r, i, s, a) => {
1246
+ const c = r.startsWith("&") ? bn(r) : Hn(r);
1247
+ return o -= r.length - c.length, n.push({
1248
+ oldPosition: a + r.length,
1253
1249
  diffOffset: o
1254
- }), a;
1250
+ }), c;
1255
1251
  }), n];
1256
1252
  }
1257
- let tt = !1;
1253
+ let ot = !1;
1258
1254
  function H(t, ...e) {
1259
- tt && console.log(t, ...e);
1255
+ ot && console.log(t, ...e);
1260
1256
  }
1261
- function Jr() {
1262
- tt = !0;
1257
+ function Xr() {
1258
+ ot = !0;
1263
1259
  }
1264
- var Ae = { exports: {} }, Ke;
1265
- function Hn() {
1266
- return Ke || (Ke = 1, function(t) {
1260
+ var Ae = { exports: {} }, Ne;
1261
+ function Kn() {
1262
+ return Ne || (Ne = 1, (function(t) {
1267
1263
  var e = function() {
1268
1264
  this.Diff_Timeout = 1, this.Diff_EditCost = 4, this.Match_Threshold = 0.5, this.Match_Distance = 1e3, this.Patch_DeleteThreshold = 0.5, this.Patch_Margin = 4, this.Match_MaxBits = 32;
1269
- }, n = -1, o = 1, s = 0;
1265
+ }, n = -1, o = 1, A = 0;
1270
1266
  e.Diff = function(r, i) {
1271
1267
  return [r, i];
1272
- }, e.prototype.diff_main = function(r, i, A, c) {
1273
- typeof c > "u" && (this.Diff_Timeout <= 0 ? c = Number.MAX_VALUE : c = (/* @__PURE__ */ new Date()).getTime() + this.Diff_Timeout * 1e3);
1274
- var a = c;
1268
+ }, e.prototype.diff_main = function(r, i, s, a) {
1269
+ typeof a > "u" && (this.Diff_Timeout <= 0 ? a = Number.MAX_VALUE : a = (/* @__PURE__ */ new Date()).getTime() + this.Diff_Timeout * 1e3);
1270
+ var c = a;
1275
1271
  if (r == null || i == null)
1276
1272
  throw new Error("Null input. (diff_main)");
1277
1273
  if (r == i)
1278
- return r ? [new e.Diff(s, r)] : [];
1279
- typeof A > "u" && (A = !0);
1280
- var l = A, d = this.diff_commonPrefix(r, i), u = r.substring(0, d);
1274
+ return r ? [new e.Diff(A, r)] : [];
1275
+ typeof s > "u" && (s = !0);
1276
+ var l = s, d = this.diff_commonPrefix(r, i), u = r.substring(0, d);
1281
1277
  r = r.substring(d), i = i.substring(d), d = this.diff_commonSuffix(r, i);
1282
1278
  var g = r.substring(r.length - d);
1283
1279
  r = r.substring(0, r.length - d), i = i.substring(0, i.length - d);
1284
- var h = this.diff_compute_(r, i, l, a);
1285
- return u && h.unshift(new e.Diff(s, u)), g && h.push(new e.Diff(s, g)), this.diff_cleanupMerge(h), h;
1286
- }, e.prototype.diff_compute_ = function(r, i, A, c) {
1287
- var a;
1280
+ var h = this.diff_compute_(r, i, l, c);
1281
+ return u && h.unshift(new e.Diff(A, u)), g && h.push(new e.Diff(A, g)), this.diff_cleanupMerge(h), h;
1282
+ }, e.prototype.diff_compute_ = function(r, i, s, a) {
1283
+ var c;
1288
1284
  if (!r)
1289
1285
  return [new e.Diff(o, i)];
1290
1286
  if (!i)
1291
1287
  return [new e.Diff(n, r)];
1292
1288
  var l = r.length > i.length ? r : i, d = r.length > i.length ? i : r, u = l.indexOf(d);
1293
1289
  if (u != -1)
1294
- return a = [
1290
+ return c = [
1295
1291
  new e.Diff(o, l.substring(0, u)),
1296
- new e.Diff(s, d),
1292
+ new e.Diff(A, d),
1297
1293
  new e.Diff(
1298
1294
  o,
1299
1295
  l.substring(u + d.length)
1300
1296
  )
1301
- ], r.length > i.length && (a[0][0] = a[2][0] = n), a;
1297
+ ], r.length > i.length && (c[0][0] = c[2][0] = n), c;
1302
1298
  if (d.length == 1)
1303
1299
  return [
1304
1300
  new e.Diff(n, r),
@@ -1306,18 +1302,18 @@ function Hn() {
1306
1302
  ];
1307
1303
  var g = this.diff_halfMatch_(r, i);
1308
1304
  if (g) {
1309
- var h = g[0], f = g[1], p = g[2], m = g[3], v = g[4], I = this.diff_main(h, p, A, c), C = this.diff_main(f, m, A, c);
1305
+ var h = g[0], f = g[1], p = g[2], m = g[3], v = g[4], I = this.diff_main(h, p, s, a), C = this.diff_main(f, m, s, a);
1310
1306
  return I.concat(
1311
- [new e.Diff(s, v)],
1307
+ [new e.Diff(A, v)],
1312
1308
  C
1313
1309
  );
1314
1310
  }
1315
- return A && r.length > 100 && i.length > 100 ? this.diff_lineMode_(r, i, c) : this.diff_bisect_(r, i, c);
1316
- }, e.prototype.diff_lineMode_ = function(r, i, A) {
1317
- var c = this.diff_linesToChars_(r, i);
1318
- r = c.chars1, i = c.chars2;
1319
- var a = c.lineArray, l = this.diff_main(r, i, !1, A);
1320
- this.diff_charsToLines_(l, a), this.diff_cleanupSemantic(l), l.push(new e.Diff(s, ""));
1311
+ return s && r.length > 100 && i.length > 100 ? this.diff_lineMode_(r, i, a) : this.diff_bisect_(r, i, a);
1312
+ }, e.prototype.diff_lineMode_ = function(r, i, s) {
1313
+ var a = this.diff_linesToChars_(r, i);
1314
+ r = a.chars1, i = a.chars2;
1315
+ var c = a.lineArray, l = this.diff_main(r, i, !1, s);
1316
+ this.diff_charsToLines_(l, c), this.diff_cleanupSemantic(l), l.push(new e.Diff(A, ""));
1321
1317
  for (var d = 0, u = 0, g = 0, h = "", f = ""; d < l.length; ) {
1322
1318
  switch (l[d][0]) {
1323
1319
  case o:
@@ -1326,13 +1322,13 @@ function Hn() {
1326
1322
  case n:
1327
1323
  u++, h += l[d][1];
1328
1324
  break;
1329
- case s:
1325
+ case A:
1330
1326
  if (u >= 1 && g >= 1) {
1331
1327
  l.splice(
1332
1328
  d - u - g,
1333
1329
  u + g
1334
1330
  ), d = d - u - g;
1335
- for (var p = this.diff_main(h, f, !1, A), m = p.length - 1; m >= 0; m--)
1331
+ for (var p = this.diff_main(h, f, !1, s), m = p.length - 1; m >= 0; m--)
1336
1332
  l.splice(d, 0, p[m]);
1337
1333
  d = d + p.length;
1338
1334
  }
@@ -1342,44 +1338,44 @@ function Hn() {
1342
1338
  d++;
1343
1339
  }
1344
1340
  return l.pop(), l;
1345
- }, e.prototype.diff_bisect_ = function(r, i, A) {
1346
- for (var c = r.length, a = i.length, l = Math.ceil((c + a) / 2), d = l, u = 2 * l, g = new Array(u), h = new Array(u), f = 0; f < u; f++)
1341
+ }, e.prototype.diff_bisect_ = function(r, i, s) {
1342
+ for (var a = r.length, c = i.length, l = Math.ceil((a + c) / 2), d = l, u = 2 * l, g = new Array(u), h = new Array(u), f = 0; f < u; f++)
1347
1343
  g[f] = -1, h[f] = -1;
1348
1344
  g[d + 1] = 0, h[d + 1] = 0;
1349
- for (var p = c - a, m = p % 2 != 0, v = 0, I = 0, C = 0, E = 0, b = 0; b < l && !((/* @__PURE__ */ new Date()).getTime() > A); b++) {
1345
+ for (var p = a - c, m = p % 2 != 0, v = 0, I = 0, C = 0, E = 0, b = 0; b < l && !((/* @__PURE__ */ new Date()).getTime() > s); b++) {
1350
1346
  for (var w = -b + v; w <= b - I; w += 2) {
1351
1347
  var y = d + w, k;
1352
1348
  w == -b || w != b && g[y - 1] < g[y + 1] ? k = g[y + 1] : k = g[y - 1] + 1;
1353
- for (var R = k - w; k < c && R < a && r.charAt(k) == i.charAt(R); )
1349
+ for (var R = k - w; k < a && R < c && r.charAt(k) == i.charAt(R); )
1354
1350
  k++, R++;
1355
- if (g[y] = k, k > c)
1351
+ if (g[y] = k, k > a)
1356
1352
  I += 2;
1357
- else if (R > a)
1353
+ else if (R > c)
1358
1354
  v += 2;
1359
1355
  else if (m) {
1360
1356
  var x = d + p - w;
1361
1357
  if (x >= 0 && x < u && h[x] != -1) {
1362
- var S = c - h[x];
1358
+ var S = a - h[x];
1363
1359
  if (k >= S)
1364
- return this.diff_bisectSplit_(r, i, k, R, A);
1360
+ return this.diff_bisectSplit_(r, i, k, R, s);
1365
1361
  }
1366
1362
  }
1367
1363
  }
1368
1364
  for (var Z = -b + C; Z <= b - E; Z += 2) {
1369
1365
  var x = d + Z, S;
1370
1366
  Z == -b || Z != b && h[x - 1] < h[x + 1] ? S = h[x + 1] : S = h[x - 1] + 1;
1371
- for (var W = S - Z; S < c && W < a && r.charAt(c - S - 1) == i.charAt(a - W - 1); )
1367
+ for (var W = S - Z; S < a && W < c && r.charAt(a - S - 1) == i.charAt(c - W - 1); )
1372
1368
  S++, W++;
1373
- if (h[x] = S, S > c)
1369
+ if (h[x] = S, S > a)
1374
1370
  E += 2;
1375
- else if (W > a)
1371
+ else if (W > c)
1376
1372
  C += 2;
1377
1373
  else if (!m) {
1378
1374
  var y = d + p - Z;
1379
1375
  if (y >= 0 && y < u && g[y] != -1) {
1380
1376
  var k = g[y], R = d + k - y;
1381
- if (S = c - S, k >= S)
1382
- return this.diff_bisectSplit_(r, i, k, R, A);
1377
+ if (S = a - S, k >= S)
1378
+ return this.diff_bisectSplit_(r, i, k, R, s);
1383
1379
  }
1384
1380
  }
1385
1381
  }
@@ -1388,70 +1384,70 @@ function Hn() {
1388
1384
  new e.Diff(n, r),
1389
1385
  new e.Diff(o, i)
1390
1386
  ];
1391
- }, e.prototype.diff_bisectSplit_ = function(r, i, A, c, a) {
1392
- var l = r.substring(0, A), d = i.substring(0, c), u = r.substring(A), g = i.substring(c), h = this.diff_main(l, d, !1, a), f = this.diff_main(u, g, !1, a);
1387
+ }, e.prototype.diff_bisectSplit_ = function(r, i, s, a, c) {
1388
+ var l = r.substring(0, s), d = i.substring(0, a), u = r.substring(s), g = i.substring(a), h = this.diff_main(l, d, !1, c), f = this.diff_main(u, g, !1, c);
1393
1389
  return h.concat(f);
1394
1390
  }, e.prototype.diff_linesToChars_ = function(r, i) {
1395
- var A = [], c = {};
1396
- A[0] = "";
1397
- function a(g) {
1398
- for (var h = "", f = 0, p = -1, m = A.length; p < g.length - 1; ) {
1391
+ var s = [], a = {};
1392
+ s[0] = "";
1393
+ function c(g) {
1394
+ for (var h = "", f = 0, p = -1, m = s.length; p < g.length - 1; ) {
1399
1395
  p = g.indexOf(`
1400
1396
  `, f), p == -1 && (p = g.length - 1);
1401
1397
  var v = g.substring(f, p + 1);
1402
- (c.hasOwnProperty ? c.hasOwnProperty(v) : c[v] !== void 0) ? h += String.fromCharCode(c[v]) : (m == l && (v = g.substring(f), p = g.length), h += String.fromCharCode(m), c[v] = m, A[m++] = v), f = p + 1;
1398
+ (a.hasOwnProperty ? a.hasOwnProperty(v) : a[v] !== void 0) ? h += String.fromCharCode(a[v]) : (m == l && (v = g.substring(f), p = g.length), h += String.fromCharCode(m), a[v] = m, s[m++] = v), f = p + 1;
1403
1399
  }
1404
1400
  return h;
1405
1401
  }
1406
- var l = 4e4, d = a(r);
1402
+ var l = 4e4, d = c(r);
1407
1403
  l = 65535;
1408
- var u = a(i);
1409
- return { chars1: d, chars2: u, lineArray: A };
1404
+ var u = c(i);
1405
+ return { chars1: d, chars2: u, lineArray: s };
1410
1406
  }, e.prototype.diff_charsToLines_ = function(r, i) {
1411
- for (var A = 0; A < r.length; A++) {
1412
- for (var c = r[A][1], a = [], l = 0; l < c.length; l++)
1413
- a[l] = i[c.charCodeAt(l)];
1414
- r[A][1] = a.join("");
1407
+ for (var s = 0; s < r.length; s++) {
1408
+ for (var a = r[s][1], c = [], l = 0; l < a.length; l++)
1409
+ c[l] = i[a.charCodeAt(l)];
1410
+ r[s][1] = c.join("");
1415
1411
  }
1416
1412
  }, e.prototype.diff_commonPrefix = function(r, i) {
1417
1413
  if (!r || !i || r.charAt(0) != i.charAt(0))
1418
1414
  return 0;
1419
- for (var A = 0, c = Math.min(r.length, i.length), a = c, l = 0; A < a; )
1420
- r.substring(l, a) == i.substring(l, a) ? (A = a, l = A) : c = a, a = Math.floor((c - A) / 2 + A);
1421
- return a;
1415
+ for (var s = 0, a = Math.min(r.length, i.length), c = a, l = 0; s < c; )
1416
+ r.substring(l, c) == i.substring(l, c) ? (s = c, l = s) : a = c, c = Math.floor((a - s) / 2 + s);
1417
+ return c;
1422
1418
  }, e.prototype.diff_commonSuffix = function(r, i) {
1423
1419
  if (!r || !i || r.charAt(r.length - 1) != i.charAt(i.length - 1))
1424
1420
  return 0;
1425
- for (var A = 0, c = Math.min(r.length, i.length), a = c, l = 0; A < a; )
1426
- r.substring(r.length - a, r.length - l) == i.substring(i.length - a, i.length - l) ? (A = a, l = A) : c = a, a = Math.floor((c - A) / 2 + A);
1427
- return a;
1421
+ for (var s = 0, a = Math.min(r.length, i.length), c = a, l = 0; s < c; )
1422
+ r.substring(r.length - c, r.length - l) == i.substring(i.length - c, i.length - l) ? (s = c, l = s) : a = c, c = Math.floor((a - s) / 2 + s);
1423
+ return c;
1428
1424
  }, e.prototype.diff_commonOverlap_ = function(r, i) {
1429
- var A = r.length, c = i.length;
1430
- if (A == 0 || c == 0)
1425
+ var s = r.length, a = i.length;
1426
+ if (s == 0 || a == 0)
1431
1427
  return 0;
1432
- A > c ? r = r.substring(A - c) : A < c && (i = i.substring(0, A));
1433
- var a = Math.min(A, c);
1428
+ s > a ? r = r.substring(s - a) : s < a && (i = i.substring(0, s));
1429
+ var c = Math.min(s, a);
1434
1430
  if (r == i)
1435
- return a;
1431
+ return c;
1436
1432
  for (var l = 0, d = 1; ; ) {
1437
- var u = r.substring(a - d), g = i.indexOf(u);
1433
+ var u = r.substring(c - d), g = i.indexOf(u);
1438
1434
  if (g == -1)
1439
1435
  return l;
1440
- d += g, (g == 0 || r.substring(a - d) == i.substring(0, d)) && (l = d, d++);
1436
+ d += g, (g == 0 || r.substring(c - d) == i.substring(0, d)) && (l = d, d++);
1441
1437
  }
1442
1438
  }, e.prototype.diff_halfMatch_ = function(r, i) {
1443
1439
  if (this.Diff_Timeout <= 0)
1444
1440
  return null;
1445
- var A = r.length > i.length ? r : i, c = r.length > i.length ? i : r;
1446
- if (A.length < 4 || c.length * 2 < A.length)
1441
+ var s = r.length > i.length ? r : i, a = r.length > i.length ? i : r;
1442
+ if (s.length < 4 || a.length * 2 < s.length)
1447
1443
  return null;
1448
- var a = this;
1444
+ var c = this;
1449
1445
  function l(I, C, E) {
1450
1446
  for (var b = I.substring(E, E + Math.floor(I.length / 4)), w = -1, y = "", k, R, x, S; (w = C.indexOf(b, w + 1)) != -1; ) {
1451
- var Z = a.diff_commonPrefix(
1447
+ var Z = c.diff_commonPrefix(
1452
1448
  I.substring(E),
1453
1449
  C.substring(w)
1454
- ), W = a.diff_commonSuffix(
1450
+ ), W = c.diff_commonSuffix(
1455
1451
  I.substring(0, E),
1456
1452
  C.substring(0, w)
1457
1453
  );
@@ -1466,13 +1462,13 @@ function Hn() {
1466
1462
  ] : null;
1467
1463
  }
1468
1464
  var d = l(
1469
- A,
1470
- c,
1471
- Math.ceil(A.length / 4)
1465
+ s,
1466
+ a,
1467
+ Math.ceil(s.length / 4)
1472
1468
  ), u = l(
1473
- A,
1474
- c,
1475
- Math.ceil(A.length / 2)
1469
+ s,
1470
+ a,
1471
+ Math.ceil(s.length / 2)
1476
1472
  ), g;
1477
1473
  if (!d && !u)
1478
1474
  return null;
@@ -1482,23 +1478,23 @@ function Hn() {
1482
1478
  var v = g[4];
1483
1479
  return [h, f, p, m, v];
1484
1480
  }, e.prototype.diff_cleanupSemantic = function(r) {
1485
- for (var i = !1, A = [], c = 0, a = null, l = 0, d = 0, u = 0, g = 0, h = 0; l < r.length; )
1486
- r[l][0] == s ? (A[c++] = l, d = g, u = h, g = 0, h = 0, a = r[l][1]) : (r[l][0] == o ? g += r[l][1].length : h += r[l][1].length, a && a.length <= Math.max(d, u) && a.length <= Math.max(
1481
+ for (var i = !1, s = [], a = 0, c = null, l = 0, d = 0, u = 0, g = 0, h = 0; l < r.length; )
1482
+ r[l][0] == A ? (s[a++] = l, d = g, u = h, g = 0, h = 0, c = r[l][1]) : (r[l][0] == o ? g += r[l][1].length : h += r[l][1].length, c && c.length <= Math.max(d, u) && c.length <= Math.max(
1487
1483
  g,
1488
1484
  h
1489
1485
  ) && (r.splice(
1490
- A[c - 1],
1486
+ s[a - 1],
1491
1487
  0,
1492
- new e.Diff(n, a)
1493
- ), r[A[c - 1] + 1][0] = o, c--, c--, l = c > 0 ? A[c - 1] : -1, d = 0, u = 0, g = 0, h = 0, a = null, i = !0)), l++;
1488
+ new e.Diff(n, c)
1489
+ ), r[s[a - 1] + 1][0] = o, a--, a--, l = a > 0 ? s[a - 1] : -1, d = 0, u = 0, g = 0, h = 0, c = null, i = !0)), l++;
1494
1490
  for (i && this.diff_cleanupMerge(r), this.diff_cleanupSemanticLossless(r), l = 1; l < r.length; ) {
1495
1491
  if (r[l - 1][0] == n && r[l][0] == o) {
1496
1492
  var f = r[l - 1][1], p = r[l][1], m = this.diff_commonOverlap_(f, p), v = this.diff_commonOverlap_(p, f);
1497
1493
  m >= v ? (m >= f.length / 2 || m >= p.length / 2) && (r.splice(l, 0, new e.Diff(
1498
- s,
1494
+ A,
1499
1495
  p.substring(0, m)
1500
1496
  )), r[l - 1][1] = f.substring(0, f.length - m), r[l + 1][1] = p.substring(m), l++) : (v >= f.length / 2 || v >= p.length / 2) && (r.splice(l, 0, new e.Diff(
1501
- s,
1497
+ A,
1502
1498
  f.substring(0, v)
1503
1499
  )), r[l - 1][0] = o, r[l - 1][1] = p.substring(0, p.length - v), r[l + 1][0] = n, r[l + 1][1] = f.substring(v), l++), l++;
1504
1500
  }
@@ -1511,68 +1507,68 @@ function Hn() {
1511
1507
  var C = v.charAt(v.length - 1), E = I.charAt(0), b = C.match(e.nonAlphaNumericRegex_), w = E.match(e.nonAlphaNumericRegex_), y = b && C.match(e.whitespaceRegex_), k = w && E.match(e.whitespaceRegex_), R = y && C.match(e.linebreakRegex_), x = k && E.match(e.linebreakRegex_), S = R && v.match(e.blanklineEndRegex_), Z = x && I.match(e.blanklineStartRegex_);
1512
1508
  return S || Z ? 5 : R || x ? 4 : b && !y && k ? 3 : y || k ? 2 : b || w ? 1 : 0;
1513
1509
  }
1514
- for (var A = 1; A < r.length - 1; ) {
1515
- if (r[A - 1][0] == s && r[A + 1][0] == s) {
1516
- var c = r[A - 1][1], a = r[A][1], l = r[A + 1][1], d = this.diff_commonSuffix(c, a);
1510
+ for (var s = 1; s < r.length - 1; ) {
1511
+ if (r[s - 1][0] == A && r[s + 1][0] == A) {
1512
+ var a = r[s - 1][1], c = r[s][1], l = r[s + 1][1], d = this.diff_commonSuffix(a, c);
1517
1513
  if (d) {
1518
- var u = a.substring(a.length - d);
1519
- c = c.substring(0, c.length - d), a = u + a.substring(0, a.length - d), l = u + l;
1514
+ var u = c.substring(c.length - d);
1515
+ a = a.substring(0, a.length - d), c = u + c.substring(0, c.length - d), l = u + l;
1520
1516
  }
1521
- for (var g = c, h = a, f = l, p = i(c, a) + i(a, l); a.charAt(0) === l.charAt(0); ) {
1522
- c += a.charAt(0), a = a.substring(1) + l.charAt(0), l = l.substring(1);
1523
- var m = i(c, a) + i(a, l);
1524
- m >= p && (p = m, g = c, h = a, f = l);
1517
+ for (var g = a, h = c, f = l, p = i(a, c) + i(c, l); c.charAt(0) === l.charAt(0); ) {
1518
+ a += c.charAt(0), c = c.substring(1) + l.charAt(0), l = l.substring(1);
1519
+ var m = i(a, c) + i(c, l);
1520
+ m >= p && (p = m, g = a, h = c, f = l);
1525
1521
  }
1526
- r[A - 1][1] != g && (g ? r[A - 1][1] = g : (r.splice(A - 1, 1), A--), r[A][1] = h, f ? r[A + 1][1] = f : (r.splice(A + 1, 1), A--));
1522
+ r[s - 1][1] != g && (g ? r[s - 1][1] = g : (r.splice(s - 1, 1), s--), r[s][1] = h, f ? r[s + 1][1] = f : (r.splice(s + 1, 1), s--));
1527
1523
  }
1528
- A++;
1524
+ s++;
1529
1525
  }
1530
1526
  }, e.nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/, e.whitespaceRegex_ = /\s/, e.linebreakRegex_ = /[\r\n]/, e.blanklineEndRegex_ = /\n\r?\n$/, e.blanklineStartRegex_ = /^\r?\n\r?\n/, e.prototype.diff_cleanupEfficiency = function(r) {
1531
- for (var i = !1, A = [], c = 0, a = null, l = 0, d = !1, u = !1, g = !1, h = !1; l < r.length; )
1532
- r[l][0] == s ? (r[l][1].length < this.Diff_EditCost && (g || h) ? (A[c++] = l, d = g, u = h, a = r[l][1]) : (c = 0, a = null), g = h = !1) : (r[l][0] == n ? h = !0 : g = !0, a && (d && u && g && h || a.length < this.Diff_EditCost / 2 && d + u + g + h == 3) && (r.splice(
1533
- A[c - 1],
1527
+ for (var i = !1, s = [], a = 0, c = null, l = 0, d = !1, u = !1, g = !1, h = !1; l < r.length; )
1528
+ r[l][0] == A ? (r[l][1].length < this.Diff_EditCost && (g || h) ? (s[a++] = l, d = g, u = h, c = r[l][1]) : (a = 0, c = null), g = h = !1) : (r[l][0] == n ? h = !0 : g = !0, c && (d && u && g && h || c.length < this.Diff_EditCost / 2 && d + u + g + h == 3) && (r.splice(
1529
+ s[a - 1],
1534
1530
  0,
1535
- new e.Diff(n, a)
1536
- ), r[A[c - 1] + 1][0] = o, c--, a = null, d && u ? (g = h = !0, c = 0) : (c--, l = c > 0 ? A[c - 1] : -1, g = h = !1), i = !0)), l++;
1531
+ new e.Diff(n, c)
1532
+ ), r[s[a - 1] + 1][0] = o, a--, c = null, d && u ? (g = h = !0, a = 0) : (a--, l = a > 0 ? s[a - 1] : -1, g = h = !1), i = !0)), l++;
1537
1533
  i && this.diff_cleanupMerge(r);
1538
1534
  }, e.prototype.diff_cleanupMerge = function(r) {
1539
- r.push(new e.Diff(s, ""));
1540
- for (var i = 0, A = 0, c = 0, a = "", l = "", d; i < r.length; )
1535
+ r.push(new e.Diff(A, ""));
1536
+ for (var i = 0, s = 0, a = 0, c = "", l = "", d; i < r.length; )
1541
1537
  switch (r[i][0]) {
1542
1538
  case o:
1543
- c++, l += r[i][1], i++;
1539
+ a++, l += r[i][1], i++;
1544
1540
  break;
1545
1541
  case n:
1546
- A++, a += r[i][1], i++;
1542
+ s++, c += r[i][1], i++;
1547
1543
  break;
1548
- case s:
1549
- A + c > 1 ? (A !== 0 && c !== 0 && (d = this.diff_commonPrefix(l, a), d !== 0 && (i - A - c > 0 && r[i - A - c - 1][0] == s ? r[i - A - c - 1][1] += l.substring(0, d) : (r.splice(0, 0, new e.Diff(
1550
- s,
1544
+ case A:
1545
+ s + a > 1 ? (s !== 0 && a !== 0 && (d = this.diff_commonPrefix(l, c), d !== 0 && (i - s - a > 0 && r[i - s - a - 1][0] == A ? r[i - s - a - 1][1] += l.substring(0, d) : (r.splice(0, 0, new e.Diff(
1546
+ A,
1551
1547
  l.substring(0, d)
1552
- )), i++), l = l.substring(d), a = a.substring(d)), d = this.diff_commonSuffix(l, a), d !== 0 && (r[i][1] = l.substring(l.length - d) + r[i][1], l = l.substring(0, l.length - d), a = a.substring(0, a.length - d))), i -= A + c, r.splice(i, A + c), a.length && (r.splice(
1548
+ )), i++), l = l.substring(d), c = c.substring(d)), d = this.diff_commonSuffix(l, c), d !== 0 && (r[i][1] = l.substring(l.length - d) + r[i][1], l = l.substring(0, l.length - d), c = c.substring(0, c.length - d))), i -= s + a, r.splice(i, s + a), c.length && (r.splice(
1553
1549
  i,
1554
1550
  0,
1555
- new e.Diff(n, a)
1551
+ new e.Diff(n, c)
1556
1552
  ), i++), l.length && (r.splice(
1557
1553
  i,
1558
1554
  0,
1559
1555
  new e.Diff(o, l)
1560
- ), i++), i++) : i !== 0 && r[i - 1][0] == s ? (r[i - 1][1] += r[i][1], r.splice(i, 1)) : i++, c = 0, A = 0, a = "", l = "";
1556
+ ), i++), i++) : i !== 0 && r[i - 1][0] == A ? (r[i - 1][1] += r[i][1], r.splice(i, 1)) : i++, a = 0, s = 0, c = "", l = "";
1561
1557
  break;
1562
1558
  }
1563
1559
  r[r.length - 1][1] === "" && r.pop();
1564
1560
  var u = !1;
1565
1561
  for (i = 1; i < r.length - 1; )
1566
- r[i - 1][0] == s && r[i + 1][0] == s && (r[i][1].substring(r[i][1].length - r[i - 1][1].length) == r[i - 1][1] ? (r[i][1] = r[i - 1][1] + r[i][1].substring(0, r[i][1].length - r[i - 1][1].length), r[i + 1][1] = r[i - 1][1] + r[i + 1][1], r.splice(i - 1, 1), u = !0) : r[i][1].substring(0, r[i + 1][1].length) == r[i + 1][1] && (r[i - 1][1] += r[i + 1][1], r[i][1] = r[i][1].substring(r[i + 1][1].length) + r[i + 1][1], r.splice(i + 1, 1), u = !0)), i++;
1562
+ r[i - 1][0] == A && r[i + 1][0] == A && (r[i][1].substring(r[i][1].length - r[i - 1][1].length) == r[i - 1][1] ? (r[i][1] = r[i - 1][1] + r[i][1].substring(0, r[i][1].length - r[i - 1][1].length), r[i + 1][1] = r[i - 1][1] + r[i + 1][1], r.splice(i - 1, 1), u = !0) : r[i][1].substring(0, r[i + 1][1].length) == r[i + 1][1] && (r[i - 1][1] += r[i + 1][1], r[i][1] = r[i][1].substring(r[i + 1][1].length) + r[i + 1][1], r.splice(i + 1, 1), u = !0)), i++;
1567
1563
  u && this.diff_cleanupMerge(r);
1568
1564
  }, e.prototype.diff_xIndex = function(r, i) {
1569
- var A = 0, c = 0, a = 0, l = 0, d;
1570
- for (d = 0; d < r.length && (r[d][0] !== o && (A += r[d][1].length), r[d][0] !== n && (c += r[d][1].length), !(A > i)); d++)
1571
- a = A, l = c;
1572
- return r.length != d && r[d][0] === n ? l : l + (i - a);
1565
+ var s = 0, a = 0, c = 0, l = 0, d;
1566
+ for (d = 0; d < r.length && (r[d][0] !== o && (s += r[d][1].length), r[d][0] !== n && (a += r[d][1].length), !(s > i)); d++)
1567
+ c = s, l = a;
1568
+ return r.length != d && r[d][0] === n ? l : l + (i - c);
1573
1569
  }, e.prototype.diff_prettyHtml = function(r) {
1574
- for (var i = [], A = /&/g, c = /</g, a = />/g, l = /\n/g, d = 0; d < r.length; d++) {
1575
- var u = r[d][0], g = r[d][1], h = g.replace(A, "&amp;").replace(c, "&lt;").replace(a, "&gt;").replace(l, "&para;<br>");
1570
+ for (var i = [], s = /&/g, a = /</g, c = />/g, l = /\n/g, d = 0; d < r.length; d++) {
1571
+ var u = r[d][0], g = r[d][1], h = g.replace(s, "&amp;").replace(a, "&lt;").replace(c, "&gt;").replace(l, "&para;<br>");
1576
1572
  switch (u) {
1577
1573
  case o:
1578
1574
  i[d] = '<ins style="background:#e6ffe6;">' + h + "</ins>";
@@ -1580,57 +1576,57 @@ function Hn() {
1580
1576
  case n:
1581
1577
  i[d] = '<del style="background:#ffe6e6;">' + h + "</del>";
1582
1578
  break;
1583
- case s:
1579
+ case A:
1584
1580
  i[d] = "<span>" + h + "</span>";
1585
1581
  break;
1586
1582
  }
1587
1583
  }
1588
1584
  return i.join("");
1589
1585
  }, e.prototype.diff_text1 = function(r) {
1590
- for (var i = [], A = 0; A < r.length; A++)
1591
- r[A][0] !== o && (i[A] = r[A][1]);
1586
+ for (var i = [], s = 0; s < r.length; s++)
1587
+ r[s][0] !== o && (i[s] = r[s][1]);
1592
1588
  return i.join("");
1593
1589
  }, e.prototype.diff_text2 = function(r) {
1594
- for (var i = [], A = 0; A < r.length; A++)
1595
- r[A][0] !== n && (i[A] = r[A][1]);
1590
+ for (var i = [], s = 0; s < r.length; s++)
1591
+ r[s][0] !== n && (i[s] = r[s][1]);
1596
1592
  return i.join("");
1597
1593
  }, e.prototype.diff_levenshtein = function(r) {
1598
- for (var i = 0, A = 0, c = 0, a = 0; a < r.length; a++) {
1599
- var l = r[a][0], d = r[a][1];
1594
+ for (var i = 0, s = 0, a = 0, c = 0; c < r.length; c++) {
1595
+ var l = r[c][0], d = r[c][1];
1600
1596
  switch (l) {
1601
1597
  case o:
1602
- A += d.length;
1598
+ s += d.length;
1603
1599
  break;
1604
1600
  case n:
1605
- c += d.length;
1601
+ a += d.length;
1606
1602
  break;
1607
- case s:
1608
- i += Math.max(A, c), A = 0, c = 0;
1603
+ case A:
1604
+ i += Math.max(s, a), s = 0, a = 0;
1609
1605
  break;
1610
1606
  }
1611
1607
  }
1612
- return i += Math.max(A, c), i;
1608
+ return i += Math.max(s, a), i;
1613
1609
  }, e.prototype.diff_toDelta = function(r) {
1614
- for (var i = [], A = 0; A < r.length; A++)
1615
- switch (r[A][0]) {
1610
+ for (var i = [], s = 0; s < r.length; s++)
1611
+ switch (r[s][0]) {
1616
1612
  case o:
1617
- i[A] = "+" + encodeURI(r[A][1]);
1613
+ i[s] = "+" + encodeURI(r[s][1]);
1618
1614
  break;
1619
1615
  case n:
1620
- i[A] = "-" + r[A][1].length;
1616
+ i[s] = "-" + r[s][1].length;
1621
1617
  break;
1622
- case s:
1623
- i[A] = "=" + r[A][1].length;
1618
+ case A:
1619
+ i[s] = "=" + r[s][1].length;
1624
1620
  break;
1625
1621
  }
1626
1622
  return i.join(" ").replace(/%20/g, " ");
1627
1623
  }, e.prototype.diff_fromDelta = function(r, i) {
1628
- for (var A = [], c = 0, a = 0, l = i.split(/\t/g), d = 0; d < l.length; d++) {
1624
+ for (var s = [], a = 0, c = 0, l = i.split(/\t/g), d = 0; d < l.length; d++) {
1629
1625
  var u = l[d].substring(1);
1630
1626
  switch (l[d].charAt(0)) {
1631
1627
  case "+":
1632
1628
  try {
1633
- A[c++] = new e.Diff(o, decodeURI(u));
1629
+ s[a++] = new e.Diff(o, decodeURI(u));
1634
1630
  } catch {
1635
1631
  throw new Error("Illegal escape in diff_fromDelta: " + u);
1636
1632
  }
@@ -1641,137 +1637,137 @@ function Hn() {
1641
1637
  var g = parseInt(u, 10);
1642
1638
  if (isNaN(g) || g < 0)
1643
1639
  throw new Error("Invalid number in diff_fromDelta: " + u);
1644
- var h = r.substring(a, a += g);
1645
- l[d].charAt(0) == "=" ? A[c++] = new e.Diff(s, h) : A[c++] = new e.Diff(n, h);
1640
+ var h = r.substring(c, c += g);
1641
+ l[d].charAt(0) == "=" ? s[a++] = new e.Diff(A, h) : s[a++] = new e.Diff(n, h);
1646
1642
  break;
1647
1643
  default:
1648
1644
  if (l[d])
1649
1645
  throw new Error("Invalid diff operation in diff_fromDelta: " + l[d]);
1650
1646
  }
1651
1647
  }
1652
- if (a != r.length)
1653
- throw new Error("Delta length (" + a + ") does not equal source text length (" + r.length + ").");
1654
- return A;
1655
- }, e.prototype.match_main = function(r, i, A) {
1656
- if (r == null || i == null || A == null)
1648
+ if (c != r.length)
1649
+ throw new Error("Delta length (" + c + ") does not equal source text length (" + r.length + ").");
1650
+ return s;
1651
+ }, e.prototype.match_main = function(r, i, s) {
1652
+ if (r == null || i == null || s == null)
1657
1653
  throw new Error("Null input. (match_main)");
1658
- return A = Math.max(0, Math.min(A, r.length)), r == i ? 0 : r.length ? r.substring(A, A + i.length) == i ? A : this.match_bitap_(r, i, A) : -1;
1659
- }, e.prototype.match_bitap_ = function(r, i, A) {
1654
+ return s = Math.max(0, Math.min(s, r.length)), r == i ? 0 : r.length ? r.substring(s, s + i.length) == i ? s : this.match_bitap_(r, i, s) : -1;
1655
+ }, e.prototype.match_bitap_ = function(r, i, s) {
1660
1656
  if (i.length > this.Match_MaxBits)
1661
1657
  throw new Error("Pattern too long for this browser.");
1662
- var c = this.match_alphabet_(i), a = this;
1658
+ var a = this.match_alphabet_(i), c = this;
1663
1659
  function l(k, R) {
1664
- var x = k / i.length, S = Math.abs(A - R);
1665
- return a.Match_Distance ? x + S / a.Match_Distance : S ? 1 : x;
1660
+ var x = k / i.length, S = Math.abs(s - R);
1661
+ return c.Match_Distance ? x + S / c.Match_Distance : S ? 1 : x;
1666
1662
  }
1667
- var d = this.Match_Threshold, u = r.indexOf(i, A);
1668
- u != -1 && (d = Math.min(l(0, u), d), u = r.lastIndexOf(i, A + i.length), u != -1 && (d = Math.min(l(0, u), d)));
1663
+ var d = this.Match_Threshold, u = r.indexOf(i, s);
1664
+ u != -1 && (d = Math.min(l(0, u), d), u = r.lastIndexOf(i, s + i.length), u != -1 && (d = Math.min(l(0, u), d)));
1669
1665
  var g = 1 << i.length - 1;
1670
1666
  u = -1;
1671
1667
  for (var h, f, p = i.length + r.length, m, v = 0; v < i.length; v++) {
1672
1668
  for (h = 0, f = p; h < f; )
1673
- l(v, A + f) <= d ? h = f : p = f, f = Math.floor((p - h) / 2 + h);
1669
+ l(v, s + f) <= d ? h = f : p = f, f = Math.floor((p - h) / 2 + h);
1674
1670
  p = f;
1675
- var I = Math.max(1, A - f + 1), C = Math.min(A + f, r.length) + i.length, E = Array(C + 2);
1671
+ var I = Math.max(1, s - f + 1), C = Math.min(s + f, r.length) + i.length, E = Array(C + 2);
1676
1672
  E[C + 1] = (1 << v) - 1;
1677
1673
  for (var b = C; b >= I; b--) {
1678
- var w = c[r.charAt(b - 1)];
1674
+ var w = a[r.charAt(b - 1)];
1679
1675
  if (v === 0 ? E[b] = (E[b + 1] << 1 | 1) & w : E[b] = (E[b + 1] << 1 | 1) & w | ((m[b + 1] | m[b]) << 1 | 1) | m[b + 1], E[b] & g) {
1680
1676
  var y = l(v, b - 1);
1681
1677
  if (y <= d)
1682
- if (d = y, u = b - 1, u > A)
1683
- I = Math.max(1, 2 * A - u);
1678
+ if (d = y, u = b - 1, u > s)
1679
+ I = Math.max(1, 2 * s - u);
1684
1680
  else
1685
1681
  break;
1686
1682
  }
1687
1683
  }
1688
- if (l(v + 1, A) > d)
1684
+ if (l(v + 1, s) > d)
1689
1685
  break;
1690
1686
  m = E;
1691
1687
  }
1692
1688
  return u;
1693
1689
  }, e.prototype.match_alphabet_ = function(r) {
1694
- for (var i = {}, A = 0; A < r.length; A++)
1695
- i[r.charAt(A)] = 0;
1696
- for (var A = 0; A < r.length; A++)
1697
- i[r.charAt(A)] |= 1 << r.length - A - 1;
1690
+ for (var i = {}, s = 0; s < r.length; s++)
1691
+ i[r.charAt(s)] = 0;
1692
+ for (var s = 0; s < r.length; s++)
1693
+ i[r.charAt(s)] |= 1 << r.length - s - 1;
1698
1694
  return i;
1699
1695
  }, e.prototype.patch_addContext_ = function(r, i) {
1700
1696
  if (i.length != 0) {
1701
1697
  if (r.start2 === null)
1702
1698
  throw Error("patch not initialized");
1703
- for (var A = i.substring(r.start2, r.start2 + r.length1), c = 0; i.indexOf(A) != i.lastIndexOf(A) && A.length < this.Match_MaxBits - this.Patch_Margin - this.Patch_Margin; )
1704
- c += this.Patch_Margin, A = i.substring(
1705
- r.start2 - c,
1706
- r.start2 + r.length1 + c
1699
+ for (var s = i.substring(r.start2, r.start2 + r.length1), a = 0; i.indexOf(s) != i.lastIndexOf(s) && s.length < this.Match_MaxBits - this.Patch_Margin - this.Patch_Margin; )
1700
+ a += this.Patch_Margin, s = i.substring(
1701
+ r.start2 - a,
1702
+ r.start2 + r.length1 + a
1707
1703
  );
1708
- c += this.Patch_Margin;
1709
- var a = i.substring(r.start2 - c, r.start2);
1710
- a && r.diffs.unshift(new e.Diff(s, a));
1704
+ a += this.Patch_Margin;
1705
+ var c = i.substring(r.start2 - a, r.start2);
1706
+ c && r.diffs.unshift(new e.Diff(A, c));
1711
1707
  var l = i.substring(
1712
1708
  r.start2 + r.length1,
1713
- r.start2 + r.length1 + c
1709
+ r.start2 + r.length1 + a
1714
1710
  );
1715
- l && r.diffs.push(new e.Diff(s, l)), r.start1 -= a.length, r.start2 -= a.length, r.length1 += a.length + l.length, r.length2 += a.length + l.length;
1711
+ l && r.diffs.push(new e.Diff(A, l)), r.start1 -= c.length, r.start2 -= c.length, r.length1 += c.length + l.length, r.length2 += c.length + l.length;
1716
1712
  }
1717
- }, e.prototype.patch_make = function(r, i, A) {
1718
- var c, a;
1719
- if (typeof r == "string" && typeof i == "string" && typeof A > "u")
1720
- c = /** @type {string} */
1721
- r, a = this.diff_main(
1722
- c,
1713
+ }, e.prototype.patch_make = function(r, i, s) {
1714
+ var a, c;
1715
+ if (typeof r == "string" && typeof i == "string" && typeof s > "u")
1716
+ a = /** @type {string} */
1717
+ r, c = this.diff_main(
1718
+ a,
1723
1719
  /** @type {string} */
1724
1720
  i,
1725
1721
  !0
1726
- ), a.length > 2 && (this.diff_cleanupSemantic(a), this.diff_cleanupEfficiency(a));
1727
- else if (r && typeof r == "object" && typeof i > "u" && typeof A > "u")
1728
- a = /** @type {!Array.<!diff_match_patch.Diff>} */
1729
- r, c = this.diff_text1(a);
1730
- else if (typeof r == "string" && i && typeof i == "object" && typeof A > "u")
1731
- c = /** @type {string} */
1732
- r, a = /** @type {!Array.<!diff_match_patch.Diff>} */
1722
+ ), c.length > 2 && (this.diff_cleanupSemantic(c), this.diff_cleanupEfficiency(c));
1723
+ else if (r && typeof r == "object" && typeof i > "u" && typeof s > "u")
1724
+ c = /** @type {!Array.<!diff_match_patch.Diff>} */
1725
+ r, a = this.diff_text1(c);
1726
+ else if (typeof r == "string" && i && typeof i == "object" && typeof s > "u")
1727
+ a = /** @type {string} */
1728
+ r, c = /** @type {!Array.<!diff_match_patch.Diff>} */
1733
1729
  i;
1734
- else if (typeof r == "string" && typeof i == "string" && A && typeof A == "object")
1735
- c = /** @type {string} */
1736
- r, a = /** @type {!Array.<!diff_match_patch.Diff>} */
1737
- A;
1730
+ else if (typeof r == "string" && typeof i == "string" && s && typeof s == "object")
1731
+ a = /** @type {string} */
1732
+ r, c = /** @type {!Array.<!diff_match_patch.Diff>} */
1733
+ s;
1738
1734
  else
1739
1735
  throw new Error("Unknown call format to patch_make.");
1740
- if (a.length === 0)
1736
+ if (c.length === 0)
1741
1737
  return [];
1742
- for (var l = [], d = new e.patch_obj(), u = 0, g = 0, h = 0, f = c, p = c, m = 0; m < a.length; m++) {
1743
- var v = a[m][0], I = a[m][1];
1744
- switch (!u && v !== s && (d.start1 = g, d.start2 = h), v) {
1738
+ for (var l = [], d = new e.patch_obj(), u = 0, g = 0, h = 0, f = a, p = a, m = 0; m < c.length; m++) {
1739
+ var v = c[m][0], I = c[m][1];
1740
+ switch (!u && v !== A && (d.start1 = g, d.start2 = h), v) {
1745
1741
  case o:
1746
- d.diffs[u++] = a[m], d.length2 += I.length, p = p.substring(0, h) + I + p.substring(h);
1742
+ d.diffs[u++] = c[m], d.length2 += I.length, p = p.substring(0, h) + I + p.substring(h);
1747
1743
  break;
1748
1744
  case n:
1749
- d.length1 += I.length, d.diffs[u++] = a[m], p = p.substring(0, h) + p.substring(h + I.length);
1745
+ d.length1 += I.length, d.diffs[u++] = c[m], p = p.substring(0, h) + p.substring(h + I.length);
1750
1746
  break;
1751
- case s:
1752
- I.length <= 2 * this.Patch_Margin && u && a.length != m + 1 ? (d.diffs[u++] = a[m], d.length1 += I.length, d.length2 += I.length) : I.length >= 2 * this.Patch_Margin && u && (this.patch_addContext_(d, f), l.push(d), d = new e.patch_obj(), u = 0, f = p, g = h);
1747
+ case A:
1748
+ I.length <= 2 * this.Patch_Margin && u && c.length != m + 1 ? (d.diffs[u++] = c[m], d.length1 += I.length, d.length2 += I.length) : I.length >= 2 * this.Patch_Margin && u && (this.patch_addContext_(d, f), l.push(d), d = new e.patch_obj(), u = 0, f = p, g = h);
1753
1749
  break;
1754
1750
  }
1755
1751
  v !== o && (g += I.length), v !== n && (h += I.length);
1756
1752
  }
1757
1753
  return u && (this.patch_addContext_(d, f), l.push(d)), l;
1758
1754
  }, e.prototype.patch_deepCopy = function(r) {
1759
- for (var i = [], A = 0; A < r.length; A++) {
1760
- var c = r[A], a = new e.patch_obj();
1761
- a.diffs = [];
1762
- for (var l = 0; l < c.diffs.length; l++)
1763
- a.diffs[l] = new e.Diff(c.diffs[l][0], c.diffs[l][1]);
1764
- a.start1 = c.start1, a.start2 = c.start2, a.length1 = c.length1, a.length2 = c.length2, i[A] = a;
1755
+ for (var i = [], s = 0; s < r.length; s++) {
1756
+ var a = r[s], c = new e.patch_obj();
1757
+ c.diffs = [];
1758
+ for (var l = 0; l < a.diffs.length; l++)
1759
+ c.diffs[l] = new e.Diff(a.diffs[l][0], a.diffs[l][1]);
1760
+ c.start1 = a.start1, c.start2 = a.start2, c.length1 = a.length1, c.length2 = a.length2, i[s] = c;
1765
1761
  }
1766
1762
  return i;
1767
1763
  }, e.prototype.patch_apply = function(r, i) {
1768
1764
  if (r.length == 0)
1769
1765
  return [i, []];
1770
1766
  r = this.patch_deepCopy(r);
1771
- var A = this.patch_addPadding(r);
1772
- i = A + i + A, this.patch_splitMax(r);
1773
- for (var c = 0, a = [], l = 0; l < r.length; l++) {
1774
- var d = r[l].start2 + c, u = this.diff_text1(r[l].diffs), g, h = -1;
1767
+ var s = this.patch_addPadding(r);
1768
+ i = s + i + s, this.patch_splitMax(r);
1769
+ for (var a = 0, c = [], l = 0; l < r.length; l++) {
1770
+ var d = r[l].start2 + a, u = this.diff_text1(r[l].diffs), g, h = -1;
1775
1771
  if (u.length > this.Match_MaxBits ? (g = this.match_main(
1776
1772
  i,
1777
1773
  u.substring(0, this.Match_MaxBits),
@@ -1781,21 +1777,21 @@ function Hn() {
1781
1777
  u.substring(u.length - this.Match_MaxBits),
1782
1778
  d + u.length - this.Match_MaxBits
1783
1779
  ), (h == -1 || g >= h) && (g = -1))) : g = this.match_main(i, u, d), g == -1)
1784
- a[l] = !1, c -= r[l].length2 - r[l].length1;
1780
+ c[l] = !1, a -= r[l].length2 - r[l].length1;
1785
1781
  else {
1786
- a[l] = !0, c = g - d;
1782
+ c[l] = !0, a = g - d;
1787
1783
  var f;
1788
1784
  if (h == -1 ? f = i.substring(g, g + u.length) : f = i.substring(g, h + this.Match_MaxBits), u == f)
1789
1785
  i = i.substring(0, g) + this.diff_text2(r[l].diffs) + i.substring(g + u.length);
1790
1786
  else {
1791
1787
  var p = this.diff_main(u, f, !1);
1792
1788
  if (u.length > this.Match_MaxBits && this.diff_levenshtein(p) / u.length > this.Patch_DeleteThreshold)
1793
- a[l] = !1;
1789
+ c[l] = !1;
1794
1790
  else {
1795
1791
  this.diff_cleanupSemanticLossless(p);
1796
1792
  for (var m = 0, v, I = 0; I < r[l].diffs.length; I++) {
1797
1793
  var C = r[l].diffs[I];
1798
- C[0] !== s && (v = this.diff_xIndex(p, m)), C[0] === o ? i = i.substring(0, g + v) + C[1] + i.substring(g + v) : C[0] === n && (i = i.substring(0, g + v) + i.substring(g + this.diff_xIndex(
1794
+ C[0] !== A && (v = this.diff_xIndex(p, m)), C[0] === o ? i = i.substring(0, g + v) + C[1] + i.substring(g + v) : C[0] === n && (i = i.substring(0, g + v) + i.substring(g + this.diff_xIndex(
1799
1795
  p,
1800
1796
  m + C[1].length
1801
1797
  ))), C[0] !== n && (m += C[1].length);
@@ -1804,63 +1800,63 @@ function Hn() {
1804
1800
  }
1805
1801
  }
1806
1802
  }
1807
- return i = i.substring(A.length, i.length - A.length), [i, a];
1803
+ return i = i.substring(s.length, i.length - s.length), [i, c];
1808
1804
  }, e.prototype.patch_addPadding = function(r) {
1809
- for (var i = this.Patch_Margin, A = "", c = 1; c <= i; c++)
1810
- A += String.fromCharCode(c);
1811
- for (var c = 0; c < r.length; c++)
1812
- r[c].start1 += i, r[c].start2 += i;
1813
- var a = r[0], l = a.diffs;
1814
- if (l.length == 0 || l[0][0] != s)
1815
- l.unshift(new e.Diff(s, A)), a.start1 -= i, a.start2 -= i, a.length1 += i, a.length2 += i;
1805
+ for (var i = this.Patch_Margin, s = "", a = 1; a <= i; a++)
1806
+ s += String.fromCharCode(a);
1807
+ for (var a = 0; a < r.length; a++)
1808
+ r[a].start1 += i, r[a].start2 += i;
1809
+ var c = r[0], l = c.diffs;
1810
+ if (l.length == 0 || l[0][0] != A)
1811
+ l.unshift(new e.Diff(A, s)), c.start1 -= i, c.start2 -= i, c.length1 += i, c.length2 += i;
1816
1812
  else if (i > l[0][1].length) {
1817
1813
  var d = i - l[0][1].length;
1818
- l[0][1] = A.substring(l[0][1].length) + l[0][1], a.start1 -= d, a.start2 -= d, a.length1 += d, a.length2 += d;
1814
+ l[0][1] = s.substring(l[0][1].length) + l[0][1], c.start1 -= d, c.start2 -= d, c.length1 += d, c.length2 += d;
1819
1815
  }
1820
- if (a = r[r.length - 1], l = a.diffs, l.length == 0 || l[l.length - 1][0] != s)
1821
- l.push(new e.Diff(s, A)), a.length1 += i, a.length2 += i;
1816
+ if (c = r[r.length - 1], l = c.diffs, l.length == 0 || l[l.length - 1][0] != A)
1817
+ l.push(new e.Diff(A, s)), c.length1 += i, c.length2 += i;
1822
1818
  else if (i > l[l.length - 1][1].length) {
1823
1819
  var d = i - l[l.length - 1][1].length;
1824
- l[l.length - 1][1] += A.substring(0, d), a.length1 += d, a.length2 += d;
1820
+ l[l.length - 1][1] += s.substring(0, d), c.length1 += d, c.length2 += d;
1825
1821
  }
1826
- return A;
1822
+ return s;
1827
1823
  }, e.prototype.patch_splitMax = function(r) {
1828
- for (var i = this.Match_MaxBits, A = 0; A < r.length; A++)
1829
- if (!(r[A].length1 <= i)) {
1830
- var c = r[A];
1831
- r.splice(A--, 1);
1832
- for (var a = c.start1, l = c.start2, d = ""; c.diffs.length !== 0; ) {
1824
+ for (var i = this.Match_MaxBits, s = 0; s < r.length; s++)
1825
+ if (!(r[s].length1 <= i)) {
1826
+ var a = r[s];
1827
+ r.splice(s--, 1);
1828
+ for (var c = a.start1, l = a.start2, d = ""; a.diffs.length !== 0; ) {
1833
1829
  var u = new e.patch_obj(), g = !0;
1834
- for (u.start1 = a - d.length, u.start2 = l - d.length, d !== "" && (u.length1 = u.length2 = d.length, u.diffs.push(new e.Diff(s, d))); c.diffs.length !== 0 && u.length1 < i - this.Patch_Margin; ) {
1835
- var h = c.diffs[0][0], f = c.diffs[0][1];
1836
- h === o ? (u.length2 += f.length, l += f.length, u.diffs.push(c.diffs.shift()), g = !1) : h === n && u.diffs.length == 1 && u.diffs[0][0] == s && f.length > 2 * i ? (u.length1 += f.length, a += f.length, g = !1, u.diffs.push(new e.Diff(h, f)), c.diffs.shift()) : (f = f.substring(
1830
+ for (u.start1 = c - d.length, u.start2 = l - d.length, d !== "" && (u.length1 = u.length2 = d.length, u.diffs.push(new e.Diff(A, d))); a.diffs.length !== 0 && u.length1 < i - this.Patch_Margin; ) {
1831
+ var h = a.diffs[0][0], f = a.diffs[0][1];
1832
+ h === o ? (u.length2 += f.length, l += f.length, u.diffs.push(a.diffs.shift()), g = !1) : h === n && u.diffs.length == 1 && u.diffs[0][0] == A && f.length > 2 * i ? (u.length1 += f.length, c += f.length, g = !1, u.diffs.push(new e.Diff(h, f)), a.diffs.shift()) : (f = f.substring(
1837
1833
  0,
1838
1834
  i - u.length1 - this.Patch_Margin
1839
- ), u.length1 += f.length, a += f.length, h === s ? (u.length2 += f.length, l += f.length) : g = !1, u.diffs.push(new e.Diff(h, f)), f == c.diffs[0][1] ? c.diffs.shift() : c.diffs[0][1] = c.diffs[0][1].substring(f.length));
1835
+ ), u.length1 += f.length, c += f.length, h === A ? (u.length2 += f.length, l += f.length) : g = !1, u.diffs.push(new e.Diff(h, f)), f == a.diffs[0][1] ? a.diffs.shift() : a.diffs[0][1] = a.diffs[0][1].substring(f.length));
1840
1836
  }
1841
1837
  d = this.diff_text2(u.diffs), d = d.substring(d.length - this.Patch_Margin);
1842
- var p = this.diff_text1(c.diffs).substring(0, this.Patch_Margin);
1843
- p !== "" && (u.length1 += p.length, u.length2 += p.length, u.diffs.length !== 0 && u.diffs[u.diffs.length - 1][0] === s ? u.diffs[u.diffs.length - 1][1] += p : u.diffs.push(new e.Diff(s, p))), g || r.splice(++A, 0, u);
1838
+ var p = this.diff_text1(a.diffs).substring(0, this.Patch_Margin);
1839
+ p !== "" && (u.length1 += p.length, u.length2 += p.length, u.diffs.length !== 0 && u.diffs[u.diffs.length - 1][0] === A ? u.diffs[u.diffs.length - 1][1] += p : u.diffs.push(new e.Diff(A, p))), g || r.splice(++s, 0, u);
1844
1840
  }
1845
1841
  }
1846
1842
  }, e.prototype.patch_toText = function(r) {
1847
- for (var i = [], A = 0; A < r.length; A++)
1848
- i[A] = r[A];
1843
+ for (var i = [], s = 0; s < r.length; s++)
1844
+ i[s] = r[s];
1849
1845
  return i.join("");
1850
1846
  }, e.prototype.patch_fromText = function(r) {
1851
1847
  var i = [];
1852
1848
  if (!r)
1853
1849
  return i;
1854
- for (var A = r.split(`
1855
- `), c = 0, a = /^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/; c < A.length; ) {
1856
- var l = A[c].match(a);
1850
+ for (var s = r.split(`
1851
+ `), a = 0, c = /^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/; a < s.length; ) {
1852
+ var l = s[a].match(c);
1857
1853
  if (!l)
1858
- throw new Error("Invalid patch string: " + A[c]);
1854
+ throw new Error("Invalid patch string: " + s[a]);
1859
1855
  var d = new e.patch_obj();
1860
- for (i.push(d), d.start1 = parseInt(l[1], 10), l[2] === "" ? (d.start1--, d.length1 = 1) : l[2] == "0" ? d.length1 = 0 : (d.start1--, d.length1 = parseInt(l[2], 10)), d.start2 = parseInt(l[3], 10), l[4] === "" ? (d.start2--, d.length2 = 1) : l[4] == "0" ? d.length2 = 0 : (d.start2--, d.length2 = parseInt(l[4], 10)), c++; c < A.length; ) {
1861
- var u = A[c].charAt(0);
1856
+ for (i.push(d), d.start1 = parseInt(l[1], 10), l[2] === "" ? (d.start1--, d.length1 = 1) : l[2] == "0" ? d.length1 = 0 : (d.start1--, d.length1 = parseInt(l[2], 10)), d.start2 = parseInt(l[3], 10), l[4] === "" ? (d.start2--, d.length2 = 1) : l[4] == "0" ? d.length2 = 0 : (d.start2--, d.length2 = parseInt(l[4], 10)), a++; a < s.length; ) {
1857
+ var u = s[a].charAt(0);
1862
1858
  try {
1863
- var g = decodeURI(A[c].substring(1));
1859
+ var g = decodeURI(s[a].substring(1));
1864
1860
  } catch {
1865
1861
  throw new Error("Illegal escape in patch_fromText: " + g);
1866
1862
  }
@@ -1869,13 +1865,13 @@ function Hn() {
1869
1865
  else if (u == "+")
1870
1866
  d.diffs.push(new e.Diff(o, g));
1871
1867
  else if (u == " ")
1872
- d.diffs.push(new e.Diff(s, g));
1868
+ d.diffs.push(new e.Diff(A, g));
1873
1869
  else {
1874
1870
  if (u == "@")
1875
1871
  break;
1876
1872
  if (u !== "") throw new Error('Invalid patch mode "' + u + '" in: ' + g);
1877
1873
  }
1878
- c++;
1874
+ a++;
1879
1875
  }
1880
1876
  }
1881
1877
  return i;
@@ -1884,28 +1880,28 @@ function Hn() {
1884
1880
  }, e.patch_obj.prototype.toString = function() {
1885
1881
  var r, i;
1886
1882
  this.length1 === 0 ? r = this.start1 + ",0" : this.length1 == 1 ? r = this.start1 + 1 : r = this.start1 + 1 + "," + this.length1, this.length2 === 0 ? i = this.start2 + ",0" : this.length2 == 1 ? i = this.start2 + 1 : i = this.start2 + 1 + "," + this.length2;
1887
- for (var A = ["@@ -" + r + " +" + i + ` @@
1888
- `], c, a = 0; a < this.diffs.length; a++) {
1889
- switch (this.diffs[a][0]) {
1883
+ for (var s = ["@@ -" + r + " +" + i + ` @@
1884
+ `], a, c = 0; c < this.diffs.length; c++) {
1885
+ switch (this.diffs[c][0]) {
1890
1886
  case o:
1891
- c = "+";
1887
+ a = "+";
1892
1888
  break;
1893
1889
  case n:
1894
- c = "-";
1890
+ a = "-";
1895
1891
  break;
1896
- case s:
1897
- c = " ";
1892
+ case A:
1893
+ a = " ";
1898
1894
  break;
1899
1895
  }
1900
- A[a + 1] = c + encodeURI(this.diffs[a][1]) + `
1896
+ s[c + 1] = a + encodeURI(this.diffs[c][1]) + `
1901
1897
  `;
1902
1898
  }
1903
- return A.join("").replace(/%20/g, " ");
1904
- }, t.exports = e, t.exports.diff_match_patch = e, t.exports.DIFF_DELETE = n, t.exports.DIFF_INSERT = o, t.exports.DIFF_EQUAL = s;
1905
- }(Ae)), Ae.exports;
1899
+ return s.join("").replace(/%20/g, " ");
1900
+ }, t.exports = e, t.exports.diff_match_patch = e, t.exports.DIFF_DELETE = n, t.exports.DIFF_INSERT = o, t.exports.DIFF_EQUAL = A;
1901
+ })(Ae)), Ae.exports;
1906
1902
  }
1907
- var $ = Hn();
1908
- function nt(t) {
1903
+ var $ = Kn();
1904
+ function it(t) {
1909
1905
  return t[t.length - 1].range[1] - t[0].range[0];
1910
1906
  }
1911
1907
  function U(t, e) {
@@ -1914,13 +1910,13 @@ function U(t, e) {
1914
1910
  function ve(t, e) {
1915
1911
  return /^ *$/.test(e.content) && e.content != U(t, e);
1916
1912
  }
1917
- const rt = new $.diff_match_patch();
1918
- rt.Diff_Timeout = 5;
1919
- function Qn(t) {
1913
+ const At = new $.diff_match_patch();
1914
+ At.Diff_Timeout = 5;
1915
+ function Nn(t) {
1920
1916
  const e = [];
1921
1917
  let n = 0, o = 0;
1922
- return t.forEach((s) => {
1923
- const [r, i] = s;
1918
+ return t.forEach((A) => {
1919
+ const [r, i] = A;
1924
1920
  switch (r) {
1925
1921
  case $.DIFF_EQUAL:
1926
1922
  n += i.length;
@@ -1943,37 +1939,37 @@ function Qn(t) {
1943
1939
  function O(t, e, n, o = "HTML") {
1944
1940
  if (n.length === 0)
1945
1941
  return [];
1946
- const s = o === "HTML" ? Wn(t) : [t, []], [r, i] = s, A = rt.diff_main(r, e), c = Qn(A), a = n.map((d) => {
1947
- const u = G(i, d.range[0]), g = G(i, d.range[1]), h = G(c, u), f = g - 1, p = G(c, f) + 1;
1942
+ const A = o === "HTML" ? Qn(t) : [t, []], [r, i] = A, s = At.diff_main(r, e), a = Nn(s), c = n.map((d) => {
1943
+ const u = G(i, d.range[0]), g = G(i, d.range[1]), h = G(a, u), f = g - 1, p = G(a, f) + 1;
1948
1944
  return {
1949
1945
  originalMatch: d,
1950
1946
  range: [h, p]
1951
1947
  };
1952
- }), l = o === "HTML" ? a.some((d) => U(e, d) !== d.originalMatch.content) : a.some((d) => U(e, d) !== U(t, d.originalMatch));
1948
+ }), l = o === "HTML" ? c.some((d) => U(e, d) !== d.originalMatch.content) : c.some((d) => U(e, d) !== U(t, d.originalMatch));
1953
1949
  return H("cleanedCheckedDocument", r), H(
1954
1950
  "cleanedCheckedDocumentCodes",
1955
1951
  r.split("").map((d) => d.charCodeAt(0))
1956
1952
  ), H("currentDocument", e), H(
1957
1953
  "currentDocumentCodes",
1958
1954
  e.split("").map((d) => d.charCodeAt(0))
1959
- ), H("matches", n), H("diffs", A), H("alignedMatches", a), H(
1955
+ ), H("matches", n), H("diffs", s), H("alignedMatches", c), H(
1960
1956
  "alignedMatchesContent",
1961
- a.map((d) => U(e, d))
1962
- ), l ? [] : a;
1957
+ c.map((d) => U(e, d))
1958
+ ), l ? [] : c;
1963
1959
  }
1964
- function ot(t) {
1960
+ function st(t) {
1965
1961
  const e = {
1966
1962
  "original-id": t.id,
1967
1963
  "original-class": t.className,
1968
1964
  "original-name": t.name,
1969
1965
  "original-source": t.tagName.toLowerCase(),
1970
- "original-display": Oe(t) ? "" : "hidden"
1966
+ "original-display": Ue(t) ? "" : "hidden"
1971
1967
  };
1972
1968
  for (const n of t.getAttributeNames().filter((o) => o.startsWith("aria-")))
1973
1969
  e["original-" + n] = t.getAttribute(n);
1974
1970
  return Object.fromEntries(Object.entries(e).filter(([, n]) => n));
1975
1971
  }
1976
- const Ne = { name: "unknown", version: "0" }, Kn = [
1972
+ const Pe = { name: "unknown", version: "0" }, Pn = [
1977
1973
  ["edge", /Edge\/([0-9\._]+)/],
1978
1974
  ["yandexbrowser", /YaBrowser\/([0-9\._]+)/],
1979
1975
  ["vivaldi", /Vivaldi\/([0-9\.]+)/],
@@ -1993,108 +1989,108 @@ const Ne = { name: "unknown", version: "0" }, Kn = [
1993
1989
  ["ios", /Version\/([0-9\._]+).*Mobile.*Safari.*/],
1994
1990
  ["safari", /Version\/([0-9\._]+).*Safari/]
1995
1991
  ];
1996
- function Nn() {
1992
+ function Gn() {
1997
1993
  try {
1998
- return Pn(navigator.userAgent) || Ne;
1994
+ return Tn(navigator.userAgent) || Pe;
1999
1995
  } catch (t) {
2000
- return console.error("Error in detectBrowser:", t), Ne;
1996
+ return console.error("Error in detectBrowser:", t), Pe;
2001
1997
  }
2002
1998
  }
2003
- function Pn(t) {
1999
+ function Tn(t) {
2004
2000
  if (t)
2005
- return Kn.map(([e, n]) => {
2001
+ return Pn.map(([e, n]) => {
2006
2002
  const o = n.exec(t);
2007
- let s = o && o[1].split(/[._]/).slice(0, 3);
2008
- return s && s.length < 3 && (s = s.concat(s.length == 1 ? [0, 0] : [0])), o && {
2003
+ let A = o && o[1].split(/[._]/).slice(0, 3);
2004
+ return A && A.length < 3 && (A = A.concat(A.length == 1 ? [0, 0] : [0])), o && {
2009
2005
  name: e,
2010
- version: s.join(".")
2006
+ version: A.join(".")
2011
2007
  };
2012
2008
  }).filter(Boolean)[0] || void 0;
2013
2009
  }
2014
- const Gn = Nn();
2015
- function Tn() {
2016
- return Gn.name === "chrome";
2010
+ const Yn = Gn();
2011
+ function Ln() {
2012
+ return Yn.name === "chrome";
2017
2013
  }
2018
- function Yn(t) {
2014
+ function Jn(t) {
2019
2015
  return t.documentElement || t.body.parentNode || t.body;
2020
2016
  }
2021
- function Ln(t = window) {
2022
- return t.pageYOffset !== void 0 ? t.pageYOffset : Yn(t.document).scrollTop;
2017
+ function On(t = window) {
2018
+ return t.pageYOffset !== void 0 ? t.pageYOffset : Jn(t.document).scrollTop;
2023
2019
  }
2024
- function Jn(t) {
2020
+ function jn(t) {
2025
2021
  return t.clientHeight !== t.scrollHeight && t.tagName !== "BODY" && t.tagName !== "HTML";
2026
2022
  }
2027
- function On(t) {
2023
+ function Un(t) {
2028
2024
  const e = [];
2029
2025
  let n = t.parentElement;
2030
2026
  for (; n; )
2031
2027
  e.push(n), n = n.parentElement;
2032
2028
  return e;
2033
2029
  }
2034
- function jn(t) {
2035
- return On(t).filter(Jn);
2030
+ function zn(t) {
2031
+ return Un(t).filter(jn);
2036
2032
  }
2037
- function it(t, e = 0, n = 0) {
2038
- if (At(t) || (t.scrollIntoView(), !e))
2033
+ function at(t, e = 0, n = 0) {
2034
+ if (ct(t) || (t.scrollIntoView(), !e))
2039
2035
  return;
2040
- const s = t.getBoundingClientRect(), r = jn(t);
2041
- r.length <= 2 && r.forEach((A) => {
2042
- const c = A.getBoundingClientRect();
2043
- (s.top < c.top + n || s.bottom > c.bottom) && (A.scrollTop = s.top - c.top - n);
2036
+ const A = t.getBoundingClientRect(), r = zn(t);
2037
+ r.length <= 2 && r.forEach((s) => {
2038
+ const a = s.getBoundingClientRect();
2039
+ (A.top < a.top + n || A.bottom > a.bottom) && (s.scrollTop = A.top - a.top - n);
2044
2040
  });
2045
- const i = Ln();
2046
- (s.top < e || s.bottom > window.innerHeight) && window.scrollTo(0, i + s.top - e);
2041
+ const i = On();
2042
+ (A.top < e || A.bottom > window.innerHeight) && window.scrollTo(0, i + A.top - e);
2047
2043
  }
2048
- function At(t) {
2044
+ function ct(t) {
2049
2045
  try {
2050
2046
  return t.scrollIntoView({ block: "center" }), !0;
2051
2047
  } catch {
2052
2048
  return !1;
2053
2049
  }
2054
2050
  }
2055
- function Un(t) {
2056
- At(t) || t.scrollIntoView();
2051
+ function Vn(t) {
2052
+ ct(t) || t.scrollIntoView();
2057
2053
  }
2058
- const se = Zt({
2054
+ const se = Ht({
2059
2055
  text: "",
2060
2056
  domPositions: []
2061
2057
  });
2062
- function zn(t, e) {
2058
+ function Xn(t, e) {
2063
2059
  return {
2064
2060
  text: t,
2065
2061
  domPositions: e
2066
2062
  };
2067
2063
  }
2068
- function Vn(t) {
2064
+ function qn(t) {
2069
2065
  return {
2070
2066
  text: t.map((e) => e.text).join(""),
2071
2067
  domPositions: t.flatMap((e) => e.domPositions)
2072
2068
  };
2073
2069
  }
2074
- function Xn(t, e) {
2070
+ function _n(t, e) {
2075
2071
  return {
2076
2072
  node: t,
2077
2073
  offset: e
2078
2074
  };
2079
2075
  }
2080
- const qn = fe(["SCRIPT", "STYLE"]);
2076
+ const $n = fe(["SCRIPT", "STYLE"]);
2081
2077
  function Ie(t) {
2082
- return Vn(
2078
+ return qn(
2083
2079
  Array.from(t.childNodes).map((e) => {
2084
2080
  switch (e.nodeType) {
2085
2081
  case Node.ELEMENT_NODE: {
2086
2082
  const n = e.nodeName;
2087
- if (qn[n])
2083
+ if ($n[n])
2088
2084
  return se;
2089
2085
  const o = Ie(e);
2090
- if (et[n]) {
2091
- const s = o.domPositions[o.domPositions.length - 1];
2086
+ if (rt[n]) {
2087
+ const A = o.domPositions[o.domPositions.length - 1];
2092
2088
  return {
2093
2089
  text: o.text + `
2094
2090
  `,
2095
2091
  domPositions: o.domPositions.concat({
2096
- node: s && s.node || e,
2097
- offset: s && s.offset || 0
2092
+ node: A && A.node || e,
2093
+ offset: A && A.offset || 0
2098
2094
  })
2099
2095
  };
2100
2096
  }
@@ -2102,9 +2098,9 @@ function Ie(t) {
2102
2098
  }
2103
2099
  case Node.TEXT_NODE: {
2104
2100
  const n = e.textContent;
2105
- return n ? zn(
2101
+ return n ? Xn(
2106
2102
  n,
2107
- Array.from({ length: n.length }, (o, s) => Xn(e, s))
2103
+ Array.from({ length: n.length }, (o, A) => _n(e, A))
2108
2104
  ) : se;
2109
2105
  }
2110
2106
  default:
@@ -2113,7 +2109,7 @@ function Ie(t) {
2113
2109
  })
2114
2110
  );
2115
2111
  }
2116
- function _n(t, e) {
2112
+ function er(t, e) {
2117
2113
  const n = e[Math.max(Math.min(t, e.length) - 1, 0)];
2118
2114
  return {
2119
2115
  node: n.node,
@@ -2147,8 +2143,8 @@ class N {
2147
2143
  scrollIntoView(e) {
2148
2144
  const n = e.getRangeAt(0), o = n.cloneRange();
2149
2145
  o.collapse(!0);
2150
- const s = document.createElement("span");
2151
- o.insertNode(s), e.removeAllRanges(), e.addRange(n), s.focus(), this.scrollElementIntoView(s), z(s), _(o);
2146
+ const A = document.createElement("span");
2147
+ o.insertNode(A), e.removeAllRanges(), e.addRange(n), A.focus(), this.scrollElementIntoView(A), z(A), _(o);
2152
2148
  }
2153
2149
  scrollToCurrentSelection() {
2154
2150
  const e = this.getEditorDocument().getSelection();
@@ -2160,12 +2156,12 @@ class N {
2160
2156
  }
2161
2157
  }
2162
2158
  scrollElementIntoView(e) {
2163
- it(e, this.config.scrollOffsetY);
2159
+ at(e, this.config.scrollOffsetY);
2164
2160
  }
2165
2161
  selectRanges(e, n) {
2166
2162
  if (V(this.getEditorElement()), this.selectMatches(e, n), this.isQuillEditor() || this.isCkEditor5()) {
2167
2163
  const o = this.getEditorDocument().getSelection();
2168
- o && o.anchorNode && o.anchorNode.parentElement && Un(o.anchorNode.parentElement);
2164
+ o && o.anchorNode && o.anchorNode.parentElement && Vn(o.anchorNode.parentElement);
2169
2165
  } else
2170
2166
  this.scrollToCurrentSelection();
2171
2167
  }
@@ -2177,107 +2173,107 @@ class N {
2177
2173
  return e || n;
2178
2174
  }
2179
2175
  selectMatches(e, n) {
2180
- const o = this.getTextDomMapping(), s = O(this.lastContentChecked, o.text, n);
2181
- if (s.length === 0)
2176
+ const o = this.getTextDomMapping(), A = O(this.lastContentChecked, o.text, n);
2177
+ if (A.length === 0)
2182
2178
  throw new Error("Selected flagged content is modified.");
2183
- return this.selectAlignedMatches(s, o), [s, o];
2179
+ return this.selectAlignedMatches(A, o), [A, o];
2184
2180
  }
2185
2181
  selectAlignedMatches(e, n) {
2186
- const o = e[0].range[0], s = nt(e);
2187
- this.selectText(o, s, n);
2182
+ const o = e[0].range[0], A = it(e);
2183
+ this.selectText(o, A, n);
2188
2184
  }
2189
2185
  selectText(e, n, o) {
2190
2186
  if (!o.text)
2191
2187
  return;
2192
- const s = this.getEditorDocument().getSelection();
2193
- if (!s) {
2188
+ const A = this.getEditorDocument().getSelection();
2189
+ if (!A) {
2194
2190
  console.warn("AbstractRichtextEditorAdapter.selectText: Missing selection");
2195
2191
  return;
2196
2192
  }
2197
- s.removeAllRanges(), s.addRange(this.createRange(e, n, o));
2193
+ A.removeAllRanges(), A.addRange(this.createRange(e, n, o));
2198
2194
  }
2199
2195
  createRange(e, n, o) {
2200
- const r = this.getEditorDocument().createRange(), i = o.domPositions[e], A = _n(e + n, o.domPositions);
2196
+ const r = this.getEditorDocument().createRange(), i = o.domPositions[e], s = er(e + n, o.domPositions);
2201
2197
  return i.offset <= i.node.textContent.length ? r.setStart(i.node, i.offset) : console.warn(
2202
2198
  `Offset of range begin (${i.offset}) > node text length (${i.node.textContent.length})`
2203
- ), A.offset <= A.node.textContent.length ? r.setEnd(A.node, A.offset) : console.warn(
2204
- `Offset of range end (${A.offset}) > node text length (${A.node.textContent.length})`
2199
+ ), s.offset <= s.node.textContent.length ? r.setEnd(s.node, s.offset) : console.warn(
2200
+ `Offset of range end (${s.offset}) > node text length (${s.node.textContent.length})`
2205
2201
  ), r;
2206
2202
  }
2207
2203
  replaceAlignedMatches(e) {
2208
2204
  const n = this.getEditorDocument(), o = structuredClone(e).reverse();
2209
- for (const s of o) {
2210
- const r = this.getTextDomMapping(), i = s.range[1] - s.range[0];
2205
+ for (const A of o) {
2206
+ const r = this.getTextDomMapping(), i = A.range[1] - A.range[0];
2211
2207
  if (i > 1) {
2212
- const A = this.createRange(s.range[0] + 1, i - 1, r), c = this.createRange(s.range[0], 1, r), a = this.createRange(s.range[0], i, r);
2208
+ const s = this.createRange(A.range[0] + 1, i - 1, r), a = this.createRange(A.range[0], 1, r), c = this.createRange(A.range[0], i, r);
2213
2209
  X({
2214
- startNode: a.startContainer,
2215
- endNode: a.endContainer,
2210
+ startNode: c.startContainer,
2211
+ endNode: c.endContainer,
2216
2212
  eventType: "beforeinput",
2217
- replacement: s.originalMatch.replacement,
2218
- startOffset: a.startOffset,
2219
- endOffset: a.endOffset,
2213
+ replacement: A.originalMatch.replacement,
2214
+ startOffset: c.startOffset,
2215
+ endOffset: c.endOffset,
2220
2216
  disableSimulation: this.config.disableInputEventSimulation
2221
- }), A.deleteContents(), c.deleteContents(), s.originalMatch.replacement.length !== 0 && c.insertNode(n.createTextNode(s.originalMatch.replacement)), X({
2222
- startNode: a.startContainer,
2223
- endNode: a.endContainer,
2217
+ }), s.deleteContents(), a.deleteContents(), A.originalMatch.replacement.length !== 0 && a.insertNode(n.createTextNode(A.originalMatch.replacement)), X({
2218
+ startNode: c.startContainer,
2219
+ endNode: c.endContainer,
2224
2220
  eventType: "input",
2225
- replacement: s.originalMatch.replacement,
2226
- startOffset: a.startOffset,
2227
- endOffset: a.endOffset,
2221
+ replacement: A.originalMatch.replacement,
2222
+ startOffset: c.startOffset,
2223
+ endOffset: c.endOffset,
2228
2224
  disableSimulation: this.config.disableInputEventSimulation
2229
- }), _(A), (A.startContainer !== c.startContainer || A.endContainer !== c.endContainer) && _(c);
2225
+ }), _(s), (s.startContainer !== a.startContainer || s.endContainer !== a.endContainer) && _(a);
2230
2226
  } else {
2231
- const A = this.createRange(s.range[0], i, r);
2227
+ const s = this.createRange(A.range[0], i, r);
2232
2228
  X({
2233
- startNode: A.startContainer,
2234
- endNode: A.endContainer,
2229
+ startNode: s.startContainer,
2230
+ endNode: s.endContainer,
2235
2231
  eventType: "beforeinput",
2236
- replacement: s.originalMatch.replacement,
2237
- startOffset: A.startOffset,
2238
- endOffset: A.endOffset,
2232
+ replacement: A.originalMatch.replacement,
2233
+ startOffset: s.startOffset,
2234
+ endOffset: s.endOffset,
2239
2235
  disableSimulation: this.config.disableInputEventSimulation
2240
- }), A.deleteContents(), s.originalMatch.replacement.length !== 0 && A.insertNode(n.createTextNode(s.originalMatch.replacement)), X({
2241
- startNode: A.startContainer,
2242
- endNode: A.endContainer,
2236
+ }), s.deleteContents(), A.originalMatch.replacement.length !== 0 && s.insertNode(n.createTextNode(A.originalMatch.replacement)), X({
2237
+ startNode: s.startContainer,
2238
+ endNode: s.endContainer,
2243
2239
  eventType: "input",
2244
- replacement: s.originalMatch.replacement,
2245
- startOffset: A.startOffset,
2246
- endOffset: A.endOffset,
2240
+ replacement: A.originalMatch.replacement,
2241
+ startOffset: s.startOffset,
2242
+ endOffset: s.endOffset,
2247
2243
  disableSimulation: this.config.disableInputEventSimulation
2248
- }), _(A);
2244
+ }), _(s);
2249
2245
  }
2250
2246
  }
2251
2247
  }
2252
2248
  replaceRanges(e, n) {
2253
2249
  V(this.getEditorElement());
2254
- const [o] = this.selectMatches(e, n), s = o.map((r) => r.originalMatch.replacement).join("");
2255
- this.replaceAlignedMatches(o), this.selectText(o[0].range[0], s.length, this.getTextDomMapping()), this.scrollToCurrentSelection();
2250
+ const [o] = this.selectMatches(e, n), A = o.map((r) => r.originalMatch.replacement).join("");
2251
+ this.replaceAlignedMatches(o), this.selectText(o[0].range[0], A.length, this.getTextDomMapping()), this.scrollToCurrentSelection();
2256
2252
  }
2257
2253
  getTextDomMapping() {
2258
2254
  return Ie(this.getEditorElement());
2259
2255
  }
2260
2256
  getAutobindWrapperAttributes() {
2261
- return ot(this.getEditorElement());
2257
+ return st(this.getEditorElement());
2262
2258
  }
2263
2259
  }
2264
2260
  function _(t) {
2265
2261
  try {
2266
- Tn() && $n(t);
2262
+ Ln() && tr(t);
2267
2263
  } catch (e) {
2268
2264
  console.error("Error in removeEmptyTextNodesIfNeeded:", e);
2269
2265
  }
2270
2266
  }
2271
- function $n(t) {
2267
+ function tr(t) {
2272
2268
  const e = document.createNodeIterator(t.commonAncestorContainer);
2273
2269
  let n, o = !1;
2274
- for (; (n = e.nextNode()) && (n === t.startContainer && (o = !0), !(o && (er(n), n === t.endContainer))); )
2270
+ for (; (n = e.nextNode()) && (n === t.startContainer && (o = !0), !(o && (nr(n), n === t.endContainer))); )
2275
2271
  ;
2276
2272
  }
2277
- function er(t) {
2273
+ function nr(t) {
2278
2274
  t.nodeType === Node.TEXT_NODE && t.textContent === "" && z(t);
2279
2275
  }
2280
- class st extends N {
2276
+ class Ce extends N {
2281
2277
  element;
2282
2278
  constructor(e) {
2283
2279
  super(e), this.element = ee(e);
@@ -2301,18 +2297,18 @@ class st extends N {
2301
2297
  }
2302
2298
  async replaceRanges(e, n) {
2303
2299
  V(this.getEditorElement());
2304
- const [o] = this.selectMatches(e, n), s = o.map((r) => r.originalMatch.replacement).join("");
2305
- this.replaceAlignedMatches(o), await this.selectText(o[0].range[0], s.length, this.getTextDomMapping()), this.scrollToCurrentSelection();
2300
+ const [o] = this.selectMatches(e, n), A = o.map((r) => r.originalMatch.replacement).join("");
2301
+ this.replaceAlignedMatches(o), await this.selectText(o[0].range[0], A.length, this.getTextDomMapping()), this.scrollToCurrentSelection();
2306
2302
  }
2307
2303
  async selectText(e, n, o) {
2308
2304
  if (!o.text)
2309
2305
  return;
2310
- const s = this.createRange(e, n, o), r = this.getEditorDocument().getSelection();
2306
+ const A = this.createRange(e, n, o), r = this.getEditorDocument().getSelection();
2311
2307
  if (!r) {
2312
2308
  console.warn("AsyncContentEditableAdapter.selectText: Missing selection");
2313
2309
  return;
2314
2310
  }
2315
- return r.removeAllRanges(), await this.addSelectionRange(r, s);
2311
+ return r.removeAllRanges(), await this.addSelectionRange(r, A);
2316
2312
  }
2317
2313
  async addSelectionRange(e, n) {
2318
2314
  return new Promise((o) => o(e.addRange(n)));
@@ -2320,14 +2316,14 @@ class st extends N {
2320
2316
  async scrollIntoView(e) {
2321
2317
  const n = e.getRangeAt(0);
2322
2318
  n.cloneRange().collapse(!0);
2323
- const s = n.startContainer.parentElement;
2324
- s && (s.focus(), this.scrollElementIntoView(s));
2319
+ const A = n.startContainer.parentElement;
2320
+ A && (A.focus(), this.scrollElementIntoView(A));
2325
2321
  }
2326
2322
  }
2327
- function tr(t) {
2323
+ function rr(t) {
2328
2324
  return t.closest(".DraftEditor-editorContainer, .akEditor");
2329
2325
  }
2330
- class at extends N {
2326
+ class lt extends N {
2331
2327
  element;
2332
2328
  constructor(e) {
2333
2329
  super(e), this.element = ee(e);
@@ -2345,7 +2341,109 @@ class at extends N {
2345
2341
  return this.element.ownerDocument;
2346
2342
  }
2347
2343
  }
2348
- class ct {
2344
+ const or = 50, Ge = "heretto.com";
2345
+ function ir(t) {
2346
+ const e = t.toLowerCase();
2347
+ return !e || e.startsWith(".") ? !1 : !!(e === Ge || e.endsWith("." + Ge));
2348
+ }
2349
+ const Ar = "gwt-debug-PreviewViewImpl.previewFrame";
2350
+ class dt extends Ce {
2351
+ constructor(e) {
2352
+ super(e);
2353
+ }
2354
+ /**
2355
+ * Override selectRanges to add Heretto-specific event dispatching.
2356
+ *
2357
+ * @param checkId - The check ID
2358
+ * @param matches - Array of matches to select
2359
+ * @returns Promise that resolves when selection is complete
2360
+ */
2361
+ async selectRanges(e, n) {
2362
+ await super.selectRanges(e, n), this.dispatchHerettoSelectionEvents();
2363
+ }
2364
+ /**
2365
+ * Dispatch mouseup and selectionchange events to notify Heretto's GWT editor
2366
+ * about the selection change.
2367
+ */
2368
+ dispatchHerettoSelectionEvents() {
2369
+ const e = this.getEditorElement(), n = this.getEditorDocument();
2370
+ e.dispatchEvent(
2371
+ new MouseEvent("mouseup", {
2372
+ bubbles: !0,
2373
+ cancelable: !0
2374
+ })
2375
+ ), n.dispatchEvent(
2376
+ new Event("selectionchange", {
2377
+ bubbles: !0
2378
+ })
2379
+ ), console.log("HerettoContentEditableAdapter: Selection events dispatched");
2380
+ }
2381
+ /**
2382
+ * Override replaceRanges with custom implementation for Heretto.com.
2383
+ * Uses paste event to apply replacements in the Heretto editor.
2384
+ *
2385
+ * The replacement is done asynchronously:
2386
+ * 1. First select the text
2387
+ * 2. Wait for selection events to propagate
2388
+ * 3. Apply replacement via paste event
2389
+ *
2390
+ * @param checkId - The check ID
2391
+ * @param matchesWithReplacement - Array of matches with replacement suggestions
2392
+ * @returns Promise that resolves when replacement is complete, rejects on error
2393
+ */
2394
+ async replaceRanges(e, n) {
2395
+ console.log("HerettoContentEditableAdapter.replaceRanges called", {
2396
+ checkId: e,
2397
+ matchesCount: n.length,
2398
+ matches: n
2399
+ }), await this.selectRanges(e, n), await ze(or);
2400
+ const o = n.map((A) => A.replacement).join("");
2401
+ this.applyReplacementViaPaste(o);
2402
+ }
2403
+ /**
2404
+ * Apply replacement text using the paste event.
2405
+ *
2406
+ * @param replacementText - The text to insert in place of the selection
2407
+ * @throws Error if editor is not found or not editable
2408
+ */
2409
+ applyReplacementViaPaste(e) {
2410
+ const n = this.getEditorElement();
2411
+ if (!n) {
2412
+ const r = "HerettoContentEditableAdapter: Editor element not found";
2413
+ throw console.error(r), new Error(r);
2414
+ }
2415
+ if (!n.isContentEditable) {
2416
+ const r = "HerettoContentEditableAdapter: Editor is not content editable";
2417
+ throw console.error(r), new Error(r);
2418
+ }
2419
+ const o = new DataTransfer();
2420
+ o.setData("text/plain", e);
2421
+ const A = new ClipboardEvent("paste", {
2422
+ clipboardData: o,
2423
+ bubbles: !0,
2424
+ cancelable: !0
2425
+ });
2426
+ n.dispatchEvent(A), console.log("HerettoContentEditableAdapter: Paste event dispatched with replacement:", e);
2427
+ }
2428
+ }
2429
+ function sr(t) {
2430
+ if (!ir(document.location.hostname))
2431
+ return !1;
2432
+ const e = t.ownerDocument;
2433
+ if (!e || e === document)
2434
+ return !1;
2435
+ const n = document.getElementById(Ar);
2436
+ if (!n)
2437
+ return !1;
2438
+ try {
2439
+ if (n.contentDocument !== e && n.contentWindow?.document !== e)
2440
+ return !1;
2441
+ } catch {
2442
+ return !1;
2443
+ }
2444
+ return !!e.body?.classList.contains("heretto");
2445
+ }
2446
+ class ut {
2349
2447
  element;
2350
2448
  config;
2351
2449
  currentContentChecking;
@@ -2383,14 +2481,14 @@ class ct {
2383
2481
  registerCheckCall(e) {
2384
2482
  }
2385
2483
  scrollAndSelect(e) {
2386
- const n = e[0].range[0], o = nt(e), s = this.element;
2387
- if (s.clientHeight < s.scrollHeight) {
2484
+ const n = e[0].range[0], o = it(e), A = this.element;
2485
+ if (A.clientHeight < A.scrollHeight) {
2388
2486
  const r = this.element.value;
2389
- s.value = r.slice(0, n), s.focus(), s.scrollTop = 1e9;
2390
- const i = s.scrollTop;
2391
- s.value = r, i > 0 && (s.scrollTop = i + s.clientHeight / 2);
2487
+ A.value = r.slice(0, n), A.focus(), A.scrollTop = 1e9;
2488
+ const i = A.scrollTop;
2489
+ A.value = r, i > 0 && (A.scrollTop = i + A.clientHeight / 2);
2392
2490
  }
2393
- s.setSelectionRange(n, n + o), s.focus(), it(s, this.config.scrollOffsetY);
2491
+ A.setSelectionRange(n, n + o), A.focus(), at(A, this.config.scrollOffsetY);
2394
2492
  }
2395
2493
  selectRanges(e, n) {
2396
2494
  this.selectMatches(e, n);
@@ -2404,22 +2502,22 @@ class ct {
2404
2502
  }
2405
2503
  replaceAlignedMatches(e) {
2406
2504
  const n = structuredClone(e).reverse(), o = this.element;
2407
- let s = o.value;
2505
+ let A = o.value;
2408
2506
  for (const r of n)
2409
- ve(this.lastContentChecked, r.originalMatch) || (s = s.slice(0, r.range[0]) + r.originalMatch.replacement + s.slice(r.range[1]));
2410
- o.value = s;
2507
+ ve(this.lastContentChecked, r.originalMatch) || (A = A.slice(0, r.range[0]) + r.originalMatch.replacement + A.slice(r.range[1]));
2508
+ o.value = A;
2411
2509
  }
2412
2510
  replaceRanges(e, n) {
2413
2511
  const o = this.selectMatches(e, n);
2414
2512
  this.scrollAndSelect(o), this.replaceAlignedMatches(o);
2415
- const s = o[0].range[0], r = o.map((i) => i.originalMatch.replacement).join("");
2416
- this.element.setSelectionRange(s, s + r.length);
2513
+ const A = o[0].range[0], r = o.map((i) => i.originalMatch.replacement).join("");
2514
+ this.element.setSelectionRange(A, A + r.length);
2417
2515
  }
2418
2516
  getAutobindWrapperAttributes() {
2419
- return ot(this.element);
2517
+ return st(this.element);
2420
2518
  }
2421
2519
  }
2422
- class lt extends N {
2520
+ class gt extends N {
2423
2521
  element;
2424
2522
  constructor(e) {
2425
2523
  super(e), this.element = ee(e), console.warn("QuipAdapter", this.element);
@@ -2438,23 +2536,23 @@ class lt extends N {
2438
2536
  }
2439
2537
  async replaceRanges(e, n) {
2440
2538
  super.replaceRanges(e, n);
2441
- const o = this.getEditorDocument().getSelection(), s = o && o.focusNode;
2442
- if (!s) {
2539
+ const o = this.getEditorDocument().getSelection(), A = o && o.focusNode;
2540
+ if (!A) {
2443
2541
  console.warn("No selection after replacement.");
2444
2542
  return;
2445
2543
  }
2446
- const r = nr(s);
2447
- switch (ir(r)) {
2544
+ const r = ar(A);
2545
+ switch (dr(r)) {
2448
2546
  case "cell": {
2449
2547
  console.log("Found cell");
2450
- const A = r.closest("." + de), c = A.innerText;
2451
- rr(r), await Wt(100);
2452
- const a = document.activeElement;
2453
- if (!a || !a.classList.contains("spreadsheet-cell-editor")) {
2454
- console.warn("Found no cell editor", r, a);
2548
+ const s = r.closest("." + de), a = s.innerText;
2549
+ cr(r), await ze(100);
2550
+ const c = document.activeElement;
2551
+ if (!c || !c.classList.contains("spreadsheet-cell-editor")) {
2552
+ console.warn("Found no cell editor", r, c);
2455
2553
  return;
2456
2554
  }
2457
- o.selectAllChildren(a), document.execCommand("InsertHTML", !1, c), A.innerText = c, or(a, "keydown", "Enter", 13);
2555
+ o.selectAllChildren(c), document.execCommand("InsertHTML", !1, a), s.innerText = a, lr(c, "keydown", "Enter", 13);
2458
2556
  break;
2459
2557
  }
2460
2558
  case "content":
@@ -2466,10 +2564,10 @@ class lt extends N {
2466
2564
  }
2467
2565
  }
2468
2566
  }
2469
- function nr(t) {
2567
+ function ar(t) {
2470
2568
  return t instanceof HTMLElement ? t : t.parentElement;
2471
2569
  }
2472
- function rr(t) {
2570
+ function cr(t) {
2473
2571
  t.dispatchEvent(
2474
2572
  new MouseEvent("dblclick", {
2475
2573
  view: window,
@@ -2478,8 +2576,8 @@ function rr(t) {
2478
2576
  })
2479
2577
  );
2480
2578
  }
2481
- function or(t, e, n, o) {
2482
- const s = {
2579
+ function lr(t, e, n, o) {
2580
+ const A = {
2483
2581
  key: n,
2484
2582
  code: n,
2485
2583
  keyCode: o,
@@ -2488,17 +2586,17 @@ function or(t, e, n, o) {
2488
2586
  bubbles: !0,
2489
2587
  cancelable: !0
2490
2588
  };
2491
- t.dispatchEvent(new KeyboardEvent(e, s));
2589
+ t.dispatchEvent(new KeyboardEvent(e, A));
2492
2590
  }
2493
2591
  const de = "spreadsheet-cell";
2494
- function ir(t) {
2592
+ function dr(t) {
2495
2593
  const e = t.closest(`.${de}, .content`);
2496
2594
  return e ? e.classList.contains(de) ? "cell" : "content" : "none";
2497
2595
  }
2498
- function Ar(t) {
2596
+ function ur(t) {
2499
2597
  return document.location.host.endsWith(".quip.com") && t.classList.contains("document-content");
2500
2598
  }
2501
- const sr = [
2599
+ const gr = [
2502
2600
  "input:not([type])",
2503
2601
  // type attribute not present in markup
2504
2602
  'input[type=""]',
@@ -2511,61 +2609,61 @@ const sr = [
2511
2609
  "textarea",
2512
2610
  "iframe"
2513
2611
  ].join(", ");
2514
- function ar(t) {
2612
+ function hr(t) {
2515
2613
  return t.readOnly;
2516
2614
  }
2517
- function dt(t) {
2615
+ function ht(t) {
2518
2616
  const e = t.getAttribute("autocomplete");
2519
2617
  return e === "off" || e === "false";
2520
2618
  }
2521
- function cr(t) {
2522
- return t.getAttribute("role") === "combobox" && dt(t);
2619
+ function fr(t) {
2620
+ return t.getAttribute("role") === "combobox" && ht(t);
2523
2621
  }
2524
- const lr = ["search_query", "q"];
2525
- function dr(t) {
2622
+ const pr = ["search_query", "q"];
2623
+ function mr(t) {
2526
2624
  if (t.nodeName !== "INPUT")
2527
2625
  return !1;
2528
2626
  if (t.getAttribute("role") === "search")
2529
2627
  return !0;
2530
2628
  const e = t.getAttribute("name");
2531
- return e && lr.includes(e) && dt(t);
2629
+ return e && pr.includes(e) && ht(t);
2532
2630
  }
2533
- const ur = ["username", "login", "user[login]", "authenticity_token"];
2534
- function gr(t) {
2535
- return ur.includes(t.getAttribute("name"));
2631
+ const br = ["username", "login", "user[login]", "authenticity_token"];
2632
+ function vr(t) {
2633
+ return br.includes(t.getAttribute("name"));
2536
2634
  }
2537
- function hr(t) {
2538
- if (Dt(t))
2635
+ function Ir(t) {
2636
+ if (Zt(t))
2539
2637
  try {
2540
- return t.contentDocument ? Ce(t.contentDocument) : [];
2638
+ return t.contentDocument ? we(t.contentDocument) : [];
2541
2639
  } catch {
2542
2640
  return [];
2543
2641
  }
2544
2642
  else
2545
2643
  return [t];
2546
2644
  }
2547
- function fr(t) {
2645
+ function Cr(t) {
2548
2646
  const e = [], n = (t.ownerDocument || t).createNodeIterator(t, NodeFilter.SHOW_ELEMENT);
2549
2647
  let o;
2550
2648
  for (; o = n.nextNode(); ) {
2551
- const s = o.shadowRoot;
2552
- s && e.push(...Ce(s));
2649
+ const A = o.shadowRoot;
2650
+ A && e.push(...we(A));
2553
2651
  }
2554
2652
  return e;
2555
2653
  }
2556
- function Ce(t = document) {
2557
- const e = Array.from(t.querySelectorAll(sr)), n = fr(t);
2558
- return [...e, ...n].flatMap(hr).filter(
2559
- (i) => !ar(i) && !cr(i) && !dr(i) && !gr(i)
2654
+ function we(t = document) {
2655
+ const e = Array.from(t.querySelectorAll(gr)), n = Cr(t);
2656
+ return [...e, ...n].flatMap(Ir).filter(
2657
+ (i) => !hr(i) && !fr(i) && !mr(i) && !vr(i)
2560
2658
  );
2561
2659
  }
2562
- function ut(t = {}) {
2563
- return Ce().map(function(e) {
2660
+ function ft(t = {}) {
2661
+ return we().map(function(e) {
2564
2662
  const n = te(t, { element: e });
2565
- return t.enableQuipAdapter && Ar(e) ? new lt(n) : e.nodeName === "INPUT" || e.nodeName === "TEXTAREA" ? new ct(n) : tr(e) ? new st(n) : new at(n);
2663
+ return t.enableHerettoAdapter && sr(e) ? new dt(n) : t.enableQuipAdapter && ur(e) ? new gt(n) : e.nodeName === "INPUT" || e.nodeName === "TEXTAREA" ? (console.log("InputAdapter", e), new ut(n)) : rr(e) ? new Ce(n) : (console.log("ContentEditableAdapter", e), new lt(n));
2566
2664
  });
2567
2665
  }
2568
- const pr = {
2666
+ const wr = {
2569
2667
  "&": "&amp;",
2570
2668
  "<": "&lt;",
2571
2669
  ">": "&gt;",
@@ -2573,15 +2671,15 @@ const pr = {
2573
2671
  "'": "&#39;",
2574
2672
  "`": "&#96;"
2575
2673
  };
2576
- function mr(t) {
2674
+ function yr(t) {
2577
2675
  let e = "";
2578
2676
  const n = [];
2579
2677
  let o = 0;
2580
- for (let s = 0; s < t.length; s++) {
2581
- const r = t[s], i = pr[r];
2678
+ for (let A = 0; A < t.length; A++) {
2679
+ const r = t[A], i = wr[r];
2582
2680
  if (i) {
2583
- const A = i.length - 1;
2584
- o = o - A, n.push({
2681
+ const s = i.length - 1;
2682
+ o = o - s, n.push({
2585
2683
  oldPosition: e.length + i.length,
2586
2684
  diffOffset: o
2587
2685
  });
@@ -2590,47 +2688,47 @@ function mr(t) {
2590
2688
  }
2591
2689
  return { escapedText: e, backwardAlignment: n };
2592
2690
  }
2593
- function gt(t, e) {
2691
+ function pt(t, e) {
2594
2692
  const n = structuredClone(t.attributes);
2595
2693
  e && Object.assign(n, { id: e });
2596
- const o = Object.entries(n).map(([s, r]) => ` ${s}="${be(r)}"`).join("");
2694
+ const o = Object.entries(n).map(([A, r]) => ` ${A}="${be(r)}"`).join("");
2597
2695
  return `<${t.tagName}${o}>`;
2598
2696
  }
2599
- function ht(t) {
2697
+ function mt(t) {
2600
2698
  return `</${t}>`;
2601
2699
  }
2602
- function br(t, e) {
2700
+ function Er(t, e) {
2603
2701
  return [
2604
2702
  G(t.backwardAlignment, e[0]),
2605
2703
  G(t.backwardAlignment, e[1])
2606
2704
  ];
2607
2705
  }
2608
- function Pe(t, e = "div") {
2706
+ function Te(t, e = "div") {
2609
2707
  const n = t.tagName || e;
2610
2708
  return n.includes(" ") && console.info(`tagName "${n}" contains whitespaces which may lead to unexpected results.`), { tagName: n, attributes: t.attributes || {} };
2611
2709
  }
2612
- function vr(t, e) {
2613
- const n = e.content, o = t.wrapper.tagName, s = gt(t.wrapper, t.id), r = t.adapter.getFormat ? t.adapter.getFormat() === "TEXT" : !1;
2710
+ function kr(t, e) {
2711
+ const n = e.content, o = t.wrapper.tagName, A = pt(t.wrapper, t.id), r = t.adapter.getFormat ? t.adapter.getFormat() === "TEXT" : !1;
2614
2712
  let i;
2615
- return r ? (t.escapeResult = mr(n), i = t.escapeResult.escapedText) : i = n, {
2616
- completeHtml: s + i + ht(o),
2617
- contentStart: s.length,
2618
- contentEnd: s.length + i.length
2713
+ return r ? (t.escapeResult = yr(n), i = t.escapeResult.escapedText) : i = n, {
2714
+ completeHtml: A + i + mt(o),
2715
+ contentStart: A.length,
2716
+ contentEnd: A.length + i.length
2619
2717
  };
2620
2718
  }
2621
- class we {
2719
+ class ye {
2622
2720
  config;
2623
2721
  rootElementWrapper;
2624
2722
  adapters;
2625
2723
  adaptersOfLastSuccessfulCheck;
2626
2724
  constructor(e = {}) {
2627
- this.config = e, e.rootElement && (this.rootElementWrapper = Pe(e.rootElement, "html")), this.adapters = [];
2725
+ this.config = e, e.rootElement && (this.rootElementWrapper = Te(e.rootElement, "html")), this.adapters = [];
2628
2726
  }
2629
2727
  getFormat() {
2630
2728
  return this.config.aggregateFormat || "HTML";
2631
2729
  }
2632
2730
  addSingleAdapterInternal(e, n = {}, o = "acrolinx_integration" + this.adapters.length) {
2633
- this.adapters.push({ id: o, adapter: e, wrapper: Pe(n) });
2731
+ this.adapters.push({ id: o, adapter: e, wrapper: Te(n) });
2634
2732
  }
2635
2733
  addSingleAdapter(e, n = {}, o) {
2636
2734
  this.addSingleAdapterInternal(e, n, o);
@@ -2642,25 +2740,25 @@ class we {
2642
2740
  this.config.beforeCheck && this.config.beforeCheck(this);
2643
2741
  const n = this.adapters.map((o) => o.adapter.extractContentForCheck(e));
2644
2742
  return Promise.all(n).then((o) => {
2645
- let s = this.config.documentHeader || "";
2743
+ let A = this.config.documentHeader || "";
2646
2744
  const r = [];
2647
- this.rootElementWrapper && (s += gt(this.rootElementWrapper));
2745
+ this.rootElementWrapper && (A += pt(this.rootElementWrapper));
2648
2746
  for (let i = 0; i < this.adapters.length; i++) {
2649
- const A = o[i], c = this.adapters[i];
2650
- if (Ye(A)) {
2651
- c.checkedRange = void 0;
2747
+ const s = o[i], a = this.adapters[i];
2748
+ if (Je(s)) {
2749
+ a.checkedRange = void 0;
2652
2750
  continue;
2653
2751
  }
2654
- const { completeHtml: a, contentStart: l, contentEnd: d } = vr(c, A);
2655
- if (c.checkedRange = [s.length + l, s.length + d], A.selection)
2656
- for (const u of A.selection.ranges)
2752
+ const { completeHtml: c, contentStart: l, contentEnd: d } = kr(a, s);
2753
+ if (a.checkedRange = [A.length + l, A.length + d], s.selection)
2754
+ for (const u of s.selection.ranges)
2657
2755
  r.push([
2658
- u[0] + c.checkedRange[0],
2659
- u[1] + c.checkedRange[0]
2756
+ u[0] + a.checkedRange[0],
2757
+ u[1] + a.checkedRange[0]
2660
2758
  ]);
2661
- s += a;
2759
+ A += c;
2662
2760
  }
2663
- return this.rootElementWrapper && (s += ht(this.rootElementWrapper.tagName)), { content: s, selection: { ranges: r } };
2761
+ return this.rootElementWrapper && (A += mt(this.rootElementWrapper.tagName)), { content: A, selection: { ranges: r } };
2664
2762
  });
2665
2763
  }
2666
2764
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -2673,19 +2771,19 @@ class we {
2673
2771
  }
2674
2772
  selectRanges(e, n) {
2675
2773
  const o = this.remapMatches(n);
2676
- for (const s in o)
2677
- o[s].adapter.selectRanges(e, o[s].matches);
2774
+ for (const A in o)
2775
+ o[A].adapter.selectRanges(e, o[A].matches);
2678
2776
  }
2679
2777
  remapMatches(e) {
2680
2778
  const n = {};
2681
2779
  for (const o of e) {
2682
- const s = this.getAdapterForMatch(o);
2683
- n.hasOwnProperty(s.id) || (n[s.id] = { matches: [], adapter: s.adapter });
2684
- const r = s.checkedRange[0], i = [
2780
+ const A = this.getAdapterForMatch(o);
2781
+ n.hasOwnProperty(A.id) || (n[A.id] = { matches: [], adapter: A.adapter });
2782
+ const r = A.checkedRange[0], i = [
2685
2783
  o.range[0] - r,
2686
2784
  o.range[1] - r
2687
- ], A = structuredClone(o);
2688
- A.range = s.escapeResult ? br(s.escapeResult, i) : i, n[s.id].matches.push(A);
2785
+ ], s = structuredClone(o);
2786
+ s.range = A.escapeResult ? Er(A.escapeResult, i) : i, n[A.id].matches.push(s);
2689
2787
  }
2690
2788
  return n;
2691
2789
  }
@@ -2699,11 +2797,11 @@ class we {
2699
2797
  }
2700
2798
  replaceRanges(e, n) {
2701
2799
  const o = this.remapMatches(n);
2702
- for (const s in o)
2703
- o[s].adapter.replaceRanges(e, o[s].matches);
2800
+ for (const A in o)
2801
+ o[A].adapter.replaceRanges(e, o[A].matches);
2704
2802
  }
2705
2803
  }
2706
- class ft extends we {
2804
+ class bt extends ye {
2707
2805
  isAsync = !0;
2708
2806
  requiresSynchronization = !0;
2709
2807
  addSingleAdapter(e, n = {}, o) {
@@ -2711,16 +2809,16 @@ class ft extends we {
2711
2809
  }
2712
2810
  async selectRanges(e, n) {
2713
2811
  const o = this.remapMatches(n);
2714
- for (const s in o)
2715
- await o[s].adapter.selectRanges(e, o[s].matches);
2812
+ for (const A in o)
2813
+ await o[A].adapter.selectRanges(e, o[A].matches);
2716
2814
  }
2717
2815
  async replaceRanges(e, n) {
2718
2816
  const o = this.remapMatches(n);
2719
- for (const s in o)
2720
- await o[s].adapter.replaceRanges(e, o[s].matches);
2817
+ for (const A in o)
2818
+ await o[A].adapter.replaceRanges(e, o[A].matches);
2721
2819
  }
2722
2820
  }
2723
- class pt {
2821
+ class vt {
2724
2822
  constructor(e) {
2725
2823
  this.conf = e, this.initMultiAdapter();
2726
2824
  }
@@ -2728,13 +2826,13 @@ class pt {
2728
2826
  requiresSynchronization = !0;
2729
2827
  asyncMultiAdapter;
2730
2828
  initMultiAdapter() {
2731
- this.asyncMultiAdapter = new ft(this.conf);
2829
+ this.asyncMultiAdapter = new bt(this.conf);
2732
2830
  }
2733
2831
  getFormat() {
2734
2832
  return this.asyncMultiAdapter.getFormat();
2735
2833
  }
2736
2834
  extractContentForCheck(e) {
2737
- return this.initMultiAdapter(), ut(this.conf).forEach((n) => {
2835
+ return this.initMultiAdapter(), ft(this.conf).forEach((n) => {
2738
2836
  const o = n.getAutobindWrapperAttributes ? n.getAutobindWrapperAttributes() : {};
2739
2837
  this.asyncMultiAdapter.addSingleAdapter(n, { attributes: o });
2740
2838
  }), this.asyncMultiAdapter.extractContentForCheck(e);
@@ -2752,19 +2850,19 @@ class pt {
2752
2850
  await this.asyncMultiAdapter.replaceRanges(e, n);
2753
2851
  }
2754
2852
  }
2755
- class mt {
2853
+ class It {
2756
2854
  constructor(e) {
2757
2855
  this.conf = e, this.initMultiAdapter();
2758
2856
  }
2759
2857
  multiAdapter;
2760
2858
  initMultiAdapter() {
2761
- this.multiAdapter = new we(this.conf);
2859
+ this.multiAdapter = new ye(this.conf);
2762
2860
  }
2763
2861
  getFormat() {
2764
2862
  return this.multiAdapter.getFormat();
2765
2863
  }
2766
2864
  extractContentForCheck(e) {
2767
- return this.initMultiAdapter(), ut(this.conf).forEach((n) => {
2865
+ return this.initMultiAdapter(), ft(this.conf).forEach((n) => {
2768
2866
  const o = n.getAutobindWrapperAttributes ? n.getAutobindWrapperAttributes() : {};
2769
2867
  this.multiAdapter.addSingleAdapter(n, { attributes: o });
2770
2868
  }), this.multiAdapter.extractContentForCheck(e);
@@ -2782,54 +2880,54 @@ class mt {
2782
2880
  this.multiAdapter.replaceRanges(e, n);
2783
2881
  }
2784
2882
  }
2785
- class ye {
2883
+ class Ee {
2786
2884
  get(e) {
2787
2885
  return new Promise((n) => {
2788
- n(Ir(e));
2886
+ n(Br(e));
2789
2887
  });
2790
2888
  }
2791
2889
  set(e, n) {
2792
2890
  return new Promise((o) => {
2793
- Cr(e, n), o(void 0);
2891
+ Sr(e, n), o(void 0);
2794
2892
  });
2795
2893
  }
2796
2894
  }
2797
- function Ir(t) {
2895
+ function Br(t) {
2798
2896
  const e = localStorage.getItem(t);
2799
2897
  return e === null ? null : JSON.parse(e);
2800
2898
  }
2801
- function Cr(t, e) {
2899
+ function Sr(t, e) {
2802
2900
  localStorage.setItem(t, JSON.stringify(e));
2803
2901
  }
2804
- const M = "acrolinxFloatingSidebar", bt = "acrolinxFloatingSidebarTitleBar", Ee = "acrolinxFloatingSidebarCloseIcon";
2902
+ const M = "acrolinxFloatingSidebar", Ct = "acrolinxFloatingSidebarTitleBar", ke = "acrolinxFloatingSidebarCloseIcon";
2805
2903
  let J = "acrolinxSidebarContainer";
2806
- const ke = "acrolinxDragOverlay", ue = "acrolinxFloatingSidebarGlassPane", vt = "acrolinxFloatingSidebarFooter", Be = "acrolinxFloatingSidebarResizeIcon", Y = "acrolinxFloatingSidebarIsResizing", ge = "acrolinxFloatingSidebarIsDragged", Ge = 34, wr = "PHN2ZyBmaWxsPSIjZmZmZmZmIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICAgIDxwYXRoIGQ9Ik0xOSAxOUg1VjVoN1YzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+", yr = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI0IDI0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkwOTA5MDt9Cgkuc3Qxe2ZpbGw6bm9uZTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik03LjMsMjFoOS41di0ySDcuM1YyMXogTTcuMywxN2g5LjV2LTJINy4zVjE3eiBNNy4zLDEzaDkuNXYtMkg3LjNWMTN6IE03LjMsOWg5LjVWN0g3LjNWOXogTTcuMywzdjJoOS41VjNINy4zCgl6Ii8+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0wLDBoMjR2MjRIMFYweiIvPgo8L3N2Zz4K", ae = 2e9, Er = 900, kr = 400, It = 400, L = Object.freeze({
2904
+ const Be = "acrolinxDragOverlay", ue = "acrolinxFloatingSidebarGlassPane", wt = "acrolinxFloatingSidebarFooter", Se = "acrolinxFloatingSidebarResizeIcon", Y = "acrolinxFloatingSidebarIsResizing", ge = "acrolinxFloatingSidebarIsDragged", Ye = 34, xr = "PHN2ZyBmaWxsPSIjZmZmZmZmIiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICAgIDxwYXRoIGQ9Ik0xOSAxOUg1VjVoN1YzSDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+", Dr = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJFYmVuZV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI0IDI0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzkwOTA5MDt9Cgkuc3Qxe2ZpbGw6bm9uZTt9Cjwvc3R5bGU+CjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik03LjMsMjFoOS41di0ySDcuM1YyMXogTTcuMywxN2g5LjV2LTJINy4zVjE3eiBNNy4zLDEzaDkuNXYtMkg3LjNWMTN6IE03LjMsOWg5LjVWN0g3LjNWOXogTTcuMywzdjJoOS41VjNINy4zCgl6Ii8+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0wLDBoMjR2MjRIMFYweiIvPgo8L3N2Zz4K", ae = 2e9, Rr = 900, Fr = 400, yt = 400, L = Object.freeze({
2807
2905
  top: 20,
2808
2906
  left: 20,
2809
- height: kr
2810
- }), Ct = "acrolinx.plugins.floatingSidebar.position";
2811
- function Br(t) {
2907
+ height: Fr
2908
+ }), Et = "acrolinx.plugins.floatingSidebar.position";
2909
+ function Zr(t) {
2812
2910
  const e = {
2813
2911
  top: L.top,
2814
2912
  left: L.left,
2815
- height: wt(window.innerHeight - L.top - 40)
2913
+ height: kt(window.innerHeight - L.top - 40)
2816
2914
  };
2817
- return t.get(Ct).then(
2915
+ return t.get(Et).then(
2818
2916
  (n) => ({ ...e, ...n }),
2819
2917
  (n) => (console.error("Can't load saved sidebar position.", n), e)
2820
2918
  );
2821
2919
  }
2822
- function wt(t) {
2823
- return Math.max(It, Math.min(Er, t));
2920
+ function kt(t) {
2921
+ return Math.max(yt, Math.min(Rr, t));
2824
2922
  }
2825
- function Te({ left: t, top: e, height: n }, o = window.innerWidth, s = window.innerHeight) {
2923
+ function Le({ left: t, top: e, height: n }, o = window.innerWidth, A = window.innerHeight) {
2826
2924
  return e <= 0 && (e = 20), t <= 0 && (t = 20), {
2827
2925
  left: t > o - 150 ? o - 150 : t,
2828
- top: e > s - 30 ? s - 30 : e,
2829
- height: n > s ? wt(s - 10) : n
2926
+ top: e > A - 30 ? A - 30 : e,
2927
+ height: n > A ? kt(A - 10) : n
2830
2928
  };
2831
2929
  }
2832
- function Sr() {
2930
+ function Mr() {
2833
2931
  const t = document.createElement("style"), e = document.querySelector("head");
2834
2932
  t.textContent = `
2835
2933
  #${M} {
@@ -2857,7 +2955,7 @@ function Sr() {
2857
2955
  transition: none;
2858
2956
  }
2859
2957
 
2860
- #${M} .${bt} {
2958
+ #${M} .${Ct} {
2861
2959
  position: relative;
2862
2960
  font-family: AcrolinxRoboto, Roboto, sans-serif;
2863
2961
  font-weight: 500;
@@ -2868,7 +2966,7 @@ function Sr() {
2868
2966
  color: white;
2869
2967
  }
2870
2968
 
2871
- #${M} .${Ee} {
2969
+ #${M} .${ke} {
2872
2970
  position: absolute;
2873
2971
  cursor: pointer;
2874
2972
  margin-right: 4px;
@@ -2877,7 +2975,7 @@ function Sr() {
2877
2975
  width: 18px;
2878
2976
  height: 18px;
2879
2977
  background-repeat: no-repeat;
2880
- background-image: url("data:image/svg+xml;base64,${wr}");
2978
+ background-image: url("data:image/svg+xml;base64,${xr}");
2881
2979
  -webkit-background-size: cover;
2882
2980
  -moz-background-size: cover;
2883
2981
  -o-background-size: cover;
@@ -2889,7 +2987,7 @@ function Sr() {
2889
2987
  position: absolute;
2890
2988
  top: 30px;
2891
2989
  left: 0;
2892
- bottom: ${Ge}px;
2990
+ bottom: ${Ye}px;
2893
2991
  background: white;
2894
2992
  }
2895
2993
 
@@ -2899,7 +2997,7 @@ function Sr() {
2899
2997
  border: none;
2900
2998
  }
2901
2999
 
2902
- #${M} #${ke} {
3000
+ #${M} #${Be} {
2903
3001
  position: absolute;
2904
3002
  top: 20px;
2905
3003
  left: 0;
@@ -2922,16 +3020,16 @@ function Sr() {
2922
3020
  z-index: ${ae - 100};
2923
3021
  }
2924
3022
 
2925
- #${M} .${vt} {
3023
+ #${M} .${wt} {
2926
3024
  position: absolute;
2927
3025
  bottom: 0;
2928
3026
  background: white;
2929
3027
  width: 100%;
2930
- height: ${Ge}px;
3028
+ height: ${Ye}px;
2931
3029
  border-top: 1px solid #dadada;
2932
3030
  }
2933
3031
 
2934
- #${M} .${Be} {
3032
+ #${M} .${Se} {
2935
3033
  position: absolute;
2936
3034
  right: 3px;
2937
3035
  bottom: 5px;
@@ -2942,7 +3040,7 @@ function Sr() {
2942
3040
  width: 24px;
2943
3041
  height: 24px;
2944
3042
  background-repeat: no-repeat;
2945
- background-image: url("data:image/svg+xml;base64,${yr}");
3043
+ background-image: url("data:image/svg+xml;base64,${Dr}");
2946
3044
  -webkit-background-size: cover;
2947
3045
  -moz-background-size: cover;
2948
3046
  -o-background-size: cover;
@@ -2955,17 +3053,17 @@ function Sr() {
2955
3053
  }
2956
3054
  `, e.appendChild(t);
2957
3055
  }
2958
- function xr() {
3056
+ function Wr() {
2959
3057
  return `
2960
3058
  <div id="${M}">
2961
- <div class="${bt}">Acrolinx <span class="${Ee}" title="Hide"></span></div>
3059
+ <div class="${Ct}">Acrolinx <span class="${ke}" title="Hide"></span></div>
2962
3060
  <div id="${J}"></div>
2963
- <div id="${ke}"></div>
2964
- <div class="${vt}"><div class="${Be}" title="Drag to resize"></div></div>
3061
+ <div id="${Be}"></div>
3062
+ <div class="${wt}"><div class="${Se}" title="Drag to resize"></div></div>
2965
3063
  </div>
2966
3064
  `;
2967
3065
  }
2968
- function yt(t) {
3066
+ function Bt(t) {
2969
3067
  const e = document.createElement("div");
2970
3068
  return Object.assign(e, t), e;
2971
3069
  }
@@ -2975,22 +3073,22 @@ function j(t) {
2975
3073
  function P(t) {
2976
3074
  t.style.display = "block";
2977
3075
  }
2978
- function Dr(t) {
2979
- return yt({ innerHTML: t.trim() }).firstChild;
3076
+ function Hr(t) {
3077
+ return Bt({ innerHTML: t.trim() }).firstChild;
2980
3078
  }
2981
- function Se(t) {
3079
+ function xe(t) {
2982
3080
  t.sidebarContainerId && (J = t.sidebarContainerId);
2983
3081
  let e = L;
2984
- const n = xr(), o = Dr(n), s = o.querySelector("#" + ke), r = o.querySelector("." + Ee), i = o.querySelector("." + Be), A = yt({ id: ue }), c = document.querySelector("body");
2985
- let a = !1, l = !1, d = 0, u = 0, g = !0;
3082
+ const n = Wr(), o = Hr(n), A = o.querySelector("#" + Be), r = o.querySelector("." + ke), i = o.querySelector("." + Se), s = Bt({ id: ue }), a = document.querySelector("body");
3083
+ let c = !1, l = !1, d = 0, u = 0, g = !0;
2986
3084
  function h(b) {
2987
3085
  e = te(e, b), o.style.left = e.left + "px", o.style.top = e.top + "px", o.style.height = e.height + "px";
2988
3086
  }
2989
3087
  function f() {
2990
- j(s), j(A), a = !1, l = !1, o.classList.remove(Y), o.classList.remove(ge), A.classList.remove(Y), p();
3088
+ j(A), j(s), c = !1, l = !1, o.classList.remove(Y), o.classList.remove(ge), s.classList.remove(Y), p();
2991
3089
  }
2992
3090
  function p() {
2993
- t.asyncStorage.set(Ct, e).catch((b) => {
3091
+ t.asyncStorage.set(Et, e).catch((b) => {
2994
3092
  console.error("Error in FloatingSidebar.savePosition:", b);
2995
3093
  });
2996
3094
  }
@@ -3001,53 +3099,53 @@ function Se(t) {
3001
3099
  g ? m() : (P(o), g = !0, C());
3002
3100
  }
3003
3101
  document.addEventListener("mousemove", (b) => {
3004
- if (a && h({
3102
+ if (c && h({
3005
3103
  left: Math.max(b.clientX - d, 0),
3006
3104
  top: Math.max(b.clientY - u, 0)
3007
3105
  }), l) {
3008
3106
  const w = o.getBoundingClientRect().top;
3009
3107
  h({
3010
- height: Math.max(b.clientY - u + 30 - w, It)
3108
+ height: Math.max(b.clientY - u + 30 - w, yt)
3011
3109
  });
3012
3110
  }
3013
3111
  }), o.addEventListener("mousedown", (b) => {
3014
3112
  const { top: w, left: y } = o.getBoundingClientRect();
3015
- d = b.clientX - y, u = b.clientY - w, a = !0, P(s), P(A), o.classList.add(ge);
3113
+ d = b.clientX - y, u = b.clientY - w, c = !0, P(A), P(s), o.classList.add(ge);
3016
3114
  }), i.addEventListener("mousedown", (b) => {
3017
- u = b.clientY - i.getBoundingClientRect().top, l = !0, o.classList.add(Y), A.classList.add(Y), P(s), P(A), b.stopPropagation();
3115
+ u = b.clientY - i.getBoundingClientRect().top, l = !0, o.classList.add(Y), s.classList.add(Y), P(A), P(s), b.stopPropagation();
3018
3116
  });
3019
3117
  function I() {
3020
- g && h(Te(e));
3118
+ g && h(Le(e));
3021
3119
  }
3022
3120
  function C() {
3023
3121
  setTimeout(() => {
3024
- h(Te(e));
3122
+ h(Le(e));
3025
3123
  }, 1);
3026
3124
  }
3027
3125
  function E() {
3028
- z(o), z(A), z(s), window.removeEventListener("resize", I), document.removeEventListener("mouseup", f);
3126
+ z(o), z(s), z(A), window.removeEventListener("resize", I), document.removeEventListener("mouseup", f);
3029
3127
  }
3030
- return document.addEventListener("mouseup", f), window.addEventListener("resize", I), r.addEventListener("click", m), j(s), j(A), Sr(), Br(t.asyncStorage).then((b) => {
3128
+ return document.addEventListener("mouseup", f), window.addEventListener("resize", I), r.addEventListener("click", m), j(A), j(s), Mr(), Zr(t.asyncStorage).then((b) => {
3031
3129
  P(o), h(b), C();
3032
3130
  }).catch((b) => {
3033
3131
  console.error("Error while trying to set initial position of FloatingSidebar:", b);
3034
- }), c.appendChild(o), c.appendChild(A), { toggleVisibility: v, remove: E };
3132
+ }), a.appendChild(o), a.appendChild(s), { toggleVisibility: v, remove: E };
3035
3133
  }
3036
- async function Rr(t) {
3134
+ async function Qr(t) {
3037
3135
  const e = te(t, {
3038
3136
  sidebarContainerId: J,
3039
- asyncStorage: t.asyncStorage || new ye()
3040
- }), n = Se(e), o = new pe(e);
3041
- return o.registerAdapter(new mt(e)), await o.init(), n;
3137
+ asyncStorage: t.asyncStorage || new Ee()
3138
+ }), n = xe(e), o = new pe(e);
3139
+ return o.registerAdapter(new It(e)), await o.init(), n;
3042
3140
  }
3043
- async function Fr(t) {
3141
+ async function Kr(t) {
3044
3142
  const e = te(t, {
3045
3143
  sidebarContainerId: J,
3046
- asyncStorage: t.asyncStorage || new ye()
3047
- }), n = Se(e), o = new pe(e);
3048
- return o.registerAdapter(new pt(e)), await o.init(), n;
3144
+ asyncStorage: t.asyncStorage || new Ee()
3145
+ }), n = xe(e), o = new pe(e);
3146
+ return o.registerAdapter(new vt(e)), await o.init(), n;
3049
3147
  }
3050
- class Zr extends N {
3148
+ class Nr extends N {
3051
3149
  editorId;
3052
3150
  constructor(e) {
3053
3151
  super(e), this.editorId = e.editorId;
@@ -3085,7 +3183,7 @@ class Zr extends N {
3085
3183
  return o.isEnabled && o.isSourceEditingMode;
3086
3184
  }
3087
3185
  }
3088
- class Mr extends N {
3186
+ class Pr extends N {
3089
3187
  editorId;
3090
3188
  constructor(e) {
3091
3189
  super(e), this.editorId = e.editorId;
@@ -3115,7 +3213,7 @@ class Mr extends N {
3115
3213
  return this.getEditor().mode === "wysiwyg";
3116
3214
  }
3117
3215
  }
3118
- class Wr extends N {
3216
+ class Gr extends N {
3119
3217
  editorId;
3120
3218
  constructor(e) {
3121
3219
  super(e), this.config.disableInputEventSimulation = !0, this.editorId = e.editorId;
@@ -3134,7 +3232,7 @@ class Wr extends N {
3134
3232
  return this.getEditor().getDoc();
3135
3233
  }
3136
3234
  }
3137
- class Hr {
3235
+ class Tr {
3138
3236
  config;
3139
3237
  currentContentChecking;
3140
3238
  lastContentChecked;
@@ -3186,18 +3284,18 @@ class Hr {
3186
3284
  this.selectRangeAndScroll([o[0].range[0], o[o.length - 1].range[1]]);
3187
3285
  }
3188
3286
  replaceRanges(e, n) {
3189
- const o = this.lookupMatchesOrThrow(n), s = this.getEscapeFunction();
3287
+ const o = this.lookupMatchesOrThrow(n), A = this.getEscapeFunction();
3190
3288
  let r = 0;
3191
3289
  o.slice().reverse().forEach((i) => {
3192
3290
  if (!ve(this.lastContentChecked, i.originalMatch)) {
3193
- const A = s(i.originalMatch.replacement);
3291
+ const s = A(i.originalMatch.replacement);
3194
3292
  this.config.editor.dispatch({
3195
3293
  changes: {
3196
3294
  from: i.range[0],
3197
3295
  to: i.range[1],
3198
- insert: A
3296
+ insert: s
3199
3297
  }
3200
- }), r += A.length;
3298
+ }), r += s.length;
3201
3299
  }
3202
3300
  }), this.selectRangeAndScroll([o[0].range[0], o[0].range[0] + r]);
3203
3301
  }
@@ -3219,21 +3317,21 @@ class Hr {
3219
3317
  }
3220
3318
  cmSelectionToRange = (e) => {
3221
3319
  const n = [e.from, e.to];
3222
- return n.sort((o, s) => o - s), n;
3320
+ return n.sort((o, A) => o - A), n;
3223
3321
  };
3224
3322
  }
3225
- const Qr = {
3323
+ const Yr = {
3226
3324
  "text/html": "HTML",
3227
3325
  "text/xml": "HTML",
3228
3326
  "application/xml": "XML",
3229
3327
  "text/x-markdown": "MARKDOWN",
3230
3328
  "text/plain": "TEXT"
3231
- }, Kr = {
3329
+ }, Lr = {
3232
3330
  htmlmixed: "HTML",
3233
3331
  xml: "XML",
3234
3332
  markdown: "MARKDOWN"
3235
3333
  };
3236
- class Nr {
3334
+ class Jr {
3237
3335
  config;
3238
3336
  currentContentChecking;
3239
3337
  lastContentChecked;
@@ -3258,7 +3356,7 @@ class Nr {
3258
3356
  return this.config.format || this.getFormatFromCodeMirror() || "AUTO";
3259
3357
  }
3260
3358
  getFormatFromCodeMirror() {
3261
- return Kr[this.config.editor.getDoc().getMode().name || ""] || Qr[this.config.editor.getOption("mode")];
3359
+ return Lr[this.config.editor.getDoc().getMode().name || ""] || Yr[this.config.editor.getOption("mode")];
3262
3360
  }
3263
3361
  extractContentForCheck(e) {
3264
3362
  return this.currentContentChecking = this.getContent(), {
@@ -3287,14 +3385,14 @@ class Nr {
3287
3385
  this.selectRangeAndScroll([o[0].range[0], o[o.length - 1].range[1]]);
3288
3386
  }
3289
3387
  replaceRanges(e, n) {
3290
- const o = this.getDoc(), s = this.lookupMatchesOrThrow(n), r = this.getEscapeFunction();
3388
+ const o = this.getDoc(), A = this.lookupMatchesOrThrow(n), r = this.getEscapeFunction();
3291
3389
  let i = 0;
3292
- for (const A of [...s].reverse())
3293
- if (!ve(this.lastContentChecked, A.originalMatch)) {
3294
- const [c, a] = this.selectRange(A.range), l = r(A.originalMatch.replacement);
3295
- o.replaceRange(l, c, a), i += l.length;
3390
+ for (const s of [...A].reverse())
3391
+ if (!ve(this.lastContentChecked, s.originalMatch)) {
3392
+ const [a, c] = this.selectRange(s.range), l = r(s.originalMatch.replacement);
3393
+ o.replaceRange(l, a, c), i += l.length;
3296
3394
  }
3297
- this.selectRangeAndScroll([s[0].range[0], s[0].range[0] + i]);
3395
+ this.selectRangeAndScroll([A[0].range[0], A[0].range[0] + i]);
3298
3396
  }
3299
3397
  getEscapeFunction() {
3300
3398
  const e = this.getFormat();
@@ -3310,8 +3408,8 @@ class Nr {
3310
3408
  return this.config.editor.getDoc();
3311
3409
  }
3312
3410
  selectRange(e) {
3313
- const n = this.getDoc(), o = n.posFromIndex(e[0]), s = n.posFromIndex(e[1]);
3314
- return n.setSelection(o, s), [o, s];
3411
+ const n = this.getDoc(), o = n.posFromIndex(e[0]), A = n.posFromIndex(e[1]);
3412
+ return n.setSelection(o, A), [o, A];
3315
3413
  }
3316
3414
  selectRangeAndScroll(e) {
3317
3415
  const n = this.selectRange(e), o = this.config.editor;
@@ -3319,10 +3417,10 @@ class Nr {
3319
3417
  }
3320
3418
  cmSelectionToRange = (e) => {
3321
3419
  const n = this.getDoc(), o = [n.indexFromPos(e.anchor), n.indexFromPos(e.head)];
3322
- return o.sort((s, r) => s - r), o;
3420
+ return o.sort((A, r) => A - r), o;
3323
3421
  };
3324
3422
  }
3325
- class Pr {
3423
+ class Or {
3326
3424
  /**
3327
3425
  * Editor of this adapter
3328
3426
  *
@@ -3396,8 +3494,8 @@ class Pr {
3396
3494
  * @inheritdoc
3397
3495
  */
3398
3496
  replaceRanges(e, n) {
3399
- const o = this.selectMatches(n), s = o.map((r) => r.originalMatch.replacement).join("");
3400
- this.replaceAlignedMatches(o), this.selectText(o[0].range[0], s.length);
3497
+ const o = this.selectMatches(n), A = o.map((r) => r.originalMatch.replacement).join("");
3498
+ this.replaceAlignedMatches(o), this.selectText(o[0].range[0], A.length);
3401
3499
  }
3402
3500
  /**
3403
3501
  * @inheritdoc
@@ -3463,15 +3561,15 @@ class Pr {
3463
3561
  * @protected
3464
3562
  */
3465
3563
  selectText(e, n) {
3466
- const o = this.document.findTextNodeByOffset(e), s = this.document.findTextNodeByOffset(n), r = this.selectionManager.getActive();
3564
+ const o = this.document.findTextNodeByOffset(e), A = this.document.findTextNodeByOffset(n), r = this.selectionManager.getActive();
3467
3565
  r.startNode = o.textNode, r.startOffset = Ext.ux.xeditor.Util.getNodeOffsetByNodeAndOffset(
3468
3566
  this.editor,
3469
3567
  o.textNode,
3470
3568
  o.offset
3471
- ), r.endNode = s.textNode, r.endOffset = Ext.ux.xeditor.Util.getNodeOffsetByNodeAndOffset(
3569
+ ), r.endNode = A.textNode, r.endOffset = Ext.ux.xeditor.Util.getNodeOffsetByNodeAndOffset(
3472
3570
  this.editor,
3473
- s.textNode,
3474
- s.offset
3571
+ A.textNode,
3572
+ A.offset
3475
3573
  ), this.editor.updateState(), this.selectionManager.sync(), this.editor.contentFrame.scrollToSelection("middle", !0).selectionCorrected && (this.editor.updateState(), this.selectionManager.sync());
3476
3574
  }
3477
3575
  /**
@@ -3486,29 +3584,29 @@ class Pr {
3486
3584
  html: "",
3487
3585
  text: ""
3488
3586
  }, n = this.editor.getVersion().major >= 6, o = this;
3489
- function s(r, i) {
3587
+ function A(r, i) {
3490
3588
  if (r.isRemoved(!0))
3491
3589
  return;
3492
- const A = r.getType() === "text";
3493
- let c = !1;
3494
- r.eachChildNode(function(a, l, d) {
3495
- const u = o.editor.document.getNodeType(a);
3496
- if (A && u === "#text") {
3497
- let g = o.editor.document.getTextNodeValue(a);
3590
+ const s = r.getType() === "text";
3591
+ let a = !1;
3592
+ r.eachChildNode(function(c, l, d) {
3593
+ const u = o.editor.document.getNodeType(c);
3594
+ if (s && u === "#text") {
3595
+ let g = o.editor.document.getTextNodeValue(c);
3498
3596
  g = Ext.ux.xeditor.Util.trimPlaceHolderChar(o.editor, g);
3499
3597
  const h = document.createTextNode(g);
3500
3598
  i.appendChild(h);
3501
3599
  } else if (o.editor.configObj.isElementType(u)) {
3502
- const g = o.editor.document.getNode(a), h = o.editor.configObj.getRoleByType(u), f = o.getAcrolinxElement(g, h, i);
3503
- if (c && !n) {
3600
+ const g = o.editor.document.getNode(c), h = o.editor.configObj.getRoleByType(u), f = o.getAcrolinxElement(g, h, i);
3601
+ if (a && !n) {
3504
3602
  const p = document.createTextNode(" ");
3505
3603
  f.appendChild(p);
3506
3604
  }
3507
- s(g, f), c = h.insertSpaceAfter;
3605
+ A(g, f), a = h.insertSpaceAfter;
3508
3606
  }
3509
3607
  });
3510
3608
  }
3511
- return s(this.document.root, e.dom), e.html = e.dom.outerHTML, e.text = e.dom.innerText, e;
3609
+ return A(this.document.root, e.dom), e.html = e.dom.outerHTML, e.text = e.dom.innerText, e;
3512
3610
  }
3513
3611
  /**
3514
3612
  * Returns the specific element that should be used for the acrolinx check.
@@ -3524,145 +3622,148 @@ class Pr {
3524
3622
  getAcrolinxElement(e, n, o) {
3525
3623
  if (n.isInline)
3526
3624
  return o;
3527
- const s = document.createElement(n.tag);
3528
- return o.appendChild(s), s;
3625
+ const A = document.createElement(n.tag);
3626
+ return o.appendChild(A), A;
3529
3627
  }
3530
3628
  }
3531
3629
  const he = globalThis;
3532
3630
  he.acrolinx = he.acrolinx || {};
3533
- const Gr = {
3631
+ const jr = {
3534
3632
  AcrolinxPlugin: pe,
3535
- autoBindFloatingSidebar: Rr,
3536
- autoBindFloatingSidebarAsync: Fr,
3537
- createPluginMessageAdapter: Nt,
3538
- initFloatingSidebar: Se,
3539
- AsyncLocalStorage: ye,
3540
- loadSidebarCode: Lt,
3633
+ autoBindFloatingSidebar: Qr,
3634
+ autoBindFloatingSidebarAsync: Kr,
3635
+ createPluginMessageAdapter: Gt,
3636
+ initFloatingSidebar: xe,
3637
+ AsyncLocalStorage: Ee,
3638
+ loadSidebarCode: Ot,
3541
3639
  getSelectionHtmlRanges: ne,
3542
3640
  extractTextDomMapping: Ie,
3543
3641
  adapter: {
3544
3642
  AbstractRichtextEditorAdapter: N,
3545
- AutoBindAdapter: mt,
3546
- AsyncAutoBindAdapter: pt,
3547
- CKEditor5Adapter: Zr,
3548
- CKEditorAdapter: Mr,
3549
- CodeMirror6Adapter: Hr,
3550
- CodeMirrorAdapter: Nr,
3551
- ContentEditableAdapter: at,
3552
- AsyncContentEditableAdapter: st,
3553
- InputAdapter: ct,
3554
- MultiEditorAdapter: we,
3555
- AsyncMultiEditorAdapter: ft,
3556
- TinyMCEAdapter: Wr,
3557
- XeditorAdapter: Pr,
3558
- QuipAdapter: lt,
3559
- SynchronizeAsyncAdapter: Ve
3643
+ AutoBindAdapter: It,
3644
+ AsyncAutoBindAdapter: vt,
3645
+ CKEditor5Adapter: Nr,
3646
+ CKEditorAdapter: Pr,
3647
+ CodeMirror6Adapter: Tr,
3648
+ CodeMirrorAdapter: Jr,
3649
+ ContentEditableAdapter: lt,
3650
+ HerettoContentEditableAdapter: dt,
3651
+ AsyncContentEditableAdapter: Ce,
3652
+ InputAdapter: ut,
3653
+ MultiEditorAdapter: ye,
3654
+ AsyncMultiEditorAdapter: bt,
3655
+ TinyMCEAdapter: Gr,
3656
+ XeditorAdapter: Or,
3657
+ QuipAdapter: gt,
3658
+ SynchronizeAsyncAdapter: _e
3560
3659
  },
3561
3660
  lookup: {
3562
3661
  lookupMatches: O
3563
3662
  }
3564
3663
  };
3565
- he.acrolinx.plugins = Gr;
3664
+ he.acrolinx.plugins = jr;
3566
3665
  export {
3567
- Zn as AUTO_SELF_CLOSING_LINE_TAGS,
3666
+ Wn as AUTO_SELF_CLOSING_LINE_TAGS,
3568
3667
  N as AbstractRichtextEditorAdapter,
3569
3668
  pe as AcrolinxPlugin,
3570
- pt as AsyncAutoBindAdapter,
3571
- ye as AsyncLocalStorage,
3572
- ft as AsyncMultiEditorAdapter,
3573
- mt as AutoBindAdapter,
3574
- Zr as CKEditor5Adapter,
3575
- Mr as CKEditorAdapter,
3576
- St as CLIENT_COMPONENT_MAIN_FALLBACK,
3577
- Ee as CLOSE_ICON_CLASS,
3578
- Hr as CodeMirror6Adapter,
3579
- Nr as CodeMirrorAdapter,
3580
- at as ContentEditableAdapter,
3669
+ vt as AsyncAutoBindAdapter,
3670
+ Ee as AsyncLocalStorage,
3671
+ bt as AsyncMultiEditorAdapter,
3672
+ It as AutoBindAdapter,
3673
+ Nr as CKEditor5Adapter,
3674
+ Pr as CKEditorAdapter,
3675
+ Rt as CLIENT_COMPONENT_MAIN_FALLBACK,
3676
+ ke as CLOSE_ICON_CLASS,
3677
+ Tr as CodeMirror6Adapter,
3678
+ Jr as CodeMirrorAdapter,
3679
+ lt as ContentEditableAdapter,
3581
3680
  L as DEFAULT_POS,
3582
- Mt as Deferred,
3583
- sr as EDITABLE_ELEMENTS_SELECTOR,
3584
- vt as FOOTER,
3585
- Ge as FOOTER_HEIGHT,
3681
+ Qt as Deferred,
3682
+ gr as EDITABLE_ELEMENTS_SELECTOR,
3683
+ wt as FOOTER,
3684
+ Ye as FOOTER_HEIGHT,
3685
+ dt as HerettoContentEditableAdapter,
3586
3686
  ge as IS_DRAGGED_CLASS,
3587
3687
  Y as IS_RESIZING_CLASS,
3588
- ct as InputAdapter,
3589
- we as MultiEditorAdapter,
3590
- et as NEW_LINE_TAGS,
3591
- Ct as POSITION_KEY,
3592
- lt as QuipAdapter,
3593
- Be as RESIZE_ICON_CLASS,
3688
+ ut as InputAdapter,
3689
+ ye as MultiEditorAdapter,
3690
+ rt as NEW_LINE_TAGS,
3691
+ Et as POSITION_KEY,
3692
+ gt as QuipAdapter,
3693
+ Se as RESIZE_ICON_CLASS,
3594
3694
  J as SIDEBAR_CONTAINER_ID,
3595
- ke as SIDEBAR_DRAG_OVERLAY_ID,
3695
+ Be as SIDEBAR_DRAG_OVERLAY_ID,
3596
3696
  ue as SIDEBAR_GLASS_PANE_ID,
3597
3697
  M as SIDEBAR_ID,
3598
- xt as SIDEBAR_SDK_COMPONENT,
3599
- Ue as SidebarURLInvalidError,
3600
- st as StateBasedContentEditableAdapter,
3601
- Ve as SynchronizeAsyncAdapter,
3602
- bt as TITLE_BAR_CLASS,
3603
- Wr as TinyMCEAdapter,
3604
- Vt as WorkQueue,
3605
- Pr as XeditorAdapter,
3698
+ Ft as SIDEBAR_SDK_COMPONENT,
3699
+ Xe as SidebarURLInvalidError,
3700
+ Ce as StateBasedContentEditableAdapter,
3701
+ _e as SynchronizeAsyncAdapter,
3702
+ Ct as TITLE_BAR_CLASS,
3703
+ Gr as TinyMCEAdapter,
3704
+ qt as WorkQueue,
3705
+ Or as XeditorAdapter,
3606
3706
  V as assertElementIsDisplayed,
3607
3707
  te as assign,
3608
- Rr as autoBindFloatingSidebar,
3609
- Fr as autoBindFloatingSidebarAsync,
3610
- ut as bindAdaptersForCurrentPage,
3611
- Gn as browser,
3612
- Vn as concatTextMappings,
3613
- Kt as connectAcrolinxPluginToMessages,
3614
- Lr as containsText,
3615
- Qn as createOffsetMappingArray,
3616
- Nt as createPluginMessageAdapter,
3708
+ Qr as autoBindFloatingSidebar,
3709
+ Kr as autoBindFloatingSidebarAsync,
3710
+ ft as bindAdaptersForCurrentPage,
3711
+ Yn as browser,
3712
+ qn as concatTextMappings,
3713
+ Pt as connectAcrolinxPluginToMessages,
3714
+ Vr as containsText,
3715
+ Nn as createOffsetMappingArray,
3716
+ Gt as createPluginMessageAdapter,
3617
3717
  ce as deepCloneWithHTMLElement,
3618
- Zt as deepFreezed,
3619
- Xn as domPosition,
3620
- Jr as enableLogging,
3621
- mr as escapeHtmlCharacters,
3622
- Wn as extractText,
3718
+ Ht as deepFreezed,
3719
+ _n as domPosition,
3720
+ Xr as enableLogging,
3721
+ yr as escapeHtmlCharacters,
3722
+ Qn as extractText,
3623
3723
  Ie as extractTextDomMapping,
3624
- tn as findDisplacement,
3724
+ rn as findDisplacement,
3625
3725
  G as findNewIndex,
3626
- ot as getAutobindWrapperAttributes,
3627
- nt as getCompleteFlagLength,
3628
- Ce as getEditableElements,
3726
+ st as getAutobindWrapperAttributes,
3727
+ it as getCompleteFlagLength,
3728
+ we as getEditableElements,
3629
3729
  ee as getElementFromAdapterConf,
3630
- _n as getEndDomPos,
3730
+ er as getEndDomPos,
3631
3731
  ne as getSelectionHtmlRanges,
3632
- Re as grepAttributeValues,
3633
- kt as hasEditorID,
3634
- Bt as hasElement,
3635
- Ye as hasError,
3636
- Se as initFloatingSidebar,
3637
- Le as internalFetch,
3638
- Et as isAsyncAdapterInterface,
3639
- Tn as isChrome,
3732
+ Fe as grepAttributeValues,
3733
+ xt as hasEditorID,
3734
+ Dt as hasElement,
3735
+ Je as hasError,
3736
+ xe as initFloatingSidebar,
3737
+ Oe as internalFetch,
3738
+ St as isAsyncAdapterInterface,
3739
+ Ln as isChrome,
3640
3740
  ve as isDangerousToReplace,
3641
- Oe as isDisplayed,
3642
- Ft as isFromSameOrigin,
3643
- Dt as isIFrame,
3644
- gr as isProbablyUndesiredField,
3645
- xe as isPromise,
3646
- Tr as isSuccessfulContentExtractionResult,
3647
- Te as keepVisible,
3648
- Ir as loadFromLocalStorage,
3649
- Br as loadInitialPos,
3650
- Lt as loadSidebarCode,
3741
+ Ue as isDisplayed,
3742
+ Wt as isFromSameOrigin,
3743
+ sr as isHeretto,
3744
+ Zt as isIFrame,
3745
+ vr as isProbablyUndesiredField,
3746
+ De as isPromise,
3747
+ Ur as isSuccessfulContentExtractionResult,
3748
+ Le as keepVisible,
3749
+ Br as loadFromLocalStorage,
3750
+ Zr as loadInitialPos,
3751
+ Ot as loadSidebarCode,
3651
3752
  H as log,
3652
- Yr as logTime,
3753
+ zr as logTime,
3653
3754
  O as lookupMatches,
3654
- Rt as parseUrl,
3755
+ Mt as parseUrl,
3655
3756
  U as rangeContent,
3656
- Jt as rebaseRelativeUrl,
3657
- Ot as rebaseRelativeUrls,
3757
+ jt as rebaseRelativeUrl,
3758
+ Ut as rebaseRelativeUrls,
3658
3759
  z as removeNode,
3659
- Cr as saveToLocalStorage,
3660
- it as scrollIntoView,
3661
- At as scrollIntoViewCenteredIfPossible,
3662
- Un as scrollIntoViewCenteredWithFallback,
3760
+ Sr as saveToLocalStorage,
3761
+ at as scrollIntoView,
3762
+ ct as scrollIntoViewCenteredIfPossible,
3763
+ Vn as scrollIntoViewCenteredWithFallback,
3663
3764
  X as simulateInputEvent,
3664
- nn as sortedIndexBy,
3665
- zn as textMapping,
3765
+ on as sortedIndexBy,
3766
+ Xn as textMapping,
3666
3767
  fe as toSet,
3667
- Wt as waitMs
3768
+ ze as waitMs
3668
3769
  };