@enegelai/bot-widget 1.18.2 → 1.19.1

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,5 +1,5 @@
1
1
  import { css as K, LitElement as Fe, html as b, nothing as Ae, svg as pe } from "lit";
2
- import { property as x, customElement as J, query as xe, state as Va, queryAll as Ua, eventOptions as na } from "lit/decorators.js";
2
+ import { property as x, customElement as J, query as xe, state as Va, queryAll as Ua, eventOptions as ra } from "lit/decorators.js";
3
3
  import { when as W } from "lit/directives/when.js";
4
4
  import { unsafeHTML as G } from "lit-html/directives/unsafe-html.js";
5
5
  import { registerIconLibrary as qi } from "@shoelace-style/shoelace";
@@ -28,7 +28,7 @@ import Fi from "markdown-it-link-attributes";
28
28
  import Gt 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
- import { createRef as ji, ref as Tt } from "lit/directives/ref.js";
31
+ import { createRef as Hi, ref as Tt } from "lit/directives/ref.js";
32
32
  function Na(a) {
33
33
  return typeof a == "function" ? a() : a;
34
34
  }
@@ -45,7 +45,7 @@ const Ut = class Ut extends Event {
45
45
  };
46
46
  Ut.eventName = "lit-state-changed";
47
47
  let at = Ut;
48
- const Hi = (a, e) => e !== a && (e === e || a === a), ua = class ua extends EventTarget {
48
+ const ji = (a, e) => e !== a && (e === e || a === a), ba = class ba extends EventTarget {
49
49
  static initPropertyMap() {
50
50
  this.propertyMap || (this.propertyMap = /* @__PURE__ */ new Map());
51
51
  }
@@ -78,7 +78,7 @@ const Hi = (a, e) => e !== a && (e === e || a === a), ua = class ua extends Even
78
78
  Object.defineProperty(this.prototype, e, s);
79
79
  }
80
80
  static getPropertyDescriptor(e, t, i) {
81
- const s = i?.hasChanged || Hi;
81
+ const s = i?.hasChanged || ji;
82
82
  return {
83
83
  get() {
84
84
  return this[t];
@@ -119,8 +119,8 @@ const Hi = (a, e) => e !== a && (e === e || a === a), ua = class ua extends Even
119
119
  this.dispatchEvent(new at(e, t, i));
120
120
  }
121
121
  };
122
- ua.finalized = !1;
123
- let Jt = ua;
122
+ ba.finalized = !1;
123
+ let Zt = ba;
124
124
  class it {
125
125
  constructor(e, t, i) {
126
126
  this.host = e, this.state = t, this.callback = i || (() => this.host.requestUpdate()), this.host.addController(this);
@@ -159,7 +159,7 @@ new URL(location.href);
159
159
  const Ui = {
160
160
  prefix: "_ls"
161
161
  };
162
- function ce(a) {
162
+ function le(a) {
163
163
  return a = { ...Ui, ...a }, (e, t) => {
164
164
  const i = Object.getOwnPropertyDescriptor(e, t);
165
165
  if (!i)
@@ -181,9 +181,9 @@ function ce(a) {
181
181
  function Wa(a) {
182
182
  return a && a.__esModule && Object.prototype.hasOwnProperty.call(a, "default") ? a.default : a;
183
183
  }
184
- var Rt = { exports: {} }, Ni = Rt.exports, _a;
184
+ var Rt = { exports: {} }, Ni = Rt.exports, Sa;
185
185
  function Wi() {
186
- return _a || (_a = 1, (function(a) {
186
+ return Sa || (Sa = 1, (function(a) {
187
187
  (function(e, t) {
188
188
  a.exports ? a.exports = t() : e.log = t();
189
189
  })(Ni, function() {
@@ -232,7 +232,7 @@ function Wi() {
232
232
  function P(M, L) {
233
233
  var C = this, Z, N, X, te = "loglevel";
234
234
  typeof M == "string" ? te += ":" + M : typeof M == "symbol" && (te = void 0);
235
- function He(V) {
235
+ function je(V) {
236
236
  var U = (s[V] || "silent").toUpperCase();
237
237
  if (!(typeof window === t || !te)) {
238
238
  try {
@@ -292,7 +292,7 @@ function Wi() {
292
292
  }, C.methodFactory = L || _, C.getLevel = function() {
293
293
  return X ?? N ?? Z;
294
294
  }, C.setLevel = function(V, U) {
295
- return X = ge(V), U !== !1 && He(X), k.call(C);
295
+ return X = ge(V), U !== !1 && je(X), k.call(C);
296
296
  }, C.setDefaultLevel = function(V) {
297
297
  N = ge(V), ae() || C.setLevel(V, !1);
298
298
  }, C.resetLevel = function() {
@@ -308,8 +308,8 @@ function Wi() {
308
308
  }, Z = ge(
309
309
  o ? o.getLevel() : "WARN"
310
310
  );
311
- var H = ae();
312
- H != null && (X = ge(H)), k.call(C);
311
+ var j = ae();
312
+ j != null && (X = ge(j)), k.call(C);
313
313
  }
314
314
  o = new P(), o.getLogger = function(L) {
315
315
  if (typeof L != "symbol" && typeof L != "string" || L === "")
@@ -406,12 +406,16 @@ const Ke = /* @__PURE__ */ Wa(Gi), Xi = K`
406
406
  @media (max-width: 640px) {
407
407
  .cb-wrapper {
408
408
  width: 100%;
409
- height: calc(100% - var(--enegelai-bot-height-top-margin-sm, 100px));
409
+ height: calc(var(--c7o-vv-height, 100%) - var(--enegelai-bot-height-top-margin-sm, 100px));
410
410
  max-height: var(--enegelai-bot-max-height, 100%);
411
411
  right: 0;
412
- bottom: 0;
412
+ bottom: var(--c7o-vv-offset, 0px);
413
413
  border-radius: 0;
414
414
  }
415
+
416
+ cb-anchor.cb-anchor-hidden-mobile {
417
+ display: none;
418
+ }
415
419
  }
416
420
  `, ke = K`
417
421
  :host {
@@ -662,7 +666,7 @@ const Ke = /* @__PURE__ */ Wa(Gi), Xi = K`
662
666
  color: white;
663
667
  }
664
668
  `;
665
- var Yi = Object.defineProperty, Ki = Object.getOwnPropertyDescriptor, ra = (a, e, t, i) => {
669
+ var Yi = Object.defineProperty, Ki = Object.getOwnPropertyDescriptor, oa = (a, e, t, i) => {
666
670
  for (var s = i > 1 ? void 0 : i ? Ki(e, t) : e, r = a.length - 1, o; r >= 0; r--)
667
671
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
668
672
  return i && s && Yi(e, t, s), s;
@@ -676,13 +680,13 @@ let pt = class extends Fe {
676
680
  }
677
681
  };
678
682
  pt.styles = Ga;
679
- ra([
683
+ oa([
680
684
  x({ type: String })
681
685
  ], pt.prototype, "color", 2);
682
- ra([
686
+ oa([
683
687
  x({ type: String })
684
688
  ], pt.prototype, "svg", 2);
685
- pt = ra([
689
+ pt = oa([
686
690
  J("cb-icon")
687
691
  ], pt);
688
692
  let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Zi = (a, e, t) => {
@@ -697,7 +701,7 @@ let Ji = (a) => crypto.getRandomValues(new Uint8Array(a)), Zi = (a, e, t) => {
697
701
  };
698
702
  }, Qi = (a, e = 21) => Zi(a, e | 0, Ji);
699
703
  const es = Qi("1234567890abcdefghijklmnopqrstuvwxyz", 10);
700
- function fe(a = 10) {
704
+ function ce(a = 10) {
701
705
  return es(a);
702
706
  }
703
707
  function ts(a) {
@@ -729,7 +733,7 @@ function xt(a) {
729
733
  }
730
734
  const ne = Ke.noConflict();
731
735
  ne.setLevel("info");
732
- const Sa = 3e4;
736
+ const Xt = 3e4;
733
737
  class as {
734
738
  constructor(e = {}) {
735
739
  this.id = 0, this.url = e?.url || null, this.orgId = e?.orgId || null, this.botId = e?.botId || null, this.convId = e?.convId || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.connecting = !1, this.suspendDetected = !1, this.onMessage = e?.onMessage || null, this.onConnecting = e?.onConnecting || null, this.onConnectError = e?.onConnectError || null, this.onClose = e?.onClose || null, this.queue = e?.queue || [], this.pause = (t) => new Promise((i) => setTimeout(i, t)), this.lastTickTs = 0, this.lastAckTs = 0, this.tickInterval = null, ne.info(`WSC: Created, url: ${this.url}`);
@@ -790,7 +794,7 @@ class as {
790
794
  this.connecting !== e && (this.connecting = e, this.onConnecting && typeof this.onConnecting == "function" && this.onConnecting(this.connecting));
791
795
  }
792
796
  pingConnection() {
793
- this._ws && this._ws.readyState === WebSocket.OPEN && this._ws.send(JSON.stringify({ type: "heartbeat", id: fe() }));
797
+ this._ws && this._ws.readyState === WebSocket.OPEN && this._ws.send(JSON.stringify({ type: "heartbeat", id: ce() }));
794
798
  }
795
799
  tick() {
796
800
  this.pingConnection(), this.lastTickTs = Date.now();
@@ -798,7 +802,7 @@ class as {
798
802
  async start() {
799
803
  this.started = !0, this.connect(), this.lastTickTs = Date.now(), this.tickInterval = setInterval(() => {
800
804
  this.tick();
801
- }, Sa);
805
+ }, Xt);
802
806
  }
803
807
  async stop() {
804
808
  this.started = !1, this.disconnect(), this.tickInterval && (clearInterval(this.tickInterval), this.tickInterval = null);
@@ -825,7 +829,7 @@ class as {
825
829
  sendClientInfoMessage() {
826
830
  const e = {
827
831
  type: "clientInfo",
828
- id: fe(),
832
+ id: ce(),
829
833
  data: {
830
834
  referrer: window.location.href,
831
835
  userAgent: window.navigator.userAgent
@@ -841,7 +845,20 @@ class as {
841
845
  const e = Date.now();
842
846
  let t = !1;
843
847
  const i = e - this.lastAckTs;
844
- i > Sa + 5e3 && (t = !0, ne.info(`WSC: checkConnection: connection loss detected - last ack delay ${i} msec, reconnecting`)), t && this.disconnect();
848
+ i > Xt + 5e3 && (t = !0, ne.info(`WSC: checkConnection: connection loss detected - last ack delay ${i} msec, reconnecting`)), t && this.disconnect();
849
+ }
850
+ checkConnectionOnLifecycleResume() {
851
+ if (!this.connecting)
852
+ if (this._ws && this._ws.readyState === WebSocket.OPEN)
853
+ try {
854
+ this._ws.send(JSON.stringify({ type: "heartbeat", id: ce() })), this.lastTickTs = Date.now(), this.tickInterval && clearInterval(this.tickInterval), this.tickInterval = setInterval(() => {
855
+ this.tick();
856
+ }, Xt);
857
+ } catch {
858
+ this.disconnect();
859
+ }
860
+ else
861
+ this.disconnect();
845
862
  }
846
863
  sendMessage(e) {
847
864
  if (this.checkConnection(), !this.connected) {
@@ -1051,13 +1068,13 @@ const Ca = [
1051
1068
  "A",
1052
1069
  "A#",
1053
1070
  "B"
1054
- ], We = [], oa = [];
1071
+ ], We = [], ca = [];
1055
1072
  for (let a = 1; a <= 8; a++)
1056
1073
  for (let e = 0; e < Ca.length; e++) {
1057
1074
  const t = Ca[e];
1058
- We.push(t / Math.pow(2, 8 - a)), oa.push(ss[e] + a);
1075
+ We.push(t / Math.pow(2, 8 - a)), ca.push(ss[e] + a);
1059
1076
  }
1060
- const Ot = [32, 2e3], Aa = We.filter((a, e) => We[e] > Ot[0] && We[e] < Ot[1]), ns = oa.filter((a, e) => We[e] > Ot[0] && We[e] < Ot[1]);
1077
+ const Ot = [32, 2e3], Aa = We.filter((a, e) => We[e] > Ot[0] && We[e] < Ot[1]), ns = ca.filter((a, e) => We[e] > Ot[0] && We[e] < Ot[1]);
1061
1078
  class lt {
1062
1079
  /**
1063
1080
  * Retrieves frequency domain data from an AnalyserNode adjusted to a decibel range
@@ -1084,7 +1101,7 @@ class lt {
1084
1101
  break;
1085
1102
  }
1086
1103
  }
1087
- v = M, k = s === "voice" ? Aa : We, w = s === "voice" ? ns : oa;
1104
+ v = M, k = s === "voice" ? Aa : We, w = s === "voice" ? ns : ca;
1088
1105
  } else
1089
1106
  v = Array.from(i), k = v.map((E, M) => p * M), w = k.map((E) => `${E.toFixed(2)} Hz`);
1090
1107
  const _ = v.map((E) => Math.max(
@@ -2704,17 +2721,17 @@ class vs {
2704
2721
  let N = 0, X = k;
2705
2722
  C > 0 && (N = Math.max(0, Math.min(k, C - Z)), X = Math.max(N, Math.min(k, C + Z)));
2706
2723
  const te = Math.max(1, Math.floor(this.hop / this.ds));
2707
- let He = -1;
2724
+ let je = -1;
2708
2725
  for (let ae = N; ae <= X; ae += te) {
2709
2726
  let he = 0, ge = 0;
2710
2727
  for (let U = 0; U < o; U++) {
2711
2728
  const $e = _[U], Pe = P[ae + U];
2712
2729
  he += $e * Pe, ge += Pe * Pe;
2713
2730
  }
2714
- const H = E * (Math.sqrt(ge) + 1e-12), V = H > 0 ? he / H : 0;
2715
- if (V > He && (He = V), He > Math.min(0.98, this.threshold + 0.25)) break;
2731
+ const j = E * (Math.sqrt(ge) + 1e-12), V = j > 0 ? he / j : 0;
2732
+ if (V > je && (je = V), je > Math.min(0.98, this.threshold + 0.25)) break;
2716
2733
  }
2717
- if (He >= this.threshold) {
2734
+ if (je >= this.threshold) {
2718
2735
  if (this._holdRemain = Math.max(this._holdRemain, Math.round(this.holdMs * this.sr / 1e3)), this.mode === "drop") return null;
2719
2736
  for (let ae = 0; ae < i; ae++) t[ae] *= this.attenGain;
2720
2737
  return this._float32ToInt16(t);
@@ -3466,7 +3483,7 @@ function Is(a, e) {
3466
3483
  }
3467
3484
  return t;
3468
3485
  }
3469
- var Xt = /* @__PURE__ */ Cs(function(e, t, i) {
3486
+ var Yt = /* @__PURE__ */ Cs(function(e, t, i) {
3470
3487
  return Ts(e, Is(t, i));
3471
3488
  });
3472
3489
  const Es = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
@@ -3478,9 +3495,9 @@ var $s = Object.defineProperty, O = (a, e, t, i) => {
3478
3495
  const T = Ke.noConflict();
3479
3496
  T.setLevel("info");
3480
3497
  const ie = "cb_", Ps = (a) => new Promise((e) => setTimeout(e, a));
3481
- class R extends Jt {
3498
+ class R extends Zt {
3482
3499
  constructor() {
3483
- super(), this.actionIdCounter = 0, this.currentLoadContext = {}, this.prefilledFormValues = {}, this.wsClient = null, this.checkConnectionPromise = null, this.webAudioProcessor = null, this.webAudioTrackId = null, this.webAudioCurrentMark = null, this.replyMessage = null, this.streamingResponseInProgress = !1, this.streamingResponseLastText = null, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null, this.tabsBroadcastChannel = new BroadcastChannel("c7o-bot-tabs"), this.tabId = "c7o-bot-tab-" + (self.crypto?.randomUUID?.() || Math.random().toString(36).slice(2)), this.tabsBroadcastChannel.addEventListener("message", this.handleBroadcastMessage.bind(this)), console.log(`c7o: AppState: created, tabId=${this.tabId}`);
3500
+ super(), this.actionIdCounter = 0, this.currentLoadContext = {}, this.prefilledFormValues = {}, this.wsClient = null, this.checkConnectionOnLifecycleResumePromise = null, this.webAudioProcessor = null, this.webAudioTrackId = null, this.webAudioCurrentMark = null, this.replyMessage = null, this.streamingResponseInProgress = !1, this.streamingResponseLastText = null, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0, this.streamingResponseCurrentTag = null, this.tabsBroadcastChannel = new BroadcastChannel("c7o-bot-tabs"), this.tabId = "c7o-bot-tab-" + (self.crypto?.randomUUID?.() || Math.random().toString(36).slice(2)), this.tabsBroadcastChannel.addEventListener("message", this.handleBroadcastMessage.bind(this)), console.log(`c7o: AppState: created, tabId=${this.tabId}`);
3484
3501
  }
3485
3502
  // this is called at startup
3486
3503
  setSetting(e) {
@@ -3526,7 +3543,7 @@ class R extends Jt {
3526
3543
  }, this.botSettingsRetryTimeout * 1e3), this.botSettingsRetryTimeout = this.botSettingsRetryTimeout * 2;
3527
3544
  return;
3528
3545
  }
3529
- T.info("Got bot settings - bot is enabled", o), this.disabled = !1, this.setting.welcomeMessage = o?.welcomeMessage || "How can I help ?", this.setting.disclaimerMessage = o?.disclaimerMessage && o.disclaimerMessage !== "" ? o.disclaimerMessage : null, this.setting.engageMessage = o?.engageMessage || "How can I help ?", this.setting.engageTimeout = o?.engageTimeout || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in o ? o.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in o ? o.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in o ? o.uploadImages : !1, this.setting.newConversationTimeoutInSec = o?.newConversationTimeoutInSec || 86400, this.setting.enableNotificationSound = "enableNotificationSound" in o ? o.enableNotificationSound : !0, this.setting.botAdvancedSettings = o?.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.enableShowFullDisclaimerMessage = this.setting.botAdvancedSettings?.enableShowFullDisclaimerMessage ?? !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.engagePopupSuppressPermanently = this.setting.botAdvancedSettings?.engagePopupSuppressPermanently || 0, this.setting.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
3546
+ T.info("Got bot settings - bot is enabled", o), this.disabled = !1, this.setting.welcomeMessage = o?.welcomeMessage || "How can I help ?", this.setting.disclaimerMessage = o?.disclaimerMessage && o.disclaimerMessage !== "" ? o.disclaimerMessage : null, this.setting.engageMessage = o?.engageMessage || "How can I help ?", this.setting.engageTimeout = o?.engageTimeout || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in o ? o.splitMessagesAtBreak : !1, this.setting.feedbackEnabled = "feedbackEnabled" in o ? o.feedbackEnabled : !1, this.setting.uploadImages = "uploadImages" in o ? o.uploadImages : !1, this.setting.newConversationTimeoutInSec = o?.newConversationTimeoutInSec || 86400, this.setting.enableNotificationSound = "enableNotificationSound" in o ? o.enableNotificationSound : !0, this.setting.botAdvancedSettings = o?.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.enableShowFullDisclaimerMessage = this.setting.botAdvancedSettings?.enableShowFullDisclaimerMessage ?? !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.enableTicketCreatedMessage = this.setting.botAdvancedSettings?.enableTicketCreatedMessage ?? !1, this.setting.showNewConversationOnAgentDisconnected = this.setting.botAdvancedSettings?.showNewConversationOnAgentDisconnected ?? !1, this.setting.engagePopupSuppressPermanently = this.setting.botAdvancedSettings?.engagePopupSuppressPermanently || 0, this.setting.enableMultiModalConnection ? this.setting.enableAudio = !0 : this.setting.enableAudio = !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
3530
3547
  this.showEngagePopup();
3531
3548
  }, this.setting.engageTimeout * 1e3);
3532
3549
  }
@@ -3559,7 +3576,7 @@ class R extends Jt {
3559
3576
  this.initStartupForm();
3560
3577
  }
3561
3578
  async clearConversation(e = !0) {
3562
- await this.stopAudio(), this.mediaStartedAudio = !1, this.wsClient && e && (await this.wsClient.stop(), this.wsClient = null), this.connected = !1, this.conversationId = fe(), this.lastConversationUpdate = Date.now(), e && (this.connectWs = "false", this.shouldEngage = "true"), this.messages = [], this.unreadMessages = 0, this.actions = [], this.showNewConversation = !1, this.context = this.currentLoadContext, this.form = null, this.addMessage({
3579
+ await this.stopAudio(), this.mediaStartedAudio = !1, this.wsClient && e && (await this.wsClient.stop(), this.wsClient = null), this.connected = !1, this.conversationId = ce(), this.lastConversationUpdate = Date.now(), e && (this.connectWs = "false", this.shouldEngage = "true"), this.messages = [], this.unreadMessages = 0, this.actions = [], this.showNewConversation = !1, this.context = this.currentLoadContext, this.form = null, this.addMessage({
3563
3580
  author: "assistant",
3564
3581
  type: "text",
3565
3582
  data: {
@@ -3597,6 +3614,19 @@ class R extends Jt {
3597
3614
  }
3598
3615
  }), this.setting.showNewConversationOnAgentDisconnected && (this.showNewConversation = !0);
3599
3616
  }
3617
+ async handleTicketCreated(e) {
3618
+ if (!this.setting.enableTicketCreatedMessage)
3619
+ return;
3620
+ const t = e?.text || e?.content || "Ticket was created";
3621
+ this.lastConversationUpdate = Date.now(), this.addMessage({
3622
+ id: e?.id || null,
3623
+ author: "system",
3624
+ type: "info",
3625
+ data: {
3626
+ text: t
3627
+ }
3628
+ });
3629
+ }
3600
3630
  // BROADCAST // ///////////////////////////////////////////////////
3601
3631
  async handleBroadcastMessage(e) {
3602
3632
  const t = e?.data || null;
@@ -3616,7 +3646,7 @@ class R extends Jt {
3616
3646
  // we will start actual audio capture only after we receive mediaStarted confirmation from server
3617
3647
  async startAudio() {
3618
3648
  this.mediaStartAudioRequested || (this.webAudioProcessor || (this.webAudioProcessor = new gt(), this.webAudioProcessor.on("audio", this.onAudioChunkCaptured.bind(this)), this.webAudioProcessor.on("playbackEnded", this.onPlaybackEnded.bind(this)), this.webAudioProcessor.on("terminate", this.onWebAudioTerminate.bind(this))), await this.sendEvent({
3619
- id: fe(),
3649
+ id: ce(),
3620
3650
  type: "mediaStart",
3621
3651
  mediaType: "audio",
3622
3652
  mimeType: "audio/L16",
@@ -3630,7 +3660,7 @@ class R extends Jt {
3630
3660
  }
3631
3661
  async stopAudio() {
3632
3662
  this.webAudioProcessor && (this.webAudioProcessor.removeAllListeners(), await this.stopWebAudio(), this.webAudioProcessor = null, await this.sendEvent({
3633
- id: fe(),
3663
+ id: ce(),
3634
3664
  type: "mediaStop",
3635
3665
  mediaType: "audio"
3636
3666
  }), this.postBroadcastMessage({
@@ -3654,7 +3684,7 @@ class R extends Jt {
3654
3684
  }
3655
3685
  async onAudioChunkCaptured(e) {
3656
3686
  !e || !e.audio || await this.sendEvent({
3657
- id: fe(),
3687
+ id: ce(),
3658
3688
  type: "media",
3659
3689
  mediaType: "audio",
3660
3690
  media: {
@@ -3665,7 +3695,7 @@ class R extends Jt {
3665
3695
  // When finished playing audio, clear trackId and send mark message
3666
3696
  async onPlaybackEnded() {
3667
3697
  this.webAudioCurrentMark && (T.info(`c7o: mark ${this.webAudioCurrentMark} completed`), await this.sendEvent({
3668
- id: fe(),
3698
+ id: ce(),
3669
3699
  type: "mediaMark",
3670
3700
  mark: {
3671
3701
  name: this.webAudioCurrentMark
@@ -3692,7 +3722,7 @@ class R extends Jt {
3692
3722
  if (!e || e?.type !== "media" || !e?.media || e?.mediaType !== "audio" || !e?.media?.payload || !this.webAudioProcessor || !this.webAudioStarted)
3693
3723
  return;
3694
3724
  const t = e.media.payload;
3695
- this.webAudioTrackId || (this.webAudioTrackId = fe()), T.info(`${Date.now()}: Playing audio: ${t.length} bytes, trackId: ${this.webAudioTrackId}`), await this.webAudioProcessor.playAudio(t, this.webAudioTrackId);
3725
+ this.webAudioTrackId || (this.webAudioTrackId = ce()), T.info(`${Date.now()}: Playing audio: ${t.length} bytes, trackId: ${this.webAudioTrackId}`), await this.webAudioProcessor.playAudio(t, this.webAudioTrackId);
3696
3726
  }
3697
3727
  // {"type": "mediaMark","mark": {"name": "1757277902935"}}
3698
3728
  async handleMediaMark(e) {
@@ -3728,7 +3758,7 @@ class R extends Jt {
3728
3758
  return;
3729
3759
  }
3730
3760
  const t = {
3731
- id: fe(),
3761
+ id: ce(),
3732
3762
  type: "setContext",
3733
3763
  contextData: this.context
3734
3764
  };
@@ -3749,7 +3779,7 @@ class R extends Jt {
3749
3779
  T.info("Startup form not suppressed by widget settings.");
3750
3780
  return;
3751
3781
  }
3752
- const e = Xt(null, ["startupForm"], this.botSettings);
3782
+ const e = Yt(null, ["startupForm"], this.botSettings);
3753
3783
  if (!e || !e?.name) {
3754
3784
  T.info("Startup form not present");
3755
3785
  return;
@@ -3757,10 +3787,10 @@ class R extends Jt {
3757
3787
  this.initForm(e);
3758
3788
  }
3759
3789
  initForm(e = null) {
3760
- const t = e, i = Xt(null, ["name"], e);
3790
+ const t = e, i = Yt(null, ["name"], e);
3761
3791
  if (!t || !i)
3762
3792
  return;
3763
- const s = Xt(null, ["fields"], e);
3793
+ const s = Yt(null, ["fields"], e);
3764
3794
  if (!Array.isArray(s) || s.length <= 0) {
3765
3795
  T.info("form has no fields", e);
3766
3796
  return;
@@ -3854,23 +3884,24 @@ class R extends Jt {
3854
3884
  T.info(`WSC: connection closed, connected: ${this.wsClient?.connected}`, e), this.stopWebAudio().catch((t) => {
3855
3885
  }), this.connected = !1;
3856
3886
  }
3857
- async _checkConnection() {
3887
+ async _checkConnectionOnLifecycleResume() {
3858
3888
  try {
3859
3889
  const e = await this.getWsClient();
3860
3890
  if (!e) {
3861
3891
  T.error("Error - failed to obtain ws client for check connection");
3862
3892
  return;
3863
3893
  }
3864
- e.checkConnection();
3894
+ e.checkConnectionOnLifecycleResume();
3865
3895
  } catch (e) {
3866
- T.error(`Check connection failed: ${e.message}`);
3896
+ T.error(`Check connection on lifecycle resume failed: ${e.message}`);
3867
3897
  }
3868
3898
  }
3869
3899
  // Check connection for parallel calls - if there is already a check in progress, wait for it instead of starting a new one
3870
- async checkConnection() {
3871
- return this.checkConnectionPromise || (this.checkConnectionPromise = this._checkConnection().finally(() => {
3872
- this.checkConnectionPromise = null;
3873
- })), this.checkConnectionPromise;
3900
+ async checkConnectionOnLifecycleResume() {
3901
+ return this.checkConnectionOnLifecycleResumePromise || (this.checkConnectionOnLifecycleResumePromise = this._checkConnectionOnLifecycleResume().catch(() => {
3902
+ }).finally(() => {
3903
+ this.checkConnectionOnLifecycleResumePromise = null;
3904
+ })), this.checkConnectionOnLifecycleResumePromise;
3874
3905
  }
3875
3906
  // Called on browser/app lifecycle resume events to quickly recover stale socket state.
3876
3907
  handleLifecycleResume(e = "unknown", t = () => {
@@ -3883,7 +3914,8 @@ class R extends Jt {
3883
3914
  T.info("WSC: lifecycle resume - conversation just started, skipping connection check");
3884
3915
  return;
3885
3916
  }
3886
- T.info(`WSC: lifecycle resume (${e})`), this.checkConnection().finally(() => {
3917
+ T.info(`WSC: lifecycle resume (${e})`), this.checkConnectionOnLifecycleResume().catch(() => {
3918
+ }).finally(() => {
3887
3919
  t();
3888
3920
  });
3889
3921
  }
@@ -3922,7 +3954,7 @@ class R extends Jt {
3922
3954
  handleWscConnecting(e) {
3923
3955
  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(
3924
3956
  {
3925
- id: fe(),
3957
+ id: ce(),
3926
3958
  type: "setContext",
3927
3959
  contextData: this.context
3928
3960
  },
@@ -4006,6 +4038,11 @@ class R extends Jt {
4006
4038
  });
4007
4039
  break;
4008
4040
  }
4041
+ case "ticket-created": {
4042
+ this.handleTicketCreated(e).catch((i) => {
4043
+ });
4044
+ break;
4045
+ }
4009
4046
  //{"type":"agent-connected","author":"assistant","userName":"SF DEV ADMIN"}
4010
4047
  //{"type":"agent-disconnected","author":"assistant","userName":"SF DEV ADMIN"}
4011
4048
  case "form": {
@@ -4176,7 +4213,7 @@ class R extends Jt {
4176
4213
  }
4177
4214
  // TODO revisit below
4178
4215
  formatMessage(e) {
4179
- return e.id || (e.id = fe()), e.timestamp || (e.timestamp = Date.now()), e.author === "assistant" && !e.replyId && (e.replyId = this.messages.findLast((t) => t.author === "user")?.id || void 0), e;
4216
+ return e.id || (e.id = ce()), e.timestamp || (e.timestamp = Date.now()), e.author === "assistant" && !e.replyId && (e.replyId = this.messages.findLast((t) => t.author === "user")?.id || void 0), e;
4180
4217
  }
4181
4218
  // add message
4182
4219
  addMessage(e) {
@@ -4263,7 +4300,7 @@ class R extends Jt {
4263
4300
  return;
4264
4301
  }
4265
4302
  s.sendMessage({
4266
- id: fe(),
4303
+ id: ce(),
4267
4304
  type: "feedback",
4268
4305
  score: this.feedbackScore,
4269
4306
  userMessage: this.feedbackUserMessage,
@@ -4300,7 +4337,7 @@ class R extends Jt {
4300
4337
  }
4301
4338
  async uploadFiles(e) {
4302
4339
  if (!e?.length) return;
4303
- const t = u.setting.fileUploadMaxFileSizeMB || 30, i = t * 1024 * 1024, s = e?.find((v) => v.size > i);
4340
+ const t = h.setting.fileUploadMaxFileSizeMB || 30, i = t * 1024 * 1024, s = e?.find((v) => v.size > i);
4304
4341
  if (s) {
4305
4342
  T.error(
4306
4343
  `File "${s.name}" exceeds the ${t} MB limit and will not be uploaded.`
@@ -4319,7 +4356,7 @@ class R extends Jt {
4319
4356
  T.error("Error - failed to obtain ws client");
4320
4357
  return;
4321
4358
  }
4322
- const f = fe();
4359
+ const f = ce();
4323
4360
  o.sendMessage({
4324
4361
  id: f,
4325
4362
  type: "upload",
@@ -4338,49 +4375,49 @@ class R extends Jt {
4338
4375
  }
4339
4376
  notifyWidgetOpenState() {
4340
4377
  this.wsClient && this.wsClient.sendMessage({
4341
- id: fe(),
4378
+ id: ce(),
4342
4379
  type: "widgetState",
4343
4380
  open: this.open
4344
4381
  });
4345
4382
  }
4346
4383
  }
4347
4384
  O([
4348
- ce({ prefix: ie }),
4385
+ le({ prefix: ie }),
4349
4386
  z({ value: "en" })
4350
4387
  ], R.prototype, "language");
4351
4388
  O([
4352
- ce({ prefix: ie }),
4389
+ le({ prefix: ie }),
4353
4390
  z({ value: "light" })
4354
4391
  ], R.prototype, "theme");
4355
4392
  O([
4356
- ce({ prefix: ie }),
4393
+ le({ prefix: ie }),
4357
4394
  z({ type: Boolean, value: !1 })
4358
4395
  ], R.prototype, "open");
4359
4396
  O([
4360
4397
  z({ type: Boolean, value: !1 })
4361
4398
  ], R.prototype, "alwaysOpen");
4362
4399
  O([
4363
- ce({ prefix: ie }),
4400
+ le({ prefix: ie }),
4364
4401
  z({ value: "false" })
4365
4402
  ], R.prototype, "connectWs");
4366
4403
  O([
4367
- ce({ prefix: ie }),
4368
- z({ value: fe() })
4404
+ le({ prefix: ie }),
4405
+ z({ value: ce() })
4369
4406
  ], R.prototype, "conversationId");
4370
4407
  O([
4371
- ce({ prefix: ie }),
4408
+ le({ prefix: ie }),
4372
4409
  z({ value: 0 })
4373
4410
  ], R.prototype, "lastConversationUpdate");
4374
4411
  O([
4375
- ce({ prefix: ie }),
4412
+ le({ prefix: ie }),
4376
4413
  z({ type: Array, value: [] })
4377
4414
  ], R.prototype, "messages");
4378
4415
  O([
4379
- ce({ prefix: ie }),
4416
+ le({ prefix: ie }),
4380
4417
  z({ value: 0 })
4381
4418
  ], R.prototype, "unreadMessages");
4382
4419
  O([
4383
- ce({ prefix: ie }),
4420
+ le({ prefix: ie }),
4384
4421
  z({
4385
4422
  type: Array,
4386
4423
  value: []
@@ -4425,7 +4462,7 @@ O([
4425
4462
  })
4426
4463
  ], R.prototype, "actions");
4427
4464
  O([
4428
- ce({ prefix: ie }),
4465
+ le({ prefix: ie }),
4429
4466
  z({ type: Object, value: null })
4430
4467
  ], R.prototype, "form");
4431
4468
  O([
@@ -4447,21 +4484,21 @@ O([
4447
4484
  z({ type: Boolean, value: !1 })
4448
4485
  ], R.prototype, "connected");
4449
4486
  O([
4450
- ce({ prefix: ie }),
4487
+ le({ prefix: ie }),
4451
4488
  z({ value: "true" })
4452
4489
  ], R.prototype, "shouldEngage");
4453
4490
  O([
4454
4491
  z({ type: Boolean, value: !1 })
4455
4492
  ], R.prototype, "engage");
4456
4493
  O([
4457
- ce({ prefix: ie }),
4494
+ le({ prefix: ie }),
4458
4495
  z({ type: Boolean, value: !1 })
4459
4496
  ], R.prototype, "showNewConversation");
4460
4497
  O([
4461
4498
  z({ type: Boolean, value: !1 })
4462
4499
  ], R.prototype, "typingActive");
4463
4500
  O([
4464
- ce({ prefix: ie }),
4501
+ le({ prefix: ie }),
4465
4502
  z({
4466
4503
  type: Object,
4467
4504
  value: {
@@ -4486,13 +4523,14 @@ O([
4486
4523
  fileUploadEnabledExtensions: ".jpeg,.jpg,.png,.pdf,.txt,.har,.zip,.mov,.mp4,.mp3",
4487
4524
  fileUploadMaxFileSizeMB: 30,
4488
4525
  enableAgentDisconnectedMessage: !1,
4526
+ enableTicketCreatedMessage: !1,
4489
4527
  showNewConversationOnAgentDisconnected: !1,
4490
4528
  engagePopupSuppressPermanently: 0
4491
4529
  }
4492
4530
  })
4493
4531
  ], R.prototype, "setting");
4494
4532
  O([
4495
- ce({ prefix: ie }),
4533
+ le({ prefix: ie }),
4496
4534
  z({ type: Object, value: {} })
4497
4535
  ], R.prototype, "context");
4498
4536
  O([
@@ -4526,11 +4564,11 @@ O([
4526
4564
  z({ type: Array, value: [] })
4527
4565
  ], R.prototype, "feedbackMessages");
4528
4566
  O([
4529
- ce({ prefix: ie }),
4567
+ le({ prefix: ie }),
4530
4568
  z({ type: String, value: "" })
4531
4569
  ], R.prototype, "feedbackName");
4532
4570
  O([
4533
- ce({ prefix: ie }),
4571
+ le({ prefix: ie }),
4534
4572
  z({ type: String, value: "" })
4535
4573
  ], R.prototype, "feedbackEmail");
4536
4574
  O([
@@ -4545,7 +4583,7 @@ O([
4545
4583
  O([
4546
4584
  z({ type: Boolean, value: !1 })
4547
4585
  ], R.prototype, "webAudioMuted");
4548
- const u = new R(), Ls = K`
4586
+ const h = new R(), Ls = K`
4549
4587
  ${ke}
4550
4588
  :host {
4551
4589
  position: relative;
@@ -4683,13 +4721,13 @@ let Bt = class extends re {
4683
4721
  renderExp() {
4684
4722
  return b` <header class="cb-header" part="header">
4685
4723
  ${W(
4686
- u.setting.logoUrl !== "",
4687
- () => b`<img class="cb-header-logo" part="header-logo" src="${u.setting.logoUrl}" />`,
4688
- () => b`<div class="cb-header-logo" part="header-logo">${G(u.setting.logoSvg)}</div>`
4724
+ h.setting.logoUrl !== "",
4725
+ () => b`<img class="cb-header-logo" part="header-logo" src="${h.setting.logoUrl}" />`,
4726
+ () => b`<div class="cb-header-logo" part="header-logo">${G(h.setting.logoSvg)}</div>`
4689
4727
  )}
4690
4728
  <div class="cb-header-title" part="header-title">${xt(this.title)}</div>
4691
4729
  ${W(
4692
- u.alwaysOpen,
4730
+ h.alwaysOpen,
4693
4731
  () => b``,
4694
4732
  () => b`<div class="cb-header-close" part="header-close">${G(qs)}</div>`
4695
4733
  )}
@@ -4698,15 +4736,15 @@ let Bt = class extends re {
4698
4736
  render() {
4699
4737
  return b`<header class="cb-header" part="header">
4700
4738
  ${W(
4701
- u.setting.logoUrl !== "",
4702
- () => b`<img class="cb-header-img" part="header-logo" src="${u.setting.logoUrl}" />`,
4703
- () => b`<div class="cb-header-logo" part="header-logo">${G(u.setting.logoSvg)}</div>`
4739
+ h.setting.logoUrl !== "",
4740
+ () => b`<img class="cb-header-img" part="header-logo" src="${h.setting.logoUrl}" />`,
4741
+ () => b`<div class="cb-header-logo" part="header-logo">${G(h.setting.logoSvg)}</div>`
4704
4742
  )}
4705
4743
  <div class="cb-header-title" part="header-title">${this.title}</div>
4706
4744
  ${W(
4707
- u.alwaysOpen,
4745
+ h.alwaysOpen,
4708
4746
  () => b`<div></div>`,
4709
- () => b`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${G(u.setting.closeSvg)}</div>`
4747
+ () => b`<div @click=${this._clickCloseHandler} class="cb-header-close" part="header-close">${G(h.setting.closeSvg)}</div>`
4710
4748
  )}
4711
4749
  </header>`;
4712
4750
  }
@@ -4755,12 +4793,12 @@ const Ds = K`
4755
4793
  color: var(--primary-color);
4756
4794
  }
4757
4795
  `;
4758
- var Fs = Object.getOwnPropertyDescriptor, js = (a, e, t, i) => {
4796
+ var Fs = Object.getOwnPropertyDescriptor, Hs = (a, e, t, i) => {
4759
4797
  for (var s = i > 1 ? void 0 : i ? Fs(e, t) : e, r = a.length - 1, o; r >= 0; r--)
4760
4798
  (o = a[r]) && (s = o(s) || s);
4761
4799
  return s;
4762
4800
  };
4763
- let Zt = class extends re {
4801
+ let Qt = class extends re {
4764
4802
  constructor() {
4765
4803
  super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
4766
4804
  }
@@ -4795,11 +4833,11 @@ let Zt = class extends re {
4795
4833
  `;
4796
4834
  }
4797
4835
  };
4798
- Zt.styles = Ds;
4799
- Zt = js([
4836
+ Qt.styles = Ds;
4837
+ Qt = Hs([
4800
4838
  J("cb-footer")
4801
- ], Zt);
4802
- const Hs = K`
4839
+ ], Qt);
4840
+ const js = K`
4803
4841
  ${ke}
4804
4842
 
4805
4843
  :host {
@@ -5245,7 +5283,7 @@ const Hs = K`
5245
5283
  }
5246
5284
  .split-btn[aria-expanded="true"] .split-btn__caret { transform: rotate(180deg); }
5247
5285
  `;
5248
- var Vs = Object.defineProperty, Us = Object.getOwnPropertyDescriptor, je = (a, e, t, i) => {
5286
+ var Vs = Object.defineProperty, Us = Object.getOwnPropertyDescriptor, He = (a, e, t, i) => {
5249
5287
  for (var s = i > 1 ? void 0 : i ? Us(e, t) : e, r = a.length - 1, o; r >= 0; r--)
5250
5288
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
5251
5289
  return i && s && Vs(e, t, s), s;
@@ -5335,13 +5373,13 @@ mt.styles = K`
5335
5373
  }
5336
5374
  .item:active { transform: scale(.98); }
5337
5375
  `;
5338
- je([
5376
+ He([
5339
5377
  x({ type: Array })
5340
5378
  ], mt.prototype, "options", 2);
5341
- je([
5379
+ He([
5342
5380
  x({ type: Number })
5343
5381
  ], mt.prototype, "minWidth", 2);
5344
- mt = je([
5382
+ mt = He([
5345
5383
  J("cb-split-menu")
5346
5384
  ], mt);
5347
5385
  let Ge = class extends Fe {
@@ -5430,22 +5468,22 @@ let Ge = class extends Fe {
5430
5468
  }
5431
5469
  };
5432
5470
  Ge.styles = Qa;
5433
- je([
5471
+ He([
5434
5472
  x({ type: String })
5435
5473
  ], Ge.prototype, "variant", 2);
5436
- je([
5474
+ He([
5437
5475
  x({ type: String })
5438
5476
  ], Ge.prototype, "label", 2);
5439
- je([
5477
+ He([
5440
5478
  x({ type: Array })
5441
5479
  ], Ge.prototype, "options", 2);
5442
- je([
5480
+ He([
5443
5481
  x({ type: String })
5444
5482
  ], Ge.prototype, "size", 2);
5445
- je([
5483
+ He([
5446
5484
  xe(".split-btn")
5447
5485
  ], Ge.prototype, "_btn", 2);
5448
- Ge = je([
5486
+ Ge = He([
5449
5487
  J("cb-split-button")
5450
5488
  ], Ge);
5451
5489
  var Ns = Object.defineProperty, Ws = Object.getOwnPropertyDescriptor, kt = (a, e, t, i) => {
@@ -5856,9 +5894,9 @@ function Js() {
5856
5894
  function r(n) {
5857
5895
  var c = (function(l, d) {
5858
5896
  if (typeof l != "object" || !l) return l;
5859
- var h = l[Symbol.toPrimitive];
5860
- if (h !== void 0) {
5861
- var m = h.call(l, d);
5897
+ var u = l[Symbol.toPrimitive];
5898
+ if (u !== void 0) {
5899
+ var m = u.call(l, d);
5862
5900
  if (typeof m != "object") return m;
5863
5901
  throw new TypeError("@@toPrimitive must return a primitive value.");
5864
5902
  }
@@ -5877,32 +5915,32 @@ function Js() {
5877
5915
  function p() {
5878
5916
  var n = {}, c = !0, l = 0, d = arguments.length;
5879
5917
  Object.prototype.toString.call(arguments[0]) === "[object Boolean]" && (c = arguments[0], l++);
5880
- for (var h = function(g) {
5918
+ for (var u = function(g) {
5881
5919
  for (var y in g) Object.prototype.hasOwnProperty.call(g, y) && (c && Object.prototype.toString.call(g[y]) === "[object Object]" ? n[y] = p(!0, n[y], g[y]) : n[y] = g[y]);
5882
5920
  }; l < d; l++) {
5883
5921
  var m = arguments[l];
5884
- h(m);
5922
+ u(m);
5885
5923
  }
5886
5924
  return n;
5887
5925
  }
5888
5926
  function v(n, c) {
5889
- if ((U(n) || n === window || n === document) && (n = [n]), Pe(n) || Ve(n) || (n = [n]), ba(n) != 0) {
5927
+ if ((U(n) || n === window || n === document) && (n = [n]), Pe(n) || Ve(n) || (n = [n]), pa(n) != 0) {
5890
5928
  if (Pe(n) && !Ve(n)) for (var l = n.length, d = 0; d < l && c.call(n[d], n[d], d, n) !== !1; d++) ;
5891
5929
  else if (Ve(n)) {
5892
- for (var h in n) if (se(n, h) && c.call(n[h], n[h], h, n) === !1) break;
5930
+ for (var u in n) if (se(n, u) && c.call(n[u], n[u], u, n) === !1) break;
5893
5931
  }
5894
5932
  }
5895
5933
  }
5896
5934
  function k(n) {
5897
- var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n[f] = n[f] || [], h = { all: d, evt: null, found: null };
5898
- return c && l && ba(d) > 0 && v(d, (function(m, g) {
5899
- if (m.eventName == c && m.fn.toString() == l.toString()) return h.found = !0, h.evt = g, !1;
5900
- })), h;
5935
+ var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n[f] = n[f] || [], u = { all: d, evt: null, found: null };
5936
+ return c && l && pa(d) > 0 && v(d, (function(m, g) {
5937
+ if (m.eventName == c && m.fn.toString() == l.toString()) return u.found = !0, u.evt = g, !1;
5938
+ })), u;
5901
5939
  }
5902
5940
  function w(n) {
5903
- 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 || [];
5941
+ var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l = c.onElement, d = c.withCallback, u = c.avoidDuplicate, m = u === void 0 || u, 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 || [];
5904
5942
  function B(q) {
5905
- H(d) && d.call(I, q, this), y && B.destroy();
5943
+ j(d) && d.call(I, q, this), y && B.destroy();
5906
5944
  }
5907
5945
  return V($) && ($ = document.querySelectorAll($)), B.destroy = function() {
5908
5946
  v($, (function(q) {
@@ -5936,14 +5974,14 @@ function Js() {
5936
5974
  function L(n) {
5937
5975
  var c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "", l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
5938
5976
  if (!n || c === "") return !1;
5939
- if (c === "none") return H(l) && l(), !1;
5940
- var d = He(), h = c.split(" ");
5941
- v(h, (function(m) {
5977
+ if (c === "none") return j(l) && l(), !1;
5978
+ var d = je(), u = c.split(" ");
5979
+ v(u, (function(m) {
5942
5980
  _(n, "g" + m);
5943
5981
  })), w(d, { onElement: n, avoidDuplicate: !1, once: !0, withCallback: function(m, g) {
5944
- v(h, (function(y) {
5982
+ v(u, (function(y) {
5945
5983
  P(g, "g" + y);
5946
- })), H(l) && l();
5984
+ })), j(l) && l();
5947
5985
  } });
5948
5986
  }
5949
5987
  function C(n) {
@@ -5965,32 +6003,32 @@ function Js() {
5965
6003
  function te() {
5966
6004
  return { width: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, height: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight };
5967
6005
  }
5968
- function He() {
6006
+ function je() {
5969
6007
  var n, c = document.createElement("fakeelement"), l = { animation: "animationend", OAnimation: "oAnimationEnd", MozAnimation: "animationend", WebkitAnimation: "webkitAnimationEnd" };
5970
6008
  for (n in l) if (c.style[n] !== void 0) return l[n];
5971
6009
  }
5972
6010
  function ae(n, c, l, d) {
5973
6011
  if (n()) c();
5974
6012
  else {
5975
- var h;
6013
+ var u;
5976
6014
  l || (l = 100);
5977
6015
  var m = setInterval((function() {
5978
- n() && (clearInterval(m), h && clearTimeout(h), c());
6016
+ n() && (clearInterval(m), u && clearTimeout(u), c());
5979
6017
  }), l);
5980
6018
  }
5981
6019
  }
5982
6020
  function he(n, c, l) {
5983
6021
  if (ue(n)) console.error("Inject assets error");
5984
- else if (H(c) && (l = c, c = !1), V(c) && c in window) H(l) && l();
6022
+ else if (j(c) && (l = c, c = !1), V(c) && c in window) j(l) && l();
5985
6023
  else {
5986
6024
  var d;
5987
6025
  if (n.indexOf(".css") !== -1) {
5988
- if ((d = document.querySelectorAll('link[href="' + n + '"]')) && d.length > 0) return void (H(l) && l());
5989
- var h = document.getElementsByTagName("head")[0], m = h.querySelectorAll('link[rel="stylesheet"]'), g = document.createElement("link");
5990
- return g.rel = "stylesheet", g.type = "text/css", g.href = n, g.media = "all", m ? h.insertBefore(g, m[0]) : h.appendChild(g), void (H(l) && l());
6026
+ if ((d = document.querySelectorAll('link[href="' + n + '"]')) && d.length > 0) return void (j(l) && l());
6027
+ var u = document.getElementsByTagName("head")[0], m = u.querySelectorAll('link[rel="stylesheet"]'), g = document.createElement("link");
6028
+ return g.rel = "stylesheet", g.type = "text/css", g.href = n, g.media = "all", m ? u.insertBefore(g, m[0]) : u.appendChild(g), void (j(l) && l());
5991
6029
  }
5992
6030
  if ((d = document.querySelectorAll('script[src="' + n + '"]')) && d.length > 0) {
5993
- if (H(l)) {
6031
+ if (j(l)) {
5994
6032
  if (V(c)) return ae((function() {
5995
6033
  return window[c] !== void 0;
5996
6034
  }), (function() {
@@ -6001,7 +6039,7 @@ function Js() {
6001
6039
  } else {
6002
6040
  var y = document.createElement("script");
6003
6041
  y.type = "text/javascript", y.src = n, y.onload = function() {
6004
- if (H(l)) {
6042
+ if (j(l)) {
6005
6043
  if (V(c)) return ae((function() {
6006
6044
  return window[c] !== void 0;
6007
6045
  }), (function() {
@@ -6016,7 +6054,7 @@ function Js() {
6016
6054
  function ge() {
6017
6055
  return "navigator" in window && window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i);
6018
6056
  }
6019
- function H(n) {
6057
+ function j(n) {
6020
6058
  return typeof n == "function";
6021
6059
  }
6022
6060
  function V(n) {
@@ -6032,7 +6070,7 @@ function Js() {
6032
6070
  return n && n.length && isFinite(n.length);
6033
6071
  }
6034
6072
  function Ve(n) {
6035
- return o(n) === "object" && n != null && !H(n) && !$e(n);
6073
+ return o(n) === "object" && n != null && !j(n) && !$e(n);
6036
6074
  }
6037
6075
  function ue(n) {
6038
6076
  return n == null;
@@ -6040,7 +6078,7 @@ function Js() {
6040
6078
  function se(n, c) {
6041
6079
  return n !== null && hasOwnProperty.call(n, c);
6042
6080
  }
6043
- function ba(n) {
6081
+ function pa(n) {
6044
6082
  if (Ve(n)) {
6045
6083
  if (n.keys) return n.keys().length;
6046
6084
  var c = 0;
@@ -6052,7 +6090,7 @@ function Js() {
6052
6090
  function _t(n) {
6053
6091
  return !isNaN(parseFloat(n)) && isFinite(n);
6054
6092
  }
6055
- function pa() {
6093
+ function ga() {
6056
6094
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1, c = document.querySelectorAll(".gbtn[data-taborder]:not(.disabled)");
6057
6095
  if (!c.length) return !1;
6058
6096
  if (c.length == 1) return c[0];
@@ -6063,10 +6101,10 @@ function Js() {
6063
6101
  }));
6064
6102
  var d = Math.max.apply(Math, l.map((function(y) {
6065
6103
  return parseInt(y);
6066
- }))), h = n < 0 ? 1 : n + 1;
6067
- h > d && (h = "1");
6104
+ }))), u = n < 0 ? 1 : n + 1;
6105
+ u > d && (u = "1");
6068
6106
  var m = l.filter((function(y) {
6069
- return y >= parseInt(h);
6107
+ return y >= parseInt(u);
6070
6108
  })), g = m.sort()[0];
6071
6109
  return document.querySelector('.gbtn[data-taborder="'.concat(g, '"]'));
6072
6110
  }
@@ -6075,27 +6113,27 @@ function Js() {
6075
6113
  n.events.keyboard = w("keydown", { onElement: window, withCallback: function(c, l) {
6076
6114
  var d = (c = c || window.event).keyCode;
6077
6115
  if (d == 9) {
6078
- var h = document.querySelector(".gbtn.focused");
6079
- if (!h) {
6116
+ var u = document.querySelector(".gbtn.focused");
6117
+ if (!u) {
6080
6118
  var m = !(!document.activeElement || !document.activeElement.nodeName) && document.activeElement.nodeName.toLocaleLowerCase();
6081
6119
  if (m == "input" || m == "textarea" || m == "button") return;
6082
6120
  }
6083
6121
  c.preventDefault();
6084
6122
  var g = document.querySelectorAll(".gbtn[data-taborder]");
6085
6123
  if (!g || g.length <= 0) return;
6086
- if (!h) {
6087
- var y = pa();
6124
+ if (!u) {
6125
+ var y = ga();
6088
6126
  return void (y && (y.focus(), _(y, "focused")));
6089
6127
  }
6090
- var A = pa(h.getAttribute("data-taborder"));
6091
- P(h, "focused"), A && (A.focus(), _(A, "focused"));
6128
+ var A = ga(u.getAttribute("data-taborder"));
6129
+ P(u, "focused"), A && (A.focus(), _(A, "focused"));
6092
6130
  }
6093
6131
  d == 39 && n.nextSlide(), d == 37 && n.prevSlide(), d == 27 && n.close();
6094
6132
  } });
6095
6133
  }
6096
6134
  var xi = s((function n(c, l) {
6097
- var d = this, h = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
6098
- if (t(this, n), this.img = c, this.slide = l, this.onclose = h, this.img.setZoomEvents) return !1;
6135
+ var d = this, u = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
6136
+ if (t(this, n), this.img = c, this.slide = l, this.onclose = u, this.img.setZoomEvents) return !1;
6099
6137
  this.active = !1, this.zoomedIn = !1, this.dragging = !1, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.img.addEventListener("mousedown", (function(m) {
6100
6138
  return d.dragStart(m);
6101
6139
  }), !1), this.img.addEventListener("mouseup", (function(m) {
@@ -6135,10 +6173,10 @@ function Js() {
6135
6173
  n.style.transform = "translate3d(" + c + "px, " + l + "px, 0)";
6136
6174
  } }, { key: "widowWidth", value: function() {
6137
6175
  return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
6138
- } }]), ga = s((function n() {
6176
+ } }]), ma = s((function n() {
6139
6177
  var c = this, l = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
6140
6178
  t(this, n);
6141
- 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;
6179
+ var d = l.dragEl, u = l.toleranceX, m = u === void 0 ? 40 : u, 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;
6142
6180
  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) {
6143
6181
  return c.dragStart(B);
6144
6182
  }), !1), this.el.addEventListener("mouseup", (function(B) {
@@ -6169,8 +6207,8 @@ function Js() {
6169
6207
  }
6170
6208
  if (this.toleranceY > 0 && l > 0 && l >= c && (!this.lastDirection || this.lastDirection == "y")) {
6171
6209
  this.xOffset = 0, this.lastDirection = "y", this.setTranslate(this.dragContainer, 0, this.currentY);
6172
- var h = this.shouldClose();
6173
- return !this.instance.settings.dragAutoSnap && h && (this.doSlideClose = !0), void (this.instance.settings.dragAutoSnap && h && this.instance.close());
6210
+ var u = this.shouldClose();
6211
+ return !this.instance.settings.dragAutoSnap && u && (this.doSlideClose = !0), void (this.instance.settings.dragAutoSnap && u && this.instance.close());
6174
6212
  }
6175
6213
  }
6176
6214
  } }, { key: "shouldChange", value: function() {
@@ -6188,13 +6226,13 @@ function Js() {
6188
6226
  n.style.transition = d ? "all .2s ease" : "", n.style.transform = "translate3d(".concat(c, "px, ").concat(l, "px, 0)");
6189
6227
  } }]);
6190
6228
  function ki(n, c, l, d) {
6191
- var h = n.querySelector(".gslide-media"), m = new Image(), g = "gSlideTitle_" + l, y = "gSlideDesc_" + l;
6229
+ var u = n.querySelector(".gslide-media"), m = new Image(), g = "gSlideTitle_" + l, y = "gSlideDesc_" + l;
6192
6230
  m.addEventListener("load", (function() {
6193
- H(d) && d();
6194
- }), !1), m.src = c.href, c.sizes != "" && c.srcset != "" && (m.sizes = c.sizes, m.srcset = c.srcset), m.alt = "", ue(c.alt) || c.alt === "" || (m.alt = c.alt), c.title !== "" && m.setAttribute("aria-labelledby", g), c.description !== "" && m.setAttribute("aria-describedby", y), c.hasOwnProperty("_hasCustomWidth") && c._hasCustomWidth && (m.style.width = c.width), c.hasOwnProperty("_hasCustomHeight") && c._hasCustomHeight && (m.style.height = c.height), h.insertBefore(m, h.firstChild);
6231
+ j(d) && d();
6232
+ }), !1), m.src = c.href, c.sizes != "" && c.srcset != "" && (m.sizes = c.sizes, m.srcset = c.srcset), m.alt = "", ue(c.alt) || c.alt === "" || (m.alt = c.alt), c.title !== "" && m.setAttribute("aria-labelledby", g), c.description !== "" && m.setAttribute("aria-describedby", y), c.hasOwnProperty("_hasCustomWidth") && c._hasCustomWidth && (m.style.width = c.width), c.hasOwnProperty("_hasCustomHeight") && c._hasCustomHeight && (m.style.height = c.height), u.insertBefore(m, u.firstChild);
6195
6233
  }
6196
6234
  function _i(n, c, l, d) {
6197
- var h = this, m = n.querySelector(".ginner-container"), g = "gvideo" + l, y = n.querySelector(".gslide-media"), A = this.getAllPlayers();
6235
+ var u = this, m = n.querySelector(".ginner-container"), g = "gvideo" + l, y = n.querySelector(".gslide-media"), A = this.getAllPlayers();
6198
6236
  _(m, "gvideo-container"), y.insertBefore(X('<div class="gvideo-wrapper"></div>'), y.firstChild);
6199
6237
  var S = n.querySelector(".gvideo-wrapper");
6200
6238
  he(this.settings.plyr.css, "Plyr");
@@ -6207,46 +6245,46 @@ function Js() {
6207
6245
  }
6208
6246
  var F = B || X('<div id="'.concat(g, '" data-plyr-provider="').concat($, '" data-plyr-embed-id="').concat(I, '"></div>'));
6209
6247
  _(S, "".concat($, "-video gvideo")), S.appendChild(F), S.setAttribute("data-id", g), S.setAttribute("data-index", l);
6210
- var ee = se(h.settings.plyr, "config") ? h.settings.plyr.config : {}, me = new Plyr("#" + g, ee);
6248
+ var ee = se(u.settings.plyr, "config") ? u.settings.plyr.config : {}, me = new Plyr("#" + g, ee);
6211
6249
  me.on("ready", (function(be) {
6212
- A[g] = be.detail.plyr, H(d) && d();
6250
+ A[g] = be.detail.plyr, j(d) && d();
6213
6251
  })), ae((function() {
6214
6252
  return n.querySelector("iframe") && n.querySelector("iframe").dataset.ready == "true";
6215
6253
  }), (function() {
6216
- h.resize(n);
6217
- })), me.on("enterfullscreen", ma), me.on("exitfullscreen", ma);
6254
+ u.resize(n);
6255
+ })), me.on("enterfullscreen", ya), me.on("exitfullscreen", ya);
6218
6256
  }));
6219
6257
  }
6220
- function ma(n) {
6258
+ function ya(n) {
6221
6259
  var c = M(n.target, ".gslide-media");
6222
6260
  n.type === "enterfullscreen" && _(c, "fullscreen"), n.type === "exitfullscreen" && P(c, "fullscreen");
6223
6261
  }
6224
6262
  function Si(n, c, l, d) {
6225
- var h, m = this, g = n.querySelector(".gslide-media"), y = !(!se(c, "href") || !c.href) && c.href.split("#").pop().trim(), A = !(!se(c, "content") || !c.content) && c.content;
6226
- if (A && (V(A) && (h = X('<div class="ginlined-content">'.concat(A, "</div>"))), U(A))) {
6263
+ var u, m = this, g = n.querySelector(".gslide-media"), y = !(!se(c, "href") || !c.href) && c.href.split("#").pop().trim(), A = !(!se(c, "content") || !c.content) && c.content;
6264
+ if (A && (V(A) && (u = X('<div class="ginlined-content">'.concat(A, "</div>"))), U(A))) {
6227
6265
  A.style.display == "none" && (A.style.display = "block");
6228
6266
  var S = document.createElement("div");
6229
- S.className = "ginlined-content", S.appendChild(A), h = S;
6267
+ S.className = "ginlined-content", S.appendChild(A), u = S;
6230
6268
  }
6231
6269
  if (y) {
6232
6270
  var I = document.getElementById(y);
6233
6271
  if (!I) return !1;
6234
6272
  var $ = I.cloneNode(!0);
6235
- $.style.height = c.height, $.style.maxWidth = c.width, _($, "ginlined-content"), h = $;
6273
+ $.style.height = c.height, $.style.maxWidth = c.width, _($, "ginlined-content"), u = $;
6236
6274
  }
6237
- if (!h) return console.error("Unable to append inline slide content", c), !1;
6238
- 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) {
6275
+ if (!u) return console.error("Unable to append inline slide content", c), !1;
6276
+ g.style.height = c.height, g.style.width = c.width, g.appendChild(u), this.events["inlineclose" + y] = w("click", { onElement: g.querySelectorAll(".gtrigger-close"), withCallback: function(B) {
6239
6277
  B.preventDefault(), m.close();
6240
- } }), H(d) && d();
6278
+ } }), j(d) && d();
6241
6279
  }
6242
6280
  function Ci(n, c, l, d) {
6243
- var h = n.querySelector(".gslide-media"), m = (function(g) {
6281
+ var u = n.querySelector(".gslide-media"), m = (function(g) {
6244
6282
  var y = g.url, A = g.allow, S = g.callback, I = g.appendTo, $ = document.createElement("iframe");
6245
6283
  return $.className = "vimeo-video gvideo", $.src = y, $.style.width = "100%", $.style.height = "100%", A && $.setAttribute("allow", A), $.onload = function() {
6246
- $.onload = null, _($, "node-ready"), H(S) && S();
6284
+ $.onload = null, _($, "node-ready"), j(S) && S();
6247
6285
  }, I && I.appendChild($), $;
6248
6286
  })({ url: c.href, callback: d });
6249
- h.parentNode.style.maxWidth = c.width, h.parentNode.style.height = c.height, h.appendChild(m);
6287
+ u.parentNode.style.maxWidth = c.width, u.parentNode.style.height = c.height, u.appendChild(m);
6250
6288
  }
6251
6289
  var Ai = s((function n() {
6252
6290
  var c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
@@ -6258,8 +6296,8 @@ function Js() {
6258
6296
  var l = this, d = p({ descPosition: c.descPosition }, this.defaults);
6259
6297
  if (Ve(n) && !U(n)) {
6260
6298
  se(n, "type") || (se(n, "content") && n.content ? n.type = "inline" : se(n, "href") && (n.type = this.sourceType(n.href)));
6261
- var h = p(d, n);
6262
- return this.setSize(h, c), h;
6299
+ var u = p(d, n);
6300
+ return this.setSize(u, c), u;
6263
6301
  }
6264
6302
  var m = "", g = n.getAttribute("data-glightbox"), y = n.nodeName.toLowerCase();
6265
6303
  if (y === "a" && (m = n.href), y === "img" && (m = n.src, d.alt = n.alt), d.href = m, v(d, (function(q, F) {
@@ -6302,8 +6340,8 @@ function Js() {
6302
6340
  }
6303
6341
  return this.setSize(d, c, n), this.slideConfig = d, d;
6304
6342
  } }, { key: "setSize", value: function(n, c) {
6305
- var l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n.type == "video" ? this.checkSize(c.videosWidth) : this.checkSize(c.width), h = this.checkSize(c.height);
6306
- return n.width = se(n, "width") && n.width !== "" ? this.checkSize(n.width) : d, n.height = se(n, "height") && n.height !== "" ? this.checkSize(n.height) : h, l && n.type == "image" && (n._hasCustomWidth = !!l.dataset.width, n._hasCustomHeight = !!l.dataset.height), n;
6343
+ var l = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = n.type == "video" ? this.checkSize(c.videosWidth) : this.checkSize(c.width), u = this.checkSize(c.height);
6344
+ return n.width = se(n, "width") && n.width !== "" ? this.checkSize(n.width) : d, n.height = se(n, "height") && n.height !== "" ? this.checkSize(n.height) : u, l && n.type == "image" && (n._hasCustomWidth = !!l.dataset.width, n._hasCustomHeight = !!l.dataset.height), n;
6307
6345
  } }, { key: "checkSize", value: function(n) {
6308
6346
  return _t(n) ? "".concat(n, "px") : n;
6309
6347
  } }, { key: "sanitizeValue", value: function(n) {
@@ -6313,32 +6351,32 @@ function Js() {
6313
6351
  }), [{ key: "setContent", value: function() {
6314
6352
  var n = this, c = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null, l = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
6315
6353
  if (E(c, "loaded")) return !1;
6316
- var d = this.instance.settings, h = this.slideConfig, m = ge();
6317
- H(d.beforeSlideLoad) && d.beforeSlideLoad({ index: this.index, slide: c, player: !1 });
6318
- 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, F = "gSlideDesc_" + this.index;
6319
- if (H(d.afterSlideLoad) && (B = function() {
6320
- H(l) && l(), d.afterSlideLoad({ index: n.index, slide: c, player: n.instance.getSlidePlayerInstance(n.index) });
6321
- }), 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 = F, 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") {
6322
- if (g !== "external") return g === "inline" ? (Si.apply(this.instance, [c, h, this.index, B]), void (h.draggable && new ga({ dragEl: c.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: this.instance }))) : void (g !== "image" ? H(B) && B() : ki(c, h, this.index, (function() {
6354
+ var d = this.instance.settings, u = this.slideConfig, m = ge();
6355
+ j(d.beforeSlideLoad) && d.beforeSlideLoad({ index: this.index, slide: c, player: !1 });
6356
+ var g = u.type, y = u.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, F = "gSlideDesc_" + this.index;
6357
+ if (j(d.afterSlideLoad) && (B = function() {
6358
+ j(l) && l(), d.afterSlideLoad({ index: n.index, slide: c, player: n.instance.getSlidePlayerInstance(n.index) });
6359
+ }), u.title == "" && u.description == "" ? $ && $.parentNode.parentNode.removeChild($.parentNode) : (S && u.title !== "" ? (S.id = q, S.innerHTML = u.title) : S.parentNode.removeChild(S), I && u.description !== "" ? (I.id = F, m && d.moreLength > 0 ? (u.smallDescription = this.slideShortDesc(u.description, d.moreLength, d.moreText), I.innerHTML = u.smallDescription, this.descriptionEvents(I, u)) : I.innerHTML = u.description) : I.parentNode.removeChild(I), _(A.parentNode, "desc-".concat(y)), _($.parentNode, "description-".concat(y))), _(A, "gslide-".concat(g)), _(c, "loaded"), g !== "video") {
6360
+ if (g !== "external") return g === "inline" ? (Si.apply(this.instance, [c, u, this.index, B]), void (u.draggable && new ma({ dragEl: c.querySelector(".gslide-inline"), toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: this.instance }))) : void (g !== "image" ? j(B) && B() : ki(c, u, this.index, (function() {
6323
6361
  var ee = c.querySelector("img");
6324
- h.draggable && new ga({ dragEl: ee, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: n.instance }), h.zoomable && ee.naturalWidth > ee.offsetWidth && (_(ee, "zoomable"), new xi(ee, c, (function() {
6362
+ u.draggable && new ma({ dragEl: ee, toleranceX: d.dragToleranceX, toleranceY: d.dragToleranceY, slide: c, instance: n.instance }), u.zoomable && ee.naturalWidth > ee.offsetWidth && (_(ee, "zoomable"), new xi(ee, c, (function() {
6325
6363
  n.instance.resize();
6326
- }))), H(B) && B();
6364
+ }))), j(B) && B();
6327
6365
  })));
6328
- Ci.apply(this, [c, h, this.index, B]);
6329
- } else _i.apply(this.instance, [c, h, this.index, B]);
6366
+ Ci.apply(this, [c, u, this.index, B]);
6367
+ } else _i.apply(this.instance, [c, u, this.index, B]);
6330
6368
  } }, { key: "slideShortDesc", value: function(n) {
6331
6369
  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");
6332
6370
  d.innerHTML = n;
6333
- var h = d.innerText, m = l;
6334
- if ((n = h.trim()).length <= c) return n;
6371
+ var u = d.innerText, m = l;
6372
+ if ((n = u.trim()).length <= c) return n;
6335
6373
  var g = n.substr(0, c - 1);
6336
6374
  return m ? (d = null, g + '... <a href="#" class="desc-more">' + l + "</a>") : g;
6337
6375
  } }, { key: "descriptionEvents", value: function(n, c) {
6338
6376
  var l = this, d = n.querySelector(".desc-more");
6339
6377
  if (!d) return !1;
6340
- w("click", { onElement: d, withCallback: function(h, m) {
6341
- h.preventDefault();
6378
+ w("click", { onElement: d, withCallback: function(u, m) {
6379
+ u.preventDefault();
6342
6380
  var g = document.body, y = M(m, ".gslide-desc");
6343
6381
  if (!y) return !1;
6344
6382
  y.innerHTML = c.description, _(g, "gdesc-open");
@@ -6359,16 +6397,16 @@ function Js() {
6359
6397
  return Math.sqrt(n.x * n.x + n.y * n.y);
6360
6398
  }
6361
6399
  function Mi(n, c) {
6362
- var l = (function(d, h) {
6363
- var m = Ct(d) * Ct(h);
6400
+ var l = (function(d, u) {
6401
+ var m = Ct(d) * Ct(u);
6364
6402
  if (m === 0) return 0;
6365
6403
  var g = (function(y, A) {
6366
6404
  return y.x * A.x + y.y * A.y;
6367
- })(d, h) / m;
6405
+ })(d, u) / m;
6368
6406
  return g > 1 && (g = 1), Math.acos(g);
6369
6407
  })(n, c);
6370
- return (function(d, h) {
6371
- return d.x * h.y - h.x * d.y;
6408
+ return (function(d, u) {
6409
+ return d.x * u.y - u.x * d.y;
6372
6410
  })(n, c) > 0 && (l *= -1), 180 * l / Math.PI;
6373
6411
  }
6374
6412
  var Ti = s((function n(c) {
@@ -6384,7 +6422,7 @@ function Js() {
6384
6422
  typeof l == "function" && l.apply(this.el, arguments);
6385
6423
  }
6386
6424
  } }]);
6387
- function le(n, c) {
6425
+ function de(n, c) {
6388
6426
  var l = new Ti(n);
6389
6427
  return l.add(c), l;
6390
6428
  }
@@ -6392,7 +6430,7 @@ function Js() {
6392
6430
  t(this, n), this.element = typeof c == "string" ? document.querySelector(c) : c, this.start = this.start.bind(this), this.move = this.move.bind(this), this.end = this.end.bind(this), this.cancel = this.cancel.bind(this), this.element.addEventListener("touchstart", this.start, !1), this.element.addEventListener("touchmove", this.move, !1), this.element.addEventListener("touchend", this.end, !1), this.element.addEventListener("touchcancel", this.cancel, !1), this.preV = { x: null, y: null }, this.pinchStartLen = null, this.zoom = 1, this.isDoubleTap = !1;
6393
6431
  var d = function() {
6394
6432
  };
6395
- this.rotate = le(this.element, l.rotate || d), this.touchStart = le(this.element, l.touchStart || d), this.multipointStart = le(this.element, l.multipointStart || d), this.multipointEnd = le(this.element, l.multipointEnd || d), this.pinch = le(this.element, l.pinch || d), this.swipe = le(this.element, l.swipe || d), this.tap = le(this.element, l.tap || d), this.doubleTap = le(this.element, l.doubleTap || d), this.longTap = le(this.element, l.longTap || d), this.singleTap = le(this.element, l.singleTap || d), this.pressMove = le(this.element, l.pressMove || d), this.twoFingerPressMove = le(this.element, l.twoFingerPressMove || d), this.touchMove = le(this.element, l.touchMove || d), this.touchEnd = le(this.element, l.touchEnd || d), this.touchCancel = le(this.element, l.touchCancel || d), this.translateContainer = this.element, this._cancelAllHandler = this.cancelAll.bind(this), window.addEventListener("scroll", this._cancelAllHandler), this.delta = null, this.last = null, this.now = null, this.tapTimeout = null, this.singleTapTimeout = null, this.longTapTimeout = null, this.swipeTimeout = null, this.x1 = this.x2 = this.y1 = this.y2 = null, this.preTapPosition = { x: null, y: null };
6433
+ this.rotate = de(this.element, l.rotate || d), this.touchStart = de(this.element, l.touchStart || d), this.multipointStart = de(this.element, l.multipointStart || d), this.multipointEnd = de(this.element, l.multipointEnd || d), this.pinch = de(this.element, l.pinch || d), this.swipe = de(this.element, l.swipe || d), this.tap = de(this.element, l.tap || d), this.doubleTap = de(this.element, l.doubleTap || d), this.longTap = de(this.element, l.longTap || d), this.singleTap = de(this.element, l.singleTap || d), this.pressMove = de(this.element, l.pressMove || d), this.twoFingerPressMove = de(this.element, l.twoFingerPressMove || d), this.touchMove = de(this.element, l.touchMove || d), this.touchEnd = de(this.element, l.touchEnd || d), this.touchCancel = de(this.element, l.touchCancel || d), this.translateContainer = this.element, this._cancelAllHandler = this.cancelAll.bind(this), window.addEventListener("scroll", this._cancelAllHandler), this.delta = null, this.last = null, this.now = null, this.tapTimeout = null, this.singleTapTimeout = null, this.longTapTimeout = null, this.swipeTimeout = null, this.x1 = this.x2 = this.y1 = this.y2 = null, this.preTapPosition = { x: null, y: null };
6396
6434
  }), [{ key: "start", value: function(n) {
6397
6435
  if (n.touches) if (n.target && n.target.nodeName && ["a", "button", "input"].indexOf(n.target.nodeName.toLowerCase()) >= 0) console.log("ignore drag for this touched element", n.target.nodeName.toLowerCase());
6398
6436
  else {
@@ -6409,19 +6447,19 @@ function Js() {
6409
6447
  }
6410
6448
  } }, { key: "move", value: function(n) {
6411
6449
  if (n.touches) {
6412
- var c = this.preV, l = n.touches.length, d = n.touches[0].pageX, h = n.touches[0].pageY;
6450
+ var c = this.preV, l = n.touches.length, d = n.touches[0].pageX, u = n.touches[0].pageY;
6413
6451
  if (this.isDoubleTap = !1, l > 1) {
6414
- var m = n.touches[1].pageX, g = n.touches[1].pageY, y = { x: n.touches[1].pageX - d, y: n.touches[1].pageY - h };
6415
- c.x !== null && (this.pinchStartLen > 0 && (n.zoom = Ct(y) / this.pinchStartLen, this.pinch.dispatch(n, this.element)), n.angle = Mi(y, c), this.rotate.dispatch(n, this.element)), c.x = y.x, c.y = y.y, this.x2 !== null && this.sx2 !== null ? (n.deltaX = (d - this.x2 + m - this.sx2) / 2, n.deltaY = (h - this.y2 + g - this.sy2) / 2) : (n.deltaX = 0, n.deltaY = 0), this.twoFingerPressMove.dispatch(n, this.element), this.sx2 = m, this.sy2 = g;
6452
+ var m = n.touches[1].pageX, g = n.touches[1].pageY, y = { x: n.touches[1].pageX - d, y: n.touches[1].pageY - u };
6453
+ c.x !== null && (this.pinchStartLen > 0 && (n.zoom = Ct(y) / this.pinchStartLen, this.pinch.dispatch(n, this.element)), n.angle = Mi(y, c), this.rotate.dispatch(n, this.element)), c.x = y.x, c.y = y.y, this.x2 !== null && this.sx2 !== null ? (n.deltaX = (d - this.x2 + m - this.sx2) / 2, n.deltaY = (u - this.y2 + g - this.sy2) / 2) : (n.deltaX = 0, n.deltaY = 0), this.twoFingerPressMove.dispatch(n, this.element), this.sx2 = m, this.sy2 = g;
6416
6454
  } else {
6417
6455
  if (this.x2 !== null) {
6418
- n.deltaX = d - this.x2, n.deltaY = h - this.y2;
6456
+ n.deltaX = d - this.x2, n.deltaY = u - this.y2;
6419
6457
  var A = Math.abs(this.x1 - this.x2), S = Math.abs(this.y1 - this.y2);
6420
6458
  (A > 10 || S > 10) && (this._preventTap = !0);
6421
6459
  } else n.deltaX = 0, n.deltaY = 0;
6422
6460
  this.pressMove.dispatch(n, this.element);
6423
6461
  }
6424
- this.touchMove.dispatch(n, this.element), this._cancelLongTap(), this.x2 = d, this.y2 = h, l > 1 && n.preventDefault();
6462
+ this.touchMove.dispatch(n, this.element), this._cancelLongTap(), this.x2 = d, this.y2 = u, l > 1 && n.preventDefault();
6425
6463
  }
6426
6464
  } }, { key: "end", value: function(n) {
6427
6465
  if (n.changedTouches) {
@@ -6456,34 +6494,34 @@ function Js() {
6456
6494
  var c = (function() {
6457
6495
  var g, y = document.createElement("fakeelement"), A = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
6458
6496
  for (g in A) if (y.style[g] !== void 0) return A[g];
6459
- })(), 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");
6460
- l > 769 && (d = h), _(d, "greset"), C(d, "translate3d(0, 0, 0)"), w(c, { onElement: d, once: !0, withCallback: function(g, y) {
6497
+ })(), l = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, d = E(n, "gslide-media") ? n : n.querySelector(".gslide-media"), u = M(d, ".ginner-container"), m = n.querySelector(".gslide-description");
6498
+ l > 769 && (d = u), _(d, "greset"), C(d, "translate3d(0, 0, 0)"), w(c, { onElement: d, once: !0, withCallback: function(g, y) {
6461
6499
  P(d, "greset");
6462
6500
  } }), d.style.opacity = "", m && (m.style.opacity = "");
6463
6501
  }
6464
6502
  function Ei(n) {
6465
6503
  if (n.events.hasOwnProperty("touch")) return !1;
6466
- 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, F = !1, ee = !1, me = null, be = null, Le = null, oe = null, Re = 0, ze = 0, ht = !1, rt = !1, _e = {}, Se = {}, xa = 0, ka = 0, Li = document.getElementById("glightbox-slider"), At = document.querySelector(".goverlay"), Ri = new Ii(Li, { touchStart: function(Y) {
6504
+ var c, l, d, u = te(), m = u.width, g = u.height, y = !1, A = null, S = null, I = null, $ = !1, B = 1, q = 1, F = !1, ee = !1, me = null, be = null, Le = null, oe = null, Re = 0, ze = 0, ht = !1, rt = !1, _e = {}, Se = {}, ka = 0, _a = 0, Li = document.getElementById("glightbox-slider"), At = document.querySelector(".goverlay"), Ri = new Ii(Li, { touchStart: function(Y) {
6467
6505
  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) {
6468
- if (Se = Y.targetTouches[0], _e.pageX = Y.targetTouches[0].pageX, _e.pageY = Y.targetTouches[0].pageY, xa = Y.targetTouches[0].clientX, ka = 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(At, "greset"), Y.pageX > 20 && Y.pageX < window.innerWidth - 20) return;
6506
+ if (Se = Y.targetTouches[0], _e.pageX = Y.targetTouches[0].pageX, _e.pageY = Y.targetTouches[0].pageY, ka = Y.targetTouches[0].clientX, _a = 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(At, "greset"), Y.pageX > 20 && Y.pageX < window.innerWidth - 20) return;
6469
6507
  Y.preventDefault();
6470
6508
  }
6471
6509
  }, touchMove: function(Y) {
6472
6510
  if (y && (Se = Y.targetTouches[0], !F && !ee)) {
6473
6511
  if (d && d.offsetHeight > g) {
6474
- var de = _e.pageX - Se.pageX;
6475
- if (Math.abs(de) <= 13) return !1;
6512
+ var fe = _e.pageX - Se.pageX;
6513
+ if (Math.abs(fe) <= 13) return !1;
6476
6514
  }
6477
6515
  $ = !0;
6478
- var Ue, Mt = Y.targetTouches[0].clientX, zi = Y.targetTouches[0].clientY, Oi = xa - Mt, Bi = ka - zi;
6516
+ var Ue, Mt = Y.targetTouches[0].clientX, zi = Y.targetTouches[0].clientY, Oi = ka - Mt, Bi = _a - zi;
6479
6517
  if (Math.abs(Oi) > 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 && I && (Ue = 1 - Math.abs(l) / g, At.style.opacity = Ue, n.settings.touchFollowAxis && (Re = 0)), rt && (Ue = 1 - Math.abs(c) / m, S.style.opacity = Ue, n.settings.touchFollowAxis && (ze = 0)), !I) return C(S, "translate3d(".concat(Re, "%, 0, 0)"));
6480
6518
  C(S, "translate3d(".concat(Re, "%, ").concat(ze, "%, 0)"));
6481
6519
  }
6482
6520
  }, touchEnd: function() {
6483
6521
  if (y) {
6484
6522
  if ($ = !1, ee || F) return Le = me, void (oe = be);
6485
- var Y = Math.abs(parseInt(ze)), de = Math.abs(parseInt(Re));
6486
- if (!(Y > 29 && I)) return Y < 29 && de < 25 ? (_(At, "greset"), At.style.opacity = 1, Wt(S)) : void 0;
6523
+ var Y = Math.abs(parseInt(ze)), fe = Math.abs(parseInt(Re));
6524
+ if (!(Y > 29 && I)) return Y < 29 && fe < 25 ? (_(At, "greset"), At.style.opacity = 1, Wt(S)) : void 0;
6487
6525
  n.close();
6488
6526
  }
6489
6527
  }, multipointEnd: function() {
@@ -6495,14 +6533,14 @@ function Js() {
6495
6533
  }, pinch: function(Y) {
6496
6534
  if (!I || $) return !1;
6497
6535
  F = !0, I.scaleX = I.scaleY = B * Y.zoom;
6498
- var de = B * Y.zoom;
6499
- if (ee = !0, de <= 1) return ee = !1, de = 1, oe = null, Le = null, me = null, be = null, void I.setAttribute("style", "");
6500
- de > 4.5 && (de = 4.5), I.style.transform = "scale3d(".concat(de, ", ").concat(de, ", 1)"), q = de;
6536
+ var fe = B * Y.zoom;
6537
+ if (ee = !0, fe <= 1) return ee = !1, fe = 1, oe = null, Le = null, me = null, be = null, void I.setAttribute("style", "");
6538
+ fe > 4.5 && (fe = 4.5), I.style.transform = "scale3d(".concat(fe, ", ").concat(fe, ", 1)"), q = fe;
6501
6539
  }, pressMove: function(Y) {
6502
6540
  if (ee && !F) {
6503
- var de = Se.pageX - _e.pageX, Ue = Se.pageY - _e.pageY;
6504
- Le && (de += Le), oe && (Ue += oe), me = de, be = Ue;
6505
- var Mt = "translate3d(".concat(de, "px, ").concat(Ue, "px, 0)");
6541
+ var fe = Se.pageX - _e.pageX, Ue = Se.pageY - _e.pageY;
6542
+ Le && (fe += Le), oe && (Ue += oe), me = fe, be = Ue;
6543
+ var Mt = "translate3d(".concat(fe, "px, ").concat(Ue, "px, 0)");
6506
6544
  q && (Mt += " scale3d(".concat(q, ", ").concat(q, ", 1)")), C(I, Mt);
6507
6545
  }
6508
6546
  }, swipe: function(Y) {
@@ -6520,7 +6558,7 @@ function Js() {
6520
6558
  } });
6521
6559
  n.events.touch = Ri;
6522
6560
  }
6523
- var ya = ge(), va = ge() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, wa = document.getElementsByTagName("html")[0], $i = { 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">
6561
+ var va = ge(), wa = ge() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, xa = document.getElementsByTagName("html")[0], $i = { 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">
6524
6562
  <div class="gslide-inner-content">
6525
6563
  <div class="ginner-container">
6526
6564
  <div class="gslide-media">
@@ -6560,12 +6598,12 @@ function Js() {
6560
6598
  d && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, d)), ue(l) && (l = this.getElementIndex(n)) < 0 && (l = 0);
6561
6599
  }
6562
6600
  _t(l) || (l = 0), this.build(), L(this.overlay, this.settings.openEffect === "none" ? "none" : this.settings.cssEfects.fade.in);
6563
- var h = document.body, m = window.innerWidth - document.documentElement.clientWidth;
6601
+ var u = document.body, m = window.innerWidth - document.documentElement.clientWidth;
6564
6602
  if (m > 0) {
6565
6603
  var g = document.createElement("style");
6566
- g.type = "text/css", g.className = "gcss-styles", g.innerText = ".gscrollbar-fixer {margin-right: ".concat(m, "px}"), document.head.appendChild(g), _(h, "gscrollbar-fixer");
6604
+ g.type = "text/css", g.className = "gcss-styles", g.innerText = ".gscrollbar-fixer {margin-right: ".concat(m, "px}"), document.head.appendChild(g), _(u, "gscrollbar-fixer");
6567
6605
  }
6568
- _(h, "glightbox-open"), _(wa, "glightbox-open"), ya && (_(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(l, !0), this.elements.length === 1 ? (_(this.prevButton, "glightbox-button-hidden"), _(this.nextButton, "glightbox-button-hidden")) : (P(this.prevButton, "glightbox-button-hidden"), P(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), H(this.settings.onOpen) && this.settings.onOpen(), va && this.settings.touchNavigation && Ei(this), this.settings.keyboardNavigation && wi(this);
6606
+ _(u, "glightbox-open"), _(xa, "glightbox-open"), va && (_(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(l, !0), this.elements.length === 1 ? (_(this.prevButton, "glightbox-button-hidden"), _(this.nextButton, "glightbox-button-hidden")) : (P(this.prevButton, "glightbox-button-hidden"), P(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), j(this.settings.onOpen) && this.settings.onOpen(), wa && this.settings.touchNavigation && Ei(this), this.settings.keyboardNavigation && wi(this);
6569
6607
  } }, { key: "openAt", value: function() {
6570
6608
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
6571
6609
  this.open(null, n);
@@ -6574,23 +6612,23 @@ function Js() {
6574
6612
  Z(this.loader), this.index = parseInt(c);
6575
6613
  var d = this.slidesContainer.querySelector(".current");
6576
6614
  d && P(d, "current"), this.slideAnimateOut();
6577
- var h = this.slidesContainer.querySelectorAll(".gslide")[c];
6578
- if (E(h, "loaded")) this.slideAnimateIn(h, l), N(this.loader);
6615
+ var u = this.slidesContainer.querySelectorAll(".gslide")[c];
6616
+ if (E(u, "loaded")) this.slideAnimateIn(u, l), N(this.loader);
6579
6617
  else {
6580
6618
  Z(this.loader);
6581
- var m = this.elements[c], g = { index: this.index, slide: h, slideNode: h, slideConfig: m.slideConfig, slideIndex: this.index, trigger: m.node, player: null };
6582
- this.trigger("slide_before_load", g), m.instance.setContent(h, (function() {
6583
- N(n.loader), n.resize(), n.slideAnimateIn(h, l), n.trigger("slide_after_load", g);
6619
+ var m = this.elements[c], g = { index: this.index, slide: u, slideNode: u, slideConfig: m.slideConfig, slideIndex: this.index, trigger: m.node, player: null };
6620
+ this.trigger("slide_before_load", g), m.instance.setContent(u, (function() {
6621
+ N(n.loader), n.resize(), n.slideAnimateIn(u, l), n.trigger("slide_after_load", g);
6584
6622
  }));
6585
6623
  }
6586
- 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;
6624
+ this.slideDescription = u.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 = u;
6587
6625
  } }, { key: "preloadSlide", value: function(n) {
6588
6626
  var c = this;
6589
6627
  if (n < 0 || n > this.elements.length - 1 || ue(this.elements[n])) return !1;
6590
6628
  var l = this.slidesContainer.querySelectorAll(".gslide")[n];
6591
6629
  if (E(l, "loaded")) return !1;
6592
- 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 };
6593
- this.trigger("slide_before_load", m), h === "video" || h === "external" ? setTimeout((function() {
6630
+ var d = this.elements[n], u = d.type, m = { index: n, slide: l, slideNode: l, slideConfig: d.slideConfig, slideIndex: n, trigger: d.node, player: null };
6631
+ this.trigger("slide_before_load", m), u === "video" || u === "external" ? setTimeout((function() {
6594
6632
  d.instance.setContent(l, (function() {
6595
6633
  c.trigger("slide_after_load", m);
6596
6634
  }));
@@ -6608,8 +6646,8 @@ function Js() {
6608
6646
  } }, { key: "insertSlide", value: function() {
6609
6647
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, c = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
6610
6648
  c < 0 && (c = this.elements.length);
6611
- var l = new St(n, this, c), d = l.getConfig(), h = p({}, d), m = l.create(), g = this.elements.length - 1;
6612
- h.index = c, h.node = !1, h.instance = l, h.slideConfig = d, this.elements.splice(c, 0, h);
6649
+ var l = new St(n, this, c), d = l.getConfig(), u = p({}, d), m = l.create(), g = this.elements.length - 1;
6650
+ u.index = c, u.node = !1, u.instance = l, u.slideConfig = d, this.elements.splice(c, 0, u);
6613
6651
  var y = null, A = null;
6614
6652
  if (this.slidesContainer) {
6615
6653
  if (c > g) this.slidesContainer.appendChild(m);
@@ -6617,23 +6655,23 @@ function Js() {
6617
6655
  var S = this.slidesContainer.querySelectorAll(".gslide")[c];
6618
6656
  this.slidesContainer.insertBefore(m, S);
6619
6657
  }
6620
- (this.settings.preload && this.index == 0 && c == 0 || this.index - 1 == c || this.index + 1 == c) && this.preloadSlide(c), this.index === 0 && c === 0 && (this.index = 1), this.updateNavigationClasses(), y = this.slidesContainer.querySelectorAll(".gslide")[c], A = this.getSlidePlayerInstance(c), h.slideNode = y;
6658
+ (this.settings.preload && this.index == 0 && c == 0 || this.index - 1 == c || this.index + 1 == c) && this.preloadSlide(c), this.index === 0 && c === 0 && (this.index = 1), this.updateNavigationClasses(), y = this.slidesContainer.querySelectorAll(".gslide")[c], A = this.getSlidePlayerInstance(c), u.slideNode = y;
6621
6659
  }
6622
- this.trigger("slide_inserted", { index: c, slide: y, slideNode: y, slideConfig: d, slideIndex: c, trigger: null, player: A }), H(this.settings.slideInserted) && this.settings.slideInserted({ index: c, slide: y, player: A });
6660
+ this.trigger("slide_inserted", { index: c, slide: y, slideNode: y, slideConfig: d, slideIndex: c, trigger: null, player: A }), j(this.settings.slideInserted) && this.settings.slideInserted({ index: c, slide: y, player: A });
6623
6661
  } }, { key: "removeSlide", value: function() {
6624
6662
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1;
6625
6663
  if (n < 0 || n > this.elements.length - 1) return !1;
6626
6664
  var c = this.slidesContainer && this.slidesContainer.querySelectorAll(".gslide")[n];
6627
- 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), H(this.settings.slideRemoved) && this.settings.slideRemoved(n);
6665
+ 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), j(this.settings.slideRemoved) && this.settings.slideRemoved(n);
6628
6666
  } }, { key: "slideAnimateIn", value: function(n, c) {
6629
- 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: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ue(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) };
6630
- 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() {
6631
- l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), H(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
6667
+ var l = this, d = n.querySelector(".gslide-media"), u = n.querySelector(".gslide-description"), m = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ue(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) };
6668
+ if (d.offsetWidth > 0 && u && (N(u), u.style.display = ""), P(n, this.effectsClasses), c) L(n, this.settings.cssEfects[this.settings.openEffect].in, (function() {
6669
+ l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), j(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
6632
6670
  }));
6633
6671
  else {
6634
6672
  var y = this.settings.slideEffect, A = y !== "none" ? this.settings.cssEfects[y].in : y;
6635
6673
  this.prevActiveSlideIndex > this.index && this.settings.slideEffect == "slide" && (A = this.settings.cssEfects.slideBack.in), L(n, A, (function() {
6636
- l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), H(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
6674
+ l.settings.autoplayVideos && l.slidePlayerPlay(n), l.trigger("slide_changed", { prev: m, current: g }), j(l.settings.afterSlideChange) && l.settings.afterSlideChange.apply(l, [m, g]);
6637
6675
  }));
6638
6676
  }
6639
6677
  setTimeout((function() {
@@ -6644,9 +6682,9 @@ function Js() {
6644
6682
  var n = this.prevActiveSlide;
6645
6683
  P(n, this.effectsClasses), _(n, "prev");
6646
6684
  var c = this.settings.slideEffect, l = c !== "none" ? this.settings.cssEfects[c].out : c;
6647
- this.slidePlayerPause(n), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, current: { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideIndex: this.index, slideConfig: this.elements[this.index].slideConfig, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) } }), H(this.settings.beforeSlideChange) && this.settings.beforeSlideChange.apply(this, [{ index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, { index: this.index, slide: this.activeSlide, player: this.getSlidePlayerInstance(this.index) }]), this.prevActiveSlideIndex > this.index && this.settings.slideEffect == "slide" && (l = this.settings.cssEfects.slideBack.out), L(n, l, (function() {
6648
- var d = n.querySelector(".ginner-container"), h = n.querySelector(".gslide-media"), m = n.querySelector(".gslide-description");
6649
- d.style.transform = "", h.style.transform = "", P(h, "greset"), h.style.opacity = "", m && (m.style.opacity = ""), P(n, "prev");
6685
+ this.slidePlayerPause(n), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ue(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, current: { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideIndex: this.index, slideConfig: this.elements[this.index].slideConfig, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) } }), j(this.settings.beforeSlideChange) && this.settings.beforeSlideChange.apply(this, [{ index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, { index: this.index, slide: this.activeSlide, player: this.getSlidePlayerInstance(this.index) }]), this.prevActiveSlideIndex > this.index && this.settings.slideEffect == "slide" && (l = this.settings.cssEfects.slideBack.out), L(n, l, (function() {
6686
+ var d = n.querySelector(".ginner-container"), u = n.querySelector(".gslide-media"), m = n.querySelector(".gslide-description");
6687
+ d.style.transform = "", u.style.transform = "", P(u, "greset"), u.style.opacity = "", m && (m.style.opacity = ""), P(n, "prev");
6650
6688
  }));
6651
6689
  } }, { key: "getAllPlayers", value: function() {
6652
6690
  return this.videoPlayers;
@@ -6678,7 +6716,7 @@ function Js() {
6678
6716
  l && !l.playing && l.play();
6679
6717
  } }, { key: "slidePlayerPlay", value: function(n) {
6680
6718
  var c;
6681
- if (!ya || (c = this.settings.plyr.config) !== null && c !== void 0 && c.muted) {
6719
+ if (!va || (c = this.settings.plyr.config) !== null && c !== void 0 && c.muted) {
6682
6720
  if (U(n)) {
6683
6721
  var l = n.querySelector(".gvideo-wrapper");
6684
6722
  l && (n = l.getAttribute("data-index"));
@@ -6690,9 +6728,9 @@ function Js() {
6690
6728
  var c = this;
6691
6729
  this.settings.elements = !1;
6692
6730
  var l = [];
6693
- n && n.length && v(n, (function(d, h) {
6694
- var m = new St(d, c, h), g = m.getConfig(), y = p({}, g);
6695
- y.slideConfig = g, y.instance = m, y.index = h, l.push(y);
6731
+ n && n.length && v(n, (function(d, u) {
6732
+ var m = new St(d, c, u), g = m.getConfig(), y = p({}, g);
6733
+ y.slideConfig = g, y.instance = m, y.index = u, l.push(y);
6696
6734
  })), this.elements = l, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (v(this.elements, (function() {
6697
6735
  var d = X(c.settings.slideHTML);
6698
6736
  c.slidesContainer.appendChild(d);
@@ -6704,14 +6742,14 @@ function Js() {
6704
6742
  })), c;
6705
6743
  } }, { key: "getElements", value: function() {
6706
6744
  var n = this, c = [];
6707
- this.elements = this.elements ? this.elements : [], !ue(this.settings.elements) && $e(this.settings.elements) && this.settings.elements.length && v(this.settings.elements, (function(d, h) {
6708
- var m = new St(d, n, h), g = m.getConfig(), y = p({}, g);
6709
- y.node = !1, y.index = h, y.instance = m, y.slideConfig = g, c.push(y);
6745
+ this.elements = this.elements ? this.elements : [], !ue(this.settings.elements) && $e(this.settings.elements) && this.settings.elements.length && v(this.settings.elements, (function(d, u) {
6746
+ var m = new St(d, n, u), g = m.getConfig(), y = p({}, g);
6747
+ y.node = !1, y.index = u, y.instance = m, y.slideConfig = g, c.push(y);
6710
6748
  }));
6711
6749
  var l = !1;
6712
- return this.getSelector() && (l = document.querySelectorAll(this.getSelector())), l && v(l, (function(d, h) {
6713
- var m = new St(d, n, h), g = m.getConfig(), y = p({}, g);
6714
- y.node = d, y.index = h, y.instance = m, y.slideConfig = g, y.gallery = d.getAttribute("data-gallery"), c.push(y);
6750
+ return this.getSelector() && (l = document.querySelectorAll(this.getSelector())), l && v(l, (function(d, u) {
6751
+ var m = new St(d, n, u), g = m.getConfig(), y = p({}, g);
6752
+ y.node = d, y.index = u, y.instance = m, y.slideConfig = g, y.gallery = d.getAttribute("data-gallery"), c.push(y);
6715
6753
  })), c;
6716
6754
  } }, { key: "getGalleryElements", value: function(n, c) {
6717
6755
  return n.filter((function(l) {
@@ -6737,8 +6775,8 @@ function Js() {
6737
6775
  v(c, (function(S) {
6738
6776
  S.parentNode == document.body && S.nodeName.charAt(0) !== "#" && S.hasAttribute && !S.hasAttribute("aria-hidden") && (l.push(S), S.setAttribute("aria-hidden", "true"));
6739
6777
  }));
6740
- var d = se(this.settings.svg, "next") ? this.settings.svg.next : "", h = se(this.settings.svg, "prev") ? this.settings.svg.prev : "", m = se(this.settings.svg, "close") ? this.settings.svg.close : "", g = this.settings.lightboxHTML;
6741
- g = X(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, h)).replace(/{closeSVG}/g, m)), document.body.appendChild(g);
6778
+ var d = se(this.settings.svg, "next") ? this.settings.svg.next : "", u = se(this.settings.svg, "prev") ? this.settings.svg.prev : "", m = se(this.settings.svg, "close") ? this.settings.svg.close : "", g = this.settings.lightboxHTML;
6779
+ g = X(g = (g = (g = g.replace(/{nextSVG}/g, d)).replace(/{prevSVG}/g, u)).replace(/{closeSVG}/g, m)), document.body.appendChild(g);
6742
6780
  var y = document.getElementById("glightbox-body");
6743
6781
  this.modal = y;
6744
6782
  var A = y.querySelector(".gclose");
@@ -6752,20 +6790,20 @@ function Js() {
6752
6790
  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();
6753
6791
  } })), v(this.elements, (function(S, I) {
6754
6792
  n.slidesContainer.appendChild(S.instance.create()), S.slideNode = n.slidesContainer.querySelectorAll(".gslide")[I];
6755
- })), va && _(document.body, "glightbox-touch"), this.events.resize = w("resize", { onElement: window, withCallback: function() {
6793
+ })), wa && _(document.body, "glightbox-touch"), this.events.resize = w("resize", { onElement: window, withCallback: function() {
6756
6794
  n.resize();
6757
6795
  } }), this.built = !0;
6758
6796
  } }, { key: "resize", value: function() {
6759
6797
  var n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
6760
6798
  if ((n = n || this.activeSlide) && !E(n, "zoomed")) {
6761
- var c = te(), l = n.querySelector(".gvideo-wrapper"), d = n.querySelector(".gslide-image"), h = this.slideDescription, m = c.width, g = c.height;
6799
+ var c = te(), l = n.querySelector(".gvideo-wrapper"), d = n.querySelector(".gslide-image"), u = this.slideDescription, m = c.width, g = c.height;
6762
6800
  if (m <= 768 ? _(document.body, "glightbox-mobile") : P(document.body, "glightbox-mobile"), l || d) {
6763
6801
  var y = !1;
6764
- if (h && (E(h, "description-bottom") || E(h, "description-top")) && !E(h, "gabsolute") && (y = !0), d) {
6802
+ if (u && (E(u, "description-bottom") || E(u, "description-top")) && !E(u, "gabsolute") && (y = !0), d) {
6765
6803
  if (m <= 768) d.querySelector("img");
6766
6804
  else if (y) {
6767
- 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";
6768
- 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;"));
6805
+ var A, S, I = u.offsetHeight, $ = d.querySelector("img"), B = (A = this.elements[this.index]) === null || A === void 0 ? void 0 : A.node, q = "100vh";
6806
+ B && (q = (S = B.getAttribute("data-height")) !== null && S !== void 0 ? S : q), $.setAttribute("style", "max-height: calc(".concat(q, " - ").concat(I, "px)")), u.setAttribute("style", "max-width: ".concat($.offsetWidth, "px;"));
6769
6807
  }
6770
6808
  }
6771
6809
  if (l) {
@@ -6775,10 +6813,10 @@ function Js() {
6775
6813
  F = "".concat(ee / be, ":").concat(me / be);
6776
6814
  }
6777
6815
  var Le = F.split(":"), oe = this.settings.videosWidth, Re = this.settings.videosWidth, ze = (Re = _t(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]));
6778
- if (ze = Math.floor(ze), y && (g -= h.offsetHeight), Re > m || ze > g || g < ze && m > Re) {
6816
+ if (ze = Math.floor(ze), y && (g -= u.offsetHeight), Re > m || ze > g || g < ze && m > Re) {
6779
6817
  var ht = l.offsetWidth, rt = l.offsetHeight, _e = g / rt, Se = { width: ht * _e, height: rt * _e };
6780
- l.parentNode.setAttribute("style", "max-width: ".concat(Se.width, "px")), y && h.setAttribute("style", "max-width: ".concat(Se.width, "px;"));
6781
- } else l.parentNode.style.maxWidth = "".concat(oe), y && h.setAttribute("style", "max-width: ".concat(oe, ";"));
6818
+ l.parentNode.setAttribute("style", "max-width: ".concat(Se.width, "px")), y && u.setAttribute("style", "max-width: ".concat(Se.width, "px;"));
6819
+ } else l.parentNode.style.maxWidth = "".concat(oe), y && u.setAttribute("style", "max-width: ".concat(oe, ";"));
6782
6820
  }
6783
6821
  }
6784
6822
  }
@@ -6808,25 +6846,25 @@ function Js() {
6808
6846
  n.events = null;
6809
6847
  }
6810
6848
  var d = document.body;
6811
- P(wa, "glightbox-open"), P(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), n.modal.parentNode.removeChild(n.modal), n.trigger("close"), H(n.settings.onClose) && n.settings.onClose();
6812
- var h = document.querySelector(".gcss-styles");
6813
- h && h.parentNode.removeChild(h), n.lightboxOpen = !1, n.closing = null;
6849
+ P(xa, "glightbox-open"), P(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), n.modal.parentNode.removeChild(n.modal), n.trigger("close"), j(n.settings.onClose) && n.settings.onClose();
6850
+ var u = document.querySelector(".gcss-styles");
6851
+ u && u.parentNode.removeChild(u), n.lightboxOpen = !1, n.closing = null;
6814
6852
  }));
6815
6853
  } }, { key: "destroy", value: function() {
6816
6854
  this.close(), this.clearAllEvents(), this.baseEvents && this.baseEvents.destroy();
6817
6855
  } }, { key: "on", value: function(n, c) {
6818
6856
  var l = arguments.length > 2 && arguments[2] !== void 0 && arguments[2];
6819
- if (!n || !H(c)) throw new TypeError("Event name and callback must be defined");
6857
+ if (!n || !j(c)) throw new TypeError("Event name and callback must be defined");
6820
6858
  this.apiEvents.push({ evt: n, once: l, callback: c });
6821
6859
  } }, { key: "once", value: function(n, c) {
6822
6860
  this.on(n, c, !0);
6823
6861
  } }, { key: "trigger", value: function(n) {
6824
6862
  var c = this, l = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, d = [];
6825
- v(this.apiEvents, (function(h, m) {
6826
- var g = h.evt, y = h.once, A = h.callback;
6863
+ v(this.apiEvents, (function(u, m) {
6864
+ var g = u.evt, y = u.once, A = u.callback;
6827
6865
  g == n && (A(l), y && d.push(m));
6828
- })), d.length && v(d, (function(h) {
6829
- return c.apiEvents.splice(h, 1);
6866
+ })), d.length && v(d, (function(u) {
6867
+ return c.apiEvents.splice(u, 1);
6830
6868
  }));
6831
6869
  } }, { key: "clearAllEvents", value: function() {
6832
6870
  this.apiEvents.splice(0, this.apiEvents.length);
@@ -6847,12 +6885,12 @@ var en = Object.getOwnPropertyDescriptor, tn = (a, e, t, i) => {
6847
6885
  (o = a[r]) && (s = o(s) || s);
6848
6886
  return s;
6849
6887
  };
6850
- let Qt = class extends Fe {
6888
+ let ea = class extends Fe {
6851
6889
  render() {
6852
6890
  return b` <div class="cb-thinking"><span></span><span></span><span></span></div>`;
6853
6891
  }
6854
6892
  };
6855
- Qt.styles = K`
6893
+ ea.styles = K`
6856
6894
  .cb-thinking {
6857
6895
  text-align: center;
6858
6896
  }
@@ -6890,9 +6928,9 @@ Qt.styles = K`
6890
6928
  }
6891
6929
  }
6892
6930
  `;
6893
- Qt = tn([
6931
+ ea = tn([
6894
6932
  J("cb-thinking")
6895
- ], Qt);
6933
+ ], ea);
6896
6934
  var an = Object.defineProperty, sn = Object.getOwnPropertyDescriptor, ti = (a, e, t, i) => {
6897
6935
  for (var s = i > 1 ? void 0 : i ? sn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6898
6936
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
@@ -6959,7 +6997,7 @@ const nn = K`
6959
6997
  margin-right: 0.2em;
6960
6998
  }
6961
6999
  `;
6962
- var rn = Object.defineProperty, on = Object.getOwnPropertyDescriptor, ca = (a, e, t, i) => {
7000
+ var rn = Object.defineProperty, on = Object.getOwnPropertyDescriptor, la = (a, e, t, i) => {
6963
7001
  for (var s = i > 1 ? void 0 : i ? on(e, t) : e, r = a.length - 1, o; r >= 0; r--)
6964
7002
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
6965
7003
  return i && s && rn(e, t, s), s;
@@ -7009,17 +7047,17 @@ yt.styles = K`
7009
7047
  text-decoration: underline;
7010
7048
  }
7011
7049
  `;
7012
- ca([
7050
+ la([
7013
7051
  x({ type: String })
7014
7052
  ], yt.prototype, "url", 2);
7015
- ca([
7053
+ la([
7016
7054
  x({ type: Boolean })
7017
7055
  ], yt.prototype, "inverse", 2);
7018
- yt = ca([
7056
+ yt = la([
7019
7057
  J("cb-external-link")
7020
7058
  ], yt);
7021
7059
  const 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-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>', 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 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>', 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 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>', 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.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>', 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 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>', un = '<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>';
7022
- var pn = Object.defineProperty, gn = Object.getOwnPropertyDescriptor, la = (a, e, t, i) => {
7060
+ var pn = Object.defineProperty, gn = Object.getOwnPropertyDescriptor, da = (a, e, t, i) => {
7023
7061
  for (var s = i > 1 ? void 0 : i ? gn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
7024
7062
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
7025
7063
  return i && s && pn(e, t, s), s;
@@ -7063,13 +7101,13 @@ let vt = class extends re {
7063
7101
  }
7064
7102
  };
7065
7103
  vt.styles = nn;
7066
- la([
7104
+ da([
7067
7105
  x({ type: String })
7068
7106
  ], vt.prototype, "filename", 2);
7069
- la([
7107
+ da([
7070
7108
  x({ type: String })
7071
7109
  ], vt.prototype, "url", 2);
7072
- vt = la([
7110
+ vt = da([
7073
7111
  J("cb-file")
7074
7112
  ], vt);
7075
7113
  const mn = '<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>', Ra = '<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>', ai = '<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>', ii = '<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>', yn = K`
@@ -8559,7 +8597,7 @@ var xn = Object.defineProperty, kn = Object.getOwnPropertyDescriptor, nt = (a, e
8559
8597
  };
8560
8598
  let De = class extends re {
8561
8599
  constructor() {
8562
- super(...arguments), this.store = new it(this, u), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Qs({
8600
+ super(...arguments), this.store = new it(this, h), this.type = "assistant", this.suppressFeedback = !1, this.lightbox = Qs({
8563
8601
  touchNavigation: !0,
8564
8602
  loop: !0,
8565
8603
  autoplayVideos: !0,
@@ -8690,7 +8728,7 @@ let De = class extends re {
8690
8728
  }
8691
8729
  renderInfoMessageAvatar(a) {
8692
8730
  const e = a.data?.userAvatar || "";
8693
- return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(u.setting.infoIconSvg)}`;
8731
+ return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(h.setting.infoIconSvg)}`;
8694
8732
  }
8695
8733
  renderMessage(a, e = "bot-message-content") {
8696
8734
  return b`
@@ -8746,9 +8784,9 @@ let De = class extends re {
8746
8784
  renderBotMessageAvatar(a) {
8747
8785
  if (a.data.userName && a.data.userName !== "") {
8748
8786
  const e = a.data?.userAvatar || "";
8749
- return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(u.setting.agentIconSvg)}`;
8787
+ return e !== "" ? b` <img src="${e}" style="width: 24px;height: 24px;" /> ` : pe`${G(h.setting.agentIconSvg)}`;
8750
8788
  }
8751
- return a.author === "system" ? pe`${G(u.setting.systemIconSvg)}` : pe`${G(u.setting.botIconSvg)}`;
8789
+ return a.author === "system" ? pe`${G(h.setting.systemIconSvg)}` : pe`${G(h.setting.botIconSvg)}`;
8752
8790
  }
8753
8791
  renderBotMessage(a) {
8754
8792
  return b`
@@ -8760,7 +8798,7 @@ let De = class extends re {
8760
8798
  `;
8761
8799
  }
8762
8800
  renderBotMessageFeedback(a) {
8763
- return this.suppressFeedback || !u.setting.feedbackEnabled || this.index < u.setting.startFeedbackFromMessage * 2 ? null : b`
8801
+ return this.suppressFeedback || !h.setting.feedbackEnabled || this.index < h.setting.startFeedbackFromMessage * 2 ? null : b`
8764
8802
  <div class="cb-message-feedback-tools" part="feedback-wrapper">
8765
8803
  <div class="cb-message-feedback-icon cb-feedback-up" part="feedback-up" @click="${() => this.startFeedback(!0, a)}">${pe`${G(ai)}`}</div>
8766
8804
  <div class="cb-message-feedback-icon cb-feedback-down" part="feedback-down" @click="${() => this.startFeedback(!1, a)}">${pe`${G(ii)}`}</div>
@@ -8768,7 +8806,7 @@ let De = class extends re {
8768
8806
  `;
8769
8807
  }
8770
8808
  startFeedback(a, e) {
8771
- console.log("startFeedback", e), u.collectFeedback(a, e);
8809
+ console.log("startFeedback", e), h.collectFeedback(a, e);
8772
8810
  }
8773
8811
  renderUserMessage(a) {
8774
8812
  return b`
@@ -8778,14 +8816,14 @@ let De = class extends re {
8778
8816
  //appState.appearanceUserMessageAvatarPosition
8779
8817
  </sl-avatar>-->
8780
8818
  ${W(
8781
- u.appearanceUserMessageAvatarPosition === "left",
8819
+ h.appearanceUserMessageAvatarPosition === "left",
8782
8820
  () => b`
8783
- <div class="avatar user-avatar" part="user-avatar">${G(u.setting.userIconSvg)}</div>
8821
+ <div class="avatar user-avatar" part="user-avatar">${G(h.setting.userIconSvg)}</div>
8784
8822
  ${this.renderMessage(a, "user-message-content")}
8785
8823
  `,
8786
8824
  () => b`
8787
8825
  ${this.renderMessage(a, "user-message-content")}
8788
- <div class="avatar user-avatar" part="user-avatar">${G(u.setting.userIconSvg)}</div>
8826
+ <div class="avatar user-avatar" part="user-avatar">${G(h.setting.userIconSvg)}</div>
8789
8827
  `
8790
8828
  )}
8791
8829
  </div>
@@ -8801,14 +8839,14 @@ let De = class extends re {
8801
8839
  //appState.appearanceUserMessageAvatarPosition
8802
8840
  </sl-avatar>-->
8803
8841
  ${W(
8804
- u.appearanceUserMessageAvatarPosition === "left",
8842
+ h.appearanceUserMessageAvatarPosition === "left",
8805
8843
  () => b`
8806
- <div class="avatar user-avatar">${G(u.setting.userIconSvg)}</div>
8844
+ <div class="avatar user-avatar">${G(h.setting.userIconSvg)}</div>
8807
8845
  ${this.renderMessage(a, "user-message-content")}
8808
8846
  `,
8809
8847
  () => b`
8810
8848
  ${this.renderMessage(a, "user-message-content")}
8811
- <div class="avatar user-avatar">${G(u.setting.userIconSvg)}</div>
8849
+ <div class="avatar user-avatar">${G(h.setting.userIconSvg)}</div>
8812
8850
  `
8813
8851
  )}
8814
8852
  </div>
@@ -8886,11 +8924,11 @@ let ye = class extends re {
8886
8924
  `;
8887
8925
  }
8888
8926
  renderDisclaimerMessage() {
8889
- return !u.setting.disclaimerMessage || !u.isConversationStart() ? null : b`
8890
- <details class="cb-disclaimer-wrapper" part="disclaimer-wrapper" ?open=${u.setting.enableShowFullDisclaimerMessage}>
8927
+ return !h.setting.disclaimerMessage || !h.isConversationStart() ? null : b`
8928
+ <details class="cb-disclaimer-wrapper" part="disclaimer-wrapper" ?open=${h.setting.enableShowFullDisclaimerMessage}>
8891
8929
  <summary class="cb-disclaimer-message" part="disclaimer-message">
8892
8930
  ${bt(
8893
- Ft(u.setting.disclaimerMessage).then((a) => b`${a}`)
8931
+ Ft(h.setting.disclaimerMessage).then((a) => b`${a}`)
8894
8932
  )}
8895
8933
  </summary>
8896
8934
  </details>
@@ -8903,7 +8941,7 @@ let ye = class extends re {
8903
8941
  this.form.fields,
8904
8942
  (a, e) => e,
8905
8943
  (a) => {
8906
- const e = a?.required || !1, t = u.getPrefilledFormFieldValue(a.name);
8944
+ const e = a?.required || !1, t = h.getPrefilledFormFieldValue(a.name);
8907
8945
  switch (a.type) {
8908
8946
  case "name":
8909
8947
  case "string":
@@ -8978,7 +9016,7 @@ let ye = class extends re {
8978
9016
  return;
8979
9017
  }
8980
9018
  }
8981
- u.submitForm(e).then(() => {
9019
+ h.submitForm(e).then(() => {
8982
9020
  Oe.info("Form submitted", e), this.emit("form:submit", {
8983
9021
  detail: {
8984
9022
  formData: e
@@ -9033,7 +9071,7 @@ let ye = class extends re {
9033
9071
  switch (Oe.info("Got Calendly Event:", a.data), a.data.event) {
9034
9072
  case "calendly.event_scheduled": {
9035
9073
  const e = this.activeCalendlyAction;
9036
- e >= 0 && (u.removeAction(e, !0, a.data), u.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
9074
+ e >= 0 && (h.removeAction(e, !0, a.data), h.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
9037
9075
  }
9038
9076
  }
9039
9077
  }
@@ -9094,7 +9132,7 @@ let ye = class extends re {
9094
9132
  const t = document.getElementById("enegelai-bot-hubspot-meeting-container"), i = document.querySelector(".enegelai-bot-hubspot-meeting-widget");
9095
9133
  if (t && i) {
9096
9134
  const s = a.url + "?embed=true";
9097
- i.setAttribute("data-src", s), this.activeHubspotMeetingAction = a.internalId, t.style.display = "block", window.hbspt.meetings.create(".enegelai-bot-hubspot-meeting-widget"), u.updateAction(a, {
9135
+ i.setAttribute("data-src", s), this.activeHubspotMeetingAction = a.internalId, t.style.display = "block", window.hbspt.meetings.create(".enegelai-bot-hubspot-meeting-widget"), h.updateAction(a, {
9098
9136
  triggered: e
9099
9137
  });
9100
9138
  }
@@ -9106,7 +9144,7 @@ let ye = class extends re {
9106
9144
  return;
9107
9145
  const t = this.activeHubspotMeetingAction;
9108
9146
  if (t >= 0) {
9109
- u.removeAction(t, !0, a.data), u.addSystemMessage("Your meeting has been scheduled!"), this.activeHubspotMeetingAction = -1;
9147
+ h.removeAction(t, !0, a.data), h.addSystemMessage("Your meeting has been scheduled!"), this.activeHubspotMeetingAction = -1;
9110
9148
  const i = document.getElementById("enegelai-bot-hubspot-meeting-container");
9111
9149
  i && (i.style.display = "none");
9112
9150
  }
@@ -9154,7 +9192,7 @@ let ye = class extends re {
9154
9192
  `;
9155
9193
  }
9156
9194
  };
9157
- ye.styles = Hs;
9195
+ ye.styles = js;
9158
9196
  Te([
9159
9197
  x({ type: Array })
9160
9198
  ], ye.prototype, "messages", 2);
@@ -9174,13 +9212,13 @@ Te([
9174
9212
  xe(".cb-input-form")
9175
9213
  ], ye.prototype, "_inputForm", 2);
9176
9214
  Te([
9177
- na({ capture: !1, passive: !0 })
9215
+ ra({ capture: !1, passive: !0 })
9178
9216
  ], ye.prototype, "invokeLinkAction", 1);
9179
9217
  Te([
9180
- na({ capture: !1, passive: !0 })
9218
+ ra({ capture: !1, passive: !0 })
9181
9219
  ], ye.prototype, "invokeCalendlyAction", 1);
9182
9220
  Te([
9183
- na({ capture: !1, passive: !0 })
9221
+ ra({ capture: !1, passive: !0 })
9184
9222
  ], ye.prototype, "invokeHubspotMeetingAction", 1);
9185
9223
  ye = Te([
9186
9224
  J("cb-message-list")
@@ -9227,7 +9265,7 @@ const Cn = K`
9227
9265
  align-items: center;
9228
9266
  margin: 6px 2px;
9229
9267
  }
9230
- `, si = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576zm6.787-8.201L1.591 6.602l4.339 2.76z"/></svg>', ni = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0z"/></svg>', ri = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z"/></svg>', da = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"/></svg>';
9268
+ `, si = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576zm6.787-8.201L1.591 6.602l4.339 2.76z"/></svg>', ni = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M4.5 3a2.5 2.5 0 0 1 5 0v9a1.5 1.5 0 0 1-3 0V5a.5.5 0 0 1 1 0v7a.5.5 0 0 0 1 0V3a1.5 1.5 0 1 0-3 0v9a2.5 2.5 0 0 0 5 0V5a.5.5 0 0 1 1 0v7a3.5 3.5 0 1 1-7 0z"/></svg>', ri = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z"/></svg>', fa = '<svg viewBox="0 0 24 24" width="26px" height="26px" ><path fill="currentColor" d="M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z"/></svg>';
9231
9269
  var An = Object.defineProperty, Mn = Object.getOwnPropertyDescriptor, Ie = (a, e, t, i) => {
9232
9270
  for (var s = i > 1 ? void 0 : i ? Mn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
9233
9271
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
@@ -9235,7 +9273,7 @@ var An = Object.defineProperty, Mn = Object.getOwnPropertyDescriptor, Ie = (a, e
9235
9273
  };
9236
9274
  let ve = class extends re {
9237
9275
  constructor() {
9238
- super(...arguments), this.store = new it(this, u), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.enableAudio = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
9276
+ super(...arguments), this.store = new it(this, h), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.enableAudio = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
9239
9277
  }
9240
9278
  connectedCallback() {
9241
9279
  super.connectedCallback(), addEventListener("form:submit", this._formSubmitHandler.bind(this)), addEventListener("c7o:bot:input:setvalue", this._inputSetValueHandler.bind(this));
@@ -9268,7 +9306,7 @@ let ve = class extends re {
9268
9306
  });
9269
9307
  }
9270
9308
  async _sendFileHandler() {
9271
- const a = await Xa(!1, u.setting.fileUploadEnabledExtensions);
9309
+ const a = await Xa(!1, h.setting.fileUploadEnabledExtensions);
9272
9310
  this.emit("message:send:file", {
9273
9311
  detail: {
9274
9312
  files: a
@@ -9305,8 +9343,8 @@ let ve = class extends re {
9305
9343
  <div class="cb-input-buttons" part="user-input-buttons-wrapper">
9306
9344
  <sl-button @click=${this._sendHandler} name="send" label="Send" size="small" class="send-button" variant="text" ?disabled=${this.value.length === 0} ?loading=${this.loading} circle>
9307
9345
  ${W(
9308
- u.setting.sendIconSvg !== "",
9309
- () => b`<cb-icon part="user-input-send-icon" svg="${u.setting.sendIconSvg}"></cb-icon>`,
9346
+ h.setting.sendIconSvg !== "",
9347
+ () => b`<cb-icon part="user-input-send-icon" svg="${h.setting.sendIconSvg}"></cb-icon>`,
9310
9348
  () => b`<cb-icon part="user-input-send-icon" svg="${si}"></cb-icon>`
9311
9349
  )}
9312
9350
  </sl-button>
@@ -9315,8 +9353,8 @@ let ve = class extends re {
9315
9353
  () => b`
9316
9354
  <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="small" class="paperclip-button" variant="text" circle>
9317
9355
  ${W(
9318
- u.setting.attachIconSvg !== "",
9319
- () => b`<cb-icon part="user-input-attach-icon" svg="${u.setting.attachIconSvg}"></cb-icon>`,
9356
+ h.setting.attachIconSvg !== "",
9357
+ () => b`<cb-icon part="user-input-attach-icon" svg="${h.setting.attachIconSvg}"></cb-icon>`,
9320
9358
  () => b`<cb-icon part="user-input-attach-icon" svg="${ni}"></cb-icon>`
9321
9359
  )}
9322
9360
  <!-- select file input -->
@@ -9330,8 +9368,8 @@ let ve = class extends re {
9330
9368
  () => b`
9331
9369
  <sl-button @click=${this._toggleAudioHandler} name="paperclip" label="Audio" size="small" class="audio-button" variant="text" circle>
9332
9370
  ${W(
9333
- u.webAudioStarted,
9334
- () => b`<cb-icon svg="${da}"></cb-icon>`,
9371
+ h.webAudioStarted,
9372
+ () => b`<cb-icon svg="${fa}"></cb-icon>`,
9335
9373
  () => b`<cb-icon svg="${ri}"></cb-icon>`
9336
9374
  )}
9337
9375
  </sl-button>
@@ -9443,7 +9481,7 @@ var $n = Object.defineProperty, Pn = Object.getOwnPropertyDescriptor, Ee = (a, e
9443
9481
  };
9444
9482
  let we = class extends re {
9445
9483
  constructor() {
9446
- super(...arguments), this.store = new it(this, u), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.enableAudio = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
9484
+ super(...arguments), this.store = new it(this, h), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.enableAudio = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
9447
9485
  }
9448
9486
  connectedCallback() {
9449
9487
  super.connectedCallback(), addEventListener("form:submit", this._formSubmitHandler.bind(this)), addEventListener("c7o:bot:input:setvalue", this._inputSetValueHandler.bind(this));
@@ -9464,7 +9502,7 @@ let we = class extends re {
9464
9502
  _ctrlHandler() {
9465
9503
  if (this.value && this.value !== "")
9466
9504
  return this._sendHandler();
9467
- if (!u.webAudioStarted)
9505
+ if (!h.webAudioStarted)
9468
9506
  return this._toggleAudioHandler();
9469
9507
  }
9470
9508
  _sendHandler() {
@@ -9482,7 +9520,7 @@ let we = class extends re {
9482
9520
  });
9483
9521
  }
9484
9522
  async _sendFileHandler() {
9485
- const a = await Xa(!1, u.setting.fileUploadEnabledExtensions);
9523
+ const a = await Xa(!1, h.setting.fileUploadEnabledExtensions);
9486
9524
  this.emit("message:send:file", {
9487
9525
  detail: {
9488
9526
  files: a
@@ -9511,13 +9549,13 @@ let we = class extends re {
9511
9549
  }
9512
9550
  }
9513
9551
  async _toggleAudioHandler() {
9514
- await u.toggleAudio();
9552
+ await h.toggleAudio();
9515
9553
  }
9516
9554
  getCtrlIconSvg() {
9517
- return this.value && this.value !== "" || u.webAudioStarted ? Oa : En;
9555
+ return this.value && this.value !== "" || h.webAudioStarted ? Oa : En;
9518
9556
  }
9519
9557
  getCtrlClass() {
9520
- return this.value && this.value !== "" ? "" : u.webAudioStarted || u.mediaStartAudioRequested ? "disabled" : "";
9558
+ return this.value && this.value !== "" ? "" : h.webAudioStarted || h.mediaStartAudioRequested ? "disabled" : "";
9521
9559
  }
9522
9560
  render() {
9523
9561
  return b`
@@ -9585,8 +9623,8 @@ let we = class extends re {
9585
9623
  <div class="cb-input-buttons" part="user-input-buttons-wrapper">
9586
9624
  <sl-button @click=${this._sendHandler} name="send" label="Send" size="small" class="send-button" variant="text" ?disabled=${this.value.length === 0} ?loading=${this.loading} circle>
9587
9625
  ${W(
9588
- u.setting.sendIconSvg !== "",
9589
- () => b`<cb-icon part="user-input-send-icon" svg="${u.setting.sendIconSvg}"></cb-icon>`,
9626
+ h.setting.sendIconSvg !== "",
9627
+ () => b`<cb-icon part="user-input-send-icon" svg="${h.setting.sendIconSvg}"></cb-icon>`,
9590
9628
  () => b`<cb-icon part="user-input-send-icon" svg="${si}"></cb-icon>`
9591
9629
  )}
9592
9630
  </sl-button>
@@ -9595,8 +9633,8 @@ let we = class extends re {
9595
9633
  () => b`
9596
9634
  <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="small" class="paperclip-button" variant="text" circle>
9597
9635
  ${W(
9598
- u.setting.attachIconSvg !== "",
9599
- () => b`<cb-icon part="user-input-attach-icon" svg="${u.setting.attachIconSvg}"></cb-icon>`,
9636
+ h.setting.attachIconSvg !== "",
9637
+ () => b`<cb-icon part="user-input-attach-icon" svg="${h.setting.attachIconSvg}"></cb-icon>`,
9600
9638
  () => b`<cb-icon part="user-input-attach-icon" svg="${ni}"></cb-icon>`
9601
9639
  )}
9602
9640
  <!-- select file input -->
@@ -9610,8 +9648,8 @@ let we = class extends re {
9610
9648
  () => b`
9611
9649
  <sl-button @click=${this._toggleAudioHandler} name="paperclip" label="Audio" size="small" class="audio-button" variant="text" circle>
9612
9650
  ${W(
9613
- u.webAudioStarted,
9614
- () => b`<cb-icon svg="${da}"></cb-icon>`,
9651
+ h.webAudioStarted,
9652
+ () => b`<cb-icon svg="${fa}"></cb-icon>`,
9615
9653
  () => b`<cb-icon svg="${ri}"></cb-icon>`
9616
9654
  )}
9617
9655
  </sl-button>
@@ -9759,7 +9797,7 @@ var On = Object.defineProperty, Bn = Object.getOwnPropertyDescriptor, ci = (a, e
9759
9797
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
9760
9798
  return i && s && On(e, t, s), s;
9761
9799
  };
9762
- let jt = class extends re {
9800
+ let Ht = class extends re {
9763
9801
  constructor() {
9764
9802
  super(...arguments), this.open = !1;
9765
9803
  }
@@ -9793,7 +9831,7 @@ let jt = class extends re {
9793
9831
  this.emit("cancel");
9794
9832
  }
9795
9833
  };
9796
- jt.styles = K`
9834
+ Ht.styles = K`
9797
9835
  .cb-clear-message-dialog {
9798
9836
  }
9799
9837
 
@@ -9803,10 +9841,10 @@ jt.styles = K`
9803
9841
  `;
9804
9842
  ci([
9805
9843
  x({ type: Boolean })
9806
- ], jt.prototype, "open", 2);
9807
- jt = ci([
9844
+ ], Ht.prototype, "open", 2);
9845
+ Ht = ci([
9808
9846
  J("cb-clear-message-dialog")
9809
- ], jt);
9847
+ ], Ht);
9810
9848
  const qn = K`
9811
9849
  :host {
9812
9850
  // width: 380px;
@@ -10010,7 +10048,7 @@ dt([
10010
10048
  Xe = dt([
10011
10049
  J("cb-setting")
10012
10050
  ], Xe);
10013
- const jn = K`
10051
+ const Hn = K`
10014
10052
  ${ke}
10015
10053
  :host {
10016
10054
  --primary-color: var(--sl-color-primary-600);
@@ -10128,14 +10166,14 @@ const jn = K`
10128
10166
  margin: 4px 4px 0px 0px;
10129
10167
  }
10130
10168
  `;
10131
- var Hn = Object.defineProperty, Vn = Object.getOwnPropertyDescriptor, li = (a, e, t, i) => {
10169
+ var jn = Object.defineProperty, Vn = Object.getOwnPropertyDescriptor, li = (a, e, t, i) => {
10132
10170
  for (var s = i > 1 ? void 0 : i ? Vn(e, t) : e, r = a.length - 1, o; r >= 0; r--)
10133
10171
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
10134
- return i && s && Hn(e, t, s), s;
10172
+ return i && s && jn(e, t, s), s;
10135
10173
  };
10136
- let Ht = class extends re {
10174
+ let jt = class extends re {
10137
10175
  constructor() {
10138
- super(...arguments), this.store = new it(this, u), this.open = !1;
10176
+ super(...arguments), this.store = new it(this, h), this.open = !1;
10139
10177
  }
10140
10178
  // handler click
10141
10179
  _clickHandler() {
@@ -10147,7 +10185,7 @@ let Ht = class extends re {
10147
10185
  }), this.open = a;
10148
10186
  }
10149
10187
  _engageClickHandler(a) {
10150
- console.log("engage close clicked!"), u.suppressEngagePopup(), a.stopPropagation();
10188
+ console.log("engage close clicked!"), h.suppressEngagePopup(), a.stopPropagation();
10151
10189
  }
10152
10190
  /*
10153
10191
  ${when(
@@ -10158,14 +10196,14 @@ let Ht = class extends re {
10158
10196
  */
10159
10197
  getPopupPlacement() {
10160
10198
  let a = "top-end";
10161
- return a = u.appearanceAnchorPopupPosition, a;
10199
+ return a = h.appearanceAnchorPopupPosition, a;
10162
10200
  }
10163
10201
  getBadgeVariant() {
10164
10202
  let a = "danger";
10165
- return a = u.appearanceAnchorBadgeVariant, a;
10203
+ return a = h.appearanceAnchorBadgeVariant, a;
10166
10204
  }
10167
10205
  renderPopupLogo() {
10168
- return u.setting.popupLogoUrl !== "" ? b`<img class="cb-engage-popup-img" src="${u.setting.popupLogoUrl}" />` : u.setting.popupLogoSvg !== "" ? b`<div class="cb-engage-popup-logo">${pe`${G(u.setting.popupLogoSvg)}`}</div>` : u.setting.logoUrl !== "" ? b`<img class="cb-engage-popup-img" src="${u.setting.logoUrl}" />` : u.setting.logoSvg !== "" ? b`<div class="cb-engage-popup-logo">${pe`${G(u.setting.logoSvg)}`}</div>` : null;
10206
+ return h.setting.popupLogoUrl !== "" ? b`<img class="cb-engage-popup-img" src="${h.setting.popupLogoUrl}" />` : h.setting.popupLogoSvg !== "" ? b`<div class="cb-engage-popup-logo">${pe`${G(h.setting.popupLogoSvg)}`}</div>` : h.setting.logoUrl !== "" ? b`<img class="cb-engage-popup-img" src="${h.setting.logoUrl}" />` : h.setting.logoSvg !== "" ? b`<div class="cb-engage-popup-logo">${pe`${G(h.setting.logoSvg)}`}</div>` : null;
10169
10207
  }
10170
10208
  async _getEngageMessageHtml(a) {
10171
10209
  return Ft(xt(a));
@@ -10173,16 +10211,16 @@ let Ht = class extends re {
10173
10211
  render() {
10174
10212
  return b`
10175
10213
  <div class="cb-anchor ${this.open ? "open" : ""}" part="anchor" @click=${this._clickHandler.bind(this)}>
10176
- <sl-popup placement="${this.getPopupPlacement()}" distance="16" ?active="${u.engage && !u.open}">
10214
+ <sl-popup placement="${this.getPopupPlacement()}" distance="16" ?active="${h.engage && !h.open}">
10177
10215
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="anchor-button" circle>
10178
10216
  ${W(
10179
10217
  this.open,
10180
- () => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(u.setting.anchorCloseSvg)}`}</div>`,
10181
- () => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(u.setting.anchorOpenSvg)}`}</div>`
10218
+ () => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(h.setting.anchorCloseSvg)}`}</div>`,
10219
+ () => b`<div class="cb-anchor-icon" part="anchor-icon">${pe`${G(h.setting.anchorOpenSvg)}`}</div>`
10182
10220
  )}
10183
10221
  ${W(
10184
- !this.open && u.unreadMessages > 0,
10185
- () => b`<sl-badge part="anchor-badge" class="cb-anchor-badge" variant="${this.getBadgeVariant()}" pill>${u.unreadMessages}</sl-badge>`,
10222
+ !this.open && h.unreadMessages > 0,
10223
+ () => b`<sl-badge part="anchor-badge" class="cb-anchor-badge" variant="${this.getBadgeVariant()}" pill>${h.unreadMessages}</sl-badge>`,
10186
10224
  () => null
10187
10225
  )}
10188
10226
  </sl-button>
@@ -10192,7 +10230,7 @@ let Ht = class extends re {
10192
10230
  ${this.renderPopupLogo()}
10193
10231
  <div class="cb-engage-popup-text">
10194
10232
  ${bt(
10195
- this._getEngageMessageHtml(u.setting.engageMessage).then((a) => b`${a}`)
10233
+ this._getEngageMessageHtml(h.setting.engageMessage).then((a) => b`${a}`)
10196
10234
  )}
10197
10235
  </div>
10198
10236
  </div>
@@ -10202,13 +10240,13 @@ let Ht = class extends re {
10202
10240
  `;
10203
10241
  }
10204
10242
  };
10205
- Ht.styles = jn;
10243
+ jt.styles = Hn;
10206
10244
  li([
10207
10245
  x({ type: Boolean })
10208
- ], Ht.prototype, "open", 2);
10209
- Ht = li([
10246
+ ], jt.prototype, "open", 2);
10247
+ jt = li([
10210
10248
  J("cb-anchor")
10211
- ], Ht);
10249
+ ], jt);
10212
10250
  const Un = K`
10213
10251
  ${ke}
10214
10252
  `, 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>', 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>', Wn = '<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>', Gn = '<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>';
@@ -10260,7 +10298,7 @@ var Kn = Object.getOwnPropertyDescriptor, Jn = (a, e, t, i) => {
10260
10298
  (o = a[r]) && (s = o(s) || s);
10261
10299
  return s;
10262
10300
  };
10263
- let ea = class extends re {
10301
+ let ta = class extends re {
10264
10302
  render() {
10265
10303
  return b` <sl-alert variant="danger" open>
10266
10304
  <cb-status-icon status="error" slot="icon"></cb-status-icon>
@@ -10276,10 +10314,10 @@ let ea = class extends re {
10276
10314
  this.emit("setting:show");
10277
10315
  }
10278
10316
  };
10279
- ea.styles = Un;
10280
- ea = Jn([
10317
+ ta.styles = Un;
10318
+ ta = Jn([
10281
10319
  J("cb-auth-alert")
10282
- ], ea);
10320
+ ], ta);
10283
10321
  const Zn = K`
10284
10322
  sl-dialog::part(base) {
10285
10323
  z-index: 1000;
@@ -10372,7 +10410,7 @@ var Qn = Object.defineProperty, er = Object.getOwnPropertyDescriptor, ft = (a, e
10372
10410
  const Da = Ke.noConflict(), tr = '<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>';
10373
10411
  let Ye = class extends re {
10374
10412
  constructor() {
10375
- super(...arguments), this.store = new it(this, u), this.zindex = 100;
10413
+ super(...arguments), this.store = new it(this, h), this.zindex = 100;
10376
10414
  }
10377
10415
  connectedCallback() {
10378
10416
  super.connectedCallback(), Da.info("connectedCallback");
@@ -10385,39 +10423,39 @@ let Ye = class extends re {
10385
10423
  Da.info(`FEEDBACK: stateEvent: ${t}`, e);
10386
10424
  }
10387
10425
  _cancelHandler() {
10388
- u.feedback && (console.log("Feedback dialog cancelled"), u.feedback = !1);
10426
+ h.feedback && (console.log("Feedback dialog cancelled"), h.feedback = !1);
10389
10427
  }
10390
10428
  // todo render empty if feedback is disabled
10391
10429
  render() {
10392
- return b` <sl-dialog ?no-header=${!0} ?open=${u.feedback} @sl-hide=${this._cancelHandler} class="cb-feedback-dialog">
10430
+ return b` <sl-dialog ?no-header=${!0} ?open=${h.feedback} @sl-hide=${this._cancelHandler} class="cb-feedback-dialog">
10393
10431
  <div style="">
10394
10432
  <h2>Please share your feedback</h2>
10395
10433
  <div class="cb-feedback-messages-wrapper">
10396
- <cb-message-list style="width: 50%;" .messages=${u.feedbackMessages} ?suppressFeedback=${!0}></cb-message-list>
10434
+ <cb-message-list style="width: 50%;" .messages=${h.feedbackMessages} ?suppressFeedback=${!0}></cb-message-list>
10397
10435
  </div>
10398
10436
  <div class="cb-feedback-rating-label">Please rate this answer</div>
10399
10437
  <div class="cb-feedback-rating-wrapper">
10400
10438
  <div
10401
10439
  class="cb-feedback-rating-icon"
10402
10440
  @click="${() => {
10403
- u.feedbackScore = 0;
10441
+ h.feedbackScore = 0;
10404
10442
  }}"
10405
10443
  >
10406
10444
  ${pe`${G(ii)}`}
10407
10445
  </div>
10408
- <sl-rating id="cb-feedback-rating-el" class="cb-feedback-rating" @sl-change="${this._ratingChangeHandler}" label="Rating" precision="1" .value=${u.feedbackScore}></sl-rating>
10446
+ <sl-rating id="cb-feedback-rating-el" class="cb-feedback-rating" @sl-change="${this._ratingChangeHandler}" label="Rating" precision="1" .value=${h.feedbackScore}></sl-rating>
10409
10447
  <div
10410
10448
  class="cb-feedback-rating-icon"
10411
10449
  @click="${() => {
10412
- u.feedbackScore = 5;
10450
+ h.feedbackScore = 5;
10413
10451
  }}"
10414
10452
  >
10415
10453
  ${pe`${G(ai)}`}
10416
10454
  </div>
10417
10455
  </div>
10418
10456
  <div style="display: flex">
10419
- <sl-input style="margin-bottom: 4px;width:50%" id="cb-feedback-name-el" placeholder="Your name" value="${u.feedbackName}" size="medium"></sl-input>
10420
- <sl-input type="email" style="margin-bottom: 4px;margin-left: 1px;width:50%" id="cb-feedback-email-el" placeholder="Your email" value="${u.feedbackEmail}" size="medium"></sl-input>
10457
+ <sl-input style="margin-bottom: 4px;width:50%" id="cb-feedback-name-el" placeholder="Your name" value="${h.feedbackName}" size="medium"></sl-input>
10458
+ <sl-input type="email" style="margin-bottom: 4px;margin-left: 1px;width:50%" id="cb-feedback-email-el" placeholder="Your email" value="${h.feedbackEmail}" size="medium"></sl-input>
10421
10459
  </div>
10422
10460
  <sl-textarea id="cb-feedback-comments-el" placeholder="Your comments" size="medium" value="" rows="3"></sl-textarea>
10423
10461
  </div>
@@ -10426,11 +10464,11 @@ let Ye = class extends re {
10426
10464
  </sl-dialog>`;
10427
10465
  }
10428
10466
  _ratingChangeHandler() {
10429
- u.feedbackScore = this._rating.value;
10467
+ h.feedbackScore = this._rating.value;
10430
10468
  }
10431
10469
  async _submitHandler() {
10432
10470
  const a = this._name?.value || "", e = this._email?.value || "", t = xt(this._comments?.value || "");
10433
- this._comments.value = "", await u.submitFeedback(a, e, t);
10471
+ this._comments.value = "", await h.submitFeedback(a, e, t);
10434
10472
  }
10435
10473
  };
10436
10474
  Ye.styles = Zn;
@@ -10759,7 +10797,7 @@ class ir extends HTMLElement {
10759
10797
  }
10760
10798
  }
10761
10799
  customElements.get("volume-visualizer") || customElements.define("volume-visualizer", ir);
10762
- const fa = 1, Fa = 2;
10800
+ const ha = 1, Fa = 2;
10763
10801
  class fi extends HTMLElement {
10764
10802
  constructor() {
10765
10803
  super(), this.attachShadow({ mode: "open" }), this._analyserInput = null, this._dataArrayInput = null, this._analyserOutput = null, this._dataArrayOutput = null, this._thinking = !1, this._muted = !1, this._fftSize = 512, this._smoothingTimeConstant = 0.55, this._canvas = null, this._context = null, this._lastTime = 0, this._render();
@@ -10799,7 +10837,7 @@ class fi extends HTMLElement {
10799
10837
  }
10800
10838
  return r;
10801
10839
  };
10802
- return this._analyserOutput && (this._analyserOutput.getByteFrequencyData(this._dataArrayOutput), e(this._dataArrayOutput)) ? { data: t(this._dataArrayOutput), source: Fa, hasActivity: !0 } : this._analyserInput && !this._muted && (this._analyserInput.getByteFrequencyData(this._dataArrayInput), e(this._dataArrayInput)) ? { data: t(this._dataArrayInput), source: fa, hasActivity: !0 } : this._analyserOutput ? { data: t(this._dataArrayOutput), source: Fa, hasActivity: !1 } : { data: [], source: null, hasActivity: !1 };
10840
+ return this._analyserOutput && (this._analyserOutput.getByteFrequencyData(this._dataArrayOutput), e(this._dataArrayOutput)) ? { data: t(this._dataArrayOutput), source: Fa, hasActivity: !0 } : this._analyserInput && !this._muted && (this._analyserInput.getByteFrequencyData(this._dataArrayInput), e(this._dataArrayInput)) ? { data: t(this._dataArrayInput), source: ha, hasActivity: !0 } : this._analyserOutput ? { data: t(this._dataArrayOutput), source: Fa, hasActivity: !1 } : { data: [], source: null, hasActivity: !1 };
10803
10841
  }
10804
10842
  _render() {
10805
10843
  const e = `
@@ -10917,7 +10955,7 @@ class $t {
10917
10955
  e.bezierCurveTo(E, M, L, C, k, w);
10918
10956
  }
10919
10957
  }
10920
- e.lineTo(t, 0), e.lineTo(0, 0), s === fa && !r ? this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.inputColorRGB, 0.02) : this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.outputColorRGB, 0.02);
10958
+ e.lineTo(t, 0), e.lineTo(0, 0), s === ha && !r ? this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.inputColorRGB, 0.02) : this.currentColorRGB = this._lerpColor(this.currentColorRGB, this.outputColorRGB, 0.02);
10921
10959
  const f = e.createLinearGradient(0, 0, 0, i);
10922
10960
  f.addColorStop(0, this._rgbToString(this.currentColorRGB, 0.5)), f.addColorStop(0.5, this._rgbToString(this.currentColorRGB, 0.75)), f.addColorStop(1, this._rgbToString(this.currentColorRGB, 0.25));
10923
10961
  const p = e.createLinearGradient(0, 0, t, 0);
@@ -10962,7 +11000,7 @@ class nr extends fi {
10962
11000
  _draw(e, t, i) {
10963
11001
  e.clearRect(0, 0, t.width, t.height);
10964
11002
  const { data: s, source: r, hasActivity: o } = this._getAudioFrequencyData();
10965
- if (r === fa && !this._thinking ? this._currentColor = this._lerpColor(this._currentColor, this._inputColor, 0.1) : this._currentColor = this._lerpColor(this._currentColor, this._outputColor, 0.1), this._thinking) {
11003
+ if (r === ha && !this._thinking ? this._currentColor = this._lerpColor(this._currentColor, this._inputColor, 0.1) : this._currentColor = this._lerpColor(this._currentColor, this._outputColor, 0.1), this._thinking) {
10966
11004
  this._thinkingPhase -= i * 4;
10967
11005
  for (let w = 0; w < this._numBars; w++) {
10968
11006
  const _ = w / this._numBars;
@@ -11002,12 +11040,12 @@ var or = Object.getOwnPropertyDescriptor, cr = (a, e, t, i) => {
11002
11040
  };
11003
11041
  const ut = Ke.noConflict();
11004
11042
  ut.setLevel("info");
11005
- let ta = class extends re {
11043
+ let aa = class extends re {
11006
11044
  constructor() {
11007
- super(...arguments), this.store = new it(this, u), this.unsubscribeTypingActive = u.subscribe(
11045
+ super(...arguments), this.store = new it(this, h), this.unsubscribeTypingActive = h.subscribe(
11008
11046
  this._handleTypingActiveChanged.bind(this),
11009
11047
  ["typingActive"]
11010
- ), this.volumeVisualizerRef = ji(), this.volumeVisualizerInitialized = !1;
11048
+ ), this.volumeVisualizerRef = Hi(), this.volumeVisualizerInitialized = !1;
11011
11049
  }
11012
11050
  /*
11013
11051
  createRenderRoot() {
@@ -11031,12 +11069,12 @@ let ta = class extends re {
11031
11069
  </header>`;
11032
11070
  }*/
11033
11071
  render() {
11034
- return u.webAudioStarted ? b`<div class="cb-audio-controls-wrapper" part="audio-controls-wrapper">
11072
+ return h.webAudioStarted ? b`<div class="cb-audio-controls-wrapper" part="audio-controls-wrapper">
11035
11073
  <div class="cb-audio-controls" part="audio-controls" @click=${this._toggleMute}>
11036
11074
  ${W(
11037
11075
  !0,
11038
11076
  () => b`
11039
- <button type="button" part="${u.webAudioMuted ? "audio-unmute-button" : "audio-mute-button"}" class="circle-btn ${u.webAudioMuted ? "danger" : "clear"}" title="${u.webAudioMuted ? "Unmute" : "Mute"}" @click=${this._toggleMute}>
11077
+ <button type="button" part="${h.webAudioMuted ? "audio-unmute-button" : "audio-mute-button"}" class="circle-btn ${h.webAudioMuted ? "danger" : "clear"}" title="${h.webAudioMuted ? "Unmute" : "Mute"}" @click=${this._toggleMute}>
11040
11078
  ${G(rr)}
11041
11079
  </button>
11042
11080
  `,
@@ -11046,13 +11084,13 @@ let ta = class extends re {
11046
11084
  ${this.renderVisualizer()}
11047
11085
  </div>
11048
11086
  <button type="button" part="audio-end-button" class="circle-btn clear" title="End" @click=${this._toggleHangup}>
11049
- ${G(da)}
11087
+ ${G(fa)}
11050
11088
  </button>
11051
11089
  </div>
11052
11090
  </div>` : null;
11053
11091
  }
11054
11092
  renderVisualizer() {
11055
- switch (u.setting.botAdvancedSettings?.audioVisualizerName || "bars") {
11093
+ switch (h.setting.botAdvancedSettings?.audioVisualizerName || "bars") {
11056
11094
  case "default":
11057
11095
  return b`
11058
11096
  <volume-visualizer ${Tt(this.volumeVisualizerRef)}></volume-visualizer>
@@ -11074,7 +11112,7 @@ let ta = class extends re {
11074
11112
  updated(a) {
11075
11113
  if (super.updated(a), this.volumeVisualizerRef.value) {
11076
11114
  if (!this.volumeVisualizerInitialized) {
11077
- const e = this.volumeVisualizerRef.value, t = u.getAudioAnalyzers();
11115
+ const e = this.volumeVisualizerRef.value, t = h.getAudioAnalyzers();
11078
11116
  t && (e.connectAnalyzers(t), ut.info("volumeVisualizerInitialized set to true"), this.volumeVisualizerInitialized = !0);
11079
11117
  }
11080
11118
  } else
@@ -11093,20 +11131,20 @@ let ta = class extends re {
11093
11131
  )}
11094
11132
  * */
11095
11133
  async _toggleMute(a) {
11096
- a.stopPropagation(), ut.info("_toggleMute called"), await u.toggleMute(), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setMuted(u.webAudioMuted);
11134
+ a.stopPropagation(), ut.info("_toggleMute called"), await h.toggleMute(), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setMuted(h.webAudioMuted);
11097
11135
  }
11098
11136
  async _toggleHangup(a) {
11099
- a.stopPropagation(), ut.info("_toggleHangup called"), await u.stopAudio();
11137
+ a.stopPropagation(), ut.info("_toggleHangup called"), await h.stopAudio();
11100
11138
  }
11101
11139
  _handleTypingActiveChanged(a, e, t) {
11102
- u.webAudioStarted && (ut.info(`Typing state changed: ${e}`), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setThinking(e));
11140
+ h.webAudioStarted && (ut.info(`Typing state changed: ${e}`), this.volumeVisualizerRef.value && this.volumeVisualizerRef.value.setThinking(e));
11103
11141
  }
11104
11142
  };
11105
- ta.styles = ar;
11106
- ta = cr([
11143
+ aa.styles = ar;
11144
+ aa = cr([
11107
11145
  J("cb-audio-controls")
11108
- ], ta);
11109
- class aa extends Error {
11146
+ ], aa);
11147
+ class ia extends Error {
11110
11148
  response;
11111
11149
  request;
11112
11150
  options;
@@ -11127,7 +11165,7 @@ class hi extends Error {
11127
11165
  super(t), this.value = e;
11128
11166
  }
11129
11167
  }
11130
- class Yt extends Error {
11168
+ class Kt extends Error {
11131
11169
  name = "ForceRetryError";
11132
11170
  customDelay;
11133
11171
  code;
@@ -11137,7 +11175,7 @@ class Yt extends Error {
11137
11175
  super(e?.code ? `Forced retry: ${e.code}` : "Forced retry", t ? { cause: t } : void 0), this.customDelay = e?.delay, this.code = e?.code, this.customRequest = e?.request;
11138
11176
  }
11139
11177
  }
11140
- const ja = (() => {
11178
+ const Ha = (() => {
11141
11179
  let a = !1, e = !1;
11142
11180
  const t = typeof globalThis.ReadableStream == "function", i = typeof globalThis.Request == "function";
11143
11181
  if (t && i)
@@ -11165,7 +11203,7 @@ const ja = (() => {
11165
11203
  // Supported in modern Fetch implementations (for example, browsers and recent Node.js/undici).
11166
11204
  // We still feature-check at runtime before exposing the shortcut.
11167
11205
  bytes: "*/*"
11168
- }, Kt = 2147483647, ur = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, pi = Symbol("stop");
11206
+ }, Jt = 2147483647, ur = new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length, pi = Symbol("stop");
11169
11207
  class gi {
11170
11208
  options;
11171
11209
  constructor(e) {
@@ -11274,7 +11312,7 @@ const br = (a) => new gi(a), pr = {
11274
11312
  for (const e of a)
11275
11313
  if ((!Qe(e) || Array.isArray(e)) && e !== void 0)
11276
11314
  throw new TypeError("The `options` argument must be an object");
11277
- return ha({}, ...a);
11315
+ return ua({}, ...a);
11278
11316
  }, yi = (a = {}, e = {}) => {
11279
11317
  const t = new globalThis.Headers(a), i = e instanceof globalThis.Headers, s = new globalThis.Headers(e);
11280
11318
  for (const [r, o] of s.entries())
@@ -11282,7 +11320,7 @@ const br = (a) => new gi(a), pr = {
11282
11320
  return t;
11283
11321
  };
11284
11322
  function Lt(a, e, t) {
11285
- return Object.hasOwn(e, t) && e[t] === void 0 ? [] : ha(a[t] ?? [], e[t] ?? []);
11323
+ return Object.hasOwn(e, t) && e[t] === void 0 ? [] : ua(a[t] ?? [], e[t] ?? []);
11286
11324
  }
11287
11325
  const vi = (a = {}, e = {}) => ({
11288
11326
  beforeRequest: Lt(a, e, "beforeRequest"),
@@ -11311,7 +11349,7 @@ const vi = (a = {}, e = {}) => ({
11311
11349
  t.append(r, o);
11312
11350
  }
11313
11351
  return t;
11314
- }, ha = (...a) => {
11352
+ }, ua = (...a) => {
11315
11353
  let e = {}, t = {}, i = {}, s;
11316
11354
  const r = [];
11317
11355
  for (const o of a)
@@ -11336,12 +11374,12 @@ const vi = (a = {}, e = {}) => ({
11336
11374
  p == null ? s = void 0 : s = s === void 0 ? p : xr(s, p);
11337
11375
  continue;
11338
11376
  }
11339
- Qe(p) && f in e && (p = ha(e[f], p)), e = { ...e, [f]: p };
11377
+ Qe(p) && f in e && (p = ua(e[f], p)), e = { ...e, [f]: p };
11340
11378
  }
11341
11379
  Qe(o.hooks) && (i = vi(i, o.hooks), e.hooks = i), Qe(o.headers) && (t = yi(t, o.headers), e.headers = t);
11342
11380
  }
11343
11381
  return s !== void 0 && (e.searchParams = s), r.length > 0 && (r.length === 1 ? e.signal = r[0] : ui ? e.signal = AbortSignal.any(r) : e.signal = r.at(-1)), e.context === void 0 && (e.context = {}), e;
11344
- }, kr = (a) => bi.includes(a) ? a.toUpperCase() : a, _r = ["get", "put", "head", "delete", "options", "trace"], Sr = [408, 413, 429, 500, 502, 503, 504], Cr = [413, 429, 503], Ha = {
11382
+ }, kr = (a) => bi.includes(a) ? a.toUpperCase() : a, _r = ["get", "put", "head", "delete", "options", "trace"], Sr = [408, 413, 429, 500, 502, 503, 504], Cr = [413, 429, 503], ja = {
11345
11383
  limit: 2,
11346
11384
  methods: _r,
11347
11385
  statusCodes: Sr,
@@ -11354,7 +11392,7 @@ const vi = (a = {}, e = {}) => ({
11354
11392
  }, Ar = (a = {}) => {
11355
11393
  if (typeof a == "number")
11356
11394
  return {
11357
- ...Ha,
11395
+ ...ja,
11358
11396
  limit: a
11359
11397
  };
11360
11398
  if (a.methods && !Array.isArray(a.methods))
@@ -11362,11 +11400,11 @@ const vi = (a = {}, e = {}) => ({
11362
11400
  if (a.statusCodes && !Array.isArray(a.statusCodes))
11363
11401
  throw new Error("retry.statusCodes must be an array");
11364
11402
  return {
11365
- ...Ha,
11403
+ ...ja,
11366
11404
  ...a
11367
11405
  };
11368
11406
  };
11369
- class ia extends Error {
11407
+ class sa extends Error {
11370
11408
  request;
11371
11409
  constructor(e) {
11372
11410
  super(`Request timed out: ${e.method} ${e.url}`), this.name = "TimeoutError", this.request = e;
@@ -11375,7 +11413,7 @@ class ia extends Error {
11375
11413
  async function Mr(a, e, t, i) {
11376
11414
  return new Promise((s, r) => {
11377
11415
  const o = setTimeout(() => {
11378
- t && t.abort(), r(new ia(a));
11416
+ t && t.abort(), r(new sa(a));
11379
11417
  }, i.timeout);
11380
11418
  i.fetch(a, e).then(s).catch(r).then(() => {
11381
11419
  clearTimeout(o);
@@ -11400,16 +11438,16 @@ const Ir = (a, e) => {
11400
11438
  return t;
11401
11439
  }, Er = (a) => a === void 0 ? !1 : Array.isArray(a) ? a.length > 0 : a instanceof URLSearchParams ? a.size > 0 : typeof a == "object" ? Object.keys(a).length > 0 : typeof a == "string" ? a.trim().length > 0 : !!a;
11402
11440
  function $r(a) {
11403
- return a instanceof aa || a?.name === aa.name;
11441
+ return a instanceof ia || a?.name === ia.name;
11404
11442
  }
11405
11443
  function Pr(a) {
11406
- return a instanceof ia || a?.name === ia.name;
11444
+ return a instanceof sa || a?.name === sa.name;
11407
11445
  }
11408
11446
  class wt {
11409
11447
  static create(e, t) {
11410
11448
  const i = new wt(e, t), s = async () => {
11411
- if (typeof i.#e.timeout == "number" && i.#e.timeout > Kt)
11412
- throw new RangeError(`The \`timeout\` option cannot be greater than ${Kt}`);
11449
+ if (typeof i.#e.timeout == "number" && i.#e.timeout > Jt)
11450
+ throw new RangeError(`The \`timeout\` option cannot be greater than ${Jt}`);
11413
11451
  await Promise.resolve();
11414
11452
  let o = await i.#p();
11415
11453
  for (const f of i.#e.hooks.afterResponse) {
@@ -11418,10 +11456,10 @@ class wt {
11418
11456
  throw await Promise.all([
11419
11457
  p.body?.cancel(),
11420
11458
  o.body?.cancel()
11421
- ]), new Yt(v.options);
11459
+ ]), new Kt(v.options);
11422
11460
  }
11423
11461
  if (i.#d(o), !o.ok && (typeof i.#e.throwHttpErrors == "function" ? i.#e.throwHttpErrors(o.status) : i.#e.throwHttpErrors)) {
11424
- let f = new aa(o, i.request, i.#o());
11462
+ let f = new ia(o, i.request, i.#o());
11425
11463
  for (const p of i.#e.hooks.beforeError)
11426
11464
  f = await p(f, { retryCount: i.#a });
11427
11465
  throw f;
@@ -11491,7 +11529,7 @@ class wt {
11491
11529
  throw new Error("`input` must not begin with a slash when using `prefixUrl`");
11492
11530
  this.#e.prefixUrl.endsWith("/") || (this.#e.prefixUrl += "/"), this.#t = this.#e.prefixUrl + this.#t;
11493
11531
  }
11494
- lr && ui && (this.#s = this.#e.signal ?? this.#t.signal, this.#i = new globalThis.AbortController(), this.#e.signal = this.#s ? AbortSignal.any([this.#s, this.#i.signal]) : this.#i.signal), ja && (this.#e.duplex = "half"), this.#e.json !== void 0 && (this.#e.body = this.#e.stringifyJson?.(this.#e.json) ?? JSON.stringify(this.#e.json), this.#e.headers.set("content-type", this.#e.headers.get("content-type") ?? "application/json"));
11532
+ lr && ui && (this.#s = this.#e.signal ?? this.#t.signal, this.#i = new globalThis.AbortController(), this.#e.signal = this.#s ? AbortSignal.any([this.#s, this.#i.signal]) : this.#i.signal), Ha && (this.#e.duplex = "half"), this.#e.json !== void 0 && (this.#e.body = this.#e.stringifyJson?.(this.#e.json) ?? JSON.stringify(this.#e.json), this.#e.headers.set("content-type", this.#e.headers.get("content-type") ?? "application/json"));
11495
11533
  const i = t.headers && new globalThis.Headers(t.headers).has("content-type");
11496
11534
  if (this.#t instanceof globalThis.Request && (fr && this.#e.body instanceof globalThis.FormData || this.#e.body instanceof URLSearchParams) && !i && this.#e.headers.delete("content-type"), this.request = new globalThis.Request(this.#t, this.#e), Er(this.#e.searchParams)) {
11497
11535
  const r = "?" + (typeof this.#e.searchParams == "string" ? this.#e.searchParams.replace(/^\?/, "") : new URLSearchParams(wt.#u(this.#e.searchParams)).toString()), o = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, r);
@@ -11500,7 +11538,7 @@ class wt {
11500
11538
  if (this.#e.onUploadProgress) {
11501
11539
  if (typeof this.#e.onUploadProgress != "function")
11502
11540
  throw new TypeError("The `onUploadProgress` option must be a function");
11503
- if (!ja)
11541
+ if (!Ha)
11504
11542
  throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");
11505
11543
  this.request = this.#h(this.request, this.#e.body ?? void 0);
11506
11544
  }
@@ -11514,7 +11552,7 @@ class wt {
11514
11552
  if (this.#a++, this.#a > this.#e.retry.limit)
11515
11553
  throw e;
11516
11554
  const t = e instanceof Error ? e : new hi(e);
11517
- if (t instanceof Yt)
11555
+ if (t instanceof Kt)
11518
11556
  return t.customDelay ?? this.#c();
11519
11557
  if (!this.#e.retry.methods.includes(this.request.method.toLowerCase()))
11520
11558
  throw e;
@@ -11549,10 +11587,10 @@ class wt {
11549
11587
  try {
11550
11588
  return await e();
11551
11589
  } catch (t) {
11552
- const i = Math.min(await this.#b(t), Kt);
11590
+ const i = Math.min(await this.#b(t), Jt);
11553
11591
  if (this.#a < 1)
11554
11592
  throw t;
11555
- if (await Tr(i, this.#s ? { signal: this.#s } : {}), t instanceof Yt && t.customRequest) {
11593
+ if (await Tr(i, this.#s ? { signal: this.#s } : {}), t instanceof Kt && t.customRequest) {
11556
11594
  const s = this.#e.signal ? new globalThis.Request(t.customRequest, { signal: this.#e.signal }) : new globalThis.Request(t.customRequest);
11557
11595
  this.#l(s);
11558
11596
  }
@@ -11603,12 +11641,12 @@ class wt {
11603
11641
  return !this.#e.onUploadProgress || !e.body ? e : wr(e, this.#e.onUploadProgress, t ?? this.#e.body ?? void 0);
11604
11642
  }
11605
11643
  }
11606
- const sa = (a) => {
11644
+ const na = (a) => {
11607
11645
  const e = (t, i) => wt.create(t, Pt(a, i));
11608
11646
  for (const t of bi)
11609
11647
  e[t] = (i, s) => wt.create(i, Pt(a, s, { method: t }));
11610
- return e.create = (t) => sa(Pt(t)), e.extend = (t) => (typeof t == "function" && (t = t(a ?? {})), sa(Pt(a, t))), e.stop = pi, e.retry = br, e;
11611
- }, Lr = sa();
11648
+ return e.create = (t) => na(Pt(t)), e.extend = (t) => (typeof t == "function" && (t = t(a ?? {})), na(Pt(a, t))), e.stop = pi, e.retry = br, e;
11649
+ }, Lr = na();
11612
11650
  Lr.extend({
11613
11651
  hooks: {
11614
11652
  beforeRequest: [
@@ -11638,7 +11676,7 @@ async function Rr(a, e) {
11638
11676
  }).text()
11639
11677
  );
11640
11678
  }
11641
- var zr = Object.defineProperty, Or = Object.getOwnPropertyDescriptor, j = (a, e, t, i) => {
11679
+ var zr = Object.defineProperty, Or = Object.getOwnPropertyDescriptor, H = (a, e, t, i) => {
11642
11680
  for (var s = i > 1 ? void 0 : i ? Or(e, t) : e, r = a.length - 1, o; r >= 0; r--)
11643
11681
  (o = a[r]) && (s = (i ? o(e, t, s) : o(s)) || s);
11644
11682
  return i && s && zr(e, t, s), s;
@@ -11651,7 +11689,7 @@ function Br() {
11651
11689
  }
11652
11690
  let D = class extends re {
11653
11691
  constructor() {
11654
- super(...arguments), this.store = new it(this, u), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.version = "current", this.testMode = "false", this.suppressStartupForm = "false", 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">
11692
+ super(...arguments), this.store = new it(this, h), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.version = "current", this.testMode = "false", this.suppressStartupForm = "false", 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">
11655
11693
  <path d="M100.438 0C155.665 0 200.438 44.7723 200.438 100C200.438 155.228 155.665 200 100.438 200C45.2098 200 0.4375 155.228 0.4375 100C0.4375 44.7723 45.2098 0 100.438 0ZM130.093 60.6063C120.409 60.6063 115.205 61.458 109.344 65.0325C100.122 70.6592 95.629 80.1958 94.2273 93.877C94.1468 94.5544 93.8048 97.2571 93.4091 100.349C93.3152 101.06 93.2281 101.771 93.1409 102.455C92.7318 105.573 92.3093 108.739 92.0142 110.408C90.8808 117.041 89.2914 123.761 83.8927 126.759C83.6915 126.873 83.4702 126.967 83.2556 127.067C78.6013 129.093 72.2905 128.898 72.2905 128.898C72.2905 128.898 69.1988 128.885 69.1787 128.885C69.172 128.885 69.1921 128.885 69.1921 128.898L68.1057 143.632C87.7824 143.666 93.0537 139.213 93.0537 139.213C102.275 133.586 106.768 124.049 108.17 110.368C108.251 109.677 108.593 106.894 109.002 103.735C109.096 103.004 109.196 102.273 109.283 101.576C109.679 98.5246 110.095 95.4798 110.383 93.8435C111.517 87.2108 113.106 80.4842 118.505 77.4931C118.706 77.3791 118.921 77.2852 119.135 77.1846C123.756 75.1727 130.107 75.3471 130.107 75.3471C132.494 75.3269 133.219 75.4007 133.286 75.4074L134.292 60.6264C132.783 60.6264 130.107 60.6264 130.107 60.6264L130.093 60.6063Z" fill="#010101" style="fill:#010101;fill:color(display-p3 0.0039 0.0039 0.0039);fill-opacity:1;"/>
11656
11694
  </svg>`, this.closeSvg = '<svg viewBox="0 0 16 16" width="1.4em" height="1.4em"><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>', this.logoSvgGradient = `<svg width="28" height="28" viewBox="0 0 400 400" fill="none" xmlns="http://www.w3.org/2000/svg">
11657
11695
  <g clip-path="url(#clip0_830_884)">
@@ -11669,7 +11707,7 @@ let D = class extends re {
11669
11707
  <rect width="400" height="400" fill="white"/>
11670
11708
  </clipPath>
11671
11709
  </defs>
11672
- </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.lifecycleListenersAttached = !1, this.handleAddMessage = (a) => {
11710
+ </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.lifecycleListenersAttached = !1, this._viewportResizeHandler = null, this._viewportRafId = 0, this.handleAddMessage = (a) => {
11673
11711
  this._addMessageHandler(a);
11674
11712
  }, this.handleStateEvent = (a) => {
11675
11713
  this._stateEventHandler(a);
@@ -11678,13 +11716,13 @@ let D = class extends re {
11678
11716
  }, this.handleFormSubmitEvent = (a) => {
11679
11717
  this._formSubmitHandler(a);
11680
11718
  }, this.boundScrollToBottomOnUpdate = this._scrollToBottomOnUpdate.bind(this), this.handleVisibilityChange = () => {
11681
- u.handleLifecycleResume("visibilitychange", this.boundScrollToBottomOnUpdate);
11719
+ h.handleLifecycleResume("visibilitychange", this.boundScrollToBottomOnUpdate);
11682
11720
  }, this.handlePageShow = () => {
11683
- u.handleLifecycleResume("pageshow", this.boundScrollToBottomOnUpdate);
11721
+ h.handleLifecycleResume("pageshow", this.boundScrollToBottomOnUpdate);
11684
11722
  }, this.handleWindowFocus = () => {
11685
- u.handleLifecycleResume("focus", this.boundScrollToBottomOnUpdate);
11723
+ h.handleLifecycleResume("focus", this.boundScrollToBottomOnUpdate);
11686
11724
  }, this.handleWindowOnline = () => {
11687
- u.handleLifecycleResume("online", this.boundScrollToBottomOnUpdate);
11725
+ h.handleLifecycleResume("online", this.boundScrollToBottomOnUpdate);
11688
11726
  }, this.fetchStream = Rr;
11689
11727
  }
11690
11728
  /**
@@ -11700,10 +11738,10 @@ let D = class extends re {
11700
11738
  isThinking: !0,
11701
11739
  data: {}
11702
11740
  };
11703
- return u.addMessage(a), a;
11741
+ return h.addMessage(a), a;
11704
11742
  }
11705
11743
  addTestMessageRaw(a) {
11706
- u.addMessage(a);
11744
+ h.addMessage(a);
11707
11745
  }
11708
11746
  addTestMessage(a = "") {
11709
11747
  const t = {
@@ -11714,23 +11752,23 @@ let D = class extends re {
11714
11752
  text: a !== "" ? a : "Long text.The element may not be scrolled completely to the top or bottom depending on the layout of other elements.The element may not be scrolled completely to the top or bottom depending on the layout of other elements."
11715
11753
  }
11716
11754
  };
11717
- return u.addMessage(t), t;
11755
+ return h.addMessage(t), t;
11718
11756
  }
11719
11757
  addActions(a = []) {
11720
- u.addActions(a);
11758
+ h.addActions(a);
11721
11759
  }
11722
11760
  render() {
11723
- return u.disabled && !this.alwaysOpen ? (Be.info("Bot is disabled until settings are loaded"), null) : b`
11724
- <div class="cb-wrapper${u.open ? " cb-open" : ""}" part="wrapper${u.open ? " open" : ""}" exportparts="new-conversation-wrapper new-conversation-button wrapper${u.open ? " open" : ""}">
11761
+ return h.disabled && !this.alwaysOpen ? (Be.info("Bot is disabled until settings are loaded"), null) : b`
11762
+ <div class="cb-wrapper${h.open ? " cb-open" : ""}" part="wrapper${h.open ? " open" : ""}" exportparts="new-conversation-wrapper new-conversation-button wrapper${h.open ? " open" : ""}">
11725
11763
  <cb-header title="${this.name}" exportparts="header, header-logo, header-title, header-close"></cb-header>
11726
11764
  <cb-message-list
11727
- .messages=${u.messages}
11728
- .actions=${u.actions}
11729
- .form=${u.form}
11765
+ .messages=${h.messages}
11766
+ .actions=${h.actions}
11767
+ .form=${h.form}
11730
11768
  exportparts="bot-message-list, disclaimer-message, bot-message, cb-message, bot-message-content, user-message-content, user-avatar, assistant-avatar, feedback-wrapper,feedback-up,feedback-down,form, form-title, form-input, form-submit"
11731
11769
  ></cb-message-list>
11732
11770
  ${W(
11733
- u.showNewConversation,
11771
+ h.showNewConversation,
11734
11772
  () => b`
11735
11773
  <div class="cb-new-conversation-wrapper" part="new-conversation-wrapper">
11736
11774
  <button type="button" class="card-btn info" part="new-conversation-button" @click=${this.clearConversation}>Start New Conversation</button>
@@ -11741,36 +11779,36 @@ let D = class extends re {
11741
11779
  <cb-audio-controls exportparts="audio-controls-wrapper, audio-controls, audio-mute-button, audio-unmute-button, audio-end-button, audio-controls-viz"></cb-audio-controls>
11742
11780
  ${this.renderUserInput()} ${this.renderFeedbackDialog()}
11743
11781
  </div>
11744
- <cb-anchor ?open=${u.open} exportparts="anchor, anchor-badge, anchor-icon"></cb-anchor>
11782
+ <cb-anchor class="${h.open ? "cb-anchor-hidden-mobile" : ""}" ?open=${h.open} exportparts="anchor, anchor-badge, anchor-icon"></cb-anchor>
11745
11783
  `;
11746
11784
  }
11747
11785
  renderFeedbackDialog() {
11748
11786
  return b`<cb-dialog-feedback></cb-dialog-feedback>`;
11749
11787
  }
11750
11788
  _dialogCancelHandler() {
11751
- console.log("Feedback dialog cancelled"), u.feedback = !1;
11789
+ console.log("Feedback dialog cancelled"), h.feedback = !1;
11752
11790
  }
11753
11791
  renderUserInput() {
11754
- return u.form || u.disabled && this.alwaysOpen ? null : u.setting.enableAudio ? b`
11792
+ return h.form || h.disabled && this.alwaysOpen ? null : h.setting.enableAudio ? b`
11755
11793
  <cb-user-input-mm
11756
11794
  part="user-input-control"
11757
- ?loading=${u.connecting}
11758
- ?disabled=${u.connecting || u.form}
11759
- ?enable-file-upload=${u.setting.uploadImages && u.connected}
11760
- ?enable-audio=${u.setting.enableAudio && u.connected}
11795
+ ?loading=${h.connecting}
11796
+ ?disabled=${h.connecting || h.form}
11797
+ ?enable-file-upload=${h.setting.uploadImages && h.connected}
11798
+ ?enable-audio=${h.setting.enableAudio && h.connected}
11761
11799
  exportparts="user-input-control,user-input, user-input-wrapper, user-input-inner, user-input-base, upload-button, control-button, user-input-textarea, user-input-buttons-wrapper, user-input-send-icon, user-input-attach-icon"
11762
11800
  ></cb-user-input-mm>` : b`
11763
11801
  <cb-user-input
11764
11802
  part="user-input-control"
11765
- ?loading=${u.connecting}
11766
- ?disabled=${u.connecting || u.form}
11767
- ?enable-file-upload=${u.setting.uploadImages && u.connected}
11768
- ?enable-audio=${u.setting.enableAudio && u.connected}
11803
+ ?loading=${h.connecting}
11804
+ ?disabled=${h.connecting || h.form}
11805
+ ?enable-file-upload=${h.setting.uploadImages && h.connected}
11806
+ ?enable-audio=${h.setting.enableAudio && h.connected}
11769
11807
  exportparts="user-input-control,user-input, user-input-wrapper, user-input-base, user-input-textarea, user-input-buttons-wrapper, user-input-send-icon, user-input-attach-icon"
11770
11808
  ></cb-user-input>`;
11771
11809
  }
11772
11810
  connectedCallback() {
11773
- 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), this.attachLifecycleListeners();
11811
+ super.connectedCallback(), Be.info("connectedCallback"), this.initCssVariables(), this.attachViewportListener(), 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), this.attachLifecycleListeners();
11774
11812
  }
11775
11813
  extractCssVariable(a, e, t) {
11776
11814
  let i = a.getPropertyValue(e).trim();
@@ -11779,7 +11817,7 @@ let D = class extends re {
11779
11817
  // Extract css variables that control the appearance of the chatbot
11780
11818
  initCssVariables() {
11781
11819
  let a = getComputedStyle(this);
11782
- u.appearanceAnchorPopupPosition = this.extractCssVariable(a, "--enegelai-bot-anchor-popup-position", "top-end"), u.appearanceAnchorBadgeVariant = this.extractCssVariable(a, "--enegelai-bot-anchor-badge-variant", u.appearanceAnchorBadgeVariant), u.appearanceUserMessageAvatarPosition = this.extractCssVariable(a, "--enegelai-bot-user-message-avatar-position", "left");
11820
+ h.appearanceAnchorPopupPosition = this.extractCssVariable(a, "--enegelai-bot-anchor-popup-position", "top-end"), h.appearanceAnchorBadgeVariant = this.extractCssVariable(a, "--enegelai-bot-anchor-badge-variant", h.appearanceAnchorBadgeVariant), h.appearanceUserMessageAvatarPosition = this.extractCssVariable(a, "--enegelai-bot-user-message-avatar-position", "left");
11783
11821
  }
11784
11822
  /*
11785
11823
  private getPopupPlacement() {
@@ -11799,7 +11837,7 @@ let D = class extends re {
11799
11837
 
11800
11838
  */
11801
11839
  disconnectedCallback() {
11802
- 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), this.detachLifecycleListeners();
11840
+ Be.info("disconnectedCallback"), super.disconnectedCallback(), this.detachViewportListener(), 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), this.detachLifecycleListeners();
11803
11841
  }
11804
11842
  attachLifecycleListeners() {
11805
11843
  this.lifecycleListenersAttached || Br() && (document.addEventListener("visibilitychange", this.handleVisibilityChange), window.addEventListener("pageshow", this.handlePageShow), window.addEventListener("focus", this.handleWindowFocus), window.addEventListener("online", this.handleWindowOnline), this.lifecycleListenersAttached = !0);
@@ -11821,34 +11859,34 @@ let D = class extends re {
11821
11859
  // initialize setting
11822
11860
  _initSetting() {
11823
11861
  Be.info("_initSetting");
11824
- const a = u.setting;
11825
- a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.version = this.version || "current", a.testMode = this.testMode === "true", a.suppressStartupForm = this.suppressStartupForm === "true", 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, u.setSetting(a);
11862
+ const a = h.setting;
11863
+ a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.version = this.version || "current", a.testMode = this.testMode === "true", a.suppressStartupForm = this.suppressStartupForm === "true", 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, h.setSetting(a);
11826
11864
  let e = {};
11827
11865
  try {
11828
11866
  e = JSON.parse(this.prefilledFormFields);
11829
11867
  } catch (t) {
11830
11868
  Be.error(`Failed to parse prefilled-form-fields attribute value, error: ${t?.message || ""}`), e = {};
11831
11869
  }
11832
- u.setPrefilledFormFields(e), this.open && (u.open = !0), this.alwaysOpen && (u.open = !0, u.alwaysOpen = !0);
11870
+ h.setPrefilledFormFields(e), this.open && (h.open = !0), this.alwaysOpen && (h.open = !0, h.alwaysOpen = !0), this.requestViewportUpdate();
11833
11871
  }
11834
11872
  setLoading(a) {
11835
11873
  this.loading = a;
11836
11874
  }
11837
11875
  clearConversation() {
11838
- u.clearConversation().catch((a) => {
11876
+ h.clearConversation().catch((a) => {
11839
11877
  });
11840
11878
  }
11841
11879
  setPrefilledFormFields(a) {
11842
- u.setPrefilledFormFields(a);
11880
+ h.setPrefilledFormFields(a);
11843
11881
  }
11844
11882
  setOpen(a = !1) {
11845
- u.open = a;
11883
+ h.open = a, this.requestViewportUpdate();
11846
11884
  }
11847
11885
  getOpen() {
11848
- return u.open;
11886
+ return h.open;
11849
11887
  }
11850
11888
  toggleOpen() {
11851
- u.open = !u.open;
11889
+ h.open = !h.open, this.requestViewportUpdate();
11852
11890
  }
11853
11891
  setInputValue(a = "") {
11854
11892
  this.emitExt("c7o:bot:input:setvalue", {
@@ -11861,15 +11899,15 @@ let D = class extends re {
11861
11899
  // It can be any data related with current user / current conversation,
11862
11900
  // for example, user profile, current product user is viewing on the web page, etc.
11863
11901
  setContext(a = {}) {
11864
- u.setContext(a).catch((e) => {
11902
+ h.setContext(a).catch((e) => {
11865
11903
  Be.error(`Failed to set context, error: ${e?.message || ""}`);
11866
11904
  });
11867
11905
  }
11868
11906
  getContext() {
11869
- return u.getContext();
11907
+ return h.getContext();
11870
11908
  }
11871
11909
  clearContext() {
11872
- return u.clearContext();
11910
+ return h.clearContext();
11873
11911
  }
11874
11912
  // check auth
11875
11913
  _checkAuth() {
@@ -11926,11 +11964,11 @@ let D = class extends re {
11926
11964
  }
11927
11965
  // [sv2] for testing only
11928
11966
  processAgentConnected(a) {
11929
- u.handleAgentConnected(a).catch((e) => {
11967
+ h.handleAgentConnected(a).catch((e) => {
11930
11968
  });
11931
11969
  }
11932
11970
  processAgentDisconnected(a) {
11933
- u.handleAgentDisconnected(a).catch((e) => {
11971
+ h.handleAgentDisconnected(a).catch((e) => {
11934
11972
  });
11935
11973
  }
11936
11974
  _processSendMessage(a) {
@@ -11938,9 +11976,9 @@ let D = class extends re {
11938
11976
  console.log("_processSendMessage: input text is empty, ignored", a);
11939
11977
  return;
11940
11978
  }
11941
- a.data.text = xt(a.data.text.trim()), u.isConversationStart() && (console.log("Start of conversation detected, emitting c7o:bot:conversationStart", a), a.conversationId = u.conversationId, this.emitExt("c7o:bot:conversationStart", {
11979
+ a.data.text = xt(a.data.text.trim()), h.isConversationStart() && (console.log("Start of conversation detected, emitting c7o:bot:conversationStart", a), a.conversationId = h.conversationId, this.emitExt("c7o:bot:conversationStart", {
11942
11980
  detail: a
11943
- })), u.sendMessage(a), setTimeout(() => {
11981
+ })), h.sendMessage(a), setTimeout(() => {
11944
11982
  this._scrollToBottom();
11945
11983
  }, 50);
11946
11984
  }
@@ -11955,27 +11993,27 @@ let D = class extends re {
11955
11993
  }
11956
11994
  _chatbotToggleHandler(a) {
11957
11995
  const e = a.detail;
11958
- u.open = e.open, u.notifyWidgetOpenState(), this.emitExt(e.open ? "c7o:bot:open" : "c7o:bot:close"), u.unreadMessages = 0, u.suppressEngagePopup();
11996
+ h.open = e.open, this.requestViewportUpdate(), h.notifyWidgetOpenState(), this.emitExt(e.open ? "c7o:bot:open" : "c7o:bot:close"), h.unreadMessages = 0, h.suppressEngagePopup();
11959
11997
  }
11960
11998
  _deleteMessageHandler(a) {
11961
11999
  const e = a.detail;
11962
- u.removeMessage(e.id);
12000
+ h.removeMessage(e.id);
11963
12001
  }
11964
12002
  async _uploadFileHandler(a) {
11965
12003
  const e = a.detail;
11966
- await u.uploadFiles(e.files);
12004
+ await h.uploadFiles(e.files);
11967
12005
  }
11968
12006
  async _audioToggleHandler(a) {
11969
- Be.info("_audioToggleHandler called"), await u.toggleAudio();
12007
+ Be.info("_audioToggleHandler called"), await h.toggleAudio();
11970
12008
  }
11971
12009
  // setting confirm handler
11972
12010
  _settingConfirmHandler(a) {
11973
12011
  const e = a.detail;
11974
- u.setSetting(e.setting), this.showSetting = !1, this._checkAuth();
12012
+ h.setSetting(e.setting), this.showSetting = !1, this._checkAuth();
11975
12013
  }
11976
12014
  _formSubmitHandler(a) {
11977
12015
  const e = a.detail;
11978
- e.conversationId = u.conversationId, this.emitExt("c7o:bot:formSubmit", {
12016
+ e.conversationId = h.conversationId, this.emitExt("c7o:bot:formSubmit", {
11979
12017
  detail: e
11980
12018
  });
11981
12019
  }
@@ -11983,108 +12021,139 @@ let D = class extends re {
11983
12021
  _scrollToBottom(a = !1) {
11984
12022
  this._messageList?.scrollToBottom();
11985
12023
  }
12024
+ requestViewportUpdate() {
12025
+ if (!window.matchMedia("(max-width: 640px)").matches) {
12026
+ this.style.removeProperty("--c7o-vv-height"), this.style.removeProperty("--c7o-vv-offset");
12027
+ return;
12028
+ }
12029
+ this._viewportResizeHandler && this._viewportResizeHandler();
12030
+ }
12031
+ attachViewportListener() {
12032
+ this.detachViewportListener();
12033
+ const a = window.visualViewport;
12034
+ if (!a)
12035
+ return;
12036
+ const e = () => {
12037
+ if (this._viewportRafId = 0, !window.matchMedia("(max-width: 640px)").matches) {
12038
+ this.style.removeProperty("--c7o-vv-height"), this.style.removeProperty("--c7o-vv-offset");
12039
+ return;
12040
+ }
12041
+ const t = Math.max(0, window.innerHeight - a.height - a.offsetTop), i = t > 10;
12042
+ if (h.open && i) {
12043
+ this.style.setProperty("--c7o-vv-height", `${a.height}px`), this.style.setProperty("--c7o-vv-offset", `${t}px`);
12044
+ return;
12045
+ }
12046
+ this.style.removeProperty("--c7o-vv-height"), this.style.removeProperty("--c7o-vv-offset");
12047
+ };
12048
+ this._viewportResizeHandler = () => {
12049
+ this._viewportRafId || (this._viewportRafId = requestAnimationFrame(e));
12050
+ }, a.addEventListener("resize", this._viewportResizeHandler), a.addEventListener("scroll", this._viewportResizeHandler), this._viewportResizeHandler();
12051
+ }
12052
+ detachViewportListener() {
12053
+ this._viewportRafId && (cancelAnimationFrame(this._viewportRafId), this._viewportRafId = 0), this._viewportResizeHandler && window.visualViewport && (window.visualViewport.removeEventListener("resize", this._viewportResizeHandler), window.visualViewport.removeEventListener("scroll", this._viewportResizeHandler)), this._viewportResizeHandler = null, this.style.removeProperty("--c7o-vv-height"), this.style.removeProperty("--c7o-vv-offset");
12054
+ }
11986
12055
  };
11987
12056
  D.styles = [Xi, Za];
11988
- j([
12057
+ H([
11989
12058
  x({ type: Boolean, attribute: "display-license" })
11990
12059
  ], D.prototype, "displayLicense", 2);
11991
- j([
12060
+ H([
11992
12061
  x({ type: String, attribute: "name" })
11993
12062
  ], D.prototype, "name", 2);
11994
- j([
12063
+ H([
11995
12064
  x({ type: String, attribute: "org-id" })
11996
12065
  ], D.prototype, "orgId", 2);
11997
- j([
12066
+ H([
11998
12067
  x({ type: String, attribute: "bot-id" })
11999
12068
  ], D.prototype, "botId", 2);
12000
- j([
12069
+ H([
12001
12070
  x({ type: String, attribute: "version" })
12002
12071
  ], D.prototype, "version", 2);
12003
- j([
12072
+ H([
12004
12073
  x({ type: String, attribute: "test-mode" })
12005
12074
  ], D.prototype, "testMode", 2);
12006
- j([
12075
+ H([
12007
12076
  x({ type: String, attribute: "suppress-startup-form" })
12008
12077
  ], D.prototype, "suppressStartupForm", 2);
12009
- j([
12078
+ H([
12010
12079
  x({ type: String, attribute: "url" })
12011
12080
  ], D.prototype, "url", 2);
12012
- j([
12081
+ H([
12013
12082
  x({ type: String, attribute: "logo-url" })
12014
12083
  ], D.prototype, "logoUrl", 2);
12015
- j([
12084
+ H([
12016
12085
  x({ type: String, attribute: "logo-svg" })
12017
12086
  ], D.prototype, "logoSvg", 2);
12018
- j([
12087
+ H([
12019
12088
  x({ type: String, attribute: "close-svg" })
12020
12089
  ], D.prototype, "closeSvg", 2);
12021
- j([
12090
+ H([
12022
12091
  x({ type: String, attribute: "popup-logo-svg" })
12023
12092
  ], D.prototype, "popupLogoSvg", 2);
12024
- j([
12093
+ H([
12025
12094
  x({ type: String, attribute: "popup-logo-url" })
12026
12095
  ], D.prototype, "popupLogoUrl", 2);
12027
- j([
12096
+ H([
12028
12097
  x({ type: String, attribute: "bot-icon-svg" })
12029
12098
  ], D.prototype, "botIconSvg", 2);
12030
- j([
12099
+ H([
12031
12100
  x({ type: String, attribute: "user-icon-svg" })
12032
12101
  ], D.prototype, "userIconSvg", 2);
12033
- j([
12102
+ H([
12034
12103
  x({ type: String, attribute: "system-icon-svg" })
12035
12104
  ], D.prototype, "systemIconSvg", 2);
12036
- j([
12105
+ H([
12037
12106
  x({ type: String, attribute: "agent-icon-svg" })
12038
12107
  ], D.prototype, "agentIconSvg", 2);
12039
- j([
12108
+ H([
12040
12109
  x({ type: String, attribute: "info-icon-svg" })
12041
12110
  ], D.prototype, "infoIconSvg", 2);
12042
- j([
12111
+ H([
12043
12112
  x({ type: String, attribute: "anchor-open-svg" })
12044
12113
  ], D.prototype, "anchorOpenSvg", 2);
12045
- j([
12114
+ H([
12046
12115
  x({ type: String, attribute: "anchor-close-svg" })
12047
12116
  ], D.prototype, "anchorCloseSvg", 2);
12048
- j([
12117
+ H([
12049
12118
  x({ type: String, attribute: "send-icon-svg" })
12050
12119
  ], D.prototype, "sendIconSvg", 2);
12051
- j([
12120
+ H([
12052
12121
  x({ type: String, attribute: "attach-icon-svg" })
12053
12122
  ], D.prototype, "attachIconSvg", 2);
12054
- j([
12123
+ H([
12055
12124
  x({ type: Boolean, attribute: "stream" })
12056
12125
  ], D.prototype, "stream", 2);
12057
- j([
12126
+ H([
12058
12127
  x({ type: Boolean, attribute: "custom-request" })
12059
12128
  ], D.prototype, "customRequest", 2);
12060
- j([
12129
+ H([
12061
12130
  x({ type: Boolean, attribute: "enable-file-upload" })
12062
12131
  ], D.prototype, "enableFileUpload", 2);
12063
- j([
12132
+ H([
12064
12133
  x({ type: String, attribute: "upload-file-url" })
12065
12134
  ], D.prototype, "uploadFileUrl", 2);
12066
- j([
12135
+ H([
12067
12136
  x({ type: Boolean, attribute: "open" })
12068
12137
  ], D.prototype, "open", 2);
12069
- j([
12138
+ H([
12070
12139
  x({ type: Boolean, attribute: "always-open" })
12071
12140
  ], D.prototype, "alwaysOpen", 2);
12072
- j([
12141
+ H([
12073
12142
  x({ type: String, attribute: "prefilled-form-fields" })
12074
12143
  ], D.prototype, "prefilledFormFields", 2);
12075
- j([
12144
+ H([
12076
12145
  x({ type: Boolean })
12077
12146
  ], D.prototype, "loading", 2);
12078
- j([
12147
+ H([
12079
12148
  x({ type: Boolean })
12080
12149
  ], D.prototype, "showSetting", 2);
12081
- j([
12150
+ H([
12082
12151
  x({ type: Boolean })
12083
12152
  ], D.prototype, "showAuthAlert", 2);
12084
- j([
12153
+ H([
12085
12154
  xe("cb-message-list")
12086
12155
  ], D.prototype, "_messageList", 2);
12087
- D = j([
12156
+ D = H([
12088
12157
  J("enegelai-bot")
12089
12158
  ], D);
12090
12159
  export {