@enegelai/bot-widget 1.2.4 → 1.2.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,9 +1,9 @@
1
- var dt = Object.defineProperty;
2
- var pt = (t, e, o) => e in t ? dt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o;
3
- var $ = (t, e, o) => (pt(t, typeof e != "symbol" ? e + "" : e, o), o);
4
- import { css as x, LitElement as le, html as c, svg as He } from "lit";
5
- import { property as l, customElement as k, queryAll as ht, query as ce, eventOptions as qe } from "lit/decorators.js";
6
- import { unsafeHTML as N } from "lit-html/directives/unsafe-html.js";
1
+ var ic = Object.defineProperty;
2
+ var lc = (c, e, a) => e in c ? ic(c, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : c[e] = a;
3
+ var j = (c, e, a) => (lc(c, typeof e != "symbol" ? e + "" : e, a), a);
4
+ import { css as x, LitElement as ie, html as s, svg as ae } from "lit";
5
+ import { property as r, customElement as k, queryAll as pc, query as le, eventOptions as qe } from "lit/decorators.js";
6
+ import { unsafeHTML as B } from "lit-html/directives/unsafe-html.js";
7
7
  import "@shoelace-style/shoelace/dist/themes/light.css";
8
8
  import "@shoelace-style/shoelace/dist/themes/dark.css";
9
9
  import "@shoelace-style/shoelace/dist/components/button/button.js";
@@ -21,42 +21,42 @@ import "@shoelace-style/shoelace/dist/components/switch/switch.js";
21
21
  import "@shoelace-style/shoelace/dist/components/tooltip/tooltip.js";
22
22
  import "@shoelace-style/shoelace/dist/components/spinner/spinner.js";
23
23
  import "@shoelace-style/shoelace/dist/components/alert/alert.js";
24
- import { repeat as ye } from "lit/directives/repeat.js";
25
- import { when as R } from "lit/directives/when.js";
24
+ import { repeat as we } from "lit/directives/repeat.js";
25
+ import { when as D } from "lit/directives/when.js";
26
26
  import { until as Ie } from "lit-html/directives/until.js";
27
- import ut from "markdown-it";
28
- import gt from "markdown-it-link-attributes";
27
+ import hc from "markdown-it";
28
+ import uc from "markdown-it-link-attributes";
29
29
  import "@shoelace-style/shoelace/dist/components/popup/popup.js";
30
- function De(t) {
31
- return typeof t == "function" ? t() : t;
30
+ function De(c) {
31
+ return typeof c == "function" ? c() : c;
32
32
  }
33
- const ie = class ie extends Event {
33
+ const ne = class ne extends Event {
34
34
  /**
35
35
  * @param {string} key of the state that has changed
36
36
  * @param {unknown} value for the changed key
37
37
  */
38
- constructor(o, a, r) {
39
- super(ie.eventName, {
38
+ constructor(a, f, t) {
39
+ super(ne.eventName, {
40
40
  cancelable: !1
41
41
  });
42
- $(this, "key");
43
- $(this, "state");
44
- $(this, "value");
45
- this.key = o, this.value = a, this.state = r;
42
+ j(this, "key");
43
+ j(this, "state");
44
+ j(this, "value");
45
+ this.key = a, this.value = f, this.state = t;
46
46
  }
47
47
  };
48
- $(ie, "eventName", "lit-state-changed");
49
- let B = ie;
50
- const bt = (t, e) => e !== t && (e === e || t === t);
48
+ j(ne, "eventName", "lit-state-changed");
49
+ let R = ne;
50
+ const gc = (c, e) => e !== c && (e === e || c === c);
51
51
  class X extends EventTarget {
52
52
  constructor() {
53
53
  super();
54
54
  // hold a reference to hooks
55
- $(this, "hookMap", /* @__PURE__ */ new Map());
56
- this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([o, a]) => {
57
- if (a.initialValue !== void 0) {
58
- const r = De(a.initialValue);
59
- this[o] = r, a.value = r;
55
+ j(this, "hookMap", /* @__PURE__ */ new Map());
56
+ this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([a, f]) => {
57
+ if (f.initialValue !== void 0) {
58
+ const t = De(f.initialValue);
59
+ this[a] = t, f.value = t;
60
60
  }
61
61
  });
62
62
  }
@@ -64,31 +64,31 @@ class X extends EventTarget {
64
64
  return this.constructor.propertyMap;
65
65
  }
66
66
  get stateValue() {
67
- return Object.fromEntries([...this.propertyMap].map(([o]) => [o, this[o]]));
67
+ return Object.fromEntries([...this.propertyMap].map(([a]) => [a, this[a]]));
68
68
  }
69
69
  static finalize() {
70
70
  if (this.finalized)
71
71
  return !1;
72
72
  this.finalized = !0;
73
- const o = Object.keys(this.properties || {});
74
- for (const a of o)
75
- this.createProperty(a, this.properties[a]);
73
+ const a = Object.keys(this.properties || {});
74
+ for (const f of a)
75
+ this.createProperty(f, this.properties[f]);
76
76
  return !0;
77
77
  }
78
- static createProperty(o, a) {
78
+ static createProperty(a, f) {
79
79
  this.finalize();
80
- const r = typeof o == "symbol" ? Symbol() : `__${o}`, s = this.getPropertyDescriptor(o, r, a);
81
- Object.defineProperty(this.prototype, o, s);
80
+ const t = typeof a == "symbol" ? Symbol() : `__${a}`, o = this.getPropertyDescriptor(a, t, f);
81
+ Object.defineProperty(this.prototype, a, o);
82
82
  }
83
- static getPropertyDescriptor(o, a, r) {
84
- const s = (r == null ? void 0 : r.hasChanged) || bt;
83
+ static getPropertyDescriptor(a, f, t) {
84
+ const o = (t == null ? void 0 : t.hasChanged) || gc;
85
85
  return {
86
86
  get() {
87
- return this[a];
87
+ return this[f];
88
88
  },
89
- set(n) {
90
- const i = this[o];
91
- this[a] = n, s(n, i) === !0 && this.dispatchStateEvent(o, n, this);
89
+ set(d) {
90
+ const b = this[a];
91
+ this[f] = d, o(d, b) === !0 && this.dispatchStateEvent(a, d, this);
92
92
  },
93
93
  configurable: !0,
94
94
  enumerable: !0
@@ -99,8 +99,8 @@ class X extends EventTarget {
99
99
  * properties marked as skipReset
100
100
  */
101
101
  reset() {
102
- this.hookMap.forEach((o) => o.reset()), [...this.propertyMap].filter(([o, a]) => !(a.skipReset === !0 || a.resetValue === void 0)).forEach(([o, a]) => {
103
- this[o] = a.resetValue;
102
+ this.hookMap.forEach((a) => a.reset()), [...this.propertyMap].filter(([a, f]) => !(f.skipReset === !0 || f.resetValue === void 0)).forEach(([a, f]) => {
103
+ this[a] = f.resetValue;
104
104
  });
105
105
  }
106
106
  /**
@@ -111,31 +111,31 @@ class X extends EventTarget {
111
111
  * @param nameOrNames
112
112
  * @returns a unsubscribe function.
113
113
  */
114
- subscribe(o, a, r) {
115
- a && !Array.isArray(a) && (a = [a]);
116
- const s = (n) => {
117
- (!a || a.includes(n.key)) && o(n.key, n.value, this);
114
+ subscribe(a, f, t) {
115
+ f && !Array.isArray(f) && (f = [f]);
116
+ const o = (d) => {
117
+ (!f || f.includes(d.key)) && a(d.key, d.value, this);
118
118
  };
119
- return this.addEventListener(B.eventName, s, r), () => this.removeEventListener(B.eventName, s);
119
+ return this.addEventListener(R.eventName, o, t), () => this.removeEventListener(R.eventName, o);
120
120
  }
121
- dispatchStateEvent(o, a, r) {
122
- this.dispatchEvent(new B(o, a, r));
121
+ dispatchStateEvent(a, f, t) {
122
+ this.dispatchEvent(new R(a, f, t));
123
123
  }
124
124
  }
125
125
  // a map holding decorators definition.
126
- $(X, "propertyMap"), $(X, "properties"), $(X, "finalized", !1);
127
- class mt {
128
- constructor(e, o, a) {
129
- $(this, "host");
130
- $(this, "state");
131
- $(this, "callback");
132
- this.host = e, this.state = o, this.host.addController(this), this.callback = a || (() => this.host.requestUpdate());
126
+ j(X, "propertyMap"), j(X, "properties"), j(X, "finalized", !1);
127
+ class Fe {
128
+ constructor(e, a, f) {
129
+ j(this, "host");
130
+ j(this, "state");
131
+ j(this, "callback");
132
+ this.host = e, this.state = a, this.host.addController(this), this.callback = f || (() => this.host.requestUpdate());
133
133
  }
134
134
  hostConnected() {
135
- this.state.addEventListener(B.eventName, this.callback), this.callback();
135
+ this.state.addEventListener(R.eventName, this.callback), this.callback();
136
136
  }
137
137
  hostDisconnected() {
138
- this.state.removeEventListener(B.eventName, this.callback);
138
+ this.state.removeEventListener(R.eventName, this.callback);
139
139
  }
140
140
  }
141
141
  /**
@@ -143,212 +143,212 @@ class mt {
143
143
  * Copyright 2017 Google LLC
144
144
  * SPDX-License-Identifier: BSD-3-Clause
145
145
  */
146
- const Fe = ({ finisher: t, descriptor: e }) => (o, a) => {
147
- var r;
148
- if (a === void 0) {
149
- const s = (r = o.originalKey) !== null && r !== void 0 ? r : o.key, n = e != null ? { kind: "method", placement: "prototype", key: s, descriptor: e(o.key) } : { ...o, key: s };
150
- return t != null && (n.finisher = function(i) {
151
- t(i, s);
152
- }), n;
146
+ const Ue = ({ finisher: c, descriptor: e }) => (a, f) => {
147
+ var t;
148
+ if (f === void 0) {
149
+ const o = (t = a.originalKey) !== null && t !== void 0 ? t : a.key, d = e != null ? { kind: "method", placement: "prototype", key: o, descriptor: e(a.key) } : { ...a, key: o };
150
+ return c != null && (d.finisher = function(b) {
151
+ c(b, o);
152
+ }), d;
153
153
  }
154
154
  {
155
- const s = o.constructor;
156
- e !== void 0 && Object.defineProperty(o, a, e(a)), t == null || t(s, a);
155
+ const o = a.constructor;
156
+ e !== void 0 && Object.defineProperty(a, f, e(f)), c == null || c(o, f);
157
157
  }
158
158
  };
159
- function H(t) {
160
- return Fe({
159
+ function O(c) {
160
+ return Ue({
161
161
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
162
- finisher: (e, o) => {
163
- if (Object.getOwnPropertyDescriptor(e.prototype, o))
162
+ finisher: (e, a) => {
163
+ if (Object.getOwnPropertyDescriptor(e.prototype, a))
164
164
  throw new Error("@property must be called before all state decorators");
165
- return e.propertyMap || (e.propertyMap = /* @__PURE__ */ new Map()), e.propertyMap.set(o, { ...t, initialValue: t == null ? void 0 : t.value, resetValue: t == null ? void 0 : t.value }), e.createProperty(o, t);
165
+ return e.propertyMap || (e.propertyMap = /* @__PURE__ */ new Map()), e.propertyMap.set(a, { ...c, initialValue: c == null ? void 0 : c.value, resetValue: c == null ? void 0 : c.value }), e.createProperty(a, c);
166
166
  }
167
167
  });
168
168
  }
169
- function yt(t, e) {
170
- if (t !== null && (e === Boolean || e === Number || e === Array || e === Object))
169
+ function mc(c, e) {
170
+ if (c !== null && (e === Boolean || e === Number || e === Array || e === Object))
171
171
  try {
172
- t = JSON.parse(t);
172
+ c = JSON.parse(c);
173
173
  } catch {
174
- console.warn("cannot parse value", t);
174
+ console.warn("cannot parse value", c);
175
175
  }
176
- return t;
176
+ return c;
177
177
  }
178
178
  new URL(window.location.href);
179
- const ft = {
179
+ const yc = {
180
180
  prefix: "_ls"
181
181
  };
182
- function D(t) {
183
- return t = { ...ft, ...t }, Fe({
182
+ function V(c) {
183
+ return c = { ...yc, ...c }, Ue({
184
184
  // @ts-ignore ctor is typof State and not typeof ReactiveElement
185
- finisher: (e, o) => {
186
- const a = Object.getOwnPropertyDescriptor(e.prototype, o);
187
- if (!a)
185
+ finisher: (e, a) => {
186
+ const f = Object.getOwnPropertyDescriptor(e.prototype, a);
187
+ if (!f)
188
188
  throw new Error("@local-storage decorator need to be called after @property");
189
- const r = `${(t == null ? void 0 : t.prefix) || ""}_${(t == null ? void 0 : t.key) || String(o)}`, s = e.propertyMap.get(o), n = s == null ? void 0 : s.type;
190
- if (s) {
191
- const y = s.initialValue;
192
- s.initialValue = () => yt(localStorage.getItem(r), n) ?? De(y), e.propertyMap.set(o, { ...s, ...t });
189
+ const t = `${(c == null ? void 0 : c.prefix) || ""}_${(c == null ? void 0 : c.key) || String(a)}`, o = e.propertyMap.get(a), d = o == null ? void 0 : o.type;
190
+ if (o) {
191
+ const m = o.initialValue;
192
+ o.initialValue = () => mc(localStorage.getItem(t), d) ?? De(m), e.propertyMap.set(a, { ...o, ...c });
193
193
  }
194
- const i = a == null ? void 0 : a.set, m = {
195
- ...a,
196
- set: function(y) {
197
- y !== void 0 && localStorage.setItem(r, n === Object || n === Array ? JSON.stringify(y) : y), i && i.call(this, y);
194
+ const b = f == null ? void 0 : f.set, g = {
195
+ ...f,
196
+ set: function(m) {
197
+ m !== void 0 && localStorage.setItem(t, d === Object || d === Array ? JSON.stringify(m) : m), b && b.call(this, m);
198
198
  }
199
199
  };
200
- Object.defineProperty(e.prototype, o, m);
200
+ Object.defineProperty(e.prototype, a, g);
201
201
  }
202
202
  });
203
203
  }
204
- var vt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
205
- function wt(t) {
206
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
204
+ var vc = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
205
+ function wc(c) {
206
+ return c && c.__esModule && Object.prototype.hasOwnProperty.call(c, "default") ? c.default : c;
207
207
  }
208
- var Ue = { exports: {} };
209
- (function(t) {
210
- (function(e, o) {
211
- t.exports ? t.exports = o() : e.log = o();
212
- })(vt, function() {
208
+ var Ze = { exports: {} };
209
+ (function(c) {
210
+ (function(e, a) {
211
+ c.exports ? c.exports = a() : e.log = a();
212
+ })(vc, function() {
213
213
  var e = function() {
214
- }, o = "undefined", a = typeof window !== o && typeof window.navigator !== o && /Trident\/|MSIE /.test(window.navigator.userAgent), r = [
214
+ }, a = "undefined", f = typeof window !== a && typeof window.navigator !== a && /Trident\/|MSIE /.test(window.navigator.userAgent), t = [
215
215
  "trace",
216
216
  "debug",
217
217
  "info",
218
218
  "warn",
219
219
  "error"
220
220
  ];
221
- function s(u, f) {
222
- var w = u[f];
221
+ function o(p, y) {
222
+ var w = p[y];
223
223
  if (typeof w.bind == "function")
224
- return w.bind(u);
224
+ return w.bind(p);
225
225
  try {
226
- return Function.prototype.bind.call(w, u);
226
+ return Function.prototype.bind.call(w, p);
227
227
  } catch {
228
228
  return function() {
229
- return Function.prototype.apply.apply(w, [u, arguments]);
229
+ return Function.prototype.apply.apply(w, [p, arguments]);
230
230
  };
231
231
  }
232
232
  }
233
- function n() {
233
+ function d() {
234
234
  console.log && (console.log.apply ? console.log.apply(console, arguments) : Function.prototype.apply.apply(console.log, [console, arguments])), console.trace && console.trace();
235
235
  }
236
- function i(u) {
237
- return u === "debug" && (u = "log"), typeof console === o ? !1 : u === "trace" && a ? n : console[u] !== void 0 ? s(console, u) : console.log !== void 0 ? s(console, "log") : e;
236
+ function b(p) {
237
+ return p === "debug" && (p = "log"), typeof console === a ? !1 : p === "trace" && f ? d : console[p] !== void 0 ? o(console, p) : console.log !== void 0 ? o(console, "log") : e;
238
238
  }
239
- function g(u, f) {
240
- for (var w = 0; w < r.length; w++) {
241
- var h = r[w];
242
- this[h] = w < u ? e : this.methodFactory(h, u, f);
239
+ function h(p, y) {
240
+ for (var w = 0; w < t.length; w++) {
241
+ var l = t[w];
242
+ this[l] = w < p ? e : this.methodFactory(l, p, y);
243
243
  }
244
244
  this.log = this.debug;
245
245
  }
246
- function m(u, f, w) {
246
+ function g(p, y, w) {
247
247
  return function() {
248
- typeof console !== o && (g.call(this, f, w), this[u].apply(this, arguments));
248
+ typeof console !== a && (h.call(this, y, w), this[p].apply(this, arguments));
249
249
  };
250
250
  }
251
- function y(u, f, w) {
252
- return i(u) || m.apply(this, arguments);
253
- }
254
- function ue(u, f, w) {
255
- var h = this, Oe;
256
- f = f ?? "WARN";
257
- var S = "loglevel";
258
- typeof u == "string" ? S += ":" + u : typeof u == "symbol" && (S = void 0);
259
- function it(d) {
260
- var T = (r[d] || "silent").toUpperCase();
261
- if (!(typeof window === o || !S)) {
251
+ function m(p, y, w) {
252
+ return b(p) || g.apply(this, arguments);
253
+ }
254
+ function ge(p, y, w) {
255
+ var l = this, Oe;
256
+ y = y ?? "WARN";
257
+ var A = "loglevel";
258
+ typeof p == "string" ? A += ":" + p : typeof p == "symbol" && (A = void 0);
259
+ function rc(i) {
260
+ var T = (t[i] || "silent").toUpperCase();
261
+ if (!(typeof window === a || !A)) {
262
262
  try {
263
- window.localStorage[S] = T;
263
+ window.localStorage[A] = T;
264
264
  return;
265
265
  } catch {
266
266
  }
267
267
  try {
268
- window.document.cookie = encodeURIComponent(S) + "=" + T + ";";
268
+ window.document.cookie = encodeURIComponent(A) + "=" + T + ";";
269
269
  } catch {
270
270
  }
271
271
  }
272
272
  }
273
- function Le() {
274
- var d;
275
- if (!(typeof window === o || !S)) {
273
+ function He() {
274
+ var i;
275
+ if (!(typeof window === a || !A)) {
276
276
  try {
277
- d = window.localStorage[S];
277
+ i = window.localStorage[A];
278
278
  } catch {
279
279
  }
280
- if (typeof d === o)
280
+ if (typeof i === a)
281
281
  try {
282
282
  var T = window.document.cookie, Y = T.indexOf(
283
- encodeURIComponent(S) + "="
283
+ encodeURIComponent(A) + "="
284
284
  );
285
- Y !== -1 && (d = /^([^;]+)/.exec(T.slice(Y))[1]);
285
+ Y !== -1 && (i = /^([^;]+)/.exec(T.slice(Y))[1]);
286
286
  } catch {
287
287
  }
288
- return h.levels[d] === void 0 && (d = void 0), d;
288
+ return l.levels[i] === void 0 && (i = void 0), i;
289
289
  }
290
290
  }
291
- function lt() {
292
- if (!(typeof window === o || !S)) {
291
+ function sc() {
292
+ if (!(typeof window === a || !A)) {
293
293
  try {
294
- window.localStorage.removeItem(S);
294
+ window.localStorage.removeItem(A);
295
295
  return;
296
296
  } catch {
297
297
  }
298
298
  try {
299
- window.document.cookie = encodeURIComponent(S) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
299
+ window.document.cookie = encodeURIComponent(A) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC";
300
300
  } catch {
301
301
  }
302
302
  }
303
303
  }
304
- h.name = u, h.levels = {
304
+ l.name = p, l.levels = {
305
305
  TRACE: 0,
306
306
  DEBUG: 1,
307
307
  INFO: 2,
308
308
  WARN: 3,
309
309
  ERROR: 4,
310
310
  SILENT: 5
311
- }, h.methodFactory = w || y, h.getLevel = function() {
311
+ }, l.methodFactory = w || m, l.getLevel = function() {
312
312
  return Oe;
313
- }, h.setLevel = function(d, T) {
314
- if (typeof d == "string" && h.levels[d.toUpperCase()] !== void 0 && (d = h.levels[d.toUpperCase()]), typeof d == "number" && d >= 0 && d <= h.levels.SILENT) {
315
- if (Oe = d, T !== !1 && it(d), g.call(h, d, u), typeof console === o && d < h.levels.SILENT)
313
+ }, l.setLevel = function(i, T) {
314
+ if (typeof i == "string" && l.levels[i.toUpperCase()] !== void 0 && (i = l.levels[i.toUpperCase()]), typeof i == "number" && i >= 0 && i <= l.levels.SILENT) {
315
+ if (Oe = i, T !== !1 && rc(i), h.call(l, i, p), typeof console === a && i < l.levels.SILENT)
316
316
  return "No console available for logging";
317
317
  } else
318
- throw "log.setLevel() called with invalid level: " + d;
319
- }, h.setDefaultLevel = function(d) {
320
- f = d, Le() || h.setLevel(d, !1);
321
- }, h.resetLevel = function() {
322
- h.setLevel(f, !1), lt();
323
- }, h.enableAll = function(d) {
324
- h.setLevel(h.levels.TRACE, d);
325
- }, h.disableAll = function(d) {
326
- h.setLevel(h.levels.SILENT, d);
318
+ throw "log.setLevel() called with invalid level: " + i;
319
+ }, l.setDefaultLevel = function(i) {
320
+ y = i, He() || l.setLevel(i, !1);
321
+ }, l.resetLevel = function() {
322
+ l.setLevel(y, !1), sc();
323
+ }, l.enableAll = function(i) {
324
+ l.setLevel(l.levels.TRACE, i);
325
+ }, l.disableAll = function(i) {
326
+ l.setLevel(l.levels.SILENT, i);
327
327
  };
328
- var be = Le();
329
- be == null && (be = f), h.setLevel(be, !1);
328
+ var ye = He();
329
+ ye == null && (ye = y), l.setLevel(ye, !1);
330
330
  }
331
- var M = new ue(), ge = {};
332
- M.getLogger = function(f) {
333
- if (typeof f != "symbol" && typeof f != "string" || f === "")
331
+ var S = new ge(), me = {};
332
+ S.getLogger = function(y) {
333
+ if (typeof y != "symbol" && typeof y != "string" || y === "")
334
334
  throw new TypeError("You must supply a name when creating a logger.");
335
- var w = ge[f];
336
- return w || (w = ge[f] = new ue(
337
- f,
338
- M.getLevel(),
339
- M.methodFactory
335
+ var w = me[y];
336
+ return w || (w = me[y] = new ge(
337
+ y,
338
+ S.getLevel(),
339
+ S.methodFactory
340
340
  )), w;
341
341
  };
342
- var nt = typeof window !== o ? window.log : void 0;
343
- return M.noConflict = function() {
344
- return typeof window !== o && window.log === M && (window.log = nt), M;
345
- }, M.getLoggers = function() {
346
- return ge;
347
- }, M.default = M, M;
342
+ var bc = typeof window !== a ? window.log : void 0;
343
+ return S.noConflict = function() {
344
+ return typeof window !== a && window.log === S && (window.log = bc), S;
345
+ }, S.getLoggers = function() {
346
+ return me;
347
+ }, S.default = S, S;
348
348
  });
349
- })(Ue);
350
- var xt = Ue.exports;
351
- const de = /* @__PURE__ */ wt(xt), kt = x`
349
+ })(Ze);
350
+ var xc = Ze.exports;
351
+ const pe = /* @__PURE__ */ wc(xc), kc = x`
352
352
  :host {
353
353
  }
354
354
  .cb-wrapper {
@@ -415,68 +415,75 @@ const de = /* @__PURE__ */ wt(xt), kt = x`
415
415
  border-radius: 0;
416
416
  }
417
417
  }
418
- `, O = x`
419
- :host {
420
- --primary-color: var(--sl-color-primary-600);
421
- }
418
+ `, I = x`
419
+ :host {
420
+ --primary-color: var(--sl-color-primary-600);
421
+ }
422
422
 
423
- .link__item,
424
- .link__item:visited,
425
- .link__item:active {
426
- color: var(--primary-color);
427
- }
423
+ .link__item,
424
+ .link__item:visited,
425
+ .link__item:active {
426
+ color: var(--primary-color);
427
+ }
428
428
 
429
- .link__item.inverse,
430
- .link__item.inverse:visited,
431
- .link__item.inverse:active {
432
- color: white;
433
- }
429
+ .link__item.inverse,
430
+ .link__item.inverse:visited,
431
+ .link__item.inverse:active {
432
+ color: white;
433
+ }
434
434
 
435
- sl-button.icon {
436
- display: flex;
437
- justify-content: center;
438
- align-items: center;
439
- }
435
+ /*
436
+ sl-button.cb-icon {
437
+ display: flex;
438
+ justify-content: center;
439
+ align-items: center;
440
+ }
441
+ */
442
+ sl-button {
443
+ display: flex;
444
+ justify-content: center;
445
+ align-items: center;
446
+ }
440
447
 
441
- .color-white {
442
- color: white;
443
- }
448
+ .color-white {
449
+ color: white;
450
+ }
444
451
 
445
- .color-default {
446
- color: var(--sl-color-neutral-600);
447
- }
452
+ .color-default {
453
+ color: var(--sl-color-neutral-600);
454
+ }
448
455
 
449
- .color-primary {
450
- color: var(--sl-color-primary-600);
451
- }
456
+ .color-primary {
457
+ color: var(--sl-color-primary-600);
458
+ }
452
459
 
453
- .color-success,
454
- .color-green {
455
- color: var(--sl-color-success-600);
456
- }
460
+ .color-success,
461
+ .color-green {
462
+ color: var(--sl-color-success-600);
463
+ }
457
464
 
458
- .color-warning {
459
- color: var(--sl-color-warning-600);
460
- }
465
+ .color-warning {
466
+ color: var(--sl-color-warning-600);
467
+ }
461
468
 
462
- .color-danger,
463
- .color-error {
464
- color: var(--sl-color-danger-600);
465
- }
469
+ .color-danger,
470
+ .color-error {
471
+ color: var(--sl-color-danger-600);
472
+ }
466
473
 
467
- .color-default {
468
- color: var(--sl-color-neutral-600);
469
- }
474
+ .color-default {
475
+ color: var(--sl-color-neutral-600);
476
+ }
470
477
 
471
- .text-button {
472
- cursor: pointer;
473
- }
478
+ .text-button {
479
+ cursor: pointer;
480
+ }
474
481
 
475
- .text-button:hover {
476
- text-decoration: underline;
477
- }
478
- `, Ze = x`
479
- ${O}
482
+ .text-button:hover {
483
+ text-decoration: underline;
484
+ }
485
+ `, Ne = x`
486
+ ${I}
480
487
 
481
488
  :host {
482
489
  display: inline-flex;
@@ -498,99 +505,99 @@ const de = /* @__PURE__ */ wt(xt), kt = x`
498
505
  color: white;
499
506
  }
500
507
  `;
501
- var _t = Object.defineProperty, Ct = Object.getOwnPropertyDescriptor, $e = (t, e, o, a) => {
502
- for (var r = a > 1 ? void 0 : a ? Ct(e, o) : e, s = t.length - 1, n; s >= 0; s--)
503
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
504
- return a && r && _t(e, o, r), r;
508
+ var _c = Object.defineProperty, Cc = Object.getOwnPropertyDescriptor, Me = (c, e, a, f) => {
509
+ for (var t = f > 1 ? void 0 : f ? Cc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
510
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
511
+ return f && t && _c(e, a, t), t;
505
512
  };
506
- let W = class extends le {
513
+ let W = class extends ie {
507
514
  constructor() {
508
515
  super(...arguments), this.color = "primary", this.svg = "";
509
516
  }
510
517
  render() {
511
- return c`<span class="cb-icon color-${this.color}" part="base"
512
- >${N(this.svg)}</span
518
+ return s`<span class="cb-icon color-${this.color}" part="base"
519
+ >${B(this.svg)}</span
513
520
  >`;
514
521
  }
515
522
  };
516
- W.styles = Ze;
517
- $e([
518
- l({ type: String })
523
+ W.styles = Ne;
524
+ Me([
525
+ r({ type: String })
519
526
  ], W.prototype, "color", 2);
520
- $e([
521
- l({ type: String })
527
+ Me([
528
+ r({ type: String })
522
529
  ], W.prototype, "svg", 2);
523
- W = $e([
530
+ W = Me([
524
531
  k("cb-icon")
525
532
  ], W);
526
- let $t = (t) => crypto.getRandomValues(new Uint8Array(t)), jt = (t, e, o) => {
527
- let a = (2 << Math.log(t.length - 1) / Math.LN2) - 1, r = -~(1.6 * a * e / t.length);
528
- return (s = e) => {
529
- let n = "";
533
+ let $c = (c) => crypto.getRandomValues(new Uint8Array(c)), jc = (c, e, a) => {
534
+ let f = (2 << Math.log(c.length - 1) / Math.LN2) - 1, t = -~(1.6 * f * e / c.length);
535
+ return (o = e) => {
536
+ let d = "";
530
537
  for (; ; ) {
531
- let i = o(r), g = r;
532
- for (; g--; )
533
- if (n += t[i[g] & a] || "", n.length === s)
534
- return n;
538
+ let b = a(t), h = t;
539
+ for (; h--; )
540
+ if (d += c[b[h] & f] || "", d.length === o)
541
+ return d;
535
542
  }
536
543
  };
537
- }, Mt = (t, e = 21) => jt(t, e, $t);
538
- const St = Mt("1234567890abcdefghijklmnopqrstuvwxyz", 10);
539
- function fe(t = 10) {
540
- return St(t);
544
+ }, Mc = (c, e = 21) => jc(c, e, $c);
545
+ const Sc = Mc("1234567890abcdefghijklmnopqrstuvwxyz", 10);
546
+ function xe(c = 10) {
547
+ return Sc(c);
541
548
  }
542
- function At(t) {
543
- return new Promise((e, o) => {
549
+ function Ac(c) {
550
+ return new Promise((e, a) => {
544
551
  try {
545
- navigator.clipboard.writeText(t).then(() => {
546
- e(t);
552
+ navigator.clipboard.writeText(c).then(() => {
553
+ e(c);
547
554
  });
548
- } catch (a) {
549
- o(a);
555
+ } catch (f) {
556
+ a(f);
550
557
  }
551
558
  });
552
559
  }
553
- function Ot(t = !0) {
560
+ function Lc(c = !0) {
554
561
  return new Promise((e) => {
555
- const o = document.createElement("input");
556
- o.type = "file", t && (o.multiple = !0), o.style.display = "none", o.addEventListener("change", () => {
557
- const a = Array.prototype.slice.call(o.files);
558
- e(a);
559
- }), o.click();
562
+ const a = document.createElement("input");
563
+ a.type = "file", c && (a.multiple = !0), a.style.display = "none", a.addEventListener("change", () => {
564
+ const f = Array.prototype.slice.call(a.files);
565
+ e(f);
566
+ }), a.click();
560
567
  });
561
568
  }
562
- const _ = de.noConflict();
569
+ const _ = pe.noConflict();
563
570
  _.setLevel("info");
564
- class Lt {
571
+ class Oc {
565
572
  constructor(e = {}) {
566
- this.id = 0, this.url = (e == null ? void 0 : e.url) || null, this.orgId = (e == null ? void 0 : e.orgId) || null, this.botId = (e == null ? void 0 : e.botId) || null, this.convId = (e == null ? void 0 : e.convId) || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (e == null ? void 0 : e.onMessage) || null, this.queue = [], this.pause = (o) => new Promise((a) => setTimeout(a, o)), _.info(`WSC: Created, url: ${this.url}`);
573
+ this.id = 0, this.url = (e == null ? void 0 : e.url) || null, this.orgId = (e == null ? void 0 : e.orgId) || null, this.botId = (e == null ? void 0 : e.botId) || null, this.convId = (e == null ? void 0 : e.convId) || null, this._options = e || {}, this._ws = null, this.started = !1, this.connected = !1, this.onMessage = (e == null ? void 0 : e.onMessage) || null, this.queue = [], this.pause = (a) => new Promise((f) => setTimeout(f, a)), _.info(`WSC: Created, url: ${this.url}`);
567
574
  }
568
575
  connect(e = {}) {
569
576
  if (this.url = (e == null ? void 0 : e.url) || this.url, this.connected = !1, !this.url)
570
577
  return _.error("WSC: URL must be provided to connect"), null;
571
- const o = this.url;
572
- _.info(`WSC: Connecting to ${o} ...`), this._ws = new WebSocket(o);
573
- let a = setTimeout(() => {
578
+ const a = this.url;
579
+ _.info(`WSC: Connecting to ${a} ...`), this._ws = new WebSocket(a);
580
+ let f = setTimeout(() => {
574
581
  _.error("WSC: connected message not received in time - terminating"), this._ws.close(), this._ws = null, this.connected = !1;
575
582
  }, 15e3);
576
583
  this._ws.onopen = () => {
577
- _.info(`WSC: Connection to ${o} opened`);
578
- }, this._ws.onmessage = (r) => {
579
- let s = (r == null ? void 0 : r.data) || null;
580
- if (!s)
584
+ _.info(`WSC: Connection to ${a} opened`);
585
+ }, this._ws.onmessage = (t) => {
586
+ let o = (t == null ? void 0 : t.data) || null;
587
+ if (!o)
581
588
  return;
582
- let n = null;
589
+ let d = null;
583
590
  try {
584
- n = JSON.parse(s);
591
+ d = JSON.parse(o);
585
592
  } catch {
586
- _.error(`Failed to parse message: ${s}`);
593
+ _.error(`Failed to parse message: ${o}`);
587
594
  return;
588
595
  }
589
- (n == null ? void 0 : n.type) === "connected" && (_.info(`WS[${this.id}] Connected`), clearTimeout(a), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(n);
590
- }, this._ws.onerror = (r) => {
591
- _.error("WSC: Socket error"), clearTimeout(a), this.connected = !1, this._ws = null;
592
- }, this._ws.onclose = (r) => {
593
- _.info(`WSC: Closed - code:${r.code}, reason:"${r.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
596
+ (d == null ? void 0 : d.type) === "connected" && (_.info(`WS[${this.id}] Connected`), clearTimeout(f), this.connected = !0, this.sendQueuedMessages()), this.handleWscMessage(d);
597
+ }, this._ws.onerror = (t) => {
598
+ _.error("WSC: Socket error"), clearTimeout(f), this.connected = !1, this._ws = null;
599
+ }, this._ws.onclose = (t) => {
600
+ _.info(`WSC: Closed - code:${t.code}, reason:"${t.reason}"`), this.connected = !1, this._ws = null, this.reconnect();
594
601
  };
595
602
  }
596
603
  reconnect() {
@@ -613,11 +620,11 @@ class Lt {
613
620
  }
614
621
  // Attempt to connect, and reconnect if failed
615
622
  async startOld() {
616
- let e = 1, o = !0;
617
- for (; o; ) {
623
+ let e = 1, a = !0;
624
+ for (; a; ) {
618
625
  if (_.info(`WSC: start: connecting, attempt ${e}`), await this.connect(), this.connected)
619
626
  return _.info("WSC: connected"), !0;
620
- e++, o = e <= 4, o && await this.pause(1e3);
627
+ e++, a = e <= 4, a && await this.pause(1e3);
621
628
  }
622
629
  return _.error(`WSC: start: failed to connect after ${e} attempts, exiting`), !1;
623
630
  }
@@ -669,27 +676,28 @@ class Lt {
669
676
  });
670
677
  }*/
671
678
  }
672
- var Ht = Object.defineProperty, It = Object.getOwnPropertyDescriptor, I = (t, e, o, a) => {
673
- for (var r = a > 1 ? void 0 : a ? It(e, o) : e, s = t.length - 1, n; s >= 0; s--)
674
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
675
- return a && r && Ht(e, o, r), r;
679
+ const Hc = "fffbd0c40003a861a6f64deb05ce8fbd1dc1ee6979000bf3230f3195138b950cbe3649439256307747d31c26065d09cfae70d799f0a043c6a90008c0101188082314680d008619c9079b61dc806a921a220095277a60d4131e44143d53814e10f4d06ba6491eb478900a8d59016632a23e0fa358875c770146cc650c1c499dcb9b0965d7500106c321427219428febbdafb2b5d76979a75ae40018d025f96f71bad4b0257666051808e5b74c34bf2db9660bb0e24b2a35886616f617013a24104242304600910b1130dc7b4e81750bb1216e880432ac0d75b0a2a1834f45e8e9a279a9c6c22cc9a7e3ac01cc5335e8c0d97180c960bad7998ce9ac025a2f1a0c888e02c46508045a96a20a60c91980100828a917425f96ddc64bc2ea19146c50b00bde68319005d85d10e462314ae197f0b48c74bfe986ced9dac3a9bbfad7e8f7ac2a525253c6e36cad4dd7c20e2ec4842dba61cbf30f0f7d628635005a66e63ec63560f22a48c694034a695617e603c12c05077310c0923018053379a48d1e921e409b28546c46619d8fa6c9b019ea20762d318e34c6291699d98662a61861204fda2a7933d57c1d023391f8605262a1598449c1ca332e084cb25a3198ac94666361b99f05c67c1aba0151b18d456ec8e0b4c667924153ba632409114cc587c7867ca8c047dcd7a834bc8d2a033a141df48ab82a803bd1a8651a215e356c6161b062114cb841dd89589b05f0d10ad255c4d70d8ad245e4abcd6b33fca8d6af5cc3db8d9244511ab2206a56c885690ad12cc1ba16308528d539daa40b22baf35eb61a7044a988132e926b754d82ea8ca85199ad5c42c0d62d35eb8d7301d56ef5b26c451748198c2a22c319b24ab67a246b186c8af0d54354c0957c342d9a2a4d7b3245e585c4d7254e107501450bb46abbfa38b2331996d9bae08953352c48af43d5c7b08b6572a44e0b11775fd8cbb2b0b0343230c6c5add2ca5ac8d549765977ff78e59659ca49adde749c6789409753bcff43d1a8d46a532da5a5a5a5a5a5a5a6a6a6a6a6a6a6a6a6ab671c71c71c6ae4141414140a0a0a0a0c2b06e0b039c1829859998b165991a5d2aa598e0a714183727471921e5721a1037a9c2fb7a1b9c0dc99c6ab19b821219de39219b82a521908908987d2ab1aab194159219cb31211fffbd2c42383f4bda0d20ffba7c624b3dd01eee938b82f149f14b82951c14d290908c90d294c90a598b0948572ce584a434a54a52b4a42c3829592199219219a52921160908d295294b1c79b70dc9b72dc9b70dc15b71e6dc37058e3cdb8e34db9e3cadb82c37056dc95f1e7c6f1e58e3cadb8f2c4845721f96242f2c485e7214865721f962422c484721c845890cb121f9c872116242f2b908e4390bfcae432b908ae43f390e432c486721c85e5890cae432b90ce42908b121f9c8721962432c484721c865890ce4290bcae432b90bcae43390a432c485e58908e4290bcb121f95c86721c865890cae432b90cae42ff390e422b90cae422b90fcb121795c865721795c86721487e721c87e58908ae422b90bcb12195c845721796242f2c48658908ae43ff390e43fff390e422c4865890cb121ff9c872196243f2b90bcae42fff2c48458908b12116243f2b90ffcae43fff2c485e5890bfffcae422c485fe5721796243f2b90bfcae42ffff2b90ffcae432c48460a40a6618626a61ce3d466883d6645657458106350e2d6321a39532150c231a421532413d3399952b690e8430cc534d4ad0638ad993418742c24072f7385897cae5e348120397e5e348521397e5e2b734cd8364b06c160d93364d82c0ea6838ea63a0e863a8e9e581d4ca0283cd5d284b050795942650143e6e1c1b87058706e5c95b9370e4dcb92c382b706e1c15d22c522ba7e574cae9f9d2a458a474a995d32c52ff2ba4574cb148b14bfcb14cb148ae99629795d22c532c533a74cae995d2f3a74ce9533a74cb148e9d2f3a74ce9d22ba474e99d2a458a674a99d3a65748ae9f9d2a474a91629962995d23a748e9522c53f3a74bce9d3f2ba65748afa9f5ea57d4b1d3cafa963a163a7963a163a1f5ebfe57d3fcfa742bea7d7a15f42bea7d7a1f5e9e7d3af963a9f4ea57d4fa752c74f2c75f2c743ebd3fcafaf963a7ff963a79f4e9fe57d7ce9d22c532ba474a91d3a674a97962996297f9d2a658a458a658a458a4574cae916299d2a474a995d22c522c533a54bcae915d32c522c52f3a548ae99629795d3f30c6831b320f483c329501f8331a98f233a001f9342646273295483d326307f03331098c307e52ae3189883d3186475630e704da30e744db320f0627329501f831040411307e4fffbd2c42383f3fdacd40ff6b68668b3dc81eeed7841031044a54318984112a8c4e641e83f26208082260fc0822560fc183f041e183f00fc183f20fc983f20fc983f20fc95896e60bf863460bf86365805f8c17e0c68ac31b2b5f8f1bc68d7fc68d7f5fcaf1b35f97e35f97e2c2fc585fcb0bf9e36bf9617e2b5f8d7f5f8ad7f2c2fc6bfafe56bf9e34bf79617f3c6f1bf2b5fcb0bf9afcbf95afc585f8d7e5fcb0bf611fc419f8f08fe7833f1e0cfcf847f308fe7833f1f067e3c19f9067e308fe7c23f8c23f9067e40ff3f8067e20cfc047f00cfc611fc81fe3f207f9fc033f211fcc0ff1f903fc7e423f803fcfe423f903fcfe00ff3f8833f011fc847f211fc047f303fc7e211fc01fe3f211fc033f011fc7067e40ff3f908fe023f808fe00ff1f903fcfe019f803fc7e419f808fe019f9067e40ff1f9067e211fc01fe3f3c19f8e0cfcc23f9067e40ff3f8067e023f808fe60cfcc19f8c19f9847f211fc047f011fc033f1067e60cfcf833f25808830881d435e33e33263062346d46d31d427b31d41d4346d3c633201d5308827a308846d351212e32267a39ea7a34b92f3221d537552f32252e2b4b8dd5c80c88c84e7a4bcb0ea9ba9e315a5e697baa644cf473da5e58220c894bcb0449a5e449612ff2c110584bcb0447991044191244160892b4bfcc88224ac882b2a4d0a114ca8114c44114ac442c089e562279588856c458633e362f3e362362623e3e3f2be23e3e32b633e263f2b88fffff2c44f95c47f96227ce2224e2620b11071310713105889389882c44f95c41c44496220ae23cae20e2627cb1127111257105889f2c449c4c416220ae24e2224e2620ae24b1105713e588838988389892c44f9c44416224e2220ae20e2223cae27cae23ce2220e2620b1105711e5712571271111e57127131257127111271313fe713125712588938988388892c4479c4c41c44416224ae24e2220ae20e2620b11058882c44ffff95c4795c4ff95c415c416220ae20ae20b11271310571271313e58882c44f95c49c4c4ff95c416224e2627fce2224e2220e2220ae20b111e57107111071111fe5888ff389882c03a18838cc99ca16b996b8501ad09db99db86c161e34cb0c730c6641d4c664f7cc570e54c570570cb08734d2b4b08ac360cb5c284c86c574c57428fffbd2c41e03f239a2e40f7370c65fb39cc1eeed980c364364c360730c364edcc360364db2d936c734f9bcd3e6b60db0d82c734db3cd36cb60adb27068399d732588319d20e7068399d20de5850f9d75405850796140575c3535335252353c32c611e1291a9e11614cd4d4cf0d4cf0948e8684e8684b14074140574058a12c509d0d09d0d09d0509d0501d050796363fcaf64af67ffcb1b257b1fe58d8f2b74375742b742c3a9baba15ba161d0dd1d4add0b0e9e6eaea56ea56ea5874374752c5096280e8680b14057405743e57407414058a12ba12ba02c50f96280b141e58a12ba12c5096280add0dd1d0dd1d0dd5d3cb0ea6eaea6e8ea58752b7537574374742b74374752b752c3a95ba15ba9baba1ba3a161d0dd1d4b0ea58742c3a7ffff96367ffffffffffffffffffffffcb0e856ebe5874f2c3a961d4dd1d7fcadd4b0e9e6e8ea58752b752c3af961d4add3cb0e86e8ebfe6e8ea587537474f2c3a161d7cdd5d4dd1d0dd5d4add3cc388588c9e8220c4b91b4c989388c58898cc5b4740c2a48c8c58c38ccb8898cc9ec220cc84c80c4b84bcc224754d4491b4c62988c63588ce2b88d2e224d2e224b0449f8f3d1a5c9719104499124415a5e6971106973aa58750d2e220d2e220d898cf8d8cd8d8cd898cd8d88ad8cd898cd8988b1c7e586336363f2c711b1311b1319618cd8d8cb0c6586236262363632c319618ccb8b8cbcbcb05c565c582e32e2e32f2f32f2e32f2f32f2f32f2f2c1796220ae24ae20b113e71313fe71111e5888388892b882c449b1b115b11b1311b13116188d898fcb0c66c6c45862363632b632b63ff2c319b1b1796224ae24b111e711125711e5713e5713e58882b882c441c4c4f9c4c4ff9c4c4f9c44495c49c4c416224ae24e2224e2627fcae20b1105711e5711fe7111071111fe57125713e57106c6c46c6c45863f2c3195b115b19b131796188ad8bcd8988b0c45862363632c319b1b19b131f9618bcad8fcd898cad8bcb112571257125888f2c44ff95c495c4ff95c47f96220e2624b11258882c441c444ffff96224b112571257105711e588838989f2c44d3045045310b0a932632e232630623562062316226236620e32c1b198850229885919194a88598220e81fc431160623589e23588622b18cde2988de3788c63588fefffbd2c42083f3559ee80f774bc682b4dcc1eee9782388c6278cb0b1161623388e32b588ac62398d633188632c0c46318c66319c46710c66310c66b1ac66318c46310c46310c46710c6563118c431f98c63199c63118c631960e3f318862f2c0c7e6310c45818cb031960622bc678f1163196319e3c658c478b1163179e2c658c65788f1623c58cb188f1622bc678b115e33c788f1623c58caf195e32bc5e71221c5885710e24438914ae29c58a71621c48a588a5714b110e2c438910e245f38b13ce2442b8a71621c58a5889e5714ae295c42c442b8a5713cae29c48858885714b110e24538910af115e22bc658c478b17f95e33c588af1ff9e2c678b19e2c678f1163179e2c478b1ff95e3f2c62f3c78fcb18bcaf196317f95e22bc7e5788f163f2c632bc5fe58c678f195e22c62f3c78bfcaf1163196317f95e32c622c633c58caf11e3c4578caf1f95e32c633c78bfcf1622c632c633c588b188af19e3c5e58c658c678f11e3c678f17ff96319829829986109a99a6b1319ef03a19ef0cc99150cc195d8cc99a683a18730f598ca89e99a615d995d2819fbecc9d755d95c54698a626980d26559dc71520c68357471520c6cc33075d8ea63a0ea68345468320e63a0e875d20c683a0c63aa0fe5841cd98664b0831a0e8318ea3a95a0e563a160752c20e63a8e86838e858418b03a160753148523309353148c22b14cb02918a42918a629160522b14cc5314cfaf52bea7d7a163a963a1f4ebe7d7a95f53ebd4faf43ebd0afa795f53ebd4afa963a1f5e87d3a963a15f43e9d0afa79f4e858e858e858ea57d0afa963a9f4ea7d7a9f4ea7d3a9f4e857d0afaff9f4e9fe7d3af95f52be858e857d4faf53ebd0faf53ebd4afa1f5e857d4b1d0afa9f5ea7d3a7963a15f43e9d0faf52be87d3a163a163af95f52be858ea57d4faf5f2bea58ebe58e87d7a15f42c742bea58ebe57d7ffcfaf52be9e7d7af95f5ffff2c75ff2be857d7ffcb1d0faf52c742c742c753e9d4afa95f52bea57d3cb1d4afa95f52c742bea57d0afaff963a95f43e9d0afa7f95f53ebd7fcfa753ebd3cafa15f42c743ebd4afaf95f5f2c752be857d7fcb1d5508000160382b0e0d954f0d94654deb7acc397acce7d10dea4f0d4b2c4cb02c4d311a0ad3134c0aa34c4ef33b8ab3059193460b03fffbd2c41a01f0c5a2f0aeeb34c619359dc1dde6682c04b32403834f43832403932443930e03932403932413c3240392c070648072561c9870489a7a48161c1b972587258726e5c9b87265e51ca2c65cb9cb2e65fe1cb94565ce59634a94ad21a44a584869529a4485694ad216129a54865cb1972e72e51962c65cb1972c565cb05ccbcb32e5ccb162b2c56b79acb1acb1aeb9acb1aeb9acb1aeb15ac6bae56b15ac56b15ca72485894e590e490b1295ca5894ae52b90ae539252c49e724a5897ce494b121cb2f9cb21cb29cb21c9215ca5890e497ce597cae42c4a57215c85894ae42b97cf9e4f9e3cb1c15f1e57c796393e38ff2be0f9e7caf92be0f8e4af92be0b1cff96392be0f9e0b1c15f058e0b1c796382c71e7cf3e7c7257c95f258e4b1c95f1e58e0af92be4b1c1639f2be7ce493cb127f9c9215c9e5721c9215cbfe72ca5893fcb1279c921cb29cb2f9cb29cb21cb29cb295c85890ae42b90ae42b93cb12795c857298701c1609034f2413901eb3094683091733344d033e0d132acaa34c4ee30957434c1313244382b398d3c4f0ace730e13d34f53d37ac3937ac3830e4382c07261c870648a786ca27a580e4ce244e44e4ace4ce0e4ce240ce240b072723226727058382b90339392b382b382c1c99c1c9c89c960e0ce4e0ce4e0b07067273e6727258392b38ff2c1c19c1c960e4b070670705838f2c1c19c1c99c9c19c1c159c159c960e4ace3ce44e0ce4e3fcce0e0b07058382b38339382b3933839396439252c4872ca72ca72ca57295c872485890ae53964f3965f39242c4be58e4af92be0b1cf96383e783e383e382c727c707cf07c727c73e58e0b1cf9f1c15f058e4f9e0b1c16382c727c7257c95f07cf27c707c727cf257c9f3c95f258e3caf83e792c73e58e0b1cf96392be0af92c7057c9f1cff95f058e0b1c16382be4f8e3ffcaf82be4b1c795f057c16383e392be0af82be4af82c71e57c796393e392be4f9e7fcaf9f2be4b1c795f3fe7c7258e7caf93e392be0b1c79f3cf95f257cf95f1fe57c79639ffff2c70a0800079603ecd71612cb09de71381f66aac420687e4226650cdc6176680617668061769dc58268332932930fb211343e211355621032115563328328343f0fa30fb0fb33280fb321021032112102b43e32112112b329fffbd2c42b01f3f1acdeaf777286a1355cc1eeecf82c1f467d1f5e7084207081f456c895977e65db2265d32265db207081f4583e8cfb3efccfa3e8b07d960fa33ecfb3fbfa2bfb2bfa3fbfa3fafa3fafb3fafb3fafb2bfa3fbfb3fafb3fafa2c7d963efcafe8fefe8b1f5e58fb3fafbf2c5d1dddd9dd5d1dddd162ecaeecb1747777477574577458ba3bbbb3bbbb2c5dff963ebfcb1f657f5e57f457f5e57f5e58fbfff3fafbf2bfa2bfa3fafaf3fafbff2bfbffff2c7d963ecfefe8fefeffffcb177e577658bb2c5d7962e8eeeebfcb17458bb2c5d1dd5d962ecaeecaeecb176577458ba2bbb2c5dff95dd15dd95dd1dddd7f95dd162e8aee8b17658ba3babb3baba3babb3baba3baba2bbb2bba2bba2c5d9dd5d15dd1dddd162e8eeee8b177e7f5f7fe58fa2bfa2bfbff3fafaf2bfbfff2bfa2c7d9fd7d7963ecb1f47f5f658fb2c7d163ecafebfcfefe8afebfffcfefecb1f5e57f457f7e58faff3fbfaf30e326333624e333632e231d546d312e1d530a8233323210b36ac7a31ec7a2c4f46eaba86318c46f18c67719c47315c6631ac46f19c658754c89224dd4c84f204bcc894bcd2f4bcd2f224e7a4b8ad2f34b8893220882c11056441a5e44191297160882c112644113e711125712588938989389893898838889f38889f388882b8838989f2b882c447f9618cb0c46c4c658633626336262363622b632b633636236263362622c319b1b19b1b19b1b195b179b131f9b1311b1311b17196188ad8cd8f88b1c656c65862363622c3195b115b196188d8d88ad8fcd898cad8cb0c45862363622c3195c415c495c416227ffcb11258892b8838989389892c441c4c416224ae20ae23ffce2620d8d8cad88b0c656c456c658632c31f95b19618cad88b0c5e6c4c66c4c7e5863362632c319b1b1f95b11b1319618cd8d88b11058882b892c4416224e2220b113e5889ffff2c4479c44415c415c4ff96224e2620b11257125710713125712571057105713e58892b88f38988388892c441c4c4796224b111e58882b882c44f95c416227ce2624b1105711fe58882b882c44795c4ff96223cae20ae23ffcae26f331e433b76dc30b95e3a3df73449133dd72835791335782f30bd1236a87a37d8c730b8c630bc7a331c2e357df730b82f31ec7a30bc2f30b87b344daa3fffbd2c41e83f005a0ee0eeb3706ce341c42bdd0003187a31e8c730b82e2b44ccc60b8cc61e8c7a31cdaa1e8b03d960c731ecc731ec7a30bc2f2b1e8c2e1e8b03d1ae5c6bbd16171ae5e6bbd15ae35cb8d72e2b5e7e97161795ae35ebcd7af2b5c6b979af5c6b97161795ae2c2f35cbffcd7ae2b5c56b8b0bcad715af2c2f35eb8d7af35ebcd72f35cbcd7ae35ebcb0b8b0bcb0b8ad79ae5e585e56bcb0b8ad79ae5e56bfcad796179ae5c585e6bbdff9af5c6b971af5c6bd7962e2bb8eebceeb8aeff2bbcaef2bbcb1795de58b8eebceeb8efbcaeffff2bbceeb8efbcaeef2bbbcaee3bef3beeffff2bb8b171df7962f2c5c58bfcaeff3bee3baeff3baf2bbceebcb171df795dc775c58bbcb17962ef2c5c77de58b8aef3bae3bae2bbcaee3bae3baf3baf3baf3bee2c5e77dde58bcaefffff2bbffcaef2bbfcaeef2c5e577ff9df7962f2bbfcaeef2c5de577162ef2bbcb17fff95de577960360c731e34da20e50cb58e4cd688b08d2b0734e5d9e30c730360b03306576576658639a61ae76c639a76c6b40958561b2695a76c561b0639a5847db58458360adcd2c58666c9b07615846e6d8658364dcc730dcc730cd8730acd83364d8f3361cc2c1b256e6959b258360acd92c1b1fe66c9b06e69b066c1b258364c741d4c751d0ad0631d47431d074f2c0ea63a8ea63a8e8563a160d83360d92b360acd82c1b2566cf99b06c99b26cf99b06c99b06c98e83a1607431d10631d4742b1d7cc751d0c751d0c741d3cac752b1d0ac752b1d0ac752c20e63a0ebe63a0e8563a18ea3a98e83a158e8563a958e863a8ea581d4b03a958e863a8ea63a8ea65094058284aca0f2b284ca1287fcca1287caca1ff3280a13284a1f2b280ca0280ca0280b0501594058280aca02c1405650960a02b284ca0280ca0280b050160a1f3280a03280a03280a1ff3284a1f2c14265014258284aca1ff3284a1fffff2c1b3e58363fffffffffffffffcacd8ff2c1425650194050799425095942565079940509594258284aca12b283caca13284a0ff2b284b050160a1f2c1405650194250960a0f2b284aca12b283cca1287fcaca12b284b050da03028040204010140a02010080300640ae302500803053c24f30d7c2a930ca42cf31c4921a300f0001300c4005305cc04f303cc03e34620fffbd2c41c003485d91db9ff00062e346243bfd000a9035bccab50300ac600d80006071010c603180c6611a82666027812018002a546032072608a05e690660a6330a28160074dc46f0c033306302b302a06234f02603428582329635f2eb1698880854e0c110038c168038c094064c008008d454d7cc660a5cca5c1d4c4f03899c459a1b8ef3180e80e98018048b009ba542604818c60701ba620e09e60de09e0d024120006cca729e4ca5b2baf182ea7acba030220082203b14028160104972b0109332164c5a76aafeb228dc6dd359e5dba0a2ff2c00c182d01c182d03d180c00c980c801c4eebff1779ae3fb76efa7ba8ca8927c39707a7a27c79803803958039803803980380398030031583a983a04c1583a45e2f14a771593bcf4b7e24f32e789492ebff72f45ee5ebc61540c4603207e180afe17007f53b0c00e4c44c60c00c8c50fd0fffd050d050d1c65d6a2ffffa251aa27c567d0fffffa219580133ba3f75e3292edc1863a4ea46dd474fffffffffffffffffffffffffffffffd4f980d0090981280b6984e00481848a1621869a25d18f32518198f263d19bd283d1a7d2d1b1b0fcf639bcf8c85987b8ff61db16c151d0749fb9cd72df399c764769881e1d19834809d9862389858ce9c5ca99b38cc9a0c149986cd1bcf161d83ce1ea3a91bc8f1997c611a16ce1bcaf21c32d31ade9b19160f191c9a9a68b599fa7d1986450b14e60e03a6271126471166450aa62a03a60e03a60e8a464698867d9f867f99062a83660d0403a0e98300e98a029983e0d2439810069810029810069818068602a8ab8ab3a01500a912a95c5987095b948b016d5fdb3ff4b0ee54255006ed19788c17050c2d0b8c49128c320c41c18a6f1728b945ca4e29eeef1fe56c8a800980801980402d79dc7a4a01980002980804980c03980c02df30180530902530880542c301402309446311448311c4830982528014c03000c23098c05008c05022b592500e2b477b0ffcea5d66d967ffffffff94b20c5dcb0cc4989356a6d779ddeb2ad6b755f57765b2996dda596d3bf38d6869da96d9d53434ef4ba1a7fa3384aa5d6bf2ab19a6ea300c013730b805f33126021130cb4230301a424a304f4122302905f9309b01e5308bc0253115c16431c9c4aa319809b1348b010e360fddfffbd2c41b83e62974fe0ff1f1056daadc81ff69e01033cce9a13e9998033720c8e03095404e3043c257309e00bd30074315306a01b93964c434b07666b9b5a486915398b4c4670561abd5a6ab341a9c58670859b40ea6965b8aa08c26b43291e438b21c5630e828906a18255402a4302824c4020012f82a2415279830b466f22268084188a8850f8238c0276895daa096a1e4406a530a427eb58491f081545ea7a311caba0d9712c06c2245b452039921093ca2624399cb1b2c29eb96a1f6c6b339233293c2e2af1b85c542519395617227c748270778c241b5976196923c2e27c2ba5fc4c49b6b75f582ca7ea3735ffffe0ab665746b4266378e2dfd7fffffffffce36c31231de4bfd191ff117fb8c19504f0c09013dcc8583304ca622984cb0e2c3cd17e039c8a86738190f763626173e280ca4e36eeb34d7401280e67a692ccc6a3708d58face8f60fa0b0e9df6268c2ee3714d7e9284d281eb4c64d280d7ecbbcac398c654a60c39c654c650e70d285280c650650cbbc650b032a63283286532530632a1ce61cc32a561cc61ce32863281ce612012061221206072070607207058038f2b03930390903d094d26834fa4ad216349a44a7a741e9d06952f95a42b485694b090ad2ff9a548695214492c25f34893cd3a62aa434a93cad29a548584869529e8485694d2a434890d22534a94b090b094d2242c2534a90d3252b4a5690b090d2a52b4a691215a534890d224f372e7fcb0e0b0e7ffcadc161c7fff95b92b73fffe56e3cadc7e5dffff372e3ffcb0e7cb0e3ffcb0e7fffcadc161cf95b82c382c382b70587058726e5c95b9ff370e3cdcb8f2b7058725873dff2c38ef9b871fd3a21dfffff65f302a03bf3183c6d2327a41d139209453312084833623919f370206d535458e2633ec4e26388c9fe23a48b6a13da898f333712b75337150153ed089223371145331208dc430be454831cd84203042842030be442035b23231156d2c15065408a685216685088685216568515a14685a1665408856541888549950229a1622959715bd15bd95bd9973d961eccbcb8cbcbcea510b08858452ba8345453444434444345a9345452c2296114d1114ad14d1110d1514d1110ad10d1514b08a575258442c549a2541a2221a2a29a22296110d1114b08868888584434fffbd2c46c83f3bd56de0ff77085de2a1ac1fe6e4054534445344452c2215a21a22215a29a22279a2221a2229d4a296110ad10b08a68a8a5844f345442ba82c2296113cd1110b08a568a68a8be58442b45f345452c22f9a2229a2a2f9a2a296110d1114d1514d1514b0886888a58442b44f345442b442c229a2a296117fcb089e68a8a5844f2b442b453454434545345443a844345453454434444344a834445345452b443a94534444344452c221a2221a25416114d1510ad10d1514b08868889fe568be68888568868b5256886888a568a68889fbf9dbbf45c58018cc0620d8cc4e31388c3620d88c5630d8ccde23388e1e2878ce6e33d88d1e32788d3e24f88c660a18cdae32788c9e2358cd7625d8ce1e2358cef62e58cd0e2438cc6e2358cd762438cc6e33588c9e31b8cc3620d8cc162178cb00b1182c60b1182c40b11f8dc456e33f1388b1e3371b88ad8cf8b88f8f8caf88d8f88f8d88b0c65862363e32c719b13195f196388f8d8fcf8988b1c65863363632c3195f115b196188ad88d898bcd8d88d898cb0c458e32be32c3195f19b1b19b1b19618cd898cb0c47c4c456c66c6c65862f36362363632c3115b115b115f11b1b19b1b115b11b1319618cd8d8cd8d88ad8cd898cad8cd8d88d8d88a310b0c46c7c66c4c456c66c6c47c6c66c6c7e6c6c458632b63362622b633636336363363e2f363623626336363ffd15b1f9558cb0c47c4c66c6c458632c31ff9b1b17f95b11b1b17f9618fcb0c458622b632c319b131f9b1b115b115b17ffff9b13196188d8988d8d88ad8ffcad8bffcb0c7fffa363622b622b62fecf95ff2aaf2c084258217cce061080c9c9655cd3ae3270dd952720e33eed24e068381cc4203dc0d957381cce0781a4e33eb494f70aed24cf704eb8cf701080cf702cc8c6f45a0cc2b7217cc9c81bd0c58b0ad8c58a0adcb02109829a2101829815b188400a61d6ca69a9b5b9554c35314c35314d2b3eccfa3e8cfa840e103ecb07d99f47d19f67d962102b3eccfa3e8cfb3ecacfa33e8fa2c1f6582efccba2e8b05d960ba32e8ba2b2e8acba32ecbb2b2ecb05d9597665d17665d177e582ecb05d19745d15974582e8cbb2e8acbbf32208832252f32208932252f32208932248834b88832252e2c11064411064491264425e64411206bfffbd2c47903eab9a2d20ff6b3471eaa5801ff5a38ac804576115d84577062ee0c5d81ae97606ba5d8457581ae976115d01ae9740c5d40df4fb037d3ec22fa063ef08bec22fb063e818fb063e818fae06fb7d01bedf606fa7d845f406fb7df06533c194cfae11a6ffffc234d81d369947ffffffffffff06110c1f907e0c1f81044d4c44abce14c8534d8f25314c1f820f0f62f7cd8ce8395f0d2af6c24df37e970f2038d90c413a6a0e14fc808e9a763d4f204c80ce3642950ce821038ce801044c4114abcc40e1898c4101040c1f91040d89f1acf1a9898c7e5898d89c7e4ae0f0f1aa0f0e0f5044ae0f0e0f5044d0420f0c7e5040c7e07e4b0823e63f282056c4e5541134101f834111f831f91f82b1f934114102b1f834114112aa08941f898fc2089607e4ac7e0d0407e7cc7e1044b03f05682056823e68203f0581f831f81f92c20818fc8fc98fc208f98fc0fc1a080fc98fc8fc95a0879607e4d0407e4c7e1040c7e47e4b03f263f03f0563f263f23f0563f0563f063f082063f03f063f03f063f23f263f23f0581f831f81f92c0fc1607e4b03f068223f263f23f268203f3e63f03f0584102c20898fc0fc019f93f00c3f2e113f2113f3033f27e0227e4187e4227e4227e4187e00e089f908c11061f9061f806410033f27e2067e0fc819f83f1819f93f0067e4fc830fc830fc419040187e3033f27e40cfc1f8061f9c227e00cfc9f9061f8061f8091f9033f27e4187e40cfc1f9033f27e2113f0067e2084187e2113f2113f00c823830fc830fc7f7061f8844fcaffffdc9d9fffffd75f317f31b37f117f34b7b29398c65434b665534da7572c30c9a6dbab1a6d12f1b2acc61b2ad949bf832a198d32a1b2a6629d947fe9b2a0bf98bf25b192f30c99ce12f989092f192f12f1612d8cc68c6cacc68cc6c5fccc685f8b06366636634663496e66362fc6bf2fc6bfe346bfafc6bf2fc6bf2fc585f8d20978ae5f3485202c4be690a406904bc5690f961213979212c24272f240690242569096121348521348521397d203481203485202c24258480ad203485212b484ad203485202c4bc56909a429095cbe5897cd21480d21484d21487cd20978e5f484d21480d20484ad203485202b480ad212c242569015a40690a40690a42690a4058484ad20ff348520348fffbd2c48183f27178ce0f76b545f6b61a01ee57205212c24258480ad213485212b480237e065f8237f81dfafc077fbf4237ec197e832fc0cbf832fc11bf611bf032fc11bf832fe0cbf832fc077fbfc237e065fc237fc197e03bfdf8237e832fe11bf01dfeff065f8237f832fd03bfdf8237e846fe11bf832fe11bf846ff065fa077ebf81dfefe0cbf832fdc0eff7f065f8197fc197f065fc237e08dfe0cbf60cbffffc197e2c0bf18bf0bf9bf859418bfa5b9d9418d15d941a6da6d9a6d44a18bf8bf1598d1961ad0986cad01890a6d9b0c9ce992f3ab9596198e69619a5606c18bf18d961954cc6d2dcb096c62fe2fc696c63462fe2fe62fe96e62fc96e696c2fc66342fe5663466342fe61b039865861b0561b261b239a63981b2581cc31201202b1202b1202c09018908909589015890992f0901f35b0586c1b65b26d86c9b61b06d86c95b63cadb26d96c1d72ba6a1ae95a87cd40a13aea80eb8a12b501a854275d5095a84d42a12b6c9b61b056d82b6c161b06d96c15f33cdb2d836c364db0d92b6c9b65b056d8390484e4120390c80ae427209095c83fcb120390c80b120390484e4121f2b901c86425890162405721390480e41202b90f95c80ae407209015c80ae405890f962425720390484ae40720901c86405720390c860cbf846ff846fe11bf846ff832fc11bfc237fc197e846ff81dfefe11bf832ff832fdc237e03bfdfbc197ef846fe11bf832fffc237fff832ff81dfefdfffff065fff08dfa0cbf2af2c1611a561619ad086c1bc6256986c0e698e61db186c2d0991503a991528199ca96bf995d8cc183a95d98cc883959ca996b0ae18500ae18ae8ae18ae10d99ca05098ae0ae158e6186c06c996186c186c06c186c86c1586c98e686c186c86c986c1611d71406a1501a86b858501a82ba56a02b501a854258509d71405850161426a0509a8543e6d86c161b256d836c363cb0d8ff2c363cace9e5883f99d0ea583a959d0cea7433a1d4cea7533a1d0ad43e585095a84d40a12c280b0a02b5095a83cad41e56a12c280d42a1350280d42a0350283cb0a0350a80b0a0350280d40a02c284b0a0350a87cd42a02c284b0a12b3a19d0ea7073a99d0e8583a99d0ea6743af99d4e86753a99d0ea567533a1d3cce8752b3a160e86743a160e9e6743ac1fffbd0c49001aae194d80f72b58554b59a95eed5a08d808b600db0d9c22d906367831b1c22d8c22d8fc18d808b620c6cf063660c6cf036cb66116c01b65b2116c7fff08b67831b3ffffc18d8720624024262422406caa96c696efe06634fe0696e2fe584b6f32c269733b61cd32c30d831cc2c2375639c339c120339d4da2bb08ec2364dcd360e5e480e5f978f9c97cd2197cb0901f3a909f39ce15cbc6904be7cef386904be572f1cbc909cbc909cbe90961202c24258480d21480232106484192108c80192008c800e4320064840db1cc036c36418d981b65b2116c7845b006d86c831b20c6c045b0116c81b65b2116c01f31b00c6c0339a0c6ce0c90046401190e0720900464184642119001c86400c6c831b2116c831b00ce6045b006d96c01b65b2116c81b61b006d86c831b006d86c031b206d86c81b65b006d96c045b00c6cc0db0d881b65b006d96c01b61b20c6c845b006d86cc0db2d90636606d86c031b308b6022d8036c363f06487fc1921846400c90c192084643e0c907c1921ff064842321fc2320c1921c2320e0c9083241c1920e1190ff0648383241ffe1190552b188b0719f7f4a1eb57c15bc66b19c46e821474a4645719988ab69bc4b11ac4311dc4b11cc47198c4b198882219502296045338ce33589622b388d62188c6338cc6318cc63588b071195222995222195022160a832a04532a0452b110ac4432a0442c08862208a78b1f95e23c58fcf1633c78bcae2162215c42c442b8a588a588be71221c58a716295c538b14b110b114e2442b8be5714e2c538b10e24538b10ae21c48871227f9c58a7162162216221c5885888712216229af5de585e6b9715ae2c2e35cbcd72e2c2e2c2f3f4b8b0b8ad715ae2c2e2b5e6bd715c42b885710b114ae29c48a588a588a58887122ff95c42c442c45f2b89e5710e2442b8bc238e11c611c5e11c5f08e3f83310331ffff8471047160cc708e3c198c238c19881988238c198e0cc7833103318471e0cc508e3f8331c0f1e3e0cc611c7847103314198e0cc5066308e3e0cc41f2c1e6a5119a1af08bc29b0f2a7b986cca7b194d8c3c98dd06f719b1a90d9a4346c69a4366c619b1a47f1ef71b39b74ef71ef76f71a08e3598fce351a08a081bc6bc61f9a79a953cd4de33cd7cde31e34a79a8de37cdfffbd2c4d083a94daee40eea974694295845ff597a0d1c3634ad1c0e3ff630e3f91c0d1c11c0dba0d98cd9a9b0cd98d98dba0d98cd9cd9ccd9cd98b0dd3e566cfe66cc6ce586e9f36e9367362741136271f831f81f9f34101f82c20898fc8fc1a080fc1a088fc18fc8fc04638846380323884638c191c0231c4191c40e38c71064700647108c7003530a640d4c29903530a600d4c54d08a9803532a6418a600d4c54d03532a600d4c29981a98532075314cc22d980db3367831b3831b381b666cc0c6cc06d9db381b666cc06d9db3045b3845b381b666cc116ce0c6ce06d9db3c0e384708463804638e118e0118e0118e2071c63881c718e0118e3f08c70038e11c00e38c7108c7008b66036ccd9c0db3b67c18d9822d980db336608b6608b6708b67036ccd9818d9818d9c0db3b670636706366036ced9c0db3b6606366845b381b676cfc191c2071c238f08c71f846380323801c718e384638c191c3c82bb45762bd6a189200a0f3144ca433d6cc69c36b368403455f43b3455ab8137c0e4323674ca4235040d5636b2cd573290d4a32a9ee6553dc8df03144ca294533f88be230f8d3e330f8c7e333dc8a4333dcd9d332908a4332908a423144ca423144ca433290851231448513314494a231448f7233dcc5133290c5122c0a24587e3d95bf1960f8ccf8cf88b07c4583e32b3e22b3e333e23e333e37e333e23e333e33e32c1f199f19f1160f8ccf88f88cf8cf8ccf8cf8cb07c4567c6583e333e23e237e23e284e898328981d13a2611a240ca2611a2508d1281d12a260744a8981be27c6117c4117c606f8df101be27c60c7c407f89f181be37c606f8df101be37c6117c6117c5063e208be281be37c5063e3037c6f8a117c581be27c7831f181be27c5063e2ff81be37c5f831f1781be27c4117c6117c40c7c4117c406f8df1c18f880df13e2063e2063e208be308be2845f1c0df13e2063e2037c4f8b08be3037c4f8fc1944c2344ffe11a27ff06513e11a270aa27fff08d1303a2544bff06512f065128468980001f961a0f32f89be330f8cbe22b674cd4a3528ccf727c08d4a25288c923183cc9221838b0ce9194867b9997c67f118fc69f198fc63f19b07b071c914919b07c91963f88a1f1cdf88f8cef88f8f46d3baae7aacd386d39aae6a254867487486fffbd2c4f0002ff59cc10ffad486bcb35849ff59b3574846a24a26574866fc67c667c67c667c6fc6583e233e23e22b3e332f82f832f92f9360f60f32f92f92c17c7960be3ccbe183cb05f265f2c1e65f25f065f0c1c56c1c582f832f860e32f82f932f82f8035f0be40d7ce0f035f0be7062f8062f9062f808af981af95f2115f006f8df1c22f8822f880df1be3037c4f8818f8c0df13e208be2037c6f880df13e2037c4f8822f8c18f8c22f8c0df1be3037c4f8a117c6117c40c7c60c7c708be208be208be2063e3063e308be208be3063e38317c8457c40d7c2f808af808af808af9062f9035f0be422be018be00d7caf9062f98457c81af85f1035f0be422be206f8df1031f1845f1045f1831f1045f101be27c7831f1031f101be27c7037c4f8c29f1818f8e06f89f1831f101be27c7037c4f8822f8c0df1be3ffc1944e0ca25f065120651284689fc1944cde666d451e74c692cb86aed3354ea7b2cc5691998436ef2c2dbe749e0b946bc1af0868cdd2784d19c1de4b1aa9bad88cd958dd05853d0c4716ce4cd8c23fcdd6d2ec8cbb275b4cbb31728c3671ba0c3671ba0c3661ba0c36545ccc36445ccd1731ba0c6e90d98b03c619e6a79a98f183c616078b2c2335af2a0b96565d91c7fa38144701611c0d1c51c3cd1c51c4d1c11c4ae3fb9e568e1fe58471336636636e9366e959b3f99b31b3959b399b31b3959b399b31b30323840e384700647108c700647006470c231c4231c606d99b3c0db3b6608b67036ccd9c0db336606367036ccd9c18d9c0db3366036ccd9c22d9c19ba40db3367064710647008c708323840e38c7081c718e0071c23803238832388463881c718e20c8e00c8e308c7108c7106470038e31c00e38471038e11c00e38c71038e31c60c8e20c8e0071c23881c708e0118e0118e20c8e0118e108c700647108c70038e31c70647108c7108c7008c710647106471064710647108c710647181c708e30647008c70c231c00e3847006470038e31c3065cafc1972ff832e5ff846e5419e3613f1bffffe11f19ffc19e33c23e340cf2c13a66bc22f044e35599b1a90d1bf8cb549bad85d91af091aa938d5665d997666b549b1866c6ad5268ce233468cd233651785150bb22b172cd19b5e10cf343cd4ad6de33cd4f3533cd078c2aa78064efffbd2c4f003b1c9a8c00ffad4867d2b97c9ff5eba9a783a34f013c12a93a6513c0993a64e9993a49e09549d32bbb235cbbb32b5ca2c2e515ae595ae59a38c7f1a382381a38a381c7fa381a38a389611c4a238fcb08e2584702c47f1a38a381a382389a38a3895a389c7f47f79a38238960a64ca61530ca65534ca64a60d531534b053058298354d29932982992b29932982992b2992b4712c2389611c4d1c11c0ad1c0d1c51c0d1c11c4ad1c4d1c11c0d1c51c4b08e068e28e268e28e0568e0568e068e28e2584702c2389a3823895a389611c4d1c51c7cd1c11c4b08e3e568e0584712b4702b47034714712b5ca35cb5ca2b5cb2b5cb35ca5ca2b5ca2b5cb35ca5cb2b5cbff2b5ca2c2e59ae52e57f95ae5161728b0b9456b9656b94585cbf2b5ca2b5ca2b5ca2b5ca2b5cb2b5cb35ca5ca35cb5cb2b5cb2b5cbff35cb5cbff2aae56cb0b95fe56b95fecaba05d4123552674e3bad48a9d373031554e1127497febaf30f887e332f18e2831290966285e38c9662f1cc5622b8ccae51ce0cc394994ac60e30e385623158838d3158c90e3243c90e31588563312904a53090c2422b1290c3e21f88c7e20f8cc3e33f8cc3e32f88b0307958c1c617c8c1c56307187c41f19607e230f8c3e230f883e32b0f88b01219848625215848658090cb0121160243f3e3db92c71e586e0db96e0adb936e38e2c371e56dc1b72dc1b72dc79b70dc15f1a586e4b0dc95b7056a69a9aa69a9b5b9a9aa69a98a61a9aa61614c3ad94d3532b63adab735314d3532b636e5b836e1b8f2c3706dcb706dc37056dcf9b72dc15b70586e4adb92b6e0b0dc1b72dc9b72dc95b726dc370586e0adb92b6e0b0dc95b73e6dcb706dcb726dc373e6dcb70586e7cb0dc1b70dc9b72dc15b73e56dc1b72dc7961b82c37256dc79b70dc161b82b6e4adb8f2c370586e4adb92b6e4db96e4adb82b6e4adb82c370586e0b0dc95b726dcb70586e0db86e3cadb92c3726dcb726dcb726dc37056dc1b72dc961b936e5b9f2c3706dc37256dc7fffffff063e30bcc78d1e34c5cca4f0c5cb8d54de87b760cf3598c4e3555e08dd6c172cd6dd3cd4de8698c0db374868c4716cdcc5ca75b0c5cb1728d19a4668cd8c23fca1b1b323fd6a932ecd19a2c0b946bc1233462e5233a71fc8e271fe8e268e11fc68e2fffbd2c4f081f03160cc0ff6d7863fb5d7d5ff5a2a8e27e69e6be56f1a7e69e69e6f1af1a57e6bc2b78dff3471471347147034704703471470347147134704703470471347147134714712c2389a38c7f1611c0d1c51c4b11fc68e28e0584712c2389a382381ae52e51ae5ae51ae5ae59ae5ae5945cb9ae52e596172cd729728d729728b0b9456b95e157280772ae5846e5046e5c1972c19728237281972bc0ee5dcb832388463881c708e2118e0071c23801c708e0071c63801c708e2071c23801c718e0118e00c8e2071c23801c718e2071c23804638e11f1bc19e330af1bee0cf1bc23e3423e31a0cb940cb95c23728197281972b03b9772ab065cb08dcb065cb708dcb08dca581dcab940cb940772ae57d5fe0cf1908f8de0cf1a15e3411f1a15e35fd55423e3611f1b5419e317f5e11f19f08f8d0678c833c6423e33f0678d81f8df1b5f33a38e8f3e1d21d43b49168319d0eceb83d0ece2c92270d155ae00e1856b28c69d355ccf736748c513290cda0f8b20eb808b24a844e99ee65219a9462891b3a65211c59044e9b41e44e96115532275155d151d3a33a38e8e33a3ce8f35a08b3232cccb3228599ccb322ccca8b419bf1df119f11f199f13f11bf13f1143e2161f88b113a5589d389c89d2c44e162270a44e3cae270da75a70da71a74b0d3a6d38d3a6d3ad386d3ad3856d3be56d3856d386d3baae56d39e56d386d38d386d3ad3a5355c56d386d38d39e6d38d3a5869d369c69cfef95b4e161a77a56d39e5869d28d3af2b69c2bd56f369c69d2b69c2b69d2ab4e1b4e34e1469c1b4e34e95b4e79b4eb4e961a77cda71a70da71a730369c69d2b69c2c34e7961a70b0d3851a706d3ad3a56d3a56d386d38d3a5869df2b69c3d5669c28d3b2c34e961a77ffcada73cada70a34ef45869c2b69cf2b69c2c34e95b4efe8ada70da71a74b0d3bb2c34ef961a77ca8d385869c2c34eecb0d3857665ffe58b322c599fecb16645766658b32ffe73fcb166657665e7665666766766458b32f2bb32e313316f31e1f6ee56bfff9beaf3144a96237c0851329f118e4335288e4333dccd9d35288d9d22908cc38248ccf4e183cd4a32908d4a3a588d4a33dc8c5132908c513528cca42528cca433dc8cf72290cca425288ca43290cdf03290cd4a2290cc5133dc8c512fffbd2c4ff03f49152ba0fffc5c651b59801ff5a901448cf72290ccf733dccb07b999484a511948428998a242891948628916144ce90e908ad448d44d44cd44d448ad448a2894b0a27e585123513a432ba42d95a8916144fcd44d448a8a246a24a266a24a2452909e58513f849f1c22f8a117c406f8df1831f1031f101be37c607f89f1845f1831f181be37c6117c606f89f101be37c606f8df1031f101be37c508be2037c4f8e117c6117c508d1308d1203a274482344b0651306513065138468941944c2344c2344a0ca260744a8901d12a270651383289c0e89d12f83289e0ca258468941944c1944a0ca2508d138468904689b8468941944e11a278328901d13a260ca2583289e11a2781d12a24f83289832890468984689032898328942344c1944e11a2706513f83289c2344f06512a8234481944a0ca260ca258468941944b8328976e11a2584689feae11a244c414d45332e313030aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf2aa8207219b3a45243318a27c791a946a519a4c849198c1c7a7997c65f119fc47f19486126d651aae67f1a7c6517e21587c4617c1244661c9246661c124666ab9aac66ab0d3a66ab35966a082822634e2820566ab19aaca0896069d2b355cc69c5040acd563355cd562c0d3a574845144a56a24748748656a2658a4337e23e233e33e22c1f1159f119f11f1959f199f13f11bf13f11d21289161448b14847486a246a26a27e51449e585132c28981d13a2611a2411a260744e89832890328901d13a2708d1303a2544d82344e0ca240744e8981d13a2411a25846890328981d12a260744a890468903289e0ca2611a240ca2611a270651283289784689c2344c2344c234482344c1944c0e89513f8328981d13a2783289c0e89d1206512ef0669d8334e78474ec0f4e69de0cd3a11d3807a774ee11d3abc19a77ea7c19a760cd3bb419a7019a73ffff8474e8474effffc19a77ff08e9db3ffffd6bf9913a8aa1f9eb1631445566a510a2472198a24777c28226d65359675c09138644e11387163570651a0f9c59044e1a2a88aa14455e67b9948667b93e066ce98a26644ec592644e913a6d0722aa51a0f142274644e22aa644e913868aa1138644e341c644e113a552274aa44e1a2a844fffbd2c4e581eb5da6c00ffad4867d3597d5fb5f98e18d3834e19aac34e18d3834e18d3a34e958d3a581a74ac89c2b2274aa8aa9913a44e15913bfe644e113a634e0d3a634e0d38634e1aade5634e798d3834e158d3a581a70ac69d2c0a2662890a2456289958a245628998a2628998a24289958a27fe65210a27e0744e89046890468942344c2344c1944825448234481944c2344e11a2503a2544c234480e8951206512832898328901d12a240ca240ca270651306513065136e11d38c11d3811d390669c08e9c03d39a7019a7207a774ec23a740f4ee9cc19a7423a7607a734e0474e8334ee11d3a0cd3811d3a07a774e419a740f4ee9d03d39a7611d3bc19a7019a7023a7207a734e01e9cd3908e9cfe0c22742244ef83089c7089139f06113bf088d39fc1834e42234ebc1834e60c1a77f060d39e111a77c1834e84469df6c2244e550000001fcb08e06636ca8663496e6fe26366634fe069b4c32673aeae673a9b6586192b1cc33b73b63411a5531f94112b410383d62731f86263626626331b31a34b731a317e17e34b64b732982992c2a69594c194c94c795a089a0831318fca081a088fc9625e3979212b484ad2134825ef2be70ad203979203485203481213481203485212c24256d93e6b64db2d92c364db2d836c364af9856d82c360f9ad92b6c79b65b06d9e61b61b26d96c15f30db2d93e6b64db0d82b6c161b0589079c8243e7219015c80ae40720901c82407219079c8240720909c864056d92b6c1b65b056d8f36c360db0d836cb64b0d82c360adb056d82b6c9b6798586c961b056d92b9095c84e43202b9016243ffe589095c84e4121f2c480e4121390c84ae4057212c484b120ff2b907f95c87cb121390c84ae42589095c84ae425720390c80ae43e58909c86407219016240589095c87ce4320390484b120f2bbfff962fe577ef2c5ffcb17ef2c5f8aefc58bf9dfafde58bf962fde58bf1dfefe77ebf15dfcaefc577ef2c5fcb97d859c2ab88e7fa3cb0599194842891be04a51998724911aaf47a799fc43f19a7c4ff11978c122992ce71415948456a5119fc61f19553e232f8cbe232488c393248cc393183c60e31a70d5631a70d563355c69c3355cd573144c5123144851333dc8512314485122844e4d1554550a11383227089d2b2270afffbd2c4ff83f1c956d46f779446f42a9881ff7690d448d44e908d449448d44d44cd44d44cd44d448cf8df88cf8cf8ccf8cf8ccf8cf8cacf8ccf89f8cb07c6583e232f82f9360f2f92b2f832f92f932f92f82c17c960be4cbe4be0acbe3cef9be0ef8be4ef8be0ef9be0ef8be0ef8be4b17c15df258be0b17c1df37c1df17c9fc7f11fc5f115fc457f19fc7f1163e23f8fe2f2c7c47f1fc457f1963e32bf8fcaef82c5f277c5f277cdf277cdf058be4b17c79df17c15df077cdf077cdf058be4ef9be3cef8be4aef9f3f8be22c7c5e57f115fc457f1963e3f2bf8cfe2f8cb1f1163e33f8fe3f3f8fe33f8fe32bf88b1f115fc457f1963e32bf88afe22c7c458f8cfe3f8cb1f1795fc5e58f8cb1f115fc67f17c7e7f1fc458f8cb1f1163e22c7c657f179fc7f115fc457f17963e32bf8cb1f19fc5f19fc7f179fc5f1963e22c7c658f88b1f195fc47f17c457f115fc67f17c658f8bfcafe32c7c7e57f195fc658f8d5f2a2944630705f26c472af66abd8c1a661c9872693205f069320c1c510881978e4b3192463071a4ca49199e9e7a71987017c18c1e17c19c62b198dc2b118dcab11d21a891d2152179d21d2195df1160f88cf8cf88df89f88b14867ee4a25fe56a246a26a25e6a25485e6a26a27e67c47c5e67c47c667c67c6567c5e583e32b3e3324324232422432b243324324232422432c12199211219921252992112116090cac908c90c908c908908c90c908c90c90cac90cc90c90cc90c908c90c90cc90c908b048664844840c5f2115f00c5f108af8035f2be2115f18457c6115f20690d210452101a4294a1148406909218312140d21a4308a4208a420624281a424861148406909210452101a4348508af9c22be206be57c0317c8457c8457c422be60c5f2115f20c5f1035f0be418be2115f20690d2181a424840c4840c4840c4840690921e11486114841148606909210452181a43484114860c4870348490c229080d21a4208a430624208a4308a428317c0457c422be40d7caf9062f9062f9035f2be40d7caf8f062f98317c8457c0457c6115f3035f0be018be422be3fffff08d12f2c3d10653614da6a7ba2e442a7a1a9eea7b9a3362e518b971aa9445cc6374b0f2564019957055c1437be63748dd2653694d863c68f1863c6adbc6b6f8f1a53cdfffbd2c4f103f43180ca0ffacdc623b25881ff59f847e6be687e68f1a57e6857e687e6af187e6be687e69e6a6f1af145478a3f3578c378d78c378c78d378cf352c3c61478d1bc63c6961e34ade30adba4dba0d9bcaadd2566cc583672b36633676e834704712b8fe38fe4702c2389611c4ad1c4d1c11c0ad1c0d1c51c0ad1c0d1c11c0d1c51c0d1c11c4d1c11c4d1c11c7cb08e3e584702c2389a382389611c4b06cc583672c1b319b39b399b31b3f959b399b31b3959b3960d9ccd9cd98b06ce66cc6ce66ce6ce118e2071c238c191c4191c7038e11c40e38c70038e11c4191c4191c40e38c70064710647006470038e11c0191c40e3847084638e0c8e0118e00c8e00c8e20c8e308c718323804638046388463881c708e20c8e2118e20c8e2071c238c191c0191c0191c0231c40e38470c0e38c7008c708323804638c0e3847108c7108c7006470606470c231c60cf1bf57ffffdffffff846e5e0cb94a00002f30be4c3831084420332746f434224bc73259824431839265263070b039c183701c6961c14d2938a4eb9158cdce0e30eb95588eb8ce3cd58ce3cd589588cbe648cd83cbe0d83f0e0e48a48cc90c90cc909c14c909c14d295290cbe248ccbe1838d83cbe0cbe183cd83cbe0cbe1838cbe4be0cbe4be3cacbe0b05f2569485648664844845694a64864846486487fe6dc3706dc3706dcb706dc37256dc9638f2c370586e4db86e3cf8f6e0f8e6e4f8f6e4db96e7cb0dc1b72dc161b82b6e3cdb86e0db86e3cadb836e1b82b6e0b0dc9b72dc961b936e1b836e1b82b6e4db86e4db86e4b0dc1b71c71a9aa61d6ea615a9856a69d6ca61a9aa695a9856a69a9aa6f95d6e56a61a98a69a98a69614d2c29a56a67962432b90fffcb121f962422c485e572196242f2b908e43908b12115c87e572115c865890bcb121f95c845721ff9c8521162432b90bce4290ce4390bcb12116242f2b90cb12196243f2b90fce42908ae432b90ce4290cb1211c85211c87211c8721f95c85fe5890ce4390cae432c485e572115c87fe572195c87e58908e42908e43908ae43ffdbf587ccf8af88c7054224d7aa4ba8d7e30f8ccfe21f88d57a248cc2f80be4ce281294b04b319c5097518e0a4b3197cfa79fa7e1c197c97c9fa7307997c17c197c61c9df1df119f11f19df15fffbd2c4f303b38556ce4ffba9d6c3a41945eff822f199f15f199f1bf199f19f19df15f1160f8cdf8cf88ef8cf88cf88f8cb07c467c4fc66c1e5f065f05f265f0c1c6c1c5f265f25f265f05f265f05f065f25f065f25f26c1e5f256c1fe582f832f860f31b838d31b91b931b91b931b81b82b1b931b81b92b1b831b938e2c0dc18dc1c695a5279921921992112116090fcd295290c908908b048464864865824332434a531b81b831b81b931b81b92b38f2c1c7160e34b0372563705838f2b1b831b81b831b91b82c0dc9606e4c90c90bcb04845824232432432b24332422432b2422b2422b24332432432b2422c1219921121f960908c908908b04846484485e64864845648658242f2c121959211592116090bcac90cc90c90cb048664844866484486564866486484564846484484671c3706ac6371e637071c6372370637237063723726372372637237063723706370372581b931b81b82b1b82b1b831b91b82b1b92b1b82c0dc959c7158dc98dc8dc98dc8dc79606e7ffffeef34bdd4378ce2398c633b8a623188e23d8a62338ae23578c737dd5f2c1c65771985e3d98f6d59abc17163c634bd2f32248939ed2e32232137512e3751d5375488f34bdd534bd2f32208939e92f32212f32248934bc892b4bcc88224d2f220ac882c11269711058882c4495c41c44495c41c4c415c415c4162a0ea514ad14ad14b0887508a68a8bfe75088584434545344a8345a82c221a2a21a2a29a2229a2a29a2221d4a29d4229a2a21a2a29a2a215a21d4221a2a29a22295a279a2229a2229a2a29a22216114ad14ad10ad14d1114d1513cd1110ad14b15268a8a56885689e5844345442b442b4534544345452c229a2a29a2a296114d1517cd1110ad13cd1114ad14ad14b08a68a88568a568be68a885688588938988f2b88f2b88f2b892b89f2c447fff95c496220ae24ae23cae20e2624ae27cb11056c5e5863363622c3115b115b19b1319b13115b19b1b11b13195b116188b0c5e5863f36263f2c3195b11b1317f96188b0c60c44ffff84513fe0c4404513e0c44fc188908a2708a27cc484e74d866254aec44c97d36cd860484dd5ce74b073a64bf12a69b424265841b261ac9585825e312039c325e894339d757312025f2b619312139c3120120325f4db31201213121fffbd2c4e403eff9ace40eeeb7c67f361b01ee56f01203120120312125e3121120325e25f325e4da2c12f192f1ce18909ce996106c160730b01b063981b063981b0580d9f2b909c8240721909624058901c8640721901b679a586c1b61b056d92c363cb0d92b6c795b63cb120390484b121f2c484b121f2b9095c84ae4058901c86405721ff2c484e4121f390484b1212c484b120f2b909624056d82c364db2d936c360db2d92c360db0d936c364db2d82b6c95b64b0d8f2c360db0d92b6c95f34b0d82c360b0d82c364db0d936cb64db0d8f36cb64db0d82b6c7961b2586c15b60b0d92c360db0d936cb64adb2586c15b60db2d82b6c79b65b056d92b6c7fff961b3e56d936cb64db2d92c364b0d82b6c161b3fe6d96c95b60adb211907846400c90c192006482072190c232106484232006483e0c90c1921c0e4120064802321c19218464308c841920f846401190c1920064861190846400c9060c908324384641c192106483f08c842321af3210329369d2693340190343f32830fa66d366d89d35569b2332843e355643f35569b2389d66c327a1d4346c27a33c746c2882d31910ba2b26937840fa321055630fb210343f32832103292b3292b3292b32830fb210321043e3210211321121030fa0fb3843282b3e8f28840cfa3eccfb3eccfa840b10819f47d99f67d99f70899f47d19f67d15c2267d9f7e7081f467d1f5e567d99f47d159f667d9f6583ecacfaff2c1f4583ecae1133ecfa2c1f6567d159f467d9f667d9f6583efcafefcafecafe8b1f458fb2c7d9fd7d15fdf95fd163e8b1f457f657f657f7e57f658fb2c7d963e8b1f458fa2bfb2bfa2bfa2bfa2bfaff2c7d95fd95fd7ff95fd163e8febe8afe8afebcafecfebebfffcfebebfcfefebcb1f458fa2c7d15fd15fd1fd7dff9fd7d163e8fefecb1f458fb2c7d15fd163ebcfebeffffcafecfefe8afecfebecafecb1f658fb2bfbff2bfb2c7d95fd9fdfdff9fd7d1fd7d1fd7d95fdffffff95fdff9fdfd963ecafecafe8febebcafebfffcb1f657f47f5f5e7f5f7fe57f67f5f47f5f5e57f7e58fbff2c7d15fd163ebfcb1f657f7fe58fb2bfa2c7dffff9fdfd95fd985e171611230b82f3a39f7357a8e30b91337c8cc31649334495e331d13324c583248cd30bc7a37d8c630b8c73248cd33301d31fffbd2c4eb83f475b2d80f7774c5b935dd81dd66d8609331e8c630bd1230bc7b30b87a31ec2e2b578c7a44cd130bcb063985c3d9602f30bc2e2c05c63d8f666305e61705e563d985c17985e179aef456bcd7ae2bf46b97961795ae35eb8b070ec1d33a70b070b070b073cb070ced9ff2b5c56bcd7ae2b5c585c6bd7ff9af5c56bcb0b8ad796179617f95af35eb8d72e2c2e2c2f35eb8d72f2b5de6bbd962e3bae2c5e577f9df79dd7162f3bee3bee2bbbffffcefb8b17f9df779dd7962f2c5e577ffff9dd795de57715de57715de58b8eeb8eebcefb8aee2bbcefbbcb177f95de58b8efbceebbfcb1795dfe77dde77dc5777f962f2bb8b17162f2c5de77de775fe58bcaee2c5e77dc775c77de57715de5771dd7962e2c5e58bcaefff2c5e58bffcb17795ddfe58bffcefbfcb17f9dd715dde57715dfffffe58bcb177ffffffff95de5777ff95de577962f2c5c57715dff31a71aca3861eef93355daca37c0a43335288f7337c094a12b3dc8c2f91838c92255e8eef81a70d4118610c2f83d38cf4e248cd26530e4a0a27285214d9d22908a86ab1a822a08160d5636b28d5631a75acb3355d41033558d572b1a70c69c1a74d4111a74b034ef98d3a34e9d21289f9d21a891d212899a892899a89a89f99f11f1962f88cf88f88acf88cf88f8cadf8bfcdf8cf88cf8cf88acf88df88f88acf8ccf8df8bccf8cf8cacf8ccf8cf8ccf8cf88acf8ccf8df88cf8cf8bccf88f8fccf8cf8ccf8cf8cacf88cf8cf8e117c414f8a06f8bf101be37c6117c4137c4117c6117c7063e3063e2063e2037c4f8c23f8823f8e117c406f8df1845f1845f101be27c4117c40c7c508be2063e3037c4f8c19f8822f8c0df1be20651203a2744a0744a89c194480e89d13065130651203a2544c1944eb81d13a260ca240744e89f853e3418f8818f8818f8c22f8823f8c0df13e381be27c606f89f160c7c6117c7037c4f8c0df1be2037c6f8c0df1be281be27c606f89f1831f181be27c40ca2611a240744e8983289046898468903289419448194480e89513832890328983289c0e895120651281d13a240744a890468983289c23448234480e89d13d0eaf5c19a76dea8474e8334e2bffef0669dfffffd5e6498b0751af860e372684a86587c8ccdd48c59074cb41b8c6e358ccc160d08070fffbd0c4fa03fa5daac20ffad4c5bcb45e01dd62d0d43164ad433164933165092b24cd09248c58164c93420c59164c1c160d09160ac923420923164583074cc2c03860e0b2562c79601d3070593070932b074c1d070ac5839614d4282b506a029840a61429cb0a585264489608990225644c8bd32040c8912b206408991225644b0f4c81032240c81032240ac816081608191205640b044afa7de796387de7963be7de95f4af858e7f96225703840e302c44b11f38c3cb1038c4e312b8f962070895c4b1d3e70b1c3e74fbd3ef4fbc3e74b1c3e74b1d3e70f9dff2c73caf9e58e79f79e7def95f7cafa58e95f0b1d2be16387ce95f7cafbe58e95f4b1d2be163a7de7f9f3857d2be963a57c2be95f0afa7ce15f4afa7ce1f7857cff2bef9f3be57dff3ef0b1d2c74afa58e963858e963858e963857c2be1f7a57cfff2be95f0b1c2be1639e57c2c70b1cf3ef4afa58e95f0afa58e9639e7ce163858e963a7de15f4b1cf312012035a04ac34ad1cd31cd3b635a05a0322b47131991992c09a982989a960398c650398c3612b0cb08edcc730730cd34418c1d4660c1d4664c48097cce70e70ce74484c480480c360360c734364c730364b039a65841b265841b2561b0580d92b0d93831d4acea7063a19d0ea707cc99d4ea63948958e0c703831c39bcc723931c244c703832994cb05232994cb052ff2c14cca6c3f2b29160ea56742b3a19d0ea6753a159d0acea56752c1d4cea7533a9d0cea74fff2b5015a80ad41e5850f9a8541ffe5850959d4b074f2c1d4ce8752b3a99d0e8570633a9d0ace8583a959d7cce874f2b3a99d4ebe56ea6e8ea56ebe56e86e8e86e8e86eaea6eae9e587537474375752b7537575374742b742b74f375752c3a1babaf9baba95ba961d0dd1d0add4add7cb0e856e858752b742c3afff9ba3a1ba3a79baba9ba3a161d4add0e8280b1427434258a02ba02ba1f2c501d050796280b14058a03a1a12c50796284ae80e8687fcae83cb14058a0f2ba1fff2c5095d016287cae87fcb1405741e74343fe74143e5741e74141fe58a1ffff2c5095d0f96283cb143fe574258a1f2c28206c48311e6abd8c1e65f197c667f137c67e36a8226d65a82263f197c661f11fc667b99ee662899ee64d41099aaea089b5966ab98fc63f11a7c63f118fc4fffbd2c4f003f3f1a2e20f7375467ab55881ff5a685f198d3834e18d3ad6618d3ad6518d3a6ab99aae34e959aae66aba820634e1aac57aac58d57369cd56cca34e4b0d3856d386d3ad39fc2c34e1b07b07997cb07197c3071c91307997c17c160be0b05f2565f26a26a26585122c28915a89f95a896bfcd44d44cc90890cac90cc90c90cd294908b04865648456484648448656486582423242242324224333e33e233e33e32b3e32c1f119f11f1160f8cacf88cf8cf88cf88f8cacf8cb07c667c67c467c67c6583e3037c4f8c18f8a06f89f1031f101be27c6117c7063e2845f1418f8a06f89f101be37c4117c60744a890328960ca2411a240744a89046898328981d12a240744e8904689c0e89d1284689708d1308d1283289e0ca27c0e89d12c2344f8328984689032897f81be27c40c7c406f89f1845f1845f17063e308be3063e3037c6f8c18f8822f8818f8822f8818f8f063e3831f101be37c60c7c406f8df1611d3bff8474eefffff7fc23a77fff42af314d42032684ee3268340355666c332966d3328556332832830fb43e2c21f1a1f9081908a1f1a771a019341a01a7705d99348c898c80c819341341a1015b98a68a698a615b9ac515b190887d187d07d987d108190819479595b995b8a698a68a61595b15aecad746bb5d95aecd76ba2b5d9ae976585d1ae974579035d2e8d74bb35daecd74bb344220d112f344220b088344a20b088344220e5e89344a20d12893e2e22c311f1b11f1311b13195b196388f8b88d8d8cad8cd8d8cd8988e2624e2620e2624e2220b113e5710711127131271113e58893898838988388883888938989f2b88ff388882b89389882b89388882b8938889389882c449c4c415dd7962ebceeeecb17477776775747757658bb2bba2c5d1dddd15dd962efcb1745777e577458ba2c5d9ddddf9dd5d95dd95dd162e8eeae8b176577458bafff2bba2bbb3bbbb2c5d9dd5d795dd1dd5d1dd5df95dd162e8eeaebfcb17458ba2bba2bba3babb3baba2bbb2bbb3babb2c5d15dd962e8b17658baf2c5d15dd7962efffceeeebcc3e21f88ccb92b88d23a48e8c85e162ca10bc31838f4ed9a4ca17c9924617c987c67f119fc43f1187c63f11613e231f8cbe2309087042b259cc7050908cfe21f8cac7e230f883e332f88be230f8cbfffbd2c4e803f01956de0f73748691b259c1fedab8e231f887e32c07c6503e3987c63f1187c41f1987c41f1187c61f19587c7e7f17c657f19fc5f179fc7f115fc458f8bcafe22bf8bfcb1f11c852195c865890cb1211c872116242390a43390a42f390e432b90fcae42390e42f390a43390e42390a42f2c4865890ce43908b0dc961b836e1b836e5b92c370586e4db96e0adb936e5b92c37256dc1b72dc9b70dc161b836e5b836e5b82b6e0b0dc1b72dc161b92c372586e0db86e7cb0dc95b7056dc961b92c3726dcb70586e7cb121962422b90cae422b90cae43390e43390a432b90cb121f9c8521f9c87219c8521f95c86721487e572116243390a42f2c4865721ff95c8458908e4390bfcae43390a43390a432b90cb1211c872116242390a432c485e72148658908e4390c1890e0c48508a4284521c1890a0c484114840c484069092181a4348508a4383121422908189082290a0c4850624308af808af8ffe0c5f1fff8457c0457c5500002f317f4b633b769735a12c23ffd655317f7f1331bb28365417f312125f325e619317f98c331a17e317e31b3b294b62c18d19611611a5616199db0e698bf8bf9a5b8bf1a5b25b998d98d18bf0bf998da5b18bf18d98bf25b198d98d98bf18d1a5b18d958bf95a5b9afcbf9afcbf79617f2b5fcf1a5f8d7f5f8d7e5fcb0bf95afe6bfafe56bf1afebf1631b2b480b0901625f2c24269024072fa40690242690a42690a40690a406902406904bc58483cd2097cad202b483cd20484ad203481212b480d20484ad21f397920f2b487cb0909a429015a4256901a42901cbc901a429095b9be66c1b066c9b2566c19b0e6960d82b364cd9360dcd360cd8360b06c159b058364cd9363cb06cc237ec197ee11bf60cbf046fde11bf60cbf846401190846400c9081c86420c90046420721900464007219081c86400c9003243039048607219060720900464306484192106480237e832ff065fe11bf40efd7e08dfc0eff7f08dfc197f81dfefc0cbf81dfafc11bf40efd7f065fb065fc197fffffabfffff065f90403cc4102950c62707e0d6dd07e4c83d1044ce8107e0cc6a2954c6271898cc6a1044c41120f4c6541950c7f00c68c411189cc62620f4cc6b20f0d2ddfc4d9505f8cc68c68ad044c7e2950e0f47e4e0f20f0b0c4fffbd2c4ec813099a4d64f76b556e6315a95ff71bac56c4e56c4e63f23f25682068223f263f28226c4c3f2581f8341141131f91f92c0fc16189cc7e1040ac7e0ac7e4c7e07e0c7e07e7cb0821e563f0563f062422426240240624224256240581202b12131201212c090960480c480480ac484c484978c480484ac480c484978c484487cc480484b02425825ff2b1212bbff9dfefe77fbf95dfcb17e3bfdffcefd7f2c5ffcaefc77ebf1dfafe58909c824258907f9c86425720390c80ae4058901c86425720390480ae4057212b90f95c84e4321f2b90962427209095c80e41202b901c86427209016240720909c864257202b909c82405721390480b1212c480b17e2c5fcefd7f2bbf95dfceff7e2bbf162fe577eff2c5fbcefd7f2c5fcaeffe58bf95dfffcefd7e2c5f8b17e2bbf9c8243e589096241e5890962427209016240720901c864057202b9016243fe589096242721909c8642589095c83ce41212b9015c80e41212c7e3fcaff3fffffffffffe57f9ffffffff2c7e55f314d6f4319169c334141731d5320308946c341734134170ba33211d5332112f2c0b198f18711897990984413d984493d9a0b85d98c80c818c81349a995b1a98a69a98a6962b633ea1133ecfa2c1f467d9f458537cd4d534aeb62b534c894b8c894b8d2e4b8b0441a5c44f9b1b11b1311b13115b11b1f11b1b11b1f19b1711a2d41a2a279d42295a21a2a296110ea510ea510d1510d8d8cb0c4586336263363632c311b1319b13115b11618cd898bcae20ae27ffcae23fce2223ce2224b111e71311e577658baff2c5d95dd962ecb17458ba2c5d95ddf962e8aee8b17458bb363622b63362632b63362632b63362622b632b622c311b1b11b1b11f1b115b11b1b195b179b13196188b0c66c6c67131058892c44795c495c41c4c495c49c44496224ae23fce2623cb11258882b892b89ff2b88fff2c441c4441c4c416224e2624b112571057107131271311ffe5712571258883888938989f2b892b89ff38889389892c449c4c4f96119a39a1cdee361e4a6d3914c8ff336348ff31534d6c2b563cc6191d5cc4db0978ca5507e4d09920f0c8022ae4cd6c1534c2980a60cdef1ba0c3660d98c3671ba4de31e28aaf187e68f1a6f1af1a54a6d33663672b6e936e836734714712b8ff38fffbd2c4e483ecd556e20f776ec706aad981ff75f8ff47038ff4712c47f1594c194caa6194c94c994c14c194caa6194c94c15a08958fc18fc0fc1a080fc9b132089a08a081a088fc158fc98fc8fc98fc8fc98fc0fcf98fc8fc9607e4c7e07e4b03f0563f2581f934101f831f91f92b41031f841031f91f82c0fc1607e4c7e5044c7e47e4ac7e0ac7e0d0407e4c7e47e4d0447e7cd0447e0c7e07e0ac7e0c7e07e0c7e47e4b03f2563f263f23f063f03f0581f9ff2c3f2587e0adf82b7e7cdf97e0b0fc1bf0fc1bf0fc9bf2fc795bf056fc961f837e1f937e1f9f2c53258a64e99a67ce99a64ae992c53274c53258a64e99a64e99a60b14c1d314c95d3274c53074c53074cd32574c95d3274cd3258d9bcb1b3963672bd9fcaf662c6cc7b36ce7b3ece57b3ff9ecdb316367f2c6cc57b3795ecc58d98b1b315ece57b315ecc57b395ecc58d9cb1b3963672c6cc58d98b1b31ecfb3ff95ece58d98af66ff3d9f663d9b662c6ce58d9bcb1b395ecc58d9caf66f2bd995f31a74d5738745265324902f836f8cfe233f8d3e33674ca43367494a23248c2f930be02f831f893e334f8c7e232488c392a0c1c661c124657ee67484a267485ee46a25ee47ee4a2457484748548656fc667c6fc456fc4587e23512a422c5211a89d211a892899a89a8919f1bf1943e2f99f19f1160f88acf88df8df8fcb07c66fc47c7e583e22c1f1f9a52121192125219219219a5225299219211921a52f9a521219a521211a52121997c97c960be4cbe5838cbe0be4acbe4acbe0cbe4be4acbe0cbe4be0b05f265f05f3e577c1df17c1df37c15df1e77cdf058be7cef9be4ef9be4ef9be4b17c962f92c5f2577c95df058be4ef8be4b17c1df17c79df37c962f83be6f83be2f82bbe4b17c795df0577c962f8f2c7c47f17c7e58f8bcb1f115fc7e58f8bcafe22c7c47f1fc7fe7f1fc657f1f963e33f8be33f8fe22bf8cafe32bf8ffcfe2f88afe22bf8bcfe3f88fe3f8cfe2f88afe32bf8bcb1f1163e32bf88b1f17963e2fff3f8fe32bf8cb1f11fc7f1963e3ff2c7c5e7f17c5fffffe7f1fc7fe7f17c657f1f963e3ff2bf8cb1f179a08f40992f5881a6d30c9b137401a08a089545f8b131a56ca8731afe2696ecaa73182fe68234aa63f10787078c4e74a83f0563f063f0c4e70798d674a8820fffbd2c4e783f1f556c80ffbadc667b3da41ee572078d43f06822820682082056c4fe682082063f23f0584112c0fc158fcf98bf0bf18bf8bf198d8bf960c68acc6cac5fffcd0447e4c7e07e3fcc7e5044b03f27f8fc163f057f93fc7e7cb1f92bfcff9fe3f27f9fc9fe7f257f82c7e4b1f83fc7e0aff3ffe58fc1fe3f2577f2c5f8eff7f2c5f8efd7e3bf5f8eff7f3bfdffcb17f2c5fceff7f3bf5fbcff1f82bfc1fe7f258fc1fe3f058fc9fe7f07f8fc79fe3f3e7f8fc15fe0b1f92c7e3ffcb17f3bf5fcefd7e3bfdfceff7eff3bfdfceff7ef2c5f8efd7f3bf5f8aefc58bf162fc77ebf95dfcaefc58bf60cfc047f207f8fc833f1067e211fcc0ff3f9c23f9067e611fc033f011fcc19f808fe60cfc033f108fe419f9c0ff1f9847f007f8fc847f011fcc19f803fcfe419f8c0ff3f9c19f8067e60cfc047f303fcfe703fc7e607f8fc423f808fe3847f00cfc033f211fc047f007f9fc847f381fe3f3833f00cfc833f3c23f9833f103fcfe40ff1f85f34b617e36544b7317e7f1378c69630d95a03b2898d331b7f02b39c325e619325e121375712131cd3b732c20d931cc697315c0a02c16b990d8ae198da5b98bf25b998db2a18bf18d9a43ce9a432f9a40901a412f9f39ce9f3b2f9f392f1a42901612034839d2c24269024072fcbc690242690a406d96c9b65b26d86c95b60db0d836c360db2d92c360f98d82be695b60b1cd36cb63cb0d936cb64b0d82b6c1a814056a1350283cebaa12b5015d73cad426a0509a814275cae1624057212c483fcb1212c483cb121fff2c483cd42a0350a80d415d350a80d42a0350570b0a0f3ae574ad4258509a85426a15015a84d42a0350574b0a02c364db2d836c364db0d936c360db0d82b6c1b61b06d96c961b3e6d96c1b65b06d86cf95b64db0d836c360b0d836cb64adb258e6961b1e586c95b64db2d92b6c15b64adb26d86c961b26d96c95b64b0d92b6c961b06d86c795b60b0d92b6c961b2586c9b65b1e589016241e5720390480b1202c484e4120390c83cb120390c84b120390c80e43212c480b1202c484e43212b909c864057212c484b1212c483ce4321000fe62a690046401957256d7c1a044401990048111a046401158532620814aa56208987383ab184bc3ab986343f81931a32a9863432a98c4e41e9907fffbd2c4ea03b2f156da0f7790863b335a4dff5618a2081882220898a9a14c9900655c985328111853214cf9c014019aa694c994c94c194c14c994c14c1aa62a6194c94c960a64c7e47e4ac7e3fcd0447e4b08225825e325e121312025f2b121325f25f2c090960978c4844860cfc847f211fc01fe3f011fc81fe7f20cfc01fe7f00cfc047f20cfc01fe7f00cfc833f20cfc847f103fc7e60cfc047f207219001c86420721900324108c800e432108c84192006480232103904840e4121833f011fc01fe7f103fc7e3e0cfc033f007f9fc047f011fc01fe7f007f8fc419f908fe308fe211fc047f00cfc847f207f9fc847f20cfcc0ff3f8067e7067e023f808fe40ff1f9067e211fc033f011fc833f3833f303fcfe3067e00ff3f908fe019f9833f20cfcc23f903fc7e019f808fe023f8e07f8fc40ff3f8833f1067e423f9847f207f8fcc19f9847f207f8fc033f211fc847f00cfc033f1a99d67fa933ccc957f313fea3d51f6a55f31a7069c3183d26534990c3934f8d3e236f88fe235f8a7e232f88fe331ce038c31588cb934a59673bc724235635633739738338f90f34a470437054a5324324237e3be32b7e333e2be337e27e32b3e333e23e333e33e233e37e22c2899a895211a89d21f0b0a2456484648648456484648694a648648456484582422c1211921a52159211592199219211592119211211fc5f17f95fc457f195fc5fe7f1fc658f88ef9be0b17c1df37c1df37c1df17c9df17c15df2577c15df277cdf277c5f277cdf3e577c962f93be2f9fff2bbe4ef9be4aef93be2f8ff2bbe0db96e0adb836e5b836e38e36e78d36e1b82b6e4db96e3cdb86e4f8f6e4db96e4db96e4db96e0adb836e1b92b6e0e4390cb12115c84721c84572179c87211c852195c84721486721c86721486572195c865890cb12179c87219c87219c872115c8477c5f0577c15df2577c95df077cdf0577c95df258be7cef8be4ef8be7ffcaef83be2f9f3be6f82bbe4b17c962f82c5f1e577c15c867214845890bfce4290fce43908e4390ce4390cb1219c85219c85219c872116242390a43390a42f2b90bfcb121ff95c87e721487e62898a2462891ee462890a26541f88c3e27f88c5121444f3c2144ccf4f0be4c2f93d3ccf72674cc5133dccd57a4990b061c985f217c9ff1fffbd2c4ee03f47d56cc0ffba9c6beb5d901ff59b0bf19df11f11bf1df19c9117c94922997c97c1c91b07645144c74874847ee6a25c3a4251335125133a4251335135132c5f19bf1bf19bf11f199f11f11bf19f199f19f195b07997c17c997c97c9b07307960be0cbe0be0cbe4be0b05f3e67c47c467c47c6567c667c47c4583e22b3e32b3e22b3e333e33e28457cc22be40d7caf98457c01af85f211c1e115f0b062f903c1ebe018be418be00d7c2f8062f9035f2be018be40d7c2f908af908af8062f9062f881af85f0115f006be57c8317c01af85f2115f2115f20783d7c0317c0457c0317c8457cc198380d7caf9035f0be606be17c40df13e3063e2037c6f8f08be2c0df13e3037c6f8a0c7c406f89f1031f16117c5037c4f8818f8c0e89d12c2344819448194482344a11a260ca2411a260744a894234482344e11a240744a89f06512c1944e117c606f8df1845f1845f140df13e3063e2f063e308be3063e3037c4f8f063e2063e3063e2063e308be2831f1031f142344aaf83289ff06512846897fffff08d130651354c414d45332e313030555555f2c113a6ce9be046f81a9467a1d687668aaa2a87e79a2a86d07341e6491924469329244513e39afc65f199484f8199ee6a5118a262899a94428999ee628918a262891be062891a94452118a2452199486a51191388aa1913844e9a2aa44e9913844e9a2aa44e1a2a844e9913a44e9511542b2270a1f14aef8cacf88a1f17cb0fc4585122b5123a43a43f2b513f35125132c28981d13a240744a8904e8981d12a25c0e89d1308d1203a2744c2344c1944819448194480e89d1275c2344b03a2744c0e89d1208d120651284689e0ca2703a2544c1944a0744e89c1944c1944e11a240ca2411a260ca260744e894194482344a0ca2708d120651208d1206513df03a2544e0ca260ca2613a2508d1203a2544982344fc23449ffc19a770669ce11d3b08e9c08e9c08e9c8474ef68334e230669cf8334ee11d3bedfe0cd39ff84b4e0474e3c19a737fc19a774fb7ffd1a8ac5ca3172d7853ebdc5cb2b5e0cd19b4668a2f083bc90bb3285d90ca6d29b0d1730d98e3545e10d7855e08c47023f8db3711c4a11fc32ec8bb23466cbb234668bb23172978328bc20ad7853466d19d32eccbb334674bb22c233450bb2fffbd2c4d583e9c98ec40ffad44632b35881ff5a9879a3345d915a336562e5128b9671fc8e068e28e068e08e068e31fc568e271fe8e25836733666e82c1b3959b3159b3159b39b749b3160d9cacd9ccd9cd9fcb06cc566cc566cc66cc6cffe566ce566cc566cc66ce6ce5836633666e93366367336736636e83662b36636e86e82c1b3960d98231c4231c4231c0191c4191c4231c0191c4191c0231c58191c20c8e2118e20c8e00c8e1038e11c0231c4231c4231c40e38471c191c6071c638846388463840e38c70038e31c00e38c70038e11c0231c40e3847108c71c0e3847181c718e00c8e2e0c8e2118e00c8e18323881c708e0118e211b940cb97f03b9572c2372af065ca81dcab97f832e5f03b9572c0ee5dca08dca03b9772c2372f81dcbb9411b940cb97fc1972e11b940cb94e11b940cb95ededde0cb956846e5fff09dcae12b960000001fcc2994b64d58f35b0cd6f1530d2d835b0d0220a60c31b2ca4c17e05f8c4b605fcb00bf18c303ab18eac30c98822208960c6b31040a55319544b630c6831b3195031b3200c29831534ab830a648022a0532581534c2990a60ac54c2c0532562a69602982c0a98614c05305640116031b305fc4b72b0c68b018d16031b305fc17ff2b7e3cadf92c3f0587e0df87e4df87e4f1b5fcb0bf1afcbf79617eff2c2fe6bfafc56bf95a42690a4072fa4272fa40690242690a42690242690240572f9a40901a409015a42690a40690a40690cbe690a4269024256901a40901a40909a42909a412f1a41ce9a42909a4090961202c5f8aefc77ebff9dfafde577ff3bf5f8efd7e2c5fbcefd7f2c5f8b17ef2bbf15df8efd7f3bf5fbcb17e2c5f8eff7f3bfdfcaefe77fbf162fc77fbf1dfefc58bf795dfcaefe77ebf1dfafe77fbf9dfefc58fc1fe7f057f93fcfe4b1f82c7e4aff1fe58fc95fe0aff258fcf9fe3f258fcff95fe0aff1e58fc95fe0b1f92bfc1fe3f257f83fc7e0ff1f8f2bfc9fe7f3e58fc9fe7f257f82c7e3cff3f92c7e4b1f83fcfe7cb1f8f2c7e0ff3f82bfc9fe7f257f9ffffcbf79dde6bf76bb87ef58ffffef3cf9bfdd65909587c663f127c65455e4d2641838c9224994c9221830c66c0ca4c0fa0ca4cae20e34c5632438cbc71290cbc638a4ad2642c05f0617c8c1c787124465f2c1fe7485485d3f72fffbd2c4ff83b74592d26ff796ce783199c1ff75a8a433f73512314c4212c15b9a1095b195b15b960be4cbe0be4cbe5838d838be4d838be0c6e4e30ce386e4d58ce38b071e563706370372582422c252960908c90d297cac90cc908908ac90cadb936e1b936e38c36e1b82c37056dc1b71c61b72dc9b70dc9b70dc162f9f2bbe4ef9be7caef92c5f3e577c15df058be0aef8390a422b908ae422b90cb12196242f2c4845890fce43908e4390ce4290ce43908db86e0db96e4db86e4b0dc9b72dc161b936e5b836e5b936e5b936e1b92c370586e0b0dc1b72dc95b7256dc1b70dc1b72dc9b72dc1b70dc95b7056dc9b70dcff9b72dcf9b70dc9b72dc15b70586e0b0dc1b70dc95b726dcb71e586e4b0dc7fffffffff95fc658f8fffffffcafe2ffffff390a43390e42f2b90ce43908b12195c86721c86721c85e5721796243f2c4845890cae422b908e4390ce4290cae422b908e4390cb1217fffff962f92c5f3fffffffffe58be7ffffffffcb17cd5f2c0a266f813e066289b3a462529c5265e39c50512651a4ca61c96096631294bc632f1cbc731294bc630e30ae532b8c90f3158c38f32438ae33158c1b82b0e34a8491985f04929924630798c1e3079978c71498948121184847141589486289948665210a2462898a26581448aca432c0a2462890a2456289958a27e58144cb1f17ff963e23f8fe3f2c7c5e6dc3726dcb726dc370586e4db86e4db96e4b1c79b70dc9b72dc1b72dc1b72dc9b70dc1b72dc9b72dcf9b72dcf9b72dc95b70586e0db96e0b121162432b908b12115c865890cae43fff2c486572195c85e6dcb706dcb706dcb726dc37256dc15b7256dc9b70dc161b92c372586e4adb8ff36e1b936e5b8ff390a422b908ae422b908ae432b908e4390ce42908e4290ffcb1211c8521962422c484721486721c86572196242ff2bbe3cb17c15df058be4aef82bbe4b17c95df258be0b17c9df17c79df37c95df277cdf258be3fcef8be3caef82bbe7ce4390ce42908ae42390e43ff2c48457211c8721962432c485e721c845890bce43908e42908ae43f2b90cae422b908ae43f390e432b90cb121e11a244c8532310ce157e3496d8d93103fcc48c61f831931cad5270ae8192a1276cb51950b27064a9958b034403a095cd245b3b7114c8a46353c2ce1fffbd2c4ea83f37d5cce0ff6d7c60934de41cd6691444353298d52a832342b64c8a324908d5644353aa8444a1cf46b3f9a6506a968b563fea8af41bb1a648798f1e63c898c266f07155e133b3428486c913c33670cf9a295866cf19e39485681a081a081a1e129c677e57e1a07cacd338ad120ecd23499f1de8cc44d0f8ce46e19e819c990a0fe52909c5101a089f871a3e54287b64d19551340e34117fed19e91222672049f133f1b24748b928d4a8f709b9371d2478a3a26e891e375d22fc75f375b28f33ce909bd76cecbc9301f81dc82ceab0a9713b93676594f58edb49da3bef3c2f3bb03b6b1cbdf772e8cf0b4730257481e26ecdc70de789b62ab46d344ae916a6e3981b8f916a586c6b29d8d916c6f3a6eb84df9bed5b98379ee61f52c72bd3d3dc87e821ca177e00791c393b87227f2cd69c7ddc7a067703cc3b0ee47dafcbe61fbad63ee01800661f807c0111c7079e00600181e7819600647aa47e30c10cc641634bbb8df69a30a24cd04093289c8cae19347bb8e0aea368b28d8ea232684cca8573291ccd40a33350ecc624a30995cd890738837cd083103010c969c366b18d326230e03d1b0c1a1c317908ca25031f8502c0b2c898684248150e4120d48b4e061269366e3a6e4269a868803069b4e9c149d4e930374461238afa008c638402091a80889ac8840afd213404097154d5215a622b3ded69d6804b9a641a640282a5500d598d64c98100a470c870a802590fcd274de84d350cb014ba7df57e00281aa52ce5e2c55733dceccb1da81986f825237da3552354c4d752de4b60161a862611a68063251aa618a71c381bcaa78ad160060880a19d761ac460168cb38280a22ba4826407294a76971400b370db81204d8111b8f344f102a8e2e36a8dae0369545055d5692f2ca619932e67782e235a17eb5aa3a58661da90d3b4ca588b5d4e50214d093204b8ac74401342cd035225f635d0f3639a0ba51c4e648a6f9554c0b385ced7393cb8cf34a6970a6b5ba5a6ed5a5a5d534bad56954bad5594cb6f5694cb795a354dda58cd3674b19b3a954bad56954bad5594cb7095592028b51774bdc5f541a2a0287884f4281658d330cc64c37028f90c0237c00d19e686807c2e76e46b7a60fc415882830e5341837c7077c6a1e61ac1664858156418b18fffbd2c4f28234520cec0e67178619bf8c199c3fa82898c416f157c0b2aa1a08eb2a42498c798ab00190bb440d8a34055cca2823337443517315c0a3e43008df023463a6680c44a04145d541a56555050f50c51751550e50d5165655505575344d90148c4b04b844f2580cbc28c30941d0128808c0c28a9890e38611942802e5abb7325d56e5d9a765618b8414088443052520e8c4002e3913005532a0c5b0af083a29c02e4d0e01ac3546c3805c20892c065e166015260121a3178ad6bb7265da54a5c10a804031921214708210972048e1862c885c42852520e8c4422dda0115e3427f6028360882dea6429528dc91a8ec94a92891e98050305180050a985124a81d488085970e60634c20061c54c4871c3084a5a82dfa5123ea732c0a8f2db5805575e0d11b0ae972bcbb522ad2a5c49513d288a9280bb96c32d04749fc894c24d10a7523635c282d52c08ee9955ca55d2fae14ec0c70e94c414d45332e3130305555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555";
680
+ var Ic = Object.defineProperty, Pc = Object.getOwnPropertyDescriptor, H = (c, e, a, f) => {
681
+ for (var t = f > 1 ? void 0 : f ? Pc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
682
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
683
+ return f && t && Ic(e, a, t), t;
676
684
  };
677
- const j = de.noConflict();
678
- j.setLevel("info");
679
- const F = "cb_";
680
- class L extends X {
685
+ const $ = pe.noConflict();
686
+ $.setLevel("info");
687
+ const q = "cb_";
688
+ class M extends X {
681
689
  constructor() {
682
690
  super(...arguments), this.actionIdCounter = 0, this.wsClient = null, this.replyMessage = null;
683
691
  }
684
692
  // this is called at startup
685
693
  setSetting(e) {
686
- j.info("appState: Startup: setSetting"), this.setting = e, this.initBot().catch((o) => {
687
- j.info(`Exception during bot initialization: ${o.message}`);
694
+ $.info("appState: Startup: setSetting", e), this.setting = e, this.initBot().catch((a) => {
695
+ $.info(`Exception during bot initialization: ${a.message}`);
688
696
  });
689
697
  }
690
698
  clearConversation() {
691
699
  this.wsClient && (this.wsClient.stop().then(() => {
692
- }), this.wsClient = null), this.conversationId = fe(), this.connectWs = "false", this.messages = [], this.actions = [], this.addMessage({
700
+ }), this.wsClient = null), this.conversationId = xe(), this.connectWs = "false", this.messages = [], this.actions = [], this.addMessage({
693
701
  author: "assistant",
694
702
  type: "text",
695
703
  data: {
@@ -707,24 +715,26 @@ class L extends X {
707
715
  }
708
716
  async initBot() {
709
717
  if (!this.botSettingsInitialized) {
710
- const o = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
711
- j.info(`Getting bot settings at ${o} ...`);
712
- let a = null, r = null;
718
+ const a = `${this.setting.url.startsWith("localhost") ? "http" : "https"}://${this.setting.url}/api/bot/settings/${this.setting.orgId}/${this.setting.botId}`;
719
+ $.info(`Getting bot settings at ${a} ...`);
720
+ let f = null, t = null;
713
721
  try {
714
- a = await fetch(o, {
722
+ f = await fetch(a, {
715
723
  headers: {
716
724
  "Access-Control-Allow-Origin": "null",
717
725
  "X-Enegel-Signature": this.setting.botId
718
726
  }
719
- }), !a.ok || a.status !== 200 ? j.error(`Failed to get bot ${this.setting.botId} settings: ${a.status} ${a.statusText}`) : r = await a.json();
720
- } catch (s) {
721
- j.error(`Failed to get bot ${this.setting.botId} settings: ${s.message}`), r = null;
727
+ }), !f.ok || f.status !== 200 ? $.error(`Failed to get bot ${this.setting.botId} settings: ${f.status} ${f.statusText}`) : t = await f.json();
728
+ } catch (o) {
729
+ $.error(`Failed to get bot ${this.setting.botId} settings: ${o.message}`), t = null;
722
730
  }
723
- if (this.botSettingsInitialized = !0, !r) {
724
- j.error("No bot settings available - bot disabled"), this.disabled = !0;
731
+ if (this.botSettingsInitialized = !0, !t) {
732
+ $.error("No bot settings available - bot disabled"), this.disabled = !0;
725
733
  return;
726
734
  }
727
- this.setting.welcomeMessage = (r == null ? void 0 : r.welcomeMessage) || "How can I help ?";
735
+ this.setting.welcomeMessage = (t == null ? void 0 : t.welcomeMessage) || "How can I help ?", this.setting.engageMessage = (t == null ? void 0 : t.engageMessage) || "How can I help ?", this.setting.engageTimeout = (t == null ? void 0 : t.engageTimeout) || 5, setTimeout(() => {
736
+ this.showEngagePopup();
737
+ }, this.setting.engageTimeout * 1e3);
728
738
  }
729
739
  Array.isArray(this.messages) && this.messages.length <= 0 && this.addMessage({
730
740
  author: "assistant",
@@ -732,24 +742,38 @@ class L extends X {
732
742
  data: {
733
743
  text: this.setting.welcomeMessage
734
744
  }
735
- }), this.connectWs === "true" && (j.info("appState: connectWs is true"), this.getWsClient().catch((e) => {
736
- j.error(`Exception during ws client startup: ${e.message}`);
745
+ }), this.connectWs === "true" && ($.info("appState: connectWs is true"), this.getWsClient().catch((e) => {
746
+ $.error(`Exception during ws client startup: ${e.message}`);
737
747
  }));
738
748
  }
749
+ showEngagePopup() {
750
+ if (this.open)
751
+ return;
752
+ $.info("Engaging User !"), this.engage = !0;
753
+ const e = (o) => {
754
+ const d = new Uint8Array(o.length / 2);
755
+ for (let b = 0; b < d.length; b++)
756
+ d[b] = parseInt(o.substr(b * 2, 2), 16);
757
+ return d;
758
+ };
759
+ let a = new Blob([e(Hc)], { type: "application/octet-stream" });
760
+ const f = URL.createObjectURL(a);
761
+ new Audio(f).play();
762
+ }
739
763
  // Lazy initialization: avoid connecting until we actually need to send something
740
764
  // TODO Depending on state, start ws & connect immediately when initialized
741
765
  // use case: page refresh in the middle of the conversation
742
766
  async getWsClient() {
743
767
  if (this.wsClient)
744
768
  return this.wsClient;
745
- const o = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
746
- return j.info(`Initiating ws connection to ${o} ...`), this.wsClient = new Lt({
747
- url: o,
769
+ const a = `${this.setting.url.startsWith("localhost") ? "ws" : "wss"}://${this.setting.url}/api/bot/connect/${this.setting.orgId}/${this.setting.botId}/${this.conversationId}`;
770
+ return $.info(`Initiating ws connection to ${a} ...`), this.wsClient = new Oc({
771
+ url: a,
748
772
  orgId: this.setting.orgId,
749
773
  botId: this.setting.botId,
750
774
  convId: this.conversationId
751
- }), await this.wsClient.start(), this.wsClient.onMessage = (a) => {
752
- this.handleWscMessage(a);
775
+ }), await this.wsClient.start(), this.wsClient.onMessage = (f) => {
776
+ this.handleWscMessage(f);
753
777
  }, this.wsClient;
754
778
  }
755
779
  handleWscMessage(e) {
@@ -758,16 +782,16 @@ class L extends X {
758
782
  if (this.replyMessage)
759
783
  this.replyMessage.data.text = e.text, this.updateMessage(this.replyMessage, ""), this.replyMessage = null;
760
784
  else {
761
- const o = {
785
+ const a = {
762
786
  type: "text",
763
787
  author: "assistant",
764
788
  data: {
765
789
  text: e.text
766
790
  }
767
791
  };
768
- "userName" in e && (o.data.userName = e.userName, this.connectWs = "true"), "userAvatar" in e && (o.data.userAvatar = e.userAvatar, this.connectWs = "true");
769
- const a = this.formatMessage(o);
770
- this.messages = this.messages.concat([a]);
792
+ "userName" in e && (a.data.userName = e.userName, this.connectWs = "true"), "userAvatar" in e && (a.data.userAvatar = e.userAvatar, this.connectWs = "true");
793
+ const f = this.formatMessage(a);
794
+ this.messages = this.messages.concat([f]);
771
795
  }
772
796
  break;
773
797
  }
@@ -794,26 +818,26 @@ class L extends X {
794
818
  }
795
819
  addActions(e) {
796
820
  if (Array.isArray(e) && e.length > 0) {
797
- const o = e.map((a) => Object.assign(a, { internalId: this.actionIdCounter++ }));
798
- this.actions = this.actions.concat(o);
821
+ const a = e.map((f) => Object.assign(f, { internalId: this.actionIdCounter++ }));
822
+ this.actions = this.actions.concat(a);
799
823
  }
800
824
  }
801
825
  removeAction(e) {
802
- const o = this.actions.findIndex((a) => a.internalId === e);
803
- if (o !== -1) {
804
- this.actions.splice(o, 1);
805
- const a = [];
806
- this.actions = a.concat(this.actions);
826
+ const a = this.actions.findIndex((f) => f.internalId === e);
827
+ if (a !== -1) {
828
+ this.actions.splice(a, 1);
829
+ const f = [];
830
+ this.actions = f.concat(this.actions);
807
831
  }
808
832
  }
809
833
  async sendMessage(e) {
810
- e = this.formatMessage(e), j.info("Send Message:", e), this.messages = this.messages.concat([e]);
811
- const o = await this.getWsClient();
812
- if (!o) {
813
- j.error("Error - failed to obtain ws client"), this.replyMessage = null;
834
+ e = this.formatMessage(e), $.info("Send Message:", e), this.messages = this.messages.concat([e]);
835
+ const a = await this.getWsClient();
836
+ if (!a) {
837
+ $.error("Error - failed to obtain ws client"), this.replyMessage = null;
814
838
  return;
815
839
  }
816
- o.sendMessage({
840
+ a.sendMessage({
817
841
  type: "message",
818
842
  id: e.id,
819
843
  text: e.data.text
@@ -821,8 +845,8 @@ class L extends X {
821
845
  }
822
846
  // TODO revisit below
823
847
  formatMessage(e) {
824
- var o;
825
- return e.id || (e.id = fe()), e.timestamp = Date.now(), e.author === "assistant" && (e.replyId = (o = this.messages[this.messages.length - 1]) == null ? void 0 : o.id), e;
848
+ var a;
849
+ return e.id || (e.id = xe()), e.timestamp = Date.now(), e.author === "assistant" && (e.replyId = (a = this.messages[this.messages.length - 1]) == null ? void 0 : a.id), e;
826
850
  }
827
851
  // add message
828
852
  addMessage(e) {
@@ -838,44 +862,49 @@ class L extends X {
838
862
  });
839
863
  }
840
864
  // update message
841
- updateMessage(e, o) {
842
- const a = this.formatMessage(e);
843
- return a.isThinking = !1, o && (a.data.text += o), this.messages = this.messages.map((r) => r.id === a.id ? a : r), a;
865
+ updateMessage(e, a) {
866
+ const f = this.formatMessage(e);
867
+ return f.isThinking = !1, a && (f.data.text += a), this.messages = this.messages.map((t) => t.id === f.id ? f : t), f;
844
868
  }
845
869
  // remove message
846
870
  removeMessage(e) {
847
- this.messages = this.messages.filter((o) => o.id !== e);
871
+ this.messages = this.messages.filter((a) => a.id !== e);
848
872
  }
849
873
  // clear messages
850
874
  clearMessages() {
851
875
  this.messages = [];
852
876
  }
853
877
  }
854
- I([
855
- D({ prefix: F }),
856
- H({ value: "en" })
857
- ], L.prototype, "language", 2);
858
- I([
859
- D({ prefix: F }),
860
- H({ value: "light" })
861
- ], L.prototype, "theme", 2);
862
- I([
863
- D({ prefix: F }),
864
- H({ value: "false" })
865
- ], L.prototype, "connectWs", 2);
866
- I([
867
- D({ prefix: F }),
868
- H({ value: fe() })
869
- ], L.prototype, "conversationId", 2);
870
- I([
871
- D({ prefix: F }),
872
- H({ type: Array, value: [] })
873
- ], L.prototype, "messages", 2);
874
- I([
875
- H({
878
+ H([
879
+ V({ prefix: q }),
880
+ O({ value: "en" })
881
+ ], M.prototype, "language", 2);
882
+ H([
883
+ V({ prefix: q }),
884
+ O({ value: "light" })
885
+ ], M.prototype, "theme", 2);
886
+ H([
887
+ V({ prefix: q }),
888
+ O({ type: Boolean, value: !1 })
889
+ ], M.prototype, "open", 2);
890
+ H([
891
+ V({ prefix: q }),
892
+ O({ value: "false" })
893
+ ], M.prototype, "connectWs", 2);
894
+ H([
895
+ V({ prefix: q }),
896
+ O({ value: xe() })
897
+ ], M.prototype, "conversationId", 2);
898
+ H([
899
+ V({ prefix: q }),
900
+ O({ type: Array, value: [] })
901
+ ], M.prototype, "messages", 2);
902
+ H([
903
+ O({
876
904
  type: Array,
877
905
  value: []
878
- /*value: [
906
+ /*
907
+ value: [
879
908
  {
880
909
  internalId: 1,
881
910
  type: 'calendlyMeeting',
@@ -890,18 +919,42 @@ I([
890
919
  url: 'https://signup.ticketspice.com/',
891
920
  // TODO Any other properties
892
921
  },
922
+ {
923
+ internalId: 3,
924
+ type: 'link',
925
+ title: 'Sign Up',
926
+ url: 'https://signup.ticketspice.com/',
927
+ // TODO Any other properties
928
+ },
929
+ {
930
+ internalId: 4,
931
+ type: 'calendlyMeeting',
932
+ title: 'Book 1:1 meeting',
933
+ url: 'https://calendly.com/slava-sayko/1-1-meeting-with-sales?hide_gdpr_banner=1',
934
+ // TODO Any other properties
935
+ },
936
+ {
937
+ internalId: 5,
938
+ type: 'calendlyMeeting',
939
+ title: 'Book 1:1 meeting',
940
+ url: 'https://calendly.com/slava-sayko/1-1-meeting-with-sales?hide_gdpr_banner=1',
941
+ // TODO Any other properties
942
+ },
893
943
  ],*/
894
944
  })
895
- ], L.prototype, "actions", 2);
896
- I([
897
- H({ type: Boolean, value: !1 })
898
- ], L.prototype, "botSettingsInitialized", 2);
899
- I([
900
- H({ type: Boolean, value: !1 })
901
- ], L.prototype, "disabled", 2);
902
- I([
903
- D({ prefix: F }),
904
- H({
945
+ ], M.prototype, "actions", 2);
946
+ H([
947
+ O({ type: Boolean, value: !1 })
948
+ ], M.prototype, "botSettingsInitialized", 2);
949
+ H([
950
+ O({ type: Boolean, value: !1 })
951
+ ], M.prototype, "disabled", 2);
952
+ H([
953
+ O({ type: Boolean, value: !1 })
954
+ ], M.prototype, "engage", 2);
955
+ H([
956
+ V({ prefix: q }),
957
+ O({
905
958
  type: Object,
906
959
  value: {
907
960
  orgId: null,
@@ -910,9 +963,9 @@ I([
910
963
  welcomeMessage: null
911
964
  }
912
965
  })
913
- ], L.prototype, "setting", 2);
914
- const p = new L(), Pt = x`
915
- ${O}
966
+ ], M.prototype, "setting", 2);
967
+ const n = new M(), Ec = x`
968
+ ${I}
916
969
  :host {
917
970
  position: relative;
918
971
  font-weight: bold;
@@ -952,51 +1005,55 @@ const p = new L(), Pt = x`
952
1005
  font-size: 1.5rem;
953
1006
  color: white;
954
1007
  }
1008
+
1009
+ .cb-setting-button cb-icon {
1010
+ display: inline;
1011
+ }
955
1012
  `;
956
- var zt = Object.defineProperty, Et = Object.getOwnPropertyDescriptor, Tt = (t, e, o, a) => {
957
- for (var r = a > 1 ? void 0 : a ? Et(e, o) : e, s = t.length - 1, n; s >= 0; s--)
958
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
959
- return a && r && zt(e, o, r), r;
1013
+ var zc = Object.defineProperty, Tc = Object.getOwnPropertyDescriptor, Bc = (c, e, a, f) => {
1014
+ for (var t = f > 1 ? void 0 : f ? Tc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1015
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1016
+ return f && t && zc(e, a, t), t;
960
1017
  };
961
- class C extends le {
1018
+ class C extends ie {
962
1019
  constructor() {
963
1020
  super(...arguments), this.lang = "en";
964
1021
  }
965
- emit(e, o) {
966
- const a = new CustomEvent(e, {
1022
+ emit(e, a) {
1023
+ const f = new CustomEvent(e, {
967
1024
  bubbles: !0,
968
1025
  cancelable: !1,
969
1026
  composed: !0,
970
1027
  detail: {},
971
- ...o
1028
+ ...a
972
1029
  });
973
- return this.dispatchEvent(a), a;
1030
+ return this.dispatchEvent(f), f;
974
1031
  }
975
1032
  }
976
- Tt([
977
- l({ type: String })
1033
+ Bc([
1034
+ r({ type: String })
978
1035
  ], C.prototype, "lang", 2);
979
- const je = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8L2.146 2.854Z"/></svg>';
980
- var Bt = Object.defineProperty, Rt = Object.getOwnPropertyDescriptor, Ne = (t, e, o, a) => {
981
- for (var r = a > 1 ? void 0 : a ? Rt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
982
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
983
- return a && r && Bt(e, o, r), r;
1036
+ const te = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8L2.146 2.854Z"/></svg>';
1037
+ var Rc = Object.defineProperty, Vc = Object.getOwnPropertyDescriptor, We = (c, e, a, f) => {
1038
+ for (var t = f > 1 ? void 0 : f ? Vc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1039
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1040
+ return f && t && Rc(e, a, t), t;
984
1041
  };
985
- let te = class extends C {
1042
+ let fe = class extends C {
986
1043
  constructor() {
987
1044
  super(...arguments), this.title = "ChatBot";
988
1045
  }
989
1046
  render() {
990
- return c` <header class="cb-header" part="header">
1047
+ return s` <header class="cb-header" part="header">
991
1048
  <span class="left">
992
1049
  <sl-button @click=${this._clickHandler} class="cb-setting-button" variant="text" circle>
993
- <cb-icon color="white" svg="${p.setting.logoSvg}"></cb-icon>
1050
+ <cb-icon color="white" svg="${n.setting.logoSvg}"></cb-icon>
994
1051
  </sl-button>
995
1052
  </span>
996
1053
  <span class="center title">${this.title}</span>
997
1054
  <span class="right">
998
1055
  <sl-button @click=${this._clickCloseHandler} class="cb-setting-button" variant="text" circle>
999
- <cb-icon color="white" svg="${je}"></cb-icon>
1056
+ <cb-icon color="white" svg="${te}"></cb-icon>
1000
1057
  </sl-button>
1001
1058
  </span>
1002
1059
  </header>`;
@@ -1012,15 +1069,15 @@ let te = class extends C {
1012
1069
  });
1013
1070
  }
1014
1071
  };
1015
- te.styles = Pt;
1016
- Ne([
1017
- l({ type: String, attribute: "title" })
1018
- ], te.prototype, "title", 2);
1019
- te = Ne([
1072
+ fe.styles = Ec;
1073
+ We([
1074
+ r({ type: String, attribute: "title" })
1075
+ ], fe.prototype, "title", 2);
1076
+ fe = We([
1020
1077
  k("cb-header")
1021
- ], te);
1022
- const Vt = x`
1023
- ${O}
1078
+ ], fe);
1079
+ const qc = x`
1080
+ ${I}
1024
1081
  .cb-footer {
1025
1082
  line-height: 60px;
1026
1083
  font-size: 16px;
@@ -1034,17 +1091,17 @@ const Vt = x`
1034
1091
  color: var(--primary-color);
1035
1092
  }
1036
1093
  `;
1037
- var qt = Object.defineProperty, Dt = Object.getOwnPropertyDescriptor, Ft = (t, e, o, a) => {
1038
- for (var r = a > 1 ? void 0 : a ? Dt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1039
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1040
- return a && r && qt(e, o, r), r;
1094
+ var Dc = Object.defineProperty, Fc = Object.getOwnPropertyDescriptor, Uc = (c, e, a, f) => {
1095
+ for (var t = f > 1 ? void 0 : f ? Fc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1096
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1097
+ return f && t && Dc(e, a, t), t;
1041
1098
  };
1042
- let ve = class extends C {
1099
+ let ke = class extends C {
1043
1100
  constructor() {
1044
1101
  super(...arguments), this.year = (/* @__PURE__ */ new Date()).getFullYear();
1045
1102
  }
1046
1103
  render() {
1047
- return c`
1104
+ return s`
1048
1105
  <div class="cb-footer" part="footer">
1049
1106
  yugasun@${this.year}
1050
1107
  <a
@@ -1074,12 +1131,12 @@ let ve = class extends C {
1074
1131
  `;
1075
1132
  }
1076
1133
  };
1077
- ve.styles = Vt;
1078
- ve = Ft([
1134
+ ke.styles = qc;
1135
+ ke = Uc([
1079
1136
  k("cb-footer")
1080
- ], ve);
1081
- const Ut = x`
1082
- ${O}
1137
+ ], ke);
1138
+ const Zc = x`
1139
+ ${I}
1083
1140
 
1084
1141
  :host {
1085
1142
  width: 100%;
@@ -1124,15 +1181,16 @@ const Ut = x`
1124
1181
 
1125
1182
  .cb-actions-list {
1126
1183
  margin: 10px 0px 0px 0px;
1127
- padding: 10px 0px;
1184
+ padding: 0px 0px;
1128
1185
  //border-top: 1px solid rgba(0, 0, 0, 0.1);
1129
1186
  display: flex;
1130
1187
  justify-content: center;
1188
+ flex-wrap: wrap;
1131
1189
  }
1132
1190
 
1133
1191
  .cb-action {
1134
1192
  padding: 6px 6px;
1135
- margin: 1px 4px;
1193
+ margin: 1px 2px;
1136
1194
  border-radius: 6px;
1137
1195
  cursor: pointer;
1138
1196
  color: rgba(255, 255, 255, 1);
@@ -1174,17 +1232,17 @@ const Ut = x`
1174
1232
  transition: background 0s;
1175
1233
  }
1176
1234
  `;
1177
- var Zt = Object.defineProperty, Nt = Object.getOwnPropertyDescriptor, Wt = (t, e, o, a) => {
1178
- for (var r = a > 1 ? void 0 : a ? Nt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1179
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1180
- return a && r && Zt(e, o, r), r;
1235
+ var Nc = Object.defineProperty, Wc = Object.getOwnPropertyDescriptor, Kc = (c, e, a, f) => {
1236
+ for (var t = f > 1 ? void 0 : f ? Wc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1237
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1238
+ return f && t && Nc(e, a, t), t;
1181
1239
  };
1182
- let we = class extends le {
1240
+ let _e = class extends ie {
1183
1241
  render() {
1184
- return c` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
1242
+ return s` <div class="cb-thinking" style="color: rgb(34, 34, 34);"><span></span><span></span><span></span></div>`;
1185
1243
  }
1186
1244
  };
1187
- we.styles = x`
1245
+ _e.styles = x`
1188
1246
  .cb-thinking {
1189
1247
  text-align: center;
1190
1248
  }
@@ -1222,26 +1280,26 @@ we.styles = x`
1222
1280
  }
1223
1281
  }
1224
1282
  `;
1225
- we = Wt([
1283
+ _e = Kc([
1226
1284
  k("cb-thinking")
1227
- ], we);
1228
- var Kt = Object.defineProperty, Jt = Object.getOwnPropertyDescriptor, We = (t, e, o, a) => {
1229
- for (var r = a > 1 ? void 0 : a ? Jt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1230
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1231
- return a && r && Kt(e, o, r), r;
1285
+ ], _e);
1286
+ var Jc = Object.defineProperty, Yc = Object.getOwnPropertyDescriptor, Ke = (c, e, a, f) => {
1287
+ for (var t = f > 1 ? void 0 : f ? Yc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1288
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1289
+ return f && t && Jc(e, a, t), t;
1232
1290
  };
1233
1291
  let oe = class extends C {
1234
1292
  constructor() {
1235
1293
  super(...arguments), this.files = [];
1236
1294
  }
1237
1295
  render() {
1238
- return c` <div class="cb-uploading">
1296
+ return s` <div class="cb-uploading">
1239
1297
  <div class="cb-uploading__title">
1240
1298
  <sl-spinner class="cb-spinner"></sl-spinner>
1241
1299
  <span>Uploading...</span>
1242
1300
  </div>
1243
1301
  <div class="cb-uploading__filelist">
1244
- ${this.files.map((t) => c`${t.name}<br />`)}
1302
+ ${this.files.map((c) => s`${c.name}<br />`)}
1245
1303
  </div>
1246
1304
  </div>`;
1247
1305
  }
@@ -1264,14 +1322,14 @@ oe.styles = x`
1264
1322
  margin-right: 5px;
1265
1323
  }
1266
1324
  `;
1267
- We([
1268
- l({ type: Array })
1325
+ Ke([
1326
+ r({ type: Array })
1269
1327
  ], oe.prototype, "files", 2);
1270
- oe = We([
1328
+ oe = Ke([
1271
1329
  k("cb-uploading")
1272
1330
  ], oe);
1273
- const Yt = x`
1274
- ${O}
1331
+ const Gc = x`
1332
+ ${I}
1275
1333
  :host {
1276
1334
  }
1277
1335
 
@@ -1291,17 +1349,17 @@ const Yt = x`
1291
1349
  margin-right: 0.2em;
1292
1350
  }
1293
1351
  `;
1294
- var Gt = Object.defineProperty, Xt = Object.getOwnPropertyDescriptor, Me = (t, e, o, a) => {
1295
- for (var r = a > 1 ? void 0 : a ? Xt(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1296
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1297
- return a && r && Gt(e, o, r), r;
1352
+ var Xc = Object.defineProperty, Qc = Object.getOwnPropertyDescriptor, Se = (c, e, a, f) => {
1353
+ for (var t = f > 1 ? void 0 : f ? Qc(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1354
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1355
+ return f && t && Xc(e, a, t), t;
1298
1356
  };
1299
- let K = class extends le {
1357
+ let K = class extends ie {
1300
1358
  constructor() {
1301
1359
  super(...arguments), this.url = "", this.inverse = !1;
1302
1360
  }
1303
1361
  render() {
1304
- return c`
1362
+ return s`
1305
1363
  <a
1306
1364
  class="
1307
1365
  cb-external-link link__item
@@ -1341,43 +1399,43 @@ K.styles = x`
1341
1399
  text-decoration: underline;
1342
1400
  }
1343
1401
  `;
1344
- Me([
1345
- l({ type: String })
1402
+ Se([
1403
+ r({ type: String })
1346
1404
  ], K.prototype, "url", 2);
1347
- Me([
1348
- l({ type: Boolean })
1405
+ Se([
1406
+ r({ type: Boolean })
1349
1407
  ], K.prototype, "inverse", 2);
1350
- K = Me([
1408
+ K = Se([
1351
1409
  k("cb-external-link")
1352
1410
  ], K);
1353
- const Qt = '<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.5L14 4.5ZM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337h.794Zm4.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.992l1.274-2.007Zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', eo = '<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.5L14 4.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>', to = '<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.5L14 4.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>', oo = '<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.5L14 4.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>', ro = '<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.5L14 4.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>', ao = '<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.5L14 4.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>', so = '<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.5L14 4.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.972ZM1 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>';
1354
- var no = Object.defineProperty, io = Object.getOwnPropertyDescriptor, Se = (t, e, o, a) => {
1355
- for (var r = a > 1 ? void 0 : a ? io(e, o) : e, s = t.length - 1, n; s >= 0; s--)
1356
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
1357
- return a && r && no(e, o, r), r;
1411
+ const ea = '<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.5L14 4.5ZM1.928 15.849v-3.337h1.136v-.662H0v.662h1.134v3.337h.794Zm4.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.992l1.274-2.007Zm1.93.662v3.337h-.794v-3.337H6.619v-.662h3.064v.662H8.546Z"/></svg>', ca = '<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.5L14 4.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>', aa = '<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.5L14 4.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>', ta = '<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.5L14 4.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>', fa = '<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.5L14 4.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>', oa = '<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.5L14 4.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>', da = '<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.5L14 4.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.972ZM1 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>';
1412
+ var ba = Object.defineProperty, ra = Object.getOwnPropertyDescriptor, Ae = (c, e, a, f) => {
1413
+ for (var t = f > 1 ? void 0 : f ? ra(e, a) : e, o = c.length - 1, d; o >= 0; o--)
1414
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
1415
+ return f && t && ba(e, a, t), t;
1358
1416
  };
1359
1417
  const Pe = {
1360
- pdf: eo,
1361
- txt: Qt,
1362
- md: to,
1363
- csv: oo,
1364
- ppd: ro,
1365
- doc: ao,
1366
- docx: so
1418
+ pdf: ca,
1419
+ txt: ea,
1420
+ md: aa,
1421
+ csv: ta,
1422
+ ppd: fa,
1423
+ doc: oa,
1424
+ docx: da
1367
1425
  };
1368
1426
  let J = class extends C {
1369
1427
  constructor() {
1370
1428
  super(...arguments), this.filename = "", this.url = "";
1371
1429
  }
1372
1430
  get type() {
1373
- const t = "txt";
1431
+ const c = "txt";
1374
1432
  if (!this.filename)
1375
- return t;
1433
+ return c;
1376
1434
  const e = this.filename.split(".").pop();
1377
- return e ? e.toLowerCase() : t;
1435
+ return e ? e.toLowerCase() : c;
1378
1436
  }
1379
1437
  render() {
1380
- return c`
1438
+ return s`
1381
1439
  <cb-external-link url="${this.url}" inverse>
1382
1440
  <div class="cb-file">
1383
1441
  ${this.renderFileIcon()}
@@ -1387,7 +1445,7 @@ let J = class extends C {
1387
1445
  `;
1388
1446
  }
1389
1447
  renderFileIcon() {
1390
- return c`
1448
+ return s`
1391
1449
  <cb-icon
1392
1450
  class="cb-file-icon"
1393
1451
  svg="${Pe[this.type] || Pe.txt}"
@@ -1395,17 +1453,17 @@ let J = class extends C {
1395
1453
  `;
1396
1454
  }
1397
1455
  };
1398
- J.styles = Yt;
1399
- Se([
1400
- l({ type: String })
1456
+ J.styles = Gc;
1457
+ Ae([
1458
+ r({ type: String })
1401
1459
  ], J.prototype, "filename", 2);
1402
- Se([
1403
- l({ type: String })
1460
+ Ae([
1461
+ r({ type: String })
1404
1462
  ], J.prototype, "url", 2);
1405
- J = Se([
1463
+ J = Ae([
1406
1464
  k("cb-file")
1407
1465
  ], J);
1408
- const lo = '<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-.5Zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6Z"/><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 1v1ZM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118ZM2.5 3h11V2h-11v1Z"/></g></svg>', co = '<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 6Zm2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4Zm-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.664h10Z"/></svg>', po = x`
1466
+ const sa = '<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-.5Zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6Z"/><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 1v1ZM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118ZM2.5 3h11V2h-11v1Z"/></g></svg>', na = '<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 6Zm2-3a2 2 0 1 1-4 0a2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1s1-4 6-4s6 3 6 4Zm-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.664h10Z"/></svg>', ia = x`
1409
1467
  pre code.hljs {
1410
1468
  display: block;
1411
1469
  overflow-x: auto;
@@ -2570,9 +2628,9 @@ const lo = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
2570
2628
  pre {
2571
2629
  background-color: #282c34;
2572
2630
  }
2573
- `, ho = x`
2574
- ${O}
2575
- ${po}
2631
+ `, la = x`
2632
+ ${I}
2633
+ ${ia}
2576
2634
 
2577
2635
  .cb-message-row {
2578
2636
  width: 100%;
@@ -2726,22 +2784,22 @@ const lo = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="curr
2726
2784
  font-size: 1em;
2727
2785
  }
2728
2786
  `;
2729
- function uo() {
2730
- const t = new ut({
2787
+ function pa() {
2788
+ const c = new hc({
2731
2789
  linkify: !0
2732
2790
  });
2733
- return t.use(gt, { attrs: { target: "_blank", rel: "noopener" } }), t;
2791
+ return c.use(uc, { attrs: { target: "_blank", rel: "noopener" } }), c;
2734
2792
  }
2735
- async function ze(t) {
2736
- const e = uo();
2737
- return c`${N(e.render(t))}`;
2793
+ async function Ee(c) {
2794
+ const e = pa();
2795
+ return s`${B(e.render(c))}`;
2738
2796
  }
2739
- var go = Object.defineProperty, bo = Object.getOwnPropertyDescriptor, pe = (t, e, o, a) => {
2740
- for (var r = a > 1 ? void 0 : a ? bo(e, o) : e, s = t.length - 1, n; s >= 0; s--)
2741
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
2742
- return a && r && go(e, o, r), r;
2797
+ var ha = Object.defineProperty, ua = Object.getOwnPropertyDescriptor, he = (c, e, a, f) => {
2798
+ for (var t = f > 1 ? void 0 : f ? ua(e, a) : e, o = c.length - 1, d; o >= 0; o--)
2799
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
2800
+ return f && t && ha(e, a, t), t;
2743
2801
  };
2744
- let V = class extends C {
2802
+ let F = class extends C {
2745
2803
  constructor() {
2746
2804
  super(...arguments), this.type = "assistant";
2747
2805
  }
@@ -2752,8 +2810,8 @@ let V = class extends C {
2752
2810
  * updated lifecycle hook: same to vue mounted or react useEffect
2753
2811
  * @param changedProperties
2754
2812
  */
2755
- updated(t) {
2756
- super.updated(t), t.has("message") && requestIdleCallback(() => {
2813
+ updated(c) {
2814
+ super.updated(c), c.has("message") && requestIdleCallback(() => {
2757
2815
  this._addCopyEvents();
2758
2816
  });
2759
2817
  }
@@ -2766,31 +2824,31 @@ let V = class extends C {
2766
2824
  });
2767
2825
  }
2768
2826
  _addCopyEvents() {
2769
- this.copyBtns.forEach((t) => {
2770
- t.addEventListener("click", () => {
2771
- var o, a;
2772
- const e = (a = (o = t.parentElement) == null ? void 0 : o.nextElementSibling) == null ? void 0 : a.textContent;
2773
- e && At(e).then(() => {
2774
- t.textContent = "Success", setTimeout(() => {
2775
- t.textContent = "Copy";
2827
+ this.copyBtns.forEach((c) => {
2828
+ c.addEventListener("click", () => {
2829
+ var a, f;
2830
+ const e = (f = (a = c.parentElement) == null ? void 0 : a.nextElementSibling) == null ? void 0 : f.textContent;
2831
+ e && Ac(e).then(() => {
2832
+ c.textContent = "Success", setTimeout(() => {
2833
+ c.textContent = "Copy";
2776
2834
  }, 500);
2777
2835
  });
2778
2836
  });
2779
2837
  });
2780
2838
  }
2781
2839
  _removeCopyEvents() {
2782
- this.copyBtns.forEach((t) => {
2783
- t.removeEventListener("click", () => {
2840
+ this.copyBtns.forEach((c) => {
2841
+ c.removeEventListener("click", () => {
2784
2842
  });
2785
2843
  });
2786
2844
  }
2787
2845
  render() {
2788
- return R(
2846
+ return D(
2789
2847
  this.message.data || this.message.isThinking,
2790
- () => c`
2848
+ () => s`
2791
2849
  <div class="cb-message-row" part="cb-message-row">
2792
2850
  <!-- message -->
2793
- ${R(
2851
+ ${D(
2794
2852
  this._isBot,
2795
2853
  () => this.renderBotMessage(this.message),
2796
2854
  () => this.renderUserMessage(this.message)
@@ -2800,109 +2858,109 @@ let V = class extends C {
2800
2858
  () => null
2801
2859
  );
2802
2860
  }
2803
- renderButtons(t = "left") {
2804
- return c`<div class="cb-message__buttons ${t}">
2861
+ renderButtons(c = "left") {
2862
+ return s`<div class="cb-message__buttons ${c}">
2805
2863
  <!-- delete button -->
2806
2864
  <sl-button class="cb-message__delete-button" name="trash" @click=${this._removeMessageHandler} circle variant="text" size="small">
2807
- <cb-icon svg="${lo}" style="font-size: 1em !important;"></cb-icon>
2865
+ <cb-icon svg="${sa}" style="font-size: 1em !important;"></cb-icon>
2808
2866
  </sl-button>
2809
2867
  </div>`;
2810
2868
  }
2811
- renderMessage(t) {
2812
- return c`
2869
+ renderMessage(c) {
2870
+ return s`
2813
2871
  <div
2814
2872
  class="cb-message__content
2815
- ${t.author}-message
2816
- message-type-${t.type}
2817
- ${t.isThinking ? "thinking" : ""}"
2873
+ ${c.author}-message
2874
+ message-type-${c.type}
2875
+ ${c.isThinking ? "thinking" : ""}"
2818
2876
  style="display: flex"
2819
2877
  >
2820
- ${this.renderMessageContent(t)}
2878
+ ${this.renderMessageContent(c)}
2821
2879
  </div>
2822
2880
  `;
2823
2881
  }
2824
- async _getMessageText(t) {
2825
- return ze(t.data.text);
2882
+ async _getMessageText(c) {
2883
+ return Ee(c.data.text);
2826
2884
  }
2827
- renderMessageContent(t) {
2885
+ renderMessageContent(c) {
2828
2886
  var e;
2829
- return t.isThinking ? c`<cb-thinking></cb-thinking>` : t.isUploading ? c`<cb-uploading .files="${t.data.files || []}"></cb-uploading>` : t.type === "text" ? c`<div class="cb-message-text">
2830
- ${R(
2831
- t.data.userName,
2832
- () => c`<div style="font-size: 12px; color:#9ca3af">${t.data.userName}</div>`,
2887
+ return c.isThinking ? s`<cb-thinking></cb-thinking>` : c.isUploading ? s`<cb-uploading .files="${c.data.files || []}"></cb-uploading>` : c.type === "text" ? s`<div class="cb-message-text">
2888
+ ${D(
2889
+ c.data.userName,
2890
+ () => s`<div style="font-size: 12px; color:#9ca3af">${c.data.userName}</div>`,
2833
2891
  () => null
2834
2892
  )}
2835
2893
  ${Ie(
2836
- this._getMessageText(t).then((o) => c`${o}`)
2894
+ this._getMessageText(c).then((a) => s`${a}`)
2837
2895
  )}
2838
- </div>` : t.type === "file" ? c`${ye(
2839
- t.data.files || [],
2840
- (o) => o.id,
2841
- (o) => c`<cb-file filename="${o.name}" url="${o.url}"></cb-file>`
2842
- )}` : c`<div class="cb-message-text">
2896
+ </div>` : c.type === "file" ? s`${we(
2897
+ c.data.files || [],
2898
+ (a) => a.id,
2899
+ (a) => s`<cb-file filename="${a.name}" url="${a.url}"></cb-file>`
2900
+ )}` : s`<div class="cb-message-text">
2843
2901
  ${Ie(
2844
- ze(((e = t.data.text) == null ? void 0 : e.toString()) || "").then((o) => c`${o}`)
2902
+ Ee(((e = c.data.text) == null ? void 0 : e.toString()) || "").then((a) => s`${a}`)
2845
2903
  )}
2846
2904
  </div>`;
2847
2905
  }
2848
- renderBotMessageAvatar(t) {
2849
- if (t.data.userName && t.data.userName !== "") {
2850
- const e = t.data.userAvatar || "";
2851
- return c` <img src="${e}" style="width: 24px;height: 24px;" /> `;
2906
+ renderBotMessageAvatar(c) {
2907
+ if (c.data.userName && c.data.userName !== "") {
2908
+ const e = c.data.userAvatar || "";
2909
+ return s` <img src="${e}" style="width: 24px;height: 24px;" /> `;
2852
2910
  }
2853
- return t.author === "system" ? He`${N(p.setting.systemIconSvg)}` : He`${N(p.setting.botIconSvg)}`;
2911
+ return c.author === "system" ? ae`${B(n.setting.systemIconSvg)}` : ae`${B(n.setting.botIconSvg)}`;
2854
2912
  }
2855
- renderBotMessage(t) {
2856
- return c`
2913
+ renderBotMessage(c) {
2914
+ return s`
2857
2915
  <div class="cb-message cb-bot-message-wrapper" part="cb-message">
2858
- <div class="avatar assistant-avatar xsmall" style="margin-top:4px;">${this.renderBotMessageAvatar(t)}</div>
2859
- <div style="margin-left: 4px;width: 100%">${this.renderMessage(t)}</div>
2916
+ <div class="avatar assistant-avatar xsmall" style="margin-top:4px;">${this.renderBotMessageAvatar(c)}</div>
2917
+ <div style="margin-left: 4px;width: 100%">${this.renderMessage(c)}</div>
2860
2918
  </div>
2861
2919
  `;
2862
2920
  }
2863
- renderUserMessage(t) {
2864
- return c`
2921
+ renderUserMessage(c) {
2922
+ return s`
2865
2923
  <div class="cb-message" part="cb-message" style="display: flex; justify-content: end;align-items: start;">
2866
2924
  <!--<sl-avatar class="avatar user-avatar small" label="User">
2867
- <cb-icon slot="icon" svg="${co}" color="white"></cb-icon>
2925
+ <cb-icon slot="icon" svg="${na}" color="white"></cb-icon>
2868
2926
  </sl-avatar>-->
2869
- <div class="avatar user-avatar">${N(p.setting.userIconSvg)}</div>
2870
- ${this.renderMessage(t)}
2927
+ <div class="avatar user-avatar">${B(n.setting.userIconSvg)}</div>
2928
+ ${this.renderMessage(c)}
2871
2929
  </div>
2872
2930
  `;
2873
2931
  }
2874
2932
  };
2875
- V.styles = ho;
2876
- pe([
2877
- l({ type: Object })
2878
- ], V.prototype, "message", 2);
2879
- pe([
2880
- l({ type: String })
2881
- ], V.prototype, "type", 2);
2882
- pe([
2883
- ht(".code-block-header__copy")
2884
- ], V.prototype, "copyBtns", 2);
2885
- V = pe([
2933
+ F.styles = la;
2934
+ he([
2935
+ r({ type: Object })
2936
+ ], F.prototype, "message", 2);
2937
+ he([
2938
+ r({ type: String })
2939
+ ], F.prototype, "type", 2);
2940
+ he([
2941
+ pc(".code-block-header__copy")
2942
+ ], F.prototype, "copyBtns", 2);
2943
+ F = he([
2886
2944
  k("cb-message")
2887
- ], V);
2888
- var mo = Object.defineProperty, yo = Object.getOwnPropertyDescriptor, U = (t, e, o, a) => {
2889
- for (var r = a > 1 ? void 0 : a ? yo(e, o) : e, s = t.length - 1, n; s >= 0; s--)
2890
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
2891
- return a && r && mo(e, o, r), r;
2945
+ ], F);
2946
+ var ga = Object.defineProperty, ma = Object.getOwnPropertyDescriptor, Z = (c, e, a, f) => {
2947
+ for (var t = f > 1 ? void 0 : f ? ma(e, a) : e, o = c.length - 1, d; o >= 0; o--)
2948
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
2949
+ return f && t && ga(e, a, t), t;
2892
2950
  };
2893
- const Q = de.noConflict();
2951
+ const Q = pe.noConflict();
2894
2952
  Q.setLevel("info");
2895
- let z = class extends C {
2953
+ let E = class extends C {
2896
2954
  constructor() {
2897
2955
  super(...arguments), this.messages = [], this.actions = [], this.calendlyInjected = !1, this.activeCalendlyAction = -1;
2898
2956
  }
2899
2957
  render() {
2900
- return c`
2958
+ return s`
2901
2959
  <div class="cb-message-list" part="cb-message-list">
2902
- ${ye(
2960
+ ${we(
2903
2961
  this.messages,
2904
- (t) => t.id + JSON.stringify(t.data),
2905
- (t) => c`<cb-message .message="${t}"></cb-message>`
2962
+ (c) => c.id + JSON.stringify(c.data),
2963
+ (c) => s`<cb-message .message="${c}"></cb-message>`
2906
2964
  )}
2907
2965
  ${this.renderActions()}
2908
2966
  <div id="cb-message-list-bottom-anchor"></div>
@@ -2910,12 +2968,12 @@ let z = class extends C {
2910
2968
  `;
2911
2969
  }
2912
2970
  renderActions() {
2913
- return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : c`
2971
+ return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : s`
2914
2972
  <div class="cb-actions-list">
2915
- ${ye(
2973
+ ${we(
2916
2974
  this.actions,
2917
- (t) => t,
2918
- (t) => this.renderAction(t)
2975
+ (c) => c,
2976
+ (c) => this.renderAction(c)
2919
2977
  )}
2920
2978
  </div>
2921
2979
  `;
@@ -2923,41 +2981,41 @@ let z = class extends C {
2923
2981
  scrollToBottom() {
2924
2982
  this._messageListBottomAnchor.scrollIntoView({ behavior: "smooth", block: "end", inline: "nearest" });
2925
2983
  }
2926
- renderAction(t) {
2927
- switch (t.type) {
2984
+ renderAction(c) {
2985
+ switch (c.type) {
2928
2986
  case "calendlyMeeting":
2929
- return this.renderCalendlyAction(t);
2987
+ return this.renderCalendlyAction(c);
2930
2988
  case "link":
2931
- return this.renderLinkAction(t);
2989
+ return this.renderLinkAction(c);
2932
2990
  }
2933
2991
  return null;
2934
2992
  }
2935
- handleCalendlyEvent(t) {
2936
- switch (Q.info("Got Calendly Event:", t.data), t.data.event) {
2993
+ handleCalendlyEvent(c) {
2994
+ switch (Q.info("Got Calendly Event:", c.data), c.data.event) {
2937
2995
  case "calendly.event_scheduled": {
2938
2996
  const e = this.activeCalendlyAction;
2939
- e >= 0 && (p.removeAction(e), p.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
2997
+ e >= 0 && (n.removeAction(e), n.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
2940
2998
  }
2941
2999
  }
2942
3000
  }
2943
- invokeLinkAction(t = {}) {
2944
- Q.info("invokeLinkAction:", t), window.open(t.url, "_blank");
3001
+ invokeLinkAction(c = {}) {
3002
+ Q.info("invokeLinkAction:", c), window.open(c.url, "_blank");
2945
3003
  }
2946
- invokeCalendlyAction(t = {}) {
2947
- return Q.info("invokeCalendlyAction:", t), "Calendly" in window && (this.activeCalendlyAction = t.internalId, window.Calendly.initPopupWidget({ url: t.url })), !1;
3004
+ invokeCalendlyAction(c = {}) {
3005
+ return Q.info("invokeCalendlyAction:", c), "Calendly" in window && (this.activeCalendlyAction = c.internalId, window.Calendly.initPopupWidget({ url: c.url })), !1;
2948
3006
  }
2949
- renderCalendlyAction(t) {
3007
+ renderCalendlyAction(c) {
2950
3008
  if (!("Calendly" in window) && !this.calendlyInjected) {
2951
3009
  let e = document.createElement("link");
2952
3010
  e.href = "https://assets.calendly.com/assets/external/widget.css", e.rel = "stylesheet", document.body.appendChild(e);
2953
- let o = document.createElement("script");
2954
- o.type = "text/javascript", o.src = "https://assets.calendly.com/assets/external/widget.js", document.body.appendChild(o), console.log("Injected Calendly"), window.addEventListener("message", (a) => {
2955
- a.origin === "https://calendly.com" && a.data.event && a.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(a);
3011
+ let a = document.createElement("script");
3012
+ a.type = "text/javascript", a.src = "https://assets.calendly.com/assets/external/widget.js", document.body.appendChild(a), console.log("Injected Calendly"), window.addEventListener("message", (f) => {
3013
+ f.origin === "https://calendly.com" && f.data.event && f.data.event.indexOf("calendly.") !== -1 && this.handleCalendlyEvent(f);
2956
3014
  }), this.calendlyInjected = !0;
2957
3015
  }
2958
- return c`
3016
+ return s`
2959
3017
  <div class="cb-actions-list">
2960
- <div class="cb-action ripple" @click="${this.invokeCalendlyAction.bind(this, t)}">
3018
+ <div class="cb-action ripple" @click="${this.invokeCalendlyAction.bind(this, c)}">
2961
3019
  <div class="cb-action-icon">
2962
3020
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2963
3021
  <path
@@ -2966,47 +3024,47 @@ let z = class extends C {
2966
3024
  />
2967
3025
  </svg>
2968
3026
  </div>
2969
- ${t.title}
3027
+ ${c.title}
2970
3028
  </div>
2971
3029
  </div>
2972
3030
  `;
2973
3031
  }
2974
- renderLinkAction(t) {
2975
- return c`
3032
+ renderLinkAction(c) {
3033
+ return s`
2976
3034
  <div class="cb-actions-list">
2977
- <div class="cb-action ripple" @click="${this.invokeLinkAction.bind(this, t)}">
3035
+ <div class="cb-action ripple" @click="${this.invokeLinkAction.bind(this, c)}">
2978
3036
  <div class="cb-action-icon">
2979
3037
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2980
3038
  <path d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" fill="currentColor" />
2981
3039
  </svg>
2982
3040
  </div>
2983
- ${t.title}
3041
+ ${c.title}
2984
3042
  </div>
2985
3043
  </div>
2986
3044
  `;
2987
3045
  }
2988
3046
  };
2989
- z.styles = Ut;
2990
- U([
2991
- l({ type: Array })
2992
- ], z.prototype, "messages", 2);
2993
- U([
2994
- l({ type: Array })
2995
- ], z.prototype, "actions", 2);
2996
- U([
2997
- ce("#cb-message-list-bottom-anchor")
2998
- ], z.prototype, "_messageListBottomAnchor", 2);
2999
- U([
3047
+ E.styles = Zc;
3048
+ Z([
3049
+ r({ type: Array })
3050
+ ], E.prototype, "messages", 2);
3051
+ Z([
3052
+ r({ type: Array })
3053
+ ], E.prototype, "actions", 2);
3054
+ Z([
3055
+ le("#cb-message-list-bottom-anchor")
3056
+ ], E.prototype, "_messageListBottomAnchor", 2);
3057
+ Z([
3000
3058
  qe({ capture: !1, passive: !0 })
3001
- ], z.prototype, "invokeLinkAction", 1);
3002
- U([
3059
+ ], E.prototype, "invokeLinkAction", 1);
3060
+ Z([
3003
3061
  qe({ capture: !1, passive: !0 })
3004
- ], z.prototype, "invokeCalendlyAction", 1);
3005
- z = U([
3062
+ ], E.prototype, "invokeCalendlyAction", 1);
3063
+ E = Z([
3006
3064
  k("cb-message-list")
3007
- ], z);
3008
- const fo = x`
3009
- ${O}
3065
+ ], E);
3066
+ const ya = x`
3067
+ ${I}
3010
3068
 
3011
3069
  :host {
3012
3070
  width: 100%;
@@ -3048,18 +3106,18 @@ const fo = x`
3048
3106
  .cb-input-buttons {
3049
3107
  padding: 0 5px;
3050
3108
  }
3051
- `, vo = '<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.576L6.636 10.07Zm6.787-8.201L1.591 6.602l4.339 2.76l7.494-7.493Z"/></svg>', wo = '<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 0V3z"/></svg>';
3052
- var xo = Object.defineProperty, ko = Object.getOwnPropertyDescriptor, P = (t, e, o, a) => {
3053
- for (var r = a > 1 ? void 0 : a ? ko(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3054
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3055
- return a && r && xo(e, o, r), r;
3109
+ `, va = '<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.576L6.636 10.07Zm6.787-8.201L1.591 6.602l4.339 2.76l7.494-7.493Z"/></svg>', wa = '<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 0V3z"/></svg>';
3110
+ var xa = Object.defineProperty, ka = Object.getOwnPropertyDescriptor, P = (c, e, a, f) => {
3111
+ for (var t = f > 1 ? void 0 : f ? ka(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3112
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3113
+ return f && t && xa(e, a, t), t;
3056
3114
  };
3057
- let A = class extends C {
3115
+ let L = class extends C {
3058
3116
  constructor() {
3059
3117
  super(...arguments), this.placeholder = "Type a message...", this.sendButtonLabel = "Send", this.enableFileUpload = !1, this.value = "", this.loading = !1, this.disabled = !1, this.currentKey = "";
3060
3118
  }
3061
- _inputChangeHandler(t) {
3062
- const e = t.target;
3119
+ _inputChangeHandler(c) {
3120
+ const e = c.target;
3063
3121
  this.value = e.value;
3064
3122
  }
3065
3123
  _sendHandler() {
@@ -3072,109 +3130,98 @@ let A = class extends C {
3072
3130
  text: this.value
3073
3131
  }
3074
3132
  }
3075
- }), this.value = "", this.inputElement.blur();
3133
+ }), this.value = "", this.inputElement.blur(), requestIdleCallback(() => {
3134
+ this.inputElement.focus();
3135
+ });
3076
3136
  }
3077
3137
  async _sendFileHandler() {
3078
- const t = await Ot();
3138
+ const c = await Lc();
3079
3139
  this.emit("message:send:file", {
3080
3140
  detail: {
3081
- files: t
3141
+ files: c
3082
3142
  }
3083
3143
  });
3084
3144
  }
3085
3145
  render() {
3086
- return c`
3087
- <div class="cb-user-input-wrapper" part="user-input-wrapper">
3088
- <sl-textarea
3089
- @sl-input=${this._inputChangeHandler}
3090
- placeholder=${this.placeholder}
3091
- class="cb-user-input"
3092
- clearable="true"
3093
- value=${this.value}
3094
- rows="1"
3095
- resize="auto"
3096
- filled
3097
- ?disabled=${this.disabled}
3098
- enterkeyhint="send"
3099
- @keydown=${this._keyDownHandler}
3100
- ></sl-textarea>
3146
+ return s`
3147
+ <div class="cb-user-input-wrapper" part="user-input-wrapper">
3148
+ <sl-textarea
3149
+ @sl-input=${this._inputChangeHandler}
3150
+ placeholder=${this.placeholder}
3151
+ class="cb-user-input"
3152
+ clearable="true"
3153
+ value=${this.value}
3154
+ rows="1"
3155
+ resize="auto"
3156
+ filled
3157
+ ?disabled=${this.disabled}
3158
+ enterkeyhint="send"
3159
+ @keydown=${this._keyDownHandler}
3160
+ ></sl-textarea>
3101
3161
 
3102
- <span class="cb-input-buttons">
3103
- ${R(
3162
+ <span class="cb-input-buttons">
3163
+ ${D(
3104
3164
  this.enableFileUpload,
3105
- () => c`
3106
- <sl-button
3107
- @click=${this._sendFileHandler}
3108
- name="paperclip"
3109
- label="Attachment"
3110
- size="large"
3111
- class="paperclip-button"
3112
- variant="text"
3113
- circle
3114
- >
3115
- <cb-icon svg="${wo}"></cb-icon>
3116
- <!-- select file input -->
3117
- <input
3118
- type="file"
3119
- id="file"
3120
- name="file"
3121
- class="file-input"
3122
- />
3123
- </sl-button>
3124
- `,
3125
- () => c``
3165
+ () => s`
3166
+ <sl-button @click=${this._sendFileHandler} name="paperclip" label="Attachment" size="large" class="paperclip-button" variant="text" circle>
3167
+ <cb-icon svg="${wa}"></cb-icon>
3168
+ <!-- select file input -->
3169
+ <input type="file" id="file" name="file" class="file-input" />
3170
+ </sl-button>
3171
+ `,
3172
+ () => s``
3126
3173
  )}
3127
- <sl-button
3128
- @click=${this._sendHandler}
3129
- name="send"
3130
- label="Send"
3131
- size="small"
3132
- class="send-button"
3133
- variant="text"
3134
- ?disabled=${this.value.length === 0}
3135
- ?loading=${this.loading}
3136
- circle
3137
- >
3138
- <cb-icon svg="${vo}"></cb-icon>
3139
- </sl-button>
3140
- </span>
3141
- </div>
3142
- `;
3174
+ <sl-button
3175
+ @click=${this._sendHandler}
3176
+ name="send"
3177
+ label="Send"
3178
+ size="small"
3179
+ class="send-button"
3180
+ variant="text"
3181
+ ?disabled=${this.value.length === 0}
3182
+ ?loading=${this.loading}
3183
+ circle
3184
+ >
3185
+ <cb-icon svg="${va}"></cb-icon>
3186
+ </sl-button>
3187
+ </span>
3188
+ </div>
3189
+ `;
3143
3190
  }
3144
- _keyDownHandler(t) {
3145
- t.key === "Enter" && !t.shiftKey && this._sendHandler();
3191
+ _keyDownHandler(c) {
3192
+ c.key === "Enter" && !c.shiftKey && this._sendHandler();
3146
3193
  }
3147
3194
  };
3148
- A.styles = fo;
3195
+ L.styles = ya;
3149
3196
  P([
3150
- l({ type: String, attribute: "placeholder" })
3151
- ], A.prototype, "placeholder", 2);
3197
+ r({ type: String, attribute: "placeholder" })
3198
+ ], L.prototype, "placeholder", 2);
3152
3199
  P([
3153
- l({ type: String, attribute: "send-button-label" })
3154
- ], A.prototype, "sendButtonLabel", 2);
3200
+ r({ type: String, attribute: "send-button-label" })
3201
+ ], L.prototype, "sendButtonLabel", 2);
3155
3202
  P([
3156
- l({ type: Boolean, attribute: "enable-file-upload" })
3157
- ], A.prototype, "enableFileUpload", 2);
3203
+ r({ type: Boolean, attribute: "enable-file-upload" })
3204
+ ], L.prototype, "enableFileUpload", 2);
3158
3205
  P([
3159
- l({ type: String })
3160
- ], A.prototype, "value", 2);
3206
+ r({ type: String })
3207
+ ], L.prototype, "value", 2);
3161
3208
  P([
3162
- l({ type: Boolean })
3163
- ], A.prototype, "loading", 2);
3209
+ r({ type: Boolean })
3210
+ ], L.prototype, "loading", 2);
3164
3211
  P([
3165
- l({ type: Boolean })
3166
- ], A.prototype, "disabled", 2);
3212
+ r({ type: Boolean })
3213
+ ], L.prototype, "disabled", 2);
3167
3214
  P([
3168
- l({ type: String })
3169
- ], A.prototype, "currentKey", 2);
3215
+ r({ type: String })
3216
+ ], L.prototype, "currentKey", 2);
3170
3217
  P([
3171
- ce("sl-textarea")
3172
- ], A.prototype, "inputElement", 2);
3173
- A = P([
3218
+ le("sl-textarea")
3219
+ ], L.prototype, "inputElement", 2);
3220
+ L = P([
3174
3221
  k("cb-user-input")
3175
- ], A);
3176
- const _o = x`
3177
- ${O}
3222
+ ], L);
3223
+ const _a = x`
3224
+ ${I}
3178
3225
 
3179
3226
  sl-dialog::part(base) {
3180
3227
  z-index: 1000;
@@ -3208,12 +3255,12 @@ const _o = x`
3208
3255
  gap: 8px;
3209
3256
  }
3210
3257
  `;
3211
- var Co = Object.defineProperty, $o = Object.getOwnPropertyDescriptor, he = (t, e, o, a) => {
3212
- for (var r = a > 1 ? void 0 : a ? $o(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3213
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3214
- return a && r && Co(e, o, r), r;
3258
+ var Ca = Object.defineProperty, $a = Object.getOwnPropertyDescriptor, ue = (c, e, a, f) => {
3259
+ for (var t = f > 1 ? void 0 : f ? $a(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3260
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3261
+ return f && t && Ca(e, a, t), t;
3215
3262
  };
3216
- let q = class extends C {
3263
+ let U = class extends C {
3217
3264
  constructor() {
3218
3265
  super(...arguments), this.open = !1, this.label = "Dialog", this.zindex = 100;
3219
3266
  }
@@ -3221,7 +3268,7 @@ let q = class extends C {
3221
3268
  this.emit("cancel");
3222
3269
  }
3223
3270
  render() {
3224
- return c` <sl-dialog
3271
+ return s` <sl-dialog
3225
3272
  label="Setting"
3226
3273
  class="cb-dialog"
3227
3274
  style="sl-dialog::part(base) { z-index: ${this.zindex}; }"
@@ -3231,7 +3278,7 @@ let q = class extends C {
3231
3278
  >
3232
3279
  <header class="cb-header">
3233
3280
  <div class="cb-header__left">
3234
- ${this.label ? c`<span class="title">${this.label}</span>` : ""}
3281
+ ${this.label ? s`<span class="title">${this.label}</span>` : ""}
3235
3282
  </div>
3236
3283
  <sl-button
3237
3284
  @click=${this._settingCancelHandler}
@@ -3244,7 +3291,7 @@ let q = class extends C {
3244
3291
  <cb-icon
3245
3292
  color="default"
3246
3293
  style="font-size: 1em;"
3247
- svg="${je}"
3294
+ svg="${te}"
3248
3295
  ></cb-icon>
3249
3296
  </sl-button>
3250
3297
  </header>
@@ -3257,30 +3304,30 @@ let q = class extends C {
3257
3304
  </sl-dialog>`;
3258
3305
  }
3259
3306
  };
3260
- q.styles = _o;
3261
- he([
3262
- l({ type: Boolean })
3263
- ], q.prototype, "open", 2);
3264
- he([
3265
- l({ type: String, attribute: "label" })
3266
- ], q.prototype, "label", 2);
3267
- he([
3268
- l({ type: Number })
3269
- ], q.prototype, "zindex", 2);
3270
- q = he([
3307
+ U.styles = _a;
3308
+ ue([
3309
+ r({ type: Boolean })
3310
+ ], U.prototype, "open", 2);
3311
+ ue([
3312
+ r({ type: String, attribute: "label" })
3313
+ ], U.prototype, "label", 2);
3314
+ ue([
3315
+ r({ type: Number })
3316
+ ], U.prototype, "zindex", 2);
3317
+ U = ue([
3271
3318
  k("cb-dialog")
3272
- ], q);
3273
- var jo = Object.defineProperty, Mo = Object.getOwnPropertyDescriptor, Ke = (t, e, o, a) => {
3274
- for (var r = a > 1 ? void 0 : a ? Mo(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3275
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3276
- return a && r && jo(e, o, r), r;
3319
+ ], U);
3320
+ var ja = Object.defineProperty, Ma = Object.getOwnPropertyDescriptor, Je = (c, e, a, f) => {
3321
+ for (var t = f > 1 ? void 0 : f ? Ma(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3322
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3323
+ return f && t && ja(e, a, t), t;
3277
3324
  };
3278
- let re = class extends C {
3325
+ let de = class extends C {
3279
3326
  constructor() {
3280
3327
  super(...arguments), this.open = !1;
3281
3328
  }
3282
3329
  render() {
3283
- return c` <cb-dialog
3330
+ return s` <cb-dialog
3284
3331
  label="Confirm"
3285
3332
  class="cb-clear-message-dialog"
3286
3333
  ?open=${this.open}
@@ -3309,7 +3356,7 @@ let re = class extends C {
3309
3356
  this.emit("cancel");
3310
3357
  }
3311
3358
  };
3312
- re.styles = x`
3359
+ de.styles = x`
3313
3360
  .cb-clear-message-dialog {
3314
3361
  }
3315
3362
 
@@ -3317,13 +3364,13 @@ re.styles = x`
3317
3364
  z-index: 1000;
3318
3365
  }
3319
3366
  `;
3320
- Ke([
3321
- l({ type: Boolean })
3322
- ], re.prototype, "open", 2);
3323
- re = Ke([
3367
+ Je([
3368
+ r({ type: Boolean })
3369
+ ], de.prototype, "open", 2);
3370
+ de = Je([
3324
3371
  k("cb-clear-message-dialog")
3325
- ], re);
3326
- const So = x`
3372
+ ], de);
3373
+ const Sa = x`
3327
3374
  :host {
3328
3375
  // width: 380px;
3329
3376
 
@@ -3383,17 +3430,17 @@ const So = x`
3383
3430
  grid-column-start: 2;
3384
3431
  }
3385
3432
  `;
3386
- var Ao = Object.defineProperty, Oo = Object.getOwnPropertyDescriptor, Z = (t, e, o, a) => {
3387
- for (var r = a > 1 ? void 0 : a ? Oo(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3388
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3389
- return a && r && Ao(e, o, r), r;
3433
+ var Aa = Object.defineProperty, La = Object.getOwnPropertyDescriptor, N = (c, e, a, f) => {
3434
+ for (var t = f > 1 ? void 0 : f ? La(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3435
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3436
+ return f && t && Aa(e, a, t), t;
3390
3437
  };
3391
- let E = class extends C {
3438
+ let z = class extends C {
3392
3439
  constructor() {
3393
3440
  super(...arguments), this.open = !1, this.clearMessageDialogOpen = !1, this.customRequest = !1;
3394
3441
  }
3395
3442
  render() {
3396
- return this.customRequest = this.setting.customRequest, c`
3443
+ return this.customRequest = this.setting.customRequest, s`
3397
3444
  <cb-dialog
3398
3445
  label="Setting"
3399
3446
  class="cb-dialog"
@@ -3427,7 +3474,7 @@ let E = class extends C {
3427
3474
  Enable it for your own backend.
3428
3475
  </sl-switch>
3429
3476
  </div> -->
3430
- ${R(
3477
+ ${D(
3431
3478
  this.customRequest,
3432
3479
  () => null,
3433
3480
  () => this.renderInternalServices()
@@ -3486,7 +3533,7 @@ let E = class extends C {
3486
3533
  `;
3487
3534
  }
3488
3535
  renderInternalServices() {
3489
- return c`
3536
+ return s`
3490
3537
  <div class="form-item">
3491
3538
  <label class="label">Service</label>
3492
3539
  <sl-radio-group name="openai" value="openai" size="small">
@@ -3523,14 +3570,14 @@ let E = class extends C {
3523
3570
  this.emit("message:clear"), this.clearMessageDialogOpen = !1;
3524
3571
  }
3525
3572
  // input change handler
3526
- _inputChangeHandler(t) {
3527
- const { name: e, value: o } = t.target, [a, r] = e.split(".");
3528
- r ? this.setting[a][r] = o : this.setting[a] = o;
3573
+ _inputChangeHandler(c) {
3574
+ const { name: e, value: a } = c.target, [f, t] = e.split(".");
3575
+ t ? this.setting[f][t] = a : this.setting[f] = a;
3529
3576
  }
3530
3577
  // checked change handler
3531
- _checkChangeHandler(t) {
3532
- const { name: e, checked: o } = t.target, [a, r] = e.split(".");
3533
- r ? this.setting[a][r] = o : this.setting[a] = o, a === "customRequest" && (this.customRequest = o);
3578
+ _checkChangeHandler(c) {
3579
+ const { name: e, checked: a } = c.target, [f, t] = e.split(".");
3580
+ t ? this.setting[f][t] = a : this.setting[f] = a, f === "customRequest" && (this.customRequest = a);
3534
3581
  }
3535
3582
  // emit setting confirm event
3536
3583
  _settingConfirmHandler() {
@@ -3544,34 +3591,34 @@ let E = class extends C {
3544
3591
  _settingCancelHandler() {
3545
3592
  this.emit("setting:hide");
3546
3593
  }
3547
- updated(t) {
3594
+ updated(c) {
3548
3595
  var e;
3549
- super.updated(t), (e = this.dialog) == null || e.addEventListener("sl-request-close", (o) => {
3550
- o.detail.source === "overlay" && o.preventDefault();
3596
+ super.updated(c), (e = this.dialog) == null || e.addEventListener("sl-request-close", (a) => {
3597
+ a.detail.source === "overlay" && a.preventDefault();
3551
3598
  });
3552
3599
  }
3553
3600
  };
3554
- E.styles = So;
3555
- Z([
3556
- l({ type: Boolean })
3557
- ], E.prototype, "open", 2);
3558
- Z([
3559
- l({ type: Object })
3560
- ], E.prototype, "setting", 2);
3561
- Z([
3562
- l({ type: Boolean })
3563
- ], E.prototype, "clearMessageDialogOpen", 2);
3564
- Z([
3565
- ce("sl-dialog")
3566
- ], E.prototype, "dialog", 2);
3567
- Z([
3568
- l({ type: Boolean })
3569
- ], E.prototype, "customRequest", 2);
3570
- E = Z([
3601
+ z.styles = Sa;
3602
+ N([
3603
+ r({ type: Boolean })
3604
+ ], z.prototype, "open", 2);
3605
+ N([
3606
+ r({ type: Object })
3607
+ ], z.prototype, "setting", 2);
3608
+ N([
3609
+ r({ type: Boolean })
3610
+ ], z.prototype, "clearMessageDialogOpen", 2);
3611
+ N([
3612
+ le("sl-dialog")
3613
+ ], z.prototype, "dialog", 2);
3614
+ N([
3615
+ r({ type: Boolean })
3616
+ ], z.prototype, "customRequest", 2);
3617
+ z = N([
3571
3618
  k("cb-setting")
3572
- ], E);
3573
- const Lo = x`
3574
- ${O}
3619
+ ], z);
3620
+ const Oa = x`
3621
+ ${I}
3575
3622
  :host {
3576
3623
  --primary-color: var(--sl-color-primary-600);
3577
3624
 
@@ -3615,11 +3662,11 @@ const Lo = x`
3615
3662
  }
3616
3663
 
3617
3664
  .cb-engage-popup {
3618
- min-width: 200px;
3665
+ min-width: 250px;
3619
3666
  min-height: 100px;
3620
- color: rgb(34, 34, 34);
3621
- padding: 10px;
3622
- background-color: var(--sl-color-gray-50);
3667
+ color: var(--enegelai-bot-popup-color, rgb(0, 0, 0));
3668
+ padding: 10px 20px 10px 10px;
3669
+ background: var(--enegelai-bot-popup-background, var(--sl-color-gray-50));
3623
3670
  //border: 1px solid;
3624
3671
  //border-color: var(--sl-color-gray-100);
3625
3672
  border-radius: 6px;
@@ -3627,118 +3674,148 @@ const Lo = x`
3627
3674
  -webkit-font-smoothing: subpixel-antialiased;
3628
3675
  font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
3629
3676
  //font-size: 0.9rem;
3677
+ line-height: 1.4;
3630
3678
  font-style: normal;
3631
3679
  letter-spacing: normal;
3632
3680
  font-stretch: normal;
3633
3681
  font-variant: normal;
3634
3682
  cursor: pointer;
3635
- box-shadow: rgba(148, 149, 150, 0.2) 20px 20px 40px 20px;
3636
- //box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
3683
+ //box-shadow: rgba(148, 149, 150, 0.4) 20px 20px 20px 20px;
3684
+ box-shadow:
3685
+ 0 4px 8px 0 rgba(0, 0, 0, 0.2),
3686
+ 0 6px 20px 0 rgba(0, 0, 0, 0.19);
3637
3687
  }
3638
3688
 
3639
3689
  .cb-anchor sl-popup {
3640
- --arrow-color: var(--sl-color-gray-300);
3690
+ --arrow-color: var(--sl-color-gray-500);
3691
+ }
3692
+
3693
+ .cb-engage-popup-logo {
3694
+ color: var(--enegelai-bot-popup-logo-color, rgb(0, 208, 117));
3695
+ }
3696
+
3697
+ .cb-engage-popup-close {
3698
+ position: absolute;
3699
+ top: 0;
3700
+ right: 0;
3701
+ margin: 6px;
3702
+ color: var(--enegelai-bot-popup-close-color, var(--sl-color-gray-400));
3641
3703
  }
3642
- `, Ho = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2z"/></svg>';
3643
- var Io = Object.defineProperty, Po = Object.getOwnPropertyDescriptor, Je = (t, e, o, a) => {
3644
- for (var r = a > 1 ? void 0 : a ? Po(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3645
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3646
- return a && r && Io(e, o, r), r;
3704
+
3705
+ .cb-engage-popup-content {
3706
+ padding: 2px;
3707
+ margin-top: 10px;
3708
+ display: flex;
3709
+ align-items: start;
3710
+ gap: 10px;
3711
+ }
3712
+ `, Ha = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><path fill="currentColor" d="M16 8c0 3.866-3.582 7-8 7a9.06 9.06 0 0 1-2.347-.306c-.584.296-1.925.864-4.181 1.234c-.2.032-.352-.176-.273-.362c.354-.836.674-1.95.77-2.966C.744 11.37 0 9.76 0 8c0-3.866 3.582-7 8-7s8 3.134 8 7zM5 8a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm4 0a1 1 0 1 0-2 0a1 1 0 0 0 2 0zm3 1a1 1 0 1 0 0-2a1 1 0 0 0 0 2z"/></svg>';
3713
+ var Ia = Object.defineProperty, Pa = Object.getOwnPropertyDescriptor, Ye = (c, e, a, f) => {
3714
+ for (var t = f > 1 ? void 0 : f ? Pa(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3715
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3716
+ return f && t && Ia(e, a, t), t;
3647
3717
  };
3648
- let ae = class extends C {
3718
+ let be = class extends C {
3649
3719
  constructor() {
3650
- super(...arguments), this.open = !1;
3720
+ super(...arguments), this.store = new Fe(this, n), this.open = !1;
3651
3721
  }
3652
3722
  // handler click
3653
3723
  _clickHandler() {
3654
- const t = !this.open;
3724
+ const c = !this.open;
3655
3725
  this.emit("chatbot:toggle", {
3656
3726
  detail: {
3657
- open: t
3727
+ open: c
3658
3728
  }
3659
- }), this.open = t;
3729
+ }), this.open = c;
3660
3730
  }
3661
- _popupClickHandler() {
3662
- console.log("Popup clicked!");
3731
+ _engageClickHandler(c) {
3732
+ console.log("engage close clicked!"), n.engage = !1, c.stopPropagation();
3663
3733
  }
3664
3734
  render() {
3665
- return c`
3735
+ return s`
3666
3736
  <div class="cb-anchor ${this.open ? "open" : ""}" part="cb-anchor" @click=${this._clickHandler.bind(this)}>
3667
- <sl-popup placement="top-end" distance="16">
3737
+ <sl-popup placement="top-end" distance="16" ?active="${n.engage && !n.open}">
3668
3738
  <sl-button slot="anchor" label="Start" size="large" variant="primary" class="icon anchor-button" circle>
3669
- ${R(
3739
+ ${D(
3670
3740
  this.open,
3671
- () => c`<cb-icon color="white" svg="${je}"></cb-icon>`,
3672
- () => c`<cb-icon color="white" svg="${Ho}"></cb-icon>`
3741
+ () => s`<cb-icon color="white" svg="${te}"></cb-icon>`,
3742
+ () => s`<cb-icon color="white" svg="${Ha}"></cb-icon>`
3673
3743
  )}
3674
3744
  </sl-button>
3675
- <div class="cb-engage-popup">Popup</div>
3745
+ <div class="cb-engage-popup">
3746
+ <div class="cb-engage-popup-close" @click=${this._engageClickHandler.bind(this)}>${ae`${B(te)}`}</div>
3747
+ <div class="cb-engage-popup-content">
3748
+ <div class="cb-engage-popup-logo">${ae`${B(n.setting.logoSvg)}`}</div>
3749
+ <!--<cb-icon class="cb-engage-popup-logo" svg="${n.setting.logoSvg}"></cb-icon>-->
3750
+ <div>${n.setting.engageMessage}</div>
3751
+ </div>
3752
+ </div>
3676
3753
  </sl-popup>
3677
3754
  </div>
3678
3755
  `;
3679
3756
  }
3680
3757
  };
3681
- ae.styles = Lo;
3682
- Je([
3683
- l({ type: Boolean })
3684
- ], ae.prototype, "open", 2);
3685
- ae = Je([
3758
+ be.styles = Oa;
3759
+ Ye([
3760
+ r({ type: Boolean })
3761
+ ], be.prototype, "open", 2);
3762
+ be = Ye([
3686
3763
  k("cb-anchor")
3687
- ], ae);
3688
- const zo = x`
3689
- ${O}
3690
- `, xe = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1L1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z"/><path d="M7.002 11a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z"/></g></svg>', Ye = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016a.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06a.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017a.163.163 0 0 1-.054-.06a.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z"/></g></svg>', Ge = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M2.5 8a5.5 5.5 0 0 1 8.25-4.764a.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0a5.5 5.5 0 1 1-11 0z"/><path d="M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293L5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l7-7z"/></g></svg>', Xe = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="m8.93 6.588l-2.29.287l-.082.38l.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319c.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246c-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0z"/></g></svg>';
3691
- var Eo = Object.defineProperty, To = Object.getOwnPropertyDescriptor, Qe = (t, e, o, a) => {
3692
- for (var r = a > 1 ? void 0 : a ? To(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3693
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3694
- return a && r && Eo(e, o, r), r;
3764
+ ], be);
3765
+ const Ea = x`
3766
+ ${I}
3767
+ `, Ce = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M4.54.146A.5.5 0 0 1 4.893 0h6.214a.5.5 0 0 1 .353.146l4.394 4.394a.5.5 0 0 1 .146.353v6.214a.5.5 0 0 1-.146.353l-4.394 4.394a.5.5 0 0 1-.353.146H4.893a.5.5 0 0 1-.353-.146L.146 11.46A.5.5 0 0 1 0 11.107V4.893a.5.5 0 0 1 .146-.353L4.54.146zM5.1 1L1 5.1v5.8L5.1 15h5.8l4.1-4.1V5.1L10.9 1H5.1z"/><path d="M7.002 11a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z"/></g></svg>', Ge = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M7.938 2.016A.13.13 0 0 1 8.002 2a.13.13 0 0 1 .063.016a.146.146 0 0 1 .054.057l6.857 11.667c.036.06.035.124.002.183a.163.163 0 0 1-.054.06a.116.116 0 0 1-.066.017H1.146a.115.115 0 0 1-.066-.017a.163.163 0 0 1-.054-.06a.176.176 0 0 1 .002-.183L7.884 2.073a.147.147 0 0 1 .054-.057zm1.044-.45a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566z"/><path d="M7.002 12a1 1 0 1 1 2 0a1 1 0 0 1-2 0zM7.1 5.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995z"/></g></svg>', Xe = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M2.5 8a5.5 5.5 0 0 1 8.25-4.764a.5.5 0 0 0 .5-.866A6.5 6.5 0 1 0 14.5 8a.5.5 0 0 0-1 0a5.5 5.5 0 1 1-11 0z"/><path d="M15.354 3.354a.5.5 0 0 0-.708-.708L8 9.293L5.354 6.646a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l7-7z"/></g></svg>', Qe = '<svg viewBox="0 0 16 16" width="1.2em" height="1.2em" ><g fill="currentColor"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="m8.93 6.588l-2.29.287l-.082.38l.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319c.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246c-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0a1 1 0 0 1 2 0z"/></g></svg>';
3768
+ var za = Object.defineProperty, Ta = Object.getOwnPropertyDescriptor, ec = (c, e, a, f) => {
3769
+ for (var t = f > 1 ? void 0 : f ? Ta(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3770
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3771
+ return f && t && za(e, a, t), t;
3695
3772
  };
3696
- const Ee = {
3773
+ const ze = {
3697
3774
  error: {
3698
3775
  variant: "danger",
3699
- icon: xe
3776
+ icon: Ce
3700
3777
  },
3701
3778
  danger: {
3702
3779
  variant: "danger",
3703
- icon: xe
3780
+ icon: Ce
3704
3781
  },
3705
3782
  warning: {
3706
3783
  variant: "warning",
3707
- icon: Ye
3784
+ icon: Ge
3708
3785
  },
3709
3786
  success: {
3710
3787
  variant: "success",
3711
- icon: Ge
3788
+ icon: Xe
3712
3789
  },
3713
3790
  info: {
3714
3791
  variant: "primary",
3715
- icon: Xe
3792
+ icon: Qe
3716
3793
  }
3717
3794
  };
3718
- let se = class extends C {
3795
+ let re = class extends C {
3719
3796
  constructor() {
3720
3797
  super(...arguments), this.status = "info";
3721
3798
  }
3722
3799
  render() {
3723
- const { variant: t, icon: e } = Ee[this.status] || Ee.info;
3724
- return c`<cb-icon svg=${e} color="${t}"></cb-icon>`;
3800
+ const { variant: c, icon: e } = ze[this.status] || ze.info;
3801
+ return s`<cb-icon svg=${e} color="${c}"></cb-icon>`;
3725
3802
  }
3726
3803
  };
3727
- se.styles = Ze;
3728
- Qe([
3729
- l({ type: String })
3730
- ], se.prototype, "status", 2);
3731
- se = Qe([
3804
+ re.styles = Ne;
3805
+ ec([
3806
+ r({ type: String })
3807
+ ], re.prototype, "status", 2);
3808
+ re = ec([
3732
3809
  k("cb-status-icon")
3733
- ], se);
3734
- var Bo = Object.defineProperty, Ro = Object.getOwnPropertyDescriptor, Vo = (t, e, o, a) => {
3735
- for (var r = a > 1 ? void 0 : a ? Ro(e, o) : e, s = t.length - 1, n; s >= 0; s--)
3736
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
3737
- return a && r && Bo(e, o, r), r;
3810
+ ], re);
3811
+ var Ba = Object.defineProperty, Ra = Object.getOwnPropertyDescriptor, Va = (c, e, a, f) => {
3812
+ for (var t = f > 1 ? void 0 : f ? Ra(e, a) : e, o = c.length - 1, d; o >= 0; o--)
3813
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
3814
+ return f && t && Ba(e, a, t), t;
3738
3815
  };
3739
- let ke = class extends C {
3816
+ let $e = class extends C {
3740
3817
  render() {
3741
- return c` <sl-alert variant="danger" open>
3818
+ return s` <sl-alert variant="danger" open>
3742
3819
  <cb-status-icon status="error" slot="icon"></cb-status-icon>
3743
3820
  Please config openai api key in the settings.
3744
3821
  <span
@@ -3752,14 +3829,14 @@ let ke = class extends C {
3752
3829
  this.emit("setting:show");
3753
3830
  }
3754
3831
  };
3755
- ke.styles = zo;
3756
- ke = Vo([
3832
+ $e.styles = Ea;
3833
+ $e = Va([
3757
3834
  k("cb-auth-alert")
3758
- ], ke);
3835
+ ], $e);
3759
3836
  class Te extends Error {
3760
- constructor(e, o, a) {
3761
- const r = e.status || e.status === 0 ? e.status : "", s = e.statusText || "", n = `${r} ${s}`.trim(), i = n ? `status code ${n}` : "an unknown error";
3762
- super(`Request failed with ${i}`), Object.defineProperty(this, "response", {
3837
+ constructor(e, a, f) {
3838
+ const t = e.status || e.status === 0 ? e.status : "", o = e.statusText || "", d = `${t} ${o}`.trim(), b = d ? `status code ${d}` : "an unknown error";
3839
+ super(`Request failed with ${b}`), Object.defineProperty(this, "response", {
3763
3840
  enumerable: !0,
3764
3841
  configurable: !0,
3765
3842
  writable: !0,
@@ -3774,10 +3851,10 @@ class Te extends Error {
3774
3851
  configurable: !0,
3775
3852
  writable: !0,
3776
3853
  value: void 0
3777
- }), this.name = "HTTPError", this.response = e, this.request = o, this.options = a;
3854
+ }), this.name = "HTTPError", this.response = e, this.request = a, this.options = f;
3778
3855
  }
3779
3856
  }
3780
- class et extends Error {
3857
+ class cc extends Error {
3781
3858
  constructor(e) {
3782
3859
  super("Request timed out"), Object.defineProperty(this, "request", {
3783
3860
  enumerable: !0,
@@ -3787,144 +3864,144 @@ class et extends Error {
3787
3864
  }), this.name = "TimeoutError", this.request = e;
3788
3865
  }
3789
3866
  }
3790
- const ee = (t) => t !== null && typeof t == "object", G = (...t) => {
3791
- for (const e of t)
3867
+ const ee = (c) => c !== null && typeof c == "object", G = (...c) => {
3868
+ for (const e of c)
3792
3869
  if ((!ee(e) || Array.isArray(e)) && typeof e < "u")
3793
3870
  throw new TypeError("The `options` argument must be an object");
3794
- return Ae({}, ...t);
3795
- }, tt = (t = {}, e = {}) => {
3796
- const o = new globalThis.Headers(t), a = e instanceof globalThis.Headers, r = new globalThis.Headers(e);
3797
- for (const [s, n] of r.entries())
3798
- a && n === "undefined" || n === void 0 ? o.delete(s) : o.set(s, n);
3799
- return o;
3800
- }, Ae = (...t) => {
3801
- let e = {}, o = {};
3802
- for (const a of t)
3803
- if (Array.isArray(a))
3804
- Array.isArray(e) || (e = []), e = [...e, ...a];
3805
- else if (ee(a)) {
3806
- for (let [r, s] of Object.entries(a))
3807
- ee(s) && r in e && (s = Ae(e[r], s)), e = { ...e, [r]: s };
3808
- ee(a.headers) && (o = tt(o, a.headers), e.headers = o);
3871
+ return Le({}, ...c);
3872
+ }, ac = (c = {}, e = {}) => {
3873
+ const a = new globalThis.Headers(c), f = e instanceof globalThis.Headers, t = new globalThis.Headers(e);
3874
+ for (const [o, d] of t.entries())
3875
+ f && d === "undefined" || d === void 0 ? a.delete(o) : a.set(o, d);
3876
+ return a;
3877
+ }, Le = (...c) => {
3878
+ let e = {}, a = {};
3879
+ for (const f of c)
3880
+ if (Array.isArray(f))
3881
+ Array.isArray(e) || (e = []), e = [...e, ...f];
3882
+ else if (ee(f)) {
3883
+ for (let [t, o] of Object.entries(f))
3884
+ ee(o) && t in e && (o = Le(e[t], o)), e = { ...e, [t]: o };
3885
+ ee(f.headers) && (a = ac(a, f.headers), e.headers = a);
3809
3886
  }
3810
3887
  return e;
3811
- }, qo = (() => {
3812
- let t = !1, e = !1;
3813
- const o = typeof globalThis.ReadableStream == "function", a = typeof globalThis.Request == "function";
3814
- return o && a && (e = new globalThis.Request("https://a.com", {
3888
+ }, qa = (() => {
3889
+ let c = !1, e = !1;
3890
+ const a = typeof globalThis.ReadableStream == "function", f = typeof globalThis.Request == "function";
3891
+ return a && f && (e = new globalThis.Request("https://a.com", {
3815
3892
  body: new globalThis.ReadableStream(),
3816
3893
  method: "POST",
3817
3894
  // @ts-expect-error - Types are outdated.
3818
3895
  get duplex() {
3819
- return t = !0, "half";
3896
+ return c = !0, "half";
3820
3897
  }
3821
- }).headers.has("Content-Type")), t && !e;
3822
- })(), Do = typeof globalThis.AbortController == "function", Fo = typeof globalThis.ReadableStream == "function", Uo = typeof globalThis.FormData == "function", ot = ["get", "post", "put", "patch", "head", "delete"], Zo = {
3898
+ }).headers.has("Content-Type")), c && !e;
3899
+ })(), Da = typeof globalThis.AbortController == "function", Fa = typeof globalThis.ReadableStream == "function", Ua = typeof globalThis.FormData == "function", tc = ["get", "post", "put", "patch", "head", "delete"], Za = {
3823
3900
  json: "application/json",
3824
3901
  text: "text/*",
3825
3902
  formData: "multipart/form-data",
3826
3903
  arrayBuffer: "*/*",
3827
3904
  blob: "*/*"
3828
- }, me = 2147483647, rt = Symbol("stop"), No = (t) => ot.includes(t) ? t.toUpperCase() : t, Wo = ["get", "put", "head", "delete", "options", "trace"], Ko = [408, 413, 429, 500, 502, 503, 504], at = [413, 429, 503], Be = {
3905
+ }, ve = 2147483647, fc = Symbol("stop"), Na = (c) => tc.includes(c) ? c.toUpperCase() : c, Wa = ["get", "put", "head", "delete", "options", "trace"], Ka = [408, 413, 429, 500, 502, 503, 504], oc = [413, 429, 503], Be = {
3829
3906
  limit: 2,
3830
- methods: Wo,
3831
- statusCodes: Ko,
3832
- afterStatusCodes: at,
3907
+ methods: Wa,
3908
+ statusCodes: Ka,
3909
+ afterStatusCodes: oc,
3833
3910
  maxRetryAfter: Number.POSITIVE_INFINITY,
3834
3911
  backoffLimit: Number.POSITIVE_INFINITY
3835
- }, Jo = (t = {}) => {
3836
- if (typeof t == "number")
3912
+ }, Ja = (c = {}) => {
3913
+ if (typeof c == "number")
3837
3914
  return {
3838
3915
  ...Be,
3839
- limit: t
3916
+ limit: c
3840
3917
  };
3841
- if (t.methods && !Array.isArray(t.methods))
3918
+ if (c.methods && !Array.isArray(c.methods))
3842
3919
  throw new Error("retry.methods must be an array");
3843
- if (t.statusCodes && !Array.isArray(t.statusCodes))
3920
+ if (c.statusCodes && !Array.isArray(c.statusCodes))
3844
3921
  throw new Error("retry.statusCodes must be an array");
3845
3922
  return {
3846
3923
  ...Be,
3847
- ...t,
3848
- afterStatusCodes: at
3924
+ ...c,
3925
+ afterStatusCodes: oc
3849
3926
  };
3850
3927
  };
3851
- async function Yo(t, e, o) {
3852
- return new Promise((a, r) => {
3853
- const s = setTimeout(() => {
3854
- e && e.abort(), r(new et(t));
3855
- }, o.timeout);
3856
- o.fetch(t).then(a).catch(r).then(() => {
3857
- clearTimeout(s);
3928
+ async function Ya(c, e, a) {
3929
+ return new Promise((f, t) => {
3930
+ const o = setTimeout(() => {
3931
+ e && e.abort(), t(new cc(c));
3932
+ }, a.timeout);
3933
+ a.fetch(c).then(f).catch(t).then(() => {
3934
+ clearTimeout(o);
3858
3935
  });
3859
3936
  });
3860
3937
  }
3861
- const Go = !!globalThis.DOMException;
3862
- function Re(t) {
3863
- if (Go)
3864
- return new DOMException((t == null ? void 0 : t.reason) ?? "The operation was aborted.", "AbortError");
3865
- const e = new Error((t == null ? void 0 : t.reason) ?? "The operation was aborted.");
3938
+ const Ga = !!globalThis.DOMException;
3939
+ function Re(c) {
3940
+ if (Ga)
3941
+ return new DOMException((c == null ? void 0 : c.reason) ?? "The operation was aborted.", "AbortError");
3942
+ const e = new Error((c == null ? void 0 : c.reason) ?? "The operation was aborted.");
3866
3943
  return e.name = "AbortError", e;
3867
3944
  }
3868
- async function Xo(t, { signal: e }) {
3869
- return new Promise((o, a) => {
3945
+ async function Xa(c, { signal: e }) {
3946
+ return new Promise((a, f) => {
3870
3947
  if (e) {
3871
3948
  if (e.aborted) {
3872
- a(Re(e));
3949
+ f(Re(e));
3873
3950
  return;
3874
3951
  }
3875
- e.addEventListener("abort", r, { once: !0 });
3952
+ e.addEventListener("abort", t, { once: !0 });
3876
3953
  }
3877
- function r() {
3878
- a(Re(e)), clearTimeout(s);
3954
+ function t() {
3955
+ f(Re(e)), clearTimeout(o);
3879
3956
  }
3880
- const s = setTimeout(() => {
3881
- e == null || e.removeEventListener("abort", r), o();
3882
- }, t);
3957
+ const o = setTimeout(() => {
3958
+ e == null || e.removeEventListener("abort", t), a();
3959
+ }, c);
3883
3960
  });
3884
3961
  }
3885
- class ne {
3962
+ class se {
3886
3963
  // eslint-disable-next-line @typescript-eslint/promise-function-async
3887
- static create(e, o) {
3888
- const a = new ne(e, o), r = async () => {
3889
- if (a._options.timeout > me)
3890
- throw new RangeError(`The \`timeout\` option cannot be greater than ${me}`);
3964
+ static create(e, a) {
3965
+ const f = new se(e, a), t = async () => {
3966
+ if (f._options.timeout > ve)
3967
+ throw new RangeError(`The \`timeout\` option cannot be greater than ${ve}`);
3891
3968
  await Promise.resolve();
3892
- let i = await a._fetch();
3893
- for (const g of a._options.hooks.afterResponse) {
3894
- const m = await g(a.request, a._options, a._decorateResponse(i.clone()));
3895
- m instanceof globalThis.Response && (i = m);
3969
+ let b = await f._fetch();
3970
+ for (const h of f._options.hooks.afterResponse) {
3971
+ const g = await h(f.request, f._options, f._decorateResponse(b.clone()));
3972
+ g instanceof globalThis.Response && (b = g);
3896
3973
  }
3897
- if (a._decorateResponse(i), !i.ok && a._options.throwHttpErrors) {
3898
- let g = new Te(i, a.request, a._options);
3899
- for (const m of a._options.hooks.beforeError)
3900
- g = await m(g);
3901
- throw g;
3974
+ if (f._decorateResponse(b), !b.ok && f._options.throwHttpErrors) {
3975
+ let h = new Te(b, f.request, f._options);
3976
+ for (const g of f._options.hooks.beforeError)
3977
+ h = await g(h);
3978
+ throw h;
3902
3979
  }
3903
- if (a._options.onDownloadProgress) {
3904
- if (typeof a._options.onDownloadProgress != "function")
3980
+ if (f._options.onDownloadProgress) {
3981
+ if (typeof f._options.onDownloadProgress != "function")
3905
3982
  throw new TypeError("The `onDownloadProgress` option must be a function");
3906
- if (!Fo)
3983
+ if (!Fa)
3907
3984
  throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
3908
- return a._stream(i.clone(), a._options.onDownloadProgress);
3985
+ return f._stream(b.clone(), f._options.onDownloadProgress);
3909
3986
  }
3910
- return i;
3911
- }, n = a._options.retry.methods.includes(a.request.method.toLowerCase()) ? a._retry(r) : r();
3912
- for (const [i, g] of Object.entries(Zo))
3913
- n[i] = async () => {
3914
- a.request.headers.set("accept", a.request.headers.get("accept") || g);
3915
- const y = (await n).clone();
3916
- if (i === "json") {
3917
- if (y.status === 204 || (await y.clone().arrayBuffer()).byteLength === 0)
3987
+ return b;
3988
+ }, d = f._options.retry.methods.includes(f.request.method.toLowerCase()) ? f._retry(t) : t();
3989
+ for (const [b, h] of Object.entries(Za))
3990
+ d[b] = async () => {
3991
+ f.request.headers.set("accept", f.request.headers.get("accept") || h);
3992
+ const m = (await d).clone();
3993
+ if (b === "json") {
3994
+ if (m.status === 204 || (await m.clone().arrayBuffer()).byteLength === 0)
3918
3995
  return "";
3919
- if (o.parseJson)
3920
- return o.parseJson(await y.text());
3996
+ if (a.parseJson)
3997
+ return a.parseJson(await m.text());
3921
3998
  }
3922
- return y[i]();
3999
+ return m[b]();
3923
4000
  };
3924
- return n;
4001
+ return d;
3925
4002
  }
3926
4003
  // eslint-disable-next-line complexity
3927
- constructor(e, o = {}) {
4004
+ constructor(e, a = {}) {
3928
4005
  if (Object.defineProperty(this, "request", {
3929
4006
  enumerable: !0,
3930
4007
  configurable: !0,
@@ -3953,21 +4030,21 @@ class ne {
3953
4030
  }), this._input = e, this._options = {
3954
4031
  // TODO: credentials can be removed when the spec change is implemented in all browsers. Context: https://www.chromestatus.com/feature/4539473312350208
3955
4032
  credentials: this._input.credentials || "same-origin",
3956
- ...o,
3957
- headers: tt(this._input.headers, o.headers),
3958
- hooks: Ae({
4033
+ ...a,
4034
+ headers: ac(this._input.headers, a.headers),
4035
+ hooks: Le({
3959
4036
  beforeRequest: [],
3960
4037
  beforeRetry: [],
3961
4038
  beforeError: [],
3962
4039
  afterResponse: []
3963
- }, o.hooks),
3964
- method: No(o.method ?? this._input.method),
4040
+ }, a.hooks),
4041
+ method: Na(a.method ?? this._input.method),
3965
4042
  // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
3966
- prefixUrl: String(o.prefixUrl || ""),
3967
- retry: Jo(o.retry),
3968
- throwHttpErrors: o.throwHttpErrors !== !1,
3969
- timeout: typeof o.timeout > "u" ? 1e4 : o.timeout,
3970
- fetch: o.fetch ?? globalThis.fetch.bind(globalThis)
4043
+ prefixUrl: String(a.prefixUrl || ""),
4044
+ retry: Ja(a.retry),
4045
+ throwHttpErrors: a.throwHttpErrors !== !1,
4046
+ timeout: typeof a.timeout > "u" ? 1e4 : a.timeout,
4047
+ fetch: a.fetch ?? globalThis.fetch.bind(globalThis)
3971
4048
  }, typeof this._input != "string" && !(this._input instanceof URL || this._input instanceof globalThis.Request))
3972
4049
  throw new TypeError("`input` must be a string, URL, or Request");
3973
4050
  if (this._options.prefixUrl && typeof this._input == "string") {
@@ -3975,36 +4052,36 @@ class ne {
3975
4052
  throw new Error("`input` must not begin with a slash when using `prefixUrl`");
3976
4053
  this._options.prefixUrl.endsWith("/") || (this._options.prefixUrl += "/"), this._input = this._options.prefixUrl + this._input;
3977
4054
  }
3978
- if (Do) {
4055
+ if (Da) {
3979
4056
  if (this.abortController = new globalThis.AbortController(), this._options.signal) {
3980
- const a = this._options.signal;
4057
+ const f = this._options.signal;
3981
4058
  this._options.signal.addEventListener("abort", () => {
3982
- this.abortController.abort(a.reason);
4059
+ this.abortController.abort(f.reason);
3983
4060
  });
3984
4061
  }
3985
4062
  this._options.signal = this.abortController.signal;
3986
4063
  }
3987
- if (qo && (this._options.duplex = "half"), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {
3988
- const r = "?" + (typeof this._options.searchParams == "string" ? this._options.searchParams.replace(/^\?/, "") : new URLSearchParams(this._options.searchParams).toString()), s = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, r);
3989
- (Uo && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers["content-type"]) && this.request.headers.delete("content-type"), this.request = new globalThis.Request(new globalThis.Request(s, { ...this.request }), this._options);
4064
+ if (qa && (this._options.duplex = "half"), this.request = new globalThis.Request(this._input, this._options), this._options.searchParams) {
4065
+ const t = "?" + (typeof this._options.searchParams == "string" ? this._options.searchParams.replace(/^\?/, "") : new URLSearchParams(this._options.searchParams).toString()), o = this.request.url.replace(/(?:\?.*?)?(?=#|$)/, t);
4066
+ (Ua && this._options.body instanceof globalThis.FormData || this._options.body instanceof URLSearchParams) && !(this._options.headers && this._options.headers["content-type"]) && this.request.headers.delete("content-type"), this.request = new globalThis.Request(new globalThis.Request(o, { ...this.request }), this._options);
3990
4067
  }
3991
4068
  this._options.json !== void 0 && (this._options.body = JSON.stringify(this._options.json), this.request.headers.set("content-type", this._options.headers.get("content-type") ?? "application/json"), this.request = new globalThis.Request(this.request, { body: this._options.body }));
3992
4069
  }
3993
4070
  _calculateRetryDelay(e) {
3994
- if (this._retryCount++, this._retryCount < this._options.retry.limit && !(e instanceof et)) {
4071
+ if (this._retryCount++, this._retryCount < this._options.retry.limit && !(e instanceof cc)) {
3995
4072
  if (e instanceof Te) {
3996
4073
  if (!this._options.retry.statusCodes.includes(e.response.status))
3997
4074
  return 0;
3998
- const a = e.response.headers.get("Retry-After");
3999
- if (a && this._options.retry.afterStatusCodes.includes(e.response.status)) {
4000
- let r = Number(a);
4001
- return Number.isNaN(r) ? r = Date.parse(a) - Date.now() : r *= 1e3, typeof this._options.retry.maxRetryAfter < "u" && r > this._options.retry.maxRetryAfter ? 0 : r;
4075
+ const f = e.response.headers.get("Retry-After");
4076
+ if (f && this._options.retry.afterStatusCodes.includes(e.response.status)) {
4077
+ let t = Number(f);
4078
+ return Number.isNaN(t) ? t = Date.parse(f) - Date.now() : t *= 1e3, typeof this._options.retry.maxRetryAfter < "u" && t > this._options.retry.maxRetryAfter ? 0 : t;
4002
4079
  }
4003
4080
  if (e.response.status === 413)
4004
4081
  return 0;
4005
4082
  }
4006
- const o = 0.3;
4007
- return Math.min(this._options.retry.backoffLimit, o * 2 ** (this._retryCount - 1) * 1e3);
4083
+ const a = 0.3;
4084
+ return Math.min(this._options.retry.backoffLimit, a * 2 ** (this._retryCount - 1) * 1e3);
4008
4085
  }
4009
4086
  return 0;
4010
4087
  }
@@ -4014,61 +4091,61 @@ class ne {
4014
4091
  async _retry(e) {
4015
4092
  try {
4016
4093
  return await e();
4017
- } catch (o) {
4018
- const a = Math.min(this._calculateRetryDelay(o), me);
4019
- if (a !== 0 && this._retryCount > 0) {
4020
- await Xo(a, { signal: this._options.signal });
4021
- for (const r of this._options.hooks.beforeRetry)
4022
- if (await r({
4094
+ } catch (a) {
4095
+ const f = Math.min(this._calculateRetryDelay(a), ve);
4096
+ if (f !== 0 && this._retryCount > 0) {
4097
+ await Xa(f, { signal: this._options.signal });
4098
+ for (const t of this._options.hooks.beforeRetry)
4099
+ if (await t({
4023
4100
  request: this.request,
4024
4101
  options: this._options,
4025
- error: o,
4102
+ error: a,
4026
4103
  retryCount: this._retryCount
4027
- }) === rt)
4104
+ }) === fc)
4028
4105
  return;
4029
4106
  return this._retry(e);
4030
4107
  }
4031
- throw o;
4108
+ throw a;
4032
4109
  }
4033
4110
  }
4034
4111
  async _fetch() {
4035
4112
  for (const e of this._options.hooks.beforeRequest) {
4036
- const o = await e(this.request, this._options);
4037
- if (o instanceof Request) {
4038
- this.request = o;
4113
+ const a = await e(this.request, this._options);
4114
+ if (a instanceof Request) {
4115
+ this.request = a;
4039
4116
  break;
4040
4117
  }
4041
- if (o instanceof Response)
4042
- return o;
4118
+ if (a instanceof Response)
4119
+ return a;
4043
4120
  }
4044
- return this._options.timeout === !1 ? this._options.fetch(this.request.clone()) : Yo(this.request.clone(), this.abortController, this._options);
4121
+ return this._options.timeout === !1 ? this._options.fetch(this.request.clone()) : Ya(this.request.clone(), this.abortController, this._options);
4045
4122
  }
4046
4123
  /* istanbul ignore next */
4047
- _stream(e, o) {
4048
- const a = Number(e.headers.get("content-length")) || 0;
4049
- let r = 0;
4050
- return e.status === 204 ? (o && o({ percent: 1, totalBytes: a, transferredBytes: r }, new Uint8Array()), new globalThis.Response(null, {
4124
+ _stream(e, a) {
4125
+ const f = Number(e.headers.get("content-length")) || 0;
4126
+ let t = 0;
4127
+ return e.status === 204 ? (a && a({ percent: 1, totalBytes: f, transferredBytes: t }, new Uint8Array()), new globalThis.Response(null, {
4051
4128
  status: e.status,
4052
4129
  statusText: e.statusText,
4053
4130
  headers: e.headers
4054
4131
  })) : new globalThis.Response(new globalThis.ReadableStream({
4055
- async start(s) {
4056
- const n = e.body.getReader();
4057
- o && o({ percent: 0, transferredBytes: 0, totalBytes: a }, new Uint8Array());
4058
- async function i() {
4059
- const { done: g, value: m } = await n.read();
4060
- if (g) {
4061
- s.close();
4132
+ async start(o) {
4133
+ const d = e.body.getReader();
4134
+ a && a({ percent: 0, transferredBytes: 0, totalBytes: f }, new Uint8Array());
4135
+ async function b() {
4136
+ const { done: h, value: g } = await d.read();
4137
+ if (h) {
4138
+ o.close();
4062
4139
  return;
4063
4140
  }
4064
- if (o) {
4065
- r += m.byteLength;
4066
- const y = a === 0 ? 0 : r / a;
4067
- o({ percent: y, transferredBytes: r, totalBytes: a }, m);
4141
+ if (a) {
4142
+ t += g.byteLength;
4143
+ const m = f === 0 ? 0 : t / f;
4144
+ a({ percent: m, transferredBytes: t, totalBytes: f }, g);
4068
4145
  }
4069
- s.enqueue(m), await i();
4146
+ o.enqueue(g), await b();
4070
4147
  }
4071
- await i();
4148
+ await b();
4072
4149
  }
4073
4150
  }), {
4074
4151
  status: e.status,
@@ -4078,12 +4155,12 @@ class ne {
4078
4155
  }
4079
4156
  }
4080
4157
  /*! MIT License © Sindre Sorhus */
4081
- const _e = (t) => {
4082
- const e = (o, a) => ne.create(o, G(t, a));
4083
- for (const o of ot)
4084
- e[o] = (a, r) => ne.create(a, G(t, r, { method: o }));
4085
- return e.create = (o) => _e(G(o)), e.extend = (o) => _e(G(t, o)), e.stop = rt, e;
4086
- }, Qo = _e(), er = Qo, st = er.extend({
4158
+ const je = (c) => {
4159
+ const e = (a, f) => se.create(a, G(c, f));
4160
+ for (const a of tc)
4161
+ e[a] = (f, t) => se.create(f, G(c, t, { method: a }));
4162
+ return e.create = (a) => je(G(a)), e.extend = (a) => je(G(c, a)), e.stop = fc, e;
4163
+ }, Qa = je(), e1 = Qa, dc = e1.extend({
4087
4164
  hooks: {
4088
4165
  beforeRequest: [
4089
4166
  () => {
@@ -4091,165 +4168,165 @@ const _e = (t) => {
4091
4168
  ]
4092
4169
  }
4093
4170
  });
4094
- async function tr(t, e) {
4095
- const { onmessage: o, onclose: a, ...r } = e, s = async (n, i) => {
4096
- const { value: g, done: m } = await i.read();
4097
- m ? (n.close(), a == null || a()) : (o == null || o(g), n.enqueue(g), s(n, i));
4171
+ async function c1(c, e) {
4172
+ const { onmessage: a, onclose: f, ...t } = e, o = async (d, b) => {
4173
+ const { value: h, done: g } = await b.read();
4174
+ g ? (d.close(), f == null || f()) : (a == null || a(h), d.enqueue(h), o(d, b));
4098
4175
  };
4099
- return r.body && typeof r.body == "object" && (r.body = JSON.stringify(r.body)), console.log("Fetching:", r), fetch(t, r).then((n) => {
4100
- const i = n.body.getReader();
4176
+ return t.body && typeof t.body == "object" && (t.body = JSON.stringify(t.body)), console.log("Fetching:", t), fetch(c, t).then((d) => {
4177
+ const b = d.body.getReader();
4101
4178
  return new ReadableStream({
4102
- start(m) {
4103
- s(
4104
- m,
4105
- i
4179
+ start(g) {
4180
+ o(
4181
+ g,
4182
+ b
4106
4183
  );
4107
4184
  }
4108
4185
  });
4109
4186
  }).then(
4110
- (n) => new Response(n, {
4187
+ (d) => new Response(d, {
4111
4188
  headers: { "Content-Type": "text/html" }
4112
4189
  }).text()
4113
4190
  );
4114
4191
  }
4115
- async function or(t, e) {
4116
- const o = new FormData();
4117
- for (let r = 0; r < e.length; r++)
4118
- o.append("files", e[r]);
4119
- const a = await st.post(t, {
4120
- body: o
4192
+ async function a1(c, e) {
4193
+ const a = new FormData();
4194
+ for (let t = 0; t < e.length; t++)
4195
+ a.append("files", e[t]);
4196
+ const f = await dc.post(c, {
4197
+ body: a
4121
4198
  });
4122
4199
  try {
4123
- return await a.json();
4124
- } catch (r) {
4200
+ return await f.json();
4201
+ } catch (t) {
4125
4202
  return {
4126
4203
  code: 1,
4127
4204
  url: "",
4128
- message: r.message
4205
+ message: t.message
4129
4206
  };
4130
4207
  }
4131
4208
  }
4132
4209
  const Ve = {
4133
4210
  error: {
4134
4211
  variant: "danger",
4135
- icon: xe
4212
+ icon: Ce
4136
4213
  },
4137
4214
  warning: {
4138
4215
  variant: "warning",
4139
- icon: Ye
4216
+ icon: Ge
4140
4217
  },
4141
4218
  success: {
4142
4219
  variant: "success",
4143
- icon: Ge
4220
+ icon: Xe
4144
4221
  },
4145
4222
  info: {
4146
4223
  variant: "primary",
4147
- icon: Xe
4224
+ icon: Qe
4148
4225
  }
4149
4226
  };
4150
- function rr(t) {
4227
+ function t1(c) {
4151
4228
  const e = document.createElement("div");
4152
- return e.textContent = t, e.innerHTML;
4229
+ return e.textContent = c, e.innerHTML;
4153
4230
  }
4154
- function ar(t = "info", e, o = 1e8) {
4155
- const { variant: a, icon: r } = Ve[t] || Ve.info, s = Object.assign(document.createElement("sl-alert"), {
4156
- variant: a,
4231
+ function f1(c = "info", e, a = 1e8) {
4232
+ const { variant: f, icon: t } = Ve[c] || Ve.info, o = Object.assign(document.createElement("sl-alert"), {
4233
+ variant: f,
4157
4234
  closable: !0,
4158
- duration: o,
4235
+ duration: a,
4159
4236
  innerHTML: `
4160
- <cb-status-icon slot="icon" status="${t}"></cb-status-icon>
4161
- ${rr(e)}
4237
+ <cb-status-icon slot="icon" status="${c}"></cb-status-icon>
4238
+ ${t1(e)}
4162
4239
  `
4163
4240
  });
4164
- return document.body.append(s), s.toast();
4241
+ return document.body.append(o), o.toast();
4165
4242
  }
4166
- async function sr(t, e) {
4167
- const o = t.getReader(), a = new TextDecoder("utf-8");
4168
- let r = !1;
4169
- for (; !r; ) {
4170
- const { value: s, done: n } = await o.read();
4171
- if (s) {
4172
- let i = a.decode(s);
4173
- const g = i.lastIndexOf("data:"), m = i.lastIndexOf(`
4243
+ async function o1(c, e) {
4244
+ const a = c.getReader(), f = new TextDecoder("utf-8");
4245
+ let t = !1;
4246
+ for (; !t; ) {
4247
+ const { value: o, done: d } = await a.read();
4248
+ if (o) {
4249
+ let b = f.decode(o);
4250
+ const h = b.lastIndexOf("data:"), g = b.lastIndexOf(`
4174
4251
  `);
4175
- if (g !== -1 && (i = i.slice(g + 6)), m !== -1 && (i = i.slice(0, m)), i = i.trim(), i === `
4176
- ` || i === "")
4252
+ if (h !== -1 && (b = b.slice(h + 6)), g !== -1 && (b = b.slice(0, g)), b = b.trim(), b === `
4253
+ ` || b === "")
4177
4254
  continue;
4178
- if (i === "[DONE]") {
4179
- r = !0;
4255
+ if (b === "[DONE]") {
4256
+ t = !0;
4180
4257
  continue;
4181
4258
  }
4182
4259
  try {
4183
- const y = JSON.parse(i);
4184
- e(null, y);
4185
- } catch (y) {
4186
- console.log("error", y), e(y, null);
4260
+ const m = JSON.parse(b);
4261
+ e(null, m);
4262
+ } catch (m) {
4263
+ console.log("error", m), e(m, null);
4187
4264
  }
4188
4265
  }
4189
- r = n;
4266
+ t = d;
4190
4267
  }
4191
4268
  }
4192
- async function nr(t) {
4193
- var r;
4194
- if (!t.apiKey)
4269
+ async function d1(c) {
4270
+ var t;
4271
+ if (!c.apiKey)
4195
4272
  throw new Error("apiKey is required");
4196
- const e = t.options ?? {};
4273
+ const e = c.options ?? {};
4197
4274
  e.model || (e.model = "gpt-3.5-turbo");
4198
- const o = await st.post(t.url, {
4275
+ const a = await dc.post(c.url, {
4199
4276
  json: {
4200
- messages: t.messages,
4201
- ...t.options ?? {}
4277
+ messages: c.messages,
4278
+ ...c.options ?? {}
4202
4279
  },
4203
4280
  headers: {
4204
4281
  "Content-Type": "application/json",
4205
- Authorization: `Bearer ${t.apiKey}`
4282
+ Authorization: `Bearer ${c.apiKey}`
4206
4283
  },
4207
4284
  timeout: 1e3 * 60 * 10,
4208
- signal: t.signal
4209
- }), a = o.body;
4210
- if (!a)
4285
+ signal: c.signal
4286
+ }), f = a.body;
4287
+ if (!f)
4211
4288
  throw new Error("No data");
4212
- if ((r = t.options) != null && r.stream) {
4213
- await sr(a, t.onMessage);
4289
+ if ((t = c.options) != null && t.stream) {
4290
+ await o1(f, c.onMessage);
4214
4291
  return;
4215
4292
  }
4216
- return o.json();
4293
+ return a.json();
4217
4294
  }
4218
- var ir = Object.defineProperty, lr = Object.getOwnPropertyDescriptor, v = (t, e, o, a) => {
4219
- for (var r = a > 1 ? void 0 : a ? lr(e, o) : e, s = t.length - 1, n; s >= 0; s--)
4220
- (n = t[s]) && (r = (a ? n(e, o, r) : n(r)) || r);
4221
- return a && r && ir(e, o, r), r;
4295
+ var b1 = Object.defineProperty, r1 = Object.getOwnPropertyDescriptor, v = (c, e, a, f) => {
4296
+ for (var t = f > 1 ? void 0 : f ? r1(e, a) : e, o = c.length - 1, d; o >= 0; o--)
4297
+ (d = c[o]) && (t = (f ? d(e, a, t) : d(t)) || t);
4298
+ return f && t && b1(e, a, t), t;
4222
4299
  };
4223
- const Ce = de.noConflict();
4224
- Ce.setLevel("info");
4225
- let b = class extends C {
4300
+ const ce = pe.noConflict();
4301
+ ce.setLevel("info");
4302
+ let u = class extends C {
4226
4303
  constructor() {
4227
- super(...arguments), this.store = new mt(this, p), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.welcomeMessage = "Hello! How can I help you today ?", this.logoSvg = ` <svg width="24" height="24" viewBox="0 0 40 40">
4304
+ super(...arguments), this.store = new Fe(this, n), this.displayLicense = !1, this.name = "ChatBot", this.orgId = "", this.botId = "", this.url = "ws://localhost:3070", this.logoSvg = ` <svg width="24" height="24" viewBox="0 0 40 40">
4228
4305
  <path
4229
4306
  d="M34.728 0.275L2.245 15.267c-3.748 1.749 -2.498 7.246 1.499 7.246h13.743v13.743c0 3.998 5.497 5.248 7.246 1.499l14.992 -32.483c1.249 -2.999 -1.999 -6.248 -4.998 -4.998z"
4230
4307
  fill="#E24D42"
4231
4308
  ></path>
4232
4309
  </svg>
4233
- `, 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 = tr;
4310
+ `, 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 = c1;
4234
4311
  }
4235
4312
  //HTMLElement;
4236
4313
  /**
4237
4314
  * decodeStreamData
4238
4315
  */
4239
- decodeStreamData(t) {
4240
- return new TextDecoder().decode(t);
4316
+ decodeStreamData(c) {
4317
+ return new TextDecoder().decode(c);
4241
4318
  }
4242
4319
  addMessage() {
4243
- const t = {
4320
+ const c = {
4244
4321
  author: "assistant",
4245
4322
  type: "text",
4246
4323
  isThinking: !0,
4247
4324
  data: {}
4248
4325
  };
4249
- return p.addMessage(t), t;
4326
+ return n.addMessage(c), c;
4250
4327
  }
4251
4328
  addTestMessage() {
4252
- const t = {
4329
+ const c = {
4253
4330
  author: "assistant",
4254
4331
  type: "text",
4255
4332
  isThinking: !1,
@@ -4257,28 +4334,28 @@ let b = class extends C {
4257
4334
  text: "Long text.The element may not be scrolled completely to the top or bottom depending on the layout of other elements.The element may not be scrolled completely to the top or bottom depending on the layout of other elements."
4258
4335
  }
4259
4336
  };
4260
- return p.addMessage(t), t;
4337
+ return n.addMessage(c), c;
4261
4338
  }
4262
4339
  render() {
4263
- return c`
4264
- <div class="cb-wrapper" style="${this.open ? "display:flex" : "display:none"}">
4340
+ return s`
4341
+ <div class="cb-wrapper" style="${n.open ? "display:flex" : "display:none"}">
4265
4342
  <cb-header title="${this.name}"></cb-header>
4266
- <cb-message-list .messages=${p.messages} .actions=${p.actions}></cb-message-list>
4343
+ <cb-message-list .messages=${n.messages} .actions=${n.actions}></cb-message-list>
4267
4344
  <cb-user-input ?loading=${this.loading} ?disabled=${this.loading || this.showAuthAlert} ?enable-file-upload=${this.enableFileUpload}></cb-user-input>
4268
4345
  </div>
4269
- <cb-anchor ?open=${this.open}></cb-anchor>
4346
+ <cb-anchor ?open=${n.open}></cb-anchor>
4270
4347
  `;
4271
4348
  }
4272
4349
  connectedCallback() {
4273
- super.connectedCallback(), Ce.info("connectedCallback"), addEventListener("setting:show", () => {
4350
+ super.connectedCallback(), ce.info("connectedCallback"), addEventListener("setting:show", () => {
4274
4351
  this.showSetting = !0;
4275
4352
  }), addEventListener("message:send", this._addMessageHandler.bind(this)), addEventListener("message:remove", this._deleteMessageHandler.bind(this)), addEventListener("setting:confirm", this._settingConfirmHandler.bind(this)), addEventListener("setting:hide", () => {
4276
4353
  this.showSetting = !1;
4277
- }), addEventListener("chatbot:toggle", (t) => {
4278
- const e = t.detail;
4279
- this.open = e.open;
4354
+ }), addEventListener("chatbot:toggle", (c) => {
4355
+ const e = c.detail;
4356
+ n.open = e.open, n.engage = !1;
4280
4357
  }), addEventListener("message:clear", () => {
4281
- p.clearMessages();
4358
+ n.clearMessages();
4282
4359
  }), addEventListener("message:send:file", this._sendFileHandler.bind(this)), addEventListener("setting:show", () => {
4283
4360
  this.showSetting = !0;
4284
4361
  });
@@ -4286,52 +4363,52 @@ let b = class extends C {
4286
4363
  // This is called when component is loaded, with all the settings (props) values
4287
4364
  // Use to initialize
4288
4365
  // This is also called when state changes - ??? - i.e. when message added to the array
4289
- updated(t) {
4290
- super.updated(t), t.size > 0 && (Ce.info("updated,_changedProperties:", t), this._initSetting()), setTimeout(() => {
4366
+ updated(c) {
4367
+ super.updated(c), ce.info("updated,_changedProperties:", c), c.size > 0 && (ce.info("updated,_changedProperties:", c), this._initSetting()), setTimeout(() => {
4291
4368
  this._scrollToBottom();
4292
4369
  }, 0);
4293
4370
  }
4294
4371
  // initialize setting
4295
4372
  _initSetting() {
4296
- const t = p.setting;
4297
- t.orgId = this.orgId, t.botId = this.botId, t.url = this.url, t.welcomeMessage = this.welcomeMessage, t.logoSvg = this.logoSvg, t.botIconSvg = this.botIconSvg, t.userIconSvg = this.userIconSvg, t.systemIconSvg = this.systemIconSvg, p.setSetting(t);
4373
+ const c = n.setting;
4374
+ c.orgId = this.orgId, c.botId = this.botId, c.url = this.url, c.logoSvg = this.logoSvg, c.botIconSvg = this.botIconSvg, c.userIconSvg = this.userIconSvg, c.systemIconSvg = this.systemIconSvg, n.setSetting(c);
4298
4375
  }
4299
- setLoading(t) {
4300
- this.loading = t;
4376
+ setLoading(c) {
4377
+ this.loading = c;
4301
4378
  }
4302
4379
  clearConversation() {
4303
- p.clearConversation();
4380
+ n.clearConversation();
4304
4381
  }
4305
4382
  // check auth
4306
4383
  _checkAuth() {
4307
4384
  }
4308
4385
  // TODO Remove
4309
- async _sendToOpenai(t, e) {
4310
- let o = "";
4311
- const a = p.setting.openai.apiBase || "https://api.openai.com/v1", r = await nr({
4312
- url: `${a}/chat/completions`,
4313
- apiKey: p.setting.openai.apiKey,
4386
+ async _sendToOpenai(c, e) {
4387
+ let a = "";
4388
+ const f = n.setting.openai.apiBase || "https://api.openai.com/v1", t = await d1({
4389
+ url: `${f}/chat/completions`,
4390
+ apiKey: n.setting.openai.apiKey,
4314
4391
  messages: e,
4315
4392
  options: {
4316
- stream: p.setting.stream,
4317
- model: p.setting.openai.model
4393
+ stream: n.setting.stream,
4394
+ model: n.setting.openai.model
4318
4395
  // temperature: 0.9,
4319
4396
  },
4320
- onMessage: (s, n) => {
4321
- var i;
4322
- if (s) {
4323
- console.error(s);
4397
+ onMessage: (o, d) => {
4398
+ var b;
4399
+ if (o) {
4400
+ console.error(o);
4324
4401
  return;
4325
4402
  }
4326
- n && ((i = n.choices[0].delta) != null && i.content) && requestIdleCallback(() => {
4327
- o += n.choices[0].delta.content, p.updateMessage(t, o);
4403
+ d && ((b = d.choices[0].delta) != null && b.content) && requestIdleCallback(() => {
4404
+ a += d.choices[0].delta.content, n.updateMessage(c, a);
4328
4405
  });
4329
4406
  }
4330
4407
  });
4331
- !p.setting.stream && r && p.updateMessage(t, r.choices[0].message.content);
4408
+ !n.setting.stream && t && n.updateMessage(c, t.choices[0].message.content);
4332
4409
  }
4333
4410
  // TODO Remove
4334
- async _sendHandler(t) {
4411
+ async _sendHandler(c) {
4335
4412
  this.setLoading(!0);
4336
4413
  const e = {
4337
4414
  author: "assistant",
@@ -4339,131 +4416,128 @@ let b = class extends C {
4339
4416
  isThinking: !0,
4340
4417
  data: {}
4341
4418
  };
4342
- if (p.addMessage(e), this.customRequest)
4419
+ if (n.addMessage(e), this.customRequest)
4343
4420
  await this.emit("chatbot:send", {
4344
4421
  detail: {
4345
4422
  newMessage: e,
4346
- messages: t
4423
+ messages: c
4347
4424
  },
4348
4425
  bubbles: !0,
4349
4426
  composed: !0
4350
4427
  });
4351
4428
  else
4352
4429
  try {
4353
- await this._sendToOpenai(e, t);
4354
- } catch (o) {
4355
- ar("error", o.message), console.error(o);
4430
+ await this._sendToOpenai(e, c);
4431
+ } catch (a) {
4432
+ f1("error", a.message), console.error(a);
4356
4433
  }
4357
4434
  this.setLoading(!1);
4358
4435
  }
4359
- _addMessageHandler(t) {
4360
- const e = t.detail;
4361
- p.sendMessage(e);
4436
+ _addMessageHandler(c) {
4437
+ const e = c.detail;
4438
+ n.sendMessage(e);
4362
4439
  }
4363
- _deleteMessageHandler(t) {
4364
- const e = t.detail;
4365
- p.removeMessage(e.id);
4440
+ _deleteMessageHandler(c) {
4441
+ const e = c.detail;
4442
+ n.removeMessage(e.id);
4366
4443
  }
4367
- async _sendFileHandler(t) {
4368
- const e = t.detail, a = {
4444
+ async _sendFileHandler(c) {
4445
+ const e = c.detail, f = {
4369
4446
  author: "user",
4370
4447
  type: "file",
4371
4448
  isUploading: !0,
4372
4449
  data: {
4373
- files: e.files.map((r, s) => ({
4374
- id: `${r.name}-${s}`,
4375
- name: r.name,
4376
- size: r.size,
4377
- type: r.type,
4450
+ files: e.files.map((t, o) => ({
4451
+ id: `${t.name}-${o}`,
4452
+ name: t.name,
4453
+ size: t.size,
4454
+ type: t.type,
4378
4455
  url: ""
4379
4456
  }))
4380
4457
  }
4381
4458
  };
4382
- if (p.addMessage(a), this.uploadFileUrl) {
4383
- const r = await or(this.uploadFileUrl, e.files);
4384
- r.code === 0 && r.data && (a.isUploading = !1, a.data = {
4385
- files: r.data
4386
- }, p.updateMessage(a));
4459
+ if (n.addMessage(f), this.uploadFileUrl) {
4460
+ const t = await a1(this.uploadFileUrl, e.files);
4461
+ t.code === 0 && t.data && (f.isUploading = !1, f.data = {
4462
+ files: t.data
4463
+ }, n.updateMessage(f));
4387
4464
  }
4388
4465
  this.emit("chatbot:file:send", {
4389
4466
  detail: {
4390
4467
  files: e.files,
4391
- message: a
4468
+ message: f
4392
4469
  }
4393
4470
  });
4394
4471
  }
4395
4472
  // setting confirm handler
4396
- _settingConfirmHandler(t) {
4397
- const e = t.detail;
4398
- p.setSetting(e.setting), this.showSetting = !1, this._checkAuth();
4473
+ _settingConfirmHandler(c) {
4474
+ const e = c.detail;
4475
+ n.setSetting(e.setting), this.showSetting = !1, this._checkAuth();
4399
4476
  }
4400
4477
  // scroll to bottom
4401
- _scrollToBottom(t = !1) {
4478
+ _scrollToBottom(c = !1) {
4402
4479
  var e;
4403
- (e = this._messageList) == null || e.scrollToBottom();
4480
+ console.log("Scrolling to bottom ..."), (e = this._messageList) == null || e.scrollToBottom();
4404
4481
  }
4405
4482
  };
4406
- b.styles = kt;
4407
- v([
4408
- l({ type: Boolean, attribute: "display-license" })
4409
- ], b.prototype, "displayLicense", 2);
4483
+ u.styles = kc;
4410
4484
  v([
4411
- l({ type: String, attribute: "name" })
4412
- ], b.prototype, "name", 2);
4485
+ r({ type: Boolean, attribute: "display-license" })
4486
+ ], u.prototype, "displayLicense", 2);
4413
4487
  v([
4414
- l({ type: String, attribute: "org-id" })
4415
- ], b.prototype, "orgId", 2);
4488
+ r({ type: String, attribute: "name" })
4489
+ ], u.prototype, "name", 2);
4416
4490
  v([
4417
- l({ type: String, attribute: "bot-id" })
4418
- ], b.prototype, "botId", 2);
4491
+ r({ type: String, attribute: "org-id" })
4492
+ ], u.prototype, "orgId", 2);
4419
4493
  v([
4420
- l({ type: String, attribute: "url" })
4421
- ], b.prototype, "url", 2);
4494
+ r({ type: String, attribute: "bot-id" })
4495
+ ], u.prototype, "botId", 2);
4422
4496
  v([
4423
- l({ type: String, attribute: "welcome-message" })
4424
- ], b.prototype, "welcomeMessage", 2);
4497
+ r({ type: String, attribute: "url" })
4498
+ ], u.prototype, "url", 2);
4425
4499
  v([
4426
- l({ type: String, attribute: "logo-svg" })
4427
- ], b.prototype, "logoSvg", 2);
4500
+ r({ type: String, attribute: "logo-svg" })
4501
+ ], u.prototype, "logoSvg", 2);
4428
4502
  v([
4429
- l({ type: String, attribute: "bot-icon-svg" })
4430
- ], b.prototype, "botIconSvg", 2);
4503
+ r({ type: String, attribute: "bot-icon-svg" })
4504
+ ], u.prototype, "botIconSvg", 2);
4431
4505
  v([
4432
- l({ type: String, attribute: "user-icon-svg" })
4433
- ], b.prototype, "userIconSvg", 2);
4506
+ r({ type: String, attribute: "user-icon-svg" })
4507
+ ], u.prototype, "userIconSvg", 2);
4434
4508
  v([
4435
- l({ type: String, attribute: "system-icon-svg" })
4436
- ], b.prototype, "systemIconSvg", 2);
4509
+ r({ type: String, attribute: "system-icon-svg" })
4510
+ ], u.prototype, "systemIconSvg", 2);
4437
4511
  v([
4438
- l({ type: Boolean, attribute: "stream" })
4439
- ], b.prototype, "stream", 2);
4512
+ r({ type: Boolean, attribute: "stream" })
4513
+ ], u.prototype, "stream", 2);
4440
4514
  v([
4441
- l({ type: Boolean, attribute: "custom-request" })
4442
- ], b.prototype, "customRequest", 2);
4515
+ r({ type: Boolean, attribute: "custom-request" })
4516
+ ], u.prototype, "customRequest", 2);
4443
4517
  v([
4444
- l({ type: Boolean, attribute: "enable-file-upload" })
4445
- ], b.prototype, "enableFileUpload", 2);
4518
+ r({ type: Boolean, attribute: "enable-file-upload" })
4519
+ ], u.prototype, "enableFileUpload", 2);
4446
4520
  v([
4447
- l({ type: String, attribute: "upload-file-url" })
4448
- ], b.prototype, "uploadFileUrl", 2);
4521
+ r({ type: String, attribute: "upload-file-url" })
4522
+ ], u.prototype, "uploadFileUrl", 2);
4449
4523
  v([
4450
- l({ type: Boolean, attribute: "open" })
4451
- ], b.prototype, "open", 2);
4524
+ r({ type: Boolean, attribute: "open" })
4525
+ ], u.prototype, "open", 2);
4452
4526
  v([
4453
- l({ type: Boolean })
4454
- ], b.prototype, "loading", 2);
4527
+ r({ type: Boolean })
4528
+ ], u.prototype, "loading", 2);
4455
4529
  v([
4456
- l({ type: Boolean })
4457
- ], b.prototype, "showSetting", 2);
4530
+ r({ type: Boolean })
4531
+ ], u.prototype, "showSetting", 2);
4458
4532
  v([
4459
- l({ type: Boolean })
4460
- ], b.prototype, "showAuthAlert", 2);
4533
+ r({ type: Boolean })
4534
+ ], u.prototype, "showAuthAlert", 2);
4461
4535
  v([
4462
- ce("cb-message-list")
4463
- ], b.prototype, "_messageList", 2);
4464
- b = v([
4536
+ le("cb-message-list")
4537
+ ], u.prototype, "_messageList", 2);
4538
+ u = v([
4465
4539
  k("enegelai-bot")
4466
- ], b);
4540
+ ], u);
4467
4541
  export {
4468
- b as default
4542
+ u as default
4469
4543
  };