@enegelai/bot-widget 1.16.5 → 1.16.6

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.
package/dist/index.es.js CHANGED
@@ -1,8 +1,8 @@
1
- import { css as J, LitElement as Fe, html as u, nothing as Ae, svg as me } from "lit";
2
- import { property as x, customElement as K, query as xe, state as Ha, queryAll as Va, eventOptions as sa } from "lit/decorators.js";
1
+ import { css as J, LitElement as Fe, html as u, nothing as Ae, svg as pe } from "lit";
2
+ import { property as x, customElement as Z, query as xe, state as Ha, queryAll as Va, eventOptions as sa } from "lit/decorators.js";
3
3
  import { when as W } from "lit/directives/when.js";
4
- import { unsafeHTML as Y } from "lit-html/directives/unsafe-html.js";
5
- import { registerIconLibrary as Oi } from "@shoelace-style/shoelace";
4
+ import { unsafeHTML as G } from "lit-html/directives/unsafe-html.js";
5
+ import { registerIconLibrary as Bi } from "@shoelace-style/shoelace";
6
6
  import "@shoelace-style/shoelace/dist/components/button/button.js";
7
7
  import "@shoelace-style/shoelace/dist/components/avatar/avatar.js";
8
8
  import "@shoelace-style/shoelace/dist/components/input/input.js";
@@ -22,29 +22,29 @@ import "@shoelace-style/shoelace/dist/components/alert/alert.js";
22
22
  import "@shoelace-style/shoelace/dist/components/progress-bar/progress-bar.js";
23
23
  import "@shoelace-style/shoelace/dist/components/badge/badge.js";
24
24
  import { repeat as et } from "lit/directives/repeat.js";
25
- import { until as Xt } from "lit-html/directives/until.js";
25
+ import { until as Pt } from "lit-html/directives/until.js";
26
26
  import qi from "markdown-it";
27
27
  import Di from "markdown-it-link-attributes";
28
28
  import Ut from "highlight.js";
29
29
  import "@shoelace-style/shoelace/dist/components/popup/popup.js";
30
30
  import "@shoelace-style/shoelace/dist/components/rating/rating.js";
31
31
  import { createRef as Fi, ref as At } from "lit/directives/ref.js";
