@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/enegelaibot.umd.js +425 -406
- package/dist/index.es.js +1223 -1149
- package/package.json +6 -6
package/dist/index.es.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
import { css as x, LitElement as
|
|
5
|
-
import { property as
|
|
6
|
-
import { unsafeHTML as
|
|
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
|
|
25
|
-
import { when as
|
|
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
|
|
28
|
-
import
|
|
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(
|
|
31
|
-
return typeof
|
|
30
|
+
function De(c) {
|
|
31
|
+
return typeof c == "function" ? c() : c;
|
|
32
32
|
}
|
|
33
|
-
const
|
|
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(
|
|
39
|
-
super(
|
|
38
|
+
constructor(a, f, t) {
|
|
39
|
+
super(ne.eventName, {
|
|
40
40
|
cancelable: !1
|
|
41
41
|
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this.key =
|
|
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
|
-
|
|
49
|
-
let
|
|
50
|
-
const
|
|
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
|
-
|
|
56
|
-
this.constructor.finalize(), this.propertyMap && [...this.propertyMap].forEach(([
|
|
57
|
-
if (
|
|
58
|
-
const
|
|
59
|
-
this[
|
|
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(([
|
|
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
|
|
74
|
-
for (const
|
|
75
|
-
this.createProperty(
|
|
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(
|
|
78
|
+
static createProperty(a, f) {
|
|
79
79
|
this.finalize();
|
|
80
|
-
const
|
|
81
|
-
Object.defineProperty(this.prototype,
|
|
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(
|
|
84
|
-
const
|
|
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[
|
|
87
|
+
return this[f];
|
|
88
88
|
},
|
|
89
|
-
set(
|
|
90
|
-
const
|
|
91
|
-
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((
|
|
103
|
-
this[
|
|
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(
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
(!
|
|
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(
|
|
119
|
+
return this.addEventListener(R.eventName, o, t), () => this.removeEventListener(R.eventName, o);
|
|
120
120
|
}
|
|
121
|
-
dispatchStateEvent(
|
|
122
|
-
this.dispatchEvent(new
|
|
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
|
-
|
|
127
|
-
class
|
|
128
|
-
constructor(e,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
this.host = e, this.state =
|
|
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(
|
|
135
|
+
this.state.addEventListener(R.eventName, this.callback), this.callback();
|
|
136
136
|
}
|
|
137
137
|
hostDisconnected() {
|
|
138
|
-
this.state.removeEventListener(
|
|
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
|
|
147
|
-
var
|
|
148
|
-
if (
|
|
149
|
-
const
|
|
150
|
-
return
|
|
151
|
-
|
|
152
|
-
}),
|
|
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
|
|
156
|
-
e !== void 0 && Object.defineProperty(
|
|
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
|
|
160
|
-
return
|
|
159
|
+
function O(c) {
|
|
160
|
+
return Ue({
|
|
161
161
|
// @ts-ignore ctor is typof State and not typeof ReactiveElement
|
|
162
|
-
finisher: (e,
|
|
163
|
-
if (Object.getOwnPropertyDescriptor(e.prototype,
|
|
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(
|
|
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
|
|
170
|
-
if (
|
|
169
|
+
function mc(c, e) {
|
|
170
|
+
if (c !== null && (e === Boolean || e === Number || e === Array || e === Object))
|
|
171
171
|
try {
|
|
172
|
-
|
|
172
|
+
c = JSON.parse(c);
|
|
173
173
|
} catch {
|
|
174
|
-
console.warn("cannot parse value",
|
|
174
|
+
console.warn("cannot parse value", c);
|
|
175
175
|
}
|
|
176
|
-
return
|
|
176
|
+
return c;
|
|
177
177
|
}
|
|
178
178
|
new URL(window.location.href);
|
|
179
|
-
const
|
|
179
|
+
const yc = {
|
|
180
180
|
prefix: "_ls"
|
|
181
181
|
};
|
|
182
|
-
function
|
|
183
|
-
return
|
|
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,
|
|
186
|
-
const
|
|
187
|
-
if (!
|
|
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
|
|
190
|
-
if (
|
|
191
|
-
const
|
|
192
|
-
|
|
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
|
|
195
|
-
...
|
|
196
|
-
set: function(
|
|
197
|
-
|
|
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,
|
|
200
|
+
Object.defineProperty(e.prototype, a, g);
|
|
201
201
|
}
|
|
202
202
|
});
|
|
203
203
|
}
|
|
204
|
-
var
|
|
205
|
-
function
|
|
206
|
-
return
|
|
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
|
|
209
|
-
(function(
|
|
210
|
-
(function(e,
|
|
211
|
-
|
|
212
|
-
})(
|
|
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
|
-
},
|
|
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
|
|
222
|
-
var w =
|
|
221
|
+
function o(p, y) {
|
|
222
|
+
var w = p[y];
|
|
223
223
|
if (typeof w.bind == "function")
|
|
224
|
-
return w.bind(
|
|
224
|
+
return w.bind(p);
|
|
225
225
|
try {
|
|
226
|
-
return Function.prototype.bind.call(w,
|
|
226
|
+
return Function.prototype.bind.call(w, p);
|
|
227
227
|
} catch {
|
|
228
228
|
return function() {
|
|
229
|
-
return Function.prototype.apply.apply(w, [
|
|
229
|
+
return Function.prototype.apply.apply(w, [p, arguments]);
|
|
230
230
|
};
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
-
function
|
|
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
|
|
237
|
-
return
|
|
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
|
|
240
|
-
for (var w = 0; w <
|
|
241
|
-
var
|
|
242
|
-
this[
|
|
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
|
|
246
|
+
function g(p, y, w) {
|
|
247
247
|
return function() {
|
|
248
|
-
typeof console !==
|
|
248
|
+
typeof console !== a && (h.call(this, y, w), this[p].apply(this, arguments));
|
|
249
249
|
};
|
|
250
250
|
}
|
|
251
|
-
function
|
|
252
|
-
return
|
|
253
|
-
}
|
|
254
|
-
function
|
|
255
|
-
var
|
|
256
|
-
|
|
257
|
-
var
|
|
258
|
-
typeof
|
|
259
|
-
function
|
|
260
|
-
var T = (
|
|
261
|
-
if (!(typeof window ===
|
|
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[
|
|
263
|
+
window.localStorage[A] = T;
|
|
264
264
|
return;
|
|
265
265
|
} catch {
|
|
266
266
|
}
|
|
267
267
|
try {
|
|
268
|
-
window.document.cookie = encodeURIComponent(
|
|
268
|
+
window.document.cookie = encodeURIComponent(A) + "=" + T + ";";
|
|
269
269
|
} catch {
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
|
-
function
|
|
274
|
-
var
|
|
275
|
-
if (!(typeof window ===
|
|
273
|
+
function He() {
|
|
274
|
+
var i;
|
|
275
|
+
if (!(typeof window === a || !A)) {
|
|
276
276
|
try {
|
|
277
|
-
|
|
277
|
+
i = window.localStorage[A];
|
|
278
278
|
} catch {
|
|
279
279
|
}
|
|
280
|
-
if (typeof
|
|
280
|
+
if (typeof i === a)
|
|
281
281
|
try {
|
|
282
282
|
var T = window.document.cookie, Y = T.indexOf(
|
|
283
|
-
encodeURIComponent(
|
|
283
|
+
encodeURIComponent(A) + "="
|
|
284
284
|
);
|
|
285
|
-
Y !== -1 && (
|
|
285
|
+
Y !== -1 && (i = /^([^;]+)/.exec(T.slice(Y))[1]);
|
|
286
286
|
} catch {
|
|
287
287
|
}
|
|
288
|
-
return
|
|
288
|
+
return l.levels[i] === void 0 && (i = void 0), i;
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
|
-
function
|
|
292
|
-
if (!(typeof window ===
|
|
291
|
+
function sc() {
|
|
292
|
+
if (!(typeof window === a || !A)) {
|
|
293
293
|
try {
|
|
294
|
-
window.localStorage.removeItem(
|
|
294
|
+
window.localStorage.removeItem(A);
|
|
295
295
|
return;
|
|
296
296
|
} catch {
|
|
297
297
|
}
|
|
298
298
|
try {
|
|
299
|
-
window.document.cookie = encodeURIComponent(
|
|
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
|
-
|
|
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
|
-
},
|
|
311
|
+
}, l.methodFactory = w || m, l.getLevel = function() {
|
|
312
312
|
return Oe;
|
|
313
|
-
},
|
|
314
|
-
if (typeof
|
|
315
|
-
if (Oe =
|
|
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: " +
|
|
319
|
-
},
|
|
320
|
-
|
|
321
|
-
},
|
|
322
|
-
|
|
323
|
-
},
|
|
324
|
-
|
|
325
|
-
},
|
|
326
|
-
|
|
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
|
|
329
|
-
|
|
328
|
+
var ye = He();
|
|
329
|
+
ye == null && (ye = y), l.setLevel(ye, !1);
|
|
330
330
|
}
|
|
331
|
-
var
|
|
332
|
-
|
|
333
|
-
if (typeof
|
|
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 =
|
|
336
|
-
return w || (w =
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
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
|
|
343
|
-
return
|
|
344
|
-
return typeof window !==
|
|
345
|
-
},
|
|
346
|
-
return
|
|
347
|
-
},
|
|
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
|
-
})(
|
|
350
|
-
var
|
|
351
|
-
const
|
|
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
|
-
`,
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
418
|
+
`, I = x`
|
|
419
|
+
:host {
|
|
420
|
+
--primary-color: var(--sl-color-primary-600);
|
|
421
|
+
}
|
|
422
422
|
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
423
|
+
.link__item,
|
|
424
|
+
.link__item:visited,
|
|
425
|
+
.link__item:active {
|
|
426
|
+
color: var(--primary-color);
|
|
427
|
+
}
|
|
428
428
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
429
|
+
.link__item.inverse,
|
|
430
|
+
.link__item.inverse:visited,
|
|
431
|
+
.link__item.inverse:active {
|
|
432
|
+
color: white;
|
|
433
|
+
}
|
|
434
434
|
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
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
|
-
|
|
442
|
-
|
|
443
|
-
|
|
448
|
+
.color-white {
|
|
449
|
+
color: white;
|
|
450
|
+
}
|
|
444
451
|
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
452
|
+
.color-default {
|
|
453
|
+
color: var(--sl-color-neutral-600);
|
|
454
|
+
}
|
|
448
455
|
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
456
|
+
.color-primary {
|
|
457
|
+
color: var(--sl-color-primary-600);
|
|
458
|
+
}
|
|
452
459
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
460
|
+
.color-success,
|
|
461
|
+
.color-green {
|
|
462
|
+
color: var(--sl-color-success-600);
|
|
463
|
+
}
|
|
457
464
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
465
|
+
.color-warning {
|
|
466
|
+
color: var(--sl-color-warning-600);
|
|
467
|
+
}
|
|
461
468
|
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
469
|
+
.color-danger,
|
|
470
|
+
.color-error {
|
|
471
|
+
color: var(--sl-color-danger-600);
|
|
472
|
+
}
|
|
466
473
|
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
474
|
+
.color-default {
|
|
475
|
+
color: var(--sl-color-neutral-600);
|
|
476
|
+
}
|
|
470
477
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
478
|
+
.text-button {
|
|
479
|
+
cursor: pointer;
|
|
480
|
+
}
|
|
474
481
|
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
`,
|
|
479
|
-
${
|
|
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
|
|
502
|
-
for (var
|
|
503
|
-
(
|
|
504
|
-
return
|
|
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
|
|
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
|
|
512
|
-
>${
|
|
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 =
|
|
517
|
-
|
|
518
|
-
|
|
523
|
+
W.styles = Ne;
|
|
524
|
+
Me([
|
|
525
|
+
r({ type: String })
|
|
519
526
|
], W.prototype, "color", 2);
|
|
520
|
-
|
|
521
|
-
|
|
527
|
+
Me([
|
|
528
|
+
r({ type: String })
|
|
522
529
|
], W.prototype, "svg", 2);
|
|
523
|
-
W =
|
|
530
|
+
W = Me([
|
|
524
531
|
k("cb-icon")
|
|
525
532
|
], W);
|
|
526
|
-
let $
|
|
527
|
-
let
|
|
528
|
-
return (
|
|
529
|
-
let
|
|
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
|
|
532
|
-
for (;
|
|
533
|
-
if (
|
|
534
|
-
return
|
|
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
|
-
},
|
|
538
|
-
const
|
|
539
|
-
function
|
|
540
|
-
return
|
|
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
|
|
543
|
-
return new Promise((e,
|
|
549
|
+
function Ac(c) {
|
|
550
|
+
return new Promise((e, a) => {
|
|
544
551
|
try {
|
|
545
|
-
navigator.clipboard.writeText(
|
|
546
|
-
e(
|
|
552
|
+
navigator.clipboard.writeText(c).then(() => {
|
|
553
|
+
e(c);
|
|
547
554
|
});
|
|
548
|
-
} catch (
|
|
549
|
-
|
|
555
|
+
} catch (f) {
|
|
556
|
+
a(f);
|
|
550
557
|
}
|
|
551
558
|
});
|
|
552
559
|
}
|
|
553
|
-
function
|
|
560
|
+
function Lc(c = !0) {
|
|
554
561
|
return new Promise((e) => {
|
|
555
|
-
const
|
|
556
|
-
|
|
557
|
-
const
|
|
558
|
-
e(
|
|
559
|
-
}),
|
|
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 _ =
|
|
569
|
+
const _ = pe.noConflict();
|
|
563
570
|
_.setLevel("info");
|
|
564
|
-
class
|
|
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 = (
|
|
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
|
|
572
|
-
_.info(`WSC: Connecting to ${
|
|
573
|
-
let
|
|
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 ${
|
|
578
|
-
}, this._ws.onmessage = (
|
|
579
|
-
let
|
|
580
|
-
if (!
|
|
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
|
|
589
|
+
let d = null;
|
|
583
590
|
try {
|
|
584
|
-
|
|
591
|
+
d = JSON.parse(o);
|
|
585
592
|
} catch {
|
|
586
|
-
_.error(`Failed to parse message: ${
|
|
593
|
+
_.error(`Failed to parse message: ${o}`);
|
|
587
594
|
return;
|
|
588
595
|
}
|
|
589
|
-
(
|
|
590
|
-
}, this._ws.onerror = (
|
|
591
|
-
_.error("WSC: Socket error"), clearTimeout(
|
|
592
|
-
}, this._ws.onclose = (
|
|
593
|
-
_.info(`WSC: Closed - code:${
|
|
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,
|
|
617
|
-
for (;
|
|
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++,
|
|
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
|
-
|
|
674
|
-
|
|
675
|
-
|
|
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
|
|
678
|
-
|
|
679
|
-
const
|
|
680
|
-
class
|
|
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
|
-
|
|
687
|
-
|
|
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 =
|
|
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
|
|
711
|
-
|
|
712
|
-
let
|
|
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
|
-
|
|
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
|
-
}), !
|
|
720
|
-
} catch (
|
|
721
|
-
|
|
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, !
|
|
724
|
-
|
|
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 = (
|
|
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" && (
|
|
736
|
-
|
|
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
|
|
746
|
-
return
|
|
747
|
-
url:
|
|
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 = (
|
|
752
|
-
this.handleWscMessage(
|
|
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
|
|
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 && (
|
|
769
|
-
const
|
|
770
|
-
this.messages = this.messages.concat([
|
|
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
|
|
798
|
-
this.actions = this.actions.concat(
|
|
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
|
|
803
|
-
if (
|
|
804
|
-
this.actions.splice(
|
|
805
|
-
const
|
|
806
|
-
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),
|
|
811
|
-
const
|
|
812
|
-
if (!
|
|
813
|
-
|
|
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
|
-
|
|
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
|
|
825
|
-
return e.id || (e.id =
|
|
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,
|
|
842
|
-
const
|
|
843
|
-
return
|
|
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((
|
|
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
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
],
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
],
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
],
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
],
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
],
|
|
874
|
-
|
|
875
|
-
|
|
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
|
-
/*
|
|
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
|
-
],
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
],
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
],
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
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
|
-
],
|
|
914
|
-
const
|
|
915
|
-
${
|
|
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
|
|
957
|
-
for (var
|
|
958
|
-
(
|
|
959
|
-
return
|
|
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
|
|
1018
|
+
class C extends ie {
|
|
962
1019
|
constructor() {
|
|
963
1020
|
super(...arguments), this.lang = "en";
|
|
964
1021
|
}
|
|
965
|
-
emit(e,
|
|
966
|
-
const
|
|
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
|
-
...
|
|
1028
|
+
...a
|
|
972
1029
|
});
|
|
973
|
-
return this.dispatchEvent(
|
|
1030
|
+
return this.dispatchEvent(f), f;
|
|
974
1031
|
}
|
|
975
1032
|
}
|
|
976
|
-
|
|
977
|
-
|
|
1033
|
+
Bc([
|
|
1034
|
+
r({ type: String })
|
|
978
1035
|
], C.prototype, "lang", 2);
|
|
979
|
-
const
|
|
980
|
-
var
|
|
981
|
-
for (var
|
|
982
|
-
(
|
|
983
|
-
return
|
|
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
|
|
1042
|
+
let fe = class extends C {
|
|
986
1043
|
constructor() {
|
|
987
1044
|
super(...arguments), this.title = "ChatBot";
|
|
988
1045
|
}
|
|
989
1046
|
render() {
|
|
990
|
-
return
|
|
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="${
|
|
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="${
|
|
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
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
],
|
|
1019
|
-
|
|
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
|
-
],
|
|
1022
|
-
const
|
|
1023
|
-
${
|
|
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
|
|
1038
|
-
for (var
|
|
1039
|
-
(
|
|
1040
|
-
return
|
|
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
|
|
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
|
|
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
|
-
|
|
1078
|
-
|
|
1134
|
+
ke.styles = qc;
|
|
1135
|
+
ke = Uc([
|
|
1079
1136
|
k("cb-footer")
|
|
1080
|
-
],
|
|
1081
|
-
const
|
|
1082
|
-
${
|
|
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:
|
|
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
|
|
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
|
|
1178
|
-
for (var
|
|
1179
|
-
(
|
|
1180
|
-
return
|
|
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
|
|
1240
|
+
let _e = class extends ie {
|
|
1183
1241
|
render() {
|
|
1184
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
1283
|
+
_e = Kc([
|
|
1226
1284
|
k("cb-thinking")
|
|
1227
|
-
],
|
|
1228
|
-
var
|
|
1229
|
-
for (var
|
|
1230
|
-
(
|
|
1231
|
-
return
|
|
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
|
|
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((
|
|
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
|
-
|
|
1268
|
-
|
|
1325
|
+
Ke([
|
|
1326
|
+
r({ type: Array })
|
|
1269
1327
|
], oe.prototype, "files", 2);
|
|
1270
|
-
oe =
|
|
1328
|
+
oe = Ke([
|
|
1271
1329
|
k("cb-uploading")
|
|
1272
1330
|
], oe);
|
|
1273
|
-
const
|
|
1274
|
-
${
|
|
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
|
|
1295
|
-
for (var
|
|
1296
|
-
(
|
|
1297
|
-
return
|
|
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
|
|
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
|
|
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
|
-
|
|
1345
|
-
|
|
1402
|
+
Se([
|
|
1403
|
+
r({ type: String })
|
|
1346
1404
|
], K.prototype, "url", 2);
|
|
1347
|
-
|
|
1348
|
-
|
|
1405
|
+
Se([
|
|
1406
|
+
r({ type: Boolean })
|
|
1349
1407
|
], K.prototype, "inverse", 2);
|
|
1350
|
-
K =
|
|
1408
|
+
K = Se([
|
|
1351
1409
|
k("cb-external-link")
|
|
1352
1410
|
], K);
|
|
1353
|
-
const
|
|
1354
|
-
var
|
|
1355
|
-
for (var
|
|
1356
|
-
(
|
|
1357
|
-
return
|
|
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:
|
|
1361
|
-
txt:
|
|
1362
|
-
md:
|
|
1363
|
-
csv:
|
|
1364
|
-
ppd:
|
|
1365
|
-
doc:
|
|
1366
|
-
docx:
|
|
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
|
|
1431
|
+
const c = "txt";
|
|
1374
1432
|
if (!this.filename)
|
|
1375
|
-
return
|
|
1433
|
+
return c;
|
|
1376
1434
|
const e = this.filename.split(".").pop();
|
|
1377
|
-
return e ? e.toLowerCase() :
|
|
1435
|
+
return e ? e.toLowerCase() : c;
|
|
1378
1436
|
}
|
|
1379
1437
|
render() {
|
|
1380
|
-
return
|
|
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
|
|
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 =
|
|
1399
|
-
|
|
1400
|
-
|
|
1456
|
+
J.styles = Gc;
|
|
1457
|
+
Ae([
|
|
1458
|
+
r({ type: String })
|
|
1401
1459
|
], J.prototype, "filename", 2);
|
|
1402
|
-
|
|
1403
|
-
|
|
1460
|
+
Ae([
|
|
1461
|
+
r({ type: String })
|
|
1404
1462
|
], J.prototype, "url", 2);
|
|
1405
|
-
J =
|
|
1463
|
+
J = Ae([
|
|
1406
1464
|
k("cb-file")
|
|
1407
1465
|
], J);
|
|
1408
|
-
const
|
|
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
|
-
`,
|
|
2574
|
-
${
|
|
2575
|
-
${
|
|
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
|
|
2730
|
-
const
|
|
2787
|
+
function pa() {
|
|
2788
|
+
const c = new hc({
|
|
2731
2789
|
linkify: !0
|
|
2732
2790
|
});
|
|
2733
|
-
return
|
|
2791
|
+
return c.use(uc, { attrs: { target: "_blank", rel: "noopener" } }), c;
|
|
2734
2792
|
}
|
|
2735
|
-
async function
|
|
2736
|
-
const e =
|
|
2737
|
-
return
|
|
2793
|
+
async function Ee(c) {
|
|
2794
|
+
const e = pa();
|
|
2795
|
+
return s`${B(e.render(c))}`;
|
|
2738
2796
|
}
|
|
2739
|
-
var
|
|
2740
|
-
for (var
|
|
2741
|
-
(
|
|
2742
|
-
return
|
|
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
|
|
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(
|
|
2756
|
-
super.updated(
|
|
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((
|
|
2770
|
-
|
|
2771
|
-
var
|
|
2772
|
-
const e = (
|
|
2773
|
-
e &&
|
|
2774
|
-
|
|
2775
|
-
|
|
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((
|
|
2783
|
-
|
|
2840
|
+
this.copyBtns.forEach((c) => {
|
|
2841
|
+
c.removeEventListener("click", () => {
|
|
2784
2842
|
});
|
|
2785
2843
|
});
|
|
2786
2844
|
}
|
|
2787
2845
|
render() {
|
|
2788
|
-
return
|
|
2846
|
+
return D(
|
|
2789
2847
|
this.message.data || this.message.isThinking,
|
|
2790
|
-
() =>
|
|
2848
|
+
() => s`
|
|
2791
2849
|
<div class="cb-message-row" part="cb-message-row">
|
|
2792
2850
|
<!-- message -->
|
|
2793
|
-
${
|
|
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(
|
|
2804
|
-
return
|
|
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="${
|
|
2865
|
+
<cb-icon svg="${sa}" style="font-size: 1em !important;"></cb-icon>
|
|
2808
2866
|
</sl-button>
|
|
2809
2867
|
</div>`;
|
|
2810
2868
|
}
|
|
2811
|
-
renderMessage(
|
|
2812
|
-
return
|
|
2869
|
+
renderMessage(c) {
|
|
2870
|
+
return s`
|
|
2813
2871
|
<div
|
|
2814
2872
|
class="cb-message__content
|
|
2815
|
-
${
|
|
2816
|
-
message-type-${
|
|
2817
|
-
${
|
|
2873
|
+
${c.author}-message
|
|
2874
|
+
message-type-${c.type}
|
|
2875
|
+
${c.isThinking ? "thinking" : ""}"
|
|
2818
2876
|
style="display: flex"
|
|
2819
2877
|
>
|
|
2820
|
-
${this.renderMessageContent(
|
|
2878
|
+
${this.renderMessageContent(c)}
|
|
2821
2879
|
</div>
|
|
2822
2880
|
`;
|
|
2823
2881
|
}
|
|
2824
|
-
async _getMessageText(
|
|
2825
|
-
return
|
|
2882
|
+
async _getMessageText(c) {
|
|
2883
|
+
return Ee(c.data.text);
|
|
2826
2884
|
}
|
|
2827
|
-
renderMessageContent(
|
|
2885
|
+
renderMessageContent(c) {
|
|
2828
2886
|
var e;
|
|
2829
|
-
return
|
|
2830
|
-
${
|
|
2831
|
-
|
|
2832
|
-
() =>
|
|
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(
|
|
2894
|
+
this._getMessageText(c).then((a) => s`${a}`)
|
|
2837
2895
|
)}
|
|
2838
|
-
</div>` :
|
|
2839
|
-
|
|
2840
|
-
(
|
|
2841
|
-
(
|
|
2842
|
-
)}` :
|
|
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
|
-
|
|
2902
|
+
Ee(((e = c.data.text) == null ? void 0 : e.toString()) || "").then((a) => s`${a}`)
|
|
2845
2903
|
)}
|
|
2846
2904
|
</div>`;
|
|
2847
2905
|
}
|
|
2848
|
-
renderBotMessageAvatar(
|
|
2849
|
-
if (
|
|
2850
|
-
const e =
|
|
2851
|
-
return
|
|
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
|
|
2911
|
+
return c.author === "system" ? ae`${B(n.setting.systemIconSvg)}` : ae`${B(n.setting.botIconSvg)}`;
|
|
2854
2912
|
}
|
|
2855
|
-
renderBotMessage(
|
|
2856
|
-
return
|
|
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(
|
|
2859
|
-
<div style="margin-left: 4px;width: 100%">${this.renderMessage(
|
|
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(
|
|
2864
|
-
return
|
|
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="${
|
|
2925
|
+
<cb-icon slot="icon" svg="${na}" color="white"></cb-icon>
|
|
2868
2926
|
</sl-avatar>-->
|
|
2869
|
-
<div class="avatar user-avatar">${
|
|
2870
|
-
${this.renderMessage(
|
|
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
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
],
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
],
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
],
|
|
2885
|
-
|
|
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
|
-
],
|
|
2888
|
-
var
|
|
2889
|
-
for (var
|
|
2890
|
-
(
|
|
2891
|
-
return
|
|
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 =
|
|
2951
|
+
const Q = pe.noConflict();
|
|
2894
2952
|
Q.setLevel("info");
|
|
2895
|
-
let
|
|
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
|
|
2958
|
+
return s`
|
|
2901
2959
|
<div class="cb-message-list" part="cb-message-list">
|
|
2902
|
-
${
|
|
2960
|
+
${we(
|
|
2903
2961
|
this.messages,
|
|
2904
|
-
(
|
|
2905
|
-
(
|
|
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 :
|
|
2971
|
+
return !Array.isArray(this.actions) || this.actions.length <= 0 ? null : s`
|
|
2914
2972
|
<div class="cb-actions-list">
|
|
2915
|
-
${
|
|
2973
|
+
${we(
|
|
2916
2974
|
this.actions,
|
|
2917
|
-
(
|
|
2918
|
-
(
|
|
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(
|
|
2927
|
-
switch (
|
|
2984
|
+
renderAction(c) {
|
|
2985
|
+
switch (c.type) {
|
|
2928
2986
|
case "calendlyMeeting":
|
|
2929
|
-
return this.renderCalendlyAction(
|
|
2987
|
+
return this.renderCalendlyAction(c);
|
|
2930
2988
|
case "link":
|
|
2931
|
-
return this.renderLinkAction(
|
|
2989
|
+
return this.renderLinkAction(c);
|
|
2932
2990
|
}
|
|
2933
2991
|
return null;
|
|
2934
2992
|
}
|
|
2935
|
-
handleCalendlyEvent(
|
|
2936
|
-
switch (Q.info("Got Calendly 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 && (
|
|
2997
|
+
e >= 0 && (n.removeAction(e), n.addSystemMessage("Your meeting has been scheduled!"), this.activeCalendlyAction = -1);
|
|
2940
2998
|
}
|
|
2941
2999
|
}
|
|
2942
3000
|
}
|
|
2943
|
-
invokeLinkAction(
|
|
2944
|
-
Q.info("invokeLinkAction:",
|
|
3001
|
+
invokeLinkAction(c = {}) {
|
|
3002
|
+
Q.info("invokeLinkAction:", c), window.open(c.url, "_blank");
|
|
2945
3003
|
}
|
|
2946
|
-
invokeCalendlyAction(
|
|
2947
|
-
return Q.info("invokeCalendlyAction:",
|
|
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(
|
|
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
|
|
2954
|
-
|
|
2955
|
-
|
|
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
|
|
3016
|
+
return s`
|
|
2959
3017
|
<div class="cb-actions-list">
|
|
2960
|
-
<div class="cb-action ripple" @click="${this.invokeCalendlyAction.bind(this,
|
|
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
|
-
${
|
|
3027
|
+
${c.title}
|
|
2970
3028
|
</div>
|
|
2971
3029
|
</div>
|
|
2972
3030
|
`;
|
|
2973
3031
|
}
|
|
2974
|
-
renderLinkAction(
|
|
2975
|
-
return
|
|
3032
|
+
renderLinkAction(c) {
|
|
3033
|
+
return s`
|
|
2976
3034
|
<div class="cb-actions-list">
|
|
2977
|
-
<div class="cb-action ripple" @click="${this.invokeLinkAction.bind(this,
|
|
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
|
-
${
|
|
3041
|
+
${c.title}
|
|
2984
3042
|
</div>
|
|
2985
3043
|
</div>
|
|
2986
3044
|
`;
|
|
2987
3045
|
}
|
|
2988
3046
|
};
|
|
2989
|
-
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
],
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
],
|
|
2996
|
-
|
|
2997
|
-
|
|
2998
|
-
],
|
|
2999
|
-
|
|
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
|
-
],
|
|
3002
|
-
|
|
3059
|
+
], E.prototype, "invokeLinkAction", 1);
|
|
3060
|
+
Z([
|
|
3003
3061
|
qe({ capture: !1, passive: !0 })
|
|
3004
|
-
],
|
|
3005
|
-
|
|
3062
|
+
], E.prototype, "invokeCalendlyAction", 1);
|
|
3063
|
+
E = Z([
|
|
3006
3064
|
k("cb-message-list")
|
|
3007
|
-
],
|
|
3008
|
-
const
|
|
3009
|
-
${
|
|
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
|
-
`,
|
|
3052
|
-
var
|
|
3053
|
-
for (var
|
|
3054
|
-
(
|
|
3055
|
-
return
|
|
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
|
|
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(
|
|
3062
|
-
const e =
|
|
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
|
|
3138
|
+
const c = await Lc();
|
|
3079
3139
|
this.emit("message:send:file", {
|
|
3080
3140
|
detail: {
|
|
3081
|
-
files:
|
|
3141
|
+
files: c
|
|
3082
3142
|
}
|
|
3083
3143
|
});
|
|
3084
3144
|
}
|
|
3085
3145
|
render() {
|
|
3086
|
-
return
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
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
|
-
|
|
3103
|
-
|
|
3162
|
+
<span class="cb-input-buttons">
|
|
3163
|
+
${D(
|
|
3104
3164
|
this.enableFileUpload,
|
|
3105
|
-
() =>
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
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
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
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(
|
|
3145
|
-
|
|
3191
|
+
_keyDownHandler(c) {
|
|
3192
|
+
c.key === "Enter" && !c.shiftKey && this._sendHandler();
|
|
3146
3193
|
}
|
|
3147
3194
|
};
|
|
3148
|
-
|
|
3195
|
+
L.styles = ya;
|
|
3149
3196
|
P([
|
|
3150
|
-
|
|
3151
|
-
],
|
|
3197
|
+
r({ type: String, attribute: "placeholder" })
|
|
3198
|
+
], L.prototype, "placeholder", 2);
|
|
3152
3199
|
P([
|
|
3153
|
-
|
|
3154
|
-
],
|
|
3200
|
+
r({ type: String, attribute: "send-button-label" })
|
|
3201
|
+
], L.prototype, "sendButtonLabel", 2);
|
|
3155
3202
|
P([
|
|
3156
|
-
|
|
3157
|
-
],
|
|
3203
|
+
r({ type: Boolean, attribute: "enable-file-upload" })
|
|
3204
|
+
], L.prototype, "enableFileUpload", 2);
|
|
3158
3205
|
P([
|
|
3159
|
-
|
|
3160
|
-
],
|
|
3206
|
+
r({ type: String })
|
|
3207
|
+
], L.prototype, "value", 2);
|
|
3161
3208
|
P([
|
|
3162
|
-
|
|
3163
|
-
],
|
|
3209
|
+
r({ type: Boolean })
|
|
3210
|
+
], L.prototype, "loading", 2);
|
|
3164
3211
|
P([
|
|
3165
|
-
|
|
3166
|
-
],
|
|
3212
|
+
r({ type: Boolean })
|
|
3213
|
+
], L.prototype, "disabled", 2);
|
|
3167
3214
|
P([
|
|
3168
|
-
|
|
3169
|
-
],
|
|
3215
|
+
r({ type: String })
|
|
3216
|
+
], L.prototype, "currentKey", 2);
|
|
3170
3217
|
P([
|
|
3171
|
-
|
|
3172
|
-
],
|
|
3173
|
-
|
|
3218
|
+
le("sl-textarea")
|
|
3219
|
+
], L.prototype, "inputElement", 2);
|
|
3220
|
+
L = P([
|
|
3174
3221
|
k("cb-user-input")
|
|
3175
|
-
],
|
|
3176
|
-
const
|
|
3177
|
-
${
|
|
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
|
|
3212
|
-
for (var
|
|
3213
|
-
(
|
|
3214
|
-
return
|
|
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
|
|
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
|
|
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 ?
|
|
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="${
|
|
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
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
],
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
],
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
],
|
|
3270
|
-
|
|
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
|
-
],
|
|
3273
|
-
var
|
|
3274
|
-
for (var
|
|
3275
|
-
(
|
|
3276
|
-
return
|
|
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
|
|
3325
|
+
let de = class extends C {
|
|
3279
3326
|
constructor() {
|
|
3280
3327
|
super(...arguments), this.open = !1;
|
|
3281
3328
|
}
|
|
3282
3329
|
render() {
|
|
3283
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
3321
|
-
|
|
3322
|
-
],
|
|
3323
|
-
|
|
3367
|
+
Je([
|
|
3368
|
+
r({ type: Boolean })
|
|
3369
|
+
], de.prototype, "open", 2);
|
|
3370
|
+
de = Je([
|
|
3324
3371
|
k("cb-clear-message-dialog")
|
|
3325
|
-
],
|
|
3326
|
-
const
|
|
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
|
|
3387
|
-
for (var
|
|
3388
|
-
(
|
|
3389
|
-
return
|
|
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
|
|
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,
|
|
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
|
-
${
|
|
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
|
|
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(
|
|
3527
|
-
const { name: e, value:
|
|
3528
|
-
|
|
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(
|
|
3532
|
-
const { name: e, checked:
|
|
3533
|
-
|
|
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(
|
|
3594
|
+
updated(c) {
|
|
3548
3595
|
var e;
|
|
3549
|
-
super.updated(
|
|
3550
|
-
|
|
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
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
],
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
],
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
],
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
],
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
],
|
|
3570
|
-
|
|
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
|
-
],
|
|
3573
|
-
const
|
|
3574
|
-
${
|
|
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:
|
|
3665
|
+
min-width: 250px;
|
|
3619
3666
|
min-height: 100px;
|
|
3620
|
-
color: rgb(
|
|
3621
|
-
padding: 10px;
|
|
3622
|
-
background
|
|
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.
|
|
3636
|
-
|
|
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-
|
|
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
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
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
|
|
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
|
|
3724
|
+
const c = !this.open;
|
|
3655
3725
|
this.emit("chatbot:toggle", {
|
|
3656
3726
|
detail: {
|
|
3657
|
-
open:
|
|
3727
|
+
open: c
|
|
3658
3728
|
}
|
|
3659
|
-
}), this.open =
|
|
3729
|
+
}), this.open = c;
|
|
3660
3730
|
}
|
|
3661
|
-
|
|
3662
|
-
console.log("
|
|
3731
|
+
_engageClickHandler(c) {
|
|
3732
|
+
console.log("engage close clicked!"), n.engage = !1, c.stopPropagation();
|
|
3663
3733
|
}
|
|
3664
3734
|
render() {
|
|
3665
|
-
return
|
|
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
|
-
${
|
|
3739
|
+
${D(
|
|
3670
3740
|
this.open,
|
|
3671
|
-
() =>
|
|
3672
|
-
() =>
|
|
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">
|
|
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
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
],
|
|
3685
|
-
|
|
3758
|
+
be.styles = Oa;
|
|
3759
|
+
Ye([
|
|
3760
|
+
r({ type: Boolean })
|
|
3761
|
+
], be.prototype, "open", 2);
|
|
3762
|
+
be = Ye([
|
|
3686
3763
|
k("cb-anchor")
|
|
3687
|
-
],
|
|
3688
|
-
const
|
|
3689
|
-
${
|
|
3690
|
-
`,
|
|
3691
|
-
var
|
|
3692
|
-
for (var
|
|
3693
|
-
(
|
|
3694
|
-
return
|
|
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
|
|
3773
|
+
const ze = {
|
|
3697
3774
|
error: {
|
|
3698
3775
|
variant: "danger",
|
|
3699
|
-
icon:
|
|
3776
|
+
icon: Ce
|
|
3700
3777
|
},
|
|
3701
3778
|
danger: {
|
|
3702
3779
|
variant: "danger",
|
|
3703
|
-
icon:
|
|
3780
|
+
icon: Ce
|
|
3704
3781
|
},
|
|
3705
3782
|
warning: {
|
|
3706
3783
|
variant: "warning",
|
|
3707
|
-
icon:
|
|
3784
|
+
icon: Ge
|
|
3708
3785
|
},
|
|
3709
3786
|
success: {
|
|
3710
3787
|
variant: "success",
|
|
3711
|
-
icon:
|
|
3788
|
+
icon: Xe
|
|
3712
3789
|
},
|
|
3713
3790
|
info: {
|
|
3714
3791
|
variant: "primary",
|
|
3715
|
-
icon:
|
|
3792
|
+
icon: Qe
|
|
3716
3793
|
}
|
|
3717
3794
|
};
|
|
3718
|
-
let
|
|
3795
|
+
let re = class extends C {
|
|
3719
3796
|
constructor() {
|
|
3720
3797
|
super(...arguments), this.status = "info";
|
|
3721
3798
|
}
|
|
3722
3799
|
render() {
|
|
3723
|
-
const { variant:
|
|
3724
|
-
return
|
|
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
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
],
|
|
3731
|
-
|
|
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
|
-
],
|
|
3734
|
-
var
|
|
3735
|
-
for (var
|
|
3736
|
-
(
|
|
3737
|
-
return
|
|
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
|
|
3816
|
+
let $e = class extends C {
|
|
3740
3817
|
render() {
|
|
3741
|
-
return
|
|
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
|
-
|
|
3756
|
-
|
|
3832
|
+
$e.styles = Ea;
|
|
3833
|
+
$e = Va([
|
|
3757
3834
|
k("cb-auth-alert")
|
|
3758
|
-
],
|
|
3835
|
+
], $e);
|
|
3759
3836
|
class Te extends Error {
|
|
3760
|
-
constructor(e,
|
|
3761
|
-
const
|
|
3762
|
-
super(`Request failed with ${
|
|
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 =
|
|
3854
|
+
}), this.name = "HTTPError", this.response = e, this.request = a, this.options = f;
|
|
3778
3855
|
}
|
|
3779
3856
|
}
|
|
3780
|
-
class
|
|
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 = (
|
|
3791
|
-
for (const e of
|
|
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
|
|
3795
|
-
},
|
|
3796
|
-
const
|
|
3797
|
-
for (const [
|
|
3798
|
-
|
|
3799
|
-
return
|
|
3800
|
-
},
|
|
3801
|
-
let e = {},
|
|
3802
|
-
for (const
|
|
3803
|
-
if (Array.isArray(
|
|
3804
|
-
Array.isArray(e) || (e = []), e = [...e, ...
|
|
3805
|
-
else if (ee(
|
|
3806
|
-
for (let [
|
|
3807
|
-
ee(
|
|
3808
|
-
ee(
|
|
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
|
-
},
|
|
3812
|
-
let
|
|
3813
|
-
const
|
|
3814
|
-
return
|
|
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
|
|
3896
|
+
return c = !0, "half";
|
|
3820
3897
|
}
|
|
3821
|
-
}).headers.has("Content-Type")),
|
|
3822
|
-
})(),
|
|
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
|
-
},
|
|
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:
|
|
3831
|
-
statusCodes:
|
|
3832
|
-
afterStatusCodes:
|
|
3907
|
+
methods: Wa,
|
|
3908
|
+
statusCodes: Ka,
|
|
3909
|
+
afterStatusCodes: oc,
|
|
3833
3910
|
maxRetryAfter: Number.POSITIVE_INFINITY,
|
|
3834
3911
|
backoffLimit: Number.POSITIVE_INFINITY
|
|
3835
|
-
},
|
|
3836
|
-
if (typeof
|
|
3912
|
+
}, Ja = (c = {}) => {
|
|
3913
|
+
if (typeof c == "number")
|
|
3837
3914
|
return {
|
|
3838
3915
|
...Be,
|
|
3839
|
-
limit:
|
|
3916
|
+
limit: c
|
|
3840
3917
|
};
|
|
3841
|
-
if (
|
|
3918
|
+
if (c.methods && !Array.isArray(c.methods))
|
|
3842
3919
|
throw new Error("retry.methods must be an array");
|
|
3843
|
-
if (
|
|
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
|
-
...
|
|
3848
|
-
afterStatusCodes:
|
|
3924
|
+
...c,
|
|
3925
|
+
afterStatusCodes: oc
|
|
3849
3926
|
};
|
|
3850
3927
|
};
|
|
3851
|
-
async function
|
|
3852
|
-
return new Promise((
|
|
3853
|
-
const
|
|
3854
|
-
e && e.abort(),
|
|
3855
|
-
},
|
|
3856
|
-
|
|
3857
|
-
clearTimeout(
|
|
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
|
|
3862
|
-
function Re(
|
|
3863
|
-
if (
|
|
3864
|
-
return new DOMException((
|
|
3865
|
-
const e = new Error((
|
|
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
|
|
3869
|
-
return new Promise((
|
|
3945
|
+
async function Xa(c, { signal: e }) {
|
|
3946
|
+
return new Promise((a, f) => {
|
|
3870
3947
|
if (e) {
|
|
3871
3948
|
if (e.aborted) {
|
|
3872
|
-
|
|
3949
|
+
f(Re(e));
|
|
3873
3950
|
return;
|
|
3874
3951
|
}
|
|
3875
|
-
e.addEventListener("abort",
|
|
3952
|
+
e.addEventListener("abort", t, { once: !0 });
|
|
3876
3953
|
}
|
|
3877
|
-
function
|
|
3878
|
-
|
|
3954
|
+
function t() {
|
|
3955
|
+
f(Re(e)), clearTimeout(o);
|
|
3879
3956
|
}
|
|
3880
|
-
const
|
|
3881
|
-
e == null || e.removeEventListener("abort",
|
|
3882
|
-
},
|
|
3957
|
+
const o = setTimeout(() => {
|
|
3958
|
+
e == null || e.removeEventListener("abort", t), a();
|
|
3959
|
+
}, c);
|
|
3883
3960
|
});
|
|
3884
3961
|
}
|
|
3885
|
-
class
|
|
3962
|
+
class se {
|
|
3886
3963
|
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
|
3887
|
-
static create(e,
|
|
3888
|
-
const
|
|
3889
|
-
if (
|
|
3890
|
-
throw new RangeError(`The \`timeout\` option cannot be greater than ${
|
|
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
|
|
3893
|
-
for (const
|
|
3894
|
-
const
|
|
3895
|
-
|
|
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 (
|
|
3898
|
-
let
|
|
3899
|
-
for (const
|
|
3900
|
-
|
|
3901
|
-
throw
|
|
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 (
|
|
3904
|
-
if (typeof
|
|
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 (!
|
|
3983
|
+
if (!Fa)
|
|
3907
3984
|
throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");
|
|
3908
|
-
return
|
|
3985
|
+
return f._stream(b.clone(), f._options.onDownloadProgress);
|
|
3909
3986
|
}
|
|
3910
|
-
return
|
|
3911
|
-
},
|
|
3912
|
-
for (const [
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
const
|
|
3916
|
-
if (
|
|
3917
|
-
if (
|
|
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 (
|
|
3920
|
-
return
|
|
3996
|
+
if (a.parseJson)
|
|
3997
|
+
return a.parseJson(await m.text());
|
|
3921
3998
|
}
|
|
3922
|
-
return
|
|
3999
|
+
return m[b]();
|
|
3923
4000
|
};
|
|
3924
|
-
return
|
|
4001
|
+
return d;
|
|
3925
4002
|
}
|
|
3926
4003
|
// eslint-disable-next-line complexity
|
|
3927
|
-
constructor(e,
|
|
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
|
-
...
|
|
3957
|
-
headers:
|
|
3958
|
-
hooks:
|
|
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
|
-
},
|
|
3964
|
-
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(
|
|
3967
|
-
retry:
|
|
3968
|
-
throwHttpErrors:
|
|
3969
|
-
timeout: typeof
|
|
3970
|
-
fetch:
|
|
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 (
|
|
4055
|
+
if (Da) {
|
|
3979
4056
|
if (this.abortController = new globalThis.AbortController(), this._options.signal) {
|
|
3980
|
-
const
|
|
4057
|
+
const f = this._options.signal;
|
|
3981
4058
|
this._options.signal.addEventListener("abort", () => {
|
|
3982
|
-
this.abortController.abort(
|
|
4059
|
+
this.abortController.abort(f.reason);
|
|
3983
4060
|
});
|
|
3984
4061
|
}
|
|
3985
4062
|
this._options.signal = this.abortController.signal;
|
|
3986
4063
|
}
|
|
3987
|
-
if (
|
|
3988
|
-
const
|
|
3989
|
-
(
|
|
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
|
|
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
|
|
3999
|
-
if (
|
|
4000
|
-
let
|
|
4001
|
-
return Number.isNaN(
|
|
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
|
|
4007
|
-
return Math.min(this._options.retry.backoffLimit,
|
|
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 (
|
|
4018
|
-
const
|
|
4019
|
-
if (
|
|
4020
|
-
await
|
|
4021
|
-
for (const
|
|
4022
|
-
if (await
|
|
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:
|
|
4102
|
+
error: a,
|
|
4026
4103
|
retryCount: this._retryCount
|
|
4027
|
-
}) ===
|
|
4104
|
+
}) === fc)
|
|
4028
4105
|
return;
|
|
4029
4106
|
return this._retry(e);
|
|
4030
4107
|
}
|
|
4031
|
-
throw
|
|
4108
|
+
throw a;
|
|
4032
4109
|
}
|
|
4033
4110
|
}
|
|
4034
4111
|
async _fetch() {
|
|
4035
4112
|
for (const e of this._options.hooks.beforeRequest) {
|
|
4036
|
-
const
|
|
4037
|
-
if (
|
|
4038
|
-
this.request =
|
|
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 (
|
|
4042
|
-
return
|
|
4118
|
+
if (a instanceof Response)
|
|
4119
|
+
return a;
|
|
4043
4120
|
}
|
|
4044
|
-
return this._options.timeout === !1 ? this._options.fetch(this.request.clone()) :
|
|
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,
|
|
4048
|
-
const
|
|
4049
|
-
let
|
|
4050
|
-
return e.status === 204 ? (
|
|
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(
|
|
4056
|
-
const
|
|
4057
|
-
|
|
4058
|
-
async function
|
|
4059
|
-
const { done:
|
|
4060
|
-
if (
|
|
4061
|
-
|
|
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 (
|
|
4065
|
-
|
|
4066
|
-
const
|
|
4067
|
-
|
|
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
|
-
|
|
4146
|
+
o.enqueue(g), await b();
|
|
4070
4147
|
}
|
|
4071
|
-
await
|
|
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
|
|
4082
|
-
const e = (
|
|
4083
|
-
for (const
|
|
4084
|
-
e[
|
|
4085
|
-
return e.create = (
|
|
4086
|
-
},
|
|
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
|
|
4095
|
-
const { onmessage:
|
|
4096
|
-
const { value:
|
|
4097
|
-
|
|
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
|
|
4100
|
-
const
|
|
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(
|
|
4103
|
-
|
|
4104
|
-
|
|
4105
|
-
|
|
4179
|
+
start(g) {
|
|
4180
|
+
o(
|
|
4181
|
+
g,
|
|
4182
|
+
b
|
|
4106
4183
|
);
|
|
4107
4184
|
}
|
|
4108
4185
|
});
|
|
4109
4186
|
}).then(
|
|
4110
|
-
(
|
|
4187
|
+
(d) => new Response(d, {
|
|
4111
4188
|
headers: { "Content-Type": "text/html" }
|
|
4112
4189
|
}).text()
|
|
4113
4190
|
);
|
|
4114
4191
|
}
|
|
4115
|
-
async function
|
|
4116
|
-
const
|
|
4117
|
-
for (let
|
|
4118
|
-
|
|
4119
|
-
const
|
|
4120
|
-
body:
|
|
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
|
|
4124
|
-
} catch (
|
|
4200
|
+
return await f.json();
|
|
4201
|
+
} catch (t) {
|
|
4125
4202
|
return {
|
|
4126
4203
|
code: 1,
|
|
4127
4204
|
url: "",
|
|
4128
|
-
message:
|
|
4205
|
+
message: t.message
|
|
4129
4206
|
};
|
|
4130
4207
|
}
|
|
4131
4208
|
}
|
|
4132
4209
|
const Ve = {
|
|
4133
4210
|
error: {
|
|
4134
4211
|
variant: "danger",
|
|
4135
|
-
icon:
|
|
4212
|
+
icon: Ce
|
|
4136
4213
|
},
|
|
4137
4214
|
warning: {
|
|
4138
4215
|
variant: "warning",
|
|
4139
|
-
icon:
|
|
4216
|
+
icon: Ge
|
|
4140
4217
|
},
|
|
4141
4218
|
success: {
|
|
4142
4219
|
variant: "success",
|
|
4143
|
-
icon:
|
|
4220
|
+
icon: Xe
|
|
4144
4221
|
},
|
|
4145
4222
|
info: {
|
|
4146
4223
|
variant: "primary",
|
|
4147
|
-
icon:
|
|
4224
|
+
icon: Qe
|
|
4148
4225
|
}
|
|
4149
4226
|
};
|
|
4150
|
-
function
|
|
4227
|
+
function t1(c) {
|
|
4151
4228
|
const e = document.createElement("div");
|
|
4152
|
-
return e.textContent =
|
|
4229
|
+
return e.textContent = c, e.innerHTML;
|
|
4153
4230
|
}
|
|
4154
|
-
function
|
|
4155
|
-
const { variant:
|
|
4156
|
-
variant:
|
|
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:
|
|
4235
|
+
duration: a,
|
|
4159
4236
|
innerHTML: `
|
|
4160
|
-
<cb-status-icon slot="icon" status="${
|
|
4161
|
-
${
|
|
4237
|
+
<cb-status-icon slot="icon" status="${c}"></cb-status-icon>
|
|
4238
|
+
${t1(e)}
|
|
4162
4239
|
`
|
|
4163
4240
|
});
|
|
4164
|
-
return document.body.append(
|
|
4241
|
+
return document.body.append(o), o.toast();
|
|
4165
4242
|
}
|
|
4166
|
-
async function
|
|
4167
|
-
const
|
|
4168
|
-
let
|
|
4169
|
-
for (; !
|
|
4170
|
-
const { value:
|
|
4171
|
-
if (
|
|
4172
|
-
let
|
|
4173
|
-
const
|
|
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 (
|
|
4176
|
-
` ||
|
|
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 (
|
|
4179
|
-
|
|
4255
|
+
if (b === "[DONE]") {
|
|
4256
|
+
t = !0;
|
|
4180
4257
|
continue;
|
|
4181
4258
|
}
|
|
4182
4259
|
try {
|
|
4183
|
-
const
|
|
4184
|
-
e(null,
|
|
4185
|
-
} catch (
|
|
4186
|
-
console.log("error",
|
|
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
|
-
|
|
4266
|
+
t = d;
|
|
4190
4267
|
}
|
|
4191
4268
|
}
|
|
4192
|
-
async function
|
|
4193
|
-
var
|
|
4194
|
-
if (!
|
|
4269
|
+
async function d1(c) {
|
|
4270
|
+
var t;
|
|
4271
|
+
if (!c.apiKey)
|
|
4195
4272
|
throw new Error("apiKey is required");
|
|
4196
|
-
const e =
|
|
4273
|
+
const e = c.options ?? {};
|
|
4197
4274
|
e.model || (e.model = "gpt-3.5-turbo");
|
|
4198
|
-
const
|
|
4275
|
+
const a = await dc.post(c.url, {
|
|
4199
4276
|
json: {
|
|
4200
|
-
messages:
|
|
4201
|
-
...
|
|
4277
|
+
messages: c.messages,
|
|
4278
|
+
...c.options ?? {}
|
|
4202
4279
|
},
|
|
4203
4280
|
headers: {
|
|
4204
4281
|
"Content-Type": "application/json",
|
|
4205
|
-
Authorization: `Bearer ${
|
|
4282
|
+
Authorization: `Bearer ${c.apiKey}`
|
|
4206
4283
|
},
|
|
4207
4284
|
timeout: 1e3 * 60 * 10,
|
|
4208
|
-
signal:
|
|
4209
|
-
}),
|
|
4210
|
-
if (!
|
|
4285
|
+
signal: c.signal
|
|
4286
|
+
}), f = a.body;
|
|
4287
|
+
if (!f)
|
|
4211
4288
|
throw new Error("No data");
|
|
4212
|
-
if ((
|
|
4213
|
-
await
|
|
4289
|
+
if ((t = c.options) != null && t.stream) {
|
|
4290
|
+
await o1(f, c.onMessage);
|
|
4214
4291
|
return;
|
|
4215
4292
|
}
|
|
4216
|
-
return
|
|
4293
|
+
return a.json();
|
|
4217
4294
|
}
|
|
4218
|
-
var
|
|
4219
|
-
for (var
|
|
4220
|
-
(
|
|
4221
|
-
return
|
|
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
|
|
4224
|
-
|
|
4225
|
-
let
|
|
4300
|
+
const ce = pe.noConflict();
|
|
4301
|
+
ce.setLevel("info");
|
|
4302
|
+
let u = class extends C {
|
|
4226
4303
|
constructor() {
|
|
4227
|
-
super(...arguments), this.store = new
|
|
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 =
|
|
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(
|
|
4240
|
-
return new TextDecoder().decode(
|
|
4316
|
+
decodeStreamData(c) {
|
|
4317
|
+
return new TextDecoder().decode(c);
|
|
4241
4318
|
}
|
|
4242
4319
|
addMessage() {
|
|
4243
|
-
const
|
|
4320
|
+
const c = {
|
|
4244
4321
|
author: "assistant",
|
|
4245
4322
|
type: "text",
|
|
4246
4323
|
isThinking: !0,
|
|
4247
4324
|
data: {}
|
|
4248
4325
|
};
|
|
4249
|
-
return
|
|
4326
|
+
return n.addMessage(c), c;
|
|
4250
4327
|
}
|
|
4251
4328
|
addTestMessage() {
|
|
4252
|
-
const
|
|
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
|
|
4337
|
+
return n.addMessage(c), c;
|
|
4261
4338
|
}
|
|
4262
4339
|
render() {
|
|
4263
|
-
return
|
|
4264
|
-
<div class="cb-wrapper" style="${
|
|
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=${
|
|
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=${
|
|
4346
|
+
<cb-anchor ?open=${n.open}></cb-anchor>
|
|
4270
4347
|
`;
|
|
4271
4348
|
}
|
|
4272
4349
|
connectedCallback() {
|
|
4273
|
-
super.connectedCallback(),
|
|
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", (
|
|
4278
|
-
const e =
|
|
4279
|
-
|
|
4354
|
+
}), addEventListener("chatbot:toggle", (c) => {
|
|
4355
|
+
const e = c.detail;
|
|
4356
|
+
n.open = e.open, n.engage = !1;
|
|
4280
4357
|
}), addEventListener("message:clear", () => {
|
|
4281
|
-
|
|
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(
|
|
4290
|
-
super.updated(
|
|
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
|
|
4297
|
-
|
|
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(
|
|
4300
|
-
this.loading =
|
|
4376
|
+
setLoading(c) {
|
|
4377
|
+
this.loading = c;
|
|
4301
4378
|
}
|
|
4302
4379
|
clearConversation() {
|
|
4303
|
-
|
|
4380
|
+
n.clearConversation();
|
|
4304
4381
|
}
|
|
4305
4382
|
// check auth
|
|
4306
4383
|
_checkAuth() {
|
|
4307
4384
|
}
|
|
4308
4385
|
// TODO Remove
|
|
4309
|
-
async _sendToOpenai(
|
|
4310
|
-
let
|
|
4311
|
-
const
|
|
4312
|
-
url: `${
|
|
4313
|
-
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:
|
|
4317
|
-
model:
|
|
4393
|
+
stream: n.setting.stream,
|
|
4394
|
+
model: n.setting.openai.model
|
|
4318
4395
|
// temperature: 0.9,
|
|
4319
4396
|
},
|
|
4320
|
-
onMessage: (
|
|
4321
|
-
var
|
|
4322
|
-
if (
|
|
4323
|
-
console.error(
|
|
4397
|
+
onMessage: (o, d) => {
|
|
4398
|
+
var b;
|
|
4399
|
+
if (o) {
|
|
4400
|
+
console.error(o);
|
|
4324
4401
|
return;
|
|
4325
4402
|
}
|
|
4326
|
-
|
|
4327
|
-
|
|
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
|
-
!
|
|
4408
|
+
!n.setting.stream && t && n.updateMessage(c, t.choices[0].message.content);
|
|
4332
4409
|
}
|
|
4333
4410
|
// TODO Remove
|
|
4334
|
-
async _sendHandler(
|
|
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 (
|
|
4419
|
+
if (n.addMessage(e), this.customRequest)
|
|
4343
4420
|
await this.emit("chatbot:send", {
|
|
4344
4421
|
detail: {
|
|
4345
4422
|
newMessage: e,
|
|
4346
|
-
messages:
|
|
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,
|
|
4354
|
-
} catch (
|
|
4355
|
-
|
|
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(
|
|
4360
|
-
const e =
|
|
4361
|
-
|
|
4436
|
+
_addMessageHandler(c) {
|
|
4437
|
+
const e = c.detail;
|
|
4438
|
+
n.sendMessage(e);
|
|
4362
4439
|
}
|
|
4363
|
-
_deleteMessageHandler(
|
|
4364
|
-
const e =
|
|
4365
|
-
|
|
4440
|
+
_deleteMessageHandler(c) {
|
|
4441
|
+
const e = c.detail;
|
|
4442
|
+
n.removeMessage(e.id);
|
|
4366
4443
|
}
|
|
4367
|
-
async _sendFileHandler(
|
|
4368
|
-
const e =
|
|
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((
|
|
4374
|
-
id: `${
|
|
4375
|
-
name:
|
|
4376
|
-
size:
|
|
4377
|
-
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 (
|
|
4383
|
-
const
|
|
4384
|
-
|
|
4385
|
-
files:
|
|
4386
|
-
},
|
|
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:
|
|
4468
|
+
message: f
|
|
4392
4469
|
}
|
|
4393
4470
|
});
|
|
4394
4471
|
}
|
|
4395
4472
|
// setting confirm handler
|
|
4396
|
-
_settingConfirmHandler(
|
|
4397
|
-
const e =
|
|
4398
|
-
|
|
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(
|
|
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
|
-
|
|
4407
|
-
v([
|
|
4408
|
-
l({ type: Boolean, attribute: "display-license" })
|
|
4409
|
-
], b.prototype, "displayLicense", 2);
|
|
4483
|
+
u.styles = kc;
|
|
4410
4484
|
v([
|
|
4411
|
-
|
|
4412
|
-
],
|
|
4485
|
+
r({ type: Boolean, attribute: "display-license" })
|
|
4486
|
+
], u.prototype, "displayLicense", 2);
|
|
4413
4487
|
v([
|
|
4414
|
-
|
|
4415
|
-
],
|
|
4488
|
+
r({ type: String, attribute: "name" })
|
|
4489
|
+
], u.prototype, "name", 2);
|
|
4416
4490
|
v([
|
|
4417
|
-
|
|
4418
|
-
],
|
|
4491
|
+
r({ type: String, attribute: "org-id" })
|
|
4492
|
+
], u.prototype, "orgId", 2);
|
|
4419
4493
|
v([
|
|
4420
|
-
|
|
4421
|
-
],
|
|
4494
|
+
r({ type: String, attribute: "bot-id" })
|
|
4495
|
+
], u.prototype, "botId", 2);
|
|
4422
4496
|
v([
|
|
4423
|
-
|
|
4424
|
-
],
|
|
4497
|
+
r({ type: String, attribute: "url" })
|
|
4498
|
+
], u.prototype, "url", 2);
|
|
4425
4499
|
v([
|
|
4426
|
-
|
|
4427
|
-
],
|
|
4500
|
+
r({ type: String, attribute: "logo-svg" })
|
|
4501
|
+
], u.prototype, "logoSvg", 2);
|
|
4428
4502
|
v([
|
|
4429
|
-
|
|
4430
|
-
],
|
|
4503
|
+
r({ type: String, attribute: "bot-icon-svg" })
|
|
4504
|
+
], u.prototype, "botIconSvg", 2);
|
|
4431
4505
|
v([
|
|
4432
|
-
|
|
4433
|
-
],
|
|
4506
|
+
r({ type: String, attribute: "user-icon-svg" })
|
|
4507
|
+
], u.prototype, "userIconSvg", 2);
|
|
4434
4508
|
v([
|
|
4435
|
-
|
|
4436
|
-
],
|
|
4509
|
+
r({ type: String, attribute: "system-icon-svg" })
|
|
4510
|
+
], u.prototype, "systemIconSvg", 2);
|
|
4437
4511
|
v([
|
|
4438
|
-
|
|
4439
|
-
],
|
|
4512
|
+
r({ type: Boolean, attribute: "stream" })
|
|
4513
|
+
], u.prototype, "stream", 2);
|
|
4440
4514
|
v([
|
|
4441
|
-
|
|
4442
|
-
],
|
|
4515
|
+
r({ type: Boolean, attribute: "custom-request" })
|
|
4516
|
+
], u.prototype, "customRequest", 2);
|
|
4443
4517
|
v([
|
|
4444
|
-
|
|
4445
|
-
],
|
|
4518
|
+
r({ type: Boolean, attribute: "enable-file-upload" })
|
|
4519
|
+
], u.prototype, "enableFileUpload", 2);
|
|
4446
4520
|
v([
|
|
4447
|
-
|
|
4448
|
-
],
|
|
4521
|
+
r({ type: String, attribute: "upload-file-url" })
|
|
4522
|
+
], u.prototype, "uploadFileUrl", 2);
|
|
4449
4523
|
v([
|
|
4450
|
-
|
|
4451
|
-
],
|
|
4524
|
+
r({ type: Boolean, attribute: "open" })
|
|
4525
|
+
], u.prototype, "open", 2);
|
|
4452
4526
|
v([
|
|
4453
|
-
|
|
4454
|
-
],
|
|
4527
|
+
r({ type: Boolean })
|
|
4528
|
+
], u.prototype, "loading", 2);
|
|
4455
4529
|
v([
|
|
4456
|
-
|
|
4457
|
-
],
|
|
4530
|
+
r({ type: Boolean })
|
|
4531
|
+
], u.prototype, "showSetting", 2);
|
|
4458
4532
|
v([
|
|
4459
|
-
|
|
4460
|
-
],
|
|
4533
|
+
r({ type: Boolean })
|
|
4534
|
+
], u.prototype, "showAuthAlert", 2);
|
|
4461
4535
|
v([
|
|
4462
|
-
|
|
4463
|
-
],
|
|
4464
|
-
|
|
4536
|
+
le("cb-message-list")
|
|
4537
|
+
], u.prototype, "_messageList", 2);
|
|
4538
|
+
u = v([
|
|
4465
4539
|
k("enegelai-bot")
|
|
4466
|
-
],
|
|
4540
|
+
], u);
|
|
4467
4541
|
export {
|
|
4468
|
-
|
|
4542
|
+
u as default
|
|
4469
4543
|
};
|