@enegelai/bot-widget 1.4.4 → 1.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,10 +1,10 @@
1
1
  var Ea = Object.defineProperty;
2
2
  var Aa = (a, t, c) => t in a ? Ea(a, t, { enumerable: !0, configurable: !0, writable: !0, value: c }) : a[t] = c;
3
3
  var se = (a, t, c) => (Aa(a, typeof t != "symbol" ? t + "" : t, c), c);
4
- import { css as U, LitElement as rt, html as x, svg as Qe } from "lit";
5
- import { property as k, customElement as W, queryAll as Nt, query as qe, eventOptions as Ft } from "lit/decorators.js";
4
+ import { css as U, LitElement as rt, html as w, svg as Qe } from "lit";
5
+ import { property as k, customElement as Y, queryAll as Nt, query as Re, eventOptions as Ft } from "lit/decorators.js";
6
6
  import { unsafeHTML as Ee } from "lit-html/directives/unsafe-html.js";
7
- import { when as ve } from "lit/directives/when.js";
7
+ import { when as ue } from "lit/directives/when.js";
8
8
  import "@shoelace-style/shoelace/dist/themes/light.css";
9
9
  import "@shoelace-style/shoelace/dist/themes/dark.css";
10
10
  import "@shoelace-style/shoelace/dist/components/button/button.js";
@@ -25,10 +25,10 @@ import "@shoelace-style/shoelace/dist/components/switch/switch.js";
25
25
  import "@shoelace-style/shoelace/dist/components/tooltip/tooltip.js";
26
26
  import "@shoelace-style/shoelace/dist/components/spinner/spinner.js";
27
27
  import "@shoelace-style/shoelace/dist/components/alert/alert.js";
28
- import { repeat as Ze } from "lit/directives/repeat.js";
28
+ import { repeat as Ge } from "lit/directives/repeat.js";
29
29
  import { until as Pt } from "lit-html/directives/until.js";
30
- import Ma from "markdown-it";
31
- import $a from "markdown-it-link-attributes";
30
+ import $a from "markdown-it";
31
+ import Ma from "markdown-it-link-attributes";
32
32
  import "@shoelace-style/shoelace/dist/components/popup/popup.js";
33
33
  function Ut(a) {
34
34
  return typeof a == "function" ? a() : a;
@@ -51,7 +51,7 @@ const ot = class ot extends Event {
51
51
  se(ot, "eventName", "lit-state-changed");
52
52
  let Ae = ot;
53
53
  const Ia = (a, t) => t !== a && (t === t || a === a);
54
- class Ge extends EventTarget {
54
+ class Ke extends EventTarget {
55
55
  constructor() {
56
56
  super();
57
57
  // hold a reference to hooks
@@ -90,8 +90,8 @@ class Ge extends EventTarget {
90
90
  return this[i];
91
91
  },
92
92
  set(b) {
93
- const w = this[c];
94
- this[i] = b, f(b, w) === !0 && this.dispatchStateEvent(c, b, this);
93
+ const x = this[c];
94
+ this[i] = b, f(b, x) === !0 && this.dispatchStateEvent(c, b, this);
95
95
  },
96
96
  configurable: !0,
97
97
  enumerable: !0
@@ -126,7 +126,7 @@ class Ge extends EventTarget {
126
126
  }
127
127
  }
128
128
  // a map holding decorators definition.
129
- se(Ge, "propertyMap"), se(Ge, "properties"), se(Ge, "finalized", !1);
129
+ se(Ke, "propertyMap"), se(Ke, "properties"), se(Ke, "finalized", !1);
130
130
  class Wt {
131
131
  constructor(t, c, i) {
132
132
  se(this, "host");
@@ -150,8 +150,8 @@ const Yt = ({ finisher: a, descriptor: t }) => (c, i) => {
150
150
  var s;
151
151
  if (i === void 0) {
152
152
  const f = (s = c.originalKey) !== null && s !== void 0 ? s : c.key, b = t != null ? { kind: "method", placement: "prototype", key: f, descriptor: t(c.key) } : { ...c, key: f };
153
- return a != null && (b.finisher = function(w) {
154
- a(w, f);
153
+ return a != null && (b.finisher = function(x) {
154
+ a(x, f);
155
155
  }), b;
156
156
  }
157
157
  {
@@ -159,7 +159,7 @@ const Yt = ({ finisher: a, descriptor: t }) => (c, i) => {
159
159
  t !== void 0 && Object.defineProperty(c, i, t(i)), a == null || a(f, i);
160
160
  }
161
161
  };
162
- function K(a) {
162
+ function X(a) {
163
163
  return Yt({
164
164
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
165
165
  finisher: (t, c) => {
@@ -182,7 +182,7 @@ new URL(window.location.href);
182
182
  const Oa = {
183
183
  prefix: "_ls"
184
184
  };
185
- function ue(a) {
185
+ function pe(a) {
186
186
  return a = { ...Oa, ...a }, Yt({
187
187
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
188
188
  finisher: (t, c) => {
@@ -194,13 +194,13 @@ function ue(a) {
194
194
  const j = f.initialValue;
195
195
  f.initialValue = () => ja(localStorage.getItem(s), b) ?? Ut(j), t.propertyMap.set(c, { ...f, ...a });
196
196
  }
197
- const w = i == null ? void 0 : i.set, R = {
197
+ const x = i == null ? void 0 : i.set, V = {
198
198
  ...i,
199
199
  set: function(j) {
200
- j !== void 0 && localStorage.setItem(s, b === Object || b === Array ? JSON.stringify(j) : j), w && w.call(this, j);
200
+ j !== void 0 && localStorage.setItem(s, b === Object || b === Array ? JSON.stringify(j) : j), x && x.call(this, j);
201
201
  }
202
202
  };
203
- Object.defineProperty(t.prototype, c, R);
203
+ Object.defineProperty(t.prototype, c, V);
204
204
  }
205
205
  });
206
206
  }
@@ -222,40 +222,40 @@ var Gt = { exports: {} };
222
222
  "error"
223
223
  ];
224
224
  function f(A, P) {
225
- var D = A[P];
226
- if (typeof D.bind == "function")
227
- return D.bind(A);
225
+ var R = A[P];
226
+ if (typeof R.bind == "function")
227
+ return R.bind(A);
228
228
  try {
229
- return Function.prototype.bind.call(D, A);
229
+ return Function.prototype.bind.call(R, A);
230
230
  } catch {
231
231
  return function() {
232
- return Function.prototype.apply.apply(D, [A, arguments]);
232
+ return Function.prototype.apply.apply(R, [A, arguments]);
233
233
  };
234
234
  }
235
235
  }
236
236
  function b() {
237
237
  console.log && (console.log.apply ? console.log.apply(console, arguments) : Function.prototype.apply.apply(console.log, [console, arguments])), console.trace && console.trace();
238
238
  }
239
- function w(A) {
239
+ function x(A) {
240
240
  return A === "debug" && (A = "log"), typeof console === c ? !1 : A === "trace" && i ? b : console[A] !== void 0 ? f(console, A) : console.log !== void 0 ? f(console, "log") : t;
241
241
  }
242
242
  function _(A, P) {
243
- for (var D = 0; D < s.length; D++) {
244
- var $ = s[D];
245
- this[$] = D < A ? t : this.methodFactory($, A, P);
243
+ for (var R = 0; R < s.length; R++) {
244
+ var M = s[R];
245
+ this[M] = R < A ? t : this.methodFactory(M, A, P);
246
246
  }
247
247
  this.log = this.debug;
248
248
  }
249
- function R(A, P, D) {
249
+ function V(A, P, R) {
250
250
  return function() {
251
- typeof console !== c && (_.call(this, P, D), this[A].apply(this, arguments));
251
+ typeof console !== c && (_.call(this, P, R), this[A].apply(this, arguments));
252
252
  };
253
253
  }
254
- function j(A, P, D) {
255
- return w(A) || R.apply(this, arguments);
254
+ function j(A, P, R) {
255
+ return x(A) || V.apply(this, arguments);
256
256
  }
257
- function T(A, P, D) {
258
- var $ = this, de;
257
+ function T(A, P, R) {
258
+ var M = this, de;
259
259
  P = P ?? "WARN";
260
260
  var ee = "loglevel";
261
261
  typeof A == "string" ? ee += ":" + A : typeof A == "symbol" && (ee = void 0);
@@ -273,7 +273,7 @@ var Gt = { exports: {} };
273
273
  }
274
274
  }
275
275
  }
276
- function $e() {
276
+ function Me() {
277
277
  var y;
278
278
  if (!(typeof window === c || !ee)) {
279
279
  try {
@@ -288,10 +288,10 @@ var Gt = { exports: {} };
288
288
  te !== -1 && (y = /^([^;]+)/.exec(ie.slice(te))[1]);
289
289
  } catch {
290
290
  }
291
- return $.levels[y] === void 0 && (y = void 0), y;
291
+ return M.levels[y] === void 0 && (y = void 0), y;
292
292
  }
293
293
  }
294
- function Re() {
294
+ function Ve() {
295
295
  if (!(typeof window === c || !ee)) {
296
296
  try {
297
297
  window.localStorage.removeItem(ee);
@@ -304,50 +304,50 @@ var Gt = { exports: {} };
304
304
  }
305
305
  }
306
306
  }
307
- $.name = A, $.levels = {
307
+ M.name = A, M.levels = {
308
308
  TRACE: 0,
309
309
  DEBUG: 1,
310
310
  INFO: 2,
311
311
  WARN: 3,
312
312
  ERROR: 4,
313
313
  SILENT: 5
314
- }, $.methodFactory = D || j, $.getLevel = function() {
314
+ }, M.methodFactory = R || j, M.getLevel = function() {
315
315
  return de;
316
- }, $.setLevel = function(y, ie) {
317
- if (typeof y == "string" && $.levels[y.toUpperCase()] !== void 0 && (y = $.levels[y.toUpperCase()]), typeof y == "number" && y >= 0 && y <= $.levels.SILENT) {
318
- if (de = y, ie !== !1 && lt(y), _.call($, y, A), typeof console === c && y < $.levels.SILENT)
316
+ }, M.setLevel = function(y, ie) {
317
+ if (typeof y == "string" && M.levels[y.toUpperCase()] !== void 0 && (y = M.levels[y.toUpperCase()]), typeof y == "number" && y >= 0 && y <= M.levels.SILENT) {
318
+ if (de = y, ie !== !1 && lt(y), _.call(M, y, A), typeof console === c && y < M.levels.SILENT)
319
319
  return "No console available for logging";
320
320
  } else
321
321
  throw "log.setLevel() called with invalid level: " + y;
322
- }, $.setDefaultLevel = function(y) {
323
- P = y, $e() || $.setLevel(y, !1);
324
- }, $.resetLevel = function() {
325
- $.setLevel(P, !1), Re();
326
- }, $.enableAll = function(y) {
327
- $.setLevel($.levels.TRACE, y);
328
- }, $.disableAll = function(y) {
329
- $.setLevel($.levels.SILENT, y);
322
+ }, M.setDefaultLevel = function(y) {
323
+ P = y, Me() || M.setLevel(y, !1);
324
+ }, M.resetLevel = function() {
325
+ M.setLevel(P, !1), Ve();
326
+ }, M.enableAll = function(y) {
327
+ M.setLevel(M.levels.TRACE, y);
328
+ }, M.disableAll = function(y) {
329
+ M.setLevel(M.levels.SILENT, y);
330
330
  };
331
- var ke = $e();
332
- ke == null && (ke = P), $.setLevel(ke, !1);
331
+ var ke = Me();
332
+ ke == null && (ke = P), M.setLevel(ke, !1);
333
333
  }
334
- var M = new T(), N = {};
335
- M.getLogger = function(P) {
334
+ var $ = new T(), N = {};
335
+ $.getLogger = function(P) {
336
336
  if (typeof P != "symbol" && typeof P != "string" || P === "")
337
337
  throw new TypeError("You must supply a name when creating a logger.");
338
- var D = N[P];
339
- return D || (D = N[P] = new T(
338
+ var R = N[P];
339
+ return R || (R = N[P] = new T(
340
340
  P,
341
- M.getLevel(),
342
- M.methodFactory
343
- )), D;
341
+ $.getLevel(),
342
+ $.methodFactory
343
+ )), R;
344
344
  };
345
345
  var ce = typeof window !== c ? window.log : void 0;
346
- return M.noConflict = function() {
347
- return typeof window !== c && window.log === M && (window.log = ce), M;
348
- }, M.getLoggers = function() {
346
+ return $.noConflict = function() {
347
+ return typeof window !== c && window.log === $ && (window.log = ce), $;
348
+ }, $.getLoggers = function() {
349
349
  return N;
350
- }, M.default = M, M;
350
+ }, $.default = $, $;
351
351
  });
352
352
  })(Gt);
353
353
  var La = Gt.exports;
@@ -513,39 +513,39 @@ var za = Object.defineProperty, Ha = Object.getOwnPropertyDescriptor, xt = (a, t
513
513
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
514
514
  return i && s && za(t, c, s), s;
515
515
  };
516
- let ze = class extends rt {
516
+ let He = class extends rt {
517
517
  constructor() {
518
518
  super(...arguments), this.color = "primary", this.svg = "";
519
519
  }
520
520
  render() {
521
- return x`<span class="cb-icon" part="base">${Ee(this.svg)}</span>`;
521
+ return w`<span class="cb-icon" part="base">${Ee(this.svg)}</span>`;
522
522
  }
523
523
  };
524
- ze.styles = Kt;
524
+ He.styles = Kt;
525
525
  xt([
526
526
  k({ type: String })
527
- ], ze.prototype, "color", 2);
527
+ ], He.prototype, "color", 2);
528
528
  xt([
529
529
  k({ type: String })
530
- ], ze.prototype, "svg", 2);
531
- ze = xt([
532
- W("cb-icon")
533
- ], ze);
530
+ ], He.prototype, "svg", 2);
531
+ He = xt([
532
+ Y("cb-icon")
533
+ ], He);
534
534
  let Ba = (a) => crypto.getRandomValues(new Uint8Array(a)), qa = (a, t, c) => {
535
535
  let i = (2 << Math.log(a.length - 1) / Math.LN2) - 1, s = -~(1.6 * i * t / a.length);
536
536
  return (f = t) => {
537
537
  let b = "";
538
538
  for (; ; ) {
539
- let w = c(s), _ = s;
539
+ let x = c(s), _ = s;
540
540
  for (; _--; )
541
- if (b += a[w[_] & i] || "", b.length === f)
541
+ if (b += a[x[_] & i] || "", b.length === f)
542
542
  return b;
543
543
  }
544
544
  };
545
- }, Da = (a, t = 21) => qa(a, t, Ba);
546
- const Ra = Da("1234567890abcdefghijklmnopqrstuvwxyz", 10);
545
+ }, Ra = (a, t = 21) => qa(a, t, Ba);
546
+ const Da = Ra("1234567890abcdefghijklmnopqrstuvwxyz", 10);
547
547
  function gt(a = 10) {
548
- return Ra(a);
548
+ return Da(a);
549
549
  }
550
550
  function Va(a) {
551
551
  return new Promise((t, c) => {
@@ -567,22 +567,22 @@ function Na(a = !0) {
567
567
  }), c.click();
568
568
  });
569
569
  }
570
- const Y = ft.noConflict();
571
- Y.setLevel("info");
570
+ const G = ft.noConflict();
571
+ G.setLevel("info");
572
572
  class Fa {
573
573
  constructor(t = {}) {
574
- this.id = 0, this.url = (t == null ? void 0 : t.url) || null, this.orgId = (t == null ? void 0 : t.orgId) || null, this.botId = (t == null ? void 0 : t.botId) || null, this.convId = (t == null ? void 0 : t.convId) || null, this._options = t || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (t == null ? void 0 : t.onMessage) || null, this.queue = [], this.pause = (c) => new Promise((i) => setTimeout(i, c)), Y.info(`WSC: Created, url: ${this.url}`);
574
+ this.id = 0, this.url = (t == null ? void 0 : t.url) || null, this.orgId = (t == null ? void 0 : t.orgId) || null, this.botId = (t == null ? void 0 : t.botId) || null, this.convId = (t == null ? void 0 : t.convId) || null, this._options = t || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (t == null ? void 0 : t.onMessage) || null, this.queue = [], this.pause = (c) => new Promise((i) => setTimeout(i, c)), G.info(`WSC: Created, url: ${this.url}`);
575
575
  }
576
576
  connect(t = {}) {
577
577
  if (this.url = (t == null ? void 0 : t.url) || this.url, this.connected = !1, !this.url)
578
- return Y.error("WSC: URL must be provided to connect"), null;
578
+ return G.error("WSC: URL must be provided to connect"), null;
579
579
  const c = this.url;
580
- Y.info(`WSC: Connecting to ${c} ...`), this._ws = new WebSocket(c);
580
+ G.info(`WSC: Connecting to ${c} ...`), this._ws = new WebSocket(c);
581
581
  let i = setTimeout(() => {
582
- Y.error("WSC: connected message not received in time - terminating"), this._ws.close(), this._ws = null, this.connected = !1;
582
+ G.error("WSC: connected message not received in time - terminating"), this._ws.close(), this._ws = null, this.connected = !1;
583
583
  }, 15e3);
584
584
  this._ws.onopen = () => {
585
- Y.info(`WSC: Connection to ${c} opened`);
585
+ G.info(`WSC: Connection to ${c} opened`);
586
586
  }, this._ws.onmessage = (s) => {
587
587
  let f = (s == null ? void 0 : s.data) || null;
588
588
  if (!f)
@@ -591,14 +591,14 @@ class Fa {
591
591
  try {
592
592
  b = JSON.parse(f);
593
593
  } catch {
594
- Y.error(`Failed to parse message: ${f}`);
594
+ G.error(`Failed to parse message: ${f}`);
595
595
  return;
596
596
  }
597
- (b == null ? void 0 : b.type) === "connected" && (Y.info(`WS[${this.id}] Connected`), clearTimeout(i), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(b);
597
+ (b == null ? void 0 : b.type) === "connected" && (G.info(`WS[${this.id}] Connected`), clearTimeout(i), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(b);
598
598
  }, this._ws.onerror = (s) => {
599
- Y.error("WSC: Socket error"), clearTimeout(i), this.connected = !1, this._ws = null;
599
+ G.error("WSC: Socket error"), clearTimeout(i), this.connected = !1, this._ws = null;
600
600
  }, this._ws.onclose = (s) => {
601
- Y.info(`WSC: Closed - code:${s.code}, reason:"${s.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
601
+ G.info(`WSC: Closed - code:${s.code}, reason:"${s.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
602
602
  };
603
603
  }
604
604
  reconnect() {
@@ -608,10 +608,10 @@ class Fa {
608
608
  }
609
609
  disconnect() {
610
610
  if (!this._ws) {
611
- Y.info("WSC: already disconnected");
611
+ G.info("WSC: already disconnected");
612
612
  return;
613
613
  }
614
- Y.info("WSC: disconnect"), this._ws.close();
614
+ G.info("WSC: disconnect"), this._ws.close();
615
615
  }
616
616
  async start() {
617
617
  this.started = !0, this.connect();
@@ -623,11 +623,11 @@ class Fa {
623
623
  async startOld() {
624
624
  let t = 1, c = !0;
625
625
  for (; c; ) {
626
- if (Y.info(`WSC: start: connecting, attempt ${t}`), await this.connect(), this.connected)
627
- return Y.info("WSC: connected"), !0;
626
+ if (G.info(`WSC: start: connecting, attempt ${t}`), await this.connect(), this.connected)
627
+ return G.info("WSC: connected"), !0;
628
628
  t++, c = t <= 4, c && await this.pause(1e3);
629
629
  }
630
- return Y.error(`WSC: start: failed to connect after ${t} attempts, exiting`), !1;
630
+ return G.error(`WSC: start: failed to connect after ${t} attempts, exiting`), !1;
631
631
  }
632
632
  handleWscMessage(t) {
633
633
  this.onMessage && typeof this.onMessage == "function" && this.onMessage(t);
@@ -642,7 +642,7 @@ class Fa {
642
642
  sendQueuedMessages() {
643
643
  if (Array.isArray(this.queue) && this.queue.length > 0)
644
644
  for (let t = 0; t < this.queue.length; t++)
645
- Y.info("Sending queued message", this.queue[t]), this._ws.send(this.queue[t]);
645
+ G.info("Sending queued message", this.queue[t]), this._ws.send(this.queue[t]);
646
646
  this.queue = [];
647
647
  }
648
648
  // Request assumes that response will be received.
@@ -677,12 +677,12 @@ class Fa {
677
677
  });
678
678
  }*/
679
679
  }
680
- function H(a) {
680
+ function B(a) {
681
681
  return a != null && typeof a == "object" && a["@@functional/placeholder"] === !0;
682
682
  }
683
683
  function Te(a) {
684
684
  return function t(c) {
685
- return arguments.length === 0 || H(c) ? t : a.apply(this, arguments);
685
+ return arguments.length === 0 || B(c) ? t : a.apply(this, arguments);
686
686
  };
687
687
  }
688
688
  function le(a) {
@@ -691,13 +691,13 @@ function le(a) {
691
691
  case 0:
692
692
  return t;
693
693
  case 1:
694
- return H(c) ? t : Te(function(s) {
694
+ return B(c) ? t : Te(function(s) {
695
695
  return a(c, s);
696
696
  });
697
697
  default:
698
- return H(c) && H(i) ? t : H(c) ? Te(function(s) {
698
+ return B(c) && B(i) ? t : B(c) ? Te(function(s) {
699
699
  return a(s, i);
700
- }) : H(i) ? Te(function(s) {
700
+ }) : B(i) ? Te(function(s) {
701
701
  return a(c, s);
702
702
  }) : a(c, i);
703
703
  }
@@ -709,29 +709,29 @@ function Ua(a) {
709
709
  case 0:
710
710
  return t;
711
711
  case 1:
712
- return H(c) ? t : le(function(f, b) {
712
+ return B(c) ? t : le(function(f, b) {
713
713
  return a(c, f, b);
714
714
  });
715
715
  case 2:
716
- return H(c) && H(i) ? t : H(c) ? le(function(f, b) {
716
+ return B(c) && B(i) ? t : B(c) ? le(function(f, b) {
717
717
  return a(f, i, b);
718
- }) : H(i) ? le(function(f, b) {
718
+ }) : B(i) ? le(function(f, b) {
719
719
  return a(c, f, b);
720
720
  }) : Te(function(f) {
721
721
  return a(c, i, f);
722
722
  });
723
723
  default:
724
- return H(c) && H(i) && H(s) ? t : H(c) && H(i) ? le(function(f, b) {
724
+ return B(c) && B(i) && B(s) ? t : B(c) && B(i) ? le(function(f, b) {
725
725
  return a(f, b, s);
726
- }) : H(c) && H(s) ? le(function(f, b) {
726
+ }) : B(c) && B(s) ? le(function(f, b) {
727
727
  return a(f, i, b);
728
- }) : H(i) && H(s) ? le(function(f, b) {
728
+ }) : B(i) && B(s) ? le(function(f, b) {
729
729
  return a(c, f, b);
730
- }) : H(c) ? Te(function(f) {
730
+ }) : B(c) ? Te(function(f) {
731
731
  return a(f, i, s);
732
- }) : H(i) ? Te(function(f) {
732
+ }) : B(i) ? Te(function(f) {
733
733
  return a(c, f, s);
734
- }) : H(s) ? Te(function(f) {
734
+ }) : B(s) ? Te(function(f) {
735
735
  return a(c, i, f);
736
736
  }) : a(c, i, s);
737
737
  }
@@ -771,22 +771,22 @@ var ac = /* @__PURE__ */ Ua(function(t, c, i) {
771
771
  return Ka(t, tc(c, i));
772
772
  });
773
773
  const ut = ac, cc = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
774
- var ic = Object.defineProperty, nc = Object.getOwnPropertyDescriptor, J = (a, t, c, i) => {
774
+ var ic = Object.defineProperty, nc = Object.getOwnPropertyDescriptor, Z = (a, t, c, i) => {
775
775
  for (var s = i > 1 ? void 0 : i ? nc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
776
776
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
777
777
  return i && s && ic(t, c, s), s;
778
778
  };
779
- const B = ft.noConflict();
780
- B.setLevel("info");
779
+ const H = ft.noConflict();
780
+ H.setLevel("info");
781
781
  const re = "cb_";
782
- class X extends Ge {
782
+ class W extends Ke {
783
783
  constructor() {
784
784
  super(...arguments), this.actionIdCounter = 0, this.wsClient = null, this.replyMessage = null, this.streamingResponseInProgress = !1, this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0;
785
785
  }
786
786
  // this is called at startup
787
787
  setSetting(t) {
788
- B.info("appState: Startup: setSetting", t), this.setting = t, this.initBot().catch((c) => {
789
- B.info(`Exception during bot initialization: ${c.message}`);
788
+ H.info("appState: Startup: setSetting", t), this.setting = t, this.initBot().catch((c) => {
789
+ H.info(`Exception during bot initialization: ${c.message}`);
790
790
  });
791
791
  }
792
792
  // set language
@@ -800,7 +800,7 @@ class X extends Ge {
800
800
  async initBot() {
801
801
  if (!this.botSettingsInitialized) {
802
802
  const c = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
803
- B.info(`Getting bot settings at ${c} ...`);
803
+ H.info(`Getting bot settings at ${c} ...`);
804
804
  let i = null, s = null;
805
805
  try {
806
806
  i = await fetch(c, {
@@ -808,20 +808,26 @@ class X extends Ge {
808
808
  "Access-Control-Allow-Origin": "null",
809
809
  "X-Enegel-Signature": this.setting.botId
810
810
  }
811
- }), !i.ok || i.status !== 200 ? B.error(`Failed to get bot ${this.setting.botId} settings: ${i.status} ${i.statusText}`) : s = await i.json();
811
+ }), !i.ok || i.status !== 200 ? H.error(`Failed to get bot ${this.setting.botId} settings: ${i.status} ${i.statusText}`) : s = await i.json();
812
812
  } catch (f) {
813
- B.error(`Failed to get bot ${this.setting.botId} settings: ${f.message}`), s = null;
813
+ H.error(`Failed to get bot ${this.setting.botId} settings: ${f.message}`), s = null;
814
814
  }
815
815
  if (this.botSettingsInitialized = !0, this.botSettings = s, !s) {
816
- B.error("No bot settings available - bot disabled"), this.disabled = !0;
816
+ if (H.error(`Unable to retrieve bot settings - bot disabled. Retry in ${this.botSettingsRetryTimeout} seconds.`), this.disabled = !0, this.botSettingsRetryTimeout > 80) {
817
+ H.error("Failed to retrieve bot settings - bot disabled. Retries exhausted. Refresh page to attempt again.");
818
+ return;
819
+ }
820
+ this.botSettingsInitialized = !1, setTimeout(async () => {
821
+ await this.initBot();
822
+ }, this.botSettingsRetryTimeout * 1e3), this.botSettingsRetryTimeout = this.botSettingsRetryTimeout * 2;
817
823
  return;
818
824
  }
819
- B.info("Got bot settings - bot is enabled", s), this.disabled = !1, this.setting.welcomeMessage = (s == null ? void 0 : s.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (s == null ? void 0 : s.engageMessage) || "How can I help ?", this.setting.engageTimeout = (s == null ? void 0 : s.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in s ? s.splitMessagesAtBreak : !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
825
+ H.info("Got bot settings - bot is enabled", s), this.disabled = !1, this.setting.welcomeMessage = (s == null ? void 0 : s.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (s == null ? void 0 : s.engageMessage) || "How can I help ?", this.setting.engageTimeout = (s == null ? void 0 : s.engageTimeout) || 5, this.setting.splitMessagesAtBreak = "splitMessagesAtBreak" in s ? s.splitMessagesAtBreak : !1, this.initConversation(), this.shouldEngage === "true" && setTimeout(() => {
820
826
  this.showEngagePopup();
821
827
  }, this.setting.engageTimeout * 1e3);
822
828
  }
823
- this.connectWs === "true" && (B.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
824
- B.error(`Exception during ws client startup: ${t.message}`);
829
+ this.connectWs === "true" && (H.info("appState: connectWs is true"), this.getWsClient().catch((t) => {
830
+ H.error(`Exception during ws client startup: ${t.message}`);
825
831
  }));
826
832
  }
827
833
  initConversation() {
@@ -844,7 +850,7 @@ class X extends Ge {
844
850
  initStartupForm() {
845
851
  const t = ut(null, ["startupForm"], this.botSettings);
846
852
  if (!t || !(t != null && t.name)) {
847
- B.info("Startup form not present");
853
+ H.info("Startup form not present");
848
854
  return;
849
855
  }
850
856
  this.initForm(t);
@@ -855,20 +861,20 @@ class X extends Ge {
855
861
  return;
856
862
  const s = ut(null, ["fields"], t);
857
863
  if (!Array.isArray(s) || s.length <= 0) {
858
- B.info("form has no fields", t);
864
+ H.info("form has no fields", t);
859
865
  return;
860
866
  }
861
867
  const f = `${re}${this.setting.botId}.${this.conversationId}.form.${i}`, b = localStorage.getItem(f);
862
868
  if (b) {
863
- let w = null;
869
+ let x = null;
864
870
  try {
865
- w = JSON.parse(b);
871
+ x = JSON.parse(b);
866
872
  } catch (_) {
867
- B.error(`Failed to parse stored form data: ${_.message}`), w = null;
873
+ H.error(`Failed to parse stored form data: ${_.message}`), x = null;
868
874
  }
869
- if (w) {
870
- this.sendFormData(i, w).catch((_) => {
871
- B.error(`Error when submitting form: ${_.message}`);
875
+ if (x) {
876
+ this.sendFormData(i, x).catch((_) => {
877
+ H.error(`Error when submitting form: ${_.message}`);
872
878
  });
873
879
  return;
874
880
  }
@@ -881,11 +887,11 @@ class X extends Ge {
881
887
  showEngagePopup() {
882
888
  if (this.open)
883
889
  return;
884
- B.info("Engaging User !"), this.engage = !0;
890
+ H.info("Engaging User !"), this.engage = !0;
885
891
  const t = (f) => {
886
892
  const b = new Uint8Array(f.length / 2);
887
- for (let w = 0; w < b.length; w++)
888
- b[w] = parseInt(f.substr(w * 2, 2), 16);
893
+ for (let x = 0; x < b.length; x++)
894
+ b[x] = parseInt(f.substr(x * 2, 2), 16);
889
895
  return b;
890
896
  };
891
897
  let c = new Blob([t(cc)], { type: "application/octet-stream" });
@@ -899,7 +905,7 @@ class X extends Ge {
899
905
  if (this.wsClient)
900
906
  return this.wsClient;
901
907
  const c = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
902
- return B.info(`Initiating ws connection to ${c} ...`), this.wsClient = new Fa({
908
+ return H.info(`Initiating ws connection to ${c} ...`), this.wsClient = new Fa({
903
909
  url: c,
904
910
  orgId: this.setting.orgId,
905
911
  botId: this.setting.botId,
@@ -944,7 +950,7 @@ class X extends Ge {
944
950
  break;
945
951
  }
946
952
  case "form": {
947
- if (B.info("Got form:", t), this.replyMessage && this.replyMessage.id) {
953
+ if (H.info("Got form:", t), this.replyMessage && this.replyMessage.id) {
948
954
  const i = ((c = this.replyMessage.data) == null ? void 0 : c.text) || "";
949
955
  (this.replyMessage.isThinking || i.trim() === "") && (this.removeMessage(this.replyMessage.id), this.replyMessage = null);
950
956
  }
@@ -972,7 +978,7 @@ class X extends Ge {
972
978
  if (i !== -1) {
973
979
  if (this.setting.splitMessagesAtBreak) {
974
980
  const s = this.streamingResponseBuffer.substring(0, i).trim(), f = this.streamingResponseBuffer.substring(i + 4).trim();
975
- B.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${s} next: ${f}`), this.replyMessage = this.updateMessage(this.replyMessage, s), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: "" } }, this.addMessage(this.replyMessage), c = f;
981
+ H.info(`BREAK: Splitting the message: ${this.streamingResponseBuffer} >>> prev: ${s} next: ${f}`), this.replyMessage = this.updateMessage(this.replyMessage, s), this.replyMessage = { author: "assistant", type: "text", isThinking: !1, data: { text: "" } }, this.addMessage(this.replyMessage), c = f;
976
982
  } else
977
983
  c = this.streamingResponseBuffer;
978
984
  this.streamingResponseBuffer = null, this.streamingResponseTagStartPos = 0;
@@ -1008,10 +1014,10 @@ class X extends Ge {
1008
1014
  }
1009
1015
  }
1010
1016
  async sendMessage(t) {
1011
- t = this.formatMessage(t), B.info("Send Message:", t), this.messages = this.messages.concat([t]), this.lastConversationUpdate = Date.now();
1017
+ t = this.formatMessage(t), H.info("Send Message:", t), this.messages = this.messages.concat([t]), this.lastConversationUpdate = Date.now();
1012
1018
  const c = await this.getWsClient();
1013
1019
  if (!c) {
1014
- B.error("Error - failed to obtain ws client"), this.replyMessage = null;
1020
+ H.error("Error - failed to obtain ws client"), this.replyMessage = null;
1015
1021
  return;
1016
1022
  }
1017
1023
  c.sendMessage({
@@ -1054,7 +1060,7 @@ class X extends Ge {
1054
1060
  // Submit current form data
1055
1061
  async submitForm(t) {
1056
1062
  if (!this.form) {
1057
- B.info("submitForm: No form is active - ignored");
1063
+ H.info("submitForm: No form is active - ignored");
1058
1064
  return;
1059
1065
  }
1060
1066
  const c = `${re}${this.setting.botId}.${this.conversationId}.form.${this.form.name}`;
@@ -1063,7 +1069,7 @@ class X extends Ge {
1063
1069
  async sendFormData(t, c) {
1064
1070
  const i = await this.getWsClient();
1065
1071
  if (!i) {
1066
- B.error("Error - failed to obtain ws client");
1072
+ H.error("Error - failed to obtain ws client");
1067
1073
  return;
1068
1074
  }
1069
1075
  i.sendMessage({
@@ -1073,36 +1079,39 @@ class X extends Ge {
1073
1079
  });
1074
1080
  }
1075
1081
  }
1076
- J([
1077
- ue({ prefix: re }),
1078
- K({ value: "en" })
1079
- ], X.prototype, "language", 2);
1080
- J([
1081
- ue({ prefix: re }),
1082
- K({ value: "light" })
1083
- ], X.prototype, "theme", 2);
1084
- J([
1085
- ue({ prefix: re }),
1086
- K({ type: Boolean, value: !1 })
1087
- ], X.prototype, "open", 2);
1088
- J([
1089
- ue({ prefix: re }),
1090
- K({ value: "false" })
1091
- ], X.prototype, "connectWs", 2);
1092
- J([
1093
- ue({ prefix: re }),
1094
- K({ value: gt() })
1095
- ], X.prototype, "conversationId", 2);
1096
- J([
1097
- ue({ prefix: re }),
1098
- K({ value: 0 })
1099
- ], X.prototype, "lastConversationUpdate", 2);
1100
- J([
1101
- ue({ prefix: re }),
1102
- K({ type: Array, value: [] })
1103
- ], X.prototype, "messages", 2);
1104
- J([
1105
- K({
1082
+ Z([
1083
+ pe({ prefix: re }),
1084
+ X({ value: "en" })
1085
+ ], W.prototype, "language", 2);
1086
+ Z([
1087
+ pe({ prefix: re }),
1088
+ X({ value: "light" })
1089
+ ], W.prototype, "theme", 2);
1090
+ Z([
1091
+ pe({ prefix: re }),
1092
+ X({ type: Boolean, value: !1 })
1093
+ ], W.prototype, "open", 2);
1094
+ Z([
1095
+ X({ type: Boolean, value: !1 })
1096
+ ], W.prototype, "alwaysOpen", 2);
1097
+ Z([
1098
+ pe({ prefix: re }),
1099
+ X({ value: "false" })
1100
+ ], W.prototype, "connectWs", 2);
1101
+ Z([
1102
+ pe({ prefix: re }),
1103
+ X({ value: gt() })
1104
+ ], W.prototype, "conversationId", 2);
1105
+ Z([
1106
+ pe({ prefix: re }),
1107
+ X({ value: 0 })
1108
+ ], W.prototype, "lastConversationUpdate", 2);
1109
+ Z([
1110
+ pe({ prefix: re }),
1111
+ X({ type: Array, value: [] })
1112
+ ], W.prototype, "messages", 2);
1113
+ Z([
1114
+ X({
1106
1115
  type: Array,
1107
1116
  value: []
1108
1117
  /*
@@ -1144,29 +1153,32 @@ J([
1144
1153
  },
1145
1154
  ],*/
1146
1155
  })
1147
- ], X.prototype, "actions", 2);
1148
- J([
1149
- K({ type: Object, value: null })
1150
- ], X.prototype, "form", 2);
1151
- J([
1152
- K({ type: Boolean, value: !1 })
1153
- ], X.prototype, "botSettingsInitialized", 2);
1154
- J([
1155
- K({ type: Object, value: null })
1156
- ], X.prototype, "botSettings", 2);
1157
- J([
1158
- K({ type: Boolean, value: !0 })
1159
- ], X.prototype, "disabled", 2);
1160
- J([
1161
- ue({ prefix: re }),
1162
- K({ value: "true" })
1163
- ], X.prototype, "shouldEngage", 2);
1164
- J([
1165
- K({ type: Boolean, value: !1 })
1166
- ], X.prototype, "engage", 2);
1167
- J([
1168
- ue({ prefix: re }),
1169
- K({
1156
+ ], W.prototype, "actions", 2);
1157
+ Z([
1158
+ X({ type: Object, value: null })
1159
+ ], W.prototype, "form", 2);
1160
+ Z([
1161
+ X({ type: Boolean, value: !1 })
1162
+ ], W.prototype, "botSettingsInitialized", 2);
1163
+ Z([
1164
+ X({ type: Number, value: 5 })
1165
+ ], W.prototype, "botSettingsRetryTimeout", 2);
1166
+ Z([
1167
+ X({ type: Object, value: null })
1168
+ ], W.prototype, "botSettings", 2);
1169
+ Z([
1170
+ X({ type: Boolean, value: !0 })
1171
+ ], W.prototype, "disabled", 2);
1172
+ Z([
1173
+ pe({ prefix: re }),
1174
+ X({ value: "true" })
1175
+ ], W.prototype, "shouldEngage", 2);
1176
+ Z([
1177
+ X({ type: Boolean, value: !1 })
1178
+ ], W.prototype, "engage", 2);
1179
+ Z([
1180
+ pe({ prefix: re }),
1181
+ X({
1170
1182
  type: Object,
1171
1183
  value: {
1172
1184
  orgId: null,
@@ -1176,8 +1188,8 @@ J([
1176
1188
  splitMessagesAtBreak: !1
1177
1189
  }
1178
1190
  })
1179
- ], X.prototype, "setting", 2);
1180
- const S = new X(), sc = U`
1191
+ ], W.prototype, "setting", 2);
1192
+ const S = new W(), sc = U`
1181
1193
  ${he}
1182
1194
  :host {
1183
1195
  position: relative;
@@ -1274,20 +1286,24 @@ let tt = class extends Q {
1274
1286
  }
1275
1287
  */
1276
1288
  render() {
1277
- return x` <header class="cb-header" part="header">
1278
- ${ve(
1289
+ return w` <header class="cb-header" part="header">
1290
+ ${ue(
1279
1291
  S.setting.logoUrl !== "",
1280
- () => x`<img class="cb-header-img" src="${S.setting.logoUrl}" />`,
1281
- () => x`<sl-button class="cb-setting-button" variant="text" circle>
1292
+ () => w`<img class="cb-header-img" src="${S.setting.logoUrl}" />`,
1293
+ () => w`<sl-button class="cb-setting-button" variant="text" circle>
1282
1294
  <cb-icon class="cb-header-logo" svg="${S.setting.logoSvg}"></cb-icon>
1283
1295
  </sl-button>`
1284
1296
  )}
1285
1297
  <span class="center title">${this.title}</span>
1286
- <span class="right">
1287
- <sl-button @click=${this._clickCloseHandler} class="cb-setting-button" variant="text" circle>
1288
- <cb-icon class="cb-header-close" svg="${et}"></cb-icon>
1289
- </sl-button>
1290
- </span>
1298
+ ${ue(
1299
+ S.alwaysOpen,
1300
+ () => w``,
1301
+ () => w`<span class="right">
1302
+ <sl-button @click=${this._clickCloseHandler} class="cb-setting-button" variant="text" circle>
1303
+ <cb-icon class="cb-header-close" svg="${et}"></cb-icon>
1304
+ </sl-button>
1305
+ </span>`
1306
+ )}
1291
1307
  </header>`;
1292
1308
  }
1293
1309
  _clickHandler() {
@@ -1306,7 +1322,7 @@ Jt([
1306
1322
  k({ type: String, attribute: "title" })
1307
1323
  ], tt.prototype, "title", 2);
1308
1324
  tt = Jt([
1309
- W("cb-header")
1325
+ Y("cb-header")
1310
1326
  ], tt);
1311
1327
  const bc = U`
1312
1328
  ${he}
@@ -1333,7 +1349,7 @@ let mt = class extends Q {
1333
1349
  super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
1334
1350
  }
1335
1351
  render() {
1336
- return x`
1352
+ return w`
1337
1353
  <div class="cb-footer" part="footer">
1338
1354
  yugasun@${this.year}
1339
1355
  <a
@@ -1365,7 +1381,7 @@ let mt = class extends Q {
1365
1381
  };
1366
1382
  mt.styles = bc;
1367
1383
  mt = pc([
1368
- W("cb-footer")
1384
+ Y("cb-footer")
1369
1385
  ], mt);
1370
1386
  const gc = U`
1371
1387
  ${he}
@@ -1520,12 +1536,12 @@ var Qt = { exports: {} };
1520
1536
  return e && s(r.prototype, e), n && s(r, n), r;
1521
1537
  }
1522
1538
  var b = Date.now();
1523
- function w() {
1539
+ function x() {
1524
1540
  var r = {}, e = !0, n = 0, o = arguments.length;
1525
1541
  Object.prototype.toString.call(arguments[0]) === "[object Boolean]" && (e = arguments[0], n++);
1526
1542
  for (var d = function(h) {
1527
1543
  for (var u in h)
1528
- Object.prototype.hasOwnProperty.call(h, u) && (e && Object.prototype.toString.call(h[u]) === "[object Object]" ? r[u] = w(!0, r[u], h[u]) : r[u] = h[u]);
1544
+ Object.prototype.hasOwnProperty.call(h, u) && (e && Object.prototype.toString.call(h[u]) === "[object Object]" ? r[u] = x(!0, r[u], h[u]) : r[u] = h[u]);
1529
1545
  }; n < o; n++) {
1530
1546
  var l = arguments[n];
1531
1547
  d(l);
@@ -1544,7 +1560,7 @@ var Qt = { exports: {} };
1544
1560
  }
1545
1561
  }
1546
1562
  }
1547
- function R(r) {
1563
+ function V(r) {
1548
1564
  var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, o = r[b] = r[b] || [], d = { all: o, evt: null, found: null };
1549
1565
  return e && n && Tt(o) > 0 && _(o, function(l, h) {
1550
1566
  if (l.eventName == e && l.fn.toString() == n.toString())
@@ -1558,11 +1574,11 @@ var Qt = { exports: {} };
1558
1574
  }
1559
1575
  return ie(m) && (m = document.querySelectorAll(m)), E.destroy = function() {
1560
1576
  _(m, function(C) {
1561
- var O = R(C, r, E);
1577
+ var O = V(C, r, E);
1562
1578
  O.found && O.all.splice(O.evt, 1), C.removeEventListener && C.removeEventListener(r, E, v);
1563
1579
  });
1564
1580
  }, _(m, function(C) {
1565
- var O = R(C, r, E);
1581
+ var O = V(C, r, E);
1566
1582
  (C.addEventListener && l && !O.found || !l) && (C.addEventListener(r, E, v), O.all.push({ eventName: r, fn: E }));
1567
1583
  }), E;
1568
1584
  }
@@ -1571,7 +1587,7 @@ var Qt = { exports: {} };
1571
1587
  return r.classList.add(n);
1572
1588
  });
1573
1589
  }
1574
- function M(r, e) {
1590
+ function $(r, e) {
1575
1591
  _(e.split(" "), function(n) {
1576
1592
  return r.classList.remove(n);
1577
1593
  });
@@ -1598,7 +1614,7 @@ var Qt = { exports: {} };
1598
1614
  T(r, "g" + l);
1599
1615
  }), j(o, { onElement: r, avoidDuplicate: !1, once: !0, withCallback: function(l, h) {
1600
1616
  _(d, function(u) {
1601
- M(h, "g" + u);
1617
+ $(h, "g" + u);
1602
1618
  }), y(n) && n();
1603
1619
  } });
1604
1620
  }
@@ -1608,10 +1624,10 @@ var Qt = { exports: {} };
1608
1624
  return r.style.webkitTransform = "", r.style.MozTransform = "", r.style.msTransform = "", r.style.OTransform = "", r.style.transform = "", !1;
1609
1625
  r.style.webkitTransform = e, r.style.MozTransform = e, r.style.msTransform = e, r.style.OTransform = e, r.style.transform = e;
1610
1626
  }
1611
- function D(r) {
1627
+ function R(r) {
1612
1628
  r.style.display = "block";
1613
1629
  }
1614
- function $(r) {
1630
+ function M(r) {
1615
1631
  r.style.display = "none";
1616
1632
  }
1617
1633
  function de(r) {
@@ -1629,7 +1645,7 @@ var Qt = { exports: {} };
1629
1645
  if (e.style[r] !== void 0)
1630
1646
  return n[r];
1631
1647
  }
1632
- function $e(r, e, n, o) {
1648
+ function Me(r, e, n, o) {
1633
1649
  if (r())
1634
1650
  e();
1635
1651
  else {
@@ -1643,7 +1659,7 @@ var Qt = { exports: {} };
1643
1659
  }, o));
1644
1660
  }
1645
1661
  }
1646
- function Re(r, e, n) {
1662
+ function Ve(r, e, n) {
1647
1663
  if (ne(r))
1648
1664
  console.error("Inject assets error");
1649
1665
  else if (y(e) && (n = e, e = !1), ie(e) && e in window)
@@ -1659,7 +1675,7 @@ var Qt = { exports: {} };
1659
1675
  if ((o = document.querySelectorAll('script[src="' + r + '"]')) && o.length > 0) {
1660
1676
  if (y(n)) {
1661
1677
  if (ie(e))
1662
- return $e(function() {
1678
+ return Me(function() {
1663
1679
  return window[e] !== void 0;
1664
1680
  }, function() {
1665
1681
  n();
@@ -1671,7 +1687,7 @@ var Qt = { exports: {} };
1671
1687
  u.type = "text/javascript", u.src = r, u.onload = function() {
1672
1688
  if (y(n)) {
1673
1689
  if (ie(e))
1674
- return $e(function() {
1690
+ return Me(function() {
1675
1691
  return window[e] !== void 0;
1676
1692
  }, function() {
1677
1693
  n();
@@ -1694,14 +1710,14 @@ var Qt = { exports: {} };
1694
1710
  function te(r) {
1695
1711
  return !(!r || !r.nodeType || r.nodeType != 1);
1696
1712
  }
1697
- function Ve(r) {
1713
+ function Ne(r) {
1698
1714
  return Array.isArray(r);
1699
1715
  }
1700
1716
  function Ct(r) {
1701
1717
  return r && r.length && isFinite(r.length);
1702
1718
  }
1703
1719
  function Ie(r) {
1704
- return c(r) === "object" && r != null && !y(r) && !Ve(r);
1720
+ return c(r) === "object" && r != null && !y(r) && !Ne(r);
1705
1721
  }
1706
1722
  function ne(r) {
1707
1723
  return r == null;
@@ -1720,7 +1736,7 @@ var Qt = { exports: {} };
1720
1736
  }
1721
1737
  return r.length;
1722
1738
  }
1723
- function Ne(r) {
1739
+ function Fe(r) {
1724
1740
  return !isNaN(parseFloat(r)) && isFinite(r);
1725
1741
  }
1726
1742
  function Et() {
@@ -1764,17 +1780,17 @@ var Qt = { exports: {} };
1764
1780
  return void (u && (u.focus(), T(u, "focused")));
1765
1781
  }
1766
1782
  var p = Et(d.getAttribute("data-taborder"));
1767
- M(d, "focused"), p && (p.focus(), T(p, "focused"));
1783
+ $(d, "focused"), p && (p.focus(), T(p, "focused"));
1768
1784
  }
1769
1785
  o == 39 && r.nextSlide(), o == 37 && r.prevSlide(), o == 27 && r.close();
1770
1786
  } });
1771
1787
  }
1772
- function Fe(r) {
1788
+ function Ue(r) {
1773
1789
  return Math.sqrt(r.x * r.x + r.y * r.y);
1774
1790
  }
1775
1791
  function da(r, e) {
1776
1792
  var n = function(o, d) {
1777
- var l = Fe(o) * Fe(d);
1793
+ var l = Ue(o) * Ue(d);
1778
1794
  if (l === 0)
1779
1795
  return 0;
1780
1796
  var h = function(u, p) {
@@ -1803,7 +1819,7 @@ var Qt = { exports: {} };
1803
1819
  }
1804
1820
  } }]), r;
1805
1821
  }();
1806
- function Z(r, e) {
1822
+ function K(r, e) {
1807
1823
  var n = new la(r);
1808
1824
  return n.add(e), n;
1809
1825
  }
@@ -1812,7 +1828,7 @@ var Qt = { exports: {} };
1812
1828
  i(this, r), this.element = typeof e == "string" ? document.querySelector(e) : e, 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;
1813
1829
  var o = function() {
1814
1830
  };
1815
- this.rotate = Z(this.element, n.rotate || o), this.touchStart = Z(this.element, n.touchStart || o), this.multipointStart = Z(this.element, n.multipointStart || o), this.multipointEnd = Z(this.element, n.multipointEnd || o), this.pinch = Z(this.element, n.pinch || o), this.swipe = Z(this.element, n.swipe || o), this.tap = Z(this.element, n.tap || o), this.doubleTap = Z(this.element, n.doubleTap || o), this.longTap = Z(this.element, n.longTap || o), this.singleTap = Z(this.element, n.singleTap || o), this.pressMove = Z(this.element, n.pressMove || o), this.twoFingerPressMove = Z(this.element, n.twoFingerPressMove || o), this.touchMove = Z(this.element, n.touchMove || o), this.touchEnd = Z(this.element, n.touchEnd || o), this.touchCancel = Z(this.element, n.touchCancel || o), 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 };
1831
+ this.rotate = K(this.element, n.rotate || o), this.touchStart = K(this.element, n.touchStart || o), this.multipointStart = K(this.element, n.multipointStart || o), this.multipointEnd = K(this.element, n.multipointEnd || o), this.pinch = K(this.element, n.pinch || o), this.swipe = K(this.element, n.swipe || o), this.tap = K(this.element, n.tap || o), this.doubleTap = K(this.element, n.doubleTap || o), this.longTap = K(this.element, n.longTap || o), this.singleTap = K(this.element, n.singleTap || o), this.pressMove = K(this.element, n.pressMove || o), this.twoFingerPressMove = K(this.element, n.twoFingerPressMove || o), this.touchMove = K(this.element, n.touchMove || o), this.touchEnd = K(this.element, n.touchEnd || o), this.touchCancel = K(this.element, n.touchCancel || o), 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 };
1816
1832
  }
1817
1833
  return f(r, [{ key: "start", value: function(e) {
1818
1834
  if (e.touches)
@@ -1824,7 +1840,7 @@ var Qt = { exports: {} };
1824
1840
  if (e.touches.length > 1) {
1825
1841
  this._cancelLongTap(), this._cancelSingleTap();
1826
1842
  var o = { x: e.touches[1].pageX - this.x1, y: e.touches[1].pageY - this.y1 };
1827
- n.x = o.x, n.y = o.y, this.pinchStartLen = Fe(n), this.multipointStart.dispatch(e, this.element);
1843
+ n.x = o.x, n.y = o.y, this.pinchStartLen = Ue(n), this.multipointStart.dispatch(e, this.element);
1828
1844
  }
1829
1845
  this._preventTap = !1, this.longTapTimeout = setTimeout((function() {
1830
1846
  this.longTap.dispatch(e, this.element), this._preventTap = !0;
@@ -1835,7 +1851,7 @@ var Qt = { exports: {} };
1835
1851
  var n = this.preV, o = e.touches.length, d = e.touches[0].pageX, l = e.touches[0].pageY;
1836
1852
  if (this.isDoubleTap = !1, o > 1) {
1837
1853
  var h = e.touches[1].pageX, u = e.touches[1].pageY, p = { x: e.touches[1].pageX - d, y: e.touches[1].pageY - l };
1838
- n.x !== null && (this.pinchStartLen > 0 && (e.zoom = Fe(p) / this.pinchStartLen, this.pinch.dispatch(e, this.element)), e.angle = da(p, n), this.rotate.dispatch(e, this.element)), n.x = p.x, n.y = p.y, this.x2 !== null && this.sx2 !== null ? (e.deltaX = (d - this.x2 + h - this.sx2) / 2, e.deltaY = (l - this.y2 + u - this.sy2) / 2) : (e.deltaX = 0, e.deltaY = 0), this.twoFingerPressMove.dispatch(e, this.element), this.sx2 = h, this.sy2 = u;
1854
+ n.x !== null && (this.pinchStartLen > 0 && (e.zoom = Ue(p) / this.pinchStartLen, this.pinch.dispatch(e, this.element)), e.angle = da(p, n), this.rotate.dispatch(e, this.element)), n.x = p.x, n.y = p.y, this.x2 !== null && this.sx2 !== null ? (e.deltaX = (d - this.x2 + h - this.sx2) / 2, e.deltaY = (l - this.y2 + u - this.sy2) / 2) : (e.deltaX = 0, e.deltaY = 0), this.twoFingerPressMove.dispatch(e, this.element), this.sx2 = h, this.sy2 = u;
1839
1855
  } else {
1840
1856
  if (this.x2 !== null) {
1841
1857
  e.deltaX = d - this.x2, e.deltaY = l - this.y2;
@@ -1885,38 +1901,38 @@ var Qt = { exports: {} };
1885
1901
  return p[h];
1886
1902
  }(), n = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, o = N(r, "gslide-media") ? r : r.querySelector(".gslide-media"), d = ce(o, ".ginner-container"), l = r.querySelector(".gslide-description");
1887
1903
  n > 769 && (o = d), T(o, "greset"), P(o, "translate3d(0, 0, 0)"), j(e, { onElement: o, once: !0, withCallback: function(h, u) {
1888
- M(o, "greset");
1904
+ $(o, "greset");
1889
1905
  } }), o.style.opacity = "", l && (l.style.opacity = "");
1890
1906
  }
1891
1907
  function ha(r) {
1892
1908
  if (r.events.hasOwnProperty("touch"))
1893
1909
  return !1;
1894
- var e, n, o, d = ee(), l = d.width, h = d.height, u = !1, p = null, v = null, g = null, m = !1, E = 1, C = 1, O = !1, z = !1, I = null, oe = null, ae = null, ge = null, me = 0, _e = 0, je = !1, ht = !1, Se = {}, Ce = {}, Ot = 0, Lt = 0, ka = document.getElementById("glightbox-slider"), We = document.querySelector(".goverlay"), _a = new ba(ka, { touchStart: function(L) {
1910
+ var e, n, o, d = ee(), l = d.width, h = d.height, u = !1, p = null, v = null, g = null, m = !1, E = 1, C = 1, O = !1, z = !1, I = null, oe = null, ae = null, me = null, ye = 0, _e = 0, je = !1, ht = !1, Se = {}, Ce = {}, Ot = 0, Lt = 0, ka = document.getElementById("glightbox-slider"), Ye = document.querySelector(".goverlay"), _a = new ba(ka, { touchStart: function(L) {
1895
1911
  if (u = !0, (N(L.targetTouches[0].target, "ginner-container") || ce(L.targetTouches[0].target, ".gslide-desc") || L.targetTouches[0].target.nodeName.toLowerCase() == "a") && (u = !1), ce(L.targetTouches[0].target, ".gslide-inline") && !N(L.targetTouches[0].target.parentNode, "gslide-inline") && (u = !1), u) {
1896
- if (Ce = L.targetTouches[0], Se.pageX = L.targetTouches[0].pageX, Se.pageY = L.targetTouches[0].pageY, Ot = L.targetTouches[0].clientX, Lt = L.targetTouches[0].clientY, p = r.activeSlide, v = p.querySelector(".gslide-media"), o = p.querySelector(".gslide-inline"), g = null, N(v, "gslide-image") && (g = v.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (v = p.querySelector(".ginner-container")), M(We, "greset"), L.pageX > 20 && L.pageX < window.innerWidth - 20)
1912
+ if (Ce = L.targetTouches[0], Se.pageX = L.targetTouches[0].pageX, Se.pageY = L.targetTouches[0].pageY, Ot = L.targetTouches[0].clientX, Lt = L.targetTouches[0].clientY, p = r.activeSlide, v = p.querySelector(".gslide-media"), o = p.querySelector(".gslide-inline"), g = null, N(v, "gslide-image") && (g = v.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (v = p.querySelector(".ginner-container")), $(Ye, "greset"), L.pageX > 20 && L.pageX < window.innerWidth - 20)
1897
1913
  return;
1898
1914
  L.preventDefault();
1899
1915
  }
1900
1916
  }, touchMove: function(L) {
1901
1917
  if (u && (Ce = L.targetTouches[0], !O && !z)) {
1902
1918
  if (o && o.offsetHeight > h) {
1903
- var G = Se.pageX - Ce.pageX;
1904
- if (Math.abs(G) <= 13)
1919
+ var J = Se.pageX - Ce.pageX;
1920
+ if (Math.abs(J) <= 13)
1905
1921
  return !1;
1906
1922
  }
1907
1923
  m = !0;
1908
- var ye, Ye = L.targetTouches[0].clientX, Sa = L.targetTouches[0].clientY, Ca = Ot - Ye, Ta = Lt - Sa;
1909
- if (Math.abs(Ca) > Math.abs(Ta) ? (je = !1, ht = !0) : (ht = !1, je = !0), e = Ce.pageX - Se.pageX, me = 100 * e / l, n = Ce.pageY - Se.pageY, _e = 100 * n / h, je && g && (ye = 1 - Math.abs(n) / h, We.style.opacity = ye, r.settings.touchFollowAxis && (me = 0)), ht && (ye = 1 - Math.abs(e) / l, v.style.opacity = ye, r.settings.touchFollowAxis && (_e = 0)), !g)
1910
- return P(v, "translate3d(".concat(me, "%, 0, 0)"));
1911
- P(v, "translate3d(".concat(me, "%, ").concat(_e, "%, 0)"));
1924
+ var ve, Xe = L.targetTouches[0].clientX, Sa = L.targetTouches[0].clientY, Ca = Ot - Xe, Ta = Lt - Sa;
1925
+ if (Math.abs(Ca) > Math.abs(Ta) ? (je = !1, ht = !0) : (ht = !1, je = !0), e = Ce.pageX - Se.pageX, ye = 100 * e / l, n = Ce.pageY - Se.pageY, _e = 100 * n / h, je && g && (ve = 1 - Math.abs(n) / h, Ye.style.opacity = ve, r.settings.touchFollowAxis && (ye = 0)), ht && (ve = 1 - Math.abs(e) / l, v.style.opacity = ve, r.settings.touchFollowAxis && (_e = 0)), !g)
1926
+ return P(v, "translate3d(".concat(ye, "%, 0, 0)"));
1927
+ P(v, "translate3d(".concat(ye, "%, ").concat(_e, "%, 0)"));
1912
1928
  }
1913
1929
  }, touchEnd: function() {
1914
1930
  if (u) {
1915
1931
  if (m = !1, z || O)
1916
- return ae = I, void (ge = oe);
1917
- var L = Math.abs(parseInt(_e)), G = Math.abs(parseInt(me));
1932
+ return ae = I, void (me = oe);
1933
+ var L = Math.abs(parseInt(_e)), J = Math.abs(parseInt(ye));
1918
1934
  if (!(L > 29 && g))
1919
- return L < 29 && G < 25 ? (T(We, "greset"), We.style.opacity = 1, bt(v)) : void 0;
1935
+ return L < 29 && J < 25 ? (T(Ye, "greset"), Ye.style.opacity = 1, bt(v)) : void 0;
1920
1936
  r.close();
1921
1937
  }
1922
1938
  }, multipointEnd: function() {
@@ -1929,16 +1945,16 @@ var Qt = { exports: {} };
1929
1945
  if (!g || m)
1930
1946
  return !1;
1931
1947
  O = !0, g.scaleX = g.scaleY = E * L.zoom;
1932
- var G = E * L.zoom;
1933
- if (z = !0, G <= 1)
1934
- return z = !1, G = 1, ge = null, ae = null, I = null, oe = null, void g.setAttribute("style", "");
1935
- G > 4.5 && (G = 4.5), g.style.transform = "scale3d(".concat(G, ", ").concat(G, ", 1)"), C = G;
1948
+ var J = E * L.zoom;
1949
+ if (z = !0, J <= 1)
1950
+ return z = !1, J = 1, me = null, ae = null, I = null, oe = null, void g.setAttribute("style", "");
1951
+ J > 4.5 && (J = 4.5), g.style.transform = "scale3d(".concat(J, ", ").concat(J, ", 1)"), C = J;
1936
1952
  }, pressMove: function(L) {
1937
1953
  if (z && !O) {
1938
- var G = Ce.pageX - Se.pageX, ye = Ce.pageY - Se.pageY;
1939
- ae && (G += ae), ge && (ye += ge), I = G, oe = ye;
1940
- var Ye = "translate3d(".concat(G, "px, ").concat(ye, "px, 0)");
1941
- C && (Ye += " scale3d(".concat(C, ", ").concat(C, ", 1)")), P(g, Ye);
1954
+ var J = Ce.pageX - Se.pageX, ve = Ce.pageY - Se.pageY;
1955
+ ae && (J += ae), me && (ve += me), I = J, oe = ve;
1956
+ var Xe = "translate3d(".concat(J, "px, ").concat(ve, "px, 0)");
1957
+ C && (Xe += " scale3d(".concat(C, ", ").concat(C, ", 1)")), P(g, Xe);
1942
1958
  }
1943
1959
  }, swipe: function(L) {
1944
1960
  if (!z)
@@ -2072,9 +2088,9 @@ var Qt = { exports: {} };
2072
2088
  var d = this, l = r.querySelector(".ginner-container"), h = "gvideo" + n, u = r.querySelector(".gslide-media"), p = this.getAllPlayers();
2073
2089
  T(l, "gvideo-container"), u.insertBefore(de('<div class="gvideo-wrapper"></div>'), u.firstChild);
2074
2090
  var v = r.querySelector(".gvideo-wrapper");
2075
- Re(this.settings.plyr.css, "Plyr");
2091
+ Ve(this.settings.plyr.css, "Plyr");
2076
2092
  var g = e.href, m = e == null ? void 0 : e.videoProvider, E = !1;
2077
- u.style.maxWidth = e.width, Re(this.settings.plyr.js, "Plyr", function() {
2093
+ u.style.maxWidth = e.width, Ve(this.settings.plyr.js, "Plyr", function() {
2078
2094
  if (!m && g.match(/vimeo\.com\/([0-9]*)/) && (m = "vimeo"), !m && (g.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || g.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || g.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/)) && (m = "youtube"), m === "local" || !m) {
2079
2095
  m = "local";
2080
2096
  var C = '<video id="' + h + '" ';
@@ -2085,16 +2101,16 @@ var Qt = { exports: {} };
2085
2101
  var z = F(d.settings.plyr, "config") ? d.settings.plyr.config : {}, I = new Plyr("#" + h, z);
2086
2102
  I.on("ready", function(oe) {
2087
2103
  p[h] = oe.detail.plyr, y(o) && o();
2088
- }), $e(function() {
2104
+ }), Me(function() {
2089
2105
  return r.querySelector("iframe") && r.querySelector("iframe").dataset.ready == "true";
2090
2106
  }, function() {
2091
2107
  d.resize(r);
2092
- }), I.on("enterfullscreen", Mt), I.on("exitfullscreen", Mt);
2108
+ }), I.on("enterfullscreen", $t), I.on("exitfullscreen", $t);
2093
2109
  });
2094
2110
  }
2095
- function Mt(r) {
2111
+ function $t(r) {
2096
2112
  var e = ce(r.target, ".gslide-media");
2097
- r.type === "enterfullscreen" && T(e, "fullscreen"), r.type === "exitfullscreen" && M(e, "fullscreen");
2113
+ r.type === "enterfullscreen" && T(e, "fullscreen"), r.type === "exitfullscreen" && $(e, "fullscreen");
2098
2114
  }
2099
2115
  function ma(r, e, n, o) {
2100
2116
  var d, l = this, h = r.querySelector(".gslide-media"), u = !(!F(e, "href") || !e.href) && e.href.split("#").pop().trim(), p = !(!F(e, "content") || !e.content) && e.content;
@@ -2128,16 +2144,16 @@ var Qt = { exports: {} };
2128
2144
  var va = function() {
2129
2145
  function r() {
2130
2146
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
2131
- i(this, r), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, Ie(e) && (this.defaults = w(this.defaults, e));
2147
+ i(this, r), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: !1, zoomable: !0, draggable: !0 }, Ie(e) && (this.defaults = x(this.defaults, e));
2132
2148
  }
2133
2149
  return f(r, [{ key: "sourceType", value: function(e) {
2134
2150
  var n = e;
2135
2151
  return (e = e.toLowerCase()).match(/\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/) !== null ? "image" : e.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || e.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || e.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || e.match(/vimeo\.com\/([0-9]*)/) || e.match(/\.(mp4|ogg|webm|mov)/) !== null ? "video" : e.match(/\.(mp3|wav|wma|aac|ogg)/) !== null ? "audio" : e.indexOf("#") > -1 && n.split("#").pop().trim() !== "" ? "inline" : e.indexOf("goajax=true") > -1 ? "ajax" : "external";
2136
2152
  } }, { key: "parseConfig", value: function(e, n) {
2137
- var o = this, d = w({ descPosition: n.descPosition }, this.defaults);
2153
+ var o = this, d = x({ descPosition: n.descPosition }, this.defaults);
2138
2154
  if (Ie(e) && !te(e)) {
2139
2155
  F(e, "type") || (F(e, "content") && e.content ? e.type = "inline" : F(e, "href") && (e.type = this.sourceType(e.href)));
2140
- var l = w(d, e);
2156
+ var l = x(d, e);
2141
2157
  return this.setSize(l, n), l;
2142
2158
  }
2143
2159
  var h = "", u = e.getAttribute("data-glightbox"), p = e.nodeName.toLowerCase();
@@ -2161,8 +2177,8 @@ var Qt = { exports: {} };
2161
2177
  }), m = m.join("\\s?:|"), u.trim() !== "" && _(d, function(O, z) {
2162
2178
  var I = u, oe = new RegExp("s?" + z + "s?:s?(.*?)(" + m + "s?:|$)"), ae = I.match(oe);
2163
2179
  if (ae && ae.length && ae[1]) {
2164
- var ge = ae[1].trim().replace(/;\s*$/, "");
2165
- d[z] = o.sanitizeValue(ge);
2180
+ var me = ae[1].trim().replace(/;\s*$/, "");
2181
+ d[z] = o.sanitizeValue(me);
2166
2182
  }
2167
2183
  });
2168
2184
  }
@@ -2185,11 +2201,11 @@ var Qt = { exports: {} };
2185
2201
  var o = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null, d = e.type == "video" ? this.checkSize(n.videosWidth) : this.checkSize(n.width), l = this.checkSize(n.height);
2186
2202
  return e.width = F(e, "width") && e.width !== "" ? this.checkSize(e.width) : d, e.height = F(e, "height") && e.height !== "" ? this.checkSize(e.height) : l, o && e.type == "image" && (e._hasCustomWidth = !!o.dataset.width, e._hasCustomHeight = !!o.dataset.height), e;
2187
2203
  } }, { key: "checkSize", value: function(e) {
2188
- return Ne(e) ? "".concat(e, "px") : e;
2204
+ return Fe(e) ? "".concat(e, "px") : e;
2189
2205
  } }, { key: "sanitizeValue", value: function(e) {
2190
2206
  return e !== "true" && e !== "false" ? e : e === "true";
2191
2207
  } }]), r;
2192
- }(), Ue = function() {
2208
+ }(), We = function() {
2193
2209
  function r(e, n, o) {
2194
2210
  i(this, r), this.element = e, this.instance = n, this.index = o;
2195
2211
  }
@@ -2232,8 +2248,8 @@ var Qt = { exports: {} };
2232
2248
  return !1;
2233
2249
  p.innerHTML = n.description, T(u, "gdesc-open");
2234
2250
  var v = j("click", { onElement: [u, ce(p, ".gslide-description")], withCallback: function(g, m) {
2235
- g.target.nodeName.toLowerCase() !== "a" && (M(u, "gdesc-open"), T(u, "gdesc-closed"), p.innerHTML = n.smallDescription, o.descriptionEvents(p, n), setTimeout(function() {
2236
- M(u, "gdesc-closed");
2251
+ g.target.nodeName.toLowerCase() !== "a" && ($(u, "gdesc-open"), T(u, "gdesc-closed"), p.innerHTML = n.smallDescription, o.descriptionEvents(p, n), setTimeout(function() {
2252
+ $(u, "gdesc-closed");
2237
2253
  }, 400), v.destroy());
2238
2254
  } });
2239
2255
  } });
@@ -2244,7 +2260,7 @@ var Qt = { exports: {} };
2244
2260
  var e = new va(this.instance.settings.slideExtraAttributes);
2245
2261
  return this.slideConfig = e.parseConfig(this.element, this.instance.settings), this.slideConfig;
2246
2262
  } }]), r;
2247
- }(), $t = ke(), It = ke() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, jt = document.getElementsByTagName("html")[0], wa = { 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">
2263
+ }(), Mt = ke(), It = ke() !== null || document.createTouch !== void 0 || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, jt = document.getElementsByTagName("html")[0], wa = { 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">
2248
2264
  <div class="gslide-inner-content">
2249
2265
  <div class="ginner-container">
2250
2266
  <div class="gslide-media">
@@ -2269,7 +2285,7 @@ var Qt = { exports: {} };
2269
2285
  </div>` }, xa = function() {
2270
2286
  function r() {
2271
2287
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
2272
- i(this, r), this.customOptions = e, this.settings = w(wa, e), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
2288
+ i(this, r), this.customOptions = e, this.settings = x(wa, e), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = !1;
2273
2289
  }
2274
2290
  return f(r, [{ key: "init", value: function() {
2275
2291
  var e = this, n = this.getSelector();
@@ -2281,34 +2297,34 @@ var Qt = { exports: {} };
2281
2297
  if (this.elements.length === 0)
2282
2298
  return !1;
2283
2299
  this.activeSlide = null, this.prevActiveSlideIndex = null, this.prevActiveSlide = null;
2284
- var o = Ne(n) ? n : this.settings.startAt;
2300
+ var o = Fe(n) ? n : this.settings.startAt;
2285
2301
  if (te(e)) {
2286
2302
  var d = e.getAttribute("data-gallery");
2287
2303
  d && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, d)), ne(o) && (o = this.getElementIndex(e)) < 0 && (o = 0);
2288
2304
  }
2289
- Ne(o) || (o = 0), this.build(), A(this.overlay, this.settings.openEffect === "none" ? "none" : this.settings.cssEfects.fade.in);
2305
+ Fe(o) || (o = 0), this.build(), A(this.overlay, this.settings.openEffect === "none" ? "none" : this.settings.cssEfects.fade.in);
2290
2306
  var l = document.body, h = window.innerWidth - document.documentElement.clientWidth;
2291
2307
  if (h > 0) {
2292
2308
  var u = document.createElement("style");
2293
2309
  u.type = "text/css", u.className = "gcss-styles", u.innerText = ".gscrollbar-fixer {margin-right: ".concat(h, "px}"), document.head.appendChild(u), T(l, "gscrollbar-fixer");
2294
2310
  }
2295
- T(l, "glightbox-open"), T(jt, "glightbox-open"), $t && (T(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(o, !0), this.elements.length === 1 ? (T(this.prevButton, "glightbox-button-hidden"), T(this.nextButton, "glightbox-button-hidden")) : (M(this.prevButton, "glightbox-button-hidden"), M(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), y(this.settings.onOpen) && this.settings.onOpen(), It && this.settings.touchNavigation && ha(this), this.settings.keyboardNavigation && fa(this);
2311
+ T(l, "glightbox-open"), T(jt, "glightbox-open"), Mt && (T(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(o, !0), this.elements.length === 1 ? (T(this.prevButton, "glightbox-button-hidden"), T(this.nextButton, "glightbox-button-hidden")) : ($(this.prevButton, "glightbox-button-hidden"), $(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = !0, this.trigger("open"), y(this.settings.onOpen) && this.settings.onOpen(), It && this.settings.touchNavigation && ha(this), this.settings.keyboardNavigation && fa(this);
2296
2312
  } }, { key: "openAt", value: function() {
2297
2313
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
2298
2314
  this.open(null, e);
2299
2315
  } }, { key: "showSlide", value: function() {
2300
2316
  var e = this, n = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0, o = arguments.length > 1 && arguments[1] !== void 0 && arguments[1];
2301
- D(this.loader), this.index = parseInt(n);
2317
+ R(this.loader), this.index = parseInt(n);
2302
2318
  var d = this.slidesContainer.querySelector(".current");
2303
- d && M(d, "current"), this.slideAnimateOut();
2319
+ d && $(d, "current"), this.slideAnimateOut();
2304
2320
  var l = this.slidesContainer.querySelectorAll(".gslide")[n];
2305
2321
  if (N(l, "loaded"))
2306
- this.slideAnimateIn(l, o), $(this.loader);
2322
+ this.slideAnimateIn(l, o), M(this.loader);
2307
2323
  else {
2308
- D(this.loader);
2324
+ R(this.loader);
2309
2325
  var h = this.elements[n], u = { index: this.index, slide: l, slideNode: l, slideConfig: h.slideConfig, slideIndex: this.index, trigger: h.node, player: null };
2310
2326
  this.trigger("slide_before_load", u), h.instance.setContent(l, function() {
2311
- $(e.loader), e.resize(), e.slideAnimateIn(l, o), e.trigger("slide_after_load", u);
2327
+ M(e.loader), e.resize(), e.slideAnimateIn(l, o), e.trigger("slide_after_load", u);
2312
2328
  });
2313
2329
  }
2314
2330
  this.slideDescription = l.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && N(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(n + 1), this.preloadSlide(n - 1)), this.updateNavigationClasses(), this.activeSlide = l;
@@ -2339,7 +2355,7 @@ var Qt = { exports: {} };
2339
2355
  } }, { key: "insertSlide", value: function() {
2340
2356
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : -1;
2341
2357
  n < 0 && (n = this.elements.length);
2342
- var o = new Ue(e, this, n), d = o.getConfig(), l = w({}, d), h = o.create(), u = this.elements.length - 1;
2358
+ var o = new We(e, this, n), d = o.getConfig(), l = x({}, d), h = o.create(), u = this.elements.length - 1;
2343
2359
  l.index = n, l.node = !1, l.instance = o, l.slideConfig = d, this.elements.splice(n, 0, l);
2344
2360
  var p = null, v = null;
2345
2361
  if (this.slidesContainer) {
@@ -2360,7 +2376,7 @@ var Qt = { exports: {} };
2360
2376
  n && (this.getActiveSlideIndex() == e && (e == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), n.parentNode.removeChild(n)), this.elements.splice(e, 1), this.trigger("slide_removed", e), y(this.settings.slideRemoved) && this.settings.slideRemoved(e);
2361
2377
  } }, { key: "slideAnimateIn", value: function(e, n) {
2362
2378
  var o = this, d = e.querySelector(".gslide-media"), l = e.querySelector(".gslide-description"), h = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: ne(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ne(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, u = { 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) };
2363
- if (d.offsetWidth > 0 && l && ($(l), l.style.display = ""), M(e, this.effectsClasses), n)
2379
+ if (d.offsetWidth > 0 && l && (M(l), l.style.display = ""), $(e, this.effectsClasses), n)
2364
2380
  A(e, this.settings.cssEfects[this.settings.openEffect].in, function() {
2365
2381
  o.settings.autoplayVideos && o.slidePlayerPlay(e), o.trigger("slide_changed", { prev: h, current: u }), y(o.settings.afterSlideChange) && o.settings.afterSlideChange.apply(o, [h, u]);
2366
2382
  });
@@ -2377,11 +2393,11 @@ var Qt = { exports: {} };
2377
2393
  if (!this.prevActiveSlide)
2378
2394
  return !1;
2379
2395
  var e = this.prevActiveSlide;
2380
- M(e, this.effectsClasses), T(e, "prev");
2396
+ $(e, this.effectsClasses), T(e, "prev");
2381
2397
  var n = this.settings.slideEffect, o = n !== "none" ? this.settings.cssEfects[n].out : n;
2382
2398
  this.slidePlayerPause(e), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: ne(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: ne(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) } }), y(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" && (o = this.settings.cssEfects.slideBack.out), A(e, o, function() {
2383
2399
  var d = e.querySelector(".ginner-container"), l = e.querySelector(".gslide-media"), h = e.querySelector(".gslide-description");
2384
- d.style.transform = "", l.style.transform = "", M(l, "greset"), l.style.opacity = "", h && (h.style.opacity = ""), M(e, "prev");
2400
+ d.style.transform = "", l.style.transform = "", $(l, "greset"), l.style.opacity = "", h && (h.style.opacity = ""), $(e, "prev");
2385
2401
  });
2386
2402
  } }, { key: "getAllPlayers", value: function() {
2387
2403
  return this.videoPlayers;
@@ -2413,7 +2429,7 @@ var Qt = { exports: {} };
2413
2429
  o && !o.playing && o.play();
2414
2430
  } }, { key: "slidePlayerPlay", value: function(e) {
2415
2431
  var n;
2416
- if (!$t || (n = this.settings.plyr.config) !== null && n !== void 0 && n.muted) {
2432
+ if (!Mt || (n = this.settings.plyr.config) !== null && n !== void 0 && n.muted) {
2417
2433
  if (te(e)) {
2418
2434
  var o = e.querySelector(".gvideo-wrapper");
2419
2435
  o && (e = o.getAttribute("data-index"));
@@ -2426,7 +2442,7 @@ var Qt = { exports: {} };
2426
2442
  this.settings.elements = !1;
2427
2443
  var o = [];
2428
2444
  e && e.length && _(e, function(d, l) {
2429
- var h = new Ue(d, n, l), u = h.getConfig(), p = w({}, u);
2445
+ var h = new We(d, n, l), u = h.getConfig(), p = x({}, u);
2430
2446
  p.slideConfig = u, p.instance = h, p.index = l, o.push(p);
2431
2447
  }), this.elements = o, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (_(this.elements, function() {
2432
2448
  var d = de(n.settings.slideHTML);
@@ -2440,13 +2456,13 @@ var Qt = { exports: {} };
2440
2456
  }), n;
2441
2457
  } }, { key: "getElements", value: function() {
2442
2458
  var e = this, n = [];
2443
- this.elements = this.elements ? this.elements : [], !ne(this.settings.elements) && Ve(this.settings.elements) && this.settings.elements.length && _(this.settings.elements, function(d, l) {
2444
- var h = new Ue(d, e, l), u = h.getConfig(), p = w({}, u);
2459
+ this.elements = this.elements ? this.elements : [], !ne(this.settings.elements) && Ne(this.settings.elements) && this.settings.elements.length && _(this.settings.elements, function(d, l) {
2460
+ var h = new We(d, e, l), u = h.getConfig(), p = x({}, u);
2445
2461
  p.node = !1, p.index = l, p.instance = h, p.slideConfig = u, n.push(p);
2446
2462
  });
2447
2463
  var o = !1;
2448
2464
  return this.getSelector() && (o = document.querySelectorAll(this.getSelector())), o && _(o, function(d, l) {
2449
- var h = new Ue(d, e, l), u = h.getConfig(), p = w({}, u);
2465
+ var h = new We(d, e, l), u = h.getConfig(), p = x({}, u);
2450
2466
  p.node = d, p.index = l, p.instance = h, p.slideConfig = u, p.gallery = d.getAttribute("data-gallery"), n.push(p);
2451
2467
  }), n;
2452
2468
  } }, { key: "getGalleryElements", value: function(e, n) {
@@ -2497,7 +2513,7 @@ var Qt = { exports: {} };
2497
2513
  var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null;
2498
2514
  if ((e = e || this.activeSlide) && !N(e, "zoomed")) {
2499
2515
  var n = ee(), o = e.querySelector(".gvideo-wrapper"), d = e.querySelector(".gslide-image"), l = this.slideDescription, h = n.width, u = n.height;
2500
- if (h <= 768 ? T(document.body, "glightbox-mobile") : M(document.body, "glightbox-mobile"), o || d) {
2516
+ if (h <= 768 ? T(document.body, "glightbox-mobile") : $(document.body, "glightbox-mobile"), o || d) {
2501
2517
  var p = !1;
2502
2518
  if (l && (N(l, "description-bottom") || N(l, "description-top")) && !N(l, "gabsolute") && (p = !0), d) {
2503
2519
  if (h <= 768)
@@ -2513,9 +2529,9 @@ var Qt = { exports: {} };
2513
2529
  var E = o.clientWidth, C = o.clientHeight, O = E / C;
2514
2530
  m = "".concat(E / O, ":").concat(C / O);
2515
2531
  }
2516
- var z = m.split(":"), I = this.settings.videosWidth, oe = this.settings.videosWidth, ae = (oe = Ne(I) || I.indexOf("px") !== -1 ? parseInt(I) : I.indexOf("vw") !== -1 ? h * parseInt(I) / 100 : I.indexOf("vh") !== -1 ? u * parseInt(I) / 100 : I.indexOf("%") !== -1 ? h * parseInt(I) / 100 : parseInt(o.clientWidth)) / (parseInt(z[0]) / parseInt(z[1]));
2532
+ var z = m.split(":"), I = this.settings.videosWidth, oe = this.settings.videosWidth, ae = (oe = Fe(I) || I.indexOf("px") !== -1 ? parseInt(I) : I.indexOf("vw") !== -1 ? h * parseInt(I) / 100 : I.indexOf("vh") !== -1 ? u * parseInt(I) / 100 : I.indexOf("%") !== -1 ? h * parseInt(I) / 100 : parseInt(o.clientWidth)) / (parseInt(z[0]) / parseInt(z[1]));
2517
2533
  if (ae = Math.floor(ae), p && (u -= l.offsetHeight), oe > h || ae > u || u < ae && h > oe) {
2518
- var ge = o.offsetWidth, me = o.offsetHeight, _e = u / me, je = { width: ge * _e, height: me * _e };
2534
+ var me = o.offsetWidth, ye = o.offsetHeight, _e = u / ye, je = { width: me * _e, height: ye * _e };
2519
2535
  o.parentNode.setAttribute("style", "max-width: ".concat(je.width, "px")), p && l.setAttribute("style", "max-width: ".concat(je.width, "px;"));
2520
2536
  } else
2521
2537
  o.parentNode.style.maxWidth = "".concat(I), p && l.setAttribute("style", "max-width: ".concat(I, ";"));
@@ -2526,7 +2542,7 @@ var Qt = { exports: {} };
2526
2542
  this.init();
2527
2543
  } }, { key: "updateNavigationClasses", value: function() {
2528
2544
  var e = this.loop();
2529
- M(this.nextButton, "disabled"), M(this.prevButton, "disabled"), this.index == 0 && this.elements.length - 1 == 0 ? (T(this.prevButton, "disabled"), T(this.nextButton, "disabled")) : this.index !== 0 || e ? this.index !== this.elements.length - 1 || e || T(this.nextButton, "disabled") : T(this.prevButton, "disabled");
2545
+ $(this.nextButton, "disabled"), $(this.prevButton, "disabled"), this.index == 0 && this.elements.length - 1 == 0 ? (T(this.prevButton, "disabled"), T(this.nextButton, "disabled")) : this.index !== 0 || e ? this.index !== this.elements.length - 1 || e || T(this.nextButton, "disabled") : T(this.prevButton, "disabled");
2530
2546
  } }, { key: "loop", value: function() {
2531
2547
  var e = F(this.settings, "loopAtEnd") ? this.settings.loopAtEnd : null;
2532
2548
  return e = F(this.settings, "loop") ? this.settings.loop : e, e;
@@ -2551,7 +2567,7 @@ var Qt = { exports: {} };
2551
2567
  e.events = null;
2552
2568
  }
2553
2569
  var d = document.body;
2554
- M(jt, "glightbox-open"), M(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), e.modal.parentNode.removeChild(e.modal), e.trigger("close"), y(e.settings.onClose) && e.settings.onClose();
2570
+ $(jt, "glightbox-open"), $(d, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), e.modal.parentNode.removeChild(e.modal), e.trigger("close"), y(e.settings.onClose) && e.settings.onClose();
2555
2571
  var l = document.querySelector(".gcss-styles");
2556
2572
  l && l.parentNode.removeChild(l), e.lightboxOpen = !1, e.closing = null;
2557
2573
  });
@@ -2593,7 +2609,7 @@ var vc = Object.defineProperty, wc = Object.getOwnPropertyDescriptor, xc = (a, t
2593
2609
  };
2594
2610
  let yt = class extends rt {
2595
2611
  render() {
2596
- return x` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
2612
+ return w` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
2597
2613
  }
2598
2614
  };
2599
2615
  yt.styles = U`
@@ -2635,7 +2651,7 @@ yt.styles = U`
2635
2651
  }
2636
2652
  `;
2637
2653
  yt = xc([
2638
- W("cb-thinking")
2654
+ Y("cb-thinking")
2639
2655
  ], yt);
2640
2656
  var kc = Object.defineProperty, _c = Object.getOwnPropertyDescriptor, ea = (a, t, c, i) => {
2641
2657
  for (var s = i > 1 ? void 0 : i ? _c(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -2647,13 +2663,13 @@ let at = class extends Q {
2647
2663
  super(...arguments), this.files = [];
2648
2664
  }
2649
2665
  render() {
2650
- return x` <div class="cb-uploading">
2666
+ return w` <div class="cb-uploading">
2651
2667
  <div class="cb-uploading__title">
2652
2668
  <sl-spinner class="cb-spinner"></sl-spinner>
2653
2669
  <span>Uploading...</span>
2654
2670
  </div>
2655
2671
  <div class="cb-uploading__filelist">
2656
- ${this.files.map((a) => x`${a.name}<br />`)}
2672
+ ${this.files.map((a) => w`${a.name}<br />`)}
2657
2673
  </div>
2658
2674
  </div>`;
2659
2675
  }
@@ -2680,7 +2696,7 @@ ea([
2680
2696
  k({ type: Array })
2681
2697
  ], at.prototype, "files", 2);
2682
2698
  at = ea([
2683
- W("cb-uploading")
2699
+ Y("cb-uploading")
2684
2700
  ], at);
2685
2701
  const Sc = U`
2686
2702
  ${he}
@@ -2708,12 +2724,12 @@ var Cc = Object.defineProperty, Tc = Object.getOwnPropertyDescriptor, kt = (a, t
2708
2724
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
2709
2725
  return i && s && Cc(t, c, s), s;
2710
2726
  };
2711
- let He = class extends rt {
2727
+ let Be = class extends rt {
2712
2728
  constructor() {
2713
2729
  super(...arguments), this.url = "", this.inverse = !1;
2714
2730
  }
2715
2731
  render() {
2716
- return x`
2732
+ return w`
2717
2733
  <a
2718
2734
  class="
2719
2735
  cb-external-link link__item
@@ -2728,7 +2744,7 @@ let He = class extends rt {
2728
2744
  `;
2729
2745
  }
2730
2746
  };
2731
- He.styles = U`
2747
+ Be.styles = U`
2732
2748
  :host {
2733
2749
  --primary-color: var(--sl-color-primary-600);
2734
2750
  }
@@ -2755,14 +2771,14 @@ He.styles = U`
2755
2771
  `;
2756
2772
  kt([
2757
2773
  k({ type: String })
2758
- ], He.prototype, "url", 2);
2774
+ ], Be.prototype, "url", 2);
2759
2775
  kt([
2760
2776
  k({ type: Boolean })
2761
- ], He.prototype, "inverse", 2);
2762
- He = kt([
2763
- W("cb-external-link")
2764
- ], He);
2765
- const Ec = '<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>', Ac = '<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.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm1.217-1.333v3.999h1.46c.401 0 .734-.08.998-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.589-.68c-.264-.156-.599-.234-1.005-.234H3.362Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.14 1.14 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082h-.563v-2.707Zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638H7.896Z"/></svg>', Mc = '<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.459c.406 0 .741.078 1.005.234c.263.157.46.383.589.68c.13.297.196.655.196 1.075c0 .422-.066.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.484-.082a.8.8 0 0 0 .334-.252a1.14 1.14 0 0 0 .196-.422c.045-.168.067-.365.067-.592a2.1 2.1 0 0 0-.117-.753a.89.89 0 0 0-.354-.454c-.159-.102-.362-.152-.61-.152Z"/></svg>', $c = '<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.823c.13.108.289.192.478.252c.19.061.411.091.665.091c.338 0 .624-.053.859-.158c.236-.105.416-.252.539-.44c.125-.189.187-.408.187-.656c0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357a2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176a.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384c.125-.101.296-.152.512-.152c.143 0 .266.023.37.068a.624.624 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566a1.21 1.21 0 0 0-.5-.41a1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15c-.225.099-.4.24-.527.421c-.127.182-.19.395-.19.639c0 .201.04.376.122.524c.082.149.2.27.352.367c.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326a.505.505 0 0 1-.085.29a.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07c-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115a.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399a.814.814 0 0 1 .475-.137c.15 0 .283.032.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.441 1.441 0 0 0-.489-.272a1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223c-.25.148-.44.359-.572.632c-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976c.131.271.322.48.572.626c.25.145.554.217.914.217c.293 0 .554-.055.785-.164c.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363a.7.7 0 0 1-.272.25a.874.874 0 0 1-.401.087a.845.845 0 0 1-.478-.132a.833.833 0 0 1-.299-.392a1.699 1.699 0 0 1-.102-.627v-.495Zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879l-1.327 4Z"/></svg>', Ic = '<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.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.817-1.333h-1.6v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474c.108-.201.161-.427.161-.677c0-.25-.052-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.793.793 0 0 1-.375.082H4.15V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662H8.274Z"/></svg>', jc = '<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.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387a.877.877 0 0 1-.469.126a.883.883 0 0 1-.471-.126a.868.868 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.117-.641a.868.868 0 0 1 .32-.387a.868.868 0 0 1 .471-.129c.176 0 .332.043.469.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.589-.63c-.254-.147-.56-.22-.917-.22c-.355 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.136.271-.205.596-.205.975v.513c0 .375.069.7.205.973c.137.271.333.48.59.627c.257.144.564.216.92.216c.357 0 .662-.072.916-.216c.256-.147.452-.356.59-.627c.136-.274.204-.598.204-.973ZM0 11.926v4h1.459c.402 0 .735-.08.999-.238a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234H0Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.141 1.141 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082H.79V12.57Zm7.422.483a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .298.393a.845.845 0 0 0 .478.131a.868.868 0 0 0 .401-.088a.699.699 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978c.13-.274.321-.485.571-.633c.252-.149.556-.223.911-.223c.219 0 .421.032.607.097c.187.062.35.153.489.272a1.326 1.326 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.802.802 0 0 0-.398-.097a.814.814 0 0 0-.475.138a.868.868 0 0 0-.301.398Z"/></svg>', Oc = '<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.54 1.54 0 0 0-.117-.641a.861.861 0 0 0-.322-.387a.862.862 0 0 0-.469-.129a.868.868 0 0 0-.471.13a.868.868 0 0 0-.32.386a1.54 1.54 0 0 0-.117.641v.522c0 .256.04.47.117.641a.868.868 0 0 0 .32.387a.883.883 0 0 0 .471.126a.877.877 0 0 0 .469-.126a.861.861 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.068.7-.205.973a1.47 1.47 0 0 1-.589.627c-.254.144-.56.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.463 1.463 0 0 1-.589-.627a2.151 2.151 0 0 1-.205-.973v-.513c0-.379.069-.704.205-.975c.137-.274.333-.483.59-.627c.257-.147.564-.22.92-.22c.357 0 .662.073.916.22c.256.146.452.356.59.63c.136.271.204.595.204.972M1 15.925v-3.999h1.459c.406 0 .741.078 1.005.235c.264.156.46.382.589.68c.13.296.196.655.196 1.074c0 .422-.065.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-.999.237H1Zm1.354-3.354H1.79v2.707h.563c.185 0 .346-.028.483-.082a.8.8 0 0 0 .334-.252c.088-.114.153-.254.196-.422a2.3 2.3 0 0 0 .068-.592c0-.3-.04-.552-.118-.753a.89.89 0 0 0-.354-.454c-.158-.102-.361-.152-.61-.152Zm6.756 1.116c0-.248.034-.46.103-.633a.868.868 0 0 1 .301-.398a.814.814 0 0 1 .475-.138c.15 0 .283.032.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.44 1.44 0 0 0-.49-.272a1.836 1.836 0 0 0-.606-.097c-.355 0-.66.074-.911.223c-.25.148-.44.359-.571.633c-.131.273-.197.6-.197.978v.498c0 .379.065.704.194.976c.13.271.321.48.571.627c.25.144.555.216.914.216c.293 0 .555-.054.785-.164c.23-.11.414-.26.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.699.699 0 0 1-.273.248a.874.874 0 0 1-.401.088a.845.845 0 0 1-.478-.131a.834.834 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627v-.495Zm5.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.035l.823-1.439Z"/></svg>';
2777
+ ], Be.prototype, "inverse", 2);
2778
+ Be = kt([
2779
+ Y("cb-external-link")
2780
+ ], Be);
2781
+ const Ec = '<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>', Ac = '<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.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm1.217-1.333v3.999h1.46c.401 0 .734-.08.998-.237a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.589-.68c-.264-.156-.599-.234-1.005-.234H3.362Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.14 1.14 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082h-.563v-2.707Zm3.743 1.763v1.591h-.79V11.85h2.548v.653H7.896v1.117h1.606v.638H7.896Z"/></svg>', $c = '<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.459c.406 0 .741.078 1.005.234c.263.157.46.383.589.68c.13.297.196.655.196 1.075c0 .422-.066.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-1 .237H4.626Zm1.353-3.354h-.562v2.707h.562c.186 0 .347-.028.484-.082a.8.8 0 0 0 .334-.252a1.14 1.14 0 0 0 .196-.422c.045-.168.067-.365.067-.592a2.1 2.1 0 0 0-.117-.753a.89.89 0 0 0-.354-.454c-.159-.102-.362-.152-.61-.152Z"/></svg>', Mc = '<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.823c.13.108.289.192.478.252c.19.061.411.091.665.091c.338 0 .624-.053.859-.158c.236-.105.416-.252.539-.44c.125-.189.187-.408.187-.656c0-.224-.045-.41-.134-.56a1.001 1.001 0 0 0-.375-.357a2.027 2.027 0 0 0-.566-.21l-.621-.144a.97.97 0 0 1-.404-.176a.37.37 0 0 1-.144-.299c0-.156.062-.284.185-.384c.125-.101.296-.152.512-.152c.143 0 .266.023.37.068a.624.624 0 0 1 .246.181a.56.56 0 0 1 .12.258h.75a1.092 1.092 0 0 0-.2-.566a1.21 1.21 0 0 0-.5-.41a1.813 1.813 0 0 0-.78-.152c-.293 0-.551.05-.776.15c-.225.099-.4.24-.527.421c-.127.182-.19.395-.19.639c0 .201.04.376.122.524c.082.149.2.27.352.367c.152.095.332.167.539.213l.618.144c.207.049.361.113.463.193a.387.387 0 0 1 .152.326a.505.505 0 0 1-.085.29a.559.559 0 0 1-.255.193c-.111.047-.249.07-.413.07c-.117 0-.223-.013-.32-.04a.838.838 0 0 1-.248-.115a.578.578 0 0 1-.255-.384h-.765ZM.806 13.693c0-.248.034-.46.102-.633a.868.868 0 0 1 .302-.399a.814.814 0 0 1 .475-.137c.15 0 .283.032.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.441 1.441 0 0 0-.489-.272a1.838 1.838 0 0 0-.606-.097c-.356 0-.66.074-.911.223c-.25.148-.44.359-.572.632c-.13.274-.196.6-.196.979v.498c0 .379.064.704.193.976c.131.271.322.48.572.626c.25.145.554.217.914.217c.293 0 .554-.055.785-.164c.23-.11.414-.26.55-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.764a.799.799 0 0 1-.118.363a.7.7 0 0 1-.272.25a.874.874 0 0 1-.401.087a.845.845 0 0 1-.478-.132a.833.833 0 0 1-.299-.392a1.699 1.699 0 0 1-.102-.627v-.495Zm8.239 2.238h-.953l-1.338-3.999h.917l.896 3.138h.038l.888-3.138h.879l-1.327 4Z"/></svg>', Ic = '<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.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474a1.42 1.42 0 0 0 .161-.677c0-.25-.053-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.794.794 0 0 1-.375.082H.788V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.817-1.333h-1.6v3.999h.791v-1.342h.803c.287 0 .531-.057.732-.173c.203-.117.358-.275.463-.474c.108-.201.161-.427.161-.677c0-.25-.052-.476-.158-.677a1.176 1.176 0 0 0-.46-.477c-.2-.12-.443-.179-.732-.179Zm.545 1.333a.795.795 0 0 1-.085.38a.574.574 0 0 1-.238.241a.793.793 0 0 1-.375.082H4.15V12.48h.66c.218 0 .389.06.512.181c.123.122.185.296.185.522Zm2.767-.67v3.336H7.48v-3.337H6.346v-.662h3.065v.662H8.274Z"/></svg>', jc = '<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.522c0 .256-.039.47-.117.641a.861.861 0 0 1-.322.387a.877.877 0 0 1-.469.126a.883.883 0 0 1-.471-.126a.868.868 0 0 1-.32-.386a1.55 1.55 0 0 1-.117-.642v-.522c0-.257.04-.471.117-.641a.868.868 0 0 1 .32-.387a.868.868 0 0 1 .471-.129c.176 0 .332.043.469.13a.861.861 0 0 1 .322.386c.078.17.117.384.117.641Zm.803.519v-.513c0-.377-.068-.7-.205-.972a1.46 1.46 0 0 0-.589-.63c-.254-.147-.56-.22-.917-.22c-.355 0-.662.073-.92.22a1.441 1.441 0 0 0-.589.627c-.136.271-.205.596-.205.975v.513c0 .375.069.7.205.973c.137.271.333.48.59.627c.257.144.564.216.92.216c.357 0 .662-.072.916-.216c.256-.147.452-.356.59-.627c.136-.274.204-.598.204-.973ZM0 11.926v4h1.459c.402 0 .735-.08.999-.238a1.45 1.45 0 0 0 .595-.689c.13-.3.196-.662.196-1.084c0-.42-.065-.778-.196-1.075a1.426 1.426 0 0 0-.59-.68c-.263-.156-.598-.234-1.004-.234H0Zm.791.645h.563c.248 0 .45.05.609.152a.89.89 0 0 1 .354.454c.079.201.118.452.118.753a2.3 2.3 0 0 1-.068.592a1.141 1.141 0 0 1-.196.422a.8.8 0 0 1-.334.252a1.298 1.298 0 0 1-.483.082H.79V12.57Zm7.422.483a1.732 1.732 0 0 0-.103.633v.495c0 .246.034.455.103.627a.834.834 0 0 0 .298.393a.845.845 0 0 0 .478.131a.868.868 0 0 0 .401-.088a.699.699 0 0 0 .273-.248a.8.8 0 0 0 .117-.364h.765v.076a1.268 1.268 0 0 1-.226.674c-.137.194-.32.345-.55.454a1.81 1.81 0 0 1-.786.164c-.36 0-.664-.072-.914-.216a1.424 1.424 0 0 1-.571-.627c-.13-.272-.194-.597-.194-.976v-.498c0-.379.066-.705.197-.978c.13-.274.321-.485.571-.633c.252-.149.556-.223.911-.223c.219 0 .421.032.607.097c.187.062.35.153.489.272a1.326 1.326 0 0 1 .466.964v.073H9.78a.85.85 0 0 0-.12-.38a.7.7 0 0 0-.273-.261a.802.802 0 0 0-.398-.097a.814.814 0 0 0-.475.138a.868.868 0 0 0-.301.398Z"/></svg>', Oc = '<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.54 1.54 0 0 0-.117-.641a.861.861 0 0 0-.322-.387a.862.862 0 0 0-.469-.129a.868.868 0 0 0-.471.13a.868.868 0 0 0-.32.386a1.54 1.54 0 0 0-.117.641v.522c0 .256.04.47.117.641a.868.868 0 0 0 .32.387a.883.883 0 0 0 .471.126a.877.877 0 0 0 .469-.126a.861.861 0 0 0 .322-.386a1.55 1.55 0 0 0 .117-.642Zm.803-.516v.513c0 .375-.068.7-.205.973a1.47 1.47 0 0 1-.589.627c-.254.144-.56.216-.917.216a1.86 1.86 0 0 1-.92-.216a1.463 1.463 0 0 1-.589-.627a2.151 2.151 0 0 1-.205-.973v-.513c0-.379.069-.704.205-.975c.137-.274.333-.483.59-.627c.257-.147.564-.22.92-.22c.357 0 .662.073.916.22c.256.146.452.356.59.63c.136.271.204.595.204.972M1 15.925v-3.999h1.459c.406 0 .741.078 1.005.235c.264.156.46.382.589.68c.13.296.196.655.196 1.074c0 .422-.065.784-.196 1.084c-.131.301-.33.53-.595.689c-.264.158-.597.237-.999.237H1Zm1.354-3.354H1.79v2.707h.563c.185 0 .346-.028.483-.082a.8.8 0 0 0 .334-.252c.088-.114.153-.254.196-.422a2.3 2.3 0 0 0 .068-.592c0-.3-.04-.552-.118-.753a.89.89 0 0 0-.354-.454c-.158-.102-.361-.152-.61-.152Zm6.756 1.116c0-.248.034-.46.103-.633a.868.868 0 0 1 .301-.398a.814.814 0 0 1 .475-.138c.15 0 .283.032.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.44 1.44 0 0 0-.49-.272a1.836 1.836 0 0 0-.606-.097c-.355 0-.66.074-.911.223c-.25.148-.44.359-.571.633c-.131.273-.197.6-.197.978v.498c0 .379.065.704.194.976c.13.271.321.48.571.627c.25.144.555.216.914.216c.293 0 .555-.054.785-.164c.23-.11.414-.26.551-.454a1.27 1.27 0 0 0 .226-.674v-.076h-.765a.8.8 0 0 1-.117.364a.699.699 0 0 1-.273.248a.874.874 0 0 1-.401.088a.845.845 0 0 1-.478-.131a.834.834 0 0 1-.298-.393a1.7 1.7 0 0 1-.103-.627v-.495Zm5.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.035l.823-1.439Z"/></svg>';
2766
2782
  var Lc = Object.defineProperty, Pc = Object.getOwnPropertyDescriptor, _t = (a, t, c, i) => {
2767
2783
  for (var s = i > 1 ? void 0 : i ? Pc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
2768
2784
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
@@ -2771,13 +2787,13 @@ var Lc = Object.defineProperty, Pc = Object.getOwnPropertyDescriptor, _t = (a, t
2771
2787
  const zt = {
2772
2788
  pdf: Ac,
2773
2789
  txt: Ec,
2774
- md: Mc,
2775
- csv: $c,
2790
+ md: $c,
2791
+ csv: Mc,
2776
2792
  ppd: Ic,
2777
2793
  doc: jc,
2778
2794
  docx: Oc
2779
2795
  };
2780
- let Be = class extends Q {
2796
+ let qe = class extends Q {
2781
2797
  constructor() {
2782
2798
  super(...arguments), this.filename = "", this.url = "";
2783
2799
  }
@@ -2789,7 +2805,7 @@ let Be = class extends Q {
2789
2805
  return t ? t.toLowerCase() : a;
2790
2806
  }
2791
2807
  render() {
2792
- return x`
2808
+ return w`
2793
2809
  <cb-external-link url="${this.url}" inverse>
2794
2810
  <div class="cb-file">
2795
2811
  ${this.renderFileIcon()}
@@ -2799,7 +2815,7 @@ let Be = class extends Q {
2799
2815
  `;
2800
2816
  }
2801
2817
  renderFileIcon() {
2802
- return x`
2818
+ return w`
2803
2819
  <cb-icon
2804
2820
  class="cb-file-icon"
2805
2821
  svg="${zt[this.type] || zt.txt}"
@@ -2807,16 +2823,16 @@ let Be = class extends Q {
2807
2823
  `;
2808
2824
  }
2809
2825
  };
2810
- Be.styles = Sc;
2826
+ qe.styles = Sc;
2811
2827
  _t([
2812
2828
  k({ type: String })
2813
- ], Be.prototype, "filename", 2);
2829
+ ], qe.prototype, "filename", 2);
2814
2830
  _t([
2815
2831
  k({ type: String })
2816
- ], Be.prototype, "url", 2);
2817
- Be = _t([
2818
- W("cb-file")
2819
- ], Be);
2832
+ ], qe.prototype, "url", 2);
2833
+ qe = _t([
2834
+ Y("cb-file")
2835
+ ], qe);
2820
2836
  const zc = '<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>', Hc = '<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 10c-2.29 0-3.516.68-4.168 1.332c-.678.678-.83 1.418-.832 1.664z"/></svg>', Bc = U`
2821
2837
  pre code.hljs {
2822
2838
  display: block;
@@ -4154,24 +4170,24 @@ const zc = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
4154
4170
  font-size: 1em;
4155
4171
  }
4156
4172
  `;
4157
- function Dc() {
4158
- const a = new Ma({
4173
+ function Rc() {
4174
+ const a = new $a({
4159
4175
  html: !0,
4160
4176
  breaks: !0,
4161
4177
  linkify: !0
4162
4178
  });
4163
- return a.use($a, { attrs: { target: "_blank", rel: "noopener" } }), a;
4179
+ return a.use(Ma, { attrs: { target: "_blank", rel: "noopener" } }), a;
4164
4180
  }
4165
4181
  async function Ht(a) {
4166
- const c = Dc().render(a);
4167
- return x`${Ee(c)}`;
4182
+ const c = Rc().render(a);
4183
+ return w`${Ee(c)}`;
4168
4184
  }
4169
- var Rc = Object.defineProperty, Vc = Object.getOwnPropertyDescriptor, De = (a, t, c, i) => {
4185
+ var Dc = Object.defineProperty, Vc = Object.getOwnPropertyDescriptor, De = (a, t, c, i) => {
4170
4186
  for (var s = i > 1 ? void 0 : i ? Vc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
4171
4187
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
4172
- return i && s && Rc(t, c, s), s;
4188
+ return i && s && Dc(t, c, s), s;
4173
4189
  };
4174
- let Me = class extends Q {
4190
+ let $e = class extends Q {
4175
4191
  constructor() {
4176
4192
  super(...arguments), this.type = "assistant", this.lightbox = yc({
4177
4193
  touchNavigation: !0,
@@ -4197,7 +4213,7 @@ let Me = class extends Q {
4197
4213
  });
4198
4214
  }
4199
4215
  connectedCallback() {
4200
- super.connectedCallback(), console.log(`Message: connectedCallback called: ${this.message.data.text}`);
4216
+ super.connectedCallback();
4201
4217
  }
4202
4218
  disconnectedCallback() {
4203
4219
  super.disconnectedCallback(), this._removeCopyEvents();
@@ -4208,7 +4224,7 @@ let Me = class extends Q {
4208
4224
  */
4209
4225
  updated(a) {
4210
4226
  super.updated(a), a.has("message") && requestIdleCallback(() => {
4211
- this._addCopyEvents(), console.log("Message updated hook: updating lightbox"), this._configureLightbox();
4227
+ this._addCopyEvents(), this._configureLightbox();
4212
4228
  });
4213
4229
  }
4214
4230
  _configureLightbox() {
@@ -4251,12 +4267,12 @@ let Me = class extends Q {
4251
4267
  });
4252
4268
  }
4253
4269
  render() {
4254
- return ve(
4270
+ return ue(
4255
4271
  this.message.data || this.message.isThinking,
4256
- () => x`
4272
+ () => w`
4257
4273
  <div class="cb-message-row" part="cb-message-row">
4258
4274
  <!-- message -->
4259
- ${ve(
4275
+ ${ue(
4260
4276
  this._isBot,
4261
4277
  () => this.renderBotMessage(this.message),
4262
4278
  () => this.renderUserMessage(this.message)
@@ -4267,7 +4283,7 @@ let Me = class extends Q {
4267
4283
  );
4268
4284
  }
4269
4285
  renderButtons(a = "left") {
4270
- return x`<div class="cb-message__buttons ${a}">
4286
+ return w`<div class="cb-message__buttons ${a}">
4271
4287
  <!-- delete button -->
4272
4288
  <sl-button class="cb-message__delete-button" name="trash" @click=${this._removeMessageHandler} circle variant="text" size="small">
4273
4289
  <cb-icon svg="${zc}" style="font-size: 1em !important;"></cb-icon>
@@ -4275,7 +4291,7 @@ let Me = class extends Q {
4275
4291
  </div>`;
4276
4292
  }
4277
4293
  renderMessage(a) {
4278
- return x`
4294
+ return w`
4279
4295
  <div
4280
4296
  class="cb-message__content
4281
4297
  ${a.author}-message
@@ -4292,34 +4308,34 @@ let Me = class extends Q {
4292
4308
  }
4293
4309
  renderMessageContent(a) {
4294
4310
  var t;
4295
- return a.isThinking ? x`<cb-thinking></cb-thinking>` : a.isUploading ? x`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? x`<div class="cb-message-text">
4296
- ${ve(
4311
+ return a.isThinking ? w`<cb-thinking></cb-thinking>` : a.isUploading ? w`<cb-uploading .files="${a.data.files || []}"></cb-uploading>` : a.type === "text" ? w`<div class="cb-message-text">
4312
+ ${ue(
4297
4313
  a.data.userName,
4298
- () => x`<div style="font-size: 12px; color:#9ca3af">${a.data.userName}</div>`,
4314
+ () => w`<div style="font-size: 12px; color:#9ca3af">${a.data.userName}</div>`,
4299
4315
  () => null
4300
4316
  )}
4301
4317
  ${Pt(
4302
- this._getMessageText(a).then((c) => x`${c}`)
4318
+ this._getMessageText(a).then((c) => w`${c}`)
4303
4319
  )}
4304
- </div>` : a.type === "file" ? x`${Ze(
4320
+ </div>` : a.type === "file" ? w`${Ge(
4305
4321
  a.data.files || [],
4306
4322
  (c) => c.id,
4307
- (c) => x`<cb-file filename="${c.name}" url="${c.url}"></cb-file>`
4308
- )}` : x`<div class="cb-message-text">
4323
+ (c) => w`<cb-file filename="${c.name}" url="${c.url}"></cb-file>`
4324
+ )}` : w`<div class="cb-message-text">
4309
4325
  ${Pt(
4310
- Ht(((t = a.data.text) == null ? void 0 : t.toString()) || "").then((c) => x`${c}`)
4326
+ Ht(((t = a.data.text) == null ? void 0 : t.toString()) || "").then((c) => w`${c}`)
4311
4327
  )}
4312
4328
  </div>`;
4313
4329
  }
4314
4330
  renderBotMessageAvatar(a) {
4315
4331
  if (a.data.userName && a.data.userName !== "") {
4316
4332
  const t = a.data.userAvatar || "";
4317
- return x` <img src="${t}" style="width: 24px;height: 24px;" /> `;
4333
+ return w` <img src="${t}" style="width: 24px;height: 24px;" /> `;
4318
4334
  }
4319
4335
  return a.author === "system" ? Qe`${Ee(S.setting.systemIconSvg)}` : Qe`${Ee(S.setting.botIconSvg)}`;
4320
4336
  }
4321
4337
  renderBotMessage(a) {
4322
- return x`
4338
+ return w`
4323
4339
  <div class="cb-message cb-bot-message-wrapper" part="cb-message">
4324
4340
  <div class="avatar assistant-avatar xsmall" style="margin-top:4px;">${this.renderBotMessageAvatar(a)}</div>
4325
4341
  <div style="margin-left: 4px;width: 100%">${this.renderMessage(a)}</div>
@@ -4327,7 +4343,7 @@ let Me = class extends Q {
4327
4343
  `;
4328
4344
  }
4329
4345
  renderUserMessage(a) {
4330
- return x`
4346
+ return w`
4331
4347
  <div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
4332
4348
  <!--<sl-avatar class="avatar user-avatar small" label="User">
4333
4349
  <cb-icon slot="icon" svg="${Hc}" color="white"></cb-icon>
@@ -4338,22 +4354,22 @@ let Me = class extends Q {
4338
4354
  `;
4339
4355
  }
4340
4356
  };
4341
- Me.styles = qc;
4357
+ $e.styles = qc;
4342
4358
  De([
4343
4359
  k({ type: Object })
4344
- ], Me.prototype, "message", 2);
4360
+ ], $e.prototype, "message", 2);
4345
4361
  De([
4346
4362
  k({ type: String })
4347
- ], Me.prototype, "type", 2);
4363
+ ], $e.prototype, "type", 2);
4348
4364
  De([
4349
4365
  Nt(".code-block-header__copy")
4350
- ], Me.prototype, "copyBtns", 2);
4366
+ ], $e.prototype, "copyBtns", 2);
4351
4367
  De([
4352
4368
  Nt("img")
4353
- ], Me.prototype, "glightboxImages", 2);
4354
- Me = De([
4355
- W("cb-message")
4356
- ], Me);
4369
+ ], $e.prototype, "glightboxImages", 2);
4370
+ $e = De([
4371
+ Y("cb-message")
4372
+ ], $e);
4357
4373
  var Nc = Object.defineProperty, Fc = Object.getOwnPropertyDescriptor, xe = (a, t, c, i) => {
4358
4374
  for (var s = i > 1 ? void 0 : i ? Fc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
4359
4375
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
@@ -4373,12 +4389,12 @@ let be = class extends Q {
4373
4389
  autoplayVideos: true,
4374
4390
  });*/
4375
4391
  render() {
4376
- return x`
4392
+ return w`
4377
4393
  <div class="cb-message-list" part="cb-message-list">
4378
- ${Ze(
4394
+ ${Ge(
4379
4395
  this.messages,
4380
4396
  (a) => a.id + JSON.stringify(a.data),
4381
- (a) => x`<cb-message .message="${a}"></cb-message>`
4397
+ (a) => w`<cb-message .message="${a}"></cb-message>`
4382
4398
  )}
4383
4399
  ${this.renderActions()} ${this.renderForm()}
4384
4400
  <div id="cb-message-list-bottom-anchor"></div>
@@ -4386,17 +4402,17 @@ let be = class extends Q {
4386
4402
  `;
4387
4403
  }
4388
4404
  renderForm() {
4389
- return this.form ? x` <form class="cb-input-form" part="form" @submit="${this.handleFormSubmit.bind(this)}">
4405
+ return this.form ? w` <form class="cb-input-form" part="form" @submit="${this.handleFormSubmit.bind(this)}">
4390
4406
  <div class="cb-input-form-title">${this.form.title}</div>
4391
- ${Ze(
4407
+ ${Ge(
4392
4408
  this.form.fields,
4393
4409
  (a, t) => t,
4394
4410
  (a) => {
4395
4411
  switch (a.type) {
4396
4412
  case "string":
4397
- return x`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" label="${a.title}" required></sl-input>`;
4413
+ return w`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" label="${a.title}" required></sl-input>`;
4398
4414
  case "email":
4399
- return x`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" type="email" label="${a.title}" required></sl-input>`;
4415
+ return w`<sl-input class="cb-input-form-input" id="${"cb-form-field" + a.name}" name="${a.name}" type="email" label="${a.title}" required></sl-input>`;
4400
4416
  }
4401
4417
  }
4402
4418
  )}
@@ -4439,9 +4455,9 @@ let be = class extends Q {
4439
4455
  <br /><br />
4440
4456
  */
4441
4457
  renderActions() {
4442
- return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : x`
4458
+ return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : w`
4443
4459
  <div class="cb-actions-list">
4444
- ${Ze(
4460
+ ${Ge(
4445
4461
  this.actions,
4446
4462
  (a) => a,
4447
4463
  (a) => this.renderAction(a)
@@ -4484,7 +4500,7 @@ let be = class extends Q {
4484
4500
  i.origin === "https://calendly.com" && i.data.event && i.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(i);
4485
4501
  }), this.calendlyInjected = !0;
4486
4502
  }
4487
- return x`
4503
+ return w`
4488
4504
  <div class="cb-actions-list">
4489
4505
  <div class="cb-action ripple" @click="${this.invokeCalendlyAction.bind(this, a)}">
4490
4506
  <div class="cb-action-icon">
@@ -4501,7 +4517,7 @@ let be = class extends Q {
4501
4517
  `;
4502
4518
  }
4503
4519
  renderLinkAction(a) {
4504
- return x`
4520
+ return w`
4505
4521
  <div class="cb-actions-list">
4506
4522
  <div class="cb-action ripple" @click="${this.invokeLinkAction.bind(this, a)}">
4507
4523
  <div class="cb-action-icon">
@@ -4526,10 +4542,10 @@ xe([
4526
4542
  k({ type: Object })
4527
4543
  ], be.prototype, "form", 2);
4528
4544
  xe([
4529
- qe("#cb-message-list-bottom-anchor")
4545
+ Re("#cb-message-list-bottom-anchor")
4530
4546
  ], be.prototype, "_messageListBottomAnchor", 2);
4531
4547
  xe([
4532
- qe(".cb-input-form")
4548
+ Re(".cb-input-form")
4533
4549
  ], be.prototype, "_inputForm", 2);
4534
4550
  xe([
4535
4551
  Ft({ capture: !1, passive: !0 })
@@ -4538,7 +4554,7 @@ xe([
4538
4554
  Ft({ capture: !1, passive: !0 })
4539
4555
  ], be.prototype, "invokeCalendlyAction", 1);
4540
4556
  be = xe([
4541
- W("cb-message-list")
4557
+ Y("cb-message-list")
4542
4558
  ], be);
4543
4559
  const Uc = U`
4544
4560
  ${he}
@@ -4584,7 +4600,7 @@ const Uc = U`
4584
4600
  padding: 0 5px;
4585
4601
  }
4586
4602
  `, Wc = '<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.76l7.494-7.493Z"/></svg>', Yc = '<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>';
4587
- var Xc = Object.defineProperty, Zc = Object.getOwnPropertyDescriptor, pe = (a, t, c, i) => {
4603
+ var Xc = Object.defineProperty, Zc = Object.getOwnPropertyDescriptor, ge = (a, t, c, i) => {
4588
4604
  for (var s = i > 1 ? void 0 : i ? Zc(t, c) : t, f = a.length - 1, b; f >= 0; f--)
4589
4605
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
4590
4606
  return i && s && Xc(t, c, s), s;
@@ -4628,7 +4644,7 @@ let fe = class extends Q {
4628
4644
  });
4629
4645
  }
4630
4646
  render() {
4631
- return x`
4647
+ return w`
4632
4648
  <div class="cb-user-input-wrapper" part="user-input-wrapper">
4633
4649
  <sl-textarea
4634
4650
  @sl-input=${this._inputChangeHandler}
@@ -4645,16 +4661,16 @@ let fe = class extends Q {
4645
4661
  ></sl-textarea>
4646
4662
 
4647
4663
  <span class="cb-input-buttons">
4648
- ${ve(
4664
+ ${ue(
4649
4665
  this.enableFileUpload,
4650
- () => x`
4666
+ () => w`
4651
4667
  <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="large" class="paperclip-button" variant="text" circle>
4652
4668
  <cb-icon svg="${Yc}"></cb-icon>
4653
4669
  <!-- select file input -->
4654
4670
  <input type="file" id="file" name="file" class="file-input" />
4655
4671
  </sl-button>
4656
4672
  `,
4657
- () => x``
4673
+ () => w``
4658
4674
  )}
4659
4675
  <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>
4660
4676
  <cb-icon svg="${Wc}"></cb-icon>
@@ -4668,32 +4684,32 @@ let fe = class extends Q {
4668
4684
  }
4669
4685
  };
4670
4686
  fe.styles = Uc;
4671
- pe([
4687
+ ge([
4672
4688
  k({ type: String, attribute: "placeholder" })
4673
4689
  ], fe.prototype, "placeholder", 2);
4674
- pe([
4690
+ ge([
4675
4691
  k({ type: String, attribute: "send-button-label" })
4676
4692
  ], fe.prototype, "sendButtonLabel", 2);
4677
- pe([
4693
+ ge([
4678
4694
  k({ type: Boolean, attribute: "enable-file-upload" })
4679
4695
  ], fe.prototype, "enableFileUpload", 2);
4680
- pe([
4696
+ ge([
4681
4697
  k({ type: String })
4682
4698
  ], fe.prototype, "value", 2);
4683
- pe([
4699
+ ge([
4684
4700
  k({ type: Boolean })
4685
4701
  ], fe.prototype, "loading", 2);
4686
- pe([
4702
+ ge([
4687
4703
  k({ type: Boolean })
4688
4704
  ], fe.prototype, "disabled", 2);
4689
- pe([
4705
+ ge([
4690
4706
  k({ type: String })
4691
4707
  ], fe.prototype, "currentKey", 2);
4692
- pe([
4693
- qe("sl-textarea")
4708
+ ge([
4709
+ Re("sl-textarea")
4694
4710
  ], fe.prototype, "inputElement", 2);
4695
- fe = pe([
4696
- W("cb-user-input")
4711
+ fe = ge([
4712
+ Y("cb-user-input")
4697
4713
  ], fe);
4698
4714
  const Gc = U`
4699
4715
  ${he}
@@ -4743,7 +4759,7 @@ let Le = class extends Q {
4743
4759
  this.emit("cancel");
4744
4760
  }
4745
4761
  render() {
4746
- return x` <sl-dialog
4762
+ return w` <sl-dialog
4747
4763
  label="Setting"
4748
4764
  class="cb-dialog"
4749
4765
  style="sl-dialog::part(base) { z-index: ${this.zindex}; }"
@@ -4753,7 +4769,7 @@ let Le = class extends Q {
4753
4769
  >
4754
4770
  <header class="cb-header">
4755
4771
  <div class="cb-header__left">
4756
- ${this.label ? x`<span class="title">${this.label}</span>` : ""}
4772
+ ${this.label ? w`<span class="title">${this.label}</span>` : ""}
4757
4773
  </div>
4758
4774
  <sl-button
4759
4775
  @click=${this._settingCancelHandler}
@@ -4790,7 +4806,7 @@ dt([
4790
4806
  k({ type: Number })
4791
4807
  ], Le.prototype, "zindex", 2);
4792
4808
  Le = dt([
4793
- W("cb-dialog")
4809
+ Y("cb-dialog")
4794
4810
  ], Le);
4795
4811
  var Qc = Object.defineProperty, ei = Object.getOwnPropertyDescriptor, ta = (a, t, c, i) => {
4796
4812
  for (var s = i > 1 ? void 0 : i ? ei(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -4802,7 +4818,7 @@ let ct = class extends Q {
4802
4818
  super(...arguments), this.open = !1;
4803
4819
  }
4804
4820
  render() {
4805
- return x` <cb-dialog
4821
+ return w` <cb-dialog
4806
4822
  label="Confirm"
4807
4823
  class="cb-clear-message-dialog"
4808
4824
  ?open=${this.open}
@@ -4843,7 +4859,7 @@ ta([
4843
4859
  k({ type: Boolean })
4844
4860
  ], ct.prototype, "open", 2);
4845
4861
  ct = ta([
4846
- W("cb-clear-message-dialog")
4862
+ Y("cb-clear-message-dialog")
4847
4863
  ], ct);
4848
4864
  const ti = U`
4849
4865
  :host {
@@ -4915,7 +4931,7 @@ let we = class extends Q {
4915
4931
  super(...arguments), this.open = !1, this.clearMessageDialogOpen = !1, this.customRequest = !1;
4916
4932
  }
4917
4933
  render() {
4918
- return this.customRequest = this.setting.customRequest, x`
4934
+ return this.customRequest = this.setting.customRequest, w`
4919
4935
  <cb-dialog
4920
4936
  label="Setting"
4921
4937
  class="cb-dialog"
@@ -4949,7 +4965,7 @@ let we = class extends Q {
4949
4965
  Enable it for your own backend.
4950
4966
  </sl-switch>
4951
4967
  </div> -->
4952
- ${ve(
4968
+ ${ue(
4953
4969
  this.customRequest,
4954
4970
  () => null,
4955
4971
  () => this.renderInternalServices()
@@ -5008,7 +5024,7 @@ let we = class extends Q {
5008
5024
  `;
5009
5025
  }
5010
5026
  renderInternalServices() {
5011
- return x`
5027
+ return w`
5012
5028
  <div class="form-item">
5013
5029
  <label class="label">Service</label>
5014
5030
  <sl-radio-group name="openai" value="openai" size="small">
@@ -5084,13 +5100,13 @@ Pe([
5084
5100
  k({ type: Boolean })
5085
5101
  ], we.prototype, "clearMessageDialogOpen", 2);
5086
5102
  Pe([
5087
- qe("sl-dialog")
5103
+ Re("sl-dialog")
5088
5104
  ], we.prototype, "dialog", 2);
5089
5105
  Pe([
5090
5106
  k({ type: Boolean })
5091
5107
  ], we.prototype, "customRequest", 2);
5092
5108
  we = Pe([
5093
- W("cb-setting")
5109
+ Y("cb-setting")
5094
5110
  ], we);
5095
5111
  const ii = U`
5096
5112
  ${he}
@@ -5210,23 +5226,23 @@ let it = class extends Q {
5210
5226
  console.log("engage close clicked!"), S.suppressEngagePopup(), a.stopPropagation();
5211
5227
  }
5212
5228
  render() {
5213
- return x`
5229
+ return w`
5214
5230
  <div class="cb-anchor ${this.open ? "open" : ""}" part="cb-anchor" @click=${this._clickHandler.bind(this)}>
5215
5231
  <sl-popup placement="top-end" distance="16" ?active="${S.engage && !S.open}">
5216
5232
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="icon anchor-button" circle>
5217
- ${ve(
5233
+ ${ue(
5218
5234
  this.open,
5219
- () => x`<cb-icon color="white" svg="${et}"></cb-icon>`,
5220
- () => x`<cb-icon color="white" svg="${ni}"></cb-icon>`
5235
+ () => w`<cb-icon color="white" svg="${et}"></cb-icon>`,
5236
+ () => w`<cb-icon color="white" svg="${ni}"></cb-icon>`
5221
5237
  )}
5222
5238
  </sl-button>
5223
5239
  <div class="cb-engage-popup">
5224
5240
  <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${Qe`${Ee(et)}`}</div>
5225
5241
  <div class="cb-engage-popup-content">
5226
- ${ve(
5242
+ ${ue(
5227
5243
  S.setting.logoUrl !== "",
5228
- () => x`<img class="cb-engage-popup-img" src="${S.setting.logoUrl}" />`,
5229
- () => x`<div class="cb-engage-popup-logo">${Qe`${Ee(S.setting.logoSvg)}`}</div>`
5244
+ () => w`<img class="cb-engage-popup-img" src="${S.setting.logoUrl}" />`,
5245
+ () => w`<div class="cb-engage-popup-logo">${Qe`${Ee(S.setting.logoSvg)}`}</div>`
5230
5246
  )}
5231
5247
  <!--<cb-icon class="cb-engage-popup-logo" svg="${S.setting.logoSvg}"></cb-icon>-->
5232
5248
  <div>${S.setting.engageMessage}</div>
@@ -5242,7 +5258,7 @@ aa([
5242
5258
  k({ type: Boolean })
5243
5259
  ], it.prototype, "open", 2);
5244
5260
  it = aa([
5245
- W("cb-anchor")
5261
+ Y("cb-anchor")
5246
5262
  ], it);
5247
5263
  const ri = U`
5248
5264
  ${he}
@@ -5280,7 +5296,7 @@ let nt = class extends Q {
5280
5296
  }
5281
5297
  render() {
5282
5298
  const { variant: a, icon: t } = qt[this.status] || qt.info;
5283
- return x`<cb-icon svg=${t} color="${a}"></cb-icon>`;
5299
+ return w`<cb-icon svg=${t} color="${a}"></cb-icon>`;
5284
5300
  }
5285
5301
  };
5286
5302
  nt.styles = Kt;
@@ -5288,7 +5304,7 @@ ca([
5288
5304
  k({ type: String })
5289
5305
  ], nt.prototype, "status", 2);
5290
5306
  nt = ca([
5291
- W("cb-status-icon")
5307
+ Y("cb-status-icon")
5292
5308
  ], nt);
5293
5309
  var ui = Object.defineProperty, pi = Object.getOwnPropertyDescriptor, gi = (a, t, c, i) => {
5294
5310
  for (var s = i > 1 ? void 0 : i ? pi(t, c) : t, f = a.length - 1, b; f >= 0; f--)
@@ -5297,7 +5313,7 @@ var ui = Object.defineProperty, pi = Object.getOwnPropertyDescriptor, gi = (a, t
5297
5313
  };
5298
5314
  let vt = class extends Q {
5299
5315
  render() {
5300
- return x` <sl-alert variant="danger" open>
5316
+ return w` <sl-alert variant="danger" open>
5301
5317
  <cb-status-icon status="error" slot="icon"></cb-status-icon>
5302
5318
  Please config openai api key in the settings.
5303
5319
  <span
@@ -5313,12 +5329,12 @@ let vt = class extends Q {
5313
5329
  };
5314
5330
  vt.styles = ri;
5315
5331
  vt = gi([
5316
- W("cb-auth-alert")
5332
+ Y("cb-auth-alert")
5317
5333
  ], vt);
5318
- class Dt extends Error {
5334
+ class Rt extends Error {
5319
5335
  constructor(t, c, i) {
5320
- const s = t.status || t.status === 0 ? t.status : "", f = t.statusText || "", b = `${s} ${f}`.trim(), w = b ? `status code ${b}` : "an unknown error";
5321
- super(`Request failed with ${w}`), Object.defineProperty(this, "response", {
5336
+ const s = t.status || t.status === 0 ? t.status : "", f = t.statusText || "", b = `${s} ${f}`.trim(), x = b ? `status code ${b}` : "an unknown error";
5337
+ super(`Request failed with ${x}`), Object.defineProperty(this, "response", {
5322
5338
  enumerable: !0,
5323
5339
  configurable: !0,
5324
5340
  writable: !0,
@@ -5346,9 +5362,9 @@ class ia extends Error {
5346
5362
  }), this.name = "TimeoutError", this.request = t;
5347
5363
  }
5348
5364
  }
5349
- const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5365
+ const Je = (a) => a !== null && typeof a == "object", Ze = (...a) => {
5350
5366
  for (const t of a)
5351
- if ((!Ke(t) || Array.isArray(t)) && typeof t < "u")
5367
+ if ((!Je(t) || Array.isArray(t)) && typeof t < "u")
5352
5368
  throw new TypeError("The `options` argument must be an object");
5353
5369
  return St({}, ...a);
5354
5370
  }, na = (a = {}, t = {}) => {
@@ -5361,10 +5377,10 @@ const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5361
5377
  for (const i of a)
5362
5378
  if (Array.isArray(i))
5363
5379
  Array.isArray(t) || (t = []), t = [...t, ...i];
5364
- else if (Ke(i)) {
5380
+ else if (Je(i)) {
5365
5381
  for (let [s, f] of Object.entries(i))
5366
- Ke(f) && s in t && (f = St(t[s], f)), t = { ...t, [s]: f };
5367
- Ke(i.headers) && (c = na(c, i.headers), t.headers = c);
5382
+ Je(f) && s in t && (f = St(t[s], f)), t = { ...t, [s]: f };
5383
+ Je(i.headers) && (c = na(c, i.headers), t.headers = c);
5368
5384
  }
5369
5385
  return t;
5370
5386
  }, mi = (() => {
@@ -5384,7 +5400,7 @@ const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5384
5400
  formData: "multipart/form-data",
5385
5401
  arrayBuffer: "*/*",
5386
5402
  blob: "*/*"
5387
- }, pt = 2147483647, oa = Symbol("stop"), ki = (a) => sa.includes(a) ? a.toUpperCase() : a, _i = ["get", "put", "head", "delete", "options", "trace"], Si = [408, 413, 429, 500, 502, 503, 504], ra = [413, 429, 503], Rt = {
5403
+ }, pt = 2147483647, oa = Symbol("stop"), ki = (a) => sa.includes(a) ? a.toUpperCase() : a, _i = ["get", "put", "head", "delete", "options", "trace"], Si = [408, 413, 429, 500, 502, 503, 504], ra = [413, 429, 503], Dt = {
5388
5404
  limit: 2,
5389
5405
  methods: _i,
5390
5406
  statusCodes: Si,
@@ -5394,7 +5410,7 @@ const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5394
5410
  }, Ci = (a = {}) => {
5395
5411
  if (typeof a == "number")
5396
5412
  return {
5397
- ...Rt,
5413
+ ...Dt,
5398
5414
  limit: a
5399
5415
  };
5400
5416
  if (a.methods && !Array.isArray(a.methods))
@@ -5402,7 +5418,7 @@ const Ke = (a) => a !== null && typeof a == "object", Xe = (...a) => {
5402
5418
  if (a.statusCodes && !Array.isArray(a.statusCodes))
5403
5419
  throw new Error("retry.statusCodes must be an array");
5404
5420
  return {
5405
- ...Rt,
5421
+ ...Dt,
5406
5422
  ...a,
5407
5423
  afterStatusCodes: ra
5408
5424
  };
@@ -5448,15 +5464,15 @@ class st {
5448
5464
  if (i._options.timeout > pt)
5449
5465
  throw new RangeError(`The \`timeout\` option cannot be greater than ${pt}`);
5450
5466
  await Promise.resolve();
5451
- let w = await i._fetch();
5467
+ let x = await i._fetch();
5452
5468
  for (const _ of i._options.hooks.afterResponse) {
5453
- const R = await _(i.request, i._options, i._decorateResponse(w.clone()));
5454
- R instanceof globalThis.Response && (w = R);
5469
+ const V = await _(i.request, i._options, i._decorateResponse(x.clone()));
5470
+ V instanceof globalThis.Response && (x = V);
5455
5471
  }
5456
- if (i._decorateResponse(w), !w.ok && i._options.throwHttpErrors) {
5457
- let _ = new Dt(w, i.request, i._options);
5458
- for (const R of i._options.hooks.beforeError)
5459
- _ = await R(_);
5472
+ if (i._decorateResponse(x), !x.ok && i._options.throwHttpErrors) {
5473
+ let _ = new Rt(x, i.request, i._options);
5474
+ for (const V of i._options.hooks.beforeError)
5475
+ _ = await V(_);
5460
5476
  throw _;
5461
5477
  }
5462
5478
  if (i._options.onDownloadProgress) {
@@ -5464,21 +5480,21 @@ class st {
5464
5480
  throw new TypeError("The `onDownloadProgress` option must be a function");
5465
5481
  if (!vi)
5466
5482
  throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
5467
- return i._stream(w.clone(), i._options.onDownloadProgress);
5483
+ return i._stream(x.clone(), i._options.onDownloadProgress);
5468
5484
  }
5469
- return w;
5485
+ return x;
5470
5486
  }, b = i._options.retry.methods.includes(i.request.method.toLowerCase()) ? i._retry(s) : s();
5471
- for (const [w, _] of Object.entries(xi))
5472
- b[w] = async () => {
5487
+ for (const [x, _] of Object.entries(xi))
5488
+ b[x] = async () => {
5473
5489
  i.request.headers.set("accept", i.request.headers.get("accept") || _);
5474
5490
  const j = (await b).clone();
5475
- if (w === "json") {
5491
+ if (x === "json") {
5476
5492
  if (j.status === 204 || (await j.clone().arrayBuffer()).byteLength === 0)
5477
5493
  return "";
5478
5494
  if (c.parseJson)
5479
5495
  return c.parseJson(await j.text());
5480
5496
  }
5481
- return j[w]();
5497
+ return j[x]();
5482
5498
  };
5483
5499
  return b;
5484
5500
  }
@@ -5551,7 +5567,7 @@ class st {
5551
5567
  }
5552
5568
  _calculateRetryDelay(t) {
5553
5569
  if (this._retryCount++, this._retryCount < this._options.retry.limit && !(t instanceof ia)) {
5554
- if (t instanceof Dt) {
5570
+ if (t instanceof Rt) {
5555
5571
  if (!this._options.retry.statusCodes.includes(t.response.status))
5556
5572
  return 0;
5557
5573
  const i = t.response.headers.get("Retry-After");
@@ -5614,20 +5630,20 @@ class st {
5614
5630
  async start(f) {
5615
5631
  const b = t.body.getReader();
5616
5632
  c && c({ percent: 0, transferredBytes: 0, totalBytes: i }, new Uint8Array());
5617
- async function w() {
5618
- const { done: _, value: R } = await b.read();
5633
+ async function x() {
5634
+ const { done: _, value: V } = await b.read();
5619
5635
  if (_) {
5620
5636
  f.close();
5621
5637
  return;
5622
5638
  }
5623
5639
  if (c) {
5624
- s += R.byteLength;
5640
+ s += V.byteLength;
5625
5641
  const j = i === 0 ? 0 : s / i;
5626
- c({ percent: j, transferredBytes: s, totalBytes: i }, R);
5642
+ c({ percent: j, transferredBytes: s, totalBytes: i }, V);
5627
5643
  }
5628
- f.enqueue(R), await w();
5644
+ f.enqueue(V), await x();
5629
5645
  }
5630
- await w();
5646
+ await x();
5631
5647
  }
5632
5648
  }), {
5633
5649
  status: t.status,
@@ -5638,11 +5654,11 @@ class st {
5638
5654
  }
5639
5655
  /*! MIT License © Sindre Sorhus */
5640
5656
  const wt = (a) => {
5641
- const t = (c, i) => st.create(c, Xe(a, i));
5657
+ const t = (c, i) => st.create(c, Ze(a, i));
5642
5658
  for (const c of sa)
5643
- t[c] = (i, s) => st.create(i, Xe(a, s, { method: c }));
5644
- return t.create = (c) => wt(Xe(c)), t.extend = (c) => wt(Xe(a, c)), t.stop = oa, t;
5645
- }, Mi = wt(), $i = Mi, Ii = $i.extend({
5659
+ t[c] = (i, s) => st.create(i, Ze(a, s, { method: c }));
5660
+ return t.create = (c) => wt(Ze(c)), t.extend = (c) => wt(Ze(a, c)), t.stop = oa, t;
5661
+ }, $i = wt(), Mi = $i, Ii = Mi.extend({
5646
5662
  hooks: {
5647
5663
  beforeRequest: [
5648
5664
  () => {
@@ -5651,17 +5667,17 @@ const wt = (a) => {
5651
5667
  }
5652
5668
  });
5653
5669
  async function ji(a, t) {
5654
- const { onmessage: c, onclose: i, ...s } = t, f = async (b, w) => {
5655
- const { value: _, done: R } = await w.read();
5656
- R ? (b.close(), i == null || i()) : (c == null || c(_), b.enqueue(_), f(b, w));
5670
+ const { onmessage: c, onclose: i, ...s } = t, f = async (b, x) => {
5671
+ const { value: _, done: V } = await x.read();
5672
+ V ? (b.close(), i == null || i()) : (c == null || c(_), b.enqueue(_), f(b, x));
5657
5673
  };
5658
5674
  return s.body && typeof s.body == "object" && (s.body = JSON.stringify(s.body)), console.log("Fetching:", s), fetch(a, s).then((b) => {
5659
- const w = b.body.getReader();
5675
+ const x = b.body.getReader();
5660
5676
  return new ReadableStream({
5661
- start(R) {
5677
+ start(V) {
5662
5678
  f(
5663
- R,
5664
- w
5679
+ V,
5680
+ x
5665
5681
  );
5666
5682
  }
5667
5683
  });
@@ -5688,13 +5704,13 @@ async function Oi(a, t) {
5688
5704
  };
5689
5705
  }
5690
5706
  }
5691
- var Li = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, V = (a, t, c, i) => {
5707
+ var Li = Object.defineProperty, Pi = Object.getOwnPropertyDescriptor, D = (a, t, c, i) => {
5692
5708
  for (var s = i > 1 ? void 0 : i ? Pi(t, c) : t, f = a.length - 1, b; f >= 0; f--)
5693
5709
  (b = a[f]) && (s = (i ? b(t, c, s) : b(s)) || s);
5694
5710
  return i && s && Li(t, c, s), s;
5695
5711
  };
5696
- const Je = ft.noConflict();
5697
- Je.setLevel("info");
5712
+ const ze = ft.noConflict();
5713
+ ze.setLevel("info");
5698
5714
  let q = class extends Q {
5699
5715
  constructor() {
5700
5716
  super(...arguments), this.store = new Wt(this, S), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoUrl = "", this.logoSvg = ` <svg width="24" height="24" viewBox="0 0 40 40">
@@ -5703,7 +5719,7 @@ let q = class extends Q {
5703
5719
  fill="#E24D42"
5704
5720
  ></path>
5705
5721
  </svg>
5706
- `, 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.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.fetchStream = ji;
5722
+ `, 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.stream = !1, this.customRequest = !1, this.enableFileUpload = !1, this.uploadFileUrl = "", this.open = !1, this.alwaysOpen = !1, this.loading = !1, this.showSetting = !1, this.showAuthAlert = !1, this.fetchStream = ji;
5707
5723
  }
5708
5724
  //HTMLElement;
5709
5725
  /**
@@ -5733,7 +5749,7 @@ let q = class extends Q {
5733
5749
  return S.addMessage(c), c;
5734
5750
  }
5735
5751
  render() {
5736
- return S.disabled ? (Je.error("Bot is disabled"), null) : x`
5752
+ return S.disabled && !this.alwaysOpen ? (ze.error("Bot is disabled"), null) : w`
5737
5753
  <div class="cb-wrapper" style="${S.open ? "display:flex" : "display:none"}">
5738
5754
  <cb-header title="${this.name}" exportparts="header"></cb-header>
5739
5755
  <cb-message-list .messages=${S.messages} .actions=${S.actions} .form=${S.form} exportparts="form"></cb-message-list>
@@ -5743,10 +5759,10 @@ let q = class extends Q {
5743
5759
  `;
5744
5760
  }
5745
5761
  renderUserInput() {
5746
- return S.form ? null : x`<cb-user-input ?loading=${this.loading} ?disabled=${this.loading || S.form} ?enable-file-upload=${this.enableFileUpload}></cb-user-input>`;
5762
+ return S.form || S.disabled && this.alwaysOpen ? null : w`<cb-user-input ?loading=${this.loading} ?disabled=${this.loading || S.form} ?enable-file-upload=${this.enableFileUpload}></cb-user-input>`;
5747
5763
  }
5748
5764
  connectedCallback() {
5749
- super.connectedCallback(), Je.info("connectedCallback"), addEventListener("setting:show", () => {
5765
+ super.connectedCallback(), ze.info("connectedCallback"), addEventListener("setting:show", () => {
5750
5766
  this.showSetting = !0;
5751
5767
  }), addEventListener("message:send", this._addMessageHandler.bind(this)), addEventListener("message:remove", this._deleteMessageHandler.bind(this)), addEventListener("setting:confirm", this._settingConfirmHandler.bind(this)), addEventListener("setting:hide", () => {
5752
5768
  this.showSetting = !1;
@@ -5763,14 +5779,15 @@ let q = class extends Q {
5763
5779
  // Use to initialize
5764
5780
  // This is also called when state changes - ??? - i.e. when message added to the array
5765
5781
  updated(a) {
5766
- super.updated(a), a.size > 0 && (Je.info("updated,_changedProperties:", a), this._initSetting()), setTimeout(() => {
5782
+ super.updated(a), a.size > 0 && (ze.info("updated,_changedProperties:", a), this._initSetting()), setTimeout(() => {
5767
5783
  this._scrollToBottom();
5768
5784
  }, 0);
5769
5785
  }
5770
5786
  // initialize setting
5771
5787
  _initSetting() {
5788
+ ze.info("_initSetting");
5772
5789
  const a = S.setting;
5773
- a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, S.setSetting(a);
5790
+ a.orgId = this.orgId, a.botId = this.botId, a.url = this.url, a.logoUrl = this.logoUrl, a.logoSvg = this.logoSvg, a.botIconSvg = this.botIconSvg, a.userIconSvg = this.userIconSvg, a.systemIconSvg = this.systemIconSvg, S.setSetting(a), this.open && (S.open = !0), this.alwaysOpen && (S.open = !0, S.alwaysOpen = !0);
5774
5791
  }
5775
5792
  setLoading(a) {
5776
5793
  this.loading = a;
@@ -5778,78 +5795,12 @@ let q = class extends Q {
5778
5795
  clearConversation() {
5779
5796
  S.clearConversation();
5780
5797
  }
5798
+ setOpen(a = !1) {
5799
+ S.open = a;
5800
+ }
5781
5801
  // check auth
5782
5802
  _checkAuth() {
5783
5803
  }
5784
- /*
5785
- private async _sendToOpenai(newMsg: Chatbot.NewMessage, messages: Chatbot.OpenaiMessage[]) {
5786
- let text = '';
5787
- const apiBase = appState.setting.openai.apiBase || 'https://api.openai.com/v1';
5788
- const data = await openai.chat({
5789
- url: `${apiBase}/chat/completions`,
5790
- apiKey: appState.setting.openai.apiKey,
5791
- messages: messages,
5792
- options: {
5793
- stream: appState.setting.stream,
5794
- model: appState.setting.openai.model,
5795
- // temperature: 0.9,
5796
- },
5797
- onMessage: (err, data) => {
5798
- if (err) {
5799
- console.error(err);
5800
- return;
5801
- }
5802
- if (data && data.choices[0].delta?.content) {
5803
- requestIdleCallback(() => {
5804
- // handle openai response
5805
- text += data.choices[0].delta.content;
5806
- // update message
5807
- appState.updateMessage(newMsg, text);
5808
- });
5809
- }
5810
- },
5811
- });
5812
- if (!appState.setting.stream && data) {
5813
- // update message
5814
- appState.updateMessage(newMsg, data.choices[0].message.content);
5815
- }
5816
- }
5817
- */
5818
- /*
5819
- private async _sendHandler(messages: Chatbot.OpenaiMessage[]) {
5820
- this.setLoading(true);
5821
-
5822
- const newMsg: Chatbot.NewMessage = {
5823
- author: 'assistant',
5824
- type: 'text',
5825
- isThinking: true,
5826
- data: {},
5827
- };
5828
-
5829
- // add message to store
5830
- appState.addMessage(newMsg);
5831
-
5832
- if (this.customRequest) {
5833
- await this.emit('chatbot:send', {
5834
- detail: {
5835
- newMessage: newMsg,
5836
- messages,
5837
- },
5838
- bubbles: true,
5839
- composed: true,
5840
- });
5841
- } else {
5842
- try {
5843
- await this._sendToOpenai(newMsg, messages);
5844
- } catch (err) {
5845
- notify('error', (err as Error).message);
5846
- console.error(err);
5847
- }
5848
- }
5849
-
5850
- this.setLoading(false);
5851
- }
5852
- */
5853
5804
  _addMessageHandler(a) {
5854
5805
  const t = a.detail;
5855
5806
  S.sendMessage(t);
@@ -5900,65 +5851,68 @@ let q = class extends Q {
5900
5851
  }
5901
5852
  };
5902
5853
  q.styles = Pa;
5903
- V([
5854
+ D([
5904
5855
  k({ type: Boolean, attribute: "display-license" })
5905
5856
  ], q.prototype, "displayLicense", 2);
5906
- V([
5857
+ D([
5907
5858
  k({ type: String, attribute: "name" })
5908
5859
  ], q.prototype, "name", 2);
5909
- V([
5860
+ D([
5910
5861
  k({ type: String, attribute: "org-id" })
5911
5862
  ], q.prototype, "orgId", 2);
5912
- V([
5863
+ D([
5913
5864
  k({ type: String, attribute: "bot-id" })
5914
5865
  ], q.prototype, "botId", 2);
5915
- V([
5866
+ D([
5916
5867
  k({ type: String, attribute: "url" })
5917
5868
  ], q.prototype, "url", 2);
5918
- V([
5869
+ D([
5919
5870
  k({ type: String, attribute: "logo-url" })
5920
5871
  ], q.prototype, "logoUrl", 2);
5921
- V([
5872
+ D([
5922
5873
  k({ type: String, attribute: "logo-svg" })
5923
5874
  ], q.prototype, "logoSvg", 2);
5924
- V([
5875
+ D([
5925
5876
  k({ type: String, attribute: "bot-icon-svg" })
5926
5877
  ], q.prototype, "botIconSvg", 2);
5927
- V([
5878
+ D([
5928
5879
  k({ type: String, attribute: "user-icon-svg" })
5929
5880
  ], q.prototype, "userIconSvg", 2);
5930
- V([
5881
+ D([
5931
5882
  k({ type: String, attribute: "system-icon-svg" })
5932
5883
  ], q.prototype, "systemIconSvg", 2);
5933
- V([
5884
+ D([
5934
5885
  k({ type: Boolean, attribute: "stream" })
5935
5886
  ], q.prototype, "stream", 2);
5936
- V([
5887
+ D([
5937
5888
  k({ type: Boolean, attribute: "custom-request" })
5938
5889
  ], q.prototype, "customRequest", 2);
5939
- V([
5890
+ D([
5940
5891
  k({ type: Boolean, attribute: "enable-file-upload" })
5941
5892
  ], q.prototype, "enableFileUpload", 2);
5942
- V([
5893
+ D([
5943
5894
  k({ type: String, attribute: "upload-file-url" })
5944
5895
  ], q.prototype, "uploadFileUrl", 2);
5945
- V([
5896
+ D([
5946
5897
  k({ type: Boolean, attribute: "open" })
5947
5898
  ], q.prototype, "open", 2);
5948
- V([
5899
+ D([
5900
+ k({ type: Boolean, attribute: "always-open" })
5901
+ ], q.prototype, "alwaysOpen", 2);
5902
+ D([
5949
5903
  k({ type: Boolean })
5950
5904
  ], q.prototype, "loading", 2);
5951
- V([
5905
+ D([
5952
5906
  k({ type: Boolean })
5953
5907
  ], q.prototype, "showSetting", 2);
5954
- V([
5908
+ D([
5955
5909
  k({ type: Boolean })
5956
5910
  ], q.prototype, "showAuthAlert", 2);
5957
- V([
5958
- qe("cb-message-list")
5911
+ D([
5912
+ Re("cb-message-list")
5959
5913
  ], q.prototype, "_messageList", 2);
5960
- q = V([
5961
- W("enegelai-bot")
5914
+ q = D([
5915
+ Y("enegelai-bot")
5962
5916
  ], q);
5963
5917
  export {
5964
5918
  q as default