32
- function Ua(a) {
32
+ function Na(a) {
33
33
  return typeof a == "function" ? a() : a;
34
34
  }
35
- const jt = class jt extends Event {
35
+ const Ht = class Ht extends Event {
36
36
  /**
37
37
  * @param {string} key of the state that has changed
38
38
  * @param {unknown} value for the changed key
39
39
  */
40
40
  constructor(e, t, i) {
41
- super(jt.eventName, {
41
+ super(Ht.eventName, {
42
42
  cancelable: !1
43
43
  }), this.key = e, this.value = t, this.state = i;
44
44
  }
45
45
  };
46
- jt.eventName = "lit-state-changed";
47
- let at = jt;
46
+ Ht.eventName = "lit-state-changed";
47
+ let at = Ht;
48
48
  const ji = (a, e) => e !== a && (e === e || a === a), ha = class ha extends EventTarget {
49
49
  static initPropertyMap() {
50
50
  this.propertyMap || (this.propertyMap = /* @__PURE__ */ new Map());
@@ -58,7 +58,7 @@ const ji = (a, e) => e !== a && (e === e || a === a), ha = class ha extends Even
58
58
  constructor() {
59
59
  super(), this.hookMap = /* @__PURE__ */ new Map(), this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([e, t]) => {
60
60
  if (t.initialValue !== void 0) {
61
- const i = Ua(t.initialValue);
61
+ const i = Na(t.initialValue);
62
62
  this[e] = i, t.value = i;
63
63
  }
64
64
  });
@@ -167,7 +167,7 @@ function ce(a) {
167
167
  const s = `${a?.prefix || ""}_${a?.key || String(t)}`, r = e.constructor, o = r.propertyMap.get(t), f = o?.type;
168
168
  if (o) {
169
169
  const w = o.initialValue;
170
- o.initialValue = () => Hi(localStorage.getItem(s), f) ?? Ua(w), r.propertyMap.set(t, { ...o, ...a });
170
+ o.initialValue = () => Hi(localStorage.getItem(s), f) ?? Na(w), r.propertyMap.set(t, { ...o, ...a });
171
171
  }
172
172
  const p = i?.set, k = {
173
173
  ...i,
@@ -178,15 +178,15 @@ function ce(a) {
178
178
  Object.defineProperty(r.prototype, t, k);
179
179
  };
180
180
  }
181
- function Na(a) {
181
+ function Ua(a) {
182
182
  return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
183
183
  }
184
- var Pt = { exports: {} }, Ui = Pt.exports, ka;
185
- function Ni() {
184
+ var Lt = { exports: {} }, Ni = Lt.exports, ka;
185
+ function Ui() {
186
186
  return ka || (ka = 1, (function(a) {
187
187
  (function(e, t) {
188
188
  a.exports ? a.exports = t() : e.log = t();
189
- })(Ui, function() {
189
+ })(Ni, function() {
190
190
  var e = function() {
191
191
  }, t = "undefined", i = typeof window !== t && typeof window.navigator !== t && /Trident\/|MSIE /.test(window.navigator.userAgent), s = [
192
192
  "trace",
@@ -230,7 +230,7 @@ function Ni() {
230
230
  return v(M) || w.apply(this, arguments);
231
231
  }
232
232
  function P(M, L) {
233
- var C = this, Z, N, G, te = "loglevel";
233
+ var C = this, K, U, X, te = "loglevel";
234
234
  typeof M == "string" ? te += ":" + M : typeof M == "symbol" && (te = void 0);
235
235
  function He(j) {
236
236
  var V = (s[j] || "silent").toUpperCase();
@@ -276,7 +276,7 @@ function Ni() {
276
276
  }
277
277
  }
278
278
  }
279
- function pe(j) {
279
+ function ge(j) {
280
280
  var V = j;
281
281
  if (typeof V == "string" && C.levels[V.toUpperCase()] !== void 0 && (V = C.levels[V.toUpperCase()]), typeof V == "number" && V >= 0 && V <= C.levels.SILENT)
282
282
  return V;
@@ -290,26 +290,26 @@ function Ni() {
290
290
  ERROR: 4,
291
291
  SILENT: 5
292
292
  }, C.methodFactory = L || _, C.getLevel = function() {
293
- return G ?? N ?? Z;
293
+ return X ?? U ?? K;
294
294
  }, C.setLevel = function(j, V) {
295
- return G = pe(j), V !== !1 && He(G), k.call(C);
295
+ return X = ge(j), V !== !1 && He(X), k.call(C);
296
296
  }, C.setDefaultLevel = function(j) {
297
- N = pe(j), ae() || C.setLevel(j, !1);
297
+ U = ge(j), ae() || C.setLevel(j, !1);
298
298
  }, C.resetLevel = function() {
299
- G = null, he(), k.call(C);
299
+ X = null, he(), k.call(C);
300
300
  }, C.enableAll = function(j) {
301
301
  C.setLevel(C.levels.TRACE, j);
302
302
  }, C.disableAll = function(j) {
303
303
  C.setLevel(C.levels.SILENT, j);
304
304
  }, C.rebuild = function() {
305
- if (o !== C && (Z = pe(o.getLevel())), k.call(C), o === C)
305
+ if (o !== C && (K = ge(o.getLevel())), k.call(C), o === C)
306
306
  for (var j in r)
307
307
  r[j].rebuild();
308
- }, Z = pe(
308
+ }, K = ge(
309
309
  o ? o.getLevel() : "WARN"
310
310
  );
311
311
  var F = ae();
312
- F != null && (G = pe(F)), k.call(C);
312
+ F != null && (X = ge(F)), k.call(C);
313
313
  }
314
314
  o = new P(), o.getLogger = function(L) {
315
315
  if (typeof L != "symbol" && typeof L != "string" || L === "")
@@ -320,17 +320,17 @@ function Ni() {
320
320
  o.methodFactory
321
321
  )), C;
322
322
  };
323
- var I = typeof window !== t ? window.log : void 0;
323
+ var E = typeof window !== t ? window.log : void 0;
324
324
  return o.noConflict = function() {
325
- return typeof window !== t && window.log === o && (window.log = I), o;
325
+ return typeof window !== t && window.log === o && (window.log = E), o;
326
326
  }, o.getLoggers = function() {
327
327
  return r;
328
328
  }, o.default = o, o;
329
329
  });
330
- })(Pt)), Pt.exports;
330
+ })(Lt)), Lt.exports;
331
331
  }
332
- var Wi = Ni();
333
- const Je = /* @__PURE__ */ Na(Wi), Gi = J`
332
+ var Wi = Ui();
333
+ const Je = /* @__PURE__ */ Ua(Wi), Gi = J`
334
334
  :host {
335
335
  --enegelai-bot-width: 420px;
336
336
  --enegelai-bot-base-font-size: 16px;
@@ -673,7 +673,7 @@ let ut = class extends Fe {
673
673
  super(...arguments), this.color = "primary", this.svg = "";
674
674
  }
675
675
  render() {
676
- return u`<span class="cb-icon" part="base">${Y(this.svg)}</span>`;
676
+ return u`<span class="cb-icon" part="base">${G(this.svg)}</span>`;
677
677
  }
678
678
  };
679
679
  ut.styles = Wa;
@@ -684,9 +684,9 @@ na([
684
684
  x({ type: String })
685
685
  ], ut.prototype, "svg", 2);
686
686
  ut = na([
687
- K("cb-icon")
687
+ Z("cb-icon")
688
688
  ], ut);
689
- let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Ki = (a, e, t) => {
689
+ let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Zi = (a, e, t) => {
690
690
  let i = (2 << Math.log2(a.length - 1)) - 1, s = -~(1.6 * i * e / a.length);
691
691
  return (r = e) => {
692
692
  let o = "";
@@ -696,8 +696,8 @@ let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Ki = (a, e, t) => {
696
696
  if (o += a[f[p] & i] || "", o.length >= r) return o;
697
697
  }
698
698
  };
699
- }, Zi = (a, e = 21) => Ki(a, e | 0, Ji);
700
- const Qi = Zi("1234567890abcdefghijklmnopqrstuvwxyz", 10);
699
+ }, Ki = (a, e = 21) => Zi(a, e | 0, Ji);
700
+ const Qi = Ki("1234567890abcdefghijklmnopqrstuvwxyz", 10);
701
701
  function fe(a = 10) {
702
702
  return Qi(a);
703
703
  }
@@ -923,7 +923,7 @@ class as {
923
923
  }
924
924
  }
925
925
  }
926
- class Ke {
926
+ class Ze {
927
927
  /**
928
928
  * Converts Float32Array of amplitude data to ArrayBuffer in Int16Array format
929
929
  * @param {Float32Array} float32Array
@@ -1018,7 +1018,7 @@ class Ke {
1018
1018
  };
1019
1019
  }
1020
1020
  }
1021
- globalThis.WavPacker = Ke;
1021
+ globalThis.WavPacker = Ze;
1022
1022
  const Sa = [
1023
1023
  4186.01,
1024
1024
  4434.92,
@@ -1051,7 +1051,7 @@ for (let a = 1; a <= 8; a++)
1051
1051
  const t = Sa[e];
1052
1052
  We.push(t / Math.pow(2, 8 - a)), ra.push(is[e] + a);
1053
1053
  }
1054
- const Rt = [32, 2e3], Ca = We.filter((a, e) => We[e] > Rt[0] && We[e] < Rt[1]), ss = ra.filter((a, e) => We[e] > Rt[0] && We[e] < Rt[1]);
1054
+ const zt = [32, 2e3], Ca = We.filter((a, e) => We[e] > zt[0] && We[e] < zt[1]), ss = ra.filter((a, e) => We[e] > zt[0] && We[e] < zt[1]);
1055
1055
  class lt {
1056
1056
  /**
1057
1057
  * Retrieves frequency domain data from an AnalyserNode adjusted to a decibel range
@@ -1069,21 +1069,21 @@ class lt {
1069
1069
  const f = t / 2, p = 1 / i.length * f;
1070
1070
  let v, k, w;
1071
1071
  if (s === "music" || s === "voice") {
1072
- const I = s === "voice" ? Ca : We, M = Array(I.length).fill(r);
1072
+ const E = s === "voice" ? Ca : We, M = Array(E.length).fill(r);
1073
1073
  for (let L = 0; L < i.length; L++) {
1074
- const C = L * p, Z = i[L];
1075
- for (let N = I.length - 1; N >= 0; N--)
1076
- if (C > I[N]) {
1077
- M[N] = Math.max(M[N], Z);
1074
+ const C = L * p, K = i[L];
1075
+ for (let U = E.length - 1; U >= 0; U--)
1076
+ if (C > E[U]) {
1077
+ M[U] = Math.max(M[U], K);
1078
1078
  break;
1079
1079
  }
1080
1080
  }
1081
1081
  v = M, k = s === "voice" ? Ca : We, w = s === "voice" ? ss : ra;
1082
1082
  } else
1083
- v = Array.from(i), k = v.map((I, M) => p * M), w = k.map((I) => `${I.toFixed(2)} Hz`);
1084
- const _ = v.map((I) => Math.max(
1083
+ v = Array.from(i), k = v.map((E, M) => p * M), w = k.map((E) => `${E.toFixed(2)} Hz`);
1084
+ const _ = v.map((E) => Math.max(
1085
1085
  0,
1086
- Math.min((I - r) / (o - r), 1)
1086
+ Math.min((E - r) / (o - r), 1)
1087
1087
  ));
1088
1088
  return {
1089
1089
  values: new Float32Array(_),
@@ -1546,10 +1546,10 @@ class Xa {
1546
1546
  this.inputSampleRate = e, this.onPlaybackEnded = typeof t == "function" ? t : null, this.debug = !!i;
1547
1547
  const p = navigator.userAgent || "", v = /iP(hone|ad|od)/.test(p), k = /CriOS/.test(p), w = /FxiOS/.test(p), _ = /EdgiOS/.test(p), P = /Safari/.test(p) && !/Chrome|Chromium|Edg/.test(p);
1548
1548
  this._isSafariMobile = v && P && !k && !w && !_;
1549
- const I = !!(navigator.userAgentData && typeof navigator.userAgentData.mobile == "boolean" && navigator.userAgentData.mobile), M = /Android|iPhone|iPod|Mobile/.test(p), L = (() => {
1550
- const Z = navigator.platform || "";
1551
- return /iPad/.test(p) || Z === "MacIntel" && navigator.maxTouchPoints > 1;
1552
- })(), C = I || M || L;
1549
+ const E = !!(navigator.userAgentData && typeof navigator.userAgentData.mobile == "boolean" && navigator.userAgentData.mobile), M = /Android|iPhone|iPod|Mobile/.test(p), L = (() => {
1550
+ const K = navigator.platform || "";
1551
+ return /iPad/.test(p) || K === "MacIntel" && navigator.maxTouchPoints > 1;
1552
+ })(), C = E || M || L;
1553
1553
  this._firstTurnRampInMs = s ?? (this._isSafariMobile ? 140 : 0), this._primeMs = r ?? (this._isSafariMobile ? 220 : 0), this._requireGestureToUnlock = o != null ? !!o : !!this._isSafariMobile, this._enableLoopbackRef = f != null ? !!f : !!C, this.context = null, this.analyser = null, this._worklet = null, this._audibleGain = null, this._renderDest = null, this._pcSend = null, this._pcRecv = null, this._firstTurn = !0, this._unlocked = !this._requireGestureToUnlock, this.trackSampleOffsets = {}, this.interruptedTrackIds = {}, this._onGestureUnlock = this._onGestureUnlock.bind(this);
1554
1554
  }
1555
1555
  _log(...e) {
@@ -1952,13 +1952,13 @@ class ps {
1952
1952
  throw new Error('Must specify "fromSampleRate" when reading from Float32Array, In16Array or Array');
1953
1953
  if (i < 3e3)
1954
1954
  throw new Error('Minimum "fromSampleRate" is 3000 (3kHz)');
1955
- w || (w = Ke.floatTo16BitPCM(k));
1955
+ w || (w = Ze.floatTo16BitPCM(k));
1956
1956
  const _ = {
1957
1957
  bitsPerSample: 16,
1958
1958
  channels: [k],
1959
1959
  data: w
1960
1960
  };
1961
- o = new Ke().pack(i, _).blob, r = await o.arrayBuffer();
1961
+ o = new Ze().pack(i, _).blob, r = await o.arrayBuffer();
1962
1962
  }
1963
1963
  const f = await s.decodeAudioData(r), p = f.getChannelData(0), v = URL.createObjectURL(o);
1964
1964
  return {
@@ -2131,8 +2131,8 @@ class ps {
2131
2131
  if (this._chunkProcessorSize) {
2132
2132
  const w = this._chunkProcessorBuffer;
2133
2133
  this._chunkProcessorBuffer = {
2134
- raw: Ke.mergeBuffers(w.raw, k.raw),
2135
- mono: Ke.mergeBuffers(w.mono, k.mono)
2134
+ raw: Ze.mergeBuffers(w.raw, k.raw),
2135
+ mono: Ze.mergeBuffers(w.mono, k.mono)
2136
2136
  }, this._chunkProcessorBuffer.mono.byteLength >= this._chunkProcessorSize && (this._chunkProcessor(this._chunkProcessorBuffer), this._chunkProcessorBuffer = {
2137
2137
  raw: new ArrayBuffer(0),
2138
2138
  mono: new ArrayBuffer(0)
@@ -2218,7 +2218,7 @@ use only for debugging`), o.connect(t.destination)), this.source = i, this.node
2218
2218
  throw new Error("Currently recording: please call .pause() first, or call .save(true) to force");
2219
2219
  this.log("Exporting ...");
2220
2220
  const t = await this._event("export");
2221
- return new Ke().pack(this.sampleRate, t.audio);
2221
+ return new Ze().pack(this.sampleRate, t.audio);
2222
2222
  }
2223
2223
  /**
2224
2224
  * Ends the current recording session and saves the result
@@ -2230,7 +2230,7 @@ use only for debugging`), o.connect(t.destination)), this.source = i, this.node
2230
2230
  const e = this.processor;
2231
2231
  this.log("Stopping ..."), await this._event("stop"), this.recording = !1, this.stream.getTracks().forEach((o) => o.stop()), this.log("Exporting ...");
2232
2232
  const i = await this._event("export", {}, e);
2233
- return this.processor.disconnect(), this.source.disconnect(), this.node.disconnect(), this.analyser.disconnect(), this.stream = null, this.processor = null, this.source = null, this.node = null, new Ke().pack(this.sampleRate, i.audio);
2233
+ return this.processor.disconnect(), this.source.disconnect(), this.node.disconnect(), this.analyser.disconnect(), this.stream = null, this.processor = null, this.source = null, this.node = null, new Ze().pack(this.sampleRate, i.audio);
2234
2234
  }
2235
2235
  /**
2236
2236
  * Performs a full cleanup of WavRecorder instance
@@ -2579,19 +2579,19 @@ class ms {
2579
2579
  const i = new Int16Array(t);
2580
2580
  let s = this.gain, r = this._step, o = this.rampRemain, f = this.vadFast, p = this.vadSlow, v = this._speechCount, k = this._hangRemain, w = this._speaking;
2581
2581
  const _ = this._eps, P = this.vadRatio;
2582
- for (let I = 0; I < t; I++) {
2582
+ for (let E = 0; E < t; E++) {
2583
2583
  this.guardRemain > 0 && this.guardRemain--;
2584
- const M = e[I] / 32768, L = M * M;
2584
+ const M = e[E] / 32768, L = M * M;
2585
2585
  f = f + (1 - this.alphaFast) * (L - f), p = p + (1 - this.alphaSlow) * (L - p), this.vadEnabled && (f / (p + _) >= P ? v < this.vadAttackSamples && v++ : v = 0, v >= this.vadAttackSamples ? (w = !0, k = this.vadHangSamples) : k > 0 ? (w = !0, k--) : w = !1), w && this._shieldActive && (this._shieldActive = !1, this.target = 1, o = this.escapeAttackSamples, r = o > 0 ? (1 - s) / o : 0);
2586
- let C = 1, Z = 0, N = !1;
2586
+ let C = 1, K = 0, U = !1;
2587
2587
  if (this.duckActive) {
2588
2588
  const te = this.guardRemain > 0;
2589
- te && this._shieldActive && !w ? (N = this._shieldHardMute, C = this._shieldHardMute ? 0 : this._shieldFloor, Z = this.attackSamples, this.guardRemain === 0 && (this._shieldActive = !1, this._shieldHardMute = !1)) : w ? (C = 1, Z = this.escapeAttackSamples) : te ? (C = this.floor, Z = this.attackSamples) : (C = 1, Z = this.releaseSamples);
2589
+ te && this._shieldActive && !w ? (U = this._shieldHardMute, C = this._shieldHardMute ? 0 : this._shieldFloor, K = this.attackSamples, this.guardRemain === 0 && (this._shieldActive = !1, this._shieldHardMute = !1)) : w ? (C = 1, K = this.escapeAttackSamples) : te ? (C = this.floor, K = this.attackSamples) : (C = 1, K = this.releaseSamples);
2590
2590
  } else
2591
- C = 1, Z = this.releaseSamples;
2592
- Math.abs(C - this.target) > 1e-4 && (this.target = C, o = Z, r = o > 0 ? (C - s) / o : 0, o === 0 && (s = C)), o > 0 && (s += r, o--, o === 0 && (s = this.target, r = 0));
2593
- let G;
2594
- N && !w ? G = 0 : (G = e[I] * s, G > 32767 ? G = 32767 : G < -32768 && (G = -32768)), i[I] = G | 0;
2591
+ C = 1, K = this.releaseSamples;
2592
+ Math.abs(C - this.target) > 1e-4 && (this.target = C, o = K, r = o > 0 ? (C - s) / o : 0, o === 0 && (s = C)), o > 0 && (s += r, o--, o === 0 && (s = this.target, r = 0));
2593
+ let X;
2594
+ U && !w ? X = 0 : (X = e[E] * s, X > 32767 ? X = 32767 : X < -32768 && (X = -32768)), i[E] = X | 0;
2595
2595
  }
2596
2596
  return this.gain = s, this._step = r, this.rampRemain = o, this.vadFast = f, this.vadSlow = p, this._speechCount = v, this._hangRemain = k, this._speaking = w, i;
2597
2597
  }
@@ -2688,24 +2688,24 @@ class ys {
2688
2688
  if (k <= 0)
2689
2689
  return this._float32ToInt16(t);
2690
2690
  const w = this.preEmphasis > 0, _ = w ? this._preEmphasize(r, this.preEmphasis, "mic") : r, P = w ? this._preEmphasize(p, this.preEmphasis, "pb") : p;
2691
- let I = 0;
2691
+ let E = 0;
2692
2692
  for (let ae = 0; ae < o; ae++) {
2693
2693
  const he = _[ae];
2694
- I += he * he;
2694
+ E += he * he;
2695
2695
  }
2696
- I = Math.sqrt(I) + 1e-12;
2697
- const M = this.sr / this.ds, L = (this.baseLatencySec + this.outputLatencySec) * 1e3 + this.latencyCompMs, C = Math.max(0, Math.round(L * M / 1e3)), Z = Math.max(1, Math.round(this.windowMs * M / 1e3));
2698
- let N = 0, G = k;
2699
- C > 0 && (N = Math.max(0, Math.min(k, C - Z)), G = Math.max(N, Math.min(k, C + Z)));
2696
+ E = Math.sqrt(E) + 1e-12;
2697
+ const M = this.sr / this.ds, L = (this.baseLatencySec + this.outputLatencySec) * 1e3 + this.latencyCompMs, C = Math.max(0, Math.round(L * M / 1e3)), K = Math.max(1, Math.round(this.windowMs * M / 1e3));
2698
+ let U = 0, X = k;
2699
+ C > 0 && (U = Math.max(0, Math.min(k, C - K)), X = Math.max(U, Math.min(k, C + K)));
2700
2700
  const te = Math.max(1, Math.floor(this.hop / this.ds));
2701
2701
  let He = -1;
2702
- for (let ae = N; ae <= G; ae += te) {
2703
- let he = 0, pe = 0;
2702
+ for (let ae = U; ae <= X; ae += te) {
2703
+ let he = 0, ge = 0;
2704
2704
  for (let V = 0; V < o; V++) {
2705
2705
  const $e = _[V], Pe = P[ae + V];
2706
- he += $e * Pe, pe += Pe * Pe;
2706
+ he += $e * Pe, ge += Pe * Pe;
2707
2707
  }
2708
- const F = I * (Math.sqrt(pe) + 1e-12), j = F > 0 ? he / F : 0;
2708
+ const F = E * (Math.sqrt(ge) + 1e-12), j = F > 0 ? he / F : 0;
2709
2709
  if (j > He && (He = j), He > Math.min(0.98, this.threshold + 0.25)) break;
2710
2710
  }
2711
2711
  if (He >= this.threshold) {
@@ -2856,8 +2856,8 @@ class vs {
2856
2856
  let p = -1;
2857
2857
  for (let v = 0; v <= r; v += f) {
2858
2858
  let k = 0, w = 0;
2859
- for (let I = 0; I < i; I++) {
2860
- const M = t[I], L = s[v + I];
2859
+ for (let E = 0; E < i; E++) {
2860
+ const M = t[E], L = s[v + E];
2861
2861
  k += M * L, w += L * L;
2862
2862
  }
2863
2863
  const _ = o * (Math.sqrt(w) + 1e-12), P = _ > 0 ? k / _ : 0;
@@ -2947,8 +2947,8 @@ class ws {
2947
2947
  }
2948
2948
  }
2949
2949
  }
2950
- const Ne = Je.noConflict();
2951
- Ne.setLevel("info");
2950
+ const Ue = Je.noConflict();
2951
+ Ue.setLevel("info");
2952
2952
  class pt extends as {
2953
2953
  constructor(e = {}) {
2954
2954
  super({ name: "WebAudioProcessorV2" }), this.options = e, this.muted = !1, this.audioRecorder = new ot({
@@ -3027,13 +3027,13 @@ class pt extends as {
3027
3027
  e(), this._latencyTimer = setInterval(e, 1e3);
3028
3028
  try {
3029
3029
  const t = this.audioRecorder.captureInfo?.aecGranted;
3030
- t && Ne.info("AEC granted:", t);
3030
+ t && Ue.info("AEC granted:", t);
3031
3031
  } catch {
3032
3032
  }
3033
- Ne.info("WebAudioProcessorV2 started");
3033
+ Ue.info("WebAudioProcessorV2 started");
3034
3034
  }
3035
3035
  async stop() {
3036
- this._stopRecWatchdog(), this.audioRecorder.getStatus() !== "ended" && (await this.audioRecorder.end(), this.audioRecorder = null), this.audioRecorderAnalyzer = null, this.audioPlayer?.context && (await this.audioPlayer.disconnect(), this.audioPlayer = null), this._latencyTimer && (clearInterval(this._latencyTimer), this._latencyTimer = null), this._didPlayOnce = !1, Ne.info("WebAudioProcessorV2 stopped");
3036
+ this._stopRecWatchdog(), this.audioRecorder.getStatus() !== "ended" && (await this.audioRecorder.end(), this.audioRecorder = null), this.audioRecorderAnalyzer = null, this.audioPlayer?.context && (await this.audioPlayer.disconnect(), this.audioPlayer = null), this._latencyTimer && (clearInterval(this._latencyTimer), this._latencyTimer = null), this._didPlayOnce = !1, Ue.info("WebAudioProcessorV2 stopped");
3037
3037
  }
3038
3038
  get started() {
3039
3039
  return !!(this.audioRecorder && this.audioRecorder.getStatus() !== "ended");
@@ -3055,7 +3055,7 @@ class pt extends as {
3055
3055
  }
3056
3056
  async _checkRecordingHealth(e) {
3057
3057
  const i = Date.now() - this._lastMicCaptureTime;
3058
- i > 2e3 && (Ne.warn(`WebAudioProcessorV2: large gap between mic frames: ${i} ms detected, possible lock or suspend - terminating audio`), this.emit("terminate").catch(() => {
3058
+ i > 2e3 && (Ue.warn(`WebAudioProcessorV2: large gap between mic frames: ${i} ms detected, possible lock or suspend - terminating audio`), this.emit("terminate").catch(() => {
3059
3059
  }));
3060
3060
  }
3061
3061
  // ---- Capture ----
@@ -3064,7 +3064,7 @@ class pt extends as {
3064
3064
  * Your existing 'audio' event is preserved: payload includes base64 of Int16 PCM.
3065
3065
  */
3066
3066
  async beginAudioCapture() {
3067
- !this.started || this.recording || (Ne.info("WebAudioProcessorV2: beginAudioCapture"), this._lastMicCaptureTime = Date.now(), this._startRecWatchdog(), await this.audioRecorder.record((e) => {
3067
+ !this.started || this.recording || (Ue.info("WebAudioProcessorV2: beginAudioCapture"), this._lastMicCaptureTime = Date.now(), this._startRecWatchdog(), await this.audioRecorder.record((e) => {
3068
3068
  if (e?.mono && e.mono?.byteLength) {
3069
3069
  this._lastMicCaptureTime = Date.now();
3070
3070
  let t = new Int16Array(e.mono);
@@ -3074,12 +3074,12 @@ class pt extends as {
3074
3074
  const i = this.useAdaptiveSuppressor ? this.mixMinusSmooth.filterMicFrame(t) : this.mixMinus.filterMicFrame(t) || new Int16Array(0);
3075
3075
  if (i.length === 0) return;
3076
3076
  const s = pt.arrayBufferToBase64(i);
3077
- Ne.info(`Audio: mono ${e.mono.byteLength} bytes, base64 ${s.length} bytes`), this.emit("audio", { audio: s });
3077
+ Ue.info(`Audio: mono ${e.mono.byteLength} bytes, base64 ${s.length} bytes`), this.emit("audio", { audio: s });
3078
3078
  }
3079
3079
  }));
3080
3080
  }
3081
3081
  async endAudioCapture() {
3082
- !this.started || !this.recording || (Ne.info("WebAudioProcessorV2: endAudioCapture"), this._stopRecWatchdog(), await this.audioRecorder.pause());
3082
+ !this.started || !this.recording || (Ue.info("WebAudioProcessorV2: endAudioCapture"), this._stopRecWatchdog(), await this.audioRecorder.pause());
3083
3083
  }
3084
3084
  // ---- Playback ----
3085
3085
  /**
@@ -3249,7 +3249,7 @@ let qe = class extends Fe {
3249
3249
  this._timer && (clearTimeout(this._timer), this._timer = void 0);
3250
3250
  }
3251
3251
  _renderIcon(a) {
3252
- return a.trim().startsWith("<") ? u`${Y(a)}` : a;
3252
+ return a.trim().startsWith("<") ? u`${G(a)}` : a;
3253
3253
  }
3254
3254
  };
3255
3255
  qe.styles = J`
@@ -3379,7 +3379,7 @@ st([
3379
3379
  x({ type: String })
3380
3380
  ], qe.prototype, "ariaLive", 2);
3381
3381
  qe = st([
3382
- K("cb-toast")
3382
+ Z("cb-toast")
3383
3383
  ], qe);
3384
3384
  function Q(a) {
3385
3385
  return a != null && typeof a == "object" && a["@@functional/placeholder"] === !0;
@@ -3389,7 +3389,7 @@ function tt(a) {
3389
3389
  return arguments.length === 0 || Q(t) ? e : a.apply(this, arguments);
3390
3390
  };
3391
3391
  }
3392
- function Ze(a) {
3392
+ function Ke(a) {
3393
3393
  return function e(t, i) {
3394
3394
  switch (arguments.length) {
3395
3395
  case 0:
@@ -3413,23 +3413,23 @@ function Ss(a) {
3413
3413
  case 0:
3414
3414
  return e;
3415
3415
  case 1:
3416
- return Q(t) ? e : Ze(function(r, o) {
3416
+ return Q(t) ? e : Ke(function(r, o) {
3417
3417
  return a(t, r, o);
3418
3418
  });
3419
3419
  case 2:
3420
- return Q(t) && Q(i) ? e : Q(t) ? Ze(function(r, o) {
3420
+ return Q(t) && Q(i) ? e : Q(t) ? Ke(function(r, o) {
3421
3421
  return a(r, i, o);
3422
- }) : Q(i) ? Ze(function(r, o) {
3422
+ }) : Q(i) ? Ke(function(r, o) {
3423
3423
  return a(t, r, o);
3424
3424
  }) : tt(function(r) {
3425
3425
  return a(t, i, r);
3426
3426
  });
3427
3427
  default:
3428
- return Q(t) && Q(i) && Q(s) ? e : Q(t) && Q(i) ? Ze(function(r, o) {
3428
+ return Q(t) && Q(i) && Q(s) ? e : Q(t) && Q(i) ? Ke(function(r, o) {
3429
3429
  return a(r, o, s);
3430
- }) : Q(t) && Q(s) ? Ze(function(r, o) {
3430
+ }) : Q(t) && Q(s) ? Ke(function(r, o) {
3431
3431
  return a(r, i, o);
3432
- }) : Q(i) && Q(s) ? Ze(function(r, o) {
3432
+ }) : Q(i) && Q(s) ? Ke(function(r, o) {
3433
3433
  return a(t, r, o);
3434
3434
  }) : Q(t) ? tt(function(r) {
3435
3435
  return a(r, i, s);
@@ -3448,7 +3448,7 @@ function As(a, e) {
3448
3448
  var t = a < 0 ? e.length + a : a;
3449
3449
  return e[t];
3450
3450
  }
3451
- var Ms = /* @__PURE__ */ Ze(function(e, t) {
3451
+ var Ms = /* @__PURE__ */ Ke(function(e, t) {
3452
3452
  return t == null || t !== t ? e : t;
3453
3453
  });
3454
3454
  function Ts(a, e) {
@@ -3460,17 +3460,17 @@ function Ts(a, e) {
3460
3460
  }
3461
3461
  return t;
3462
3462
  }
3463
- var Nt = /* @__PURE__ */ Ss(function(e, t, i) {
3463
+ var Wt = /* @__PURE__ */ Ss(function(e, t, i) {
3464
3464
  return Ms(e, Ts(t, i));
3465
3465
  });
3466
3466
  const Is = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
3467
- var Es = Object.defineProperty, B = (a, e, t, i) => {
3467
+ var Es = Object.defineProperty, O = (a, e, t, i) => {
3468
3468
  for (var s = void 0, r = a.length - 1, o; r >= 0; r--)
3469
3469
  (o = a[r]) && (s = o(e, t, s) || s);
3470
3470
  return s && Es(e, t, s), s;
3471
3471
  };
3472
- const E = Je.noConflict();
3473
- E.setLevel("info");
3472
+ const T = Je.noConflict();
3473
+ T.setLevel("info");
3474
3474
  const ne = "cb_", $s = (a) => new Promise((e) => setTimeout(e, a));
3475
3475
  class R extends Yt {
3476
3476
  constructor() {
@@ -3478,8 +3478,8 @@ class R extends Yt {
3478
3478
  }
3479
3479
  // this is called at startup
3480
3480
  setSetting(e) {
3481
- E.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((t) => {
3482
- E.info(`Exception during bot initialization: ${t.message}`);
3481
+ T.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((t) => {
3482
+ T.info(`Exception during bot initialization: ${t.message}`);
3483
3483
  });
3484
3484
  }
3485
3485
  // set language
@@ -3494,7 +3494,7 @@ class R extends Yt {
3494
3494
  async initBot() {
3495
3495
  if (!this.botSettingsInitialized) {
3496
3496
  const i = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
3497
- E.info(`Getting bot settings at ${i} ...`);
3497
+ T.info(`Getting bot settings at ${i} ...`);
3498
3498
  let s = null, r = null;
3499
3499
  try {
3500
3500
  s = await fetch(i, {
@@ -3504,13 +3504,13 @@ class R extends Yt {
3504
3504
  "X-Enegel-Signature": this.setting.botId
3505
3505
  //"ngrok-skip-browser-warning": "1",
3506
3506
  }
3507
- }), !s.ok || s.status !== 200 ? E.error(`Failed to get bot ${this.setting.botId} settings: ${s.status} ${s.statusText}`) : r = await s.json();
3507
+ }), !s.ok || s.status !== 200 ? T.error(`Failed to get bot ${this.setting.botId} settings: ${s.status} ${s.statusText}`) : r = await s.json();
3508
3508
  } catch (o) {
3509
- E.error(`Failed to get bot ${this.setting.botId} settings: ${o.message}`), r = null;
3509
+ T.error(`Failed to get bot ${this.setting.botId} settings: ${o.message}`), r = null;
3510
3510
  }
3511
3511
  if (this.botSettingsInitialized = !0, this.botSettings = r, !r) {
3512
- if (E.error(`Unable to retrieve bot settings - bot disabled. Retry in ${this.botSettingsRetryTimeout} seconds.`), this.disabled = !0, this.botSettingsRetryTimeout > 80) {
3513
- E.error("Failed to retrieve bot settings - bot disabled. Retries exhausted. Refresh page to attempt again.");
3512
+ if (T.error(`Unable to retrieve bot settings - bot disabled. Retry in ${this.botSettingsRetryTimeout} seconds.`), this.disabled = !0, this.botSettingsRetryTimeout > 80) {
3513
+ T.error("Failed to retrieve bot settings - bot disabled. Retries exhausted. Refresh page to attempt again.");
3514
3514
  return;
3515
3515
  }
3516
3516
  this.botSettingsInitialized = !1, setTimeout(async () => {
@@ -3518,17 +3518,17 @@ class R extends Yt {
3518
3518
  }, this.botSettingsRetryTimeout * 1e3), this.botSettingsRetryTimeout = this.botSettingsRetryTimeout * 2;
3519
3519
  return;
3520
3520
  }
3521
- E.info("Got bot settings - bot is enabled", r), this.disabled = !1, this.setting.welcomeMessage = r?.welcomeMessage || "How can I help ?", this.setting.disclaimerMessage = r?.disclaimerMessage && r.disclaimerMessage !== "" ? r.disclaimerMessage : null, this.setting.engageMessage = r?.engageMessage || "How can I help ?", this.setting.engageTimeout = r?.engageTimeout || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in r ? r.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in r ? r.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in r ? r.uploadImages : !1, this.setting.newConversationTimeoutInSec = r?.newConversationTimeoutInSec || 86400, this.setting.enableNotificationSound = "enableNotificationSound" in r ? r.enableNotificationSound : !0, this.setting.botAdvancedSettings = r?.botAdvancedSettings ?? {}, this.setting.startFeedbackFromMessage = "startFeedbackFromMessage" in this.setting.botAdvancedSettings ? this.setting.botAdvancedSettings.startFeedbackFromMessage : 1, this.setting.enableMultiModalConnection = this.setting.botAdvancedSettings?.enableMultiModalConnection ?? !1, this.setting.fileUploadEnabledExtensions = this.setting.botAdvancedSettings?.fileUploadEnabledExtensions || ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3", this.setting.fileUploadMaxFileSizeMB = this.setting.botAdvancedSettings?.fileUploadMaxFileSizeMB || 30, this.setting.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
3521
+ T.info("Got bot settings - bot is enabled", r), this.disabled = !1, this.setting.welcomeMessage = r?.welcomeMessage || "How can I help ?", this.setting.disclaimerMessage = r?.disclaimerMessage && r.disclaimerMessage !== "" ? r.disclaimerMessage : null, this.setting.engageMessage = r?.engageMessage || "How can I help ?", this.setting.engageTimeout = r?.engageTimeout || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in r ? r.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in r ? r.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in r ? r.uploadImages : !1, this.setting.newConversationTimeoutInSec = r?.newConversationTimeoutInSec || 86400, this.setting.enableNotificationSound = "enableNotificationSound" in r ? r.enableNotificationSound : !0, this.setting.botAdvancedSettings = r?.botAdvancedSettings ?? {}, this.setting.startFeedbackFromMessage = "startFeedbackFromMessage" in this.setting.botAdvancedSettings ? this.setting.botAdvancedSettings.startFeedbackFromMessage : 1, this.setting.enableMultiModalConnection = this.setting.botAdvancedSettings?.enableMultiModalConnection ?? !1, this.setting.enablePassContextOnConnect = this.setting.botAdvancedSettings?.enablePassContextOnConnect ?? !1, this.setting.fileUploadEnabledExtensions = this.setting.botAdvancedSettings?.fileUploadEnabledExtensions || ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3", this.setting.fileUploadMaxFileSizeMB = this.setting.botAdvancedSettings?.fileUploadMaxFileSizeMB || 30, this.setting.enableAgentDisconnectedMessage = this.setting.botAdvancedSettings?.enableAgentDisconnectedMessage ?? !1, this.setting.showNewConversationOnAgentDisconnected = this.setting.botAdvancedSettings?.showNewConversationOnAgentDisconnected ?? !1, this.setting.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
3522
3522
  this.showEngagePopup();
3523
3523
  }, this.setting.engageTimeout * 1e3);
3524
3524
  }
3525
3525
  const e = new URLSearchParams(window.location.search);
3526
3526
  if (e.has("c7o_bot_open")) {
3527
3527
  const t = e.get("c7o_bot_open");
3528
- this.open = t !== "false" && t !== "no" && t !== "0", E.info(`C7O-BOT:INIT: Force open=${this.open} from query parameter c7o_bot_open=${e.get("c7o_bot_open")}`);
3528
+ this.open = t !== "false" && t !== "no" && t !== "0", T.info(`C7O-BOT:INIT: Force open=${this.open} from query parameter c7o_bot_open=${e.get("c7o_bot_open")}`);
3529
3529
  }
3530
- this.connectWs === "true" && (E.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
3531
- E.error(`Exception during ws client startup: ${t.message}`);
3530
+ this.connectWs === "true" && (T.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
3531
+ T.error(`Exception during ws client startup: ${t.message}`);
3532
3532
  })), setTimeout(() => {
3533
3533
  window.dispatchEvent(
3534
3534
  new CustomEvent("c7o:bot:stateEvent", {
@@ -3560,17 +3560,34 @@ class R extends Yt {
3560
3560
  }), this.initStartupForm();
3561
3561
  }
3562
3562
  // AGENT // ////////////////////////////////////////////////////
3563
+ async handleAgentConnected(e) {
3564
+ T.info("c7o: Agent Connected", e);
3565
+ const t = e?.userName || "Agent";
3566
+ this.addMessage({
3567
+ id: e?.id || null,
3568
+ author: "system",
3569
+ type: "info",
3570
+ data: {
3571
+ text: `**${t}** joined chat`,
3572
+ ...e.userName && { userName: e.userName },
3573
+ ...e.userAvatar && { userAvatar: e.userAvatar }
3574
+ }
3575
+ });
3576
+ }
3563
3577
  async handleAgentDisconnected(e) {
3564
- E.info(`c7o: Agent disconnected ${this.webAudioCurrentMark}`, e), this.addMessage({
3578
+ if (T.info("c7o: Agent disconnected", e), !this.setting.enableAgentDisconnectedMessage)
3579
+ return;
3580
+ const t = e?.userName || "Agent";
3581
+ this.addMessage({
3565
3582
  id: e?.id || null,
3566
- author: "assistant",
3567
- type: "text",
3583
+ author: "system",
3584
+ type: "info",
3568
3585
  data: {
3569
- text: "_Left chat_",
3586
+ text: `**${t}** left chat`,
3570
3587
  ...e.userName && { userName: e.userName },
3571
3588
  ...e.userAvatar && { userAvatar: e.userAvatar }
3572
3589
  }
3573
- }), this.showNewConversation = !0;
3590
+ }), this.setting.showNewConversationOnAgentDisconnected && (this.showNewConversation = !0);
3574
3591
  }
3575
3592
  // BROADCAST // ///////////////////////////////////////////////////
3576
3593
  async handleBroadcastMessage(e) {
@@ -3639,7 +3656,7 @@ class R extends Yt {
3639
3656
  }
3640
3657
  // When finished playing audio, clear trackId and send mark message
3641
3658
  async onPlaybackEnded() {
3642
- this.webAudioCurrentMark && (E.info(`c7o: mark ${this.webAudioCurrentMark} completed`), await this.sendEvent({
3659
+ this.webAudioCurrentMark && (T.info(`c7o: mark ${this.webAudioCurrentMark} completed`), await this.sendEvent({
3643
3660
  id: fe(),
3644
3661
  type: "mediaMark",
3645
3662
  mark: {
@@ -3648,7 +3665,7 @@ class R extends Yt {
3648
3665
  }), this.webAudioCurrentMark = null, this.webAudioTrackId = null);
3649
3666
  }
3650
3667
  async onWebAudioTerminate() {
3651
- E.info("c7o: terminating audio"), await this.stopAudio();
3668
+ T.info("c7o: terminating audio"), await this.stopAudio();
3652
3669
  }
3653
3670
  // Confirmation from server that media started
3654
3671
  // {"type":"mediaStarted","mediaType":"audio","mediaTransport":"webmedia","webmedia":{"mimeType":"audio/L16","mediaSpec":{"sampleRate":24000,"channels":1}}}
@@ -3667,16 +3684,16 @@ class R extends Yt {
3667
3684
  if (!e || e?.type !== "media" || !e?.media || e?.mediaType !== "audio" || !e?.media?.payload || !this.webAudioProcessor || !this.webAudioStarted)
3668
3685
  return;
3669
3686
  const t = e.media.payload;
3670
- this.webAudioTrackId || (this.webAudioTrackId = fe()), E.info(`${Date.now()}: Playing audio: ${t.length} bytes, trackId: ${this.webAudioTrackId}`), await this.webAudioProcessor.playAudio(t, this.webAudioTrackId);
3687
+ this.webAudioTrackId || (this.webAudioTrackId = fe()), T.info(`${Date.now()}: Playing audio: ${t.length} bytes, trackId: ${this.webAudioTrackId}`), await this.webAudioProcessor.playAudio(t, this.webAudioTrackId);
3671
3688
  }
3672
3689
  // {"type": "mediaMark","mark": {"name": "1757277902935"}}
3673
3690
  async handleMediaMark(e) {
3674
- !this.webAudioProcessor || !this.webAudioStarted || (this.webAudioCurrentMark = e?.mark?.name || null, E.info(`c7o: Current media mark set to ${this.webAudioCurrentMark}`, e));
3691
+ !this.webAudioProcessor || !this.webAudioStarted || (this.webAudioCurrentMark = e?.mark?.name || null, T.info(`c7o: Current media mark set to ${this.webAudioCurrentMark}`, e));
3675
3692
  }
3676
3693
  // Confirmation from server that media stopped
3677
3694
  //{"type":"mediaClear","mediaType":"audio"}
3678
3695
  async handleMediaClear(e) {
3679
- E.info("c7o: Got mediaClear, clearing buffered media", e), this.mediaStartedAudio = !1, !(!this.webAudioProcessor || !this.webAudioStarted) && (this.webAudioTrackId = null, await this.webAudioProcessor.interruptAudio());
3696
+ T.info("c7o: Got mediaClear, clearing buffered media", e), this.mediaStartedAudio = !1, !(!this.webAudioProcessor || !this.webAudioStarted) && (this.webAudioTrackId = null, await this.webAudioProcessor.interruptAudio());
3680
3697
  }
3681
3698
  // ////////////////////////////////////////////////////////////
3682
3699
  setPrefilledFormFields(e) {
@@ -3699,7 +3716,7 @@ class R extends Yt {
3699
3716
  return;
3700
3717
  const e = await this.getWsClient();
3701
3718
  if (!e) {
3702
- E.error("Error - failed to obtain ws client");
3719
+ T.error("Error - failed to obtain ws client");
3703
3720
  return;
3704
3721
  }
3705
3722
  const t = {
@@ -3707,7 +3724,7 @@ class R extends Yt {
3707
3724
  type: "setContext",
3708
3725
  contextData: this.context
3709
3726
  };
3710
- e.sendMessage(t), E.info("Sent context:", this.context);
3727
+ e.sendMessage(t), T.info("Sent context:", this.context);
3711
3728
  }
3712
3729
  getContext() {
3713
3730
  return this.context;
@@ -3720,20 +3737,20 @@ class R extends Yt {
3720
3737
  this.initForm(this.form);
3721
3738
  return;
3722
3739
  }
3723
- const e = Nt(null, ["startupForm"], this.botSettings);
3740
+ const e = Wt(null, ["startupForm"], this.botSettings);
3724
3741
  if (!e || !e?.name) {
3725
- E.info("Startup form not present");
3742
+ T.info("Startup form not present");
3726
3743
  return;
3727
3744
  }
3728
3745
  this.initForm(e);
3729
3746
  }
3730
3747
  initForm(e = null) {
3731
- const t = e, i = Nt(null, ["name"], e);
3748
+ const t = e, i = Wt(null, ["name"], e);
3732
3749
  if (!t || !i)
3733
3750
  return;
3734
- const s = Nt(null, ["fields"], e);
3751
+ const s = Wt(null, ["fields"], e);
3735
3752
  if (!Array.isArray(s) || s.length <= 0) {
3736
- E.info("form has no fields", e);
3753
+ T.info("form has no fields", e);
3737
3754
  return;
3738
3755
  }
3739
3756
  const r = `${ne}${this.setting.botId}.${this.conversationId}.form.${i}`, o = localStorage.getItem(r);
@@ -3742,11 +3759,11 @@ class R extends Yt {
3742
3759
  try {
3743
3760
  f = JSON.parse(o);
3744
3761
  } catch (p) {
3745
- E.error(`Failed to parse stored form data: ${p.message}`), f = null;
3762
+ T.error(`Failed to parse stored form data: ${p.message}`), f = null;
3746
3763
  }
3747
3764
  if (f) {
3748
3765
  this.sendFormData(i, f).catch((p) => {
3749
- E.error(`Error when submitting form: ${p.message}`);
3766
+ T.error(`Error when submitting form: ${p.message}`);
3750
3767
  });
3751
3768
  return;
3752
3769
  }
@@ -3757,7 +3774,7 @@ class R extends Yt {
3757
3774
  this.engage = !1, this.shouldEngage = "false";
3758
3775
  }
3759
3776
  showEngagePopup() {
3760
- this.open || (E.info("Engaging User !"), this.engage = !0, this.playAudioNotification());
3777
+ this.open || (T.info("Engaging User !"), this.engage = !0, this.playAudioNotification());
3761
3778
  }
3762
3779
  playAudioNotification() {
3763
3780
  if (!this.setting.enableNotificationSound)
@@ -3781,7 +3798,15 @@ class R extends Yt {
3781
3798
  if (this.wsClient)
3782
3799
  return this.wsClient;
3783
3800
  let t = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
3784
- return this.setting.enableMultiModalConnection && (t += "?multiModal=true", E.info("MultiModal connection enabled - adding multiModal=true parameter")), E.info(`Initiating ws connection to ${t} ...`), this.wsClient = new ts({
3801
+ const i = new URL(t);
3802
+ if (this.setting.enableMultiModalConnection && (i.searchParams.set("multiModal", "true"), T.info("MultiModal connection enabled - adding multiModal=true parameter")), this.setting.enablePassContextOnConnect && this.context && typeof this.context == "object")
3803
+ try {
3804
+ const s = JSON.stringify(this.context);
3805
+ i.searchParams.set("context", s), T.info("Adding context to connect URL");
3806
+ } catch (s) {
3807
+ T.error(`Failed to stringify context: ${s.message}`);
3808
+ }
3809
+ return t = i.toString(), T.info(`Initiating ws connection to ${t} ...`), this.wsClient = new ts({
3785
3810
  url: t,
3786
3811
  orgId: this.setting.orgId,
3787
3812
  botId: this.setting.botId,
@@ -3801,11 +3826,11 @@ class R extends Yt {
3801
3826
  }), await this.wsClient.start(), this.connectWs = "true", this.wsClient;
3802
3827
  }
3803
3828
  handleWscClose(e) {
3804
- E.info(`WSC: connection closed, connected: ${this.wsClient?.connected}`, e), this.stopWebAudio().catch((t) => {
3829
+ T.info(`WSC: connection closed, connected: ${this.wsClient?.connected}`, e), this.stopWebAudio().catch((t) => {
3805
3830
  }), this.connected = !1;
3806
3831
  }
3807
3832
  async handleWscConnectError(e) {
3808
- E.info("WSC: connect error - resetting conversation", e);
3833
+ T.info("WSC: connect error - resetting conversation", e);
3809
3834
  const t = this.wsClient?.url || null;
3810
3835
  if (this.wsClient)
3811
3836
  try {
@@ -3831,13 +3856,13 @@ class R extends Yt {
3831
3856
  const s = t.includes("?"), [r, o] = s ? t.split("?") : [t, ""], f = r.split("/");
3832
3857
  f[f.length - 1] = this.conversationId;
3833
3858
  const p = f.join("/"), v = o ? `${p}?${o}` : p;
3834
- this.wsClient.url = v, await $s(1e3), await this.wsClient.start(), E.info(`WSC: started new conversation, conversationId=${this.conversationId}`);
3859
+ this.wsClient.url = v, await $s(1e3), await this.wsClient.start(), T.info(`WSC: started new conversation, conversationId=${this.conversationId}`);
3835
3860
  } catch (i) {
3836
- E.error(`WSC: failed to reset conversation: ${i.message}`, i);
3861
+ T.error(`WSC: failed to reset conversation: ${i.message}`, i);
3837
3862
  }
3838
3863
  }
3839
3864
  handleWscConnecting(e) {
3840
- E.info(`WSC: on connecting(${e}), connected: ${this.wsClient?.connected}`), this.connecting = e, !this.connecting && this.wsClient?.connected ? (this.connected = !0, this.context && typeof this.context == "object" && Object.keys(this.context).length > 0 && this.wsClient.queueMessage(
3865
+ T.info(`WSC: on connecting(${e}), connected: ${this.wsClient?.connected}`), this.connecting = e, !this.connecting && this.wsClient?.connected ? (this.connected = !0, this.context && typeof this.context == "object" && Object.keys(this.context).length > 0 && this.wsClient.queueMessage(
3841
3866
  {
3842
3867
  id: fe(),
3843
3868
  type: "setContext",
@@ -3854,7 +3879,7 @@ class R extends Yt {
3854
3879
  }
3855
3880
  // Update typing state based on received message
3856
3881
  updateTypingState(e) {
3857
- this.typingActive ? e && ["message", "message-chunk", "media", "typing-stopped"].includes(e?.type) && (this.typingActive = !1, E.info("c7o: typing stopped")) : e && e?.type === "typing" && (this.typingActive = !0, E.info("c7o: typing started"));
3882
+ this.typingActive ? e && ["message", "message-chunk", "media", "typing-stopped"].includes(e?.type) && (this.typingActive = !1, T.info("c7o: typing stopped")) : e && e?.type === "typing" && (this.typingActive = !0, T.info("c7o: typing started"));
3858
3883
  }
3859
3884
  handleWscMessage(e) {
3860
3885
  if (e?.type === "ack")
@@ -3914,15 +3939,7 @@ class R extends Yt {
3914
3939
  break;
3915
3940
  }
3916
3941
  case "agent-connected": {
3917
- this.addMessage({
3918
- id: e?.id || null,
3919
- author: "assistant",
3920
- type: "text",
3921
- data: {
3922
- text: "_Joined chat_",
3923
- ...e.userName && { userName: e.userName },
3924
- ...e.userAvatar && { userAvatar: e.userAvatar }
3925
- }
3942
+ this.handleAgentConnected(e).catch((i) => {
3926
3943
  });
3927
3944
  break;
3928
3945
  }
@@ -3934,7 +3951,7 @@ class R extends Yt {
3934
3951
  //{"type":"agent-connected","author":"assistant","userName":"SF DEV ADMIN"}
3935
3952
  //{"type":"agent-disconnected","author":"assistant","userName":"SF DEV ADMIN"}
3936
3953
  case "form": {
3937
- if (E.info("Got form:", e), this.replyMessage && this.replyMessage.id) {
3954
+ if (T.info("Got form:", e), this.replyMessage && this.replyMessage.id) {
3938
3955
  const i = this.replyMessage.data?.text || "";
3939
3956
  (this.replyMessage.isThinking || i.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
3940
3957
  }
@@ -3980,7 +3997,7 @@ class R extends Yt {
3980
3997
  if (e !== -1)
3981
3998
  if (this.setting.splitMessagesAtBreak) {
3982
3999
  const t = this.streamingResponseBuffer.substring(0, e).trim(), i = this.streamingResponseBuffer.substring(e + 4).trim();
3983
- (t !== "" || this.replyMessage?.data?.text !== "") && (E.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${t} next: ${i}`), this.replyMessage = this.updateMessage(this.replyMessage, t), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: i } }, this.addMessage(this.replyMessage));
4000
+ (t !== "" || this.replyMessage?.data?.text !== "") && (T.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${t} next: ${i}`), this.replyMessage = this.updateMessage(this.replyMessage, t), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: i } }, this.addMessage(this.replyMessage));
3984
4001
  } else
3985
4002
  this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer);
3986
4003
  this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null;
@@ -3989,11 +4006,11 @@ class R extends Yt {
3989
4006
  if (!this.streamingResponseBuffer || !this.replyMessage)
3990
4007
  return;
3991
4008
  if (this.streamingResponseBuffer.indexOf("![") === -1) {
3992
- E.info(`NOT IMG TAG: ${this.streamingResponseBuffer}`), this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null;
4009
+ T.info(`NOT IMG TAG: ${this.streamingResponseBuffer}`), this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null;
3993
4010
  return;
3994
4011
  }
3995
4012
  const e = this.streamingResponseBuffer.lastIndexOf("]"), t = this.streamingResponseBuffer.lastIndexOf(")");
3996
- e === -1 || t === -1 || e > t || (E.info(`IMG TAG END: ${this.streamingResponseBuffer}`), this.isValidImageLink(this.streamingResponseBuffer) && (this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer)), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null);
4013
+ e === -1 || t === -1 || e > t || (T.info(`IMG TAG END: ${this.streamingResponseBuffer}`), this.isValidImageLink(this.streamingResponseBuffer) && (this.replyMessage = this.updateMessage(this.replyMessage, this.streamingResponseBuffer)), this.streamingResponseBuffer = null, this.streamingResponseCurrentTag = null);
3997
4014
  }
3998
4015
  isValidImageLink(e = "") {
3999
4016
  return !(e.indexOf("example.com") !== -1 || e.indexOf("imgur.com") !== -1 || e.indexOf("attachment:") !== -1);
@@ -4013,7 +4030,7 @@ class R extends Yt {
4013
4030
  this.streamingResponseBuffer = e, this.streamingResponseTagStartPos = e.indexOf("<"), this.streamingResponseCurrentTag = "br";
4014
4031
  return;
4015
4032
  } else if (e.indexOf("![") !== -1 || e.endsWith("!")) {
4016
- this.streamingResponseBuffer = e, this.streamingResponseCurrentTag = "img", E.info(`IMG TAG START: ${this.streamingResponseBuffer}`);
4033
+ this.streamingResponseBuffer = e, this.streamingResponseCurrentTag = "img", T.info(`IMG TAG START: ${this.streamingResponseBuffer}`);
4017
4034
  return;
4018
4035
  }
4019
4036
  this.streamingResponseLastText = t, this.replyMessage = this.updateMessage(this.replyMessage, t);
@@ -4069,7 +4086,7 @@ class R extends Yt {
4069
4086
  detail: f
4070
4087
  })
4071
4088
  ), this.sendActionCompleted(f).catch((p) => {
4072
- E.error(`Error: failed to send action completed: ${p.message}`);
4089
+ T.error(`Error: failed to send action completed: ${p.message}`);
4073
4090
  });
4074
4091
  }
4075
4092
  this.actions.splice(s, 1);
@@ -4087,10 +4104,10 @@ class R extends Yt {
4087
4104
  }
4088
4105
  }
4089
4106
  async sendMessage(e) {
4090
- e = this.formatMessage(e), E.info("Send Message:", e), this.showNewConversation && (this.showNewConversation = !1), this.messages = this.messages.concat([e]), this.lastConversationUpdate = Date.now();
4107
+ e = this.formatMessage(e), T.info("Send Message:", e), this.showNewConversation && (this.showNewConversation = !1), this.messages = this.messages.concat([e]), this.lastConversationUpdate = Date.now();
4091
4108
  const t = await this.getWsClient();
4092
4109
  if (!t) {
4093
- E.error("Error - failed to obtain ws client"), this.replyMessage = null;
4110
+ T.error("Error - failed to obtain ws client"), this.replyMessage = null;
4094
4111
  return;
4095
4112
  }
4096
4113
  t.sendMessage({
@@ -4136,7 +4153,7 @@ class R extends Yt {
4136
4153
  // Submit current form data
4137
4154
  async submitForm(e) {
4138
4155
  if (!this.form) {
4139
- E.info("submitForm: No form is active - ignored");
4156
+ T.info("submitForm: No form is active - ignored");
4140
4157
  return;
4141
4158
  }
4142
4159
  const t = `${ne}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
@@ -4145,7 +4162,7 @@ class R extends Yt {
4145
4162
  async sendFormData(e, t) {
4146
4163
  const i = await this.getWsClient();
4147
4164
  if (!i) {
4148
- E.error("Error - failed to obtain ws client");
4165
+ T.error("Error - failed to obtain ws client");
4149
4166
  return;
4150
4167
  }
4151
4168
  i.sendMessage({
@@ -4157,7 +4174,7 @@ class R extends Yt {
4157
4174
  async sendActionCompleted(e) {
4158
4175
  const t = await this.getWsClient();
4159
4176
  if (!t) {
4160
- E.error("Error - failed to obtain ws client");
4177
+ T.error("Error - failed to obtain ws client");
4161
4178
  return;
4162
4179
  }
4163
4180
  t.sendMessage({
@@ -4168,7 +4185,7 @@ class R extends Yt {
4168
4185
  async sendEvent(e) {
4169
4186
  const t = await this.getWsClient();
4170
4187
  if (!t) {
4171
- E.error("Error - failed to obtain ws client");
4188
+ T.error("Error - failed to obtain ws client");
4172
4189
  return;
4173
4190
  }
4174
4191
  t.sendMessage(e);
@@ -4181,10 +4198,10 @@ class R extends Yt {
4181
4198
  this.feedbackMessages.push(t), this.feedbackUserMessage = this.messages.findLast((i) => i.id === t.replyId)?.data?.text || "", this.feedbackAnswer = t?.data.text || "", this.feedbackAnswerMessageId = t?.id || "", this.feedbackAnswerUserName = t?.data.userName || "", this.feedback = !0;
4182
4199
  }
4183
4200
  async submitFeedback(e, t, i) {
4184
- E.info(`submitFeedback: ${this.feedbackScore}`), this.feedbackName = e, this.feedbackEmail = t;
4201
+ T.info(`submitFeedback: ${this.feedbackScore}`), this.feedbackName = e, this.feedbackEmail = t;
4185
4202
  const s = await this.getWsClient();
4186
4203
  if (!s) {
4187
- E.error("Error - failed to obtain ws client"), this.replyMessage = null;
4204
+ T.error("Error - failed to obtain ws client"), this.replyMessage = null;
4188
4205
  return;
4189
4206
  }
4190
4207
  s.sendMessage({
@@ -4227,7 +4244,7 @@ class R extends Yt {
4227
4244
  if (!e?.length) return;
4228
4245
  const t = b.setting.fileUploadMaxFileSizeMB || 30, i = t * 1024 * 1024, s = e?.find((v) => v.size > i);
4229
4246
  if (s) {
4230
- E.error(
4247
+ T.error(
4231
4248
  `File "${s.name}" exceeds the ${t} MB limit and will not be uploaded.`
4232
4249
  ), Ya({
4233
4250
  message: `File is larger than ${t} MB`,
@@ -4238,10 +4255,10 @@ class R extends Yt {
4238
4255
  return;
4239
4256
  }
4240
4257
  const r = await this.filesToBase64(e);
4241
- E.info("Uploading files:", r);
4258
+ T.info("Uploading files:", r);
4242
4259
  const o = await this.getWsClient();
4243
4260
  if (!o) {
4244
- E.error("Error - failed to obtain ws client");
4261
+ T.error("Error - failed to obtain ws client");
4245
4262
  return;
4246
4263
  }
4247
4264
  const f = fe();
@@ -4269,42 +4286,42 @@ class R extends Yt {
4269
4286
  });
4270
4287
  }
4271
4288
  }
4272
- B([
4289
+ O([
4273
4290
  ce({ prefix: ne }),
4274
4291
  z({ value: "en" })
4275
4292
  ], R.prototype, "language");
4276
- B([
4293
+ O([
4277
4294
  ce({ prefix: ne }),
4278
4295
  z({ value: "light" })
4279
4296
  ], R.prototype, "theme");
4280
- B([
4297
+ O([
4281
4298
  ce({ prefix: ne }),
4282
4299
  z({ type: Boolean, value: !1 })
4283
4300
  ], R.prototype, "open");
4284
- B([
4301
+ O([
4285
4302
  z({ type: Boolean, value: !1 })
4286
4303
  ], R.prototype, "alwaysOpen");
4287
- B([
4304
+ O([
4288
4305
  ce({ prefix: ne }),
4289
4306
  z({ value: "false" })
4290
4307
  ], R.prototype, "connectWs");
4291
- B([
4308
+ O([
4292
4309
  ce({ prefix: ne }),
4293
4310
  z({ value: fe() })
4294
4311
  ], R.prototype, "conversationId");
4295
- B([
4312
+ O([
4296
4313
  ce({ prefix: ne }),
4297
4314
  z({ value: 0 })
4298
4315
  ], R.prototype, "lastConversationUpdate");
4299
- B([
4316
+ O([
4300
4317
  ce({ prefix: ne }),
4301
4318
  z({ type: Array, value: [] })
4302
4319
  ], R.prototype, "messages");
4303
- B([
4320
+ O([
4304
4321
  ce({ prefix: ne }),
4305
4322
  z({ value: 0 })
4306
4323
  ], R.prototype, "unreadMessages");
4307
- B([
4324
+ O([
4308
4325
  ce({ prefix: ne }),
4309
4326
  z({
4310
4327
  type: Array,
@@ -4349,43 +4366,43 @@ B([
4349
4366
  ],*/
4350
4367
  })
4351
4368
  ], R.prototype, "actions");
4352
- B([
4369
+ O([
4353
4370
  ce({ prefix: ne }),
4354
4371
  z({ type: Object, value: null })
4355
4372
  ], R.prototype, "form");
4356
- B([
4373
+ O([
4357
4374
  z({ type: Boolean, value: !1 })
4358
4375
  ], R.prototype, "botSettingsInitialized");
4359
- B([
4376
+ O([
4360
4377
  z({ type: Number, value: 5 })
4361
4378
  ], R.prototype, "botSettingsRetryTimeout");
4362
- B([
4379
+ O([
4363
4380
  z({ type: Object, value: null })
4364
4381
  ], R.prototype, "botSettings");
4365
- B([
4382
+ O([
4366
4383
  z({ type: Boolean, value: !0 })
4367
4384
  ], R.prototype, "disabled");
4368
- B([
4385
+ O([
4369
4386
  z({ type: Boolean, value: !1 })
4370
4387
  ], R.prototype, "connecting");
4371
- B([
4388
+ O([
4372
4389
  z({ type: Boolean, value: !1 })
4373
4390
  ], R.prototype, "connected");
4374
- B([
4391
+ O([
4375
4392
  ce({ prefix: ne }),
4376
4393
  z({ value: "true" })
4377
4394
  ], R.prototype, "shouldEngage");
4378
- B([
4395
+ O([
4379
4396
  z({ type: Boolean, value: !1 })
4380
4397
  ], R.prototype, "engage");
4381
- B([
4398
+ O([
4382
4399
  ce({ prefix: ne }),
4383
4400
  z({ type: Boolean, value: !1 })
4384
4401
  ], R.prototype, "showNewConversation");
4385
- B([
4402
+ O([
4386
4403
  z({ type: Boolean, value: !1 })
4387
4404
  ], R.prototype, "typingActive");
4388
- B([
4405
+ O([
4389
4406
  ce({ prefix: ne }),
4390
4407
  z({
4391
4408
  type: Object,
@@ -4403,63 +4420,66 @@ B([
4403
4420
  enableNotificationSound: !0,
4404
4421
  botAdvancedOptions: null,
4405
4422
  enableMultiModalConnection: !1,
4423
+ enablePassContextOnConnect: !1,
4406
4424
  fileUploadEnabledExtensions: ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3",
4407
- fileUploadMaxFileSizeMB: 30
4425
+ fileUploadMaxFileSizeMB: 30,
4426
+ enableAgentDisconnectedMessage: !1,
4427
+ showNewConversationOnAgentDisconnected: !1
4408
4428
  }
4409
4429
  })
4410
4430
  ], R.prototype, "setting");
4411
- B([
4431
+ O([
4412
4432
  ce({ prefix: ne }),
4413
4433
  z({ type: Object, value: {} })
4414
4434
  ], R.prototype, "context");
4415
- B([
4435
+ O([
4416
4436
  z({ type: String, value: "top-end" })
4417
4437
  ], R.prototype, "appearanceAnchorPopupPosition");
4418
- B([
4438
+ O([
4419
4439
  z({ type: String, value: "danger" })
4420
4440
  ], R.prototype, "appearanceAnchorBadgeVariant");
4421
- B([
4441
+ O([
4422
4442
  z({ type: String, value: "right" })
4423
4443
  ], R.prototype, "appearanceUserMessageAvatarPosition");
4424
- B([
4444
+ O([
4425
4445
  z({ type: Boolean, value: !1 })
4426
4446
  ], R.prototype, "feedback");
4427
- B([
4447
+ O([
4428
4448
  z({ type: Number, value: 5 })
4429
4449
  ], R.prototype, "feedbackScore");
4430
- B([
4450
+ O([
4431
4451
  z({ type: String, value: "" })
4432
4452
  ], R.prototype, "feedbackUserMessage");
4433
- B([
4453
+ O([
4434
4454
  z({ type: String, value: "" })
4435
4455
  ], R.prototype, "feedbackAnswerMessageId");
4436
- B([
4456
+ O([
4437
4457
  z({ type: String, value: "" })
4438
4458
  ], R.prototype, "feedbackAnswer");
4439
- B([
4459
+ O([
4440
4460
  z({ type: String, value: "" })
4441
4461
  ], R.prototype, "feedbackAnswerUserName");
4442
- B([
4462
+ O([
4443
4463
  z({ type: Array, value: [] })
4444
4464
  ], R.prototype, "feedbackMessages");
4445
- B([
4465
+ O([
4446
4466
  ce({ prefix: ne }),
4447
4467
  z({ type: String, value: "" })
4448
4468
  ], R.prototype, "feedbackName");
4449
- B([
4469
+ O([
4450
4470
  ce({ prefix: ne }),
4451
4471
  z({ type: String, value: "" })
4452
4472
  ], R.prototype, "feedbackEmail");
4453
- B([
4473
+ O([
4454
4474
  z({ type: Boolean, value: !1 })
4455
4475
  ], R.prototype, "mediaStartAudioRequested");
4456
- B([
4476
+ O([
4457
4477
  z({ type: Boolean, value: !1 })
4458
4478
  ], R.prototype, "mediaStartedAudio");
4459
- B([
4479
+ O([
4460
4480
  z({ type: Boolean, value: !1 })
4461
4481
  ], R.prototype, "webAudioStarted");
4462
- B([
4482
+ O([
4463
4483
  z({ type: Boolean, value: !1 })
4464
4484
  ], R.prototype, "webAudioMuted");
4465
4485
  const b = new R(), Ps = J`
@@ -4542,7 +4562,7 @@ var Ls = Object.defineProperty, Rs = (a, e, t, i) => {
4542
4562
  (o = a[r]) && (s = o(e, t, s) || s);
4543
4563
  return s && Ls(e, t, s), s;
4544
4564
  };
4545
- Oi("system", {
4565
+ Bi("system", {
4546
4566
  resolver: (a) => ""
4547
4567
  });
4548
4568
  (() => {
@@ -4582,13 +4602,13 @@ class re extends Fe {
4582
4602
  Rs([
4583
4603
  x({ type: String })
4584
4604
  ], re.prototype, "lang");
4585
- var zs = Object.defineProperty, Bs = Object.getOwnPropertyDescriptor, Ja = (a, e, t, i) => {
4586
- for (var s = i > 1 ? void 0 : i ? Bs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
4605
+ var zs = Object.defineProperty, Os = Object.getOwnPropertyDescriptor, Ja = (a, e, t, i) => {
4606
+ for (var s = i > 1 ? void 0 : i ? Os(e, t) : e, r = a.length - 1, o; r >= 0; r--)
4587
4607
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
4588
4608
  return i && s && zs(e, t, s), s;
4589
4609
  };
4590
- const Os = '<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"></path></svg>';
4591
- let zt = class extends re {
4610
+ const Bs = '<svg viewBox="0 0 16 16" width="16px" height="16px"><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"></path></svg>';
4611
+ let Ot = class extends re {
4592
4612
  constructor() {
4593
4613
  super(...arguments), this.title = "ChatBot";
4594
4614
  }
@@ -4602,13 +4622,13 @@ let zt = class extends re {
4602
4622
  ${W(
4603
4623
  b.setting.logoUrl !== "",
4604
4624
  () => u`<img class="cb-header-logo" part="header-logo" src="${b.setting.logoUrl}" />`,
4605
- () => u`<div class="cb-header-logo" part="header-logo">${Y(b.setting.logoSvg)}</div>`
4625
+ () => u`<div class="cb-header-logo" part="header-logo">${G(b.setting.logoSvg)}</div>`
4606
4626
  )}
4607
4627
  <div class="cb-header-title" part="header-title">${this.title}</div>
4608
4628
  ${W(
4609
4629
  b.alwaysOpen,
4610
4630
  () => u``,
4611
- () => u`<div class="cb-header-close" part="header-close">${Y(Os)}</div>`
4631
+ () => u`<div class="cb-header-close" part="header-close">${G(Bs)}</div>`
4612
4632
  )}
4613
4633
  </header>`;
4614
4634
  }
@@ -4617,13 +4637,13 @@ let zt = class extends re {
4617
4637
  ${W(
4618
4638
  b.setting.logoUrl !== "",
4619
4639
  () => u`<img class="cb-header-img" part="header-logo" src="${b.setting.logoUrl}" />`,
4620
- () => u`<div class="cb-header-logo" part="header-logo">${Y(b.setting.logoSvg)}</div>`
4640
+ () => u`<div class="cb-header-logo" part="header-logo">${G(b.setting.logoSvg)}</div>`
4621
4641
  )}
4622
4642
  <div class="cb-header-title" part="header-title">${this.title}</div>
4623
4643
  ${W(
4624
4644
  b.alwaysOpen,
4625
4645
  () => u`<div></div>`,
4626
- () => u`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${Y(b.setting.closeSvg)}</div>`
4646
+ () => u`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${G(b.setting.closeSvg)}</div>`
4627
4647
  )}
4628
4648
  </header>`;
4629
4649
  }
@@ -4650,13 +4670,13 @@ let zt = class extends re {
4650
4670
  });
4651
4671
  }
4652
4672
  };
4653
- zt.styles = Ps;
4673
+ Ot.styles = Ps;
4654
4674
  Ja([
4655
4675
  x({ type: String, attribute: "title" })
4656
- ], zt.prototype, "title", 2);
4657
- zt = Ja([
4658
- K("cb-header")
4659
- ], zt);
4676
+ ], Ot.prototype, "title", 2);
4677
+ Ot = Ja([
4678
+ Z("cb-header")
4679
+ ], Ot);
4660
4680
  const qs = J`
4661
4681
  ${ke}
4662
4682
  .cb-footer {
@@ -4714,7 +4734,7 @@ let Jt = class extends re {
4714
4734
  };
4715
4735
  Jt.styles = qs;
4716
4736
  Jt = Fs([
4717
- K("cb-footer")
4737
+ Z("cb-footer")
4718
4738
  ], Jt);
4719
4739
  const js = J`
4720
4740
  ${ke}
@@ -4917,7 +4937,7 @@ const js = J`
4917
4937
  background-size: 100%;
4918
4938
  transition: background 0s;
4919
4939
  }
4920
- `, Ka = J`
4940
+ `, Za = J`
4921
4941
  :host {
4922
4942
  --primary-color: var(--sl-color-primary-600);
4923
4943
  }
@@ -5071,7 +5091,7 @@ const js = J`
5071
5091
  .card-btn[aria-disabled="true"]:focus-visible {
5072
5092
  box-shadow: none;
5073
5093
  }
5074
- `, Za = J`
5094
+ `, Ka = J`
5075
5095
  :host {
5076
5096
  --primary-color: var(--sl-color-primary-600);
5077
5097
  }
@@ -5259,7 +5279,7 @@ je([
5259
5279
  x({ type: Number })
5260
5280
  ], gt.prototype, "minWidth", 2);
5261
5281
  gt = je([
5262
- K("cb-split-menu")
5282
+ Z("cb-split-menu")
5263
5283
  ], gt);
5264
5284
  let Ge = class extends Fe {
5265
5285
  constructor() {
@@ -5346,7 +5366,7 @@ let Ge = class extends Fe {
5346
5366
  this._onDocPointerDown && (document.removeEventListener("pointerdown", this._onDocPointerDown, { capture: !0 }), this._onDocPointerDown = void 0), this._onKeydown && (document.removeEventListener("keydown", this._onKeydown, { capture: !0 }), this._onKeydown = void 0);
5347
5367
  }
5348
5368
  };
5349
- Ge.styles = Za;
5369
+ Ge.styles = Ka;
5350
5370
  je([
5351
5371
  x({ type: String })
5352
5372
  ], Ge.prototype, "variant", 2);
@@ -5363,12 +5383,12 @@ je([
5363
5383
  xe(".split-btn")
5364
5384
  ], Ge.prototype, "_btn", 2);
5365
5385
  Ge = je([
5366
- K("cb-split-button")
5386
+ Z("cb-split-button")
5367
5387
  ], Ge);
5368
- var Us = Object.defineProperty, Ns = Object.getOwnPropertyDescriptor, wt = (a, e, t, i) => {
5369
- for (var s = i > 1 ? void 0 : i ? Ns(e, t) : e, r = a.length - 1, o; r >= 0; r--)
5388
+ var Ns = Object.defineProperty, Us = Object.getOwnPropertyDescriptor, wt = (a, e, t, i) => {
5389
+ for (var s = i > 1 ? void 0 : i ? Us(e, t) : e, r = a.length - 1, o; r >= 0; r--)
5370
5390
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
5371
- return i && s && Us(e, t, s), s;
5391
+ return i && s && Ns(e, t, s), s;
5372
5392
  };
5373
5393
  const Tt = Je.noConflict(), Ea = "M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z", Ws = J`
5374
5394
  :host { display: block; width: 100%; color: var(--cb-fg, #111827); }
@@ -5478,16 +5498,16 @@ let Me = class extends Fe {
5478
5498
  }
5479
5499
  /* ----------------- CARD ----------------- */
5480
5500
  renderCard(a) {
5481
- const { title: e, subtitle: t, image_url: i, image_alt: s, buttons: r = [] } = a, o = (a.url || "").trim(), f = (a.target || "").trim(), p = o.length > 0, v = a.info?.text, k = typeof a.info?.rating == "number" ? a.info.rating : typeof a.rating == "number" ? a.rating : void 0, w = !!v, _ = typeof k == "number", P = ["card__info", w && _ ? "card__info--between" : ""].filter(Boolean).join(" "), I = r.some((N) => (N.type ?? "").toLowerCase() === "primary"), M = r.some((N) => (N.type ?? "").toLowerCase() === "secondary"), L = ["card__actions", I && M ? "card__actions--between" : ""].filter(Boolean).join(" "), C = () => {
5501
+ const { title: e, subtitle: t, image_url: i, image_alt: s, buttons: r = [] } = a, o = (a.url || "").trim(), f = (a.target || "").trim(), p = o.length > 0, v = a.info?.text, k = typeof a.info?.rating == "number" ? a.info.rating : typeof a.rating == "number" ? a.rating : void 0, w = !!v, _ = typeof k == "number", P = ["card__info", w && _ ? "card__info--between" : ""].filter(Boolean).join(" "), E = r.some((U) => (U.type ?? "").toLowerCase() === "primary"), M = r.some((U) => (U.type ?? "").toLowerCase() === "secondary"), L = ["card__actions", E && M ? "card__actions--between" : ""].filter(Boolean).join(" "), C = () => {
5482
5502
  if (!i) return Ae;
5483
- const N = u`<img class="card__image" src=${i} alt=${s ?? e ?? "Image"} draggable="false" />`;
5484
- return p ? u`<a class="card__image-link" href=${o} target=${f || "_blank"} rel="noopener noreferrer" draggable="false" aria-label=${e ? `Open: ${e}` : "Open"}>${N}</a>` : N;
5485
- }, Z = () => e ? p && !i ? u`<h3 class="card__title"><a class="card__title-link" href=${o} target=${f || "_blank"} rel="noopener noreferrer" draggable="false">${e}</a></h3>` : u`<h3 class="card__title">${e}</h3>` : Ae;
5503
+ const U = u`<img class="card__image" src=${i} alt=${s ?? e ?? "Image"} draggable="false" />`;
5504
+ return p ? u`<a class="card__image-link" href=${o} target=${f || "_blank"} rel="noopener noreferrer" draggable="false" aria-label=${e ? `Open: ${e}` : "Open"}>${U}</a>` : U;
5505
+ }, K = () => e ? p && !i ? u`<h3 class="card__title"><a class="card__title-link" href=${o} target=${f || "_blank"} rel="noopener noreferrer" draggable="false">${e}</a></h3>` : u`<h3 class="card__title">${e}</h3>` : Ae;
5486
5506
  return u`
5487
5507
  <div class="card" role="group" aria-label=${e ? `Card: ${e}` : "Card"}>
5488
5508
  ${C()}
5489
5509
  <div class="card__content">
5490
- ${Z()}
5510
+ ${K()}
5491
5511
  ${t ? u`<div class="card__subtitle">${t}</div>` : Ae}
5492
5512
  ${w || _ ? u`
5493
5513
  <div class=${P}>
@@ -5496,7 +5516,7 @@ let Me = class extends Fe {
5496
5516
  </div>` : Ae}
5497
5517
  ${r.length ? u`
5498
5518
  <div class=${L}>
5499
- ${r.map((N, G) => this.renderAnyButton(N, G))}
5519
+ ${r.map((U, X) => this.renderAnyButton(U, X))}
5500
5520
  </div>` : Ae}
5501
5521
  </div>
5502
5522
  </div>
@@ -5701,7 +5721,7 @@ let Me = class extends Fe {
5701
5721
  await o.json(), Tt.info("c7o: cart/add.js - cart updated"), Tt.info("c7o: reloading window after cart update"), window.location.reload();
5702
5722
  }
5703
5723
  };
5704
- Me.styles = [Ws, Ka, Za];
5724
+ Me.styles = [Ws, Za, Ka];
5705
5725
  Me.DRAG_THRESHOLD_PX = 10;
5706
5726
  wt([
5707
5727
  x({ type: Object })
@@ -5716,7 +5736,7 @@ wt([
5716
5736
  Ha()
5717
5737
  ], Me.prototype, "_canNext", 2);
5718
5738
  Me = wt([
5719
- K("cb-block")
5739
+ Z("cb-block")
5720
5740
  ], Me);
5721
5741
  var Gs = Object.defineProperty, Xs = Object.getOwnPropertyDescriptor, Qa = (a, e, t, i) => {
5722
5742
  for (var s = i > 1 ? void 0 : i ? Xs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
@@ -5750,9 +5770,9 @@ Qa([
5750
5770
  x({ type: Array })
5751
5771
  ], Bt.prototype, "blocks", 2);
5752
5772
  Bt = Qa([
5753
- K("cb-blocks")
5773
+ Z("cb-blocks")
5754
5774
  ], Bt);
5755
- var Lt = { exports: {} }, Ys = Lt.exports, $a;
5775
+ var Rt = { exports: {} }, Ys = Rt.exports, $a;
5756
5776
  function Js() {
5757
5777
  return $a || ($a = 1, (function(a, e) {
5758
5778
  (function(t, i) {
@@ -5817,19 +5837,19 @@ function Js() {
5817
5837
  })), h;
5818
5838
  }
5819
5839
  function w(n) {
5820
- var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = c.onElement, d = c.withCallback, h = c.avoidDuplicate, m = h === void 0 || h, g = c.once, y = g !== void 0 && g, A = c.useCapture, S = A !== void 0 && A, T = arguments.length > 2 ? arguments[2] : void 0, $ = l || [];
5821
- function O(q) {
5822
- F(d) && d.call(T, q, this), y && O.destroy();
5840
+ var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = c.onElement, d = c.withCallback, h = c.avoidDuplicate, m = h === void 0 || h, g = c.once, y = g !== void 0 && g, A = c.useCapture, S = A !== void 0 && A, I = arguments.length > 2 ? arguments[2] : void 0, $ = l || [];
5841
+ function B(q) {
5842
+ F(d) && d.call(I, q, this), y && B.destroy();
5823
5843
  }
5824
- return j($) && ($ = document.querySelectorAll($)), O.destroy = function() {
5844
+ return j($) && ($ = document.querySelectorAll($)), B.destroy = function() {
5825
5845
  v($, (function(q) {
5826
- var D = k(q, n, O);
5827
- D.found && D.all.splice(D.evt, 1), q.removeEventListener && q.removeEventListener(n, O, S);
5846
+ var D = k(q, n, B);
5847
+ D.found && D.all.splice(D.evt, 1), q.removeEventListener && q.removeEventListener(n, B, S);
5828
5848
  }));
5829
5849
  }, v($, (function(q) {
5830
- var D = k(q, n, O);
5831
- (q.addEventListener && m && !D.found || !m) && (q.addEventListener(n, O, S), D.all.push({ eventName: n, fn: O }));
5832
- })), O;
5850
+ var D = k(q, n, B);
5851
+ (q.addEventListener && m && !D.found || !m) && (q.addEventListener(n, B, S), D.all.push({ eventName: n, fn: B }));
5852
+ })), B;
5833
5853
  }
5834
5854
  function _(n, c) {
5835
5855
  v(c.split(" "), (function(l) {
@@ -5841,7 +5861,7 @@ function Js() {
5841
5861
  return n.classList.remove(l);
5842
5862
  }));
5843
5863
  }
5844
- function I(n, c) {
5864
+ function E(n, c) {
5845
5865
  return n.classList.contains(c);
5846
5866
  }
5847
5867
  function M(n, c) {
@@ -5868,13 +5888,13 @@ function Js() {
5868
5888
  if (c === "") return n.style.webkitTransform = "", n.style.MozTransform = "", n.style.msTransform = "", n.style.OTransform = "", n.style.transform = "", !1;
5869
5889
  n.style.webkitTransform = c, n.style.MozTransform = c, n.style.msTransform = c, n.style.OTransform = c, n.style.transform = c;
5870
5890
  }
5871
- function Z(n) {
5891
+ function K(n) {
5872
5892
  n.style.display = "block";
5873
5893
  }
5874
- function N(n) {
5894
+ function U(n) {
5875
5895
  n.style.display = "none";
5876
5896
  }
5877
- function G(n) {
5897
+ function X(n) {
5878
5898
  var c = document.createDocumentFragment(), l = document.createElement("div");
5879
5899
  for (l.innerHTML = n; l.firstChild; ) c.appendChild(l.firstChild);
5880
5900
  return c;
@@ -5930,7 +5950,7 @@ function Js() {
5930
5950
  }
5931
5951
  }
5932
5952
  }
5933
- function pe() {
5953
+ function ge() {
5934
5954
  return "navigator" in window && window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i);
5935
5955
  }
5936
5956
  function F(n) {
@@ -6055,13 +6075,13 @@ function Js() {
6055
6075
  } }]), pa = s((function n() {
6056
6076
  var c = this, l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
6057
6077
  t(this, n);
6058
- var d = l.dragEl, h = l.toleranceX, m = h === void 0 ? 40 : h, g = l.toleranceY, y = g === void 0 ? 65 : g, A = l.slide, S = A === void 0 ? null : A, T = l.instance, $ = T === void 0 ? null : T;
6059
- this.el = d, this.active = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.direction = null, this.lastDirection = null, this.toleranceX = m, this.toleranceY = y, this.toleranceReached = !1, this.dragContainer = this.el, this.slide = S, this.instance = $, this.el.addEventListener("mousedown", (function(O) {
6060
- return c.dragStart(O);
6061
- }), !1), this.el.addEventListener("mouseup", (function(O) {
6062
- return c.dragEnd(O);
6063
- }), !1), this.el.addEventListener("mousemove", (function(O) {
6064
- return c.drag(O);
6078
+ var d = l.dragEl, h = l.toleranceX, m = h === void 0 ? 40 : h, g = l.toleranceY, y = g === void 0 ? 65 : g, A = l.slide, S = A === void 0 ? null : A, I = l.instance, $ = I === void 0 ? null : I;
6079
+ this.el = d, this.active = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.direction = null, this.lastDirection = null, this.toleranceX = m, this.toleranceY = y, this.toleranceReached = !1, this.dragContainer = this.el, this.slide = S, this.instance = $, this.el.addEventListener("mousedown", (function(B) {
6080
+ return c.dragStart(B);
6081
+ }), !1), this.el.addEventListener("mouseup", (function(B) {
6082
+ return c.dragEnd(B);
6083
+ }), !1), this.el.addEventListener("mousemove", (function(B) {
6084
+ return c.drag(B);
6065
6085
  }), !1);
6066
6086
  }), [{ key: "dragStart", value: function(n) {
6067
6087
  if (this.slide.classList.contains("zoomed")) this.active = !1;
@@ -6112,26 +6132,26 @@ function Js() {
6112
6132
  }
6113
6133
  function ki(n, c, l, d) {
6114
6134
  var h = this, m = n.querySelector(".ginner-container"), g = "gvideo" + l, y = n.querySelector(".gslide-media"), A = this.getAllPlayers();
6115
- _(m, "gvideo-container"), y.insertBefore(G('<div class="gvideo-wrapper"></div>'), y.firstChild);
6135
+ _(m, "gvideo-container"), y.insertBefore(X('<div class="gvideo-wrapper"></div>'), y.firstChild);
6116
6136
  var S = n.querySelector(".gvideo-wrapper");
6117
6137
  he(this.settings.plyr.css, "Plyr");
6118
- var T = c.href, $ = c?.videoProvider, O = !1;
6138
+ var I = c.href, $ = c?.videoProvider, B = !1;
6119
6139
  y.style.maxWidth = c.width, he(this.settings.plyr.js, "Plyr", (function() {
6120
- if (!$ && T.match(/vimeo\.com\/([0-9]*)/) && ($ = "vimeo"), !$ && (T.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || T.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || T.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || T.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/)) && ($ = "youtube"), $ === "local" || !$) {
6140
+ if (!$ && I.match(/vimeo\.com\/([0-9]*)/) && ($ = "vimeo"), !$ && (I.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || I.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || I.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || I.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/)) && ($ = "youtube"), $ === "local" || !$) {
6121
6141
  $ = "local";
6122
6142
  var q = '<video id="' + g + '" ';
6123
- q += 'style="background:#000; max-width: '.concat(c.width, ';" '), q += 'preload="metadata" ', q += 'x-webkit-airplay="allow" ', q += "playsinline ", q += "controls ", q += 'class="gvideo-local">', q += '<source src="'.concat(T, '">'), O = G(q += "</video>");
6143
+ q += 'style="background:#000; max-width: '.concat(c.width, ';" '), q += 'preload="metadata" ', q += 'x-webkit-airplay="allow" ', q += "playsinline ", q += "controls ", q += 'class="gvideo-local">', q += '<source src="'.concat(I, '">'), B = X(q += "</video>");
6124
6144
  }
6125
- var D = O || G('<div id="'.concat(g, '" data-plyr-provider="').concat($, '" data-plyr-embed-id="').concat(T, '"></div>'));
6145
+ var D = B || X('<div id="'.concat(g, '" data-plyr-provider="').concat($, '" data-plyr-embed-id="').concat(I, '"></div>'));
6126
6146
  _(S, "".concat($, "-video gvideo")), S.appendChild(D), S.setAttribute("data-id", g), S.setAttribute("data-index", l);
6127
- var ee = ie(h.settings.plyr, "config") ? h.settings.plyr.config : {}, ge = new Plyr("#" + g, ee);
6128
- ge.on("ready", (function(ue) {
6147
+ var ee = ie(h.settings.plyr, "config") ? h.settings.plyr.config : {}, me = new Plyr("#" + g, ee);
6148
+ me.on("ready", (function(ue) {
6129
6149
  A[g] = ue.detail.plyr, F(d) && d();
6130
6150
  })), ae((function() {
6131
6151
  return n.querySelector("iframe") && n.querySelector("iframe").dataset.ready == "true";
6132
6152
  }), (function() {
6133
6153
  h.resize(n);
6134
- })), ge.on("enterfullscreen", ga), ge.on("exitfullscreen", ga);
6154
+ })), me.on("enterfullscreen", ga), me.on("exitfullscreen", ga);
6135
6155
  }));
6136
6156
  }
6137
6157
  function ga(n) {
@@ -6140,28 +6160,28 @@ function Js() {
6140
6160
  }
6141
6161
  function _i(n, c, l, d) {
6142
6162
  var h, m = this, g = n.querySelector(".gslide-media"), y = !(!ie(c, "href") || !c.href) && c.href.split("#").pop().trim(), A = !(!ie(c, "content") || !c.content) && c.content;
6143
- if (A && (j(A) && (h = G('<div class="ginlined-content">'.concat(A, "</div>"))), V(A))) {
6163
+ if (A && (j(A) && (h = X('<div class="ginlined-content">'.concat(A, "</div>"))), V(A))) {
6144
6164
  A.style.display == "none" && (A.style.display = "block");
6145
6165
  var S = document.createElement("div");
6146
6166
  S.className = "ginlined-content", S.appendChild(A), h = S;
6147
6167
  }
6148
6168
  if (y) {
6149
- var T = document.getElementById(y);
6150
- if (!T) return !1;
6151
- var $ = T.cloneNode(!0);
6169
+ var I = document.getElementById(y);
6170
+ if (!I) return !1;
6171
+ var $ = I.cloneNode(!0);
6152
6172
  $.style.height = c.height, $.style.maxWidth = c.width, _($, "ginlined-content"), h = $;
6153
6173
  }
6154
6174
  if (!h) return console.error("Unable to append inline slide content", c), !1;
6155
- g.style.height = c.height, g.style.width = c.width, g.appendChild(h), this.events["inlineclose" + y] = w("click", { onElement: g.querySelectorAll(".gtrigger-close"), withCallback: function(O) {
6156
- O.preventDefault(), m.close();
6175
+ g.style.height = c.height, g.style.width = c.width, g.appendChild(h), this.events["inlineclose" + y] = w("click", { onElement: g.querySelectorAll(".gtrigger-close"), withCallback: function(B) {
6176
+ B.preventDefault(), m.close();
6157
6177
  } }), F(d) && d();
6158
6178
  }
6159
6179
  function Si(n, c, l, d) {
6160
6180
  var h = n.querySelector(".gslide-media"), m = (function(g) {
6161
- var y = g.url, A = g.allow, S = g.callback, T = g.appendTo, $ = document.createElement("iframe");
6181
+ var y = g.url, A = g.allow, S = g.callback, I = g.appendTo, $ = document.createElement("iframe");
6162
6182
  return $.className = "vimeo-video gvideo", $.src = y, $.style.width = "100%", $.style.height = "100%", A && $.setAttribute("allow", A), $.onload = function() {
6163
6183
  $.onload = null, _($, "node-ready"), F(S) && S();
6164
- }, T && T.appendChild($), $;
6184
+ }, I && I.appendChild($), $;
6165
6185
  })({ url: c.href, callback: d });
6166
6186
  h.parentNode.style.maxWidth = c.width, h.parentNode.style.height = c.height, h.appendChild(m);
6167
6187
  }
@@ -6193,11 +6213,11 @@ function Js() {
6193
6213
  be(S) || S === "" || (d.title = S);
6194
6214
  }
6195
6215
  } else {
6196
- var T = [];
6216
+ var I = [];
6197
6217
  v(d, (function(q, D) {
6198
- T.push(";\\s?" + D);
6199
- })), T = T.join("\\s?:|"), g.trim() !== "" && v(d, (function(q, D) {
6200
- var ee = g, ge = new RegExp("s?" + D + "s?:s?(.*?)(" + T + "s?:|$)"), ue = ee.match(ge);
6218
+ I.push(";\\s?" + D);
6219
+ })), I = I.join("\\s?:|"), g.trim() !== "" && v(d, (function(q, D) {
6220
+ var ee = g, me = new RegExp("s?" + D + "s?:s?(.*?)(" + I + "s?:|$)"), ue = ee.match(me);
6201
6221
  if (ue && ue.length && ue[1]) {
6202
6222
  var Le = ue[1].trim().replace(/;\s*$/, "");
6203
6223
  d[D] = l.sanitizeValue(Le);
@@ -6214,8 +6234,8 @@ function Js() {
6214
6234
  $ && (d.description = $);
6215
6235
  }
6216
6236
  if (!d.description) {
6217
- var O = n.querySelector(".glightbox-desc");
6218
- O && (d.description = O.innerHTML);
6237
+ var B = n.querySelector(".glightbox-desc");
6238
+ B && (d.description = B.innerHTML);
6219
6239
  }
6220
6240
  return this.setSize(d, c, n), this.slideConfig = d, d;
6221
6241
  } }, { key: "setSize", value: function(n, c) {
@@ -6229,21 +6249,21 @@ function Js() {
6229
6249
  t(this, n), this.element = c, this.instance = l, this.index = d;
6230
6250
  }), [{ key: "setContent", value: function() {
6231
6251
  var n = this, c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, l = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
6232
- if (I(c, "loaded")) return !1;
6233
- var d = this.instance.settings, h = this.slideConfig, m = pe();
6252
+ if (E(c, "loaded")) return !1;
6253
+ var d = this.instance.settings, h = this.slideConfig, m = ge();
6234
6254
  F(d.beforeSlideLoad) && d.beforeSlideLoad({ index: this.index, slide: c, player: !1 });
6235
- var g = h.type, y = h.descPosition, A = c.querySelector(".gslide-media"), S = c.querySelector(".gslide-title"), T = c.querySelector(".gslide-desc"), $ = c.querySelector(".gdesc-inner"), O = l, q = "gSlideTitle_" + this.index, D = "gSlideDesc_" + this.index;
6236
- if (F(d.afterSlideLoad) && (O = function() {
6255
+ var g = h.type, y = h.descPosition, A = c.querySelector(".gslide-media"), S = c.querySelector(".gslide-title"), I = c.querySelector(".gslide-desc"), $ = c.querySelector(".gdesc-inner"), B = l, q = "gSlideTitle_" + this.index, D = "gSlideDesc_" + this.index;
6256
+ if (F(d.afterSlideLoad) && (B = function() {
6237
6257
  F(l) && l(), d.afterSlideLoad({ index: n.index, slide: c, player: n.instance.getSlidePlayerInstance(n.index) });
6238
- }), h.title == "" && h.description == "" ? $ && $.parentNode.parentNode.removeChild($.parentNode) : (S && h.title !== "" ? (S.id = q, S.innerHTML = h.title) : S.parentNode.removeChild(S), T && h.description !== "" ? (T.id = D, m && d.moreLength > 0 ? (h.smallDescription = this.slideShortDesc(h.description, d.moreLength, d.moreText), T.innerHTML = h.smallDescription, this.descriptionEvents(T, h)) : T.innerHTML = h.description) : T.parentNode.removeChild(T), _(A.parentNode, "desc-".concat(y)), _($.parentNode, "description-".concat(y))), _(A, "gslide-".concat(g)), _(c, "loaded"), g !== "video") {
6239
- if (g !== "external") return g === "inline" ? (_i.apply(this.instance, [c, h, this.index, O]), void (h.draggable && new pa({ dragEl: c.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: this.instance }))) : void (g !== "image" ? F(O) && O() : xi(c, h, this.index, (function() {
6258
+ }), h.title == "" && h.description == "" ? $ && $.parentNode.parentNode.removeChild($.parentNode) : (S && h.title !== "" ? (S.id = q, S.innerHTML = h.title) : S.parentNode.removeChild(S), I && h.description !== "" ? (I.id = D, m && d.moreLength > 0 ? (h.smallDescription = this.slideShortDesc(h.description, d.moreLength, d.moreText), I.innerHTML = h.smallDescription, this.descriptionEvents(I, h)) : I.innerHTML = h.description) : I.parentNode.removeChild(I), _(A.parentNode, "desc-".concat(y)), _($.parentNode, "description-".concat(y))), _(A, "gslide-".concat(g)), _(c, "loaded"), g !== "video") {
6259
+ if (g !== "external") return g === "inline" ? (_i.apply(this.instance, [c, h, this.index, B]), void (h.draggable && new pa({ dragEl: c.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: this.instance }))) : void (g !== "image" ? F(B) && B() : xi(c, h, this.index, (function() {
6240
6260
  var ee = c.querySelector("img");
6241
6261
  h.draggable && new pa({ dragEl: ee, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: n.instance }), h.zoomable && ee.naturalWidth > ee.offsetWidth && (_(ee, "zoomable"), new wi(ee, c, (function() {
6242
6262
  n.instance.resize();
6243
- }))), F(O) && O();
6263
+ }))), F(B) && B();
6244
6264
  })));
6245
- Si.apply(this, [c, h, this.index, O]);
6246
- } else ki.apply(this.instance, [c, h, this.index, O]);
6265
+ Si.apply(this, [c, h, this.index, B]);
6266
+ } else ki.apply(this.instance, [c, h, this.index, B]);
6247
6267
  } }, { key: "slideShortDesc", value: function(n) {
6248
6268
  var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 50, l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2], d = document.createElement("div");
6249
6269
  d.innerHTML = n;
@@ -6259,14 +6279,14 @@ function Js() {
6259
6279
  var g = document.body, y = M(m, ".gslide-desc");
6260
6280
  if (!y) return !1;
6261
6281
  y.innerHTML = c.description, _(g, "gdesc-open");
6262
- var A = w("click", { onElement: [g, M(y, ".gslide-description")], withCallback: function(S, T) {
6282
+ var A = w("click", { onElement: [g, M(y, ".gslide-description")], withCallback: function(S, I) {
6263
6283
  S.target.nodeName.toLowerCase() !== "a" && (P(g, "gdesc-open"), _(g, "gdesc-closed"), y.innerHTML = c.smallDescription, l.descriptionEvents(y, c), setTimeout((function() {
6264
6284
  P(g, "gdesc-closed");
6265
6285
  }), 400), A.destroy());
6266
6286
  } });
6267
6287
  } });
6268
6288
  } }, { key: "create", value: function() {
6269
- return G(this.instance.settings.slideHTML);
6289
+ return X(this.instance.settings.slideHTML);
6270
6290
  } }, { key: "getConfig", value: function() {
6271
6291
  V(this.element) || this.element.hasOwnProperty("draggable") || (this.element.draggable = this.instance.settings.draggable);
6272
6292
  var n = new Ci(this.instance.settings.slideExtraAttributes);
@@ -6369,38 +6389,38 @@ function Js() {
6369
6389
  } }, { key: "destroy", value: function() {
6370
6390
  return this.singleTapTimeout && clearTimeout(this.singleTapTimeout), this.tapTimeout && clearTimeout(this.tapTimeout), this.longTapTimeout && clearTimeout(this.longTapTimeout), this.swipeTimeout && clearTimeout(this.swipeTimeout), this.element.removeEventListener("touchstart", this.start), this.element.removeEventListener("touchmove", this.move), this.element.removeEventListener("touchend", this.end), this.element.removeEventListener("touchcancel", this.cancel), this.rotate.del(), this.touchStart.del(), this.multipointStart.del(), this.multipointEnd.del(), this.pinch.del(), this.swipe.del(), this.tap.del(), this.doubleTap.del(), this.longTap.del(), this.singleTap.del(), this.pressMove.del(), this.twoFingerPressMove.del(), this.touchMove.del(), this.touchEnd.del(), this.touchCancel.del(), this.preV = this.pinchStartLen = this.zoom = this.isDoubleTap = this.delta = this.last = this.now = this.tapTimeout = this.singleTapTimeout = this.longTapTimeout = this.swipeTimeout = this.x1 = this.x2 = this.y1 = this.y2 = this.preTapPosition = this.rotate = this.touchStart = this.multipointStart = this.multipointEnd = this.pinch = this.swipe = this.tap = this.doubleTap = this.longTap = this.singleTap = this.pressMove = this.touchMove = this.touchEnd = this.touchCancel = this.twoFingerPressMove = null, window.removeEventListener("scroll", this._cancelAllHandler), null;
6371
6391
  } }]);
6372
- function Vt(n) {
6392
+ function Nt(n) {
6373
6393
  var c = (function() {
6374
6394
  var g, y = document.createElement("fakeelement"), A = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
6375
6395
  for (g in A) if (y.style[g] !== void 0) return A[g];
6376
- })(), l = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, d = I(n, "gslide-media") ? n : n.querySelector(".gslide-media"), h = M(d, ".ginner-container"), m = n.querySelector(".gslide-description");
6396
+ })(), l = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, d = E(n, "gslide-media") ? n : n.querySelector(".gslide-media"), h = M(d, ".ginner-container"), m = n.querySelector(".gslide-description");
6377
6397
  l > 769 && (d = h), _(d, "greset"), C(d, "translate3d(0, 0, 0)"), w(c, { onElement: d, once: !0, withCallback: function(g, y) {
6378
6398
  P(d, "greset");
6379
6399
  } }), d.style.opacity = "", m && (m.style.opacity = "");
6380
6400
  }
6381
6401
  function Ii(n) {
6382
6402
  if (n.events.hasOwnProperty("touch")) return !1;
6383
- var c, l, d, h = te(), m = h.width, g = h.height, y = !1, A = null, S = null, T = null, $ = !1, O = 1, q = 1, D = !1, ee = !1, ge = null, ue = null, Le = null, oe = null, Re = 0, ze = 0, ht = !1, rt = !1, _e = {}, Se = {}, wa = 0, xa = 0, Pi = document.getElementById("glightbox-slider"), St = document.querySelector(".goverlay"), Li = new Ti(Pi, { touchStart: function(X) {
6384
- if (y = !0, (I(X.targetTouches[0].target, "ginner-container") || M(X.targetTouches[0].target, ".gslide-desc") || X.targetTouches[0].target.nodeName.toLowerCase() == "a") && (y = !1), M(X.targetTouches[0].target, ".gslide-inline") && !I(X.targetTouches[0].target.parentNode, "gslide-inline") && (y = !1), y) {
6385
- if (Se = X.targetTouches[0], _e.pageX = X.targetTouches[0].pageX, _e.pageY = X.targetTouches[0].pageY, wa = X.targetTouches[0].clientX, xa = X.targetTouches[0].clientY, A = n.activeSlide, S = A.querySelector(".gslide-media"), d = A.querySelector(".gslide-inline"), T = null, I(S, "gslide-image") && (T = S.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (S = A.querySelector(".ginner-container")), P(St, "greset"), X.pageX > 20 && X.pageX < window.innerWidth - 20) return;
6386
- X.preventDefault();
6403
+ var c, l, d, h = te(), m = h.width, g = h.height, y = !1, A = null, S = null, I = null, $ = !1, B = 1, q = 1, D = !1, ee = !1, me = null, ue = null, Le = null, oe = null, Re = 0, ze = 0, ht = !1, rt = !1, _e = {}, Se = {}, wa = 0, xa = 0, Pi = document.getElementById("glightbox-slider"), St = document.querySelector(".goverlay"), Li = new Ti(Pi, { touchStart: function(Y) {
6404
+ if (y = !0, (E(Y.targetTouches[0].target, "ginner-container") || M(Y.targetTouches[0].target, ".gslide-desc") || Y.targetTouches[0].target.nodeName.toLowerCase() == "a") && (y = !1), M(Y.targetTouches[0].target, ".gslide-inline") && !E(Y.targetTouches[0].target.parentNode, "gslide-inline") && (y = !1), y) {
6405
+ if (Se = Y.targetTouches[0], _e.pageX = Y.targetTouches[0].pageX, _e.pageY = Y.targetTouches[0].pageY, wa = Y.targetTouches[0].clientX, xa = Y.targetTouches[0].clientY, A = n.activeSlide, S = A.querySelector(".gslide-media"), d = A.querySelector(".gslide-inline"), I = null, E(S, "gslide-image") && (I = S.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (S = A.querySelector(".ginner-container")), P(St, "greset"), Y.pageX > 20 && Y.pageX < window.innerWidth - 20) return;
6406
+ Y.preventDefault();
6387
6407
  }
6388
- }, touchMove: function(X) {
6389
- if (y && (Se = X.targetTouches[0], !D && !ee)) {
6408
+ }, touchMove: function(Y) {
6409
+ if (y && (Se = Y.targetTouches[0], !D && !ee)) {
6390
6410
  if (d && d.offsetHeight > g) {
6391
6411
  var de = _e.pageX - Se.pageX;
6392
6412
  if (Math.abs(de) <= 13) return !1;
6393
6413
  }
6394
6414
  $ = !0;
6395
- var Ue, Ct = X.targetTouches[0].clientX, Ri = X.targetTouches[0].clientY, zi = wa - Ct, Bi = xa - Ri;
6396
- if (Math.abs(zi) > Math.abs(Bi) ? (ht = !1, rt = !0) : (rt = !1, ht = !0), c = Se.pageX - _e.pageX, Re = 100 * c / m, l = Se.pageY - _e.pageY, ze = 100 * l / g, ht && T && (Ue = 1 - Math.abs(l) / g, St.style.opacity = Ue, n.settings.touchFollowAxis && (Re = 0)), rt && (Ue = 1 - Math.abs(c) / m, S.style.opacity = Ue, n.settings.touchFollowAxis && (ze = 0)), !T) return C(S, "translate3d(".concat(Re, "%, 0, 0)"));
6415
+ var Ne, Ct = Y.targetTouches[0].clientX, Ri = Y.targetTouches[0].clientY, zi = wa - Ct, Oi = xa - Ri;
6416
+ if (Math.abs(zi) > Math.abs(Oi) ? (ht = !1, rt = !0) : (rt = !1, ht = !0), c = Se.pageX - _e.pageX, Re = 100 * c / m, l = Se.pageY - _e.pageY, ze = 100 * l / g, ht && I && (Ne = 1 - Math.abs(l) / g, St.style.opacity = Ne, n.settings.touchFollowAxis && (Re = 0)), rt && (Ne = 1 - Math.abs(c) / m, S.style.opacity = Ne, n.settings.touchFollowAxis && (ze = 0)), !I) return C(S, "translate3d(".concat(Re, "%, 0, 0)"));
6397
6417
  C(S, "translate3d(".concat(Re, "%, ").concat(ze, "%, 0)"));
6398
6418
  }
6399
6419
  }, touchEnd: function() {
6400
6420
  if (y) {
6401
- if ($ = !1, ee || D) return Le = ge, void (oe = ue);
6402
- var X = Math.abs(parseInt(ze)), de = Math.abs(parseInt(Re));
6403
- if (!(X > 29 && T)) return X < 29 && de < 25 ? (_(St, "greset"), St.style.opacity = 1, Vt(S)) : void 0;
6421
+ if ($ = !1, ee || D) return Le = me, void (oe = ue);
6422
+ var Y = Math.abs(parseInt(ze)), de = Math.abs(parseInt(Re));
6423
+ if (!(Y > 29 && I)) return Y < 29 && de < 25 ? (_(St, "greset"), St.style.opacity = 1, Nt(S)) : void 0;
6404
6424
  n.close();
6405
6425
  }
6406
6426
  }, multipointEnd: function() {
@@ -6408,36 +6428,36 @@ function Js() {
6408
6428
  D = !1;
6409
6429
  }), 50);
6410
6430
  }, multipointStart: function() {
6411
- D = !0, O = q || 1;
6412
- }, pinch: function(X) {
6413
- if (!T || $) return !1;
6414
- D = !0, T.scaleX = T.scaleY = O * X.zoom;
6415
- var de = O * X.zoom;
6416
- if (ee = !0, de <= 1) return ee = !1, de = 1, oe = null, Le = null, ge = null, ue = null, void T.setAttribute("style", "");
6417
- de > 4.5 && (de = 4.5), T.style.transform = "scale3d(".concat(de, ", ").concat(de, ", 1)"), q = de;
6418
- }, pressMove: function(X) {
6431
+ D = !0, B = q || 1;
6432
+ }, pinch: function(Y) {
6433
+ if (!I || $) return !1;
6434
+ D = !0, I.scaleX = I.scaleY = B * Y.zoom;
6435
+ var de = B * Y.zoom;
6436
+ if (ee = !0, de <= 1) return ee = !1, de = 1, oe = null, Le = null, me = null, ue = null, void I.setAttribute("style", "");
6437
+ de > 4.5 && (de = 4.5), I.style.transform = "scale3d(".concat(de, ", ").concat(de, ", 1)"), q = de;
6438
+ }, pressMove: function(Y) {
6419
6439
  if (ee && !D) {
6420
- var de = Se.pageX - _e.pageX, Ue = Se.pageY - _e.pageY;
6421
- Le && (de += Le), oe && (Ue += oe), ge = de, ue = Ue;
6422
- var Ct = "translate3d(".concat(de, "px, ").concat(Ue, "px, 0)");
6423
- q && (Ct += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(T, Ct);
6440
+ var de = Se.pageX - _e.pageX, Ne = Se.pageY - _e.pageY;
6441
+ Le && (de += Le), oe && (Ne += oe), me = de, ue = Ne;
6442
+ var Ct = "translate3d(".concat(de, "px, ").concat(Ne, "px, 0)");
6443
+ q && (Ct += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(I, Ct);
6424
6444
  }
6425
- }, swipe: function(X) {
6445
+ }, swipe: function(Y) {
6426
6446
  if (!ee) if (D) D = !1;
6427
6447
  else {
6428
- if (X.direction == "Left") {
6429
- if (n.index == n.elements.length - 1) return Vt(S);
6448
+ if (Y.direction == "Left") {
6449
+ if (n.index == n.elements.length - 1) return Nt(S);
6430
6450
  n.nextSlide();
6431
6451
  }
6432
- if (X.direction == "Right") {
6433
- if (n.index == 0) return Vt(S);
6452
+ if (Y.direction == "Right") {
6453
+ if (n.index == 0) return Nt(S);
6434
6454
  n.prevSlide();
6435
6455
  }
6436
6456
  }
6437
6457
  } });
6438
6458
  n.events.touch = Li;
6439
6459
  }
6440
- var ma = pe(), ya = pe() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, va = document.getElementsByTagName("html")[0], Ei = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: !0, startAt: null, autoplayVideos: !0, autofocusVideos: !0, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: !1, zoomable: !0, draggable: !0, dragAutoSnap: !1, dragToleranceX: 40, dragToleranceY: 65, preload: !0, oneSlidePerOpen: !1, touchNavigation: !0, touchFollowAxis: !0, keyboardNavigation: !0, closeOnOutsideClick: !0, plugins: !1, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:9", fullscreen: { enabled: !0, iosNative: !0 }, youtube: { noCookie: !0, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: !1, portrait: !1, title: !1, transparent: !1 } } }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" } }, svg: { close: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>', next: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>', prev: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>' }, slideHTML: `<div class="gslide">
6460
+ var ma = ge(), ya = ge() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, va = document.getElementsByTagName("html")[0], Ei = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: !0, startAt: null, autoplayVideos: !0, autofocusVideos: !0, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: !1, zoomable: !0, draggable: !0, dragAutoSnap: !1, dragToleranceX: 40, dragToleranceY: 65, preload: !0, oneSlidePerOpen: !1, touchNavigation: !0, touchFollowAxis: !0, keyboardNavigation: !0, closeOnOutsideClick: !0, plugins: !1, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:9", fullscreen: { enabled: !0, iosNative: !0 }, youtube: { noCookie: !0, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: !1, portrait: !1, title: !1, transparent: !1 } } }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" } }, svg: { close: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>', next: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>', prev: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>' }, slideHTML: `<div class="gslide">
6441
6461
  <div class="gslide-inner-content">
6442
6462
  <div class="ginner-container">
6443
6463
  <div class="gslide-media">
@@ -6488,24 +6508,24 @@ function Js() {
6488
6508
  this.open(null, n);
6489
6509
  } }, { key: "showSlide", value: function() {
6490
6510
  var n = this, c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, l = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
6491
- Z(this.loader), this.index = parseInt(c);
6511
+ K(this.loader), this.index = parseInt(c);
6492
6512
  var d = this.slidesContainer.querySelector(".current");
6493
6513
  d && P(d, "current"), this.slideAnimateOut();
6494
6514
  var h = this.slidesContainer.querySelectorAll(".gslide")[c];
6495
- if (I(h, "loaded")) this.slideAnimateIn(h, l), N(this.loader);
6515
+ if (E(h, "loaded")) this.slideAnimateIn(h, l), U(this.loader);
6496
6516
  else {
6497
- Z(this.loader);
6517
+ K(this.loader);
6498
6518
  var m = this.elements[c], g = { index: this.index, slide: h, slideNode: h, slideConfig: m.slideConfig, slideIndex: this.index, trigger: m.node, player: null };
6499
6519
  this.trigger("slide_before_load", g), m.instance.setContent(h, (function() {
6500
- N(n.loader), n.resize(), n.slideAnimateIn(h, l), n.trigger("slide_after_load", g);
6520
+ U(n.loader), n.resize(), n.slideAnimateIn(h, l), n.trigger("slide_after_load", g);
6501
6521
  }));
6502
6522
  }
6503
- this.slideDescription = h.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && I(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(c + 1), this.preloadSlide(c - 1)), this.updateNavigationClasses(), this.activeSlide = h;
6523
+ this.slideDescription = h.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && E(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(c + 1), this.preloadSlide(c - 1)), this.updateNavigationClasses(), this.activeSlide = h;
6504
6524
  } }, { key: "preloadSlide", value: function(n) {
6505
6525
  var c = this;
6506
6526
  if (n < 0 || n > this.elements.length - 1 || be(this.elements[n])) return !1;
6507
6527
  var l = this.slidesContainer.querySelectorAll(".gslide")[n];
6508
- if (I(l, "loaded")) return !1;
6528
+ if (E(l, "loaded")) return !1;
6509
6529
  var d = this.elements[n], h = d.type, m = { index: n, slide: l, slideNode: l, slideConfig: d.slideConfig, slideIndex: n, trigger: d.node, player: null };
6510
6530
  this.trigger("slide_before_load", m), h === "video" || h === "external" ? setTimeout((function() {
6511
6531
  d.instance.setContent(l, (function() {
@@ -6544,7 +6564,7 @@ function Js() {
6544
6564
  c && (this.getActiveSlideIndex() == n && (n == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), c.parentNode.removeChild(c)), this.elements.splice(n, 1), this.trigger("slide_removed", n), F(this.settings.slideRemoved) && this.settings.slideRemoved(n);
6545
6565
  } }, { key: "slideAnimateIn", value: function(n, c) {
6546
6566
  var l = this, d = n.querySelector(".gslide-media"), h = n.querySelector(".gslide-description"), m = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: be(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: be(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, g = { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideConfig: this.elements[this.index].slideConfig, slideIndex: this.index, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) };
6547
- if (d.offsetWidth > 0 && h && (N(h), h.style.display = ""), P(n, this.effectsClasses), c) L(n, this.settings.cssEfects[this.settings.openEffect].in, (function() {
6567
+ if (d.offsetWidth > 0 && h && (U(h), h.style.display = ""), P(n, this.effectsClasses), c) L(n, this.settings.cssEfects[this.settings.openEffect].in, (function() {
6548
6568
  l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), F(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
6549
6569
  }));
6550
6570
  else {
@@ -6611,7 +6631,7 @@ function Js() {
6611
6631
  var m = new kt(d, c, h), g = m.getConfig(), y = p({}, g);
6612
6632
  y.slideConfig = g, y.instance = m, y.index = h, l.push(y);
6613
6633
  })), this.elements = l, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (v(this.elements, (function() {
6614
- var d = G(c.settings.slideHTML);
6634
+ var d = X(c.settings.slideHTML);
6615
6635
  c.slidesContainer.appendChild(d);
6616
6636
  })), this.showSlide(0, !0)));
6617
6637
  } }, { key: "getElementIndex", value: function(n) {
@@ -6655,41 +6675,41 @@ function Js() {
6655
6675
  S.parentNode == document.body && S.nodeName.charAt(0) !== "#" && S.hasAttribute && !S.hasAttribute("aria-hidden") && (l.push(S), S.setAttribute("aria-hidden", "true"));
6656
6676
  }));
6657
6677
  var d = ie(this.settings.svg, "next") ? this.settings.svg.next : "", h = ie(this.settings.svg, "prev") ? this.settings.svg.prev : "", m = ie(this.settings.svg, "close") ? this.settings.svg.close : "", g = this.settings.lightboxHTML;
6658
- g = G(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, h)).replace(/{closeSVG}/g, m)), document.body.appendChild(g);
6678
+ g = X(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, h)).replace(/{closeSVG}/g, m)), document.body.appendChild(g);
6659
6679
  var y = document.getElementById("glightbox-body");
6660
6680
  this.modal = y;
6661
6681
  var A = y.querySelector(".gclose");
6662
- this.prevButton = y.querySelector(".gprev"), this.nextButton = y.querySelector(".gnext"), this.overlay = y.querySelector(".goverlay"), this.loader = y.querySelector(".gloader"), this.slidesContainer = document.getElementById("glightbox-slider"), this.bodyHiddenChildElms = l, this.events = {}, _(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && A && (this.events.close = w("click", { onElement: A, withCallback: function(S, T) {
6682
+ this.prevButton = y.querySelector(".gprev"), this.nextButton = y.querySelector(".gnext"), this.overlay = y.querySelector(".goverlay"), this.loader = y.querySelector(".gloader"), this.slidesContainer = document.getElementById("glightbox-slider"), this.bodyHiddenChildElms = l, this.events = {}, _(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && A && (this.events.close = w("click", { onElement: A, withCallback: function(S, I) {
6663
6683
  S.preventDefault(), n.close();
6664
- } })), A && !this.settings.closeButton && A.parentNode.removeChild(A), this.nextButton && (this.events.next = w("click", { onElement: this.nextButton, withCallback: function(S, T) {
6684
+ } })), A && !this.settings.closeButton && A.parentNode.removeChild(A), this.nextButton && (this.events.next = w("click", { onElement: this.nextButton, withCallback: function(S, I) {
6665
6685
  S.preventDefault(), n.nextSlide();
6666
- } })), this.prevButton && (this.events.prev = w("click", { onElement: this.prevButton, withCallback: function(S, T) {
6686
+ } })), this.prevButton && (this.events.prev = w("click", { onElement: this.prevButton, withCallback: function(S, I) {
6667
6687
  S.preventDefault(), n.prevSlide();
6668
- } })), this.settings.closeOnOutsideClick && (this.events.outClose = w("click", { onElement: y, withCallback: function(S, T) {
6669
- n.preventOutsideClick || I(document.body, "glightbox-mobile") || M(S.target, ".ginner-container") || M(S.target, ".gbtn") || I(S.target, "gnext") || I(S.target, "gprev") || n.close();
6670
- } })), v(this.elements, (function(S, T) {
6671
- n.slidesContainer.appendChild(S.instance.create()), S.slideNode = n.slidesContainer.querySelectorAll(".gslide")[T];
6688
+ } })), this.settings.closeOnOutsideClick && (this.events.outClose = w("click", { onElement: y, withCallback: function(S, I) {
6689
+ n.preventOutsideClick || E(document.body, "glightbox-mobile") || M(S.target, ".ginner-container") || M(S.target, ".gbtn") || E(S.target, "gnext") || E(S.target, "gprev") || n.close();
6690
+ } })), v(this.elements, (function(S, I) {
6691
+ n.slidesContainer.appendChild(S.instance.create()), S.slideNode = n.slidesContainer.querySelectorAll(".gslide")[I];
6672
6692
  })), ya && _(document.body, "glightbox-touch"), this.events.resize = w("resize", { onElement: window, withCallback: function() {
6673
6693
  n.resize();
6674
6694
  } }), this.built = !0;
6675
6695
  } }, { key: "resize", value: function() {
6676
6696
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
6677
- if ((n = n || this.activeSlide) && !I(n, "zoomed")) {
6697
+ if ((n = n || this.activeSlide) && !E(n, "zoomed")) {
6678
6698
  var c = te(), l = n.querySelector(".gvideo-wrapper"), d = n.querySelector(".gslide-image"), h = this.slideDescription, m = c.width, g = c.height;
6679
6699
  if (m <= 768 ? _(document.body, "glightbox-mobile") : P(document.body, "glightbox-mobile"), l || d) {
6680
6700
  var y = !1;
6681
- if (h && (I(h, "description-bottom") || I(h, "description-top")) && !I(h, "gabsolute") && (y = !0), d) {
6701
+ if (h && (E(h, "description-bottom") || E(h, "description-top")) && !E(h, "gabsolute") && (y = !0), d) {
6682
6702
  if (m <= 768) d.querySelector("img");
6683
6703
  else if (y) {
6684
- var A, S, T = h.offsetHeight, $ = d.querySelector("img"), O = (A = this.elements[this.index]) === null || A === void 0 ? void 0 : A.node, q = "100vh";
6685
- O && (q = (S = O.getAttribute("data-height")) !== null && S !== void 0 ? S : q), $.setAttribute("style", "max-height: calc(".concat(q, " - ").concat(T, "px)")), h.setAttribute("style", "max-width: ".concat($.offsetWidth, "px;"));
6704
+ var A, S, I = h.offsetHeight, $ = d.querySelector("img"), B = (A = this.elements[this.index]) === null || A === void 0 ? void 0 : A.node, q = "100vh";
6705
+ B && (q = (S = B.getAttribute("data-height")) !== null && S !== void 0 ? S : q), $.setAttribute("style", "max-height: calc(".concat(q, " - ").concat(I, "px)")), h.setAttribute("style", "max-width: ".concat($.offsetWidth, "px;"));
6686
6706
  }
6687
6707
  }
6688
6708
  if (l) {
6689
6709
  var D = ie(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : "";
6690
6710
  if (!D) {
6691
- var ee = l.clientWidth, ge = l.clientHeight, ue = ee / ge;
6692
- D = "".concat(ee / ue, ":").concat(ge / ue);
6711
+ var ee = l.clientWidth, me = l.clientHeight, ue = ee / me;
6712
+ D = "".concat(ee / ue, ":").concat(me / ue);
6693
6713
  }
6694
6714
  var Le = D.split(":"), oe = this.settings.videosWidth, Re = this.settings.videosWidth, ze = (Re = xt(oe) || oe.indexOf("px") !== -1 ? parseInt(oe) : oe.indexOf("vw") !== -1 ? m * parseInt(oe) / 100 : oe.indexOf("vh") !== -1 ? g * parseInt(oe) / 100 : oe.indexOf("%") !== -1 ? m * parseInt(oe) / 100 : parseInt(l.clientWidth)) / (parseInt(Le[0]) / parseInt(Le[1]));
6695
6715
  if (ze = Math.floor(ze), y && (g -= h.offsetHeight), Re > m || ze > g || g < ze && m > Re) {
@@ -6755,21 +6775,21 @@ function Js() {
6755
6775
  return c.init(), c;
6756
6776
  };
6757
6777
  }));
6758
- })(Lt)), Lt.exports;
6778
+ })(Rt)), Rt.exports;
6759
6779
  }
6760
- var Ks = Js();
6761
- const Zs = /* @__PURE__ */ Na(Ks);
6780
+ var Zs = Js();
6781
+ const Ks = /* @__PURE__ */ Ua(Zs);
6762
6782
  var Qs = Object.getOwnPropertyDescriptor, en = (a, e, t, i) => {
6763
6783
  for (var s = i > 1 ? void 0 : i ? Qs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6764
6784
  (o = a[r]) && (s = o(s) || s);
6765
6785
  return s;
6766
6786
  };
6767
- let Kt = class extends Fe {
6787
+ let Zt = class extends Fe {
6768
6788
  render() {
6769
6789
  return u` <div class="cb-thinking"><span></span><span></span><span></span></div>`;
6770
6790
  }
6771
6791
  };
6772
- Kt.styles = J`
6792
+ Zt.styles = J`
6773
6793
  .cb-thinking {
6774
6794
  text-align: center;
6775
6795
  }
@@ -6807,15 +6827,15 @@ Kt.styles = J`
6807
6827
  }
6808
6828
  }
6809
6829
  `;
6810
- Kt = en([
6811
- K("cb-thinking")
6812
- ], Kt);
6830
+ Zt = en([
6831
+ Z("cb-thinking")
6832
+ ], Zt);
6813
6833
  var tn = Object.defineProperty, an = Object.getOwnPropertyDescriptor, ei = (a, e, t, i) => {
6814
6834
  for (var s = i > 1 ? void 0 : i ? an(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6815
6835
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
6816
6836
  return i && s && tn(e, t, s), s;
6817
6837
  };
6818
- let Ot = class extends re {
6838
+ let qt = class extends re {
6819
6839
  constructor() {
6820
6840
  super(...arguments), this.files = [];
6821
6841
  }
@@ -6831,7 +6851,7 @@ let Ot = class extends re {
6831
6851
  </div>`;
6832
6852
  }
6833
6853
  };
6834
- Ot.styles = J`
6854
+ qt.styles = J`
6835
6855
  .cb-uploading {
6836
6856
  text-align: left;
6837
6857
  }
@@ -6851,10 +6871,10 @@ Ot.styles = J`
6851
6871
  `;
6852
6872
  ei([
6853
6873
  x({ type: Array })
6854
- ], Ot.prototype, "files", 2);
6855
- Ot = ei([
6856
- K("cb-uploading")
6857
- ], Ot);
6874
+ ], qt.prototype, "files", 2);
6875
+ qt = ei([
6876
+ Z("cb-uploading")
6877
+ ], qt);
6858
6878
  const sn = J`
6859
6879
  ${ke}
6860
6880
  :host {
@@ -6933,7 +6953,7 @@ oa([
6933
6953
  x({ type: Boolean })
6934
6954
  ], mt.prototype, "inverse", 2);
6935
6955
  mt = oa([
6936
- K("cb-external-link")
6956
+ Z("cb-external-link")
6937
6957
  ], mt);
6938
6958
  const on = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-2v-1h2a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337zm4.689-3.999h-.894L4.9 13.289h-.035l-.832-1.439h-.932l1.228 1.983l-1.24 2.016h.862l.853-1.415h.035l.85 1.415h.907l-1.253-1.992zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', cn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m1.217-1.333v3.999h1.46q.602 0 .998-.237a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.589-.68q-.396-.234-1.005-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082h-.563zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638z"/></svg>', ln = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2H9v-1h3a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM.706 13.189v2.66H0V11.85h.806l1.14 2.596h.026l1.14-2.596h.8v3.999h-.716v-2.66h-.038l-.946 2.159h-.516l-.952-2.16H.706Zm3.919 2.66V11.85h1.459q.609 0 1.005.234t.589.68q.195.445.196 1.075q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562q.279 0 .484-.082a.8.8 0 0 0 .334-.252a1.1 1.1 0 0 0 .196-.422q.067-.252.067-.592a2.1 2.1 0 0 0-.117-.753a.9.9 0 0 0-.354-.454q-.238-.152-.61-.152"/></svg>', dn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM3.517 14.841a1.13 1.13 0 0 0 .401.823q.195.162.478.252q.284.091.665.091q.507 0 .859-.158q.354-.158.539-.44q.187-.284.187-.656q0-.336-.134-.56a1 1 0 0 0-.375-.357a2 2 0 0 0-.566-.21l-.621-.144a1 1 0 0 1-.404-.176a.37.37 0 0 1-.144-.299q0-.234.185-.384q.188-.152.512-.152q.214 0 .37.068a.6.6 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.1 1.1 0 0 0-.2-.566a1.2 1.2 0 0 0-.5-.41a1.8 1.8 0 0 0-.78-.152q-.439 0-.776.15q-.337.149-.527.421q-.19.273-.19.639q0 .302.122.524q.124.223.352.367q.228.143.539.213l.618.144q.31.073.463.193a.39.39 0 0 1 .152.326a.5.5 0 0 1-.085.29a.56.56 0 0 1-.255.193q-.167.07-.413.07q-.175 0-.32-.04a.8.8 0 0 1-.248-.115a.58.58 0 0 1-.255-.384zM.806 13.693q0-.373.102-.633a.87.87 0 0 1 .302-.399a.8.8 0 0 1 .475-.137q.225 0 .398.097a.7.7 0 0 1 .272.26a.85.85 0 0 1 .12.381h.765v-.072a1.33 1.33 0 0 0-.466-.964a1.4 1.4 0 0 0-.489-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.572.632q-.195.41-.196.979v.498q0 .568.193.976q.197.407.572.626q.375.217.914.217q.439 0 .785-.164t.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.8.8 0 0 1-.118.363a.7.7 0 0 1-.272.25a.9.9 0 0 1-.401.087a.85.85 0 0 1-.478-.132a.83.83 0 0 1-.299-.392a1.7 1.7 0 0 1-.102-.627zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879z"/></svg>', fn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2h-1v-1h1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zM1.6 11.85H0v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474a1.4 1.4 0 0 0 .161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H.788V12.48h.66q.327 0 .512.181q.185.183.185.522m2.817-1.333h-1.6v3.999h.791v-1.342h.803q.43 0 .732-.173q.305-.175.463-.474q.162-.302.161-.677q0-.375-.158-.677a1.2 1.2 0 0 0-.46-.477q-.3-.18-.732-.179m.545 1.333a.8.8 0 0 1-.085.38a.57.57 0 0 1-.238.241a.8.8 0 0 1-.375.082H4.15V12.48h.66q.327 0 .512.181q.185.183.185.522m2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662z"/></svg>', hn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V14a2 2 0 0 1-2 2v-1a1 1 0 0 0 1-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-7.839 9.166v.522q0 .384-.117.641a.86.86 0 0 1-.322.387a.9.9 0 0 1-.469.126a.9.9 0 0 1-.471-.126a.87.87 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522q0-.386.117-.641a.87.87 0 0 1 .32-.387a.87.87 0 0 1 .471-.129q.264 0 .469.13a.86.86 0 0 1 .322.386q.117.255.117.641m.803.519v-.513q0-.565-.205-.972a1.46 1.46 0 0 0-.589-.63q-.381-.22-.917-.22q-.533 0-.92.22a1.44 1.44 0 0 0-.589.627q-.204.406-.205.975v.513q0 .563.205.973q.205.406.59.627q.386.216.92.216q.535 0 .916-.216q.383-.22.59-.627q.204-.41.204-.973M0 11.926v4h1.459q.603 0 .999-.238a1.45 1.45 0 0 0 .595-.689q.196-.45.196-1.084q0-.63-.196-1.075a1.43 1.43 0 0 0-.59-.68q-.395-.234-1.004-.234zm.791.645h.563q.371 0 .609.152a.9.9 0 0 1 .354.454q.118.302.118.753a2.3 2.3 0 0 1-.068.592a1.1 1.1 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.3 1.3 0 0 1-.483.082H.79V12.57Zm7.422.483a1.7 1.7 0 0 0-.103.633v.495q0 .369.103.627a.83.83 0 0 0 .298.393a.85.85 0 0 0 .478.131a.9.9 0 0 0 .401-.088a.7.7 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.27 1.27 0 0 1-.226.674q-.205.29-.55.454a1.8 1.8 0 0 1-.786.164q-.54 0-.914-.216a1.4 1.4 0 0 1-.571-.627q-.194-.408-.194-.976v-.498q0-.568.197-.978q.195-.411.571-.633q.378-.223.911-.223q.328 0 .607.097q.28.093.489.272a1.33 1.33 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.8.8 0 0 0-.398-.097a.8.8 0 0 0-.475.138a.87.87 0 0 0-.301.398"/></svg>', bn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" fill-rule="evenodd" d="M14 4.5V11h-1V4.5h-2A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v9H2V2a2 2 0 0 1 2-2h5.5zm-6.839 9.688v-.522a1.5 1.5 0 0 0-.117-.641a.86.86 0 0 0-.322-.387a.86.86 0 0 0-.469-.129a.87.87 0 0 0-.471.13a.87.87 0 0 0-.32.386a1.5 1.5 0 0 0-.117.641v.522q0 .384.117.641a.87.87 0 0 0 .32.387a.9.9 0 0 0 .471.126a.9.9 0 0 0 .469-.126a.86.86 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642m.803-.516v.513q0 .563-.205.973a1.47 1.47 0 0 1-.589.627q-.381.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.46 1.46 0 0 1-.589-.627a2.15 2.15 0 0 1-.205-.973v-.513q0-.569.205-.975q.205-.411.59-.627q.386-.22.92-.22q.535 0 .916.22q.383.219.59.63q.204.406.204.972M1 15.925v-3.999h1.459q.609 0 1.005.235q.396.233.589.68q.196.445.196 1.074q0 .634-.196 1.084q-.197.451-.595.689q-.396.237-.999.237zm1.354-3.354H1.79v2.707h.563q.277 0 .483-.082a.8.8 0 0 0 .334-.252q.132-.17.196-.422a2.3 2.3 0 0 0 .068-.592q0-.45-.118-.753a.9.9 0 0 0-.354-.454q-.237-.152-.61-.152Zm6.756 1.116q0-.373.103-.633a.87.87 0 0 1 .301-.398a.8.8 0 0 1 .475-.138q.225 0 .398.097a.7.7 0 0 1 .273.26a.85.85 0 0 1 .12.381h.765v-.073a1.33 1.33 0 0 0-.466-.964a1.4 1.4 0 0 0-.49-.272a1.8 1.8 0 0 0-.606-.097q-.534 0-.911.223q-.375.222-.571.633q-.197.41-.197.978v.498q0 .568.194.976q.195.406.571.627q.375.216.914.216q.44 0 .785-.164t.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.7.7 0 0 1-.273.248a.9.9 0 0 1-.401.088a.85.85 0 0 1-.478-.131a.83.83 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627zm5.092-1.76h.894l-1.275 2.006l1.254 1.992h-.908l-.85-1.415h-.035l-.852 1.415h-.862l1.24-2.015l-1.228-1.984h.932l.832 1.439h.035z"/></svg>';
6939
6959
  var un = Object.defineProperty, pn = Object.getOwnPropertyDescriptor, ca = (a, e, t, i) => {
@@ -6987,7 +7007,7 @@ ca([
6987
7007
  x({ type: String })
6988
7008
  ], yt.prototype, "url", 2);
6989
7009
  yt = ca([
6990
- K("cb-file")
7010
+ Z("cb-file")
6991
7011
  ], yt);
6992
7012
  const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5m3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0z"/><path d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4zM2.5 3h11V2h-11z"/></g></svg>', La = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M8 8a3 3 0 1 0 0-6a3 3 0 0 0 0 6m2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0m4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4m-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10s-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z"/></svg>', ti = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M5 9v12H1V9zm4 12a2 2 0 0 1-2-2V9c0-.55.22-1.05.59-1.41L14.17 1l1.06 1.06c.27.27.44.64.44 1.05l-.03.32L14.69 8H21a2 2 0 0 1 2 2v2c0 .26-.05.5-.14.73l-3.02 7.05C19.54 20.5 18.83 21 18 21zm0-2h9.03L21 12v-2h-8.79l1.13-5.32L9 9.03z"/></svg>', ai = '<svg viewBox="0 0 24 24" width="1.2em" height="1.2em" ><path fill="currentColor" d="M19 15V3h4v12zM15 3a2 2 0 0 1 2 2v10c0 .55-.22 1.05-.59 1.41L9.83 23l-1.06-1.06c-.27-.27-.44-.64-.44-1.06l.03-.31l.95-4.57H3a2 2 0 0 1-2-2v-2c0-.26.05-.5.14-.73l3.02-7.05C4.46 3.5 5.17 3 6 3zm0 2H5.97L3 12v2h8.78l-1.13 5.32L15 14.97z"/></svg>', mn = J`
6993
7013
  pre code.hljs {
@@ -8281,6 +8301,15 @@ const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
8281
8301
  border-radius: 4px;
8282
8302
  }
8283
8303
 
8304
+ .info-avatar {
8305
+ margin-right: 2px;
8306
+ color: rgba(0, 0, 0, 0.2);
8307
+ }
8308
+
8309
+ .info-avatar img {
8310
+ border-radius: 4px;
8311
+ }
8312
+
8284
8313
  .user-message,
8285
8314
  .assistant-message,
8286
8315
  .system-message {
@@ -8361,7 +8390,7 @@ const gn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
8361
8390
  margin-top: 2px;
8362
8391
  //color: rgba(34, 34, 34, 0.6);
8363
8392
  color: var(--enegelai-bot-message-system-color, rgba(34, 34, 34, 0.6));
8364
- background-color: var(--enegelai-bot-message-system-background, rgba(254, 243, 199, 0.5));
8393
+ //background-color: var(--enegelai-bot-message-system-background, rgba(254, 243, 199, 0.5));
8365
8394
  padding: 4px 12px 6px 12px;
8366
8395
  }
8367
8396
 
@@ -8456,9 +8485,9 @@ function vn() {
8456
8485
  });
8457
8486
  return a.use(Di, { attrs: { target: "_blank", rel: "noopener" } }), a;
8458
8487
  }
8459
- async function Zt(a) {
8488
+ async function Kt(a) {
8460
8489
  const t = vn().render(a);
8461
- return u`${Y(t)}`;
8490
+ return u`${G(t)}`;
8462
8491
  }
8463
8492
  var wn = Object.defineProperty, xn = Object.getOwnPropertyDescriptor, nt = (a, e, t, i) => {
8464
8493
  for (var s = i > 1 ? void 0 : i ? xn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
@@ -8467,7 +8496,7 @@ var wn = Object.defineProperty, xn = Object.getOwnPropertyDescriptor, nt = (a, e
8467
8496
  };
8468
8497
  let De = class extends re {
8469
8498
  constructor() {
8470
- super(...arguments), this.store = new it(this, b), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Zs({
8499
+ super(...arguments), this.store = new it(this, b), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Ks({
8471
8500
  touchNavigation: !0,
8472
8501
  loop: !0,
8473
8502
  autoplayVideos: !0,
@@ -8547,6 +8576,8 @@ let De = class extends re {
8547
8576
  });
8548
8577
  }
8549
8578
  render() {
8579
+ if (this.message?.type === "info")
8580
+ return this.renderInfoMessage(this.message);
8550
8581
  if (this.message?.type === "blocks") {
8551
8582
  const a = this.message?.data?.blocks ?? [];
8552
8583
  return u`<cb-blocks .blocks=${a}></cb-blocks>`;
@@ -8574,6 +8605,30 @@ let De = class extends re {
8574
8605
  </sl-button>
8575
8606
  </div>`;
8576
8607
  }
8608
+ renderInfoMessage(a) {
8609
+ return u`
8610
+ <div class="cb-message cb-bot-message-wrapper" part="cb-message">
8611
+ <div class="avatar info-avatar xsmall" part="info-avatar" style="margin-top:4px;">${this.renderInfoMessageAvatar(a)}</div>
8612
+ <div
8613
+ class="cb-message__content
8614
+ ${a.author}-message
8615
+ message-type-${a.type}"
8616
+ style="display: flex;"
8617
+ part="info-message-content"
8618
+ >
8619
+ <div class="cb-message-text">
8620
+ ${Pt(
8621
+ this._getMessageText(a).then((e) => u`${e}`)
8622
+ )}
8623
+ </div>
8624
+ </div>
8625
+ </div>
8626
+ `;
8627
+ }
8628
+ renderInfoMessageAvatar(a) {
8629
+ const e = a.data?.userAvatar || "";
8630
+ return e !== "" ? u` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(b.setting.infoIconSvg)}`;
8631
+ }
8577
8632
  renderMessage(a, e = "bot-message-content") {
8578
8633
  return u`
8579
8634
  <div
@@ -8589,7 +8644,7 @@ let De = class extends re {
8589
8644
  `;
8590
8645
  }
8591
8646
  async _getMessageText(a) {
8592
- return Zt(a.data.text);
8647
+ return Kt(a.data.text);
8593
8648
  }
8594
8649
  renderMessageContent(a) {
8595
8650
  return a.isThinking ? u`<cb-thinking></cb-thinking>` : a.isUploading ? u`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? u`<div class="cb-message-text">
@@ -8598,7 +8653,7 @@ let De = class extends re {
8598
8653
  () => u`<div class="assistant-message-user-name">${a.data.userName}</div>`,
8599
8654
  () => null
8600
8655
  )}
8601
- ${Xt(
8656
+ ${Pt(
8602
8657
  this._getMessageText(a).then((e) => u`${e}`)
8603
8658
  )}
8604
8659
  </div>` : a.type === "file" ? u`${et(
@@ -8610,8 +8665,8 @@ let De = class extends re {
8610
8665
  (e) => e.name,
8611
8666
  (e) => u`<div>${e.name}</div>`
8612
8667
  )}` : u`<div class="cb-message-text">
8613
- ${Xt(
8614
- Zt(a.data.text?.toString() || "").then((e) => u`${e}`)
8668
+ ${Pt(
8669
+ Kt(a.data.text?.toString() || "").then((e) => u`${e}`)
8615
8670
  )}
8616
8671
  </div>`;
8617
8672
  }
@@ -8628,9 +8683,9 @@ let De = class extends re {
8628
8683
  renderBotMessageAvatar(a) {
8629
8684
  if (a.data.userName && a.data.userName !== "") {
8630
8685
  const e = a.data?.userAvatar || "";
8631
- return e !== "" ? u` <img src="${e}" style="width: 24px;height: 24px;" /> ` : me`${Y(b.setting.agentIconSvg)}`;
8686
+ return e !== "" ? u` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(b.setting.agentIconSvg)}`;
8632
8687
  }
8633
- return a.author === "system" ? me`${Y(b.setting.systemIconSvg)}` : me`${Y(b.setting.botIconSvg)}`;
8688
+ return a.author === "system" ? pe`${G(b.setting.systemIconSvg)}` : pe`${G(b.setting.botIconSvg)}`;
8634
8689
  }
8635
8690
  renderBotMessage(a) {
8636
8691
  return u`
@@ -8644,8 +8699,8 @@ let De = class extends re {
8644
8699
  renderBotMessageFeedback(a) {
8645
8700
  return this.suppressFeedback || !b.setting.feedbackEnabled || this.index < b.setting.startFeedbackFromMessage * 2 ? null : u`
8646
8701
  <div class="cb-message-feedback-tools" part="feedback-wrapper">
8647
- <div class="cb-message-feedback-icon cb-feedback-up" part="feedback-up" @click="${() => this.startFeedback(!0, a)}">${me`${Y(ti)}`}</div>
8648
- <div class="cb-message-feedback-icon cb-feedback-down" part="feedback-down" @click="${() => this.startFeedback(!1, a)}">${me`${Y(ai)}`}</div>
8702
+ <div class="cb-message-feedback-icon cb-feedback-up" part="feedback-up" @click="${() => this.startFeedback(!0, a)}">${pe`${G(ti)}`}</div>
8703
+ <div class="cb-message-feedback-icon cb-feedback-down" part="feedback-down" @click="${() => this.startFeedback(!1, a)}">${pe`${G(ai)}`}</div>
8649
8704
  </div>
8650
8705
  `;
8651
8706
  }
@@ -8662,12 +8717,12 @@ let De = class extends re {
8662
8717
  ${W(
8663
8718
  b.appearanceUserMessageAvatarPosition === "left",
8664
8719
  () => u`
8665
- <div class="avatar user-avatar" part="user-avatar">${Y(b.setting.userIconSvg)}</div>
8720
+ <div class="avatar user-avatar" part="user-avatar">${G(b.setting.userIconSvg)}</div>
8666
8721
  ${this.renderMessage(a, "user-message-content")}
8667
8722
  `,
8668
8723
  () => u`
8669
8724
  ${this.renderMessage(a, "user-message-content")}
8670
- <div class="avatar user-avatar" part="user-avatar">${Y(b.setting.userIconSvg)}</div>
8725
+ <div class="avatar user-avatar" part="user-avatar">${G(b.setting.userIconSvg)}</div>
8671
8726
  `
8672
8727
  )}
8673
8728
  </div>
@@ -8685,12 +8740,12 @@ let De = class extends re {
8685
8740
  ${W(
8686
8741
  b.appearanceUserMessageAvatarPosition === "left",
8687
8742
  () => u`
8688
- <div class="avatar user-avatar">${Y(b.setting.userIconSvg)}</div>
8743
+ <div class="avatar user-avatar">${G(b.setting.userIconSvg)}</div>
8689
8744
  ${this.renderMessage(a, "user-message-content")}
8690
8745
  `,
8691
8746
  () => u`
8692
8747
  ${this.renderMessage(a, "user-message-content")}
8693
- <div class="avatar user-avatar">${Y(b.setting.userIconSvg)}</div>
8748
+ <div class="avatar user-avatar">${G(b.setting.userIconSvg)}</div>
8694
8749
  `
8695
8750
  )}
8696
8751
  </div>
@@ -8717,15 +8772,15 @@ nt([
8717
8772
  Va("img")
8718
8773
  ], De.prototype, "glightboxImages", 2);
8719
8774
  De = nt([
8720
- K("cb-message")
8775
+ Z("cb-message")
8721
8776
  ], De);
8722
8777
  var kn = Object.defineProperty, _n = Object.getOwnPropertyDescriptor, Te = (a, e, t, i) => {
8723
8778
  for (var s = i > 1 ? void 0 : i ? _n(e, t) : e, r = a.length - 1, o; r >= 0; r--)
8724
8779
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
8725
8780
  return i && s && kn(e, t, s), s;
8726
8781
  };
8727
- const Be = Je.noConflict();
8728
- Be.setLevel("info");
8782
+ const Oe = Je.noConflict();
8783
+ Oe.setLevel("info");
8729
8784
  let ye = class extends re {
8730
8785
  constructor() {
8731
8786
  super(...arguments), this.messages = [], this.actions = [], this.form = null, this.suppressFeedback = !1, this.calendlyInjected = !1, this.activeCalendlyAction = -1, this.hubspotMeetingInjected = !1, this.activeHubspotMeetingAction = -1, this._lastScrollTop = 0, this._scrollThrottle = !1, this._userInterruptedAutoScroll = !1, this._userInterruptedMessagesLength = 0;
@@ -8771,8 +8826,8 @@ let ye = class extends re {
8771
8826
  return !b.setting.disclaimerMessage || !b.isConversationStart() ? null : u`
8772
8827
  <details class="cb-disclaimer-wrapper" part="disclaimer-wrapper">
8773
8828
  <summary class="cb-disclaimer-message" part="disclaimer-message">
8774
- ${Xt(
8775
- Zt(b.setting.disclaimerMessage).then((a) => u`${a}`)
8829
+ ${Pt(
8830
+ Kt(b.setting.disclaimerMessage).then((a) => u`${a}`)
8776
8831
  )}
8777
8832
  </summary>
8778
8833
  </details>
@@ -8861,13 +8916,13 @@ let ye = class extends re {
8861
8916
  }
8862
8917
  }
8863
8918
  b.submitForm(e).then(() => {
8864
- Be.info("Form submitted", e), this.emit("form:submit", {
8919
+ Oe.info("Form submitted", e), this.emit("form:submit", {
8865
8920
  detail: {
8866
8921
  formData: e
8867
8922
  }
8868
8923
  });
8869
8924
  }).catch((t) => {
8870
- Be.error(`Error when submitting form: ${t.message}`);
8925
+ Oe.error(`Error when submitting form: ${t.message}`);
8871
8926
  });
8872
8927
  }
8873
8928
  /* Form sample
@@ -8912,7 +8967,7 @@ let ye = class extends re {
8912
8967
  return null;
8913
8968
  }
8914
8969
  handleCalendlyEvent(a) {
8915
- switch (Be.info("Got Calendly Event:", a.data), a.data.event) {
8970
+ switch (Oe.info("Got Calendly Event:", a.data), a.data.event) {
8916
8971
  case "calendly.event_scheduled": {
8917
8972
  const e = this.activeCalendlyAction;
8918
8973
  e >= 0 && (b.removeAction(e, !0, a.data), b.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
@@ -8920,10 +8975,10 @@ let ye = class extends re {
8920
8975
  }
8921
8976
  }
8922
8977
  invokeLinkAction(a = {}) {
8923
- Be.info("invokeLinkAction:", a), window.open(a.url, "_blank");
8978
+ Oe.info("invokeLinkAction:", a), window.open(a.url, "_blank");
8924
8979
  }
8925
8980
  invokeCalendlyAction(a = {}) {
8926
- return Be.info("invokeCalendlyAction:", a), "Calendly" in window && (this.activeCalendlyAction = a.internalId, window.Calendly.initPopupWidget({ url: a.url })), !1;
8981
+ return Oe.info("invokeCalendlyAction:", a), "Calendly" in window && (this.activeCalendlyAction = a.internalId, window.Calendly.initPopupWidget({ url: a.url })), !1;
8927
8982
  }
8928
8983
  renderCalendlyAction(a) {
8929
8984
  if (!("Calendly" in window) && !this.calendlyInjected) {
@@ -8969,10 +9024,10 @@ let ye = class extends re {
8969
9024
  invokeHubspotMeetingAction(a = {}) {
8970
9025
  const e = Date.now();
8971
9026
  if (this.activeHubspotMeetingAction !== -1) {
8972
- Be.info(`invokeHubspotMeetingAction: action ${this.activeHubspotMeetingAction} is already active - ignored`);
9027
+ Oe.info(`invokeHubspotMeetingAction: action ${this.activeHubspotMeetingAction} is already active - ignored`);
8973
9028
  return;
8974
9029
  }
8975
- if (Be.info("invokeHubspotMeetingAction:", a), "hbspt" in window && typeof window.hbspt?.meetings?.create == "function") {
9030
+ if (Oe.info("invokeHubspotMeetingAction:", a), "hbspt" in window && typeof window.hbspt?.meetings?.create == "function") {
8976
9031
  const t = document.getElementById("enegelai-bot-hubspot-meeting-container"), i = document.querySelector(".enegelai-bot-hubspot-meeting-widget");
8977
9032
  if (t && i) {
8978
9033
  const s = a.url + "?embed=true";
@@ -8984,7 +9039,7 @@ let ye = class extends re {
8984
9039
  return !1;
8985
9040
  }
8986
9041
  handleHubspotEvent(a) {
8987
- if (Be.info("Got Hubspot Event:", a.data), !(a?.data?.meetingBookSucceeded || !1))
9042
+ if (Oe.info("Got Hubspot Event:", a.data), !(a?.data?.meetingBookSucceeded || !1))
8988
9043
  return;
8989
9044
  const t = this.activeHubspotMeetingAction;
8990
9045
  if (t >= 0) {
@@ -9065,7 +9120,7 @@ Te([
9065
9120
  sa({ capture: !1, passive: !0 })
9066
9121
  ], ye.prototype, "invokeHubspotMeetingAction", 1);
9067
9122
  ye = Te([
9068
- K("cb-message-list")
9123
+ Z("cb-message-list")
9069
9124
  ], ye);
9070
9125
  const Sn = J`
9071
9126
  ${ke}
@@ -9257,7 +9312,7 @@ Ie([
9257
9312
  xe("sl-textarea")
9258
9313
  ], ve.prototype, "inputElement", 2);
9259
9314
  ve = Ie([
9260
- K("cb-user-input")
9315
+ Z("cb-user-input")
9261
9316
  ], ve);
9262
9317
  const Mn = J`
9263
9318
  ${ke}
@@ -9414,7 +9469,7 @@ let we = class extends re {
9414
9469
  this.enableFileUpload,
9415
9470
  () => u`
9416
9471
  <button type="button" class="circle-btn" part="upload-button" title="Upload" @click=${this._sendFileHandler}>
9417
- ${Y(Tn)}
9472
+ ${G(Tn)}
9418
9473
  </button>
9419
9474
  `,
9420
9475
  () => u``
@@ -9434,7 +9489,7 @@ let we = class extends re {
9434
9489
  @keydown=${this._keyDownHandler}
9435
9490
  ></sl-textarea>
9436
9491
  <button type="button" class="circle-btn ${this.getCtrlClass()}" part="control-button" @click=${this._ctrlHandler}>
9437
- ${Y(this.getCtrlIconSvg())}
9492
+ ${G(this.getCtrlIconSvg())}
9438
9493
  </button>
9439
9494
  </div>
9440
9495
  </div>
@@ -9537,7 +9592,7 @@ Ee([
9537
9592
  xe("sl-textarea")
9538
9593
  ], we.prototype, "inputElement", 2);
9539
9594
  we = Ee([
9540
- K("cb-user-input-mm")
9595
+ Z("cb-user-input-mm")
9541
9596
  ], we);
9542
9597
  const ri = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', Pn = J`
9543
9598
  ${ke}
@@ -9574,7 +9629,7 @@ const ri = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="c
9574
9629
  gap: 8px;
9575
9630
  }
9576
9631
  `;
9577
- var Ln = Object.defineProperty, Rn = Object.getOwnPropertyDescriptor, Ht = (a, e, t, i) => {
9632
+ var Ln = Object.defineProperty, Rn = Object.getOwnPropertyDescriptor, Vt = (a, e, t, i) => {
9578
9633
  for (var s = i > 1 ? void 0 : i ? Rn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9579
9634
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
9580
9635
  return i && s && Ln(e, t, s), s;
@@ -9624,24 +9679,24 @@ let ct = class extends re {
9624
9679
  }
9625
9680
  };
9626
9681
  ct.styles = Pn;
9627
- Ht([
9682
+ Vt([
9628
9683
  x({ type: Boolean })
9629
9684
  ], ct.prototype, "open", 2);
9630
- Ht([
9685
+ Vt([
9631
9686
  x({ type: String, attribute: "label" })
9632
9687
  ], ct.prototype, "label", 2);
9633
- Ht([
9688
+ Vt([
9634
9689
  x({ type: Number })
9635
9690
  ], ct.prototype, "zindex", 2);
9636
- ct = Ht([
9637
- K("cb-dialog")
9691
+ ct = Vt([
9692
+ Z("cb-dialog")
9638
9693
  ], ct);
9639
- var zn = Object.defineProperty, Bn = Object.getOwnPropertyDescriptor, oi = (a, e, t, i) => {
9640
- for (var s = i > 1 ? void 0 : i ? Bn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9694
+ var zn = Object.defineProperty, On = Object.getOwnPropertyDescriptor, oi = (a, e, t, i) => {
9695
+ for (var s = i > 1 ? void 0 : i ? On(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9641
9696
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
9642
9697
  return i && s && zn(e, t, s), s;
9643
9698
  };
9644
- let qt = class extends re {
9699
+ let Dt = class extends re {
9645
9700
  constructor() {
9646
9701
  super(...arguments), this.open = !1;
9647
9702
  }
@@ -9675,7 +9730,7 @@ let qt = class extends re {
9675
9730
  this.emit("cancel");
9676
9731
  }
9677
9732
  };
9678
- qt.styles = J`
9733
+ Dt.styles = J`
9679
9734
  .cb-clear-message-dialog {
9680
9735
  }
9681
9736
 
@@ -9685,11 +9740,11 @@ qt.styles = J`
9685
9740
  `;
9686
9741
  oi([
9687
9742
  x({ type: Boolean })
9688
- ], qt.prototype, "open", 2);
9689
- qt = oi([
9690
- K("cb-clear-message-dialog")
9691
- ], qt);
9692
- const On = J`
9743
+ ], Dt.prototype, "open", 2);
9744
+ Dt = oi([
9745
+ Z("cb-clear-message-dialog")
9746
+ ], Dt);
9747
+ const Bn = J`
9693
9748
  :host {
9694
9749
  // width: 380px;
9695
9750
 
@@ -9873,7 +9928,7 @@ let Xe = class extends re {
9873
9928
  });
9874
9929
  }
9875
9930
  };
9876
- Xe.styles = On;
9931
+ Xe.styles = Bn;
9877
9932
  dt([
9878
9933
  x({ type: Boolean })
9879
9934
  ], Xe.prototype, "open", 2);
@@ -9890,7 +9945,7 @@ dt([
9890
9945
  x({ type: Boolean })
9891
9946
  ], Xe.prototype, "customRequest", 2);
9892
9947
  Xe = dt([
9893
- K("cb-setting")
9948
+ Z("cb-setting")
9894
9949
  ], Xe);
9895
9950
  const Fn = J`
9896
9951
  ${ke}
@@ -10011,7 +10066,7 @@ var jn = Object.defineProperty, Hn = Object.getOwnPropertyDescriptor, ci = (a, e
10011
10066
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
10012
10067
  return i && s && jn(e, t, s), s;
10013
10068
  };
10014
- let Dt = class extends re {
10069
+ let Ft = class extends re {
10015
10070
  constructor() {
10016
10071
  super(...arguments), this.store = new it(this, b), this.open = !1;
10017
10072
  }
@@ -10043,7 +10098,7 @@ let Dt = class extends re {
10043
10098
  return a = b.appearanceAnchorBadgeVariant, a;
10044
10099
  }
10045
10100
  renderPopupLogo() {
10046
- return b.setting.popupLogoUrl !== "" ? u`<img class="cb-engage-popup-img" src="${b.setting.popupLogoUrl}" />` : b.setting.popupLogoSvg !== "" ? u`<div class="cb-engage-popup-logo">${me`${Y(b.setting.popupLogoSvg)}`}</div>` : b.setting.logoUrl !== "" ? u`<img class="cb-engage-popup-img" src="${b.setting.logoUrl}" />` : b.setting.logoSvg !== "" ? u`<div class="cb-engage-popup-logo">${me`${Y(b.setting.logoSvg)}`}</div>` : null;
10101
+ return b.setting.popupLogoUrl !== "" ? u`<img class="cb-engage-popup-img" src="${b.setting.popupLogoUrl}" />` : b.setting.popupLogoSvg !== "" ? u`<div class="cb-engage-popup-logo">${pe`${G(b.setting.popupLogoSvg)}`}</div>` : b.setting.logoUrl !== "" ? u`<img class="cb-engage-popup-img" src="${b.setting.logoUrl}" />` : b.setting.logoSvg !== "" ? u`<div class="cb-engage-popup-logo">${pe`${G(b.setting.logoSvg)}`}</div>` : null;
10047
10102
  }
10048
10103
  render() {
10049
10104
  return u`
@@ -10052,8 +10107,8 @@ let Dt = class extends re {
10052
10107
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="anchor-button" circle>
10053
10108
  ${W(
10054
10109
  this.open,
10055
- () => u`<div class="cb-anchor-icon" part="anchor-icon">${me`${Y(b.setting.anchorCloseSvg)}`}</div>`,
10056
- () => u`<div class="cb-anchor-icon" part="anchor-icon">${me`${Y(b.setting.anchorOpenSvg)}`}</div>`
10110
+ () => u`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(b.setting.anchorCloseSvg)}`}</div>`,
10111
+ () => u`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(b.setting.anchorOpenSvg)}`}</div>`
10057
10112
  )}
10058
10113
  ${W(
10059
10114
  !this.open && b.unreadMessages > 0,
@@ -10062,7 +10117,7 @@ let Dt = class extends re {
10062
10117
  )}
10063
10118
  </sl-button>
10064
10119
  <div class="cb-engage-popup">
10065
- <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${me`${Y(ri)}`}</div>
10120
+ <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${pe`${G(ri)}`}</div>
10066
10121
  <div class="cb-engage-popup-content">
10067
10122
  ${this.renderPopupLogo()}
10068
10123
  <div>${b.setting.engageMessage}</div>
@@ -10073,59 +10128,59 @@ let Dt = class extends re {
10073
10128
  `;
10074
10129
  }
10075
10130
  };
10076
- Dt.styles = Fn;
10131
+ Ft.styles = Fn;
10077
10132
  ci([
10078
10133
  x({ type: Boolean })
10079
- ], Dt.prototype, "open", 2);
10080
- Dt = ci([
10081
- K("cb-anchor")
10082
- ], Dt);
10134
+ ], Ft.prototype, "open", 2);
10135
+ Ft = ci([
10136
+ Z("cb-anchor")
10137
+ ], Ft);
10083
10138
  const Vn = J`
10084
10139
  ${ke}
10085
- `, Ba = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353zM5.1 1L1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1z"/><path d="M7.002 11a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Un = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016a.15.15 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.2.2 0 0 1-.054.06a.1.1 0 0 1-.066.017H1.146a.1.1 0 0 1-.066-.017a.2.2 0 0 1-.054-.06a.18.18 0 0 1 .002-.183L7.884 2.073a.15.15 0 0 1 .054-.057m1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Nn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M2.5 8a5.5 5.5 0 0 1 8.25-4.764a.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0a5.5 5.5 0 1 1-11 0"/><path d="M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293L5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z"/></g></svg>', Wn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/><path d="m8.93 6.588l-2.29.287l-.082.38l.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319c.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246c-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0"/></g></svg>';
10140
+ `, Oa = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353zM5.1 1L1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1z"/><path d="M7.002 11a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Nn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016a.15.15 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.2.2 0 0 1-.054.06a.1.1 0 0 1-.066.017H1.146a.1.1 0 0 1-.066-.017a.2.2 0 0 1-.054-.06a.18.18 0 0 1 .002-.183L7.884 2.073a.15.15 0 0 1 .054-.057m1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0M7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0z"/></g></svg>', Un = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M2.5 8a5.5 5.5 0 0 1 8.25-4.764a.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0a5.5 5.5 0 1 1-11 0"/><path d="M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293L5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0z"/></g></svg>', Wn = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/><path d="m8.93 6.588l-2.29.287l-.082.38l.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319c.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246c-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0"/></g></svg>';
10086
10141
  var Gn = Object.defineProperty, Xn = Object.getOwnPropertyDescriptor, li = (a, e, t, i) => {
10087
10142
  for (var s = i > 1 ? void 0 : i ? Xn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10088
10143
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
10089
10144
  return i && s && Gn(e, t, s), s;
10090
10145
  };
10091
- const Oa = {
10146
+ const Ba = {
10092
10147
  error: {
10093
10148
  variant: "danger",
10094
- icon: Ba
10149
+ icon: Oa
10095
10150
  },
10096
10151
  danger: {
10097
10152
  variant: "danger",
10098
- icon: Ba
10153
+ icon: Oa
10099
10154
  },
10100
10155
  warning: {
10101
10156
  variant: "warning",
10102
- icon: Un
10157
+ icon: Nn
10103
10158
  },
10104
10159
  success: {
10105
10160
  variant: "success",
10106
- icon: Nn
10161
+ icon: Un
10107
10162
  },
10108
10163
  info: {
10109
10164
  variant: "primary",
10110
10165
  icon: Wn
10111
10166
  }
10112
10167
  };
10113
- let Ft = class extends re {
10168
+ let jt = class extends re {
10114
10169
  constructor() {
10115
10170
  super(...arguments), this.status = "info";
10116
10171
  }
10117
10172
  render() {
10118
- const { variant: a, icon: e } = Oa[this.status] || Oa.info;
10173
+ const { variant: a, icon: e } = Ba[this.status] || Ba.info;
10119
10174
  return u`<cb-icon svg=${e} color="${a}"></cb-icon>`;
10120
10175
  }
10121
10176
  };
10122
- Ft.styles = Wa;
10177
+ jt.styles = Wa;
10123
10178
  li([
10124
10179
  x({ type: String })
10125
- ], Ft.prototype, "status", 2);
10126
- Ft = li([
10127
- K("cb-status-icon")
10128
- ], Ft);
10180
+ ], jt.prototype, "status", 2);
10181
+ jt = li([
10182
+ Z("cb-status-icon")
10183
+ ], jt);
10129
10184
  var Yn = Object.getOwnPropertyDescriptor, Jn = (a, e, t, i) => {
10130
10185
  for (var s = i > 1 ? void 0 : i ? Yn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10131
10186
  (o = a[r]) && (s = o(s) || s);
@@ -10149,9 +10204,9 @@ let Qt = class extends re {
10149
10204
  };
10150
10205
  Qt.styles = Vn;
10151
10206
  Qt = Jn([
10152
- K("cb-auth-alert")
10207
+ Z("cb-auth-alert")
10153
10208
  ], Qt);
10154
- const Kn = J`
10209
+ const Zn = J`
10155
10210
  sl-dialog::part(base) {
10156
10211
  z-index: 1000;
10157
10212
  }
@@ -10235,10 +10290,10 @@ const Kn = J`
10235
10290
  filter: alpha(opacity=80);
10236
10291
  }
10237
10292
  `;
10238
- var Zn = Object.defineProperty, Qn = Object.getOwnPropertyDescriptor, ft = (a, e, t, i) => {
10293
+ var Kn = Object.defineProperty, Qn = Object.getOwnPropertyDescriptor, ft = (a, e, t, i) => {
10239
10294
  for (var s = i > 1 ? void 0 : i ? Qn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10240
10295
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
10241
- return i && s && Zn(e, t, s), s;
10296
+ return i && s && Kn(e, t, s), s;
10242
10297
  };
10243
10298
  const qa = Je.noConflict(), er = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16"><path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/></svg>';
10244
10299
  let Ye = class extends re {
@@ -10274,7 +10329,7 @@ let Ye = class extends re {
10274
10329
  b.feedbackScore = 0;
10275
10330
  }}"
10276
10331
  >
10277
- ${me`${Y(ai)}`}
10332
+ ${pe`${G(ai)}`}
10278
10333
  </div>
10279
10334
  <sl-rating id="cb-feedback-rating-el" class="cb-feedback-rating" @sl-change="${this._ratingChangeHandler}" label="Rating" precision="1" .value=${b.feedbackScore}></sl-rating>
10280
10335
  <div
@@ -10283,7 +10338,7 @@ let Ye = class extends re {
10283
10338
  b.feedbackScore = 5;
10284
10339
  }}"
10285
10340
  >
10286
- ${me`${Y(ti)}`}
10341
+ ${pe`${G(ti)}`}
10287
10342
  </div>
10288
10343
  </div>
10289
10344
  <div style="display: flex">
@@ -10304,7 +10359,7 @@ let Ye = class extends re {
10304
10359
  this._comments.value = "", await b.submitFeedback(a, e, t);
10305
10360
  }
10306
10361
  };
10307
- Ye.styles = Kn;
10362
+ Ye.styles = Zn;
10308
10363
  ft([
10309
10364
  x({ type: Number })
10310
10365
  ], Ye.prototype, "zindex", 2);
@@ -10321,7 +10376,7 @@ ft([
10321
10376
  xe("#cb-feedback-email-el")
10322
10377
  ], Ye.prototype, "_email", 2);
10323
10378
  Ye = ft([
10324
- K("cb-dialog-feedback")
10379
+ Z("cb-dialog-feedback")
10325
10380
  ], Ye);
10326
10381
  const tr = J`
10327
10382
  ${ke}
@@ -10784,8 +10839,8 @@ class It {
10784
10839
  if (v === 0)
10785
10840
  e.moveTo(k, w);
10786
10841
  else {
10787
- const _ = (v - 1) * o, P = this.renderPoints[v - 1] * i * 0.8, I = _ + o * 0.5, M = P, L = k - o * 0.5, C = w;
10788
- e.bezierCurveTo(I, M, L, C, k, w);
10842
+ const _ = (v - 1) * o, P = this.renderPoints[v - 1] * i * 0.8, E = _ + o * 0.5, M = P, L = k - o * 0.5, C = w;
10843
+ e.bezierCurveTo(E, M, L, C, k, w);
10789
10844
  }
10790
10845
  }
10791
10846
  e.lineTo(t, 0), e.lineTo(0, 0), s === da && !r ? this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.inputColorRGB, 0.02) : this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.outputColorRGB, 0.02);
@@ -10858,8 +10913,8 @@ class sr extends di {
10858
10913
  for (let w = 0; w < this._numBars; w++) {
10859
10914
  const _ = this._renderHeights[w] * t.height * 0.9, P = p - (w + 1) * (f * 1.2);
10860
10915
  e.fillRect(P, v - _ / 2, f, _);
10861
- const I = p + w * (f * 1.2);
10862
- e.fillRect(I, v - _ / 2, f, _);
10916
+ const E = p + w * (f * 1.2);
10917
+ e.fillRect(E, v - _ / 2, f, _);
10863
10918
  }
10864
10919
  e.restore();
10865
10920
  }
@@ -10908,7 +10963,7 @@ let ea = class extends re {
10908
10963
  !0,
10909
10964
  () => u`
10910
10965
  <button type="button" part="${b.webAudioMuted ? "audio-unmute-button" : "audio-mute-button"}" class="circle-btn ${b.webAudioMuted ? "danger" : "clear"}" title="${b.webAudioMuted ? "Unmute" : "Mute"}" @click=${this._toggleMute}>
10911
- ${Y(nr)}
10966
+ ${G(nr)}
10912
10967
  </button>
10913
10968
  `,
10914
10969
  () => u``
@@ -10917,7 +10972,7 @@ let ea = class extends re {
10917
10972
  ${this.renderVisualizer()}
10918
10973
  </div>
10919
10974
  <button type="button" part="audio-end-button" class="circle-btn clear" title="End" @click=${this._toggleHangup}>
10920
- ${Y(la)}
10975
+ ${G(la)}
10921
10976
  </button>
10922
10977
  </div>
10923
10978
  </div>` : null;
@@ -10975,7 +11030,7 @@ let ea = class extends re {
10975
11030
  };
10976
11031
  ea.styles = tr;
10977
11032
  ea = or([
10978
- K("cb-audio-controls")
11033
+ Z("cb-audio-controls")
10979
11034
  ], ea);
10980
11035
  class ta extends Error {
10981
11036
  response;
@@ -10998,7 +11053,7 @@ class fi extends Error {
10998
11053
  super(t), this.value = e;
10999
11054
  }
11000
11055
  }
11001
- class Wt extends Error {
11056
+ class Gt extends Error {
11002
11057
  name = "ForceRetryError";
11003
11058
  customDelay;
11004
11059
  code;
@@ -11036,7 +11091,7 @@ const Fa = (() => {
11036
11091
  // Supported in modern Fetch implementations (for example, browsers and recent Node.js/undici).
11037
11092
  // We still feature-check at runtime before exposing the shortcut.
11038
11093
  bytes: "*/*"
11039
- }, Gt = 2147483647, hr = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, ui = Symbol("stop");
11094
+ }, Xt = 2147483647, hr = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, ui = Symbol("stop");
11040
11095
  class pi {
11041
11096
  options;
11042
11097
  constructor(e) {
@@ -11279,8 +11334,8 @@ function $r(a) {
11279
11334
  class vt {
11280
11335
  static create(e, t) {
11281
11336
  const i = new vt(e, t), s = async () => {
11282
- if (typeof i.#e.timeout == "number" && i.#e.timeout > Gt)
11283
- throw new RangeError(`The \`timeout\` option cannot be greater than ${Gt}`);
11337
+ if (typeof i.#e.timeout == "number" && i.#e.timeout > Xt)
11338
+ throw new RangeError(`The \`timeout\` option cannot be greater than ${Xt}`);
11284
11339
  await Promise.resolve();
11285
11340
  let o = await i.#p();
11286
11341
  for (const f of i.#e.hooks.afterResponse) {
@@ -11289,7 +11344,7 @@ class vt {
11289
11344
  throw await Promise.all([
11290
11345
  p.body?.cancel(),
11291
11346
  o.body?.cancel()
11292
- ]), new Wt(v.options);
11347
+ ]), new Gt(v.options);
11293
11348
  }
11294
11349
  if (i.#d(o), !o.ok && (typeof i.#e.throwHttpErrors == "function" ? i.#e.throwHttpErrors(o.status) : i.#e.throwHttpErrors)) {
11295
11350
  let f = new ta(o, i.request, i.#o());
@@ -11385,7 +11440,7 @@ class vt {
11385
11440
  if (this.#a++, this.#a > this.#e.retry.limit)
11386
11441
  throw e;
11387
11442
  const t = e instanceof Error ? e : new fi(e);
11388
- if (t instanceof Wt)
11443
+ if (t instanceof Gt)
11389
11444
  return t.customDelay ?? this.#c();
11390
11445
  if (!this.#e.retry.methods.includes(this.request.method.toLowerCase()))
11391
11446
  throw e;
@@ -11420,10 +11475,10 @@ class vt {
11420
11475
  try {
11421
11476
  return await e();
11422
11477
  } catch (t) {
11423
- const i = Math.min(await this.#u(t), Gt);
11478
+ const i = Math.min(await this.#u(t), Xt);
11424
11479
  if (this.#a < 1)
11425
11480
  throw t;
11426
- if (await Mr(i, this.#s ? { signal: this.#s } : {}), t instanceof Wt && t.customRequest) {
11481
+ if (await Mr(i, this.#s ? { signal: this.#s } : {}), t instanceof Gt && t.customRequest) {
11427
11482
  const s = this.#e.signal ? new globalThis.Request(t.customRequest, { signal: this.#e.signal }) : new globalThis.Request(t.customRequest);
11428
11483
  this.#l(s);
11429
11484
  }
@@ -11509,13 +11564,13 @@ async function Lr(a, e) {
11509
11564
  }).text()
11510
11565
  );
11511
11566
  }
11512
- var Rr = Object.defineProperty, zr = Object.getOwnPropertyDescriptor, U = (a, e, t, i) => {
11567
+ var Rr = Object.defineProperty, zr = Object.getOwnPropertyDescriptor, N = (a, e, t, i) => {
11513
11568
  for (var s = i > 1 ? void 0 : i ? zr(e, t) : e, r = a.length - 1, o; r >= 0; r--)
11514
11569
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
11515
11570
  return i && s && Rr(e, t, s), s;
11516
11571
  };
11517
- const Oe = Je.noConflict();
11518
- Oe.setLevel("info");
11572
+ const Be = Je.noConflict();
11573
+ Be.setLevel("info");
11519
11574
  let H = class extends re {
11520
11575
  constructor() {
11521
11576
  super(...arguments), this.store = new it(this, b), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoUrl = "", this.logoSvg = `<svg width="24" height="24" viewBox="0 0 203 200" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -11536,7 +11591,7 @@ let H = class extends re {
11536
11591
  <rect width="400" height="400" fill="white"/>
11537
11592
  </clipPath>
11538
11593
  </defs>
11539
- </svg>`, this.popupLogoSvg = "", this.popupLogoUrl = "", this.botIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z" /></svg>', this.userIconSvg = '<svg fill="currentColor" viewBox="0 0 24 24" width="24" height="24"> <path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4Z" /></svg>', this.systemIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z"/></svg>', this.agentIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M18.72,14.76C19.07,13.91 19.26,13 19.26,12C19.26,11.28 19.15,10.59 18.96,9.95C18.31,10.1 17.63,10.18 16.92,10.18C13.86,10.18 11.15,8.67 9.5,6.34C8.61,8.5 6.91,10.26 4.77,11.22C4.73,11.47 4.73,11.74 4.73,12A7.27,7.27 0 0,0 12,19.27C13.05,19.27 14.06,19.04 14.97,18.63C15.54,19.72 15.8,20.26 15.78,20.26C14.14,20.81 12.87,21.08 12,21.08C9.58,21.08 7.27,20.13 5.57,18.42C4.53,17.38 3.76,16.11 3.33,14.73H2V10.18H3.09C3.93,6.04 7.6,2.92 12,2.92C14.4,2.92 16.71,3.87 18.42,5.58C19.69,6.84 20.54,8.45 20.89,10.18H22V14.67H22V14.69L22,14.73H21.94L18.38,18L13.08,17.4V15.73H17.91L18.72,14.76M9.27,11.77C9.57,11.77 9.86,11.89 10.07,12.11C10.28,12.32 10.4,12.61 10.4,12.91C10.4,13.21 10.28,13.5 10.07,13.71C9.86,13.92 9.57,14.04 9.27,14.04C8.64,14.04 8.13,13.54 8.13,12.91C8.13,12.28 8.64,11.77 9.27,11.77M14.72,11.77C15.35,11.77 15.85,12.28 15.85,12.91C15.85,13.54 15.35,14.04 14.72,14.04C14.09,14.04 13.58,13.54 13.58,12.91A1.14,1.14 0 0,1 14.72,11.77Z" /></svg>', this.anchorOpenSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9 9 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7M5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0m4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0m3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2"/></svg>', this.anchorCloseSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', this.sendIconSvg = "", this.attachIconSvg = "", this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.alwaysOpen = !1, this.prefilledFormFields = "{}", this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.handleAddMessage = (a) => {
11594
+ </svg>`, this.popupLogoSvg = "", this.popupLogoUrl = "", this.botIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z" /></svg>', this.userIconSvg = '<svg fill="currentColor" viewBox="0 0 24 24" width="24" height="24"> <path d="M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4Z" /></svg>', this.systemIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z"/></svg>', this.agentIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M18.72,14.76C19.07,13.91 19.26,13 19.26,12C19.26,11.28 19.15,10.59 18.96,9.95C18.31,10.1 17.63,10.18 16.92,10.18C13.86,10.18 11.15,8.67 9.5,6.34C8.61,8.5 6.91,10.26 4.77,11.22C4.73,11.47 4.73,11.74 4.73,12A7.27,7.27 0 0,0 12,19.27C13.05,19.27 14.06,19.04 14.97,18.63C15.54,19.72 15.8,20.26 15.78,20.26C14.14,20.81 12.87,21.08 12,21.08C9.58,21.08 7.27,20.13 5.57,18.42C4.53,17.38 3.76,16.11 3.33,14.73H2V10.18H3.09C3.93,6.04 7.6,2.92 12,2.92C14.4,2.92 16.71,3.87 18.42,5.58C19.69,6.84 20.54,8.45 20.89,10.18H22V14.67H22V14.69L22,14.73H21.94L18.38,18L13.08,17.4V15.73H17.91L18.72,14.76M9.27,11.77C9.57,11.77 9.86,11.89 10.07,12.11C10.28,12.32 10.4,12.61 10.4,12.91C10.4,13.21 10.28,13.5 10.07,13.71C9.86,13.92 9.57,14.04 9.27,14.04C8.64,14.04 8.13,13.54 8.13,12.91C8.13,12.28 8.64,11.77 9.27,11.77M14.72,11.77C15.35,11.77 15.85,12.28 15.85,12.91C15.85,13.54 15.35,14.04 14.72,14.04C14.09,14.04 13.58,13.54 13.58,12.91A1.14,1.14 0 0,1 14.72,11.77Z" /></svg>', this.infoIconSvg = '<svg fill="currentColor" width="24" height="24" viewBox="0 0 24 24"> <path d="M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z" /></svg>', this.anchorOpenSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9 9 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7M5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0m4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0m3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2"/></svg>', this.anchorCloseSvg = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/></svg>', this.sendIconSvg = "", this.attachIconSvg = "", this.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.alwaysOpen = !1, this.prefilledFormFields = "{}", this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.handleAddMessage = (a) => {
11540
11595
  this._addMessageHandler(a);
11541
11596
  }, this.handleStateEvent = (a) => {
11542
11597
  this._stateEventHandler(a);
@@ -11579,7 +11634,7 @@ let H = class extends re {
11579
11634
  b.addActions(a);
11580
11635
  }
11581
11636
  render() {
11582
- return b.disabled && !this.alwaysOpen ? (Oe.info("Bot is disabled until settings are loaded"), null) : u`
11637
+ return b.disabled && !this.alwaysOpen ? (Be.info("Bot is disabled until settings are loaded"), null) : u`
11583
11638
  <div class="cb-wrapper${b.open ? " cb-open" : ""}" part="wrapper${b.open ? " open" : ""}" exportparts="new-conversation-wrapper new-conversation-button wrapper${b.open ? " open" : ""}">
11584
11639
  <cb-header title="${this.name}" exportparts="header, header-logo, header-title, header-close"></cb-header>
11585
11640
  <cb-message-list
@@ -11629,7 +11684,7 @@ let H = class extends re {
11629
11684
  ></cb-user-input>`;
11630
11685
  }
11631
11686
  connectedCallback() {
11632
- super.connectedCallback(), Oe.info("connectedCallback"), this.initCssVariables(), addEventListener("c7o:bot:stateEvent", this.handleStateEvent), addEventListener("message:send", this.handleAddMessage), addEventListener("chatbot:toggle", this.handleToggleEvent), addEventListener("form:submit", this.handleFormSubmitEvent), addEventListener("message:send:file", this._uploadFileHandler), addEventListener("audio:toggle", this._audioToggleHandler);
11687
+ super.connectedCallback(), Be.info("connectedCallback"), this.initCssVariables(), addEventListener("c7o:bot:stateEvent", this.handleStateEvent), addEventListener("message:send", this.handleAddMessage), addEventListener("chatbot:toggle", this.handleToggleEvent), addEventListener("form:submit", this.handleFormSubmitEvent), addEventListener("message:send:file", this._uploadFileHandler), addEventListener("audio:toggle", this._audioToggleHandler);
11633
11688
  }
11634
11689
  extractCssVariable(a, e, t) {
11635
11690
  let i = a.getPropertyValue(e).trim();
@@ -11658,26 +11713,26 @@ let H = class extends re {
11658
11713
 
11659
11714
  */
11660
11715
  disconnectedCallback() {
11661
- Oe.info("disconnectedCallback"), super.disconnectedCallback(), window.removeEventListener("c7o:bot:stateEvent", this.handleStateEvent), window.removeEventListener("message:send", this.handleAddMessage), window.removeEventListener("chatbot:toggle", this.handleToggleEvent), window.removeEventListener("form:submit", this.handleFormSubmitEvent), window.removeEventListener("message:send:file", this._uploadFileHandler), window.removeEventListener("audio:toggle", this._audioToggleHandler);
11716
+ Be.info("disconnectedCallback"), super.disconnectedCallback(), window.removeEventListener("c7o:bot:stateEvent", this.handleStateEvent), window.removeEventListener("message:send", this.handleAddMessage), window.removeEventListener("chatbot:toggle", this.handleToggleEvent), window.removeEventListener("form:submit", this.handleFormSubmitEvent), window.removeEventListener("message:send:file", this._uploadFileHandler), window.removeEventListener("audio:toggle", this._audioToggleHandler);
11662
11717
  }
11663
11718
  // This is called when component is loaded, with all the settings (props) values
11664
11719
  // Use to initialize
11665
11720
  // This is also called when state changes - ??? - i.e. when message added to the array
11666
11721
  updated(a) {
11667
- super.updated(a), a.size > 0 && (Oe.info("updated,_changedProperties:", a), this._initSetting()), !this._scrollToBottomTimeout && (this._scrollToBottomTimeout = setTimeout(() => {
11722
+ super.updated(a), a.size > 0 && (Be.info("updated,_changedProperties:", a), this._initSetting()), !this._scrollToBottomTimeout && (this._scrollToBottomTimeout = setTimeout(() => {
11668
11723
  this._scrollToBottom(), this._scrollToBottomTimeout = void 0;
11669
11724
  }, 200));
11670
11725
  }
11671
11726
  // initialize setting
11672
11727
  _initSetting() {
11673
- Oe.info("_initSetting");
11728
+ Be.info("_initSetting");
11674
11729
  const a = b.setting;
11675
- a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.closeSvg = this.closeSvg, a.popupLogoSvg = this.popupLogoSvg, a.popupLogoUrl = this.popupLogoUrl, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, a.agentIconSvg = this.agentIconSvg, a.anchorOpenSvg = this.anchorOpenSvg, a.anchorCloseSvg = this.anchorCloseSvg, a.sendIconSvg = this.sendIconSvg, a.attachIconSvg = this.attachIconSvg, b.setSetting(a);
11730
+ a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.closeSvg = this.closeSvg, a.popupLogoSvg = this.popupLogoSvg, a.popupLogoUrl = this.popupLogoUrl, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, a.agentIconSvg = this.agentIconSvg, a.infoIconSvg = this.infoIconSvg, a.anchorOpenSvg = this.anchorOpenSvg, a.anchorCloseSvg = this.anchorCloseSvg, a.sendIconSvg = this.sendIconSvg, a.attachIconSvg = this.attachIconSvg, b.setSetting(a);
11676
11731
  let e = {};
11677
11732
  try {
11678
11733
  e = JSON.parse(this.prefilledFormFields);
11679
11734
  } catch (t) {
11680
- Oe.error(`Failed to parse prefilled-form-fields attribute value, error: ${t?.message || ""}`), e = {};
11735
+ Be.error(`Failed to parse prefilled-form-fields attribute value, error: ${t?.message || ""}`), e = {};
11681
11736
  }
11682
11737
  b.setPrefilledFormFields(e), this.open && (b.open = !0), this.alwaysOpen && (b.open = !0, b.alwaysOpen = !0);
11683
11738
  }
@@ -11712,7 +11767,7 @@ let H = class extends re {
11712
11767
  // for example, user profile, current product user is viewing on the web page, etc.
11713
11768
  setContext(a = {}) {
11714
11769
  b.setContext(a).catch((e) => {
11715
- Oe.error(`Failed to set context, error: ${e?.message || ""}`);
11770
+ Be.error(`Failed to set context, error: ${e?.message || ""}`);
11716
11771
  });
11717
11772
  }
11718
11773
  getContext() {
@@ -11778,6 +11833,10 @@ let H = class extends re {
11778
11833
  return this._processSendMessage(e);
11779
11834
  }
11780
11835
  // [sv2] for testing only
11836
+ processAgentConnected(a) {
11837
+ b.handleAgentConnected(a).catch((e) => {
11838
+ });
11839
+ }
11781
11840
  processAgentDisconnected(a) {
11782
11841
  b.handleAgentDisconnected(a).catch((e) => {
11783
11842
  });
@@ -11815,7 +11874,7 @@ let H = class extends re {
11815
11874
  await b.uploadFiles(e.files);
11816
11875
  }
11817
11876
  async _audioToggleHandler(a) {
11818
- Oe.info("_audioToggleHandler called"), await b.toggleAudio();
11877
+ Be.info("_audioToggleHandler called"), await b.toggleAudio();
11819
11878
  }
11820
11879
  // setting confirm handler
11821
11880
  _settingConfirmHandler(a) {
@@ -11833,96 +11892,99 @@ let H = class extends re {
11833
11892
  this._messageList?.scrollToBottom();
11834
11893
  }
11835
11894
  };
11836
- H.styles = [Gi, Ka];
11837
- U([
11895
+ H.styles = [Gi, Za];
11896
+ N([
11838
11897
  x({ type: Boolean, attribute: "display-license" })
11839
11898
  ], H.prototype, "displayLicense", 2);
11840
- U([
11899
+ N([
11841
11900
  x({ type: String, attribute: "name" })
11842
11901
  ], H.prototype, "name", 2);
11843
- U([
11902
+ N([
11844
11903
  x({ type: String, attribute: "org-id" })
11845
11904
  ], H.prototype, "orgId", 2);
11846
- U([
11905
+ N([
11847
11906
  x({ type: String, attribute: "bot-id" })
11848
11907
  ], H.prototype, "botId", 2);
11849
- U([
11908
+ N([
11850
11909
  x({ type: String, attribute: "url" })
11851
11910
  ], H.prototype, "url", 2);
11852
- U([
11911
+ N([
11853
11912
  x({ type: String, attribute: "logo-url" })
11854
11913
  ], H.prototype, "logoUrl", 2);
11855
- U([
11914
+ N([
11856
11915
  x({ type: String, attribute: "logo-svg" })
11857
11916
  ], H.prototype, "logoSvg", 2);
11858
- U([
11917
+ N([
11859
11918
  x({ type: String, attribute: "close-svg" })
11860
11919
  ], H.prototype, "closeSvg", 2);
11861
- U([
11920
+ N([
11862
11921
  x({ type: String, attribute: "popup-logo-svg" })
11863
11922
  ], H.prototype, "popupLogoSvg", 2);
11864
- U([
11923
+ N([
11865
11924
  x({ type: String, attribute: "popup-logo-url" })
11866
11925
  ], H.prototype, "popupLogoUrl", 2);
11867
- U([
11926
+ N([
11868
11927
  x({ type: String, attribute: "bot-icon-svg" })
11869
11928
  ], H.prototype, "botIconSvg", 2);
11870
- U([
11929
+ N([
11871
11930
  x({ type: String, attribute: "user-icon-svg" })
11872
11931
  ], H.prototype, "userIconSvg", 2);
11873
- U([
11932
+ N([
11874
11933
  x({ type: String, attribute: "system-icon-svg" })
11875
11934
  ], H.prototype, "systemIconSvg", 2);
11876
- U([
11935
+ N([
11877
11936
  x({ type: String, attribute: "agent-icon-svg" })
11878
11937
  ], H.prototype, "agentIconSvg", 2);
11879
- U([
11938
+ N([
11939
+ x({ type: String, attribute: "info-icon-svg" })
11940
+ ], H.prototype, "infoIconSvg", 2);
11941
+ N([
11880
11942
  x({ type: String, attribute: "anchor-open-svg" })
11881
11943
  ], H.prototype, "anchorOpenSvg", 2);
11882
- U([
11944
+ N([
11883
11945
  x({ type: String, attribute: "anchor-close-svg" })
11884
11946
  ], H.prototype, "anchorCloseSvg", 2);
11885
- U([
11947
+ N([
11886
11948
  x({ type: String, attribute: "send-icon-svg" })
11887
11949
  ], H.prototype, "sendIconSvg", 2);
11888
- U([
11950
+ N([
11889
11951
  x({ type: String, attribute: "attach-icon-svg" })
11890
11952
  ], H.prototype, "attachIconSvg", 2);
11891
- U([
11953
+ N([
11892
11954
  x({ type: Boolean, attribute: "stream" })
11893
11955
  ], H.prototype, "stream", 2);
11894
- U([
11956
+ N([
11895
11957
  x({ type: Boolean, attribute: "custom-request" })
11896
11958
  ], H.prototype, "customRequest", 2);
11897
- U([
11959
+ N([
11898
11960
  x({ type: Boolean, attribute: "enable-file-upload" })
11899
11961
  ], H.prototype, "enableFileUpload", 2);
11900
- U([
11962
+ N([
11901
11963
  x({ type: String, attribute: "upload-file-url" })
11902
11964
  ], H.prototype, "uploadFileUrl", 2);
11903
- U([
11965
+ N([
11904
11966
  x({ type: Boolean, attribute: "open" })
11905
11967
  ], H.prototype, "open", 2);
11906
- U([
11968
+ N([
11907
11969
  x({ type: Boolean, attribute: "always-open" })
11908
11970
  ], H.prototype, "alwaysOpen", 2);
11909
- U([
11971
+ N([
11910
11972
  x({ type: String, attribute: "prefilled-form-fields" })
11911
11973
  ], H.prototype, "prefilledFormFields", 2);
11912
- U([
11974
+ N([
11913
11975
  x({ type: Boolean })
11914
11976
  ], H.prototype, "loading", 2);
11915
- U([
11977
+ N([
11916
11978
  x({ type: Boolean })
11917
11979
  ], H.prototype, "showSetting", 2);
11918
- U([
11980
+ N([
11919
11981
  x({ type: Boolean })
11920
11982
  ], H.prototype, "showAuthAlert", 2);
11921
- U([
11983
+ N([
11922
11984
  xe("cb-message-list")
11923
11985
  ], H.prototype, "_messageList", 2);
11924
- H = U([
11925
- K("enegelai-bot")
11986
+ H = N([
11987
+ Z("enegelai-bot")
11926
11988
  ], H);
11927
11989
  export {
11928
11990
  H as default