lr-chatbot 0.5.20 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"Chatbot.js","sources":["../../../../../../../node_modules/.pnpm/deep-chat@1.4.11/node_modules/deep-chat/dist/deepChat.js","../../../../../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/css-tag.js","../../../../../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/reactive-element.js","../../../../../../../node_modules/.pnpm/lit-html@3.1.4/node_modules/lit-html/lit-html.js","../../../../../../../node_modules/.pnpm/lit-element@4.0.6/node_modules/lit-element/lit-element.js","../../../../../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/custom-element.js","../../../../../../../node_modules/.pnpm/@lit+reactive-element@2.0.4/node_modules/@lit/reactive-element/decorators/property.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/inherits.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../../../../node_modules/.pnpm/@babel+runtime@7.22.6/node_modules/@babel/runtime/helpers/esm/toArray.js","../../../../../../../node_modules/.pnpm/i18next@22.5.1/node_modules/i18next/dist/esm/i18next.js","../../../../../../../libs/shared/universal/i18n/src/lib/FallbacksLoader.ts","../../../../../../../libs/shared/client/features/chatbot/src/services/ChatbotFallbacksLoader.ts","../../../../../../../libs/shared/client/features/chatbot/src/components/Chatbot.ts"],"sourcesContent":["function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeFunction(fn) { try { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; } catch (e) { return typeof fn === \"function\"; } }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = \"function\" == typeof Symbol ? Symbol : {}, a = i.iterator || \"@@iterator\", c = i.asyncIterator || \"@@asyncIterator\", u = i.toStringTag || \"@@toStringTag\"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, \"\"); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, \"_invoke\", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: \"normal\", arg: t.call(e, r) }; } catch (t) { return { type: \"throw\", arg: t }; } } e.wrap = wrap; var h = \"suspendedStart\", l = \"suspendedYield\", f = \"executing\", s = \"completed\", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { [\"next\", \"throw\", \"return\"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if (\"throw\" !== c.type) { var u = c.arg, h = u.value; return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) { invoke(\"next\", t, i, a); }, function (t) { invoke(\"throw\", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke(\"throw\", t, i, a); }); } a(c.arg); } var r; o(this, \"_invoke\", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error(\"Generator is already running\"); if (o === s) { if (\"throw\" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else \"return\" === n.method && n.abrupt(\"return\", n.arg); o = f; var p = tryCatch(e, r, n); if (\"normal\" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y; var i = tryCatch(o, e.iterator, r.arg); if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = \"normal\", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: \"root\" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || \"\" === e) { var r = e[a]; if (r) return r.call(e); if (\"function\" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + \" is not iterable\"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) { var e = \"function\" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () { return this; }), define(g, \"toString\", function () { return \"[object Generator]\"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if (\"throw\" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if (\"root\" === i.tryLoc) return handle(\"end\"); if (i.tryLoc <= this.prev) { var c = n.call(i, \"catchLoc\"), u = n.call(i, \"finallyLoc\"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error(\"try statement without catch or finally\"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) { var i = o; break; } } i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if (\"throw\" === t.type) throw t.arg; return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, \"catch\": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if (\"throw\" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, \"next\" === this.method && (this.arg = t), y; } }, e; }\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar _s = /*#__PURE__*/function () {\n function _s() {\n _classCallCheck(this, _s);\n }\n _createClass(_s, null, [{\n key: \"render\",\n value: function render(e, t) {\n var i = document.createElement(\"div\");\n i.id = \"error-view\", i.innerText = t, e.replaceChildren(i);\n }\n }]);\n return _s;\n}();\nvar Bt = /*#__PURE__*/function () {\n function Bt() {\n _classCallCheck(this, Bt);\n }\n _createClass(Bt, null, [{\n key: \"onLoad\",\n value: function onLoad(e) {\n e.innerHTML = '<div id=\"large-loading-ring\"></div>';\n }\n }, {\n key: \"createElements\",\n value: function createElements() {\n var e = document.createElement(\"div\");\n return e.id = \"validate-property-key-view\", e;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i) {\n var n = Bt.createElements(),\n r = {\n onSuccess: t,\n onFail: _s.render.bind(this, e, \"Your 'key' has failed authentication\"),\n onLoad: Bt.onLoad.bind(this, n)\n };\n i.key && i.verifyKey(i.key, r), e.replaceChildren(n);\n }\n }]);\n return Bt;\n}();\nvar C = /*#__PURE__*/function () {\n function C() {\n _classCallCheck(this, C);\n }\n _createClass(C, null, [{\n key: \"unsetStyle\",\n value: function unsetStyle(e, t) {\n var i = Object.keys(t).reduce(function (n, r) {\n return n[r] = \"\", n;\n }, {});\n Object.assign(e.style, i);\n }\n }, {\n key: \"unsetActivityCSSMouseStates\",\n value: function unsetActivityCSSMouseStates(e, t) {\n t.click && C.unsetStyle(e, t.click), t.hover && C.unsetStyle(e, t.hover);\n }\n }, {\n key: \"unsetAllCSSMouseStates\",\n value: function unsetAllCSSMouseStates(e, t) {\n C.unsetActivityCSSMouseStates(e, t), t[\"default\"] && C.unsetStyle(e, t[\"default\"]);\n }\n }, {\n key: \"processStateful\",\n value: function processStateful(e, t, i) {\n var n = e[\"default\"] || {},\n r = Object.assign(JSON.parse(JSON.stringify(_objectSpread(_objectSpread({}, n), t))), e == null ? void 0 : e.hover),\n o = Object.assign(JSON.parse(JSON.stringify(_objectSpread(_objectSpread({}, r), i))), e == null ? void 0 : e.click);\n return {\n \"default\": n,\n hover: r,\n click: o\n };\n }\n }, {\n key: \"mergeStatefulStyles\",\n value: function mergeStatefulStyles(e) {\n var t = {\n \"default\": {},\n hover: {},\n click: {}\n };\n return e.forEach(function (i) {\n t[\"default\"] = Object.assign(t[\"default\"], i[\"default\"]), t.hover = Object.assign(t.hover, i.hover), t.click = Object.assign(t.click, i.click);\n }), t;\n }\n }, {\n key: \"overwriteDefaultWithAlreadyApplied\",\n value: function overwriteDefaultWithAlreadyApplied(e, t) {\n Object.keys(e[\"default\"] || []).forEach(function (i) {\n var r;\n var n = i;\n t.style[n] && (r = e[\"default\"]) != null && r[n] && (e[\"default\"][i] = t.style[n]);\n });\n }\n }, {\n key: \"applyToStyleIfNotDefined\",\n value: function applyToStyleIfNotDefined(e, t) {\n for (var i in t) {\n var n = t[i];\n e[i] === \"\" && n && (e[i] = n);\n }\n }\n }]);\n return C;\n}();\nvar qn = /*#__PURE__*/function () {\n function jt() {\n _classCallCheck(this, jt);\n }\n _createClass(jt, null, [{\n key: \"apply\",\n value: function apply(e, t) {\n if (t) try {\n jt.applyStyleSheet(e, t);\n } catch (_unused) {\n jt.addStyleElement(e, t);\n }\n }\n }, {\n key: \"applyStyleSheet\",\n value: function applyStyleSheet(e, t) {\n var i = new CSSStyleSheet();\n i.replaceSync(e), t.adoptedStyleSheets.push(i);\n }\n }, {\n key: \"addStyleElement\",\n value: function addStyleElement(e, t) {\n var i = document.createElement(\"style\");\n i.innerHTML = e, t.appendChild(i);\n }\n }, {\n key: \"applyDefaultStyleToComponent\",\n value: function applyDefaultStyleToComponent(e, t) {\n t && C.applyToStyleIfNotDefined(e, t), C.applyToStyleIfNotDefined(e, jt.DEFAULT_COMPONENT_STYLE);\n }\n }]);\n return jt;\n}();\nqn.DEFAULT_COMPONENT_STYLE = {\n height: \"350px\",\n width: \"320px\",\n border: \"1px solid #cacaca\",\n fontFamily: \"'Inter', sans-serif, Avenir, Helvetica, Arial\",\n fontSize: \"0.9rem\",\n backgroundColor: \"white\",\n position: \"relative\",\n // this is used to prevent inputAreaStyle background color from going beyond the container's rounded border\n // it will cause issues if there are elements that are meant to be outside of the chat component and in\n // that instance they should overwrite this\n // this is also causing the chat to squeeze when there is no space\n overflow: \"hidden\"\n};\nvar wi = qn;\nvar R = /* @__PURE__ */function (s) {\n return s.ESCAPE = \"Escape\", s.ENTER = \"Enter\", s.TAB = \"Tab\", s.ARROW_UP = \"ArrowUp\", s.ARROW_DOWN = \"ArrowDown\", s.ARROW_RIGHT = \"ArrowRight\", s.ARROW_LEFT = \"ArrowLeft\", s.BACKSPACE = \"Backspace\", s.DELETE = \"Delete\", s.META = \"Meta\", s.CONTROL = \"Control\", s;\n}(R || {});\nvar ye = /*#__PURE__*/_createClass(function ye() {\n _classCallCheck(this, ye);\n});\nye.IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\nye.IS_CHROMIUM = window.chrome;\nvar Hn = /*#__PURE__*/function () {\n function rt() {\n _classCallCheck(this, rt);\n }\n _createClass(rt, null, [{\n key: \"add\",\n value: function add(e, t, i) {\n t !== void 0 && e.addEventListener(\"keydown\", rt.onKeyDown.bind(this, t)), e.oninput = rt.onInput.bind(this, t, i);\n }\n // preventing insertion early for a nicer UX\n // prettier-ignore\n }, {\n key: \"onKeyDown\",\n value: function onKeyDown(e, t) {\n var n = t.target.textContent;\n n && n.length >= e && !rt.PERMITTED_KEYS.has(t.key) && !rt.isKeyCombinationPermitted(t) && t.preventDefault();\n }\n }, {\n key: \"isKeyCombinationPermitted\",\n value: function isKeyCombinationPermitted(e) {\n return e.key === \"a\" ? e.ctrlKey || e.metaKey : !1;\n }\n }, {\n key: \"onInput\",\n value: function onInput(e, t, i) {\n var n = i.target,\n r = n.textContent || \"\";\n e !== void 0 && r.length > e && (n.textContent = r.substring(0, e), ii.focusEndOfInput(n)), t == null || t();\n }\n }]);\n return rt;\n}();\nHn.PERMITTED_KEYS = /* @__PURE__ */new Set([R.BACKSPACE, R.DELETE, R.ARROW_RIGHT, R.ARROW_LEFT, R.ARROW_DOWN, R.ARROW_UP, R.META, R.CONTROL, R.ENTER]);\nvar Ss = Hn;\nvar ws = /*#__PURE__*/function () {\n function ws() {\n _classCallCheck(this, ws);\n }\n _createClass(ws, null, [{\n key: \"sanitizePastedTextContent\",\n value: function sanitizePastedTextContent(e) {\n var i, n;\n e.preventDefault();\n var t = (i = e.clipboardData) == null ? void 0 : i.getData(\"text/plain\");\n (n = document.execCommand) == null || n.call(document, \"insertText\", !1, t);\n }\n }]);\n return ws;\n}();\nvar Gn = /*#__PURE__*/function () {\n function Ve(e, t) {\n var _this = this;\n _classCallCheck(this, Ve);\n var n;\n var i = Ve.processConfig(t, e.textInput);\n this.elementRef = Ve.createContainerElement((n = i == null ? void 0 : i.styles) == null ? void 0 : n.container), this.inputElementRef = this.createInputElement(i), this._config = i, this.elementRef.appendChild(this.inputElementRef), setTimeout(function () {\n var r;\n Ss.add(_this.inputElementRef, (r = e.textInput) == null ? void 0 : r.characterLimit, e._validationHandler);\n });\n }\n _createClass(Ve, [{\n key: \"createInputElement\",\n value: function createInputElement(e) {\n var i, n, r;\n var t = document.createElement(\"div\");\n return t.id = Ve.TEXT_INPUT_ID, t.classList.add(\"text-input-styling\", \"text-input-placeholder\"), t.innerText = ((i = e == null ? void 0 : e.placeholder) == null ? void 0 : i.text) || \"Ask me anything!\", ye.IS_CHROMIUM && Ve.preventAutomaticScrollUpOnNewLine(t), typeof (e == null ? void 0 : e.disabled) == \"boolean\" && e.disabled === !0 ? (t.contentEditable = \"false\", t.classList.add(\"text-input-disabled\")) : (t.contentEditable = \"true\", this.addEventListeners(t, e)), Object.assign(t.style, (n = e == null ? void 0 : e.styles) == null ? void 0 : n.text), Object.assign(t.style, (r = e == null ? void 0 : e.placeholder) == null ? void 0 : r.style), t;\n }\n }, {\n key: \"removeTextIfPlaceholder\",\n value: function removeTextIfPlaceholder() {\n var e, t, i, n;\n this.inputElementRef.classList.contains(\"text-input-placeholder\") && !this.inputElementRef.classList.contains(\"text-input-disabled\") && ((e = this._config.placeholder) != null && e.style && (C.unsetStyle(this.inputElementRef, (t = this._config.placeholder) == null ? void 0 : t.style), Object.assign(this.inputElementRef.style, (n = (i = this._config) == null ? void 0 : i.styles) == null ? void 0 : n.text)), Ve.clear(this.inputElementRef), this.inputElementRef.classList.remove(\"text-input-placeholder\"));\n }\n }, {\n key: \"addEventListeners\",\n value: function addEventListeners(e, t) {\n var i, n, r;\n e.onfocus = this.onFocus.bind(this, (i = t == null ? void 0 : t.styles) == null ? void 0 : i.focus), (n = t == null ? void 0 : t.styles) != null && n.focus && (e.onblur = this.onBlur.bind(this, t.styles.focus, (r = t == null ? void 0 : t.styles) == null ? void 0 : r.container)), e.addEventListener(\"keydown\", this.onKeydown.bind(this)), e.onpaste = ws.sanitizePastedTextContent;\n }\n }, {\n key: \"onFocus\",\n value: function onFocus(e) {\n var _this2 = this;\n ye.IS_SAFARI ? setTimeout(function () {\n _this2.removeTextIfPlaceholder();\n }) : this.removeTextIfPlaceholder(), Object.assign(this.elementRef.style, e);\n }\n }, {\n key: \"onBlur\",\n value: function onBlur(e, t) {\n C.unsetStyle(this.elementRef, e), t && Object.assign(this.elementRef.style, t);\n }\n }, {\n key: \"onKeydown\",\n value: function onKeydown(e) {\n var t;\n e.key === R.ENTER && !e.ctrlKey && !e.shiftKey && (e.preventDefault(), (t = this.submit) == null || t.call(this));\n }\n }], [{\n key: \"processConfig\",\n value: function processConfig(e, t) {\n var _t2, _t$disabled, _t$placeholder, _i$text;\n var i;\n return (_t2 = t) !== null && _t2 !== void 0 ? _t2 : t = {}, (_t$disabled = t.disabled) !== null && _t$disabled !== void 0 ? _t$disabled : t.disabled = e.isTextInputDisabled, (_t$placeholder = t.placeholder) !== null && _t$placeholder !== void 0 ? _t$placeholder : t.placeholder = {}, (_i$text = (i = t.placeholder).text) !== null && _i$text !== void 0 ? _i$text : i.text = e.textInputPlaceholderText, t;\n }\n // this is is a bug fix where if the browser is scrolled down and the user types in text that creates new line\n // the browser scrollbar will move up which leads to undesirable UX.\n // More details in this Stack Overflow question:\n // https://stackoverflow.com/questions/76285135/prevent-automatic-scroll-when-text-is-inserted-into-contenteditable-div\n // prettier-ignore\n }, {\n key: \"preventAutomaticScrollUpOnNewLine\",\n value: function preventAutomaticScrollUpOnNewLine(e) {\n var t;\n e.addEventListener(\"keydown\", function () {\n t = window.scrollY;\n }), e.addEventListener(\"input\", function () {\n t !== window.scrollY && window.scrollTo({\n top: t\n });\n });\n }\n // this also similarly prevents scroll up\n }, {\n key: \"clear\",\n value: function clear(e) {\n var t = window.scrollY;\n e.classList.contains(\"text-input-disabled\") || (e.textContent = \"\"), ye.IS_CHROMIUM && window.scrollTo({\n top: t\n });\n }\n }, {\n key: \"toggleEditability\",\n value: function toggleEditability(e, t) {\n e.contentEditable = t ? \"true\" : \"false\";\n }\n }, {\n key: \"createContainerElement\",\n value: function createContainerElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"text-input-container\", Object.assign(t.style, e), t;\n }\n }]);\n return Ve;\n}();\nGn.TEXT_INPUT_ID = \"text-input\";\nvar Gi = Gn;\nvar ii = /*#__PURE__*/function () {\n function ii() {\n _classCallCheck(this, ii);\n }\n _createClass(ii, null, [{\n key: \"focusEndOfInput\",\n value: function focusEndOfInput(e) {\n var t = document.createRange();\n t.selectNodeContents(e), t.collapse(!1);\n var i = window.getSelection();\n i == null || i.removeAllRanges(), i == null || i.addRange(t);\n }\n }, {\n key: \"focusFromParentElement\",\n value: function focusFromParentElement(e) {\n var t = e.querySelector(\"#\".concat(Gi.TEXT_INPUT_ID));\n t && ii.focusEndOfInput(t);\n }\n }]);\n return ii;\n}();\nfunction an(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nfunction Ms(s) {\n return s && JSON.stringify(s);\n}\nfunction Vi(s, e, t, i) {\n var n = \"\\n\".concat(an(e), \" message: \").concat(JSON.stringify(s), \" \\n\"),\n r = t ? \"\".concat(an(e), \" message after interceptor: \").concat(Ms(i), \" \\n\") : \"\";\n return n + r;\n}\nfunction Ts(s, e, t, i) {\n return \"\".concat(Vi(s, e, t, i), \"Make sure the \").concat(e, \" message is using the Response format: https://deepchat.dev/docs/connect/#Response \\nYou can also augment it using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor\");\n}\nfunction Cs(s, e, t) {\n var i = \"response\";\n return \"\".concat(Vi(s, i, e, t), \"Make sure the \").concat(i, \" message is using the {text: string} format, e.g: {text: \\\"Model Response\\\"}\");\n}\nfunction As(s, e) {\n var t = \"request\";\n return \"\".concat(Vi(s, t, e), \"Make sure the \").concat(t, \" message is using the {body: {text: string}} format, e.g: {body: {text: \\\"Model Response\\\"}}\");\n}\nvar ln = \"Make sure the events are using {text: string} or {html: string} format.\\nYou can also augment them using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor\",\n A = {\n INVALID_KEY: \"Invalid API Key\",\n CONNECTION_FAILED: \"Failed to connect\",\n INVALID_RESPONSE: Ts,\n INVALID_MODEL_REQUEST: As,\n INVALID_MODEL_RESPONSE: Cs,\n INVALID_STREAM_EVENT: ln,\n INVALID_STREAM_EVENT_MIX: \"Cannot mix {text: string} and {html: string} responses.\",\n NO_VALID_STREAM_EVENTS_SENT: \"No valid stream events were sent.\\n\".concat(ln)\n },\n Vn = /*#__PURE__*/function () {\n function Wn() {\n _classCallCheck(this, Wn);\n }\n _createClass(Wn, null, [{\n key: \"addElements\",\n value: function addElements(e) {\n for (var _len = arguments.length, t = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n t[_key - 1] = arguments[_key];\n }\n t.forEach(function (i) {\n return e.appendChild(i);\n });\n }\n }, {\n key: \"isScrollbarAtBottomOfElement\",\n value: function isScrollbarAtBottomOfElement(e) {\n var t = e.scrollHeight,\n i = e.clientHeight,\n n = e.scrollTop,\n r = t - i;\n return n >= r - Wn.CODE_SNIPPET_GENERATION_JUMP;\n }\n }, {\n key: \"cloneElement\",\n value: function cloneElement(e) {\n var t = e.cloneNode(!0);\n return e.parentNode.replaceChild(t, e), t;\n }\n }, {\n key: \"scrollToBottom\",\n value: function scrollToBottom(e) {\n e.scrollTop = e.scrollHeight;\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop(e) {\n e.scrollTop = 0;\n }\n }]);\n return Wn;\n }();\nVn.CODE_SNIPPET_GENERATION_JUMP = 0.5;\nvar G = Vn;\nvar Jn = /*#__PURE__*/function () {\n function $n() {\n _classCallCheck(this, $n);\n }\n _createClass($n, null, [{\n key: \"speak\",\n value: function speak(e, t) {\n if (window.SpeechSynthesisUtterance) {\n var i = new SpeechSynthesisUtterance(e);\n Object.assign(i, t), speechSynthesis.speak(i);\n }\n }\n }, {\n key: \"processConfig\",\n value: function processConfig(e, t) {\n var i = {};\n setTimeout(function () {\n if (_typeof(e) == \"object\" && (e.lang && (i.lang = e.lang), e.pitch && (i.pitch = e.pitch), e.rate && (i.rate = e.rate), e.volume && (i.volume = e.volume), e.voiceName)) {\n var n = window.speechSynthesis.getVoices().find(function (r) {\n var o;\n return r.name.toLocaleLowerCase() === ((o = e.voiceName) == null ? void 0 : o.toLocaleLowerCase());\n });\n n && (i.voice = n);\n }\n t(i);\n }, $n.LOAD_VOICES_MS);\n }\n }]);\n return $n;\n}();\nJn.LOAD_VOICES_MS = 200;\nvar Ft = Jn;\nvar Re = /*#__PURE__*/function () {\n function Re() {\n _classCallCheck(this, Re);\n }\n _createClass(Re, null, [{\n key: \"checkForContainerStyles\",\n value: function checkForContainerStyles(e, t) {\n var i = e.containerStyle;\n i && (Object.assign(t.style, i), console.error(\"The containerStyle property is deprecated since version 1.3.14.\"), console.error(\"Please change to using the style property instead: https://deepchat.dev/docs/styles#style\"));\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"handleResponseProperty\",\n value: function handleResponseProperty(e) {\n return console.error(\"The {result: ....} response object type is deprecated since version 1.3.0.\"), console.error(\"Please change to using the new response object: https://deepchat.dev/docs/connect#Response\"), e.result;\n }\n }, {\n key: \"processInitialMessageFile\",\n value: function processInitialMessageFile(e) {\n var t = e.file;\n t && (console.error(\"The file property in MessageContent is deprecated since version 1.3.17.\"), console.error(\"Please change to using the files array property: https://deepchat.dev/docs/messages/#MessageContent\"), e.files = [t]);\n }\n }, {\n key: \"processValidateInput\",\n value: function processValidateInput(e) {\n var t = e.validateMessageBeforeSending;\n if (t) return console.error(\"The validateMessageBeforeSending property is deprecated since version 1.3.24.\"), console.error(\"Please change to using validateInput: https://deepchat.dev/docs/interceptors#validateInput\"), t;\n }\n }, {\n key: \"processSubmitUserMessage\",\n value: function processSubmitUserMessage(e) {\n return console.error(\"The submitUserMessage(text: string) argument string type is deprecated since version 1.4.4.\"), console.error(\"Please change to using the new argument type: https://deepchat.dev/docs/methods#submitUserMessage\"), {\n text: e\n };\n }\n }, {\n key: \"flagHTMLUpdateClass\",\n value: function flagHTMLUpdateClass(e) {\n var t;\n (t = e.children[0]) != null && t.classList.contains(\"deep-chat-update-message\") && (console.error('The \"deep-chat-update-message\" html class is deprecated since version 1.4.4.'), console.error(\"Please change to using {..., overwrite: true} object: https://deepchat.dev/docs/connect#Response\"));\n }\n }]);\n return Re;\n}();\nvar ks = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8c3ZnIGZpbGw9IiMwMDAwMDAiIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIAoJCXZpZXdCb3g9IjAgMCAzMiAzMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+Cgk8cGF0aCBkPSJNMjMsMzAuMzZIOWMtMi40MDQsMC00LjM2LTEuOTU2LTQuMzYtNC4zNlYxNWMwLTIuNDA0LDEuOTU2LTQuMzYsNC4zNi00LjM2aDMuNjU5CgkJYzAuMTY3LTEuNTY2LDEuNDE1LTIuODEzLDIuOTgxLTIuOTgxVjUuMzMzYy0xLjEzMS0wLjE3NC0yLTEuMTU0LTItMi4zMzNjMC0xLjMwMSwxLjA1OS0yLjM2LDIuMzYtMi4zNgoJCWMxLjMwMiwwLDIuMzYsMS4wNTksMi4zNiwyLjM2YzAsMS4xNzktMC44NjksMi4xNTktMiwyLjMzM1Y3LjY2YzEuNTY2LDAuMTY3LDIuODE0LDEuNDE1LDIuOTgxLDIuOTgxSDIzCgkJYzIuNDA0LDAsNC4zNiwxLjk1Niw0LjM2LDQuMzZ2MTFDMjcuMzYsMjguNDA0LDI1LjQwNCwzMC4zNiwyMywzMC4zNnogTTksMTEuMzZjLTIuMDA3LDAtMy42NCwxLjYzMy0zLjY0LDMuNjR2MTEKCQljMCwyLjAwNywxLjYzMywzLjY0LDMuNjQsMy42NGgxNGMyLjAwNywwLDMuNjQtMS42MzMsMy42NC0zLjY0VjE1YzAtMi4wMDctMS42MzMtMy42NC0zLjY0LTMuNjRIOXogTTEzLjM4NCwxMC42NGg1LjIzMQoJCUMxOC40MzksOS4zNTQsMTcuMzM0LDguMzYsMTYsOC4zNkMxNC42NjcsOC4zNiwxMy41NjEsOS4zNTQsMTMuMzg0LDEwLjY0eiBNMTYsMS4zNmMtMC45MDQsMC0xLjY0LDAuNzM2LTEuNjQsMS42NAoJCVMxNS4wOTYsNC42NCwxNiw0LjY0YzAuOTA0LDAsMS42NC0wLjczNiwxLjY0LTEuNjRTMTYuOTA0LDEuMzYsMTYsMS4zNnogTTIwLDI3LjM2aC04Yy0xLjMwMSwwLTIuMzYtMS4wNTktMi4zNi0yLjM2CgkJczEuMDU5LTIuMzYsMi4zNi0yLjM2aDhjMS4zMDIsMCwyLjM2LDEuMDU5LDIuMzYsMi4zNlMyMS4zMDIsMjcuMzYsMjAsMjcuMzZ6IE0xMiwyMy4zNmMtMC45MDQsMC0xLjY0LDAuNzM1LTEuNjQsMS42NAoJCXMwLjczNiwxLjY0LDEuNjQsMS42NGg4YzAuOTA0LDAsMS42NC0wLjczNSwxLjY0LTEuNjRzLTAuNzM1LTEuNjQtMS42NC0xLjY0SDEyeiBNMzEsMjMuODZoLTJjLTAuMTk5LDAtMC4zNi0wLjE2MS0wLjM2LTAuMzZWMTUKCQljMC0wLjE5OSwwLjE2MS0wLjM2LDAuMzYtMC4zNmgyYzAuMTk5LDAsMC4zNiwwLjE2MSwwLjM2LDAuMzZ2OC41QzMxLjM2LDIzLjY5OSwzMS4xOTksMjMuODYsMzEsMjMuODZ6IE0yOS4zNiwyMy4xNGgxLjI3OXYtNy43OAoJCUgyOS4zNlYyMy4xNHogTTMsMjMuODZIMWMtMC4xOTksMC0wLjM2LTAuMTYxLTAuMzYtMC4zNlYxNWMwLTAuMTk5LDAuMTYxLTAuMzYsMC4zNi0wLjM2aDJjMC4xOTksMCwwLjM2LDAuMTYxLDAuMzYsMC4zNnY4LjUKCQlDMy4zNiwyMy42OTksMy4xOTksMjMuODYsMywyMy44NnogTTEuMzYsMjMuMTRoMS4yOHYtNy43OEgxLjM2VjIzLjE0eiBNMjAsMjAuMzZjLTEuMzAyLDAtMi4zNi0xLjA1OS0yLjM2LTIuMzYKCQlzMS4wNTktMi4zNiwyLjM2LTIuMzZzMi4zNiwxLjA1OSwyLjM2LDIuMzZDMjIuMzYsMTkuMzAyLDIxLjMwMiwyMC4zNiwyMCwyMC4zNnogTTIwLDE2LjM2Yy0wLjkwNCwwLTEuNjQsMC43MzYtMS42NCwxLjY0CgkJczAuNzM1LDEuNjQsMS42NCwxLjY0czEuNjQtMC43MzUsMS42NC0xLjY0UzIwLjkwNCwxNi4zNiwyMCwxNi4zNnogTTEyLDIwLjM2Yy0xLjMwMSwwLTIuMzYtMS4wNTktMi4zNi0yLjM2czEuMDU5LTIuMzYsMi4zNi0yLjM2CgkJczIuMzYsMS4wNTksMi4zNiwyLjM2QzE0LjM2LDE5LjMwMiwxMy4zMDEsMjAuMzYsMTIsMjAuMzZ6IE0xMiwxNi4zNmMtMC45MDQsMC0xLjY0LDAuNzM2LTEuNjQsMS42NHMwLjczNiwxLjY0LDEuNjQsMS42NAoJCXMxLjY0LTAuNzM1LDEuNjQtMS42NFMxMi45MDQsMTYuMzYsMTIsMTYuMzZ6Ii8+Cgk8cmVjdCBzdHlsZT0iZmlsbDpub25lOyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIi8+Cjwvc3ZnPg==\",\n Is = \"data:image/png;base64,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\",\n Kn = /*#__PURE__*/function () {\n function re() {\n _classCallCheck(this, re);\n }\n _createClass(re, null, [{\n key: \"hide\",\n value: function hide(e) {\n e.getElementsByClassName(re.CONTAINER_CLASS)[0].style.visibility = \"hidden\";\n }\n }, {\n key: \"applyCustomStylesToElements\",\n value: function applyCustomStylesToElements(e, t, i) {\n Object.assign(e.style, i.container), Object.assign(t.style, i.avatar);\n }\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, n) {\n var r, o, a, l;\n if ((r = i[\"default\"]) != null && r.styles && re.applyCustomStylesToElements(e, t, i[\"default\"].styles), n === b.USER_ROLE) (o = i.user) != null && o.styles && re.applyCustomStylesToElements(e, t, i.user.styles);else {\n (a = i.ai) != null && a.styles && re.applyCustomStylesToElements(e, t, i.ai.styles);\n var c = (l = i[n]) == null ? void 0 : l.styles;\n c && re.applyCustomStylesToElements(e, t, c);\n }\n }\n }, {\n key: \"createAvatar\",\n value: function createAvatar(e, t) {\n var r, o, a, l, c;\n var i = document.createElement(\"img\");\n e === b.USER_ROLE ? i.src = ((r = t == null ? void 0 : t.user) == null ? void 0 : r.src) || ((o = t == null ? void 0 : t[\"default\"]) == null ? void 0 : o.src) || Is : i.src = ((a = t == null ? void 0 : t[e]) == null ? void 0 : a.src) || ((l = t == null ? void 0 : t.ai) == null ? void 0 : l.src) || ((c = t == null ? void 0 : t[\"default\"]) == null ? void 0 : c.src) || ks, i.classList.add(\"avatar\");\n var n = document.createElement(\"div\");\n return n.classList.add(re.CONTAINER_CLASS), n.appendChild(i), t && re.applyCustomStyles(n, i, t, e), n;\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var _i2, _i3, _i4;\n var n, r, o, a, l, c;\n var i = (r = (n = t == null ? void 0 : t[e]) == null ? void 0 : n.styles) == null ? void 0 : r.position;\n return e !== b.USER_ROLE && ((_i2 = i) !== null && _i2 !== void 0 ? _i2 : i = (a = (o = t == null ? void 0 : t.ai) == null ? void 0 : o.styles) == null ? void 0 : a.position), (_i3 = i) !== null && _i3 !== void 0 ? _i3 : i = (c = (l = t == null ? void 0 : t[\"default\"]) == null ? void 0 : l.styles) == null ? void 0 : c.position, (_i4 = i) !== null && _i4 !== void 0 ? _i4 : i = e === b.USER_ROLE ? \"right\" : \"left\", i;\n }\n }, {\n key: \"add\",\n value: function add(e, t, i) {\n var n = typeof i == \"boolean\" ? void 0 : i,\n r = re.createAvatar(t, n),\n o = re.getPosition(t, n);\n r.classList.add(o === \"left\" ? \"left-item-position\" : \"right-item-position\"), e.insertAdjacentElement(o === \"left\" ? \"beforebegin\" : \"afterend\", r);\n }\n }]);\n return re;\n }();\nKn.CONTAINER_CLASS = \"avatar-container\";\nvar cn = Kn;\nvar Yn = /*#__PURE__*/function () {\n function Se() {\n _classCallCheck(this, Se);\n }\n _createClass(Se, null, [{\n key: \"hide\",\n value: function hide(e) {\n e.getElementsByClassName(Se.NAME_CLASS)[0].style.visibility = \"hidden\";\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var _i5, _i6, _i7;\n var n, r, o;\n var i = (n = t == null ? void 0 : t[e]) == null ? void 0 : n.position;\n return e !== b.USER_ROLE && ((_i5 = i) !== null && _i5 !== void 0 ? _i5 : i = (r = t == null ? void 0 : t.ai) == null ? void 0 : r.position), (_i6 = i) !== null && _i6 !== void 0 ? _i6 : i = (o = t == null ? void 0 : t[\"default\"]) == null ? void 0 : o.position, (_i7 = i) !== null && _i7 !== void 0 ? _i7 : i = e === b.USER_ROLE ? \"right\" : \"left\", i;\n }\n }, {\n key: \"applyStyle\",\n value: function applyStyle(e, t, i) {\n var n, r, o, a;\n Object.assign(e.style, (n = i[\"default\"]) == null ? void 0 : n.style), t === b.USER_ROLE ? Object.assign(e.style, (r = i.user) == null ? void 0 : r.style) : (Object.assign(e.style, (o = i.ai) == null ? void 0 : o.style), Object.assign(e.style, (a = i[t]) == null ? void 0 : a.style));\n }\n }, {\n key: \"getNameText\",\n value: function getNameText(e, t) {\n var i, n, r, o, a, l;\n return e === b.USER_ROLE ? ((i = t.user) == null ? void 0 : i.text) || ((n = t[\"default\"]) == null ? void 0 : n.text) || \"User\" : e === b.AI_ROLE ? ((r = t.ai) == null ? void 0 : r.text) || ((o = t[\"default\"]) == null ? void 0 : o.text) || \"AI\" : ((a = t[e]) == null ? void 0 : a.text) || ((l = t[\"default\"]) == null ? void 0 : l.text) || e;\n }\n }, {\n key: \"createName\",\n value: function createName(e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(Se.NAME_CLASS), i.textContent = Se.getNameText(e, t), Se.applyStyle(i, e, t), i;\n }\n }, {\n key: \"add\",\n value: function add(e, t, i) {\n var n = typeof i == \"boolean\" ? {} : i,\n r = Se.createName(t, n),\n o = Se.getPosition(t, n);\n r.classList.add(o === \"left\" ? \"left-item-position\" : \"right-item-position\"), e.insertAdjacentElement(o === \"left\" ? \"beforebegin\" : \"afterend\", r);\n }\n }]);\n return Se;\n}();\nYn.NAME_CLASS = \"name\";\nvar dn = Yn;\nvar ni = /*#__PURE__*/function () {\n function we() {\n _classCallCheck(this, we);\n }\n _createClass(we, null, [{\n key: \"getLastElementsByClass\",\n value: function getLastElementsByClass(e, t, i) {\n var _loop = function _loop() {\n var r = e[n];\n if (r.bubbleElement.classList.contains(t[0]) && !t.slice(1).find(function (a) {\n return !r.bubbleElement.classList.contains(a);\n })) if (i) {\n if (!i.find(function (l) {\n return r.bubbleElement.classList.contains(l);\n })) return {\n v: r\n };\n } else return {\n v: r\n };\n },\n _ret;\n for (var n = e.length - 1; n >= 0; n -= 1) {\n _ret = _loop();\n if (_ret) return _ret.v;\n }\n }\n }, {\n key: \"getLastMessage\",\n value: function getLastMessage(e, t, i) {\n for (var n = e.length - 1; n >= 0; n -= 1) if (e[n].role === t) if (i) {\n if (e[n][i]) return e[n];\n } else return e[n];\n }\n }, {\n key: \"getLastTextToElement\",\n value: function getLastTextToElement(e, t) {\n for (var i = e.length - 1; i >= 0; i -= 1) if (e[i][0] === t) return e[i];\n }\n // IMPORTANT: If the overwrite message does not contain a role property it will look for the last 'ai' role message\n // and if messages have custom roles, it will still look to update the last 'ai' role message\n // prettier-ignore\n }, {\n key: \"overwriteMessage\",\n value: function overwriteMessage(e, t, i, n, r, o) {\n var a = we.getLastElementsByClass(t, [we.getRoleClass(n), o], [\"loading-message-text\"]),\n l = we.getLastMessage(e, n, r);\n return l && (l[r] = i), a;\n }\n }, {\n key: \"getRoleClass\",\n value: function getRoleClass(e) {\n return \"\".concat(e, \"-message\");\n }\n // makes sure the bubble has dimensions when there is no text\n }, {\n key: \"fillEmptyMessageElement\",\n value: function fillEmptyMessageElement(e, t) {\n t.trim().length === 0 && (e.classList.add(we.EMPTY_MESSAGE_CLASS), e.innerHTML = '<div style=\"color:#00000000\">.</div>');\n }\n }, {\n key: \"unfillEmptyMessageElement\",\n value: function unfillEmptyMessageElement(e, t) {\n e.classList.contains(we.EMPTY_MESSAGE_CLASS) && t.trim().length > 0 && e.replaceChildren();\n }\n }, {\n key: \"getLastMessageBubbleElement\",\n value: function getLastMessageBubbleElement(e) {\n var t, i, n;\n return Array.from(((n = (i = (t = we.getLastMessageElement(e)) == null ? void 0 : t.children) == null ? void 0 : i[0]) == null ? void 0 : n.children) || []).find(function (r) {\n return r.classList.contains(\"message-bubble\");\n });\n }\n }, {\n key: \"getLastMessageElement\",\n value: function getLastMessageElement(e) {\n return e.children[e.children.length - 1];\n }\n }, {\n key: \"addRoleElements\",\n value: function addRoleElements(e, t, i, n) {\n i && cn.add(e, t, i), n && dn.add(e, t, n);\n }\n }, {\n key: \"hideRoleElements\",\n value: function hideRoleElements(e, t, i) {\n var n = e[e.length - 1].innerContainer;\n t && cn.hide(n), i && dn.hide(n);\n }\n }]);\n return we;\n}();\nni.AI_ROLE = \"ai\";\nni.USER_ROLE = \"user\";\nni.EMPTY_MESSAGE_CLASS = \"empty-message\";\nvar b = ni;\nvar Ie = /*#__PURE__*/function () {\n function Ie() {\n _classCallCheck(this, Ie);\n }\n _createClass(Ie, null, [{\n key: \"mouseUp\",\n value: function mouseUp(e, t) {\n C.unsetAllCSSMouseStates(e, t), Object.assign(e.style, t[\"default\"]), Object.assign(e.style, t.hover);\n }\n }, {\n key: \"mouseDown\",\n value: function mouseDown(e, t) {\n Object.assign(e.style, t.click);\n }\n }, {\n key: \"mouseLeave\",\n value: function mouseLeave(e, t) {\n C.unsetAllCSSMouseStates(e, t), Object.assign(e.style, t[\"default\"]);\n }\n }, {\n key: \"mouseEnter\",\n value: function mouseEnter(e, t) {\n Object.assign(e.style, t.hover);\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n e.addEventListener(\"mouseenter\", Ie.mouseEnter.bind(this, e, t)), e.addEventListener(\"mouseleave\", Ie.mouseLeave.bind(this, e, t)), e.addEventListener(\"mousedown\", Ie.mouseDown.bind(this, e, t)), e.addEventListener(\"mouseup\", Ie.mouseUp.bind(this, e, t));\n }\n }]);\n return Ie;\n}();\nvar Ls = \"deep-chat-temporary-message\",\n Rs = \"deep-chat-suggestion-button\",\n Pi = {\n \"deep-chat-button\": {\n styles: {\n \"default\": {\n backgroundColor: \"white\",\n padding: \"5px\",\n paddingLeft: \"7px\",\n paddingRight: \"7px\",\n border: \"1px solid #c2c2c2\",\n borderRadius: \"6px\",\n cursor: \"pointer\"\n },\n hover: {\n backgroundColor: \"#fafafa\"\n },\n click: {\n backgroundColor: \"#f1f1f1\"\n }\n }\n }\n },\n un = Object.keys(Pi);\nvar xe = /*#__PURE__*/function () {\n function xe() {\n _classCallCheck(this, xe);\n }\n _createClass(xe, null, [{\n key: \"applySuggestionEvent\",\n value: function applySuggestionEvent(e, t) {\n setTimeout(function () {\n t.addEventListener(\"click\", function () {\n var i, n;\n (n = e.submitUserMessage) == null || n.call(e, {\n text: ((i = t.textContent) == null ? void 0 : i.trim()) || \"\"\n });\n });\n });\n }\n }, {\n key: \"isElementTemporary\",\n value: function isElementTemporary(e) {\n var t;\n return e ? (t = e.bubbleElement.children[0]) == null ? void 0 : t.classList.contains(Ls) : !1;\n }\n }, {\n key: \"doesElementContainDeepChatClass\",\n value: function doesElementContainDeepChatClass(e) {\n return un.find(function (t) {\n return e.classList.contains(t);\n });\n }\n }, {\n key: \"applyEvents\",\n value: function applyEvents(e, t) {\n var i = Pi[t].events;\n Object.keys(i || []).forEach(function (n) {\n e.addEventListener(n, i == null ? void 0 : i[n]);\n });\n }\n }, {\n key: \"getProcessedStyles\",\n value: function getProcessedStyles(e, t, i) {\n var n = Array.from(t.classList).reduce(function (a, l) {\n var d;\n var c = (d = e[l]) == null ? void 0 : d.styles;\n return c && e[l].styles && a.push(c), a;\n }, []),\n r = Pi[i].styles;\n if (r) {\n var a = JSON.parse(JSON.stringify(r));\n a[\"default\"] && C.overwriteDefaultWithAlreadyApplied(a, t), n.unshift(a);\n }\n var o = C.mergeStatefulStyles(n);\n return C.processStateful(o, {}, {});\n }\n }, {\n key: \"applyDeepChatUtilities\",\n value: function applyDeepChatUtilities(e, t, i) {\n un.forEach(function (r) {\n var o = i.getElementsByClassName(r);\n Array.from(o || []).forEach(function (a) {\n var l = xe.getProcessedStyles(t, a, r);\n le.applyStylesToElement(a, l), xe.applyEvents(a, r);\n });\n });\n var n = i.getElementsByClassName(Rs);\n Array.from(n).forEach(function (r) {\n return xe.applySuggestionEvent(e, r);\n });\n }\n }]);\n return xe;\n}();\nvar le = /*#__PURE__*/function () {\n function le() {\n _classCallCheck(this, le);\n }\n _createClass(le, null, [{\n key: \"applyStylesToElement\",\n value: function applyStylesToElement(e, t) {\n var i = C.processStateful(t, {}, {});\n Ie.add(e, i), Object.assign(e.style, i[\"default\"]);\n }\n }, {\n key: \"applyEventsToElement\",\n value: function applyEventsToElement(e, t) {\n Object.keys(t).forEach(function (i) {\n var n = t[i];\n n && e.addEventListener(i, n);\n });\n }\n }, {\n key: \"applyClassUtilitiesToElement\",\n value: function applyClassUtilitiesToElement(e, t) {\n var i = t.events,\n n = t.styles;\n i && le.applyEventsToElement(e, i), n && !xe.doesElementContainDeepChatClass(e) && le.applyStylesToElement(e, n);\n }\n }, {\n key: \"applyCustomClassUtilities\",\n value: function applyCustomClassUtilities(e, t) {\n Object.keys(e).forEach(function (i) {\n var n = t.getElementsByClassName(i);\n Array.from(n).forEach(function (r) {\n e[i] && le.applyClassUtilitiesToElement(r, e[i]);\n });\n });\n }\n }, {\n key: \"apply\",\n value: function apply(e, t) {\n xe.applyDeepChatUtilities(e, e.htmlClassUtilities, t), le.applyCustomClassUtilities(e.htmlClassUtilities, t);\n }\n }]);\n return le;\n}();\nvar Qe = /*#__PURE__*/function () {\n function Qe() {\n _classCallCheck(this, Qe);\n }\n _createClass(Qe, null, [{\n key: \"addElement\",\n value: function addElement(e, t) {\n e.elementRef.appendChild(t), e.elementRef.scrollTop = e.elementRef.scrollHeight;\n }\n }, {\n key: \"createElements\",\n value: function createElements(e, t, i) {\n var n = e.createNewMessageElement(\"\", i);\n return n.bubbleElement.classList.add(\"html-message\"), n.bubbleElement.innerHTML = t, n;\n }\n }, {\n key: \"overwrite\",\n value: function overwrite(e, t, i, n) {\n var r = e.messages,\n o = b.overwriteMessage(r, n, t, i, \"html\", \"html-message\");\n return o && (o.bubbleElement.innerHTML = t, le.apply(e, o.outerContainer), Re.flagHTMLUpdateClass(o.bubbleElement)), o;\n }\n // prettier-ignore\n }, {\n key: \"add\",\n value: function add(e, t, i, n, r) {\n var a;\n if (r != null && r.status) {\n var l = this.overwrite(e, t, i, n);\n if (l) return l;\n r.status = !1;\n }\n var o = Qe.createElements(e, t, i);\n return b.fillEmptyMessageElement(o.bubbleElement, t), le.apply(e, o.outerContainer), Re.flagHTMLUpdateClass(o.bubbleElement), e.applyCustomStyles(o, i, !1, (a = e.messageStyles) == null ? void 0 : a.html), Qe.addElement(e, o.outerContainer), o;\n }\n }]);\n return Qe;\n}();\nvar Nt;\nfunction Zn(s) {\n return Nt = Nt || document.createElement(\"textarea\"), Nt.innerHTML = \"&\" + s + \";\", Nt.value;\n}\nvar Ns = Object.prototype.hasOwnProperty;\nfunction Os(s, e) {\n return s ? Ns.call(s, e) : !1;\n}\nfunction Xn(s) {\n var e = [].slice.call(arguments, 1);\n return e.forEach(function (t) {\n if (t) {\n if (_typeof(t) != \"object\") throw new TypeError(t + \"must be object\");\n Object.keys(t).forEach(function (i) {\n s[i] = t[i];\n });\n }\n }), s;\n}\nvar Ps = /\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction gt(s) {\n return s.indexOf(\"\\\\\") < 0 ? s : s.replace(Ps, \"$1\");\n}\nfunction Qn(s) {\n return !(s >= 55296 && s <= 57343 || s >= 64976 && s <= 65007 || (s & 65535) === 65535 || (s & 65535) === 65534 || s >= 0 && s <= 8 || s === 11 || s >= 14 && s <= 31 || s >= 127 && s <= 159 || s > 1114111);\n}\nfunction Di(s) {\n if (s > 65535) {\n s -= 65536;\n var e = 55296 + (s >> 10),\n t = 56320 + (s & 1023);\n return String.fromCharCode(e, t);\n }\n return String.fromCharCode(s);\n}\nvar Ds = /&([a-z#][a-z0-9]{1,31});/gi,\n js = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;\nfunction Fs(s, e) {\n var t = 0,\n i = Zn(e);\n return e !== i ? i : e.charCodeAt(0) === 35 && js.test(e) && (t = e[1].toLowerCase() === \"x\" ? parseInt(e.slice(2), 16) : parseInt(e.slice(1), 10), Qn(t)) ? Di(t) : s;\n}\nfunction Ne(s) {\n return s.indexOf(\"&\") < 0 ? s : s.replace(Ds, Fs);\n}\nvar Bs = /[&<>\"]/,\n zs = /[&<>\"]/g,\n Us = {\n \"&\": \"&amp;\",\n \"<\": \"&lt;\",\n \">\": \"&gt;\",\n '\"': \"&quot;\"\n };\nfunction qs(s) {\n return Us[s];\n}\nfunction U(s) {\n return Bs.test(s) ? s.replace(zs, qs) : s;\n}\nvar g = {};\ng.blockquote_open = function () {\n return \"<blockquote>\\n\";\n};\ng.blockquote_close = function (s, e) {\n return \"</blockquote>\" + De(s, e);\n};\ng.code = function (s, e) {\n return s[e].block ? \"<pre><code>\" + U(s[e].content) + \"</code></pre>\" + De(s, e) : \"<code>\" + U(s[e].content) + \"</code>\";\n};\ng.fence = function (s, e, t, i, n) {\n var r = s[e],\n o = \"\",\n a = t.langPrefix,\n l = \"\",\n c,\n d,\n u;\n if (r.params) {\n if (c = r.params.split(/\\s+/g), d = c.join(\" \"), Os(n.rules.fence_custom, c[0])) return n.rules.fence_custom[c[0]](s, e, t, i, n);\n l = U(Ne(gt(d))), o = ' class=\"' + a + l + '\"';\n }\n return t.highlight ? u = t.highlight.apply(t.highlight, [r.content].concat(c)) || U(r.content) : u = U(r.content), \"<pre><code\" + o + \">\" + u + \"</code></pre>\" + De(s, e);\n};\ng.fence_custom = {};\ng.heading_open = function (s, e) {\n return \"<h\" + s[e].hLevel + \">\";\n};\ng.heading_close = function (s, e) {\n return \"</h\" + s[e].hLevel + \">\\n\";\n};\ng.hr = function (s, e, t) {\n return (t.xhtmlOut ? \"<hr />\" : \"<hr>\") + De(s, e);\n};\ng.bullet_list_open = function () {\n return \"<ul>\\n\";\n};\ng.bullet_list_close = function (s, e) {\n return \"</ul>\" + De(s, e);\n};\ng.list_item_open = function () {\n return \"<li>\";\n};\ng.list_item_close = function () {\n return \"</li>\\n\";\n};\ng.ordered_list_open = function (s, e) {\n var t = s[e],\n i = t.order > 1 ? ' start=\"' + t.order + '\"' : \"\";\n return \"<ol\" + i + \">\\n\";\n};\ng.ordered_list_close = function (s, e) {\n return \"</ol>\" + De(s, e);\n};\ng.paragraph_open = function (s, e) {\n return s[e].tight ? \"\" : \"<p>\";\n};\ng.paragraph_close = function (s, e) {\n var t = !(s[e].tight && e && s[e - 1].type === \"inline\" && !s[e - 1].content);\n return (s[e].tight ? \"\" : \"</p>\") + (t ? De(s, e) : \"\");\n};\ng.link_open = function (s, e, t) {\n var i = s[e].title ? ' title=\"' + U(Ne(s[e].title)) + '\"' : \"\",\n n = t.linkTarget ? ' target=\"' + t.linkTarget + '\"' : \"\";\n return '<a href=\"' + U(s[e].href) + '\"' + i + n + \">\";\n};\ng.link_close = function () {\n return \"</a>\";\n};\ng.image = function (s, e, t) {\n var i = ' src=\"' + U(s[e].src) + '\"',\n n = s[e].title ? ' title=\"' + U(Ne(s[e].title)) + '\"' : \"\",\n r = ' alt=\"' + (s[e].alt ? U(Ne(gt(s[e].alt))) : \"\") + '\"',\n o = t.xhtmlOut ? \" /\" : \"\";\n return \"<img\" + i + r + n + o + \">\";\n};\ng.table_open = function () {\n return \"<table>\\n\";\n};\ng.table_close = function () {\n return \"</table>\\n\";\n};\ng.thead_open = function () {\n return \"<thead>\\n\";\n};\ng.thead_close = function () {\n return \"</thead>\\n\";\n};\ng.tbody_open = function () {\n return \"<tbody>\\n\";\n};\ng.tbody_close = function () {\n return \"</tbody>\\n\";\n};\ng.tr_open = function () {\n return \"<tr>\";\n};\ng.tr_close = function () {\n return \"</tr>\\n\";\n};\ng.th_open = function (s, e) {\n var t = s[e];\n return \"<th\" + (t.align ? ' style=\"text-align:' + t.align + '\"' : \"\") + \">\";\n};\ng.th_close = function () {\n return \"</th>\";\n};\ng.td_open = function (s, e) {\n var t = s[e];\n return \"<td\" + (t.align ? ' style=\"text-align:' + t.align + '\"' : \"\") + \">\";\n};\ng.td_close = function () {\n return \"</td>\";\n};\ng.strong_open = function () {\n return \"<strong>\";\n};\ng.strong_close = function () {\n return \"</strong>\";\n};\ng.em_open = function () {\n return \"<em>\";\n};\ng.em_close = function () {\n return \"</em>\";\n};\ng.del_open = function () {\n return \"<del>\";\n};\ng.del_close = function () {\n return \"</del>\";\n};\ng.ins_open = function () {\n return \"<ins>\";\n};\ng.ins_close = function () {\n return \"</ins>\";\n};\ng.mark_open = function () {\n return \"<mark>\";\n};\ng.mark_close = function () {\n return \"</mark>\";\n};\ng.sub = function (s, e) {\n return \"<sub>\" + U(s[e].content) + \"</sub>\";\n};\ng.sup = function (s, e) {\n return \"<sup>\" + U(s[e].content) + \"</sup>\";\n};\ng.hardbreak = function (s, e, t) {\n return t.xhtmlOut ? \"<br />\\n\" : \"<br>\\n\";\n};\ng.softbreak = function (s, e, t) {\n return t.breaks ? t.xhtmlOut ? \"<br />\\n\" : \"<br>\\n\" : \"\\n\";\n};\ng.text = function (s, e) {\n return U(s[e].content);\n};\ng.htmlblock = function (s, e) {\n return s[e].content;\n};\ng.htmltag = function (s, e) {\n return s[e].content;\n};\ng.abbr_open = function (s, e) {\n return '<abbr title=\"' + U(Ne(s[e].title)) + '\">';\n};\ng.abbr_close = function () {\n return \"</abbr>\";\n};\ng.footnote_ref = function (s, e) {\n var t = Number(s[e].id + 1).toString(),\n i = \"fnref\" + t;\n return s[e].subId > 0 && (i += \":\" + s[e].subId), '<sup class=\"footnote-ref\"><a href=\"#fn' + t + '\" id=\"' + i + '\">[' + t + \"]</a></sup>\";\n};\ng.footnote_block_open = function (s, e, t) {\n var i = t.xhtmlOut ? \"<hr class=\\\"footnotes-sep\\\" />\\n\" : \"<hr class=\\\"footnotes-sep\\\">\\n\";\n return i + \"<section class=\\\"footnotes\\\">\\n<ol class=\\\"footnotes-list\\\">\\n\";\n};\ng.footnote_block_close = function () {\n return \"</ol>\\n</section>\\n\";\n};\ng.footnote_open = function (s, e) {\n var t = Number(s[e].id + 1).toString();\n return '<li id=\"fn' + t + '\" class=\"footnote-item\">';\n};\ng.footnote_close = function () {\n return \"</li>\\n\";\n};\ng.footnote_anchor = function (s, e) {\n var t = Number(s[e].id + 1).toString(),\n i = \"fnref\" + t;\n return s[e].subId > 0 && (i += \":\" + s[e].subId), ' <a href=\"#' + i + '\" class=\"footnote-backref\">↩</a>';\n};\ng.dl_open = function () {\n return \"<dl>\\n\";\n};\ng.dt_open = function () {\n return \"<dt>\";\n};\ng.dd_open = function () {\n return \"<dd>\";\n};\ng.dl_close = function () {\n return \"</dl>\\n\";\n};\ng.dt_close = function () {\n return \"</dt>\\n\";\n};\ng.dd_close = function () {\n return \"</dd>\\n\";\n};\nfunction es(s, e) {\n return ++e >= s.length - 2 ? e : s[e].type === \"paragraph_open\" && s[e].tight && s[e + 1].type === \"inline\" && s[e + 1].content.length === 0 && s[e + 2].type === \"paragraph_close\" && s[e + 2].tight ? es(s, e + 2) : e;\n}\nvar De = g.getBreak = function (e, t) {\n return t = es(e, t), t < e.length && e[t].type === \"list_item_close\" ? \"\" : \"\\n\";\n};\nfunction Wi() {\n this.rules = Xn({}, g), this.getBreak = g.getBreak;\n}\nWi.prototype.renderInline = function (s, e, t) {\n for (var i = this.rules, n = s.length, r = 0, o = \"\"; n--;) o += i[s[r].type](s, r++, e, t, this);\n return o;\n};\nWi.prototype.render = function (s, e, t) {\n for (var i = this.rules, n = s.length, r = -1, o = \"\"; ++r < n;) s[r].type === \"inline\" ? o += this.renderInline(s[r].children, e, t) : o += i[s[r].type](s, r, e, t, this);\n return o;\n};\nfunction W() {\n this.__rules__ = [], this.__cache__ = null;\n}\nW.prototype.__find__ = function (s) {\n for (var e = this.__rules__.length, t = -1; e--;) if (this.__rules__[++t].name === s) return t;\n return -1;\n};\nW.prototype.__compile__ = function () {\n var s = this,\n e = [\"\"];\n s.__rules__.forEach(function (t) {\n t.enabled && t.alt.forEach(function (i) {\n e.indexOf(i) < 0 && e.push(i);\n });\n }), s.__cache__ = {}, e.forEach(function (t) {\n s.__cache__[t] = [], s.__rules__.forEach(function (i) {\n i.enabled && (t && i.alt.indexOf(t) < 0 || s.__cache__[t].push(i.fn));\n });\n });\n};\nW.prototype.at = function (s, e, t) {\n var i = this.__find__(s),\n n = t || {};\n if (i === -1) throw new Error(\"Parser rule not found: \" + s);\n this.__rules__[i].fn = e, this.__rules__[i].alt = n.alt || [], this.__cache__ = null;\n};\nW.prototype.before = function (s, e, t, i) {\n var n = this.__find__(s),\n r = i || {};\n if (n === -1) throw new Error(\"Parser rule not found: \" + s);\n this.__rules__.splice(n, 0, {\n name: e,\n enabled: !0,\n fn: t,\n alt: r.alt || []\n }), this.__cache__ = null;\n};\nW.prototype.after = function (s, e, t, i) {\n var n = this.__find__(s),\n r = i || {};\n if (n === -1) throw new Error(\"Parser rule not found: \" + s);\n this.__rules__.splice(n + 1, 0, {\n name: e,\n enabled: !0,\n fn: t,\n alt: r.alt || []\n }), this.__cache__ = null;\n};\nW.prototype.push = function (s, e, t) {\n var i = t || {};\n this.__rules__.push({\n name: s,\n enabled: !0,\n fn: e,\n alt: i.alt || []\n }), this.__cache__ = null;\n};\nW.prototype.enable = function (s, e) {\n s = Array.isArray(s) ? s : [s], e && this.__rules__.forEach(function (t) {\n t.enabled = !1;\n }), s.forEach(function (t) {\n var i = this.__find__(t);\n if (i < 0) throw new Error(\"Rules manager: invalid rule name \" + t);\n this.__rules__[i].enabled = !0;\n }, this), this.__cache__ = null;\n};\nW.prototype.disable = function (s) {\n s = Array.isArray(s) ? s : [s], s.forEach(function (e) {\n var t = this.__find__(e);\n if (t < 0) throw new Error(\"Rules manager: invalid rule name \" + e);\n this.__rules__[t].enabled = !1;\n }, this), this.__cache__ = null;\n};\nW.prototype.getRules = function (s) {\n return this.__cache__ === null && this.__compile__(), this.__cache__[s] || [];\n};\nfunction Hs(s) {\n s.inlineMode ? s.tokens.push({\n type: \"inline\",\n content: s.src.replace(/\\n/g, \" \").trim(),\n level: 0,\n lines: [0, 1],\n children: []\n }) : s.block.parse(s.src, s.options, s.env, s.tokens);\n}\nfunction je(s, e, t, i, n) {\n this.src = s, this.env = i, this.options = t, this.parser = e, this.tokens = n, this.pos = 0, this.posMax = this.src.length, this.level = 0, this.pending = \"\", this.pendingLevel = 0, this.cache = [], this.isInLabel = !1, this.linkLevel = 0, this.linkContent = \"\", this.labelUnmatchedScopes = 0;\n}\nje.prototype.pushPending = function () {\n this.tokens.push({\n type: \"text\",\n content: this.pending,\n level: this.pendingLevel\n }), this.pending = \"\";\n};\nje.prototype.push = function (s) {\n this.pending && this.pushPending(), this.tokens.push(s), this.pendingLevel = this.level;\n};\nje.prototype.cacheSet = function (s, e) {\n for (var t = this.cache.length; t <= s; t++) this.cache.push(0);\n this.cache[s] = e;\n};\nje.prototype.cacheGet = function (s) {\n return s < this.cache.length ? this.cache[s] : 0;\n};\nfunction bt(s, e) {\n var t,\n i,\n n,\n r = -1,\n o = s.posMax,\n a = s.pos,\n l = s.isInLabel;\n if (s.isInLabel) return -1;\n if (s.labelUnmatchedScopes) return s.labelUnmatchedScopes--, -1;\n for (s.pos = e + 1, s.isInLabel = !0, t = 1; s.pos < o;) {\n if (n = s.src.charCodeAt(s.pos), n === 91) t++;else if (n === 93 && (t--, t === 0)) {\n i = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return i ? (r = s.pos, s.labelUnmatchedScopes = 0) : s.labelUnmatchedScopes = t - 1, s.pos = a, s.isInLabel = l, r;\n}\nfunction Gs(s, e, t, i) {\n var n, r, o, a, l, c;\n if (s.charCodeAt(0) !== 42 || s.charCodeAt(1) !== 91 || s.indexOf(\"]:\") === -1 || (n = new je(s, e, t, i, []), r = bt(n, 1), r < 0 || s.charCodeAt(r + 1) !== 58)) return -1;\n for (a = n.posMax, o = r + 2; o < a && n.src.charCodeAt(o) !== 10; o++);\n return l = s.slice(2, r), c = s.slice(r + 2, o).trim(), c.length === 0 ? -1 : (i.abbreviations || (i.abbreviations = {}), _typeof(i.abbreviations[\":\" + l]) > \"u\" && (i.abbreviations[\":\" + l] = c), o);\n}\nfunction Vs(s) {\n var e = s.tokens,\n t,\n i,\n n,\n r;\n if (!s.inlineMode) {\n for (t = 1, i = e.length - 1; t < i; t++) if (e[t - 1].type === \"paragraph_open\" && e[t].type === \"inline\" && e[t + 1].type === \"paragraph_close\") {\n for (n = e[t].content; n.length && (r = Gs(n, s.inline, s.options, s.env), !(r < 0));) n = n.slice(r).trim();\n e[t].content = n, n.length || (e[t - 1].tight = !0, e[t + 1].tight = !0);\n }\n }\n}\nfunction ji(s) {\n var e = Ne(s);\n try {\n e = decodeURI(e);\n } catch (_unused2) {}\n return encodeURI(e);\n}\nfunction ts(s, e) {\n var t,\n i,\n n,\n r = e,\n o = s.posMax;\n if (s.src.charCodeAt(e) === 60) {\n for (e++; e < o;) {\n if (t = s.src.charCodeAt(e), t === 10) return !1;\n if (t === 62) return n = ji(gt(s.src.slice(r + 1, e))), s.parser.validateLink(n) ? (s.pos = e + 1, s.linkContent = n, !0) : !1;\n if (t === 92 && e + 1 < o) {\n e += 2;\n continue;\n }\n e++;\n }\n return !1;\n }\n for (i = 0; e < o && (t = s.src.charCodeAt(e), !(t === 32 || t < 32 || t === 127));) {\n if (t === 92 && e + 1 < o) {\n e += 2;\n continue;\n }\n if (t === 40 && (i++, i > 1) || t === 41 && (i--, i < 0)) break;\n e++;\n }\n return r === e || (n = gt(s.src.slice(r, e)), !s.parser.validateLink(n)) ? !1 : (s.linkContent = n, s.pos = e, !0);\n}\nfunction is(s, e) {\n var t,\n i = e,\n n = s.posMax,\n r = s.src.charCodeAt(e);\n if (r !== 34 && r !== 39 && r !== 40) return !1;\n for (e++, r === 40 && (r = 41); e < n;) {\n if (t = s.src.charCodeAt(e), t === r) return s.pos = e + 1, s.linkContent = gt(s.src.slice(i + 1, e)), !0;\n if (t === 92 && e + 1 < n) {\n e += 2;\n continue;\n }\n e++;\n }\n return !1;\n}\nfunction ns(s) {\n return s.trim().replace(/\\s+/g, \" \").toUpperCase();\n}\nfunction Ws(s, e, t, i) {\n var n, r, o, a, l, c, d, u, h;\n if (s.charCodeAt(0) !== 91 || s.indexOf(\"]:\") === -1 || (n = new je(s, e, t, i, []), r = bt(n, 0), r < 0 || s.charCodeAt(r + 1) !== 58)) return -1;\n for (a = n.posMax, o = r + 2; o < a && (l = n.src.charCodeAt(o), !(l !== 32 && l !== 10)); o++);\n if (!ts(n, o)) return -1;\n for (d = n.linkContent, o = n.pos, c = o, o = o + 1; o < a && (l = n.src.charCodeAt(o), !(l !== 32 && l !== 10)); o++);\n for (o < a && c !== o && is(n, o) ? (u = n.linkContent, o = n.pos) : (u = \"\", o = c); o < a && n.src.charCodeAt(o) === 32;) o++;\n return o < a && n.src.charCodeAt(o) !== 10 ? -1 : (h = ns(s.slice(1, r)), _typeof(i.references[h]) > \"u\" && (i.references[h] = {\n title: u,\n href: d\n }), o);\n}\nfunction Js(s) {\n var e = s.tokens,\n t,\n i,\n n,\n r;\n if (s.env.references = s.env.references || {}, !s.inlineMode) {\n for (t = 1, i = e.length - 1; t < i; t++) if (e[t].type === \"inline\" && e[t - 1].type === \"paragraph_open\" && e[t + 1].type === \"paragraph_close\") {\n for (n = e[t].content; n.length && (r = Ws(n, s.inline, s.options, s.env), !(r < 0));) n = n.slice(r).trim();\n e[t].content = n, n.length || (e[t - 1].tight = !0, e[t + 1].tight = !0);\n }\n }\n}\nfunction $s(s) {\n var e = s.tokens,\n t,\n i,\n n;\n for (i = 0, n = e.length; i < n; i++) t = e[i], t.type === \"inline\" && s.inline.parse(t.content, s.options, s.env, t.children);\n}\nfunction Ks(s) {\n var e,\n t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d = 0,\n u = !1,\n h = {};\n if (s.env.footnotes && (s.tokens = s.tokens.filter(function (p) {\n return p.type === \"footnote_reference_open\" ? (u = !0, l = [], c = p.label, !1) : p.type === \"footnote_reference_close\" ? (u = !1, h[\":\" + c] = l, !1) : (u && l.push(p), !u);\n }), !!s.env.footnotes.list)) {\n for (o = s.env.footnotes.list, s.tokens.push({\n type: \"footnote_block_open\",\n level: d++\n }), e = 0, t = o.length; e < t; e++) {\n for (s.tokens.push({\n type: \"footnote_open\",\n id: e,\n level: d++\n }), o[e].tokens ? (a = [], a.push({\n type: \"paragraph_open\",\n tight: !1,\n level: d++\n }), a.push({\n type: \"inline\",\n content: \"\",\n level: d,\n children: o[e].tokens\n }), a.push({\n type: \"paragraph_close\",\n tight: !1,\n level: --d\n })) : o[e].label && (a = h[\":\" + o[e].label]), s.tokens = s.tokens.concat(a), s.tokens[s.tokens.length - 1].type === \"paragraph_close\" ? r = s.tokens.pop() : r = null, n = o[e].count > 0 ? o[e].count : 1, i = 0; i < n; i++) s.tokens.push({\n type: \"footnote_anchor\",\n id: e,\n subId: i,\n level: d\n });\n r && s.tokens.push(r), s.tokens.push({\n type: \"footnote_close\",\n level: --d\n });\n }\n s.tokens.push({\n type: \"footnote_block_close\",\n level: --d\n });\n }\n}\nvar hn = \" \\n()[]'\\\".,!?-\";\nfunction Mi(s) {\n return s.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g, \"\\\\$1\");\n}\nfunction Ys(s) {\n var e,\n t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n p = s.tokens;\n if (s.env.abbreviations) {\n for (s.env.abbrRegExp || (h = \"(^|[\" + hn.split(\"\").map(Mi).join(\"\") + \"])(\" + Object.keys(s.env.abbreviations).map(function (m) {\n return m.substr(1);\n }).sort(function (m, f) {\n return f.length - m.length;\n }).map(Mi).join(\"|\") + \")($|[\" + hn.split(\"\").map(Mi).join(\"\") + \"])\", s.env.abbrRegExp = new RegExp(h, \"g\")), d = s.env.abbrRegExp, t = 0, i = p.length; t < i; t++) if (p[t].type === \"inline\") {\n for (n = p[t].children, e = n.length - 1; e >= 0; e--) if (r = n[e], r.type === \"text\") {\n for (l = 0, o = r.content, d.lastIndex = 0, c = r.level, a = []; u = d.exec(o);) d.lastIndex > l && a.push({\n type: \"text\",\n content: o.slice(l, u.index + u[1].length),\n level: c\n }), a.push({\n type: \"abbr_open\",\n title: s.env.abbreviations[\":\" + u[2]],\n level: c++\n }), a.push({\n type: \"text\",\n content: u[2],\n level: c\n }), a.push({\n type: \"abbr_close\",\n level: --c\n }), l = d.lastIndex - u[3].length;\n a.length && (l < o.length && a.push({\n type: \"text\",\n content: o.slice(l),\n level: c\n }), p[t].children = n = [].concat(n.slice(0, e), a, n.slice(e + 1)));\n }\n }\n }\n}\nvar Zs = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,\n Xs = /\\((c|tm|r|p)\\)/ig,\n Qs = {\n c: \"©\",\n r: \"®\",\n p: \"§\",\n tm: \"™\"\n };\nfunction er(s) {\n return s.indexOf(\"(\") < 0 ? s : s.replace(Xs, function (e, t) {\n return Qs[t.toLowerCase()];\n });\n}\nfunction tr(s) {\n var e, t, i, n, r;\n if (s.options.typographer) {\n for (r = s.tokens.length - 1; r >= 0; r--) if (s.tokens[r].type === \"inline\") for (n = s.tokens[r].children, e = n.length - 1; e >= 0; e--) t = n[e], t.type === \"text\" && (i = t.content, i = er(i), Zs.test(i) && (i = i.replace(/\\+-/g, \"±\").replace(/\\.{2,}/g, \"…\").replace(/([?!])…/g, \"$1..\").replace(/([?!]){4,}/g, \"$1$1$1\").replace(/,{2,}/g, \",\").replace(/(^|[^-])---([^-]|$)/mg, \"$1—$2\").replace(/(^|\\s)--(\\s|$)/mg, \"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/mg, \"$1–$2\")), t.content = i);\n }\n}\nvar ir = /['\"]/,\n pn = /['\"]/g,\n nr = /[-\\s()\\[\\]]/,\n fn = \"’\";\nfunction mn(s, e) {\n return e < 0 || e >= s.length ? !1 : !nr.test(s[e]);\n}\nfunction He(s, e, t) {\n return s.substr(0, e) + t + s.substr(e + 1);\n}\nfunction sr(s) {\n var e, t, i, n, r, o, a, l, c, d, u, h, p, m, f, _, S;\n if (s.options.typographer) {\n for (S = [], f = s.tokens.length - 1; f >= 0; f--) if (s.tokens[f].type === \"inline\") {\n for (_ = s.tokens[f].children, S.length = 0, e = 0; e < _.length; e++) if (t = _[e], !(t.type !== \"text\" || ir.test(t.text))) {\n for (a = _[e].level, p = S.length - 1; p >= 0 && !(S[p].level <= a); p--);\n S.length = p + 1, i = t.content, r = 0, o = i.length;\n e: for (; r < o && (pn.lastIndex = r, n = pn.exec(i), !!n);) {\n if (l = !mn(i, n.index - 1), r = n.index + 1, m = n[0] === \"'\", c = !mn(i, r), !c && !l) {\n m && (t.content = He(t.content, n.index, fn));\n continue;\n }\n if (u = !c, h = !l, h) {\n for (p = S.length - 1; p >= 0 && (d = S[p], !(S[p].level < a)); p--) if (d.single === m && S[p].level === a) {\n d = S[p], m ? (_[d.token].content = He(_[d.token].content, d.pos, s.options.quotes[2]), t.content = He(t.content, n.index, s.options.quotes[3])) : (_[d.token].content = He(_[d.token].content, d.pos, s.options.quotes[0]), t.content = He(t.content, n.index, s.options.quotes[1])), S.length = p;\n continue e;\n }\n }\n u ? S.push({\n token: e,\n pos: n.index,\n single: m,\n level: a\n }) : h && m && (t.content = He(t.content, n.index, fn));\n }\n }\n }\n }\n}\nvar Ti = [[\"block\", Hs], [\"abbr\", Vs], [\"references\", Js], [\"inline\", $s], [\"footnote_tail\", Ks], [\"abbr2\", Ys], [\"replacements\", tr], [\"smartquotes\", sr]];\nfunction ss() {\n this.options = {}, this.ruler = new W();\n for (var s = 0; s < Ti.length; s++) this.ruler.push(Ti[s][0], Ti[s][1]);\n}\nss.prototype.process = function (s) {\n var e, t, i;\n for (i = this.ruler.getRules(\"\"), e = 0, t = i.length; e < t; e++) i[e](s);\n};\nfunction Fe(s, e, t, i, n) {\n var r, o, a, l, c, d, u;\n for (this.src = s, this.parser = e, this.options = t, this.env = i, this.tokens = n, this.bMarks = [], this.eMarks = [], this.tShift = [], this.blkIndent = 0, this.line = 0, this.lineMax = 0, this.tight = !1, this.parentType = \"root\", this.ddIndent = -1, this.level = 0, this.result = \"\", o = this.src, d = 0, u = !1, a = l = d = 0, c = o.length; l < c; l++) {\n if (r = o.charCodeAt(l), !u) if (r === 32) {\n d++;\n continue;\n } else u = !0;\n (r === 10 || l === c - 1) && (r !== 10 && l++, this.bMarks.push(a), this.eMarks.push(l), this.tShift.push(d), u = !1, d = 0, a = l + 1);\n }\n this.bMarks.push(o.length), this.eMarks.push(o.length), this.tShift.push(0), this.lineMax = this.bMarks.length - 1;\n}\nFe.prototype.isEmpty = function (e) {\n return this.bMarks[e] + this.tShift[e] >= this.eMarks[e];\n};\nFe.prototype.skipEmptyLines = function (e) {\n for (var t = this.lineMax; e < t && !(this.bMarks[e] + this.tShift[e] < this.eMarks[e]); e++);\n return e;\n};\nFe.prototype.skipSpaces = function (e) {\n for (var t = this.src.length; e < t && this.src.charCodeAt(e) === 32; e++);\n return e;\n};\nFe.prototype.skipChars = function (e, t) {\n for (var i = this.src.length; e < i && this.src.charCodeAt(e) === t; e++);\n return e;\n};\nFe.prototype.skipCharsBack = function (e, t, i) {\n if (e <= i) return e;\n for (; e > i;) if (t !== this.src.charCodeAt(--e)) return e + 1;\n return e;\n};\nFe.prototype.getLines = function (e, t, i, n) {\n var r,\n o,\n a,\n l,\n c,\n d = e;\n if (e >= t) return \"\";\n if (d + 1 === t) return o = this.bMarks[d] + Math.min(this.tShift[d], i), a = n ? this.eMarks[d] + 1 : this.eMarks[d], this.src.slice(o, a);\n for (l = new Array(t - e), r = 0; d < t; d++, r++) c = this.tShift[d], c > i && (c = i), c < 0 && (c = 0), o = this.bMarks[d] + c, d + 1 < t || n ? a = this.eMarks[d] + 1 : a = this.eMarks[d], l[r] = this.src.slice(o, a);\n return l.join(\"\");\n};\nfunction rr(s, e, t) {\n var i, n;\n if (s.tShift[e] - s.blkIndent < 4) return !1;\n for (n = i = e + 1; i < t;) {\n if (s.isEmpty(i)) {\n i++;\n continue;\n }\n if (s.tShift[i] - s.blkIndent >= 4) {\n i++, n = i;\n continue;\n }\n break;\n }\n return s.line = i, s.tokens.push({\n type: \"code\",\n content: s.getLines(e, n, 4 + s.blkIndent, !0),\n block: !0,\n lines: [e, s.line],\n level: s.level\n }), !0;\n}\nfunction or(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c = !1,\n d = s.bMarks[e] + s.tShift[e],\n u = s.eMarks[e];\n if (d + 3 > u || (n = s.src.charCodeAt(d), n !== 126 && n !== 96) || (l = d, d = s.skipChars(d, n), r = d - l, r < 3) || (o = s.src.slice(d, u).trim(), o.indexOf(\"`\") >= 0)) return !1;\n if (i) return !0;\n for (a = e; a++, !(a >= t || (d = l = s.bMarks[a] + s.tShift[a], u = s.eMarks[a], d < u && s.tShift[a] < s.blkIndent));) if (s.src.charCodeAt(d) === n && !(s.tShift[a] - s.blkIndent >= 4) && (d = s.skipChars(d, n), !(d - l < r) && (d = s.skipSpaces(d), !(d < u)))) {\n c = !0;\n break;\n }\n return r = s.tShift[e], s.line = a + (c ? 1 : 0), s.tokens.push({\n type: \"fence\",\n params: o,\n content: s.getLines(e + 1, a, r, !0),\n lines: [e, s.line],\n level: s.level\n }), !0;\n}\nfunction ar(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n p,\n m,\n f = s.bMarks[e] + s.tShift[e],\n _ = s.eMarks[e];\n if (f > _ || s.src.charCodeAt(f++) !== 62 || s.level >= s.options.maxNesting) return !1;\n if (i) return !0;\n for (s.src.charCodeAt(f) === 32 && f++, l = s.blkIndent, s.blkIndent = 0, a = [s.bMarks[e]], s.bMarks[e] = f, f = f < _ ? s.skipSpaces(f) : f, r = f >= _, o = [s.tShift[e]], s.tShift[e] = f - s.bMarks[e], u = s.parser.ruler.getRules(\"blockquote\"), n = e + 1; n < t && (f = s.bMarks[n] + s.tShift[n], _ = s.eMarks[n], !(f >= _)); n++) {\n if (s.src.charCodeAt(f++) === 62) {\n s.src.charCodeAt(f) === 32 && f++, a.push(s.bMarks[n]), s.bMarks[n] = f, f = f < _ ? s.skipSpaces(f) : f, r = f >= _, o.push(s.tShift[n]), s.tShift[n] = f - s.bMarks[n];\n continue;\n }\n if (r) break;\n for (m = !1, h = 0, p = u.length; h < p; h++) if (u[h](s, n, t, !0)) {\n m = !0;\n break;\n }\n if (m) break;\n a.push(s.bMarks[n]), o.push(s.tShift[n]), s.tShift[n] = -1337;\n }\n for (c = s.parentType, s.parentType = \"blockquote\", s.tokens.push({\n type: \"blockquote_open\",\n lines: d = [e, 0],\n level: s.level++\n }), s.parser.tokenize(s, e, n), s.tokens.push({\n type: \"blockquote_close\",\n level: --s.level\n }), s.parentType = c, d[1] = s.line, h = 0; h < o.length; h++) s.bMarks[h + e] = a[h], s.tShift[h + e] = o[h];\n return s.blkIndent = l, !0;\n}\nfunction lr(s, e, t, i) {\n var n,\n r,\n o,\n a = s.bMarks[e],\n l = s.eMarks[e];\n if (a += s.tShift[e], a > l || (n = s.src.charCodeAt(a++), n !== 42 && n !== 45 && n !== 95)) return !1;\n for (r = 1; a < l;) {\n if (o = s.src.charCodeAt(a++), o !== n && o !== 32) return !1;\n o === n && r++;\n }\n return r < 3 ? !1 : (i || (s.line = e + 1, s.tokens.push({\n type: \"hr\",\n lines: [e, s.line],\n level: s.level\n })), !0);\n}\nfunction gn(s, e) {\n var t, i, n;\n return i = s.bMarks[e] + s.tShift[e], n = s.eMarks[e], i >= n || (t = s.src.charCodeAt(i++), t !== 42 && t !== 45 && t !== 43) || i < n && s.src.charCodeAt(i) !== 32 ? -1 : i;\n}\nfunction bn(s, e) {\n var t,\n i = s.bMarks[e] + s.tShift[e],\n n = s.eMarks[e];\n if (i + 1 >= n || (t = s.src.charCodeAt(i++), t < 48 || t > 57)) return -1;\n for (;;) {\n if (i >= n) return -1;\n if (t = s.src.charCodeAt(i++), !(t >= 48 && t <= 57)) {\n if (t === 41 || t === 46) break;\n return -1;\n }\n }\n return i < n && s.src.charCodeAt(i) !== 32 ? -1 : i;\n}\nfunction cr(s, e) {\n var t,\n i,\n n = s.level + 2;\n for (t = e + 2, i = s.tokens.length - 2; t < i; t++) s.tokens[t].level === n && s.tokens[t].type === \"paragraph_open\" && (s.tokens[t + 2].tight = !0, s.tokens[t].tight = !0, t += 2);\n}\nfunction dr(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n p,\n m,\n f,\n _,\n S,\n J,\n X,\n O,\n H,\n Q = !0,\n ee,\n I,\n Rt,\n te;\n if ((u = bn(s, e)) >= 0) _ = !0;else if ((u = gn(s, e)) >= 0) _ = !1;else return !1;\n if (s.level >= s.options.maxNesting) return !1;\n if (f = s.src.charCodeAt(u - 1), i) return !0;\n for (J = s.tokens.length, _ ? (d = s.bMarks[e] + s.tShift[e], m = Number(s.src.substr(d, u - d - 1)), s.tokens.push({\n type: \"ordered_list_open\",\n order: m,\n lines: O = [e, 0],\n level: s.level++\n })) : s.tokens.push({\n type: \"bullet_list_open\",\n lines: O = [e, 0],\n level: s.level++\n }), n = e, X = !1, ee = s.parser.ruler.getRules(\"list\"); n < t && (S = s.skipSpaces(u), h = s.eMarks[n], S >= h ? p = 1 : p = S - u, p > 4 && (p = 1), p < 1 && (p = 1), r = u - s.bMarks[n] + p, s.tokens.push({\n type: \"list_item_open\",\n lines: H = [e, 0],\n level: s.level++\n }), a = s.blkIndent, l = s.tight, o = s.tShift[e], c = s.parentType, s.tShift[e] = S - s.bMarks[e], s.blkIndent = r, s.tight = !0, s.parentType = \"list\", s.parser.tokenize(s, e, t, !0), (!s.tight || X) && (Q = !1), X = s.line - e > 1 && s.isEmpty(s.line - 1), s.blkIndent = a, s.tShift[e] = o, s.tight = l, s.parentType = c, s.tokens.push({\n type: \"list_item_close\",\n level: --s.level\n }), n = e = s.line, H[1] = n, S = s.bMarks[e], !(n >= t || s.isEmpty(n) || s.tShift[n] < s.blkIndent));) {\n for (te = !1, I = 0, Rt = ee.length; I < Rt; I++) if (ee[I](s, n, t, !0)) {\n te = !0;\n break;\n }\n if (te) break;\n if (_) {\n if (u = bn(s, n), u < 0) break;\n } else if (u = gn(s, n), u < 0) break;\n if (f !== s.src.charCodeAt(u - 1)) break;\n }\n return s.tokens.push({\n type: _ ? \"ordered_list_close\" : \"bullet_list_close\",\n level: --s.level\n }), O[1] = n, s.line = n, Q && cr(s, J), !0;\n}\nfunction ur(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c = s.bMarks[e] + s.tShift[e],\n d = s.eMarks[e];\n if (c + 4 > d || s.src.charCodeAt(c) !== 91 || s.src.charCodeAt(c + 1) !== 94 || s.level >= s.options.maxNesting) return !1;\n for (a = c + 2; a < d; a++) {\n if (s.src.charCodeAt(a) === 32) return !1;\n if (s.src.charCodeAt(a) === 93) break;\n }\n return a === c + 2 || a + 1 >= d || s.src.charCodeAt(++a) !== 58 ? !1 : (i || (a++, s.env.footnotes || (s.env.footnotes = {}), s.env.footnotes.refs || (s.env.footnotes.refs = {}), l = s.src.slice(c + 2, a - 2), s.env.footnotes.refs[\":\" + l] = -1, s.tokens.push({\n type: \"footnote_reference_open\",\n label: l,\n level: s.level++\n }), n = s.bMarks[e], r = s.tShift[e], o = s.parentType, s.tShift[e] = s.skipSpaces(a) - a, s.bMarks[e] = a, s.blkIndent += 4, s.parentType = \"footnote\", s.tShift[e] < s.blkIndent && (s.tShift[e] += s.blkIndent, s.bMarks[e] -= s.blkIndent), s.parser.tokenize(s, e, t, !0), s.parentType = o, s.blkIndent -= 4, s.tShift[e] = r, s.bMarks[e] = n, s.tokens.push({\n type: \"footnote_reference_close\",\n level: --s.level\n })), !0);\n}\nfunction hr(s, e, t, i) {\n var n,\n r,\n o,\n a = s.bMarks[e] + s.tShift[e],\n l = s.eMarks[e];\n if (a >= l || (n = s.src.charCodeAt(a), n !== 35 || a >= l)) return !1;\n for (r = 1, n = s.src.charCodeAt(++a); n === 35 && a < l && r <= 6;) r++, n = s.src.charCodeAt(++a);\n return r > 6 || a < l && n !== 32 ? !1 : (i || (l = s.skipCharsBack(l, 32, a), o = s.skipCharsBack(l, 35, a), o > a && s.src.charCodeAt(o - 1) === 32 && (l = o), s.line = e + 1, s.tokens.push({\n type: \"heading_open\",\n hLevel: r,\n lines: [e, s.line],\n level: s.level\n }), a < l && s.tokens.push({\n type: \"inline\",\n content: s.src.slice(a, l).trim(),\n level: s.level + 1,\n lines: [e, s.line],\n children: []\n }), s.tokens.push({\n type: \"heading_close\",\n hLevel: r,\n level: s.level\n })), !0);\n}\nfunction pr(s, e, t) {\n var i,\n n,\n r,\n o = e + 1;\n return o >= t || s.tShift[o] < s.blkIndent || s.tShift[o] - s.blkIndent > 3 || (n = s.bMarks[o] + s.tShift[o], r = s.eMarks[o], n >= r) || (i = s.src.charCodeAt(n), i !== 45 && i !== 61) || (n = s.skipChars(n, i), n = s.skipSpaces(n), n < r) ? !1 : (n = s.bMarks[e] + s.tShift[e], s.line = o + 1, s.tokens.push({\n type: \"heading_open\",\n hLevel: i === 61 ? 1 : 2,\n lines: [e, s.line],\n level: s.level\n }), s.tokens.push({\n type: \"inline\",\n content: s.src.slice(n, s.eMarks[e]).trim(),\n level: s.level + 1,\n lines: [e, s.line - 1],\n children: []\n }), s.tokens.push({\n type: \"heading_close\",\n hLevel: i === 61 ? 1 : 2,\n level: s.level\n }), !0);\n}\nvar rs = {};\n[\"article\", \"aside\", \"button\", \"blockquote\", \"body\", \"canvas\", \"caption\", \"col\", \"colgroup\", \"dd\", \"div\", \"dl\", \"dt\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"header\", \"hgroup\", \"hr\", \"iframe\", \"li\", \"map\", \"object\", \"ol\", \"output\", \"p\", \"pre\", \"progress\", \"script\", \"section\", \"style\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"tr\", \"thead\", \"ul\", \"video\"].forEach(function (s) {\n rs[s] = !0;\n});\nvar fr = /^<([a-zA-Z]{1,15})[\\s\\/>]/,\n mr = /^<\\/([a-zA-Z]{1,15})[\\s>]/;\nfunction gr(s) {\n var e = s | 32;\n return e >= 97 && e <= 122;\n}\nfunction br(s, e, t, i) {\n var n,\n r,\n o,\n a = s.bMarks[e],\n l = s.eMarks[e],\n c = s.tShift[e];\n if (a += c, !s.options.html || c > 3 || a + 2 >= l || s.src.charCodeAt(a) !== 60) return !1;\n if (n = s.src.charCodeAt(a + 1), n === 33 || n === 63) {\n if (i) return !0;\n } else if (n === 47 || gr(n)) {\n if (n === 47) {\n if (r = s.src.slice(a, l).match(mr), !r) return !1;\n } else if (r = s.src.slice(a, l).match(fr), !r) return !1;\n if (rs[r[1].toLowerCase()] !== !0) return !1;\n if (i) return !0;\n } else return !1;\n for (o = e + 1; o < s.lineMax && !s.isEmpty(o);) o++;\n return s.line = o, s.tokens.push({\n type: \"htmlblock\",\n level: s.level,\n lines: [e, s.line],\n content: s.getLines(e, o, 0, !0)\n }), !0;\n}\nfunction Ci(s, e) {\n var t = s.bMarks[e] + s.blkIndent,\n i = s.eMarks[e];\n return s.src.substr(t, i - t);\n}\nfunction vr(s, e, t, i) {\n var n, r, o, a, l, c, d, u, h, p, m;\n if (e + 2 > t || (l = e + 1, s.tShift[l] < s.blkIndent) || (o = s.bMarks[l] + s.tShift[l], o >= s.eMarks[l]) || (n = s.src.charCodeAt(o), n !== 124 && n !== 45 && n !== 58) || (r = Ci(s, e + 1), !/^[-:| ]+$/.test(r)) || (c = r.split(\"|\"), c <= 2)) return !1;\n for (u = [], a = 0; a < c.length; a++) {\n if (h = c[a].trim(), !h) {\n if (a === 0 || a === c.length - 1) continue;\n return !1;\n }\n if (!/^:?-+:?$/.test(h)) return !1;\n h.charCodeAt(h.length - 1) === 58 ? u.push(h.charCodeAt(0) === 58 ? \"center\" : \"right\") : h.charCodeAt(0) === 58 ? u.push(\"left\") : u.push(\"\");\n }\n if (r = Ci(s, e).trim(), r.indexOf(\"|\") === -1 || (c = r.replace(/^\\||\\|$/g, \"\").split(\"|\"), u.length !== c.length)) return !1;\n if (i) return !0;\n for (s.tokens.push({\n type: \"table_open\",\n lines: p = [e, 0],\n level: s.level++\n }), s.tokens.push({\n type: \"thead_open\",\n lines: [e, e + 1],\n level: s.level++\n }), s.tokens.push({\n type: \"tr_open\",\n lines: [e, e + 1],\n level: s.level++\n }), a = 0; a < c.length; a++) s.tokens.push({\n type: \"th_open\",\n align: u[a],\n lines: [e, e + 1],\n level: s.level++\n }), s.tokens.push({\n type: \"inline\",\n content: c[a].trim(),\n lines: [e, e + 1],\n level: s.level,\n children: []\n }), s.tokens.push({\n type: \"th_close\",\n level: --s.level\n });\n for (s.tokens.push({\n type: \"tr_close\",\n level: --s.level\n }), s.tokens.push({\n type: \"thead_close\",\n level: --s.level\n }), s.tokens.push({\n type: \"tbody_open\",\n lines: m = [e + 2, 0],\n level: s.level++\n }), l = e + 2; l < t && !(s.tShift[l] < s.blkIndent || (r = Ci(s, l).trim(), r.indexOf(\"|\") === -1)); l++) {\n for (c = r.replace(/^\\||\\|$/g, \"\").split(\"|\"), s.tokens.push({\n type: \"tr_open\",\n level: s.level++\n }), a = 0; a < c.length; a++) s.tokens.push({\n type: \"td_open\",\n align: u[a],\n level: s.level++\n }), d = c[a].substring(c[a].charCodeAt(0) === 124 ? 1 : 0, c[a].charCodeAt(c[a].length - 1) === 124 ? c[a].length - 1 : c[a].length).trim(), s.tokens.push({\n type: \"inline\",\n content: d,\n level: s.level,\n children: []\n }), s.tokens.push({\n type: \"td_close\",\n level: --s.level\n });\n s.tokens.push({\n type: \"tr_close\",\n level: --s.level\n });\n }\n return s.tokens.push({\n type: \"tbody_close\",\n level: --s.level\n }), s.tokens.push({\n type: \"table_close\",\n level: --s.level\n }), p[1] = m[1] = l, s.line = l, !0;\n}\nfunction Ot(s, e) {\n var t,\n i,\n n = s.bMarks[e] + s.tShift[e],\n r = s.eMarks[e];\n return n >= r || (i = s.src.charCodeAt(n++), i !== 126 && i !== 58) || (t = s.skipSpaces(n), n === t) || t >= r ? -1 : t;\n}\nfunction yr(s, e) {\n var t,\n i,\n n = s.level + 2;\n for (t = e + 2, i = s.tokens.length - 2; t < i; t++) s.tokens[t].level === n && s.tokens[t].type === \"paragraph_open\" && (s.tokens[t + 2].tight = !0, s.tokens[t].tight = !0, t += 2);\n}\nfunction xr(s, e, t, i) {\n var n, r, o, a, l, c, d, u, h, p, m, f, _, S;\n if (i) return s.ddIndent < 0 ? !1 : Ot(s, e) >= 0;\n if (d = e + 1, s.isEmpty(d) && ++d > t || s.tShift[d] < s.blkIndent || (n = Ot(s, d), n < 0) || s.level >= s.options.maxNesting) return !1;\n c = s.tokens.length, s.tokens.push({\n type: \"dl_open\",\n lines: l = [e, 0],\n level: s.level++\n }), o = e, r = d;\n e: for (;;) {\n for (S = !0, _ = !1, s.tokens.push({\n type: \"dt_open\",\n lines: [o, o],\n level: s.level++\n }), s.tokens.push({\n type: \"inline\",\n content: s.getLines(o, o + 1, s.blkIndent, !1).trim(),\n level: s.level + 1,\n lines: [o, o],\n children: []\n }), s.tokens.push({\n type: \"dt_close\",\n level: --s.level\n });;) {\n if (s.tokens.push({\n type: \"dd_open\",\n lines: a = [d, 0],\n level: s.level++\n }), f = s.tight, h = s.ddIndent, u = s.blkIndent, m = s.tShift[r], p = s.parentType, s.blkIndent = s.ddIndent = s.tShift[r] + 2, s.tShift[r] = n - s.bMarks[r], s.tight = !0, s.parentType = \"deflist\", s.parser.tokenize(s, r, t, !0), (!s.tight || _) && (S = !1), _ = s.line - r > 1 && s.isEmpty(s.line - 1), s.tShift[r] = m, s.tight = f, s.parentType = p, s.blkIndent = u, s.ddIndent = h, s.tokens.push({\n type: \"dd_close\",\n level: --s.level\n }), a[1] = d = s.line, d >= t || s.tShift[d] < s.blkIndent) break e;\n if (n = Ot(s, d), n < 0) break;\n r = d;\n }\n if (d >= t || (o = d, s.isEmpty(o)) || s.tShift[o] < s.blkIndent || (r = o + 1, r >= t) || (s.isEmpty(r) && r++, r >= t) || s.tShift[r] < s.blkIndent || (n = Ot(s, r), n < 0)) break;\n }\n return s.tokens.push({\n type: \"dl_close\",\n level: --s.level\n }), l[1] = d, s.line = d, S && yr(s, c), !0;\n}\nfunction Er(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a = e + 1,\n l;\n if (t = s.lineMax, a < t && !s.isEmpty(a)) {\n for (l = s.parser.ruler.getRules(\"paragraph\"); a < t && !s.isEmpty(a); a++) if (!(s.tShift[a] - s.blkIndent > 3)) {\n for (n = !1, r = 0, o = l.length; r < o; r++) if (l[r](s, a, t, !0)) {\n n = !0;\n break;\n }\n if (n) break;\n }\n }\n return i = s.getLines(e, a, s.blkIndent, !1).trim(), s.line = a, i.length && (s.tokens.push({\n type: \"paragraph_open\",\n tight: !1,\n lines: [e, s.line],\n level: s.level\n }), s.tokens.push({\n type: \"inline\",\n content: i,\n level: s.level + 1,\n lines: [e, s.line],\n children: []\n }), s.tokens.push({\n type: \"paragraph_close\",\n tight: !1,\n level: s.level\n })), !0;\n}\nvar Pt = [[\"code\", rr], [\"fences\", or, [\"paragraph\", \"blockquote\", \"list\"]], [\"blockquote\", ar, [\"paragraph\", \"blockquote\", \"list\"]], [\"hr\", lr, [\"paragraph\", \"blockquote\", \"list\"]], [\"list\", dr, [\"paragraph\", \"blockquote\"]], [\"footnote\", ur, [\"paragraph\"]], [\"heading\", hr, [\"paragraph\", \"blockquote\"]], [\"lheading\", pr], [\"htmlblock\", br, [\"paragraph\", \"blockquote\"]], [\"table\", vr, [\"paragraph\"]], [\"deflist\", xr, [\"paragraph\"]], [\"paragraph\", Er]];\nfunction Ji() {\n this.ruler = new W();\n for (var s = 0; s < Pt.length; s++) this.ruler.push(Pt[s][0], Pt[s][1], {\n alt: (Pt[s][2] || []).slice()\n });\n}\nJi.prototype.tokenize = function (s, e, t) {\n for (var i = this.ruler.getRules(\"\"), n = i.length, r = e, o = !1, a, l; r < t && (s.line = r = s.skipEmptyLines(r), !(r >= t || s.tShift[r] < s.blkIndent));) {\n for (l = 0; l < n && (a = i[l](s, r, t, !1), !a); l++);\n if (s.tight = !o, s.isEmpty(s.line - 1) && (o = !0), r = s.line, r < t && s.isEmpty(r)) {\n if (o = !0, r++, r < t && s.parentType === \"list\" && s.isEmpty(r)) break;\n s.line = r;\n }\n }\n};\nvar _r = /[\\n\\t]/g,\n Sr = /\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,\n wr = /\\u00a0/g;\nJi.prototype.parse = function (s, e, t, i) {\n var n,\n r = 0,\n o = 0;\n if (!s) return [];\n s = s.replace(wr, \" \"), s = s.replace(Sr, \"\\n\"), s.indexOf(\"\t\") >= 0 && (s = s.replace(_r, function (a, l) {\n var c;\n return s.charCodeAt(l) === 10 ? (r = l + 1, o = 0, a) : (c = \" \".slice((l - r - o) % 4), o = l - r + 1, c);\n })), n = new Fe(s, this, e, t, i), this.tokenize(n, n.line, n.lineMax);\n};\nfunction Mr(s) {\n switch (s) {\n case 10:\n case 92:\n case 96:\n case 42:\n case 95:\n case 94:\n case 91:\n case 93:\n case 33:\n case 38:\n case 60:\n case 62:\n case 123:\n case 125:\n case 36:\n case 37:\n case 64:\n case 126:\n case 43:\n case 61:\n case 58:\n return !0;\n default:\n return !1;\n }\n}\nfunction Tr(s, e) {\n for (var t = s.pos; t < s.posMax && !Mr(s.src.charCodeAt(t));) t++;\n return t === s.pos ? !1 : (e || (s.pending += s.src.slice(s.pos, t)), s.pos = t, !0);\n}\nfunction Cr(s, e) {\n var t,\n i,\n n = s.pos;\n if (s.src.charCodeAt(n) !== 10) return !1;\n if (t = s.pending.length - 1, i = s.posMax, !e) if (t >= 0 && s.pending.charCodeAt(t) === 32) {\n if (t >= 1 && s.pending.charCodeAt(t - 1) === 32) {\n for (var r = t - 2; r >= 0; r--) if (s.pending.charCodeAt(r) !== 32) {\n s.pending = s.pending.substring(0, r + 1);\n break;\n }\n s.push({\n type: \"hardbreak\",\n level: s.level\n });\n } else s.pending = s.pending.slice(0, -1), s.push({\n type: \"softbreak\",\n level: s.level\n });\n } else s.push({\n type: \"softbreak\",\n level: s.level\n });\n for (n++; n < i && s.src.charCodeAt(n) === 32;) n++;\n return s.pos = n, !0;\n}\nvar $i = [];\nfor (var vn = 0; vn < 256; vn++) $i.push(0);\n\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function (s) {\n $i[s.charCodeAt(0)] = 1;\n});\nfunction Ar(s, e) {\n var t,\n i = s.pos,\n n = s.posMax;\n if (s.src.charCodeAt(i) !== 92) return !1;\n if (i++, i < n) {\n if (t = s.src.charCodeAt(i), t < 256 && $i[t] !== 0) return e || (s.pending += s.src[i]), s.pos += 2, !0;\n if (t === 10) {\n for (e || s.push({\n type: \"hardbreak\",\n level: s.level\n }), i++; i < n && s.src.charCodeAt(i) === 32;) i++;\n return s.pos = i, !0;\n }\n }\n return e || (s.pending += \"\\\\\"), s.pos++, !0;\n}\nfunction kr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a = s.pos,\n l = s.src.charCodeAt(a);\n if (l !== 96) return !1;\n for (t = a, a++, i = s.posMax; a < i && s.src.charCodeAt(a) === 96;) a++;\n for (n = s.src.slice(t, a), r = o = a; (r = s.src.indexOf(\"`\", o)) !== -1;) {\n for (o = r + 1; o < i && s.src.charCodeAt(o) === 96;) o++;\n if (o - r === n.length) return e || s.push({\n type: \"code\",\n content: s.src.slice(a, r).replace(/[ \\n]+/g, \" \").trim(),\n block: !1,\n level: s.level\n }), s.pos = o, !0;\n }\n return e || (s.pending += n), s.pos += n.length, !0;\n}\nfunction Ir(s, e) {\n var t,\n i,\n n,\n r = s.posMax,\n o = s.pos,\n a,\n l;\n if (s.src.charCodeAt(o) !== 126 || e || o + 4 >= r || s.src.charCodeAt(o + 1) !== 126 || s.level >= s.options.maxNesting || (a = o > 0 ? s.src.charCodeAt(o - 1) : -1, l = s.src.charCodeAt(o + 2), a === 126) || l === 126 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && s.src.charCodeAt(i) === 126;) i++;\n if (i > o + 3) return s.pos += i - o, e || (s.pending += s.src.slice(o, i)), !0;\n for (s.pos = o + 2, n = 1; s.pos + 1 < r;) {\n if (s.src.charCodeAt(s.pos) === 126 && s.src.charCodeAt(s.pos + 1) === 126 && (a = s.src.charCodeAt(s.pos - 1), l = s.pos + 2 < r ? s.src.charCodeAt(s.pos + 2) : -1, l !== 126 && a !== 126 && (a !== 32 && a !== 10 ? n-- : l !== 32 && l !== 10 && n++, n <= 0))) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return t ? (s.posMax = s.pos, s.pos = o + 2, e || (s.push({\n type: \"del_open\",\n level: s.level++\n }), s.parser.tokenize(s), s.push({\n type: \"del_close\",\n level: --s.level\n })), s.pos = s.posMax + 2, s.posMax = r, !0) : (s.pos = o, !1);\n}\nfunction Lr(s, e) {\n var t,\n i,\n n,\n r = s.posMax,\n o = s.pos,\n a,\n l;\n if (s.src.charCodeAt(o) !== 43 || e || o + 4 >= r || s.src.charCodeAt(o + 1) !== 43 || s.level >= s.options.maxNesting || (a = o > 0 ? s.src.charCodeAt(o - 1) : -1, l = s.src.charCodeAt(o + 2), a === 43) || l === 43 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && s.src.charCodeAt(i) === 43;) i++;\n if (i !== o + 2) return s.pos += i - o, e || (s.pending += s.src.slice(o, i)), !0;\n for (s.pos = o + 2, n = 1; s.pos + 1 < r;) {\n if (s.src.charCodeAt(s.pos) === 43 && s.src.charCodeAt(s.pos + 1) === 43 && (a = s.src.charCodeAt(s.pos - 1), l = s.pos + 2 < r ? s.src.charCodeAt(s.pos + 2) : -1, l !== 43 && a !== 43 && (a !== 32 && a !== 10 ? n-- : l !== 32 && l !== 10 && n++, n <= 0))) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return t ? (s.posMax = s.pos, s.pos = o + 2, e || (s.push({\n type: \"ins_open\",\n level: s.level++\n }), s.parser.tokenize(s), s.push({\n type: \"ins_close\",\n level: --s.level\n })), s.pos = s.posMax + 2, s.posMax = r, !0) : (s.pos = o, !1);\n}\nfunction Rr(s, e) {\n var t,\n i,\n n,\n r = s.posMax,\n o = s.pos,\n a,\n l;\n if (s.src.charCodeAt(o) !== 61 || e || o + 4 >= r || s.src.charCodeAt(o + 1) !== 61 || s.level >= s.options.maxNesting || (a = o > 0 ? s.src.charCodeAt(o - 1) : -1, l = s.src.charCodeAt(o + 2), a === 61) || l === 61 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && s.src.charCodeAt(i) === 61;) i++;\n if (i !== o + 2) return s.pos += i - o, e || (s.pending += s.src.slice(o, i)), !0;\n for (s.pos = o + 2, n = 1; s.pos + 1 < r;) {\n if (s.src.charCodeAt(s.pos) === 61 && s.src.charCodeAt(s.pos + 1) === 61 && (a = s.src.charCodeAt(s.pos - 1), l = s.pos + 2 < r ? s.src.charCodeAt(s.pos + 2) : -1, l !== 61 && a !== 61 && (a !== 32 && a !== 10 ? n-- : l !== 32 && l !== 10 && n++, n <= 0))) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return t ? (s.posMax = s.pos, s.pos = o + 2, e || (s.push({\n type: \"mark_open\",\n level: s.level++\n }), s.parser.tokenize(s), s.push({\n type: \"mark_close\",\n level: --s.level\n })), s.pos = s.posMax + 2, s.posMax = r, !0) : (s.pos = o, !1);\n}\nfunction yn(s) {\n return s >= 48 && s <= 57 || s >= 65 && s <= 90 || s >= 97 && s <= 122;\n}\nfunction xn(s, e) {\n var t = e,\n i,\n n,\n r,\n o = !0,\n a = !0,\n l = s.posMax,\n c = s.src.charCodeAt(e);\n for (i = e > 0 ? s.src.charCodeAt(e - 1) : -1; t < l && s.src.charCodeAt(t) === c;) t++;\n return t >= l && (o = !1), r = t - e, r >= 4 ? o = a = !1 : (n = t < l ? s.src.charCodeAt(t) : -1, (n === 32 || n === 10) && (o = !1), (i === 32 || i === 10) && (a = !1), c === 95 && (yn(i) && (o = !1), yn(n) && (a = !1))), {\n can_open: o,\n can_close: a,\n delims: r\n };\n}\nfunction Nr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a,\n l,\n c = s.posMax,\n d = s.pos,\n u = s.src.charCodeAt(d);\n if (u !== 95 && u !== 42 || e) return !1;\n if (l = xn(s, d), t = l.delims, !l.can_open) return s.pos += t, e || (s.pending += s.src.slice(d, s.pos)), !0;\n if (s.level >= s.options.maxNesting) return !1;\n for (s.pos = d + t, a = [t]; s.pos < c;) {\n if (s.src.charCodeAt(s.pos) === u) {\n if (l = xn(s, s.pos), i = l.delims, l.can_close) {\n for (r = a.pop(), o = i; r !== o;) {\n if (o < r) {\n a.push(r - o);\n break;\n }\n if (o -= r, a.length === 0) break;\n s.pos += r, r = a.pop();\n }\n if (a.length === 0) {\n t = r, n = !0;\n break;\n }\n s.pos += i;\n continue;\n }\n l.can_open && a.push(i), s.pos += i;\n continue;\n }\n s.parser.skipToken(s);\n }\n return n ? (s.posMax = s.pos, s.pos = d + t, e || ((t === 2 || t === 3) && s.push({\n type: \"strong_open\",\n level: s.level++\n }), (t === 1 || t === 3) && s.push({\n type: \"em_open\",\n level: s.level++\n }), s.parser.tokenize(s), (t === 1 || t === 3) && s.push({\n type: \"em_close\",\n level: --s.level\n }), (t === 2 || t === 3) && s.push({\n type: \"strong_close\",\n level: --s.level\n })), s.pos = s.posMax + t, s.posMax = c, !0) : (s.pos = d, !1);\n}\nvar Or = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction Pr(s, e) {\n var t,\n i,\n n = s.posMax,\n r = s.pos;\n if (s.src.charCodeAt(r) !== 126 || e || r + 2 >= n || s.level >= s.options.maxNesting) return !1;\n for (s.pos = r + 1; s.pos < n;) {\n if (s.src.charCodeAt(s.pos) === 126) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return !t || r + 1 === s.pos || (i = s.src.slice(r + 1, s.pos), i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)) ? (s.pos = r, !1) : (s.posMax = s.pos, s.pos = r + 1, e || s.push({\n type: \"sub\",\n level: s.level,\n content: i.replace(Or, \"$1\")\n }), s.pos = s.posMax + 1, s.posMax = n, !0);\n}\nvar Dr = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction jr(s, e) {\n var t,\n i,\n n = s.posMax,\n r = s.pos;\n if (s.src.charCodeAt(r) !== 94 || e || r + 2 >= n || s.level >= s.options.maxNesting) return !1;\n for (s.pos = r + 1; s.pos < n;) {\n if (s.src.charCodeAt(s.pos) === 94) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return !t || r + 1 === s.pos || (i = s.src.slice(r + 1, s.pos), i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)) ? (s.pos = r, !1) : (s.posMax = s.pos, s.pos = r + 1, e || s.push({\n type: \"sup\",\n level: s.level,\n content: i.replace(Dr, \"$1\")\n }), s.pos = s.posMax + 1, s.posMax = n, !0);\n}\nfunction Fr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d = !1,\n u = s.pos,\n h = s.posMax,\n p = s.pos,\n m = s.src.charCodeAt(p);\n if (m === 33 && (d = !0, m = s.src.charCodeAt(++p)), m !== 91 || s.level >= s.options.maxNesting || (t = p + 1, i = bt(s, p), i < 0)) return !1;\n if (a = i + 1, a < h && s.src.charCodeAt(a) === 40) {\n for (a++; a < h && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a >= h) return !1;\n for (p = a, ts(s, a) ? (r = s.linkContent, a = s.pos) : r = \"\", p = a; a < h && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < h && p !== a && is(s, a)) for (o = s.linkContent, a = s.pos; a < h && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);else o = \"\";\n if (a >= h || s.src.charCodeAt(a) !== 41) return s.pos = u, !1;\n a++;\n } else {\n if (s.linkLevel > 0) return !1;\n for (; a < h && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < h && s.src.charCodeAt(a) === 91 && (p = a + 1, a = bt(s, a), a >= 0 ? n = s.src.slice(p, a++) : a = p - 1), n || (_typeof(n) > \"u\" && (a = i + 1), n = s.src.slice(t, i)), l = s.env.references[ns(n)], !l) return s.pos = u, !1;\n r = l.href, o = l.title;\n }\n return e || (s.pos = t, s.posMax = i, d ? s.push({\n type: \"image\",\n src: r,\n title: o,\n alt: s.src.substr(t, i - t),\n level: s.level\n }) : (s.push({\n type: \"link_open\",\n href: r,\n title: o,\n level: s.level++\n }), s.linkLevel++, s.parser.tokenize(s), s.linkLevel--, s.push({\n type: \"link_close\",\n level: --s.level\n }))), s.pos = a, s.posMax = h, !0;\n}\nfunction Br(s, e) {\n var t,\n i,\n n,\n r,\n o = s.posMax,\n a = s.pos;\n return a + 2 >= o || s.src.charCodeAt(a) !== 94 || s.src.charCodeAt(a + 1) !== 91 || s.level >= s.options.maxNesting || (t = a + 2, i = bt(s, a + 1), i < 0) ? !1 : (e || (s.env.footnotes || (s.env.footnotes = {}), s.env.footnotes.list || (s.env.footnotes.list = []), n = s.env.footnotes.list.length, s.pos = t, s.posMax = i, s.push({\n type: \"footnote_ref\",\n id: n,\n level: s.level\n }), s.linkLevel++, r = s.tokens.length, s.parser.tokenize(s), s.env.footnotes.list[n] = {\n tokens: s.tokens.splice(r)\n }, s.linkLevel--), s.pos = i + 1, s.posMax = o, !0);\n}\nfunction zr(s, e) {\n var t,\n i,\n n,\n r,\n o = s.posMax,\n a = s.pos;\n if (a + 3 > o || !s.env.footnotes || !s.env.footnotes.refs || s.src.charCodeAt(a) !== 91 || s.src.charCodeAt(a + 1) !== 94 || s.level >= s.options.maxNesting) return !1;\n for (i = a + 2; i < o; i++) {\n if (s.src.charCodeAt(i) === 32 || s.src.charCodeAt(i) === 10) return !1;\n if (s.src.charCodeAt(i) === 93) break;\n }\n return i === a + 2 || i >= o || (i++, t = s.src.slice(a + 2, i - 1), _typeof(s.env.footnotes.refs[\":\" + t]) > \"u\") ? !1 : (e || (s.env.footnotes.list || (s.env.footnotes.list = []), s.env.footnotes.refs[\":\" + t] < 0 ? (n = s.env.footnotes.list.length, s.env.footnotes.list[n] = {\n label: t,\n count: 0\n }, s.env.footnotes.refs[\":\" + t] = n) : n = s.env.footnotes.refs[\":\" + t], r = s.env.footnotes.list[n].count, s.env.footnotes.list[n].count++, s.push({\n type: \"footnote_ref\",\n id: n,\n subId: r,\n level: s.level\n })), s.pos = i, s.posMax = o, !0);\n}\nvar Ur = [\"coap\", \"doi\", \"javascript\", \"aaa\", \"aaas\", \"about\", \"acap\", \"cap\", \"cid\", \"crid\", \"data\", \"dav\", \"dict\", \"dns\", \"file\", \"ftp\", \"geo\", \"go\", \"gopher\", \"h323\", \"http\", \"https\", \"iax\", \"icap\", \"im\", \"imap\", \"info\", \"ipp\", \"iris\", \"iris.beep\", \"iris.xpc\", \"iris.xpcs\", \"iris.lwz\", \"ldap\", \"mailto\", \"mid\", \"msrp\", \"msrps\", \"mtqp\", \"mupdate\", \"news\", \"nfs\", \"ni\", \"nih\", \"nntp\", \"opaquelocktoken\", \"pop\", \"pres\", \"rtsp\", \"service\", \"session\", \"shttp\", \"sieve\", \"sip\", \"sips\", \"sms\", \"snmp\", \"soap.beep\", \"soap.beeps\", \"tag\", \"tel\", \"telnet\", \"tftp\", \"thismessage\", \"tn3270\", \"tip\", \"tv\", \"urn\", \"vemmi\", \"ws\", \"wss\", \"xcon\", \"xcon-userid\", \"xmlrpc.beep\", \"xmlrpc.beeps\", \"xmpp\", \"z39.50r\", \"z39.50s\", \"adiumxtra\", \"afp\", \"afs\", \"aim\", \"apt\", \"attachment\", \"aw\", \"beshare\", \"bitcoin\", \"bolo\", \"callto\", \"chrome\", \"chrome-extension\", \"com-eventbrite-attendee\", \"content\", \"cvs\", \"dlna-playsingle\", \"dlna-playcontainer\", \"dtn\", \"dvb\", \"ed2k\", \"facetime\", \"feed\", \"finger\", \"fish\", \"gg\", \"git\", \"gizmoproject\", \"gtalk\", \"hcp\", \"icon\", \"ipn\", \"irc\", \"irc6\", \"ircs\", \"itms\", \"jar\", \"jms\", \"keyparc\", \"lastfm\", \"ldaps\", \"magnet\", \"maps\", \"market\", \"message\", \"mms\", \"ms-help\", \"msnim\", \"mumble\", \"mvn\", \"notes\", \"oid\", \"palm\", \"paparazzi\", \"platform\", \"proxy\", \"psyc\", \"query\", \"res\", \"resource\", \"rmi\", \"rsync\", \"rtmp\", \"secondlife\", \"sftp\", \"sgn\", \"skype\", \"smb\", \"soldat\", \"spotify\", \"ssh\", \"steam\", \"svn\", \"teamspeak\", \"things\", \"udp\", \"unreal\", \"ut2004\", \"ventrilo\", \"view-source\", \"webcal\", \"wtai\", \"wyciwyg\", \"xfire\", \"xri\", \"ymsgr\"],\n qr = /^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,\n Hr = /^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;\nfunction Gr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a = s.pos;\n return s.src.charCodeAt(a) !== 60 || (t = s.src.slice(a), t.indexOf(\">\") < 0) ? !1 : (i = t.match(Hr), i ? Ur.indexOf(i[1].toLowerCase()) < 0 || (r = i[0].slice(1, -1), o = ji(r), !s.parser.validateLink(r)) ? !1 : (e || (s.push({\n type: \"link_open\",\n href: o,\n level: s.level\n }), s.push({\n type: \"text\",\n content: r,\n level: s.level + 1\n }), s.push({\n type: \"link_close\",\n level: s.level\n })), s.pos += i[0].length, !0) : (n = t.match(qr), n ? (r = n[0].slice(1, -1), o = ji(\"mailto:\" + r), s.parser.validateLink(o) ? (e || (s.push({\n type: \"link_open\",\n href: o,\n level: s.level\n }), s.push({\n type: \"text\",\n content: r,\n level: s.level + 1\n }), s.push({\n type: \"link_close\",\n level: s.level\n })), s.pos += n[0].length, !0) : !1) : !1));\n}\nfunction si(s, e) {\n return s = s.source, e = e || \"\", function t(i, n) {\n return i ? (n = n.source || n, s = s.replace(i, n), t) : new RegExp(s, e);\n };\n}\nvar Vr = /[a-zA-Z_:][a-zA-Z0-9:._-]*/,\n Wr = /[^\"'=<>`\\x00-\\x20]+/,\n Jr = /'[^']*'/,\n $r = /\"[^\"]*\"/,\n Kr = si(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\", Wr)(\"single_quoted\", Jr)(\"double_quoted\", $r)(),\n Yr = si(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\", Vr)(\"attr_value\", Kr)(),\n Zr = si(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\", Yr)(),\n Xr = /<\\/[A-Za-z][A-Za-z0-9]*\\s*>/,\n Qr = /<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/,\n eo = /<[?].*?[?]>/,\n to = /<![A-Z]+\\s+[^>]*>/,\n io = /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/,\n no = si(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\", Zr)(\"close_tag\", Xr)(\"comment\", Qr)(\"processing\", eo)(\"declaration\", to)(\"cdata\", io)();\nfunction so(s) {\n var e = s | 32;\n return e >= 97 && e <= 122;\n}\nfunction ro(s, e) {\n var t,\n i,\n n,\n r = s.pos;\n return !s.options.html || (n = s.posMax, s.src.charCodeAt(r) !== 60 || r + 2 >= n) || (t = s.src.charCodeAt(r + 1), t !== 33 && t !== 63 && t !== 47 && !so(t)) || (i = s.src.slice(r).match(no), !i) ? !1 : (e || s.push({\n type: \"htmltag\",\n content: s.src.slice(r, r + i[0].length),\n level: s.level\n }), s.pos += i[0].length, !0);\n}\nvar oo = /^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,\n ao = /^&([a-z][a-z0-9]{1,31});/i;\nfunction lo(s, e) {\n var t,\n i,\n n,\n r = s.pos,\n o = s.posMax;\n if (s.src.charCodeAt(r) !== 38) return !1;\n if (r + 1 < o) {\n if (t = s.src.charCodeAt(r + 1), t === 35) {\n if (n = s.src.slice(r).match(oo), n) return e || (i = n[1][0].toLowerCase() === \"x\" ? parseInt(n[1].slice(1), 16) : parseInt(n[1], 10), s.pending += Qn(i) ? Di(i) : Di(65533)), s.pos += n[0].length, !0;\n } else if (n = s.src.slice(r).match(ao), n) {\n var a = Zn(n[1]);\n if (n[1] !== a) return e || (s.pending += a), s.pos += n[0].length, !0;\n }\n }\n return e || (s.pending += \"&\"), s.pos++, !0;\n}\nvar Ai = [[\"text\", Tr], [\"newline\", Cr], [\"escape\", Ar], [\"backticks\", kr], [\"del\", Ir], [\"ins\", Lr], [\"mark\", Rr], [\"emphasis\", Nr], [\"sub\", Pr], [\"sup\", jr], [\"links\", Fr], [\"footnote_inline\", Br], [\"footnote_ref\", zr], [\"autolink\", Gr], [\"htmltag\", ro], [\"entity\", lo]];\nfunction ri() {\n this.ruler = new W();\n for (var s = 0; s < Ai.length; s++) this.ruler.push(Ai[s][0], Ai[s][1]);\n this.validateLink = co;\n}\nri.prototype.skipToken = function (s) {\n var e = this.ruler.getRules(\"\"),\n t = e.length,\n i = s.pos,\n n,\n r;\n if ((r = s.cacheGet(i)) > 0) {\n s.pos = r;\n return;\n }\n for (n = 0; n < t; n++) if (e[n](s, !0)) {\n s.cacheSet(i, s.pos);\n return;\n }\n s.pos++, s.cacheSet(i, s.pos);\n};\nri.prototype.tokenize = function (s) {\n for (var e = this.ruler.getRules(\"\"), t = e.length, i = s.posMax, n, r; s.pos < i;) {\n for (r = 0; r < t && (n = e[r](s, !1), !n); r++);\n if (n) {\n if (s.pos >= i) break;\n continue;\n }\n s.pending += s.src[s.pos++];\n }\n s.pending && s.pushPending();\n};\nri.prototype.parse = function (s, e, t, i) {\n var n = new je(s, this, e, t, i);\n this.tokenize(n);\n};\nfunction co(s) {\n var e = [\"vbscript\", \"javascript\", \"file\", \"data\"],\n t = s.trim().toLowerCase();\n return t = Ne(t), !(t.indexOf(\":\") !== -1 && e.indexOf(t.split(\":\")[0]) !== -1);\n}\nvar uo = {\n options: {\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n core: {\n rules: [\"block\", \"inline\", \"references\", \"replacements\", \"smartquotes\", \"references\", \"abbr2\", \"footnote_tail\"]\n },\n block: {\n rules: [\"blockquote\", \"code\", \"fences\", \"footnote\", \"heading\", \"hr\", \"htmlblock\", \"lheading\", \"list\", \"paragraph\", \"table\"]\n },\n inline: {\n rules: [\"autolink\", \"backticks\", \"del\", \"emphasis\", \"entity\", \"escape\", \"footnote_ref\", \"htmltag\", \"links\", \"newline\", \"text\"]\n }\n }\n },\n ho = {\n options: {\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n // Don't restrict core/block/inline rules\n core: {},\n block: {},\n inline: {}\n }\n },\n po = {\n options: {\n html: !0,\n // Enable HTML tags in source\n xhtmlOut: !0,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n core: {\n rules: [\"block\", \"inline\", \"references\", \"abbr2\"]\n },\n block: {\n rules: [\"blockquote\", \"code\", \"fences\", \"heading\", \"hr\", \"htmlblock\", \"lheading\", \"list\", \"paragraph\"]\n },\n inline: {\n rules: [\"autolink\", \"backticks\", \"emphasis\", \"entity\", \"escape\", \"htmltag\", \"links\", \"newline\", \"text\"]\n }\n }\n },\n fo = {\n \"default\": uo,\n full: ho,\n commonmark: po\n };\nfunction os(s, e, t) {\n this.src = e, this.env = t, this.options = s.options, this.tokens = [], this.inlineMode = !1, this.inline = s.inline, this.block = s.block, this.renderer = s.renderer, this.typographer = s.typographer;\n}\nfunction fe(s, e) {\n typeof s != \"string\" && (e = s, s = \"default\"), e && e.linkify != null && console.warn(\"linkify option is removed. Use linkify plugin instead:\\n\\nimport Remarkable from 'remarkable';\\nimport linkify from 'remarkable/linkify';\\nnew Remarkable().use(linkify)\\n\"), this.inline = new ri(), this.block = new Ji(), this.core = new ss(), this.renderer = new Wi(), this.ruler = new W(), this.options = {}, this.configure(fo[s]), this.set(e || {});\n}\nfe.prototype.set = function (s) {\n Xn(this.options, s);\n};\nfe.prototype.configure = function (s) {\n var e = this;\n if (!s) throw new Error(\"Wrong `remarkable` preset, check name/content\");\n s.options && e.set(s.options), s.components && Object.keys(s.components).forEach(function (t) {\n s.components[t].rules && e[t].ruler.enable(s.components[t].rules, !0);\n });\n};\nfe.prototype.use = function (s, e) {\n return s(this, e), this;\n};\nfe.prototype.parse = function (s, e) {\n var t = new os(this, s, e);\n return this.core.process(t), t.tokens;\n};\nfe.prototype.render = function (s, e) {\n return e = e || {}, this.renderer.render(this.parse(s, e), this.options, e);\n};\nfe.prototype.parseInline = function (s, e) {\n var t = new os(this, s, e);\n return t.inlineMode = !0, this.core.process(t), t.tokens;\n};\nfe.prototype.renderInline = function (s, e) {\n return e = e || {}, this.renderer.render(this.parseInline(s, e), this.options, e);\n};\nvar vt = /*#__PURE__*/function () {\n function vt() {\n _classCallCheck(this, vt);\n }\n _createClass(vt, null, [{\n key: \"instantiate\",\n value: function instantiate() {\n var e = window.hljs;\n return e ? new fe({\n highlight: function highlight(t, i) {\n if (i && e.getLanguage(i)) try {\n return e.highlight(i, t).value;\n } catch (_unused3) {\n console.error(\"failed to setup the highlight dependency\");\n }\n try {\n return e.highlightAuto(t).value;\n } catch (_unused4) {\n console.error(\"failed to automatically highlight messages\");\n }\n return \"\";\n },\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"_blank\",\n // set target to open in a new tab\n typographer: !0\n // Enable smartypants and other sweet transforms\n }) : new fe({\n linkTarget: \"_blank\"\n // set target to open in a new tab\n });\n }\n }, {\n key: \"createNew\",\n value: function createNew() {\n var e = vt.instantiate();\n return e.inline.validateLink = function () {\n return !0;\n }, e;\n }\n }]);\n return vt;\n}();\nvar as = /*#__PURE__*/function () {\n function We() {\n _classCallCheck(this, We);\n }\n _createClass(We, null, [{\n key: \"addMessage\",\n value: function addMessage(e, t, i, n) {\n var r;\n e.elementRef.appendChild(t.outerContainer), e.applyCustomStyles(t, n, !0, (r = e.messageStyles) == null ? void 0 : r[i]), e.elementRef.scrollTop = e.elementRef.scrollHeight;\n }\n }, {\n key: \"wrapInLink\",\n value: function wrapInLink(e, t, i) {\n var n = document.createElement(\"a\");\n return n.href = t, n.download = i || We.DEFAULT_FILE_NAME, n.target = \"_blank\", n.appendChild(e), n;\n }\n }, {\n key: \"isNonLinkableDataUrl\",\n value: function isNonLinkableDataUrl(e, t) {\n return !t.startsWith(\"data\") || e === \"image\" ? !1 : e === \"any\" && t.startsWith(\"data:text/javascript\") || !t.startsWith(\"data:image\");\n }\n }, {\n key: \"processContent\",\n value: function processContent(e, t, i, n) {\n return !i || We.isNonLinkableDataUrl(e, i) ? t : We.wrapInLink(t, i, n);\n }\n }, {\n key: \"waitToLoadThenScroll\",\n value: function waitToLoadThenScroll(e) {\n setTimeout(function () {\n e.scrollTop = e.scrollHeight;\n }, 60);\n }\n }, {\n key: \"scrollDownOnImageLoad\",\n value: function scrollDownOnImageLoad(e, t) {\n if (e.startsWith(\"data\")) We.waitToLoadThenScroll(t);else try {\n fetch(e, {\n mode: \"no-cors\"\n })[\"catch\"](function () {})[\"finally\"](function () {\n We.waitToLoadThenScroll(t);\n });\n } catch (_unused5) {\n t.scrollTop = t.scrollHeight;\n }\n }\n // The strategy is to emit the actual file reference in the `onNewMessage` event for the user to inspect it\n // But it is not actually used by anything in the chat, hence it is removed when adding a message\n // after the body has been stringified and parsed - the file reference will disappear, hence this readds it\n }, {\n key: \"reAddFileRefToObject\",\n value: function reAddFileRefToObject(e, t) {\n var i;\n (i = e.files) == null || i.forEach(function (n, r) {\n var o;\n n.ref && (o = t.message.files) != null && o[r] && (t.message.files[r].ref = n.ref);\n });\n }\n // the chat does not use the actual file\n }, {\n key: \"removeFileRef\",\n value: function removeFileRef(e) {\n var t = _objectSpread({}, e);\n return delete t.ref, t;\n }\n }]);\n return We;\n}();\nas.DEFAULT_FILE_NAME = \"file\";\nvar ae = as;\nvar zt = /*#__PURE__*/function () {\n function zt() {\n _classCallCheck(this, zt);\n }\n _createClass(zt, null, [{\n key: \"onNewMessage\",\n value: function onNewMessage(e, t, i) {\n var r;\n var n = JSON.parse(JSON.stringify({\n message: t,\n isInitial: i\n }));\n ae.reAddFileRefToObject(t, n), (r = e.onNewMessage) == null || r.call(e, n), e.dispatchEvent(new CustomEvent(\"new-message\", {\n detail: n\n }));\n }\n }, {\n key: \"onClearMessages\",\n value: function onClearMessages(e) {\n var t;\n (t = e.onClearMessages) == null || t.call(e), e.dispatchEvent(new CustomEvent(\"clear-messages\"));\n }\n }, {\n key: \"onRender\",\n value: function onRender(e) {\n var t;\n (t = e.onComponentRender) == null || t.call(e, e), e.dispatchEvent(new CustomEvent(\"render\", {\n detail: e\n }));\n }\n }, {\n key: \"onError\",\n value: function onError(e, t) {\n var i;\n (i = e.onError) == null || i.call(e, t), e.dispatchEvent(new CustomEvent(\"error\", {\n detail: t\n }));\n }\n }]);\n return zt;\n}();\nvar D = /*#__PURE__*/function () {\n function D() {\n _classCallCheck(this, D);\n }\n _createClass(D, null, [{\n key: \"applyCustomStylesToElements\",\n value: function applyCustomStylesToElements(e, t, i) {\n if (i && (Object.assign(e.outerContainer.style, i.outerContainer), Object.assign(e.innerContainer.style, i.innerContainer), Object.assign(e.bubbleElement.style, i.bubble), t)) {\n var n = e.bubbleElement.children[0],\n r = n.tagName.toLocaleLowerCase() !== \"a\" ? n : n.children[0];\n Object.assign(r.style, i.media);\n }\n }\n }, {\n key: \"applySideStyles\",\n value: function applySideStyles(e, t, i, n) {\n n && (D.applyCustomStylesToElements(e, i, n.shared), t === b.USER_ROLE ? D.applyCustomStylesToElements(e, i, n.user) : (D.applyCustomStylesToElements(e, i, n.ai), D.applyCustomStylesToElements(e, i, n[t])));\n }\n }, {\n key: \"isMessageSideStyles\",\n value: function isMessageSideStyles(e) {\n return !!(e.ai || e.shared || e.user);\n }\n // prettier-ignore\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, n, r) {\n var o;\n r && e[\"default\"] !== r ? D.isMessageSideStyles(r) ? (D.applySideStyles(t, i, n, e[\"default\"]), D.applySideStyles(t, i, n, r)) : (D.applyCustomStylesToElements(t, n, (o = e[\"default\"]) == null ? void 0 : o.shared), D.applyCustomStylesToElements(t, n, r)) : D.applySideStyles(t, i, n, e[\"default\"]);\n }\n // prettier-ignore\n }, {\n key: \"extractParticularSharedStyles\",\n value: function extractParticularSharedStyles(e, t) {\n if (!(t != null && t.shared)) return;\n var i = t.shared,\n n = {\n outerContainer: {},\n innerContainer: {},\n bubble: {},\n media: {}\n };\n return e.forEach(function (r) {\n var o, a, l, c;\n n.outerContainer[r] = ((o = i.outerContainer) == null ? void 0 : o[r]) || \"\", n.innerContainer[r] = ((a = i.innerContainer) == null ? void 0 : a[r]) || \"\", n.bubble[r] = ((l = i.bubble) == null ? void 0 : l[r]) || \"\", n.media[r] = ((c = i.media) == null ? void 0 : c[r]) || \"\";\n }), n;\n }\n }]);\n return D;\n}();\nvar Ye = /*#__PURE__*/function () {\n function Ye(e) {\n var _this3 = this;\n _classCallCheck(this, Ye);\n this.messageElementRefs = [], this.messages = [], this.htmlClassUtilities = {}, this.textElementsToText = [], this.elementRef = Ye.createContainerElement(), this.messageStyles = e.messageStyles, this._remarkable = vt.createNew(), this._avatars = e.avatars, this._names = e.names, this._onNewMessage = zt.onNewMessage.bind(this, e), e.htmlClassUtilities && (this.htmlClassUtilities = e.htmlClassUtilities), setTimeout(function () {\n _this3.submitUserMessage = e.submitUserMessage;\n });\n }\n _createClass(Ye, [{\n key: \"addNewTextMessage\",\n value: function addNewTextMessage(e, t, i) {\n if (i != null && i.status) {\n var r = this.overwriteText(t, e, this.messageElementRefs);\n if (r) return r;\n i.status = !1;\n }\n var n = this.createAndAppendNewMessageElement(e, t);\n return n.bubbleElement.classList.add(\"text-message\"), this.applyCustomStyles(n, t, !1), b.fillEmptyMessageElement(n.bubbleElement, e), this.textElementsToText.push([n, e]), n;\n }\n }, {\n key: \"overwriteText\",\n value: function overwriteText(e, t, i) {\n var n = b.overwriteMessage(this.messages, i, t, e, \"text\", \"text-message\");\n if (n) {\n this.renderText(n.bubbleElement, t);\n var r = b.getLastTextToElement(this.textElementsToText, n);\n r && (r[1] = t);\n }\n return n;\n }\n }, {\n key: \"createAndAppendNewMessageElement\",\n value: function createAndAppendNewMessageElement(e, t) {\n var _this4 = this;\n var i = this.createNewMessageElement(e, t);\n return this.elementRef.appendChild(i.outerContainer), setTimeout(function () {\n return G.scrollToBottom(_this4.elementRef);\n }), i;\n }\n }, {\n key: \"createNewMessageElement\",\n value: function createNewMessageElement(e, t) {\n var n;\n (n = this._introPanel) == null || n.hide();\n var i = this.messageElementRefs[this.messageElementRefs.length - 1];\n return Ye.isTemporaryElement(i) && (i.outerContainer.remove(), this.messageElementRefs.pop()), this.createMessageElements(e, t);\n }\n }, {\n key: \"createMessageElements\",\n value: function createMessageElements(e, t) {\n var i = Ye.createBaseElements(),\n n = i.outerContainer,\n r = i.innerContainer,\n o = i.bubbleElement;\n return n.appendChild(r), this.addInnerContainerElements(o, e, t), this.messageElementRefs.push(i), i;\n }\n }, {\n key: \"addInnerContainerElements\",\n value:\n // prettier-ignore\n function addInnerContainerElements(e, t, i) {\n var n;\n return ((n = this.messages[this.messages.length - 1]) == null ? void 0 : n.role) === i && !this.isLastMessageError() && b.hideRoleElements(this.messageElementRefs, !!this._avatars, !!this._names), e.classList.add(\"message-bubble\", b.getRoleClass(i), i === b.USER_ROLE ? \"user-message-text\" : \"ai-message-text\"), this.renderText(e, t), b.addRoleElements(e, i, this._avatars, this._names), {\n bubbleElement: e\n };\n }\n // prettier-ignore\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, n) {\n e && this.messageStyles && D.applyCustomStyles(this.messageStyles, e, t, i, n);\n }\n }, {\n key: \"removeLastMessage\",\n value: function removeLastMessage() {\n this.messageElementRefs[this.messageElementRefs.length - 1].outerContainer.remove(), this.messageElementRefs.pop();\n }\n }, {\n key: \"isLastMessageError\",\n value: function isLastMessageError() {\n var e;\n return (e = b.getLastMessageBubbleElement(this.elementRef)) == null ? void 0 : e.classList.contains(\"error-message-text\");\n }\n }, {\n key: \"sendClientUpdate\",\n value: function sendClientUpdate(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i;\n (i = this._onNewMessage) == null || i.call(this, e, t);\n }\n }, {\n key: \"renderText\",\n value: function renderText(e, t) {\n e.innerHTML = this._remarkable.render(t), e.innerText.trim().length === 0 && (e.innerText = t);\n }\n // this is mostly used for enabling highlight.js to highlight code if it downloads later\n }, {\n key: \"refreshTextMessages\",\n value: function refreshTextMessages() {\n var _this5 = this;\n this._remarkable = vt.createNew(), this.textElementsToText.forEach(function (e) {\n _this5.renderText(e[0].bubbleElement, e[1]);\n });\n }\n }], [{\n key: \"createContainerElement\",\n value: function createContainerElement() {\n var e = document.createElement(\"div\");\n return e.id = \"messages\", e;\n }\n }, {\n key: \"isTemporaryElement\",\n value: function isTemporaryElement(e) {\n return (e == null ? void 0 : e.bubbleElement.classList.contains(\"loading-message-text\")) || xe.isElementTemporary(e);\n }\n }, {\n key: \"createBaseElements\",\n value: function createBaseElements() {\n var e = document.createElement(\"div\"),\n t = document.createElement(\"div\");\n t.classList.add(\"inner-message-container\"), e.appendChild(t), e.classList.add(\"outer-message-container\");\n var i = document.createElement(\"div\");\n return i.classList.add(\"message-bubble\"), t.appendChild(i), {\n outerContainer: e,\n innerContainer: t,\n bubbleElement: i\n };\n }\n }, {\n key: \"createMessageContent\",\n value: function createMessageContent(e) {\n var t = e.text,\n i = e.files,\n n = e.html,\n r = e._sessionId,\n o = e.role,\n a = {\n role: o || b.AI_ROLE\n };\n return t && (a.text = t), i && (a.files = i), n && (a.html = n), !t && !i && !n && (a.text = \"\"), r && (a._sessionId = r), a;\n }\n }]);\n return Ye;\n}();\nvar Ki = /*#__PURE__*/function () {\n // used for extracting at end and for isStreaming\n function ot(e) {\n _classCallCheck(this, ot);\n this._fileAdded = !1, this._streamedContent = \"\", this._streamType = \"\", this._hasStreamEnded = !1, this._messages = e;\n }\n _createClass(ot, [{\n key: \"upsertStreamedMessage\",\n value: function upsertStreamedMessage(e) {\n var r;\n if (this._hasStreamEnded) return;\n if ((e == null ? void 0 : e.text) === void 0 && (e == null ? void 0 : e.html) === void 0) return console.error(A.INVALID_STREAM_EVENT);\n var t = (e == null ? void 0 : e.text) || (e == null ? void 0 : e.html) || \"\",\n i = G.isScrollbarAtBottomOfElement(this._messages.elementRef),\n n = (e == null ? void 0 : e.text) !== void 0 ? \"text\" : \"html\";\n if (!this._elements && this._streamedContent === \"\") this.setInitialState(n, t, e == null ? void 0 : e.role);else {\n if (this._streamType !== n) return console.error(A.INVALID_STREAM_EVENT_MIX);\n this.updateBasedOnType(t, n, (r = this._elements) == null ? void 0 : r.bubbleElement, e == null ? void 0 : e.overwrite);\n }\n i && G.scrollToBottom(this._messages.elementRef);\n }\n }, {\n key: \"setInitialState\",\n value: function setInitialState(e, t, i) {\n var _i8;\n this._streamType = e, (_i8 = i) !== null && _i8 !== void 0 ? _i8 : i = b.AI_ROLE, this._elements = e === \"text\" ? this._messages.addNewTextMessage(t, i) : Qe.add(this._messages, t, i, this._messages.messageElementRefs), this._elements.bubbleElement.classList.add(ot.MESSAGE_CLASS), this._streamedContent = t, this._activeMessageRole = i, this._message = _defineProperty({\n role: this._activeMessageRole\n }, e, this._streamedContent), this._messages.messages.push(this._message);\n }\n }, {\n key: \"updateBasedOnType\",\n value: function updateBasedOnType(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n b.unfillEmptyMessageElement(i, e), (t === \"text\" ? this.updateText : this.updateHTML).bind(this)(e, i, n);\n }\n }, {\n key: \"updateText\",\n value: function updateText(e, t, i) {\n this._streamedContent = i ? e : this._streamedContent + e, this._messages.textElementsToText[this._messages.textElementsToText.length - 1][1] = this._streamedContent, this._messages.renderText(t, this._streamedContent);\n }\n }, {\n key: \"updateHTML\",\n value: function updateHTML(e, t, i) {\n if (i) this._streamedContent = e, t.innerHTML = e;else {\n var n = document.createElement(\"span\");\n n.innerHTML = e, t.appendChild(n), this._streamedContent = ot.HTML_CONTENT_PLACEHOLDER;\n }\n }\n }, {\n key: \"finaliseStreamedMessage\",\n value: function finaliseStreamedMessage() {\n var t, i;\n var e = this._messages.textElementsToText;\n if (!(this._fileAdded && !this._elements)) {\n if (!this._elements) throw Error(A.NO_VALID_STREAM_EVENTS_SENT);\n (t = this._elements.bubbleElement) != null && t.classList.contains(ot.MESSAGE_CLASS) && (this._streamType === \"text\" ? (e[e.length - 1][1] = this._streamedContent, this._message && (this._message.text = this._streamedContent), this._messages.textToSpeech && Ft.speak(this._streamedContent, this._messages.textToSpeech)) : this._streamType === \"html\" && (this._streamedContent === ot.HTML_CONTENT_PLACEHOLDER && (this._streamedContent = ((i = this._elements.bubbleElement) == null ? void 0 : i.innerHTML) || \"\"), this._elements && le.apply(this._messages, this._elements.outerContainer), this._message && (this._message.html = this._streamedContent)), this._message && this._messages.sendClientUpdate(Ye.createMessageContent(this._message), !1), this._hasStreamEnded = !0);\n }\n }\n }, {\n key: \"markFileAded\",\n value: function markFileAded() {\n this._fileAdded = !0;\n }\n }]);\n return ot;\n}();\nKi.MESSAGE_CLASS = \"streamed-message\";\nKi.HTML_CONTENT_PLACEHOLDER = \"htmlplaceholder\";\nvar Oe = Ki;\nvar ls = /*#__PURE__*/function () {\n function at() {\n _classCallCheck(this, at);\n }\n _createClass(at, null, [{\n key: \"tempRemoveContentHeader\",\n value: // need to pass stringifyBody boolean separately as binding is throwing an error for some reason\n // prettier-ignore\n function () {\n var _tempRemoveContentHeader = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (e != null && e.headers) {\n _context.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n n = e.headers[at.CONTENT_TYPE];\n delete e.headers[at.CONTENT_TYPE];\n _context.prev = 4;\n _context.next = 7;\n return t(i);\n case 7:\n r = _context.sent;\n _context.next = 13;\n break;\n case 10:\n _context.prev = 10;\n _context.t0 = _context[\"catch\"](4);\n throw e.headers[at.CONTENT_TYPE] = n, _context.t0;\n case 13:\n return _context.abrupt(\"return\", (e.headers[at.CONTENT_TYPE] = n, r));\n case 14:\n case \"end\":\n return _context.stop();\n }\n }, _callee, null, [[4, 10]]);\n }));\n function tempRemoveContentHeader(_x5, _x6, _x7) {\n return _tempRemoveContentHeader.apply(this, arguments);\n }\n return tempRemoveContentHeader;\n }()\n }, {\n key: \"displayError\",\n value: function displayError(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"Service error, please try again.\";\n if (console.error(t), _typeof(t) == \"object\") return Object.keys(t).length === 0 ? e.addNewErrorMessage(\"service\", i) : e.addNewErrorMessage(\"service\", JSON.stringify(t));\n e.addNewErrorMessage(\"service\", t);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x, _x2, _x3, _x4) {\n return _fetch.apply(this, arguments);\n }\n fetch.toString = function () {\n return _fetch.toString();\n };\n return fetch;\n }(function (e, t, i, n) {\n var o, a;\n var r = {\n method: ((o = e.requestSettings) == null ? void 0 : o.method) || \"POST\",\n headers: t\n };\n return r.method !== \"GET\" && (r.body = i ? JSON.stringify(n) : n), e.requestSettings.credentials && (r.credentials = e.requestSettings.credentials), fetch(((a = e.requestSettings) == null ? void 0 : a.url) || e.url || \"\", r);\n })\n }, {\n key: \"processResponseByType\",\n value: function processResponseByType(e) {\n var t = e.headers.get(\"content-type\");\n return t != null && t.includes(\"application/json\") ? e.json() : t != null && t.includes(\"text/plain\") || !t ? e : e.blob();\n }\n }, {\n key: \"processRequestInterceptor\",\n value: function () {\n var _processRequestInterceptor = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e, t) {\n var o, i, n, r;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return (o = e.requestInterceptor) == null ? void 0 : o.call(e, t);\n case 2:\n _context2.t0 = _context2.sent;\n if (_context2.t0) {\n _context2.next = 5;\n break;\n }\n _context2.t0 = t;\n case 5:\n i = _context2.t0;\n n = i;\n r = i;\n return _context2.abrupt(\"return\", {\n body: n.body,\n headers: n.headers,\n error: r.error\n });\n case 9:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n function processRequestInterceptor(_x8, _x9) {\n return _processRequestInterceptor.apply(this, arguments);\n }\n return processRequestInterceptor;\n }()\n }, {\n key: \"validateResponseFormat\",\n value: function validateResponseFormat(e) {\n return e && _typeof(e) == \"object\" && (typeof e.error == \"string\" || typeof e.text == \"string\" || typeof e.html == \"string\" || Array.isArray(e.files));\n }\n }, {\n key: \"onInterceptorError\",\n value: function onInterceptorError(e, t, i) {\n e.addNewErrorMessage(\"service\", t), i == null || i();\n }\n }]);\n return at;\n}();\nls.CONTENT_TYPE = \"Content-Type\";\nvar v = ls;\nfunction mo(_x10, _x11) {\n return _mo.apply(this, arguments);\n}\nfunction _mo() {\n _mo = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee113(s, e) {\n var t, i;\n return _regeneratorRuntime().wrap(function _callee113$(_context113) {\n while (1) switch (_context113.prev = _context113.next) {\n case 0:\n t = s.getReader();\n case 1:\n _context113.next = 3;\n return t.read();\n case 3:\n if ((i = _context113.sent).done) {\n _context113.next = 7;\n break;\n }\n e(i.value);\n case 5:\n _context113.next = 1;\n break;\n case 7:\n case \"end\":\n return _context113.stop();\n }\n }, _callee113);\n }));\n return _mo.apply(this, arguments);\n}\nfunction go(s) {\n var e,\n t,\n i,\n n = !1;\n return function (o) {\n e === void 0 ? (e = o, t = 0, i = -1) : e = vo(e, o);\n var a = e.length;\n var l = 0;\n for (; t < a;) {\n n && (e[t] === 10 && (l = ++t), n = !1);\n var c = -1;\n for (; t < a && c === -1; ++t) switch (e[t]) {\n case 58:\n i === -1 && (i = t - l);\n break;\n case 13:\n n = !0;\n case 10:\n c = t;\n break;\n }\n if (c === -1) break;\n s(e.subarray(l, c), i), l = t, i = -1;\n }\n l === a ? e = void 0 : l !== 0 && (e = e.subarray(l), t -= l);\n };\n}\nfunction bo(s, e, t) {\n var i = En();\n var n = new TextDecoder();\n return function (o, a) {\n if (o.length === 0) t == null || t(i), i = En();else if (a > 0) {\n var l = n.decode(o.subarray(0, a)),\n c = a + (o[a + 1] === 32 ? 2 : 1),\n d = n.decode(o.subarray(c));\n switch (l) {\n case \"data\":\n i.data = i.data ? i.data + \"\\n\" + d : d;\n break;\n case \"event\":\n i.event = d;\n break;\n case \"id\":\n s(i.id = d);\n break;\n case \"retry\":\n var u = parseInt(d, 10);\n isNaN(u) || e(i.retry = u);\n break;\n }\n }\n };\n}\nfunction vo(s, e) {\n var t = new Uint8Array(s.length + e.length);\n return t.set(s), t.set(e, s.length), t;\n}\nfunction En() {\n return {\n data: \"\",\n event: \"\",\n id: \"\",\n retry: void 0\n };\n}\nvar yo = globalThis && globalThis.__rest || function (s, e) {\n var t = {};\n for (var i in s) Object.prototype.hasOwnProperty.call(s, i) && e.indexOf(i) < 0 && (t[i] = s[i]);\n if (s != null && typeof Object.getOwnPropertySymbols == \"function\") for (var n = 0, i = Object.getOwnPropertySymbols(s); n < i.length; n++) e.indexOf(i[n]) < 0 && Object.prototype.propertyIsEnumerable.call(s, i[n]) && (t[i[n]] = s[i[n]]);\n return t;\n};\nvar Fi = \"text/event-stream\",\n xo = 1e3,\n _n = \"last-event-id\";\nfunction Eo(s, e) {\n var t = e.signal,\n i = e.headers,\n n = e.onopen,\n r = e.onmessage,\n o = e.onclose,\n a = e.onerror,\n l = e.openWhenHidden,\n c = e.fetch,\n d = yo(e, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\n return new Promise(function (u, h) {\n var p = Object.assign({}, i);\n p.accept || (p.accept = Fi);\n var m;\n function f() {\n m.abort(), document.hidden || H();\n }\n l || document.addEventListener(\"visibilitychange\", f);\n var _ = xo,\n S = 0;\n function J() {\n document.removeEventListener(\"visibilitychange\", f), window.clearTimeout(S), m.abort();\n }\n t == null || t.addEventListener(\"abort\", function () {\n J(), u();\n });\n var X = c !== null && c !== void 0 ? c : window.fetch,\n O = n !== null && n !== void 0 ? n : _o;\n function H() {\n return _H.apply(this, arguments);\n }\n function _H() {\n _H = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {\n var Q, ee, I;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n m = new AbortController();\n _context3.prev = 1;\n _context3.next = 4;\n return X(s, Object.assign(Object.assign({}, d), {\n headers: p,\n signal: m.signal\n }));\n case 4:\n ee = _context3.sent;\n _context3.next = 7;\n return O(ee);\n case 7:\n _context3.next = 9;\n return mo(ee.body, go(bo(function (I) {\n I ? p[_n] = I : delete p[_n];\n }, function (I) {\n _ = I;\n }, r)));\n case 9:\n o == null || o();\n J();\n u();\n _context3.next = 17;\n break;\n case 14:\n _context3.prev = 14;\n _context3.t0 = _context3[\"catch\"](1);\n if (!m.signal.aborted) try {\n I = (Q = a == null ? void 0 : a(_context3.t0)) !== null && Q !== void 0 ? Q : _;\n window.clearTimeout(S), S = window.setTimeout(H, I);\n } catch (I) {\n J(), h(I);\n }\n case 17:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, null, [[1, 14]]);\n }));\n return _H.apply(this, arguments);\n }\n H();\n });\n}\nfunction _o(s) {\n var e = s.headers.get(\"content-type\");\n if (!(e != null && e.startsWith(Fi))) throw new Error(\"Expected content-type to be \".concat(Fi, \", Actual: \").concat(e));\n}\nvar T = /*#__PURE__*/function () {\n function T() {\n _classCallCheck(this, T);\n }\n _createClass(T, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(e, t, i) {\n var n,\n m,\n f,\n _,\n S,\n J,\n X,\n r,\n _yield$v$processReque,\n o,\n a,\n l,\n _e$streamHandlers,\n c,\n d,\n u,\n h,\n p,\n _args6 = arguments;\n return _regeneratorRuntime().wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n n = _args6.length > 3 && _args6[3] !== undefined ? _args6[3] : !0;\n r = {\n body: t,\n headers: (m = e.requestSettings) == null ? void 0 : m.headers\n };\n _context6.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque = _context6.sent;\n o = _yield$v$processReque.body;\n a = _yield$v$processReque.headers;\n l = _yield$v$processReque.error;\n _e$streamHandlers = e.streamHandlers;\n c = _e$streamHandlers.onOpen;\n d = _e$streamHandlers.onClose;\n u = _e$streamHandlers.abortStream;\n if (!l) {\n _context6.next = 14;\n break;\n }\n return _context6.abrupt(\"return\", v.onInterceptorError(i, l, d));\n case 14:\n if (!((f = e.requestSettings) != null && f.handler)) {\n _context6.next = 16;\n break;\n }\n return _context6.abrupt(\"return\", he.stream(e, o, i));\n case 16:\n if (!(((_ = e.requestSettings) == null ? void 0 : _.url) === Ee.URL)) {\n _context6.next = 18;\n break;\n }\n return _context6.abrupt(\"return\", Ee.requestStream(i, e.streamHandlers));\n case 18:\n h = new Oe(i), p = v.fetch.bind(this, e, a, n);\n Eo(((S = e.requestSettings) == null ? void 0 : S.url) || e.url || \"\", {\n method: ((J = e.requestSettings) == null ? void 0 : J.method) || \"POST\",\n headers: a,\n credentials: (X = e.requestSettings) == null ? void 0 : X.credentials,\n body: n ? JSON.stringify(o) : o,\n openWhenHidden: !0,\n // keep stream open when browser tab not open\n onopen: function onopen(O) {\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n if (!O.ok) {\n _context4.next = 2;\n break;\n }\n return _context4.abrupt(\"return\", c());\n case 2:\n _context4.next = 4;\n return v.processResponseByType(O);\n case 4:\n throw _context4.sent;\n case 5:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4);\n }))();\n },\n onmessage: function onmessage(O) {\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {\n var H, Q, ee, I, Rt;\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n if (!(JSON.stringify(O.data) !== JSON.stringify(\"[DONE]\"))) {\n _context5.next = 9;\n break;\n }\n try {\n I = JSON.parse(O.data);\n } catch (_unused6) {\n I = {};\n }\n _context5.next = 4;\n return (Q = (H = e.deepChat).responseInterceptor) == null ? void 0 : Q.call(H, I);\n case 4:\n _context5.t0 = _context5.sent;\n if (_context5.t0) {\n _context5.next = 7;\n break;\n }\n _context5.t0 = I;\n case 7:\n Rt = _context5.t0;\n (ee = e.extractResultData) == null || ee.call(e, Rt, p, o).then(function (te) {\n e.asyncCallInProgress && te && te.text !== \"\" ? (T.simulate(i, e.streamHandlers, te), d(), e.asyncCallInProgress = !1) : T.upsertWFiles(i, h.upsertStreamedMessage.bind(h), h, te);\n })[\"catch\"](function (te) {\n return v.displayError(i, te);\n });\n case 9:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }))();\n },\n onerror: function onerror(O) {\n throw d(), O;\n },\n onclose: function onclose() {\n e.asyncCallInProgress || (h.finaliseStreamedMessage(), d());\n },\n signal: u.signal\n })[\"catch\"](function (O) {\n var H;\n i.isLastMessageError() || (H = e.extractResultData) == null || H.call(e, O).then(function () {\n v.displayError(i, O);\n })[\"catch\"](function (Q) {\n v.displayError(i, Q);\n });\n });\n case 20:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6, this);\n }));\n function request(_x12, _x13, _x14) {\n return _request.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"simulate\",\n value: function simulate(e, t, i) {\n var n = t;\n if ((i.files || i.html) && e.addNewMessage(_objectSpread({\n sendUpdate: !1,\n ignoreText: !0\n }, i), !1), i.text) {\n t.onOpen();\n var r = i.text.split(\"\");\n T.populateMessages(r, new Oe(e), n);\n }\n }\n }, {\n key: \"populateMessages\",\n value: function populateMessages(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var r = e[n];\n if (r) {\n t.upsertStreamedMessage({\n text: r\n });\n var o = setTimeout(function () {\n T.populateMessages(e, t, i, n + 1);\n }, i.simulationInterim || 6);\n i.abortStream.abort = function () {\n T.abort(o, t, i.onClose);\n };\n } else t.finaliseStreamedMessage(), i.onClose();\n }\n }, {\n key: \"isSimulation\",\n value: function isSimulation(e) {\n return _typeof(e) == \"object\" && !!e.simulation;\n }\n }, {\n key: \"isSimulatable\",\n value: function isSimulatable(e, t) {\n return T.isSimulation(e) && t && (t.text || t.html);\n }\n }, {\n key: \"abort\",\n value: function abort(e, t, i) {\n clearTimeout(e), t.finaliseStreamedMessage(), i();\n }\n }, {\n key: \"upsertWFiles\",\n value: function upsertWFiles(e, t, i, n) {\n if (n != null && n.text || n != null && n.html) {\n var _i9;\n var r = t(n);\n (_i9 = i) !== null && _i9 !== void 0 ? _i9 : i = r || void 0;\n }\n n != null && n.files && (e.addNewMessage({\n files: n.files\n }), i == null || i.markFileAded());\n }\n }]);\n return T;\n}();\nvar cs = /*#__PURE__*/function () {\n function lt() {\n _classCallCheck(this, lt);\n }\n _createClass(lt, null, [{\n key: \"generateResponse\",\n value: function generateResponse(e) {\n var t = e.messages[e.messages.length - 1];\n if (t.files && t.files.length > 0) {\n if (t.files.length > 1) return \"These are interesting files!\";\n var i = t.files[0];\n return i.src && i.src.startsWith(\"data:image/gif\") ? \"That is a nice gif!\" : i.type === \"image\" ? \"That is a nice image!\" : i.type === \"audio\" ? \"I like the sound of that!\" : \"That is an interesting file!\";\n }\n if (t.text) {\n if (t.text.charAt(t.text.length - 1) === \"?\") return \"I'm sorry but I can't answer that question...\";\n if (t.text.includes(\"updog\")) return \"What's updog?\";\n }\n return \"Hi there! This is a demo response!\";\n }\n }, {\n key: \"getCustomResponse\",\n value: function getCustomResponse(e, t) {\n return typeof e == \"function\" ? e(t) : e;\n }\n }, {\n key: \"getResponse\",\n value: function getResponse(e) {\n return e.customDemoResponse ? lt.getCustomResponse(e.customDemoResponse, e.messages[e.messages.length - 1]) : {\n text: lt.generateResponse(e)\n };\n }\n // timeout is used to simulate a timeout for a response to come back\n }, {\n key: \"request\",\n value: function request(e, t) {\n var i = lt.getResponse(t);\n setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {\n var r, o, n;\n return _regeneratorRuntime().wrap(function _callee7$(_context7) {\n while (1) switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return (o = (r = e.deepChat).responseInterceptor) == null ? void 0 : o.call(r, i);\n case 2:\n _context7.t0 = _context7.sent;\n if (_context7.t0) {\n _context7.next = 5;\n break;\n }\n _context7.t0 = i;\n case 5:\n n = _context7.t0;\n n.error ? (t.addNewErrorMessage(\"service\", n.error), e.completionsHandlers.onFinish()) : T.isSimulatable(e.deepChat.stream, n) ? T.simulate(t, e.streamHandlers, n) : (t.addNewMessage(n), e.completionsHandlers.onFinish());\n case 7:\n case \"end\":\n return _context7.stop();\n }\n }, _callee7);\n })), 400);\n }\n // timeout is used to simulate a timeout for a response to come back\n }, {\n key: \"requestStream\",\n value: function requestStream(e, t) {\n setTimeout(function () {\n var i = lt.getResponse(e);\n T.simulate(e, t, i);\n }, 400);\n }\n }]);\n return lt;\n}();\ncs.URL = \"deep-chat-demo\";\nvar Ee = cs;\nvar B = /*#__PURE__*/function () {\n function B() {\n _classCallCheck(this, B);\n }\n _createClass(B, null, [{\n key: \"setup\",\n value: function setup(e) {\n e.requestSettings.url !== Ee.URL && (e.permittedErrorPrefixes = [\"Connection error\", \"Error in server message\"], e.websocket = \"pending\");\n }\n }, {\n key: \"createConnection\",\n value: function createConnection(e, t) {\n if (!document.body.contains(e.deepChat)) return;\n var i = e.requestSettings.websocket;\n if (i) {\n if (e.requestSettings.handler) return he.websocket(e, t);\n try {\n var n = typeof i != \"boolean\" ? i : void 0,\n r = new WebSocket(e.requestSettings.url || \"\", n);\n e.websocket = r, e.websocket.onopen = function () {\n var o, a;\n t.removeError(), e.websocket && _typeof(e.websocket) == \"object\" && B.assignListeners(e, r, t), (a = (o = e.deepChat)._validationHandler) == null || a.call(o);\n }, e.websocket.onerror = function (o) {\n console.error(o), B.retryConnection(e, t);\n };\n } catch (n) {\n console.error(n), B.retryConnection(e, t);\n }\n }\n }\n }, {\n key: \"retryConnection\",\n value: function retryConnection(e, t) {\n var i, n;\n (n = (i = e.deepChat)._validationHandler) == null || n.call(i), document.body.contains(e.deepChat) && (e.websocket = \"pending\", t.isLastMessageError() || t.addNewErrorMessage(\"service\", \"Connection error\"), setTimeout(function () {\n B.createConnection(e, t);\n }, 5e3));\n }\n }, {\n key: \"assignListeners\",\n value: function assignListeners(e, t, i) {\n var _this6 = this;\n var n = {};\n t.onmessage = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(r) {\n var o, a, l, c, d, u, h;\n return _regeneratorRuntime().wrap(function _callee8$(_context8) {\n while (1) switch (_context8.prev = _context8.next) {\n case 0:\n if (!e.extractResultData) {\n _context8.next = 20;\n break;\n }\n _context8.prev = 1;\n l = JSON.parse(r.data);\n _context8.next = 5;\n return (a = (o = e.deepChat).responseInterceptor) == null ? void 0 : a.call(o, l);\n case 5:\n _context8.t0 = _context8.sent;\n if (_context8.t0) {\n _context8.next = 8;\n break;\n }\n _context8.t0 = l;\n case 8:\n c = _context8.t0;\n _context8.next = 11;\n return e.extractResultData(c);\n case 11:\n d = _context8.sent;\n if (!(!d || _typeof(d) != \"object\")) {\n _context8.next = 14;\n break;\n }\n throw Error(A.INVALID_RESPONSE(l, \"server\", !!e.deepChat.responseInterceptor, c));\n case 14:\n if (T.isSimulation(e.deepChat.stream)) {\n u = B.stream.bind(_this6, e, i, n), h = n[l.role || b.AI_ROLE];\n T.upsertWFiles(i, u, h, d);\n } else i.addNewMessage(d);\n _context8.next = 20;\n break;\n case 17:\n _context8.prev = 17;\n _context8.t1 = _context8[\"catch\"](1);\n v.displayError(i, _context8.t1, \"Error in server message\");\n case 20:\n case \"end\":\n return _context8.stop();\n }\n }, _callee8, null, [[1, 17]]);\n }));\n return function (_x15) {\n return _ref2.apply(this, arguments);\n };\n }(), t.onclose = function () {\n console.error(\"Connection closed\"), i.isLastMessageError() || i.addNewErrorMessage(\"service\", \"Connection error\"), e.deepChat.stream && e.streamHandlers.abortStream.abort(), B.createConnection(e, i);\n };\n }\n }, {\n key: \"sendWebsocket\",\n value: function () {\n var _sendWebsocket = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(e, t, i) {\n var n,\n d,\n u,\n r,\n o,\n _yield$v$processReque2,\n a,\n l,\n c,\n _args9 = arguments;\n return _regeneratorRuntime().wrap(function _callee9$(_context9) {\n while (1) switch (_context9.prev = _context9.next) {\n case 0:\n n = _args9.length > 3 && _args9[3] !== undefined ? _args9[3] : !0;\n r = e.websocket;\n if (!(!r || r === \"pending\")) {\n _context9.next = 4;\n break;\n }\n return _context9.abrupt(\"return\");\n case 4:\n o = {\n body: t,\n headers: (d = e.requestSettings) == null ? void 0 : d.headers\n };\n _context9.next = 7;\n return v.processRequestInterceptor(e.deepChat, o);\n case 7:\n _yield$v$processReque2 = _context9.sent;\n a = _yield$v$processReque2.body;\n l = _yield$v$processReque2.error;\n if (!l) {\n _context9.next = 12;\n break;\n }\n return _context9.abrupt(\"return\", i.addNewErrorMessage(\"service\", l));\n case 12:\n if (B.isWebSocket(r)) {\n _context9.next = 14;\n break;\n }\n return _context9.abrupt(\"return\", r.newUserMessage.listener(a));\n case 14:\n c = n ? JSON.stringify(a) : a;\n if (!(((u = e.requestSettings) == null ? void 0 : u.url) === Ee.URL)) {\n _context9.next = 17;\n break;\n }\n return _context9.abrupt(\"return\", Ee.request(e, i));\n case 17:\n r.readyState === void 0 || r.readyState !== r.OPEN ? (console.error(\"Connection is not open\"), i.isLastMessageError() || i.addNewErrorMessage(\"service\", \"Connection error\")) : (r.send(JSON.stringify(c)), e.completionsHandlers.onFinish());\n case 18:\n case \"end\":\n return _context9.stop();\n }\n }, _callee9);\n }));\n function sendWebsocket(_x16, _x17, _x18) {\n return _sendWebsocket.apply(this, arguments);\n }\n return sendWebsocket;\n }()\n }, {\n key: \"canSendMessage\",\n value: function canSendMessage(e) {\n return e ? e === \"pending\" ? !1 : B.isWebSocket(e) ? e.readyState !== void 0 && e.readyState === e.OPEN : e.isOpen : !0;\n }\n // if false then it is the internal websocket handler\n }, {\n key: \"isWebSocket\",\n value: function isWebSocket(e) {\n return e.send !== void 0;\n }\n }, {\n key: \"stream\",\n value: function stream(e, t, i, n) {\n if (!n) return;\n var r = e.deepChat.stream.simulation;\n if (typeof r == \"string\") {\n var _i$o;\n var o = n.role || b.AI_ROLE,\n a = i[o];\n n.text === r ? (a == null || a.finaliseStreamedMessage(), delete i[o]) : ((_i$o = i[o]) !== null && _i$o !== void 0 ? _i$o : i[o] = new Oe(t), i[o].upsertStreamedMessage(n));\n } else T.simulate(t, e.streamHandlers, n);\n }\n }]);\n return B;\n}();\nvar he = /*#__PURE__*/function () {\n function he() {\n _classCallCheck(this, he);\n }\n _createClass(he, null, [{\n key: \"request\",\n value: function () {\n var _request2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(e, t, i) {\n var a, l, n, r, o;\n return _regeneratorRuntime().wrap(function _callee11$(_context11) {\n while (1) switch (_context11.prev = _context11.next) {\n case 0:\n n = !0;\n r = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(c) {\n var u, h, d;\n return _regeneratorRuntime().wrap(function _callee10$(_context10) {\n while (1) switch (_context10.prev = _context10.next) {\n case 0:\n if (n) {\n _context10.next = 2;\n break;\n }\n return _context10.abrupt(\"return\");\n case 2:\n n = !1;\n _context10.next = 5;\n return (h = (u = e.deepChat).responseInterceptor) == null ? void 0 : h.call(u, c);\n case 5:\n _context10.t0 = _context10.sent;\n if (_context10.t0) {\n _context10.next = 8;\n break;\n }\n _context10.t0 = c;\n case 8:\n d = _context10.t0;\n v.validateResponseFormat(d) ? typeof d.error == \"string\" ? (console.error(d.error), i.addNewErrorMessage(\"service\", d.error), e.completionsHandlers.onFinish()) : T.isSimulatable(e.deepChat.stream, d) ? T.simulate(i, e.streamHandlers, d) : (i.addNewMessage(d), e.completionsHandlers.onFinish()) : (console.error(A.INVALID_RESPONSE(c, \"server\", !!e.deepChat.responseInterceptor, d)), i.addNewErrorMessage(\"service\", \"Error in server message\"), e.completionsHandlers.onFinish());\n case 10:\n case \"end\":\n return _context10.stop();\n }\n }, _callee10);\n }));\n return function r(_x22) {\n return _ref3.apply(this, arguments);\n };\n }(), o = he.generateOptionalSignals();\n (l = (a = e.requestSettings).handler) == null || l.call(a, t, _objectSpread(_objectSpread({}, o), {}, {\n onResponse: r\n }));\n case 3:\n case \"end\":\n return _context11.stop();\n }\n }, _callee11);\n }));\n function request(_x19, _x20, _x21) {\n return _request2.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"attemptToFinaliseStream\",\n value: function attemptToFinaliseStream(e, t) {\n try {\n e.finaliseStreamedMessage();\n } catch (i) {\n console.error(i), t.addNewErrorMessage(\"service\", i);\n }\n }\n // prettier-ignore\n }, {\n key: \"stream\",\n value: function stream(e, t, i) {\n var u, h;\n var n = !0,\n r = !1;\n var o = new Oe(i),\n a = function a() {\n r || !n || (e.streamHandlers.onOpen(), r = !0);\n },\n l = function l() {\n n && (he.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), n = !1);\n },\n c = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(p) {\n var f, _, m;\n return _regeneratorRuntime().wrap(function _callee12$(_context12) {\n while (1) switch (_context12.prev = _context12.next) {\n case 0:\n if (n) {\n _context12.next = 2;\n break;\n }\n return _context12.abrupt(\"return\");\n case 2:\n _context12.next = 4;\n return (_ = (f = e.deepChat).responseInterceptor) == null ? void 0 : _.call(f, p);\n case 4:\n _context12.t0 = _context12.sent;\n if (_context12.t0) {\n _context12.next = 7;\n break;\n }\n _context12.t0 = p;\n case 7:\n m = _context12.t0;\n v.validateResponseFormat(m) ? m.error ? (console.error(m.error), o.finaliseStreamedMessage(), i.addNewErrorMessage(\"service\", m.error), e.streamHandlers.onClose(), n = !1) : T.upsertWFiles(i, o.upsertStreamedMessage.bind(o), o, m) : console.error(A.INVALID_RESPONSE(p, \"server\", !!e.deepChat.responseInterceptor, m));\n case 9:\n case \"end\":\n return _context12.stop();\n }\n }, _callee12);\n }));\n return function c(_x23) {\n return _ref4.apply(this, arguments);\n };\n }();\n e.streamHandlers.abortStream.abort = function () {\n he.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), n = !1;\n };\n var d = he.generateOptionalSignals();\n (h = (u = e.requestSettings).handler) == null || h.call(u, t, _objectSpread(_objectSpread({}, d), {}, {\n onOpen: a,\n onResponse: c,\n onClose: l,\n stopClicked: e.streamHandlers.stopClicked\n }));\n }\n // prettier-ignore\n }, {\n key: \"websocket\",\n value: function websocket(e, t) {\n var _this7 = this;\n var l, c;\n var i = {\n isOpen: !1,\n newUserMessage: {\n listener: function listener() {}\n },\n roleToStream: {}\n };\n e.websocket = i;\n var n = function n() {\n t.removeError(), i.isOpen = !0;\n },\n r = function r() {\n i.isOpen = !1;\n },\n o = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(d) {\n var h, p, u, m, f;\n return _regeneratorRuntime().wrap(function _callee13$(_context13) {\n while (1) switch (_context13.prev = _context13.next) {\n case 0:\n if (i.isOpen) {\n _context13.next = 2;\n break;\n }\n return _context13.abrupt(\"return\");\n case 2:\n _context13.next = 4;\n return (p = (h = e.deepChat).responseInterceptor) == null ? void 0 : p.call(h, d);\n case 4:\n _context13.t0 = _context13.sent;\n if (_context13.t0) {\n _context13.next = 7;\n break;\n }\n _context13.t0 = d;\n case 7:\n u = _context13.t0;\n if (!v.validateResponseFormat(u)) console.error(A.INVALID_RESPONSE(d, \"server\", !!e.deepChat.responseInterceptor, u)), t.addNewErrorMessage(\"service\", \"Error in server message\");else if (typeof u.error == \"string\") console.error(u.error), t.isLastMessageError() || t.addNewErrorMessage(\"service\", u.error);else if (T.isSimulation(e.deepChat.stream)) {\n m = B.stream.bind(_this7, e, t, i.roleToStream), f = i.roleToStream[d.role || b.AI_ROLE];\n T.upsertWFiles(t, m, f, d);\n } else t.addNewMessage(u);\n case 9:\n case \"end\":\n return _context13.stop();\n }\n }, _callee13);\n }));\n return function o(_x24) {\n return _ref5.apply(this, arguments);\n };\n }(),\n a = he.generateOptionalSignals();\n (c = (l = e.requestSettings).handler) == null || c.call(l, void 0, _objectSpread(_objectSpread({}, a), {}, {\n onOpen: n,\n onResponse: o,\n onClose: r,\n newUserMessage: i.newUserMessage\n }));\n }\n }, {\n key: \"generateOptionalSignals\",\n value: function generateOptionalSignals() {\n return {\n onClose: function onClose() {},\n onOpen: function onOpen() {},\n stopClicked: {\n listener: function listener() {}\n },\n newUserMessage: {\n listener: function listener() {}\n }\n };\n }\n }]);\n return he;\n}();\nvar w = /*#__PURE__*/function () {\n function w() {\n _classCallCheck(this, w);\n }\n _createClass(w, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15(e, t, i) {\n var n,\n h,\n p,\n m,\n r,\n _yield$v$processReque3,\n o,\n a,\n l,\n c,\n d,\n u,\n _args15 = arguments;\n return _regeneratorRuntime().wrap(function _callee15$(_context15) {\n while (1) switch (_context15.prev = _context15.next) {\n case 0:\n n = _args15.length > 3 && _args15[3] !== undefined ? _args15[3] : !0;\n r = {\n body: t,\n headers: (h = e.requestSettings) == null ? void 0 : h.headers\n };\n _context15.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque3 = _context15.sent;\n o = _yield$v$processReque3.body;\n a = _yield$v$processReque3.headers;\n l = _yield$v$processReque3.error;\n c = e.completionsHandlers.onFinish;\n if (!l) {\n _context15.next = 11;\n break;\n }\n return _context15.abrupt(\"return\", v.onInterceptorError(i, l, c));\n case 11:\n if (!((p = e.requestSettings) != null && p.handler)) {\n _context15.next = 13;\n break;\n }\n return _context15.abrupt(\"return\", he.request(e, o, i));\n case 13:\n if (!(((m = e.requestSettings) == null ? void 0 : m.url) === Ee.URL)) {\n _context15.next = 15;\n break;\n }\n return _context15.abrupt(\"return\", Ee.request(e, i));\n case 15:\n d = !0;\n u = v.fetch.bind(this, e, a, n);\n u(o).then(function (f) {\n return d = !!f.ok, f;\n }).then(function (f) {\n return v.processResponseByType(f);\n }).then( /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14(f) {\n var J, X, _, S;\n return _regeneratorRuntime().wrap(function _callee14$(_context14) {\n while (1) switch (_context14.prev = _context14.next) {\n case 0:\n if (e.extractResultData) {\n _context14.next = 2;\n break;\n }\n return _context14.abrupt(\"return\");\n case 2:\n _context14.next = 4;\n return (X = (J = e.deepChat).responseInterceptor) == null ? void 0 : X.call(J, f);\n case 4:\n _context14.t0 = _context14.sent;\n if (_context14.t0) {\n _context14.next = 7;\n break;\n }\n _context14.t0 = f;\n case 7:\n _ = _context14.t0;\n _context14.next = 10;\n return e.extractResultData(_, u, o);\n case 10:\n S = _context14.sent;\n if (d) {\n _context14.next = 13;\n break;\n }\n throw f;\n case 13:\n if (!(!S || _typeof(S) != \"object\")) {\n _context14.next = 15;\n break;\n }\n throw Error(A.INVALID_RESPONSE(f, \"response\", !!e.deepChat.responseInterceptor, _));\n case 15:\n S.makingAnotherRequest || (T.isSimulatable(e.deepChat.stream, S) ? T.simulate(i, e.streamHandlers, S) : (i.addNewMessage(S), c()));\n case 16:\n case \"end\":\n return _context14.stop();\n }\n }, _callee14);\n }));\n return function (_x28) {\n return _ref6.apply(this, arguments);\n };\n }())[\"catch\"](function (f) {\n v.displayError(i, f), c();\n });\n case 18:\n case \"end\":\n return _context15.stop();\n }\n }, _callee15, this);\n }));\n function request(_x25, _x26, _x27) {\n return _request3.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"executePollRequest\",\n value: function executePollRequest(e, t, i, n) {\n var r = e.completionsHandlers.onFinish;\n fetch(t, i).then(function (o) {\n return o.json();\n }).then( /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee16(o) {\n var l, c, a;\n return _regeneratorRuntime().wrap(function _callee16$(_context16) {\n while (1) switch (_context16.prev = _context16.next) {\n case 0:\n if (e.extractPollResultData) {\n _context16.next = 2;\n break;\n }\n return _context16.abrupt(\"return\");\n case 2:\n _context16.t0 = e;\n _context16.next = 5;\n return (c = (l = e.deepChat).responseInterceptor) == null ? void 0 : c.call(l, o);\n case 5:\n _context16.t1 = _context16.sent;\n if (_context16.t1) {\n _context16.next = 8;\n break;\n }\n _context16.t1 = o;\n case 8:\n _context16.t2 = _context16.t1;\n _context16.next = 11;\n return _context16.t0.extractPollResultData.call(_context16.t0, _context16.t2);\n case 11:\n a = _context16.sent;\n a.timeoutMS ? setTimeout(function () {\n w.executePollRequest(e, t, i, n);\n }, a.timeoutMS) : T.isSimulatable(e.deepChat.stream, o) ? T.simulate(n, e.streamHandlers, a) : (n.addNewMessage(a), r());\n case 13:\n case \"end\":\n return _context16.stop();\n }\n }, _callee16);\n }));\n return function (_x29) {\n return _ref7.apply(this, arguments);\n };\n }())[\"catch\"](function (o) {\n v.displayError(n, o), r();\n });\n }\n // prettier-ignore\n }, {\n key: \"poll\",\n value: function () {\n var _poll = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee17(e, t, i) {\n var n,\n p,\n m,\n f,\n r,\n _yield$v$processReque4,\n o,\n a,\n l,\n c,\n d,\n u,\n h,\n _args17 = arguments;\n return _regeneratorRuntime().wrap(function _callee17$(_context17) {\n while (1) switch (_context17.prev = _context17.next) {\n case 0:\n n = _args17.length > 3 && _args17[3] !== undefined ? _args17[3] : !0;\n r = {\n body: t,\n headers: (p = e.requestSettings) == null ? void 0 : p.headers\n };\n _context17.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque4 = _context17.sent;\n o = _yield$v$processReque4.body;\n a = _yield$v$processReque4.headers;\n l = _yield$v$processReque4.error;\n if (!l) {\n _context17.next = 10;\n break;\n }\n return _context17.abrupt(\"return\", v.onInterceptorError(i, l));\n case 10:\n c = ((m = e.requestSettings) == null ? void 0 : m.url) || e.url || \"\", d = ((f = e.requestSettings) == null ? void 0 : f.method) || \"POST\", u = n ? JSON.stringify(o) : o, h = {\n method: d,\n body: u,\n headers: a\n };\n e.requestSettings.credentials && (h.credentials = e.requestSettings.credentials), w.executePollRequest(e, c, h, i);\n case 12:\n case \"end\":\n return _context17.stop();\n }\n }, _callee17);\n }));\n function poll(_x30, _x31, _x32) {\n return _poll.apply(this, arguments);\n }\n return poll;\n }() // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t, i, n, r, o, a, l, c) {\n if (e === \"\") return o(A.INVALID_KEY);\n a(), fetch(t, {\n method: n,\n headers: i,\n body: c || null\n }).then(function (d) {\n return v.processResponseByType(d);\n }).then(function (d) {\n l(d, e, r, o);\n })[\"catch\"](function (d) {\n o(A.CONNECTION_FAILED), console.error(d);\n });\n }\n }]);\n return w;\n}();\nvar et = /*#__PURE__*/function () {\n function et() {\n _classCallCheck(this, et);\n }\n _createClass(et, null, [{\n key: \"getCharacterLimitMessages\",\n value: function getCharacterLimitMessages(e, t) {\n var r;\n if (t === -1) return e;\n var i = 0,\n n = e.length - 1;\n for (n; n >= 0; n -= 1) {\n var o = (r = e[n]) == null ? void 0 : r.text;\n if (o !== void 0 && (i += o.length, i > t)) {\n e[n].text = o.substring(0, o.length - (i - t));\n break;\n }\n }\n return e.slice(Math.max(n, 0));\n }\n }, {\n key: \"getMaxMessages\",\n value: function getMaxMessages(e, t) {\n return e.slice(Math.max(e.length - t, 0));\n }\n // prettier-ignore\n // if maxMessages is not defined we send all messages\n // if maxMessages above 0 we send that number\n // if maxMessages 0 or below we send only what is in the request\n }, {\n key: \"processMessages\",\n value: function processMessages(e, t, i) {\n return t !== void 0 ? t > 0 && (e = et.getMaxMessages(e, t)) : e = [e[e.length - 1]], e = JSON.parse(JSON.stringify(e)), i === void 0 ? e : et.getCharacterLimitMessages(e, i);\n }\n }]);\n return et;\n}();\nvar L = /*#__PURE__*/function () {\n function L() {\n _classCallCheck(this, L);\n }\n _createClass(L, null, [{\n key: \"parseConfig\",\n value:\n // prettier-ignore\n function parseConfig(e, t, i, n) {\n var o;\n var r = {\n files: t\n };\n if (_typeof(n) == \"object\") {\n var a = n.files,\n l = n.request,\n c = n.button;\n a && (a.infoModal && (r.files.infoModal = a.infoModal, (o = a.infoModal) != null && o.textMarkDown && (r.infoModalTextMarkUp = i.render(a.infoModal.textMarkDown))), a.acceptedFormats && (r.files.acceptedFormats = a.acceptedFormats), a.maxNumberOfFiles && (r.files.maxNumberOfFiles = a.maxNumberOfFiles)), r.button = c, l && (l.headers || l.method || l.url || l.credentials || e.headers || e.method || e.url || e.credentials) && (r.request = {\n url: (l == null ? void 0 : l.url) || e.url,\n method: (l == null ? void 0 : l.method) || e.method,\n headers: (l == null ? void 0 : l.headers) || e.headers,\n credentials: (l == null ? void 0 : l.credentials) || e.credentials\n });\n }\n return r;\n }\n }, {\n key: \"processMixedFiles\",\n value: function processMixedFiles(e, t, i) {\n if (i) {\n var n = {\n acceptedFormats: \"\"\n };\n e.fileTypes.mixedFiles = L.parseConfig(e.requestSettings, n, t, i);\n }\n }\n // needs to be set after audio to overwrite maxNumberOfFiles\n // prettier-ignore\n }, {\n key: \"processMicrophone\",\n value: function processMicrophone(e, t, i, n) {\n var _l$files, _h$maxNumberOfFiles;\n var a, l, c, d, u, h;\n var o = _objectSpread({\n acceptedFormats: \"audio/*\"\n }, ((a = e.fileTypes.audio) == null ? void 0 : a.files) || {});\n i && (navigator.mediaDevices.getUserMedia !== void 0 ? (e.recordAudio = L.parseConfig(e.requestSettings, o, t, i), _typeof(i) == \"object\" && i.files && ((_l$files = (l = e.recordAudio).files) !== null && _l$files !== void 0 ? _l$files : l.files = {}, e.recordAudio.files.format = (c = i.files) == null ? void 0 : c.format, e.recordAudio.files.maxDurationSeconds = (d = i.files) == null ? void 0 : d.maxDurationSeconds, (u = e.fileTypes.audio) != null && u.files && ((_h$maxNumberOfFiles = (h = e.fileTypes.audio.files).maxNumberOfFiles) !== null && _h$maxNumberOfFiles !== void 0 ? _h$maxNumberOfFiles : h.maxNumberOfFiles = i.files.maxNumberOfFiles))) : n || (e.fileTypes.audio = L.parseConfig(e.requestSettings, o, t, i)));\n }\n // prettier-ignore\n }, {\n key: \"processAudioConfig\",\n value: function processAudioConfig(e, t, i, n) {\n if (!i && !n) return;\n var o = _objectSpread({\n acceptedFormats: \"audio/*\"\n }, (n == null ? void 0 : n.files) || {});\n e.fileTypes.audio = L.parseConfig(e.requestSettings, o, t, i);\n }\n // prettier-ignore\n }, {\n key: \"processGifConfig\",\n value: function processGifConfig(e, t, i, n) {\n if (!i && !n) return;\n var o = _objectSpread({\n acceptedFormats: \"image/gif\"\n }, (n == null ? void 0 : n.files) || {});\n e.fileTypes.gifs = L.parseConfig(e.requestSettings, o, t, i);\n }\n // needs to be set after images to overwrite maxNumberOfFiles\n // prettier-ignore\n }, {\n key: \"processCamera\",\n value: function processCamera(e, t, i, n) {\n var _l$files2;\n var a, l, c, d;\n var o = _objectSpread({\n acceptedFormats: \"image/*\"\n }, ((a = e.fileTypes.images) == null ? void 0 : a.files) || {});\n i && (navigator.mediaDevices.getUserMedia !== void 0 ? (e.camera = L.parseConfig(e.requestSettings, o, t, i), _typeof(i) == \"object\" && (e.camera.modalContainerStyle = i.modalContainerStyle, i.files && ((_l$files2 = (l = e.camera).files) !== null && _l$files2 !== void 0 ? _l$files2 : l.files = {}, e.camera.files.format = (c = i.files) == null ? void 0 : c.format, e.camera.files.dimensions = (d = i.files) == null ? void 0 : d.dimensions))) : n || (e.fileTypes.images = L.parseConfig(e.requestSettings, o, t, i)));\n }\n // prettier-ignore\n }, {\n key: \"processImagesConfig\",\n value: function processImagesConfig(e, t, i, n) {\n if (!i && !n) return;\n var o = _objectSpread({\n acceptedFormats: \"image/*\"\n }, (n == null ? void 0 : n.files) || {});\n e.fileTypes.images = L.parseConfig(e.requestSettings, o, t, i);\n }\n // default for direct service\n }, {\n key: \"populateDefaultFileIO\",\n value: function populateDefaultFileIO(e, t) {\n var _e$files, _i$acceptedFormats, _n$maxNumberOfFiles;\n var i, n;\n e && ((_e$files = e.files) !== null && _e$files !== void 0 ? _e$files : e.files = {}, (_i$acceptedFormats = (i = e.files).acceptedFormats) !== null && _i$acceptedFormats !== void 0 ? _i$acceptedFormats : i.acceptedFormats = t, (_n$maxNumberOfFiles = (n = e.files).maxNumberOfFiles) !== null && _n$maxNumberOfFiles !== void 0 ? _n$maxNumberOfFiles : n.maxNumberOfFiles = 1);\n }\n }, {\n key: \"set\",\n value: function set(e, t, i) {\n L.populateDefaultFileIO(i == null ? void 0 : i.audio, \".4a,.mp3,.webm,.mp4,.mpga,.wav,.mpeg,.m4a\"), L.populateDefaultFileIO(i == null ? void 0 : i.images, \".png,.jpg\");\n var n = vt.createNew();\n L.processImagesConfig(t, n, e.images, i == null ? void 0 : i.images), L.processCamera(t, n, e.camera, e.images), L.processGifConfig(t, n, e.gifs, i == null ? void 0 : i.gifs), L.processAudioConfig(t, n, e.audio, i == null ? void 0 : i.audio), L.processMicrophone(t, n, e.microphone, e.audio), L.processMixedFiles(t, n, e.mixedFiles);\n }\n }]);\n return L;\n}();\nvar Pe = /*#__PURE__*/function () {\n function Pe(e, t, i) {\n var _a$url;\n _classCallCheck(this, Pe);\n var n, r, o, a;\n this.rawBody = {}, this.validateConfigKey = !1, this.canSendMessage = Pe.canSendMessage, this.requestSettings = {}, this.fileTypes = {}, this.completionsHandlers = {}, this.streamHandlers = {}, this.deepChat = e, this.demo = i, Object.assign(this.rawBody, (n = e.request) == null ? void 0 : n.additionalBodyProps), this.totalMessagesMaxCharLength = (r = e == null ? void 0 : e.requestBodyLimits) == null ? void 0 : r.totalMessagesMaxCharLength, this.maxMessages = (o = e == null ? void 0 : e.requestBodyLimits) == null ? void 0 : o.maxMessages, L.set(e, this, t), e.request && (this.requestSettings = e.request), this.demo && ((_a$url = (a = this.requestSettings).url) !== null && _a$url !== void 0 ? _a$url : a.url = Ee.URL), this.requestSettings.websocket && B.setup(this);\n }\n _createClass(Pe, [{\n key: \"verifyKey\",\n value: function verifyKey(e, t) {}\n }, {\n key: \"getServiceIOByType\",\n value: function getServiceIOByType(e) {\n if (e.type.startsWith(\"audio\") && this.fileTypes.audio) return this.fileTypes.audio;\n if (e.type.startsWith(\"image\")) {\n if (this.fileTypes.gifs && e.type.endsWith(\"/gif\")) return this.fileTypes.gifs;\n if (this.fileTypes.images) return this.fileTypes.images;\n if (this.camera) return this.camera;\n }\n return this.fileTypes.mixedFiles;\n }\n }, {\n key: \"request\",\n value: function () {\n var _request4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee18(e, t) {\n var i,\n n,\n _args18 = arguments;\n return _regeneratorRuntime().wrap(function _callee18$(_context18) {\n while (1) switch (_context18.prev = _context18.next) {\n case 0:\n i = _args18.length > 2 && _args18[2] !== undefined ? _args18[2] : !0;\n n = this.deepChat.stream;\n return _context18.abrupt(\"return\", n && !T.isSimulation(n) ? T.request(this, e, t) : w.request(this, e, t, i));\n case 3:\n case \"end\":\n return _context18.stop();\n }\n }, _callee18, this);\n }));\n function request(_x33, _x34) {\n return _request4.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"callAPIWithText\",\n value: function () {\n var _callAPIWithText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19(e, t) {\n var _o$headers, _a$ContentType;\n var r, o, a, l, i, n;\n return _regeneratorRuntime().wrap(function _callee19$(_context19) {\n while (1) switch (_context19.prev = _context19.next) {\n case 0:\n i = _objectSpread({\n messages: t\n }, this.rawBody);\n n = !1;\n (r = this.requestSettings.headers) != null && r[\"Content-Type\"] || ((_o$headers = (o = this.requestSettings).headers) !== null && _o$headers !== void 0 ? _o$headers : o.headers = {}, (_a$ContentType = (a = this.requestSettings.headers)[\"Content-Type\"]) !== null && _a$ContentType !== void 0 ? _a$ContentType : a[\"Content-Type\"] = \"application/json\", n = !0);\n _context19.next = 5;\n return this.request(i, e);\n case 5:\n n && ((l = this.requestSettings.headers) == null || delete l[\"Content-Type\"]);\n case 6:\n case \"end\":\n return _context19.stop();\n }\n }, _callee19, this);\n }));\n function callAPIWithText(_x35, _x36) {\n return _callAPIWithText.apply(this, arguments);\n }\n return callAPIWithText;\n }()\n }, {\n key: \"callApiWithFiles\",\n value: function () {\n var _callApiWithFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20(e, t, i) {\n var n, r, o;\n return _regeneratorRuntime().wrap(function _callee20$(_context20) {\n while (1) switch (_context20.prev = _context20.next) {\n case 0:\n n = Pe.createCustomFormDataBody(this.rawBody, t, i), r = this.requestSettings, o = this.getServiceIOByType(i[0]);\n this.requestSettings = (o == null ? void 0 : o.request) || this.requestSettings;\n _context20.next = 4;\n return this.request(n, e, !1);\n case 4:\n this.requestSettings = r;\n case 5:\n case \"end\":\n return _context20.stop();\n }\n }, _callee20, this);\n }));\n function callApiWithFiles(_x37, _x38, _x39) {\n return _callApiWithFiles.apply(this, arguments);\n }\n return callApiWithFiles;\n }()\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee21(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee21$(_context21) {\n while (1) switch (_context21.prev = _context21.next) {\n case 0:\n i ? this.callApiWithFiles(e, t, i) : this.callAPIWithText(e, t);\n case 1:\n case \"end\":\n return _context21.stop();\n }\n }, _callee21, this);\n }));\n function callServiceAPI(_x40, _x41, _x42) {\n return _callServiceAPI.apply(this, arguments);\n }\n return callServiceAPI;\n }() // prettier-ignore\n }, {\n key: \"callAPI\",\n value: function () {\n var _callAPI = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee22(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee22$(_context22) {\n while (1) switch (_context22.prev = _context22.next) {\n case 0:\n if (this.requestSettings) {\n _context22.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = et.processMessages(t.messages, this.maxMessages, this.totalMessagesMaxCharLength);\n if (this.requestSettings.websocket) {\n n = _objectSpread({\n messages: i\n }, this.rawBody);\n B.sendWebsocket(this, n, t, !1);\n } else this.callServiceAPI(t, i, e.files);\n case 4:\n case \"end\":\n return _context22.stop();\n }\n }, _callee22, this);\n }));\n function callAPI(_x43, _x44) {\n return _callAPI.apply(this, arguments);\n }\n return callAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee23(e) {\n return _regeneratorRuntime().wrap(function _callee23$(_context23) {\n while (1) switch (_context23.prev = _context23.next) {\n case 0:\n if (!e.error) {\n _context23.next = 2;\n break;\n }\n throw e.error;\n case 2:\n if (!e.result) {\n _context23.next = 4;\n break;\n }\n return _context23.abrupt(\"return\", Re.handleResponseProperty(e));\n case 4:\n if (!v.validateResponseFormat(e)) {\n _context23.next = 6;\n break;\n }\n return _context23.abrupt(\"return\", e);\n case 6:\n case \"end\":\n return _context23.stop();\n }\n }, _callee23);\n }));\n function extractResultData(_x45) {\n return _extractResultData.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"isDirectConnection\",\n value: function isDirectConnection() {\n return !1;\n }\n }, {\n key: \"isWebModel\",\n value: function isWebModel() {\n return !1;\n }\n }], [{\n key: \"canSendMessage\",\n value: function canSendMessage(e, t, i) {\n return i ? !0 : !!(e && e.trim() !== \"\") || !!(t && t.length > 0);\n }\n }, {\n key: \"createCustomFormDataBody\",\n value: function createCustomFormDataBody(e, t, i) {\n var n = new FormData();\n i.forEach(function (a) {\n return n.append(\"files\", a);\n }), Object.keys(e).forEach(function (a) {\n return n.append(a, String(e[a]));\n });\n var r = 0;\n t.slice(0, t.length - 1).forEach(function (a) {\n n.append(\"message\".concat(r += 1), JSON.stringify(a));\n });\n var o = t[t.length - 1];\n return o.text && (delete o.files, n.append(\"message\".concat(r += 1), JSON.stringify(o))), n;\n }\n }]);\n return Pe;\n}();\nvar q = /*#__PURE__*/function (_Pe) {\n _inherits(q, _Pe);\n // prettier-ignore\n function q(e, t, i, n, r) {\n var _this8;\n _classCallCheck(this, q);\n var o;\n _this8 = _callSuper(this, q, [e, r]), _this8.insertKeyPlaceholderText = \"API Key\", _this8.keyHelpUrl = \"\", Object.assign(_this8.rawBody, (o = e.request) == null ? void 0 : o.additionalBodyProps), _this8.keyVerificationDetails = t, _this8.buildHeadersFunc = i, n && _this8.setApiKeyProperties(n), _this8.requestSettings = _this8.buildRequestSettings(_this8.key || \"\", e.request);\n return _this8;\n }\n _createClass(q, [{\n key: \"setApiKeyProperties\",\n value: function setApiKeyProperties(e) {\n this.key = e.key, e.validateKeyProperty && (this.validateConfigKey = e.validateKeyProperty);\n }\n }, {\n key: \"buildRequestSettings\",\n value: function buildRequestSettings(e, t) {\n var _i$headers;\n var i = t !== null && t !== void 0 ? t : {};\n return (_i$headers = i.headers) !== null && _i$headers !== void 0 ? _i$headers : i.headers = {}, Object.assign(i.headers, this.buildHeadersFunc(e)), i;\n }\n }, {\n key: \"keyAuthenticated\",\n value: function keyAuthenticated(e, t) {\n this.requestSettings = this.buildRequestSettings(t, this.requestSettings), this.key = t, e();\n }\n // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t) {\n var _this$keyVerification = this.keyVerificationDetails,\n i = _this$keyVerification.url,\n n = _this$keyVerification.method,\n r = _this$keyVerification.handleVerificationResult,\n o = _this$keyVerification.createHeaders,\n a = _this$keyVerification.body,\n l = (o == null ? void 0 : o(e)) || this.buildHeadersFunc(e);\n w.verifyKey(e, i, l, n, this.keyAuthenticated.bind(this, t.onSuccess), t.onFail, t.onLoad, r, a);\n }\n }, {\n key: \"isDirectConnection\",\n value: function isDirectConnection() {\n return !0;\n }\n }]);\n return q;\n}(Pe);\nvar Ut = /*#__PURE__*/function () {\n function Ut() {\n _classCallCheck(this, Ut);\n }\n _createClass(Ut, null, [{\n key: \"waitForPropertiesToBeUpdatedBeforeRender\",\n value: function waitForPropertiesToBeUpdatedBeforeRender(e) {\n e._propUpdated_ = !1, setTimeout(function () {\n e._propUpdated_ ? Ut.waitForPropertiesToBeUpdatedBeforeRender(e) : (e._waitingToRender_ = !1, e.onRender());\n });\n }\n }, {\n key: \"attemptRender\",\n value: function attemptRender(e) {\n e._propUpdated_ = !0, e._waitingToRender_ || (e._waitingToRender_ = !0, Ut.waitForPropertiesToBeUpdatedBeforeRender(e));\n }\n }]);\n return Ut;\n}();\nvar Yi = /*#__PURE__*/function (_HTMLElement) {\n _inherits(Je, _HTMLElement);\n // If this is not working, try using propertyName directly\n function Je() {\n var _this9;\n _classCallCheck(this, Je);\n _this9 = _callSuper(this, Je), _this9._waitingToRender_ = !1, _this9._propUpdated_ = !1, Object.keys(Je._attributeToProperty_).forEach(function (e) {\n var t = Je._attributeToProperty_[e];\n _this9.constructPropertyAccessors(t), _this9.hasOwnProperty(e) || _this9.constructPropertyAccessors(t, e);\n });\n return _this9;\n }\n _createClass(Je, [{\n key: \"constructPropertyAccessors\",\n value:\n // need to be called here as accessors need to be set for the class instance\n function constructPropertyAccessors(e, t) {\n var i;\n Object.defineProperty(this, t || e, {\n get: function get() {\n return i;\n },\n set: function set(o) {\n i = o, t ? this[e] = o : Ut.attemptRender(this);\n }\n });\n }\n }, {\n key: \"attributeChangedCallback\",\n value: function attributeChangedCallback(e, t, i) {\n if (t === i) return;\n var n = Je._attributes_[e](i),\n r = Je._attributeToProperty_[e];\n this[r] = n;\n }\n }, {\n key: \"onRender\",\n value: function onRender() {}\n }], [{\n key: \"observedAttributes\",\n get: function get() {\n return Object.keys(Je._attributes_) || [];\n }\n }]);\n return Je;\n}( /*#__PURE__*/_wrapNativeSuper(HTMLElement));\nYi._attributes_ = {};\nYi._attributeToProperty_ = {};\nvar So = Yi;\nvar wo = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<svg version=\\\"1.1\\\"\\n\\txmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\"\\n\\txmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"0.9em\\\" height=\\\"0.9em\\\"\\n\\tviewBox=\\\"0 0 1200 1200\\\" enable-background=\\\"new 0 0 1200 1200\\\">\\n\\t\\t<path d=\\\"\\n\\t\\t\\tM669.727,273.516c-22.891-2.476-46.15-3.895-69.727-4.248c-103.025,0.457-209.823,25.517-310.913,73.536\\n\\t\\t\\tc-75.058,37.122-148.173,89.529-211.67,154.174C46.232,529.978,6.431,577.76,0,628.74c0.76,44.162,48.153,98.67,77.417,131.764\\n\\t\\t\\tc59.543,62.106,130.754,113.013,211.67,154.174c2.75,1.335,5.51,2.654,8.276,3.955l-75.072,131.102l102.005,60.286l551.416-960.033\\n\\t\\t\\tl-98.186-60.008L669.727,273.516z M902.563,338.995l-74.927,129.857c34.47,44.782,54.932,100.006,54.932,159.888\\n\\t\\t\\tc0,149.257-126.522,270.264-282.642,270.264c-6.749,0-13.29-0.728-19.922-1.172l-49.585,85.84c22.868,2.449,45.99,4.233,69.58,4.541\\n\\t\\t\\tc103.123-0.463,209.861-25.812,310.84-73.535c75.058-37.122,148.246-89.529,211.743-154.174\\n\\t\\t\\tc31.186-32.999,70.985-80.782,77.417-131.764c-0.76-44.161-48.153-98.669-77.417-131.763\\n\\t\\t\\tc-59.543-62.106-130.827-113.013-211.743-154.175C908.108,341.478,905.312,340.287,902.563,338.995L902.563,338.995z\\n\\t\\t\\tM599.927,358.478c6.846,0,13.638,0.274,20.361,0.732l-58.081,100.561c-81.514,16.526-142.676,85.88-142.676,168.897\\n\\t\\t\\tc0,20.854,3.841,40.819,10.913,59.325c0.008,0.021-0.008,0.053,0,0.074l-58.228,100.854\\n\\t\\t\\tc-34.551-44.823-54.932-100.229-54.932-160.182C317.285,479.484,443.808,358.477,599.927,358.478L599.927,358.478z M768.896,570.513\\n\\t\\t\\tL638.013,797.271c81.076-16.837,141.797-85.875,141.797-168.603C779.81,608.194,775.724,588.729,768.896,570.513L768.896,570.513z\\\"\\n\\t\\t\\t/>\\n</svg>\\n\",\n Mo = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<svg version=\\\"1.1\\\"\\n\\txmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\"\\n\\txmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"0.9em\\\" height=\\\"0.9em\\\"\\n\\tviewBox=\\\"0 0 1200 1200\\\" enable-background=\\\"new 0 0 1200 1200\\\">\\n\\t\\t<path id=\\\"path6686\\\" inkscape:connector-curvature=\\\"0\\\" d=\\\"M779.843,599.925c0,95.331-80.664,172.612-180.169,172.612\\n\\t\\t\\tc-99.504,0-180.168-77.281-180.168-172.612c0-95.332,80.664-172.612,180.168-172.612\\n\\t\\t\\tC699.179,427.312,779.843,504.594,779.843,599.925z M600,240.521c-103.025,0.457-209.814,25.538-310.904,73.557\\n\\t\\t\\tc-75.058,37.122-148.206,89.496-211.702,154.141C46.208,501.218,6.431,549,0,599.981c0.76,44.161,48.13,98.669,77.394,131.763\\n\\t\\t\\tc59.543,62.106,130.786,113.018,211.702,154.179c94.271,45.751,198.616,72.092,310.904,73.557\\n\\t\\t\\tc103.123-0.464,209.888-25.834,310.866-73.557c75.058-37.122,148.243-89.534,211.74-154.179\\n\\t\\t\\tc31.185-32.999,70.962-80.782,77.394-131.763c-0.76-44.161-48.13-98.671-77.394-131.764\\n\\t\\t\\tc-59.543-62.106-130.824-112.979-211.74-154.141C816.644,268.36,712.042,242.2,600,240.521z M599.924,329.769\\n\\t\\t\\tc156.119,0,282.675,120.994,282.675,270.251c0,149.256-126.556,270.25-282.675,270.25S317.249,749.275,317.249,600.02\\n\\t\\t\\tC317.249,450.763,443.805,329.769,599.924,329.769L599.924,329.769z\\\"/>\\n</svg>\\n\";\nvar V = /*#__PURE__*/function () {\n function V() {\n _classCallCheck(this, V);\n }\n _createClass(V, null, [{\n key: \"createSVGElement\",\n value: function createSVGElement(e) {\n return new DOMParser().parseFromString(e, \"image/svg+xml\").documentElement;\n }\n }]);\n return V;\n}();\nvar ds = /*#__PURE__*/function () {\n function $e() {\n _classCallCheck(this, $e);\n }\n _createClass($e, null, [{\n key: \"changeVisibility\",\n value:\n // prettier-ignore\n function changeVisibility(e, t, i, n) {\n n.target.id === $e.VISIBLE_ICON_ID ? (t.style.display = \"none\", i.style.display = \"block\", e.type = \"password\") : (t.style.display = \"block\", i.style.display = \"none\", e.type = \"text\");\n }\n }, {\n key: \"createIconElement\",\n value: function createIconElement(e, t) {\n var i = V.createSVGElement(e);\n return i.id = t, i.classList.add(\"visibility-icon\"), i;\n }\n // prettier-ignore\n }, {\n key: \"create\",\n value: function create(e) {\n var t = document.createElement(\"div\");\n t.id = \"visibility-icon-container\";\n var i = $e.createIconElement(Mo, $e.VISIBLE_ICON_ID);\n i.style.display = \"none\", t.appendChild(i);\n var n = $e.createIconElement(wo, \"not-visible-icon\");\n return t.appendChild(n), t.onclick = $e.changeVisibility.bind(this, e, i, n), t;\n }\n }]);\n return $e;\n}();\nds.VISIBLE_ICON_ID = \"visible-icon\";\nvar To = ds;\nvar P = /*#__PURE__*/function () {\n function P() {\n _classCallCheck(this, P);\n }\n _createClass(P, null, [{\n key: \"createCautionText\",\n value: function createCautionText() {\n var e = document.createElement(\"a\");\n return e.classList.add(\"insert-key-input-help-text\"), e.innerText = \"Please exercise CAUTION when inserting your API key outside of deepchat.dev or localhost!!\", e;\n }\n }, {\n key: \"createHelpLink\",\n value: function createHelpLink(e) {\n var t = document.createElement(\"a\");\n return t.classList.add(\"insert-key-input-help-text\"), t.href = e, t.innerText = \"Find more info here\", t.target = \"_blank\", t;\n }\n }, {\n key: \"createFailText\",\n value: function createFailText() {\n var e = document.createElement(\"div\");\n return e.id = \"insert-key-input-invalid-text\", e.style.display = \"none\", e;\n }\n }, {\n key: \"createHelpTextContainer\",\n value: function createHelpTextContainer(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n var i = document.createElement(\"div\");\n i.id = \"insert-key-help-text-container\";\n var n = document.createElement(\"div\");\n n.id = \"insert-key-help-text-contents\";\n var r = P.createFailText();\n if (n.appendChild(r), e) {\n var o = P.createHelpLink(e);\n n.appendChild(o);\n }\n if (t === !0) {\n var _o2 = P.createCautionText();\n n.appendChild(_o2);\n }\n return i.appendChild(n), {\n helpTextContainerElement: i,\n failTextElement: r\n };\n }\n }, {\n key: \"onFail\",\n value: function onFail(e, t, i, n) {\n e.classList.replace(\"insert-key-input-valid\", \"insert-key-input-invalid\"), i.innerText = n, i.style.display = \"block\", t.innerText = \"Start\", e.classList.remove(\"loading\");\n }\n }, {\n key: \"onLoad\",\n value: function onLoad(e, t) {\n e.classList.add(\"loading\"), t.innerHTML = '<div id=\"loading-ring\"></div>';\n }\n // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t, i) {\n var n = e.value.trim();\n i.verifyKey(n, t);\n }\n // prettier-ignore\n }, {\n key: \"addVerificationEvents\",\n value: function addVerificationEvents(e, t, i, n, r) {\n var o = {\n onSuccess: n,\n onFail: P.onFail.bind(this, e, t, i),\n onLoad: P.onLoad.bind(this, e, t)\n },\n a = P.verifyKey.bind(this, e, o, r);\n t.onclick = a, e.onkeydown = function (l) {\n !e.classList.contains(\"loading\") && l.key === R.ENTER && a();\n };\n }\n }, {\n key: \"createStartButton\",\n value: function createStartButton() {\n var e = document.createElement(\"div\");\n return e.id = \"start-button\", e.innerText = \"Start\", e;\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus(e) {\n e.target.classList.replace(\"insert-key-input-invalid\", \"insert-key-input-valid\");\n }\n }, {\n key: \"createInput\",\n value: function createInput(e) {\n var t = document.createElement(\"div\");\n t.id = \"insert-key-input-container\";\n var i = document.createElement(\"input\");\n return i.id = \"insert-key-input\", i.placeholder = e || \"API Key\", i.type = \"password\", i.classList.add(\"insert-key-input-valid\"), i.onfocus = P.onInputFocus, t.appendChild(i), t;\n }\n // prettier-ignore\n }, {\n key: \"createContents\",\n value: function createContents(e, t) {\n var d;\n var i = document.createElement(\"div\");\n i.id = \"insert-key-contents\";\n var n = P.createInput(t.insertKeyPlaceholderText),\n r = n.children[0],\n o = To.create(r);\n n.appendChild(o), i.appendChild(n);\n var a = P.createStartButton(),\n _P$createHelpTextCont = P.createHelpTextContainer(t.keyHelpUrl, (d = t.deepChat._insertKeyViewStyles) == null ? void 0 : d.displayCautionText),\n l = _P$createHelpTextCont.helpTextContainerElement,\n c = _P$createHelpTextCont.failTextElement;\n return i.appendChild(a), i.appendChild(l), P.addVerificationEvents(r, a, c, e, t), i;\n }\n }, {\n key: \"createElements\",\n value: function createElements(e, t) {\n var i = document.createElement(\"div\");\n i.id = \"insert-key-view\";\n var n = P.createContents(e, t);\n return i.appendChild(n), i;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i) {\n var n = P.createElements(t, i);\n e.replaceChildren(n);\n }\n }]);\n return P;\n}();\nvar _t = /*#__PURE__*/function () {\n function me() {\n _classCallCheck(this, me);\n }\n _createClass(me, null, [{\n key: \"enableButtons\",\n value: function enableButtons(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n window.webLLM ? (e && (e.disabled = !1), t && (t.disabled = !1)) : i < Zi.MODULE_SEARCH_LIMIT_S * 4 && setTimeout(function () {\n return me.enableButtons(e, t, i + 1);\n }, 250);\n }\n // prettier-ignore\n }, {\n key: \"setUpInitial\",\n value: function setUpInitial(e, t, i, n) {\n var r = (t == null ? void 0 : t.downloadClass) || me.DOWNLOAD_BUTTON_CLASS,\n o = (t == null ? void 0 : t.uploadClass) || me.UPLOAD_BUTTON_CLASS,\n a = (t == null ? void 0 : t.fileInputClass) || me.FILE_INPUT_CLASS;\n return setTimeout(function () {\n var l = i == null ? void 0 : i.getElementsByClassName(r)[0],\n c = i == null ? void 0 : i.getElementsByClassName(a)[0],\n d = i == null ? void 0 : i.getElementsByClassName(o)[0];\n l && (l.onclick = function () {\n return e();\n }), c && (c.onchange = function () {\n c.files && c.files.length > 0 && e(c.files);\n }), d && (d.onclick = function () {\n return c.click();\n }), (l || d) && me.enableButtons(l, d);\n }), (t == null ? void 0 : t.initialHtml) || \"<div>\\n Download or upload a web model that will run entirely on your browser: <br/> \\n <button disabled class=\\\"\".concat(r, \" deep-chat-button deep-chat-web-model-button\\\">Download</button>\\n \").concat(n ? \"\" : \"<input type=\\\"file\\\" class=\\\"\".concat(a, \"\\\" hidden multiple />\\n <button disabled class=\\\"\").concat(o, \" deep-chat-button deep-chat-web-model-button\\\">Upload</button>\"), \"\\n </div>\");\n }\n }, {\n key: \"exportFile\",\n value: function exportFile(e) {\n var t = document.createElement(\"a\"),\n i = 4;\n var _loop2 = function _loop2(n) {\n setTimeout(function () {\n var r = n * i;\n for (var o = r; o < Math.min(r + i, e.length); o += 1) {\n var a = URL.createObjectURL(e[o]);\n t.href = a, t.download = e[o].name, document.body.appendChild(t), t.click(), URL.revokeObjectURL(a);\n }\n }, 500 * n);\n };\n for (var n = 0; n < e.length / i; n += 1) {\n _loop2(n);\n }\n }\n // prettier-ignore\n }, {\n key: \"setUpAfterLoad\",\n value: function setUpAfterLoad(e, t, i, n) {\n var r = (t == null ? void 0 : t.exportFilesClass) || me.EXPORT_BUTTON_CLASS;\n return setTimeout(function () {\n var o = i == null ? void 0 : i.getElementsByClassName(r)[0];\n o && (o.onclick = function () {\n return me.exportFile(e);\n });\n }), (t == null ? void 0 : t.afterLoadHtml) || \"<div>\\n Model loaded successfully and has been cached for future requests.\\n \".concat(n ? \"\" : \"<br/> <button style=\\\"margin-top: 5px\\\" class=\\\"\".concat(r, \" deep-chat-button\\\">Export</button>\"), \"\\n </div>\");\n }\n }]);\n return me;\n}();\n_t.DOWNLOAD_BUTTON_CLASS = \"deep-chat-download-button\";\n_t.UPLOAD_BUTTON_CLASS = \"deep-chat-upload-button\";\n_t.FILE_INPUT_CLASS = \"deep-chat-file-input\";\n_t.EXPORT_BUTTON_CLASS = \"deep-chat-export-button\";\nvar Sn = _t;\nvar wn = {\n model_list: [\n // Llama-2\n {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f32_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f32_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f32_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 9109.03,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6749.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 4618.52,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-13b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-13b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-13b-chat-hf/Llama-2-13b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 11814.09,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-70b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-70b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-70b-chat-hf/Llama-2-70b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 43729.05,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n },\n // RedPajama\n {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx2k-webgpu.wasm\",\n vram_required_MB: 2972.09,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f32_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx2k-webgpu.wasm\",\n vram_required_MB: 3928.09,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 2041.09,\n low_resource_required: !0,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f32_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 2558.09,\n low_resource_required: !0\n },\n // Mistral variants\n {\n model_url: \"https://huggingface.co/mlc-ai/WizardMath-7B-V1.1-q4f16_1-MLC/resolve/main/\",\n local_id: \"WizardMath-7B-V1.1-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Mistral-7B-Instruct-v0.2-q4f16_1-MLC/resolve/main/\",\n local_id: \"Mistral-7B-Instruct-v0.2-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/OpenHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/\",\n local_id: \"OpenHermes-2.5-Mistral-7B-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/NeuralHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/\",\n local_id: \"NeuralHermes-2.5-Mistral-7B-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n },\n // TinyLlama\n {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f16-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q0f16\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f16-ctx2k-webgpu.wasm\",\n vram_required_MB: 5063.52,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f32-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q0f32\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f32-ctx2k-webgpu.wasm\",\n vram_required_MB: 5394.53,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f16_1-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 899.11,\n low_resource_required: !0,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f32_1-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q4f32_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f32_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 992.11,\n low_resource_required: !0\n }],\n use_web_worker: !0\n },\n it = /*#__PURE__*/function (_Pe2) {\n _inherits(M, _Pe2);\n function M(e) {\n var _this10;\n _classCallCheck(this, M);\n var t, i;\n _this10 = _callSuper(this, M, [e]), _this10._isModelLoaded = !1, _this10._isModelLoading = !1, _this10._loadOnFirstMessage = !1, _this10._webModel = {}, _this10.permittedErrorPrefixes = [M.MULTIPLE_MODELS_ERROR, M.WEB_LLM_NOT_FOUND_ERROR, M.GENERIC_ERROR], _this10._conversationHistory = [], _typeof(e.webModel) == \"object\" && (_this10._webModel = e.webModel), (t = _this10._webModel.load) != null && t.clearCache && M.clearAllCache(), _this10.findModelInWindow(e), _this10.canSendMessage = _this10.canSubmit.bind(_assertThisInitialized(_this10)), _this10._chatEl = (i = e.shadowRoot) == null ? void 0 : i.children[0], e.initialMessages && M.setUpHistory(_this10._conversationHistory, e.initialMessages);\n return _this10;\n }\n // need ref of messages object as web model exhibits unique behaviour to manipulate chat\n _createClass(M, [{\n key: \"setUpMessages\",\n value: function setUpMessages(e) {\n var _this11 = this;\n this._messages = e, this._removeIntro = function () {\n e.removeIntroductoryMessage(), _this11._removeIntro = void 0;\n };\n }\n }, {\n key: \"findModelInWindow\",\n value: function findModelInWindow(e) {\n var _this12 = this;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var i;\n window.webLLM ? this.configureInit(this.shouldAddInitialMessage(e.introMessage)) : t > M.MODULE_SEARCH_LIMIT_S ? ((i = this._messages) == null || i.addNewErrorMessage(\"service\", M.WEB_LLM_NOT_FOUND_ERROR), console.error(\"The deep-chat-web-llm module has not been attached to the window object. Please see the following guide:\"), console.error(\"https://deepchat.dev/examples/externalModules\")) : setTimeout(function () {\n return _this12.findModelInWindow(e, t + 1);\n }, 1e3);\n }\n }, {\n key: \"shouldAddInitialMessage\",\n value: function shouldAddInitialMessage(e) {\n var t;\n return !e && this._webModel && ((t = this._webModel.introMessage) == null ? void 0 : t.displayed) !== !1;\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop(e) {\n var _this13 = this;\n var t;\n ((t = this._webModel.introMessage) == null ? void 0 : t.autoScroll) !== !1 && setTimeout(function () {\n var i, n;\n (i = _this13._messages) != null && i.elementRef && G.scrollToTop((n = _this13._messages) == null ? void 0 : n.elementRef);\n }, e);\n }\n // prettier-ignore\n }, {\n key: \"getIntroMessage\",\n value: function getIntroMessage(e) {\n if (!this.shouldAddInitialMessage(e) || !this._chatEl) return;\n var t = Sn.setUpInitial(this.init.bind(this), this._webModel.introMessage, this._chatEl, !!this._webModel.worker);\n return this.scrollToTop(1), {\n role: b.AI_ROLE,\n html: t,\n sendUpdate: !1\n };\n }\n }, {\n key: \"configureInit\",\n value: function () {\n var _configureInit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee24(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee24$(_context24) {\n while (1) switch (_context24.prev = _context24.next) {\n case 0:\n t = this._webModel.load;\n if (!t) {\n _context24.next = 8;\n break;\n }\n if (!t.onInit) {\n _context24.next = 5;\n break;\n }\n this.init();\n return _context24.abrupt(\"return\");\n case 5:\n if (!t.onMessage) {\n _context24.next = 8;\n break;\n }\n this._loadOnFirstMessage = !0;\n return _context24.abrupt(\"return\");\n case 8:\n e || this.init();\n case 9:\n case \"end\":\n return _context24.stop();\n }\n }, _callee24, this);\n }));\n function configureInit(_x46) {\n return _configureInit.apply(this, arguments);\n }\n return configureInit;\n }()\n }, {\n key: \"init\",\n value: function () {\n var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee25(e) {\n var i, t;\n return _regeneratorRuntime().wrap(function _callee25$(_context25) {\n while (1) switch (_context25.prev = _context25.next) {\n case 0:\n (i = this._messages) == null || i.removeError();\n t = this.attemptToCreateChat();\n _context25.t0 = t;\n if (!_context25.t0) {\n _context25.next = 6;\n break;\n }\n _context25.next = 6;\n return this.loadModel(t, e);\n case 6:\n case \"end\":\n return _context25.stop();\n }\n }, _callee25, this);\n }));\n function init(_x47) {\n return _init.apply(this, arguments);\n }\n return init;\n }()\n }, {\n key: \"attemptToCreateChat\",\n value: function attemptToCreateChat() {\n var t;\n if (M.chat) {\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", M.MULTIPLE_MODELS_ERROR), console.error(M.MULTIPLE_MODELS_ERROR);\n return;\n }\n if (this._isModelLoaded || this._isModelLoading) return;\n var e = this._webModel.worker;\n return wn.use_web_worker && e ? new window.webLLM.ChatWorkerClient(e) : new window.webLLM.ChatModule();\n }\n }, {\n key: \"getConfig\",\n value: function getConfig() {\n var i;\n var e = M.DEFAULT_MODEL;\n this._webModel.model && (e = this._webModel.model);\n var t = JSON.parse(JSON.stringify(wn));\n if (this._webModel.urls) {\n var n = t.model_list.find(function (r) {\n return r.local_id = e;\n });\n n && (this._webModel.urls.model && (n.model_url = this._webModel.urls.model), this._webModel.urls.wasm && (n.model_lib_url = this._webModel.urls.wasm));\n }\n return (i = this._webModel.load) != null && i.skipCache && (t.use_cache = !1), {\n model: e,\n appConfig: t\n };\n }\n // prettier-ignore\n }, {\n key: \"loadModel\",\n value: function () {\n var _loadModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26(e, t) {\n var _this14 = this;\n var o, a, l, c, d, u, h, i, n, r, _this$getConfig, p, m, f, _p;\n return _regeneratorRuntime().wrap(function _callee26$(_context26) {\n while (1) switch (_context26.prev = _context26.next) {\n case 0:\n this.scrollToTop(), M.chat = e, this._isModelLoading = !0;\n i = ((o = this._webModel.introMessage) == null ? void 0 : o.displayed) === !1;\n n = function n(p) {\n var m;\n (m = _this14._messages) == null || m.addNewMessage({\n html: \"<div>\".concat(p.text, \"</div>\"),\n overwrite: !0,\n sendUpdate: !1\n }), i && (setTimeout(function () {\n var f;\n return G.scrollToBottom((f = _this14._messages) == null ? void 0 : f.elementRef);\n }), i = !1);\n };\n M.chat.setInitProgressCallback(n);\n _context26.prev = 4;\n _this$getConfig = this.getConfig(), p = _this$getConfig.model, m = _this$getConfig.appConfig, f = {};\n this._webModel.instruction && (f.conv_config = {\n system: this._webModel.instruction\n });\n this._conversationHistory.length > 0 && (f.conversation_history = this._conversationHistory);\n _context26.next = 10;\n return M.chat.reload(p, f, m, t);\n case 10:\n r = _context26.sent;\n _context26.next = 16;\n break;\n case 13:\n _context26.prev = 13;\n _context26.t0 = _context26[\"catch\"](4);\n return _context26.abrupt(\"return\", this.unloadChat(_context26.t0));\n case 16:\n if ((l = (a = this.deepChat)._validationHandler) == null || l.call(a), (c = this._webModel.introMessage) != null && c.removeAfterLoad) this._webModel.introMessage.displayed === !1 ? (u = this._messages) == null || u.removeLastMessage() : (h = this._removeIntro) == null || h.call(this);else {\n _p = Sn.setUpAfterLoad(r, this._webModel.introMessage, this._chatEl, !!this._webModel.worker);\n (d = this._messages) == null || d.addNewMessage({\n html: _p,\n overwrite: !0,\n sendUpdate: !1\n });\n }\n this._isModelLoaded = !0, this._isModelLoading = !1;\n case 18:\n case \"end\":\n return _context26.stop();\n }\n }, _callee26, this, [[4, 13]]);\n }));\n function loadModel(_x48, _x49) {\n return _loadModel.apply(this, arguments);\n }\n return loadModel;\n }()\n }, {\n key: \"unloadChat\",\n value: function () {\n var _unloadChat = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee27(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee27$(_context27) {\n while (1) switch (_context27.prev = _context27.next) {\n case 0:\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", M.GENERIC_ERROR);\n console.error(e);\n this._isModelLoaded = !1;\n this._isModelLoading = !1;\n _context27.t0 = M.chat;\n if (!_context27.t0) {\n _context27.next = 9;\n break;\n }\n _context27.next = 8;\n return M.chat.unload();\n case 8:\n M.chat = void 0;\n case 9:\n case \"end\":\n return _context27.stop();\n }\n }, _callee27, this);\n }));\n function unloadChat(_x50) {\n return _unloadChat.apply(this, arguments);\n }\n return unloadChat;\n }()\n }, {\n key: \"immediateResp\",\n value: function () {\n var _immediateResp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee28(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee28$(_context28) {\n while (1) switch (_context28.prev = _context28.next) {\n case 0:\n _context28.next = 2;\n return i.generate(t, void 0, 0);\n case 2:\n _context28.t0 = _context28.sent;\n n = {\n text: _context28.t0\n };\n _context28.next = 6;\n return M.processResponse(this.deepChat, e, n);\n case 6:\n r = _context28.sent;\n r && e.addNewMessage(r), this.completionsHandlers.onFinish();\n case 8:\n case \"end\":\n return _context28.stop();\n }\n }, _callee28, this);\n }));\n function immediateResp(_x51, _x52, _x53) {\n return _immediateResp.apply(this, arguments);\n }\n return immediateResp;\n }()\n }, {\n key: \"streamResp\",\n value: function () {\n var _streamResp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee30(e, t, i) {\n var _this15 = this;\n var n;\n return _regeneratorRuntime().wrap(function _callee30$(_context30) {\n while (1) switch (_context30.prev = _context30.next) {\n case 0:\n this.streamHandlers.abortStream.abort = function () {\n i.interruptGenerate();\n }, this.streamHandlers.onOpen();\n n = new Oe(e);\n _context30.next = 4;\n return i.generate(t, /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee29(r, o) {\n var a;\n return _regeneratorRuntime().wrap(function _callee29$(_context29) {\n while (1) switch (_context29.prev = _context29.next) {\n case 0:\n _context29.next = 2;\n return M.processResponse(_this15.deepChat, e, {\n text: o\n });\n case 2:\n a = _context29.sent;\n a && n.upsertStreamedMessage({\n text: a.text,\n overwrite: !0\n });\n case 4:\n case \"end\":\n return _context29.stop();\n }\n }, _callee29);\n }));\n return function (_x57, _x58) {\n return _ref8.apply(this, arguments);\n };\n }());\n case 4:\n n.finaliseStreamedMessage();\n this.streamHandlers.onClose();\n case 6:\n case \"end\":\n return _context30.stop();\n }\n }, _callee30, this);\n }));\n function streamResp(_x54, _x55, _x56) {\n return _streamResp.apply(this, arguments);\n }\n return streamResp;\n }()\n }, {\n key: \"generateRespByType\",\n value: function () {\n var _generateRespByType = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee31(e, t, i, n) {\n var r;\n return _regeneratorRuntime().wrap(function _callee31$(_context31) {\n while (1) switch (_context31.prev = _context31.next) {\n case 0:\n _context31.prev = 0;\n if (!i) {\n _context31.next = 6;\n break;\n }\n _context31.next = 4;\n return this.streamResp(e, t, n);\n case 4:\n _context31.next = 8;\n break;\n case 6:\n _context31.next = 8;\n return this.immediateResp(e, t, n);\n case 8:\n _context31.next = 13;\n break;\n case 10:\n _context31.prev = 10;\n _context31.t0 = _context31[\"catch\"](0);\n (r = this._messages) == null || r.addNewErrorMessage(\"service\"), console.log(_context31.t0);\n case 13:\n case \"end\":\n return _context31.stop();\n }\n }, _callee31, this, [[0, 10]]);\n }));\n function generateRespByType(_x59, _x60, _x61, _x62) {\n return _generateRespByType.apply(this, arguments);\n }\n return generateRespByType;\n }()\n }, {\n key: \"generateResp\",\n value: function () {\n var _generateResp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee32(e, t, i) {\n var n, _yield$v$processReque5, r, o, a, l, c;\n return _regeneratorRuntime().wrap(function _callee32$(_context32) {\n while (1) switch (_context32.prev = _context32.next) {\n case 0:\n n = t[t.length - 1].text;\n _context32.next = 3;\n return v.processRequestInterceptor(this.deepChat, {\n body: {\n text: n\n }\n });\n case 3:\n _yield$v$processReque5 = _context32.sent;\n r = _yield$v$processReque5.body;\n o = _yield$v$processReque5.error;\n a = !!this.deepChat.stream;\n try {\n if (o) v.displayError(e, new Error(o)), (a ? this.streamHandlers.onClose : this.completionsHandlers.onFinish)();else if (!r || !r.text) {\n l = A.INVALID_MODEL_REQUEST({\n body: r\n }, !1);\n console.error(l);\n c = a ? this.streamHandlers.onClose : this.completionsHandlers.onFinish;\n v.onInterceptorError(e, l, c);\n } else this.generateRespByType(e, r.text, !!this.deepChat.stream, i);\n } catch (l) {\n this.unloadChat(l);\n }\n case 8:\n case \"end\":\n return _context32.stop();\n }\n }, _callee32, this);\n }));\n function generateResp(_x63, _x64, _x65) {\n return _generateResp.apply(this, arguments);\n }\n return generateResp;\n }()\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee33(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee33$(_context33) {\n while (1) switch (_context33.prev = _context33.next) {\n case 0:\n if (this._isModelLoaded) {\n _context33.next = 7;\n break;\n }\n if (!this._loadOnFirstMessage) {\n _context33.next = 6;\n break;\n }\n _context33.next = 4;\n return this.init();\n case 4:\n _context33.next = 7;\n break;\n case 6:\n return _context33.abrupt(\"return\");\n case 7:\n !M.chat || this._isModelLoading || ((i = this._webModel.introMessage) != null && i.removeAfterMessage && ((n = this._removeIntro) == null || n.call(this)), e.addLoadingMessage(), this.generateResp(e, t, M.chat));\n case 8:\n case \"end\":\n return _context33.stop();\n }\n }, _callee33, this);\n }));\n function callServiceAPI(_x66, _x67) {\n return _callServiceAPI2.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"canSubmit\",\n value: function canSubmit(e) {\n return !(e != null && e.trim()) || this._isModelLoading ? !1 : this._loadOnFirstMessage ? !0 : !!this._isModelLoaded;\n }\n }, {\n key: \"isWebModel\",\n value: function isWebModel() {\n return !0;\n }\n }], [{\n key: \"setUpHistory\",\n value: function setUpHistory(e, t) {\n t.forEach(function (i, n) {\n if (i.role === b.USER_ROLE && i.text) {\n var r = t[n + 1];\n r != null && r.text && r.role !== b.USER_ROLE && e.push([i.text, r.text]);\n }\n });\n }\n }, {\n key: \"processResponse\",\n value: function () {\n var _processResponse = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee34(e, t, i) {\n var r, n, o;\n return _regeneratorRuntime().wrap(function _callee34$(_context34) {\n while (1) switch (_context34.prev = _context34.next) {\n case 0:\n _context34.next = 2;\n return (r = e.responseInterceptor) == null ? void 0 : r.call(e, i);\n case 2:\n _context34.t0 = _context34.sent;\n if (_context34.t0) {\n _context34.next = 5;\n break;\n }\n _context34.t0 = i;\n case 5:\n n = _context34.t0;\n if (!n.error) {\n _context34.next = 11;\n break;\n }\n v.displayError(t, new Error(n.error));\n return _context34.abrupt(\"return\");\n case 11:\n if (!(!n || !n.text)) {\n _context34.next = 15;\n break;\n }\n o = A.INVALID_MODEL_RESPONSE(i, !!e.responseInterceptor, n);\n v.displayError(t, new Error(o));\n return _context34.abrupt(\"return\");\n case 15:\n return _context34.abrupt(\"return\", n);\n case 16:\n case \"end\":\n return _context34.stop();\n }\n }, _callee34);\n }));\n function processResponse(_x68, _x69, _x70) {\n return _processResponse.apply(this, arguments);\n }\n return processResponse;\n }()\n }, {\n key: \"clearAllCache\",\n value: function clearAllCache() {\n M.clearCache(\"webllm/model\"), M.clearCache(\"webllm/wasm\");\n }\n }, {\n key: \"clearCache\",\n value: function clearCache(e) {\n caches.open(e).then(function (t) {\n t.keys().then(function (i) {\n i.forEach(function (n) {\n t[\"delete\"](n);\n });\n });\n });\n }\n }]);\n return M;\n }(Pe);\nit.GENERIC_ERROR = \"Error, please check the [troubleshooting](https://deepchat.dev/docs/webModel#troubleshooting) section of documentation for help.\";\nit.MULTIPLE_MODELS_ERROR = \"Cannot run multiple web models\";\nit.WEB_LLM_NOT_FOUND_ERROR = \"WebLLM module not found\";\nit.DEFAULT_MODEL = \"Llama-2-7b-chat-hf-q4f32_1\";\nit.MODULE_SEARCH_LIMIT_S = 5;\nvar Zi = it;\nvar qt = /*#__PURE__*/function () {\n function qt() {\n _classCallCheck(this, qt);\n }\n _createClass(qt, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n // bigcode/santacoder expects this so adding just-in-case\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var r = e;\n Array.isArray(r.error) && r.error[0] === \"Error in `parameters`: field required\" ? i(t) : n(A.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api-inference.huggingface.co/models/gpt2\",\n method: \"POST\",\n handleVerificationResult: qt.handleVerificationResult\n };\n }\n }]);\n return qt;\n}();\nvar us = /*#__PURE__*/function (_q) {\n _inherits(Bi, _q);\n // prettier-ignore\n function Bi(e, t, i, n, r, o) {\n var _this16;\n _classCallCheck(this, Bi);\n _this16 = _callSuper(this, Bi, [e, qt.buildKeyVerificationDetails(), qt.buildHeaders, r, o]), _this16.insertKeyPlaceholderText = \"Hugging Face Token\", _this16.keyHelpUrl = \"https://huggingface.co/settings/tokens\", _this16.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Hugging Face</b></div>\\n <p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>\", _this16.permittedErrorPrefixes = [\"Authorization header\"], _this16.url = \"\".concat(Bi.URL_PREFIX).concat(i), _this16.textInputPlaceholderText = t, _typeof(n) == \"object\" && (n.model && (_this16.url = \"\".concat(Bi.URL_PREFIX).concat(n.model)), n.options && (_this16.rawBody.options = n.options), n.parameters && (_this16.rawBody.parameters = n.parameters));\n return _this16;\n }\n // prettier-ignore\n _createClass(Bi, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t, i) {\n var _n$options;\n var n = JSON.parse(JSON.stringify(e)),\n r = t[t.length - 1].text;\n if (r) return (_n$options = n.options) !== null && _n$options !== void 0 ? _n$options : n.options = {}, n.options.wait_for_model = !0, _objectSpread({\n inputs: r\n }, n);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee35(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee35$(_context35) {\n while (1) switch (_context35.prev = _context35.next) {\n case 0:\n if (this.requestSettings) {\n _context35.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n n = this.preprocessBody(this.rawBody, t, i);\n w.request(this, n, e);\n case 4:\n case \"end\":\n return _context35.stop();\n }\n }, _callee35, this);\n }));\n function callServiceAPI(_x71, _x72, _x73) {\n return _callServiceAPI3.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }]);\n return Bi;\n}(q);\nus.URL_PREFIX = \"https://api-inference.huggingface.co/models/\";\nvar Be = us;\nvar St = /*#__PURE__*/function (_Be) {\n _inherits(St, _Be);\n // prettier-ignore\n function St(e, t, i, n, r, o) {\n var _this17;\n _classCallCheck(this, St);\n _this17 = _callSuper(this, St, [e, t, i, n, r, o]), _this17.isTextInputDisabled = !0, _this17.canSendMessage = St.canSendFile;\n return _this17;\n }\n _createClass(St, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t, i) {\n return i[0];\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee36$(_context36) {\n while (1) switch (_context36.prev = _context36.next) {\n case 0:\n if (this.requestSettings) {\n _context36.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context36.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n w.poll(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context36.stop();\n }\n }, _callee36, this);\n }));\n function callServiceAPI(_x74, _x75, _x76) {\n return _callServiceAPI4.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }], [{\n key: \"canSendFile\",\n value: function canSendFile(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n return St;\n}(Be);\nvar Co = /*#__PURE__*/function (_St) {\n _inherits(Co, _St);\n // prettier-ignore\n function Co(e) {\n _classCallCheck(this, Co);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.audioClassification,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Co, [e, \"Attach an audio file\", \"ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition\", t, i, {\n audio: {}\n }]);\n }\n _createClass(Co, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee37(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee37$(_context37) {\n while (1) switch (_context37.prev = _context37.next) {\n case 0:\n if (!e.estimated_time) {\n _context37.next = 2;\n break;\n }\n return _context37.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context37.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context37.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.label) || \"\"\n });\n case 5:\n case \"end\":\n return _context37.stop();\n }\n }, _callee37);\n }));\n function extractPollResultData(_x77) {\n return _extractPollResultData.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n return Co;\n}(St);\nvar Ao = /*#__PURE__*/function (_St2) {\n _inherits(Ao, _St2);\n function Ao(e) {\n _classCallCheck(this, Ao);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.imageClassification,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Ao, [e, \"Attach an image file\", \"google/vit-base-patch16-224\", t, i, {\n images: {}\n }]);\n }\n _createClass(Ao, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee38(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee38$(_context38) {\n while (1) switch (_context38.prev = _context38.next) {\n case 0:\n if (!e.estimated_time) {\n _context38.next = 2;\n break;\n }\n return _context38.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context38.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context38.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.label) || \"\"\n });\n case 5:\n case \"end\":\n return _context38.stop();\n }\n }, _callee38);\n }));\n function extractPollResultData(_x78) {\n return _extractPollResultData2.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n return Ao;\n}(St);\nvar wt = \"data:image/png;base64,\";\nvar ce = /*#__PURE__*/function () {\n function ce() {\n _classCallCheck(this, ce);\n }\n _createClass(ce, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n e.message ? n(A.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.stability.ai/v1/engines/list\",\n method: \"GET\",\n handleVerificationResult: ce.handleVerificationResult\n };\n }\n }]);\n return ce;\n}();\nvar oi = /*#__PURE__*/function (_q2) {\n _inherits(oi, _q2);\n // prettier-ignore\n function oi(e, t, i, n, r) {\n var _this18;\n _classCallCheck(this, oi);\n _this18 = _callSuper(this, oi, [e, t, i, n, r]), _this18.insertKeyPlaceholderText = \"Stability AI API Key\", _this18.keyHelpUrl = \"https://platform.stability.ai/docs/getting-started/authentication\", _this18.permittedErrorPrefixes = [\"Incorrect\", \"invalid_\"];\n return _this18;\n }\n return _createClass(oi);\n}(q);\nvar Ht = /*#__PURE__*/function (_oi) {\n _inherits(Ht, _oi);\n function Ht(e) {\n var _this19;\n _classCallCheck(this, Ht);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.stabilityAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 1\n }\n }\n };\n _this19 = _callSuper(this, Ht, [e, ce.buildKeyVerificationDetails(), ce.buildHeaders, i, n]), _this19.url = \"https://api.stability.ai/v1/generation/esrgan-v1-x2plus/image-to-image/upscale\", _this19.textInputPlaceholderText = \"Describe image changes\", _this19.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI</b></div>\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px; margin-top: 5px\\\"><b>Image to Image Upscale</b></div>\\n <p>Upload an image to generate a new one with higher resolution.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t == null ? void 0 : t.stabilityAI) == null ? void 0 : o.imageToImageUpscale;\n _typeof(r) == \"object\" && (r.engine_id && (_this19.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/image-to-image/upscale\")), Ht.cleanConfig(r), Object.assign(_this19.rawBody, r)), _this19.canSendMessage = Ht.canSendFileMessage;\n return _this19;\n }\n _createClass(Ht, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t) {\n var i = new FormData();\n return i.append(\"image\", t), Object.keys(e).forEach(function (n) {\n i.append(n, String(e[n]));\n }), i;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee39(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee39$(_context39) {\n while (1) switch (_context39.prev = _context39.next) {\n case 0:\n if (this.requestSettings) {\n _context39.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context39.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n n = this.createFormDataBody(this.rawBody, i[0]);\n v.tempRemoveContentHeader(this.requestSettings, w.request.bind(this, this, n, e), !1);\n case 6:\n case \"end\":\n return _context39.stop();\n }\n }, _callee39, this);\n }));\n function callServiceAPI(_x79, _x80, _x81) {\n return _callServiceAPI5.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee40(e) {\n return _regeneratorRuntime().wrap(function _callee40$(_context40) {\n while (1) switch (_context40.prev = _context40.next) {\n case 0:\n if (!e.message) {\n _context40.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context40.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(wt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context40.stop();\n }\n }, _callee40);\n }));\n function extractResultData(_x82) {\n return _extractResultData2.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id;\n }\n }, {\n key: \"canSendFileMessage\",\n value: function canSendFileMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n return Ht;\n}(oi);\nvar Gt = /*#__PURE__*/function (_oi2) {\n _inherits(Gt, _oi2);\n function Gt(e) {\n var _this20;\n _classCallCheck(this, Gt);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.stabilityAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 2\n }\n }\n };\n _this20 = _callSuper(this, Gt, [e, ce.buildKeyVerificationDetails(), ce.buildHeaders, i, n]), _this20.url = \"https://api.stability.ai/v1/generation/stable-diffusion-xl-1024-v1-0/image-to-image/masking\", _this20._maskSource = \"MASK_IMAGE_WHITE\", _this20.textInputPlaceholderText = \"Describe image changes\", _this20.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI</b></div>\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px; margin-top: 5px\\\"><b>Image to Image Masking</b></div>\\n <p>Upload an image, its mask image to create a new one based on the changes you have described for the mask area.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t == null ? void 0 : t.stabilityAI) == null ? void 0 : o.imageToImageMasking;\n _typeof(r) == \"object\" && (r.engine_id && (_this20.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/image-to-image/masking\")), r.weight !== void 0 && r.weight !== null && (_this20._imageWeight = r.weight), r.mask_source !== void 0 && r.mask_source !== null && (_this20._maskSource = r.mask_source), Gt.cleanConfig(r), Object.assign(_this20.rawBody, r)), _this20.canSendMessage = Gt.canSendFileTextMessage;\n return _this20;\n }\n _createClass(Gt, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i, n) {\n var r = new FormData();\n return r.append(\"init_image\", t), r.append(\"mask_source\", String(this._maskSource)), r.append(\"mask_image\", i), n && n !== \"\" && r.append(\"text_prompts[0][text]\", n), this._imageWeight !== void 0 && this._imageWeight !== null && r.append(\"text_prompts[0][weight]\", String(this._imageWeight)), Object.keys(e).forEach(function (o) {\n r.append(o, String(e[o]));\n }), r.get(\"weight\") === void 0 && r.append(\"weight\", String(1)), r;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee41(e, t, i) {\n var o, a, n, r;\n return _regeneratorRuntime().wrap(function _callee41$(_context41) {\n while (1) switch (_context41.prev = _context41.next) {\n case 0:\n if (this.requestSettings) {\n _context41.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!(!i || !i[0] || !i[1])) {\n _context41.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n n = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim(), r = this.createFormDataBody(this.rawBody, i[0], i[1], n);\n v.tempRemoveContentHeader(this.requestSettings, w.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context41.stop();\n }\n }, _callee41, this);\n }));\n function callServiceAPI(_x83, _x84, _x85) {\n return _callServiceAPI6.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee42(e) {\n return _regeneratorRuntime().wrap(function _callee42$(_context42) {\n while (1) switch (_context42.prev = _context42.next) {\n case 0:\n if (!e.message) {\n _context42.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context42.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(wt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context42.stop();\n }\n }, _callee42);\n }));\n function extractResultData(_x86) {\n return _extractResultData3.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendFileTextMessage\",\n value: function canSendFileTextMessage(e, t) {\n return !!(t != null && t[0]) && !!(e && e.trim() !== \"\");\n }\n }]);\n return Gt;\n}(oi);\nvar ko = /*#__PURE__*/function (_St3) {\n _inherits(ko, _St3);\n function ko(e) {\n _classCallCheck(this, ko);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.audioSpeechRecognition,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, ko, [e, \"Attach an audio file\", \"facebook/wav2vec2-large-960h-lv60-self\", t, i, {\n audio: {}\n }]);\n }\n _createClass(ko, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee43(e) {\n return _regeneratorRuntime().wrap(function _callee43$(_context43) {\n while (1) switch (_context43.prev = _context43.next) {\n case 0:\n if (!e.estimated_time) {\n _context43.next = 2;\n break;\n }\n return _context43.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context43.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context43.abrupt(\"return\", {\n text: e.text || \"\"\n });\n case 5:\n case \"end\":\n return _context43.stop();\n }\n }, _callee43);\n }));\n function extractPollResultData(_x87) {\n return _extractPollResultData3.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n return ko;\n}(St);\nvar Io = /*#__PURE__*/function (_Be2) {\n _inherits(Io, _Be2);\n function Io(e) {\n _classCallCheck(this, Io);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.textGeneration,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Io, [e, \"Once upon a time\", \"gpt2\", t, i]);\n }\n _createClass(Io, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee44(e) {\n return _regeneratorRuntime().wrap(function _callee44$(_context44) {\n while (1) switch (_context44.prev = _context44.next) {\n case 0:\n if (!e.error) {\n _context44.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context44.abrupt(\"return\", {\n text: e[0].generated_text || \"\"\n });\n case 3:\n case \"end\":\n return _context44.stop();\n }\n }, _callee44);\n }));\n function extractResultData(_x88) {\n return _extractResultData4.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Io;\n}(Be);\nvar Lo = /*#__PURE__*/function (_Be3) {\n _inherits(Lo, _Be3);\n function Lo(e) {\n var _this21;\n _classCallCheck(this, Lo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.questionAnswer,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this21 = _callSuper(this, Lo, [e, \"Ask a question\", \"bert-large-uncased-whole-word-masking-finetuned-squad\", t, i]), _this21.permittedErrorPrefixes = [\"Authorization header\", \"Error in\"], _this21.context = t.context;\n return _this21;\n }\n _createClass(Lo, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return {\n inputs: {\n question: i,\n context: this.context,\n options: {\n wait_for_model: !0\n }\n }\n };\n }\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee45(e) {\n return _regeneratorRuntime().wrap(function _callee45$(_context45) {\n while (1) switch (_context45.prev = _context45.next) {\n case 0:\n if (!e.error) {\n _context45.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context45.abrupt(\"return\", {\n text: e.answer || \"\"\n });\n case 3:\n case \"end\":\n return _context45.stop();\n }\n }, _callee45);\n }));\n function extractResultData(_x89) {\n return _extractResultData5.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Lo;\n}(Be);\nvar Ro = /*#__PURE__*/function (_Be4) {\n _inherits(Ro, _Be4);\n function Ro(e) {\n _classCallCheck(this, Ro);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Ro, [e, \"Insert text to summarize\", \"facebook/bart-large-cnn\", t, i]);\n }\n _createClass(Ro, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee46(e) {\n return _regeneratorRuntime().wrap(function _callee46$(_context46) {\n while (1) switch (_context46.prev = _context46.next) {\n case 0:\n if (!e.error) {\n _context46.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context46.abrupt(\"return\", {\n text: e[0].summary_text || \"\"\n });\n case 3:\n case \"end\":\n return _context46.stop();\n }\n }, _callee46);\n }));\n function extractResultData(_x90) {\n return _extractResultData6.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Ro;\n}(Be);\nvar No = /*#__PURE__*/function (_Be5) {\n _inherits(No, _Be5);\n function No(e) {\n var _this22$maxMessages;\n var _this22;\n _classCallCheck(this, No);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.conversation,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this22 = _callSuper(this, No, [e, \"Ask me anything!\", \"facebook/blenderbot-400M-distill\", t, i]), (_this22$maxMessages = _this22.maxMessages) !== null && _this22$maxMessages !== void 0 ? _this22$maxMessages : _this22.maxMessages = -1;\n return _this22;\n }\n // prettier-ignore\n _createClass(No, [{\n key: \"processMessages\",\n value: function processMessages(e) {\n var t = e.filter(function (a) {\n return a.text;\n }),\n i = t[t.length - 1].text,\n n = t.slice(0, t.length - 1);\n if (!i) return;\n var r = n.filter(function (a) {\n return a.role === \"user\";\n }).map(function (a) {\n return a.text;\n }),\n o = n.filter(function (a) {\n return a.role === \"ai\";\n }).map(function (a) {\n return a.text;\n });\n return {\n past_user_inputs: r,\n generated_responses: o,\n mostRecentMessageText: i\n };\n }\n // prettier-ignore\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var _i$options;\n var i = JSON.parse(JSON.stringify(e)),\n n = this.processMessages(t);\n if (n) return (_i$options = i.options) !== null && _i$options !== void 0 ? _i$options : i.options = {}, i.options.wait_for_model = !0, _objectSpread({\n inputs: {\n past_user_inputs: n.past_user_inputs,\n generated_responses: n.generated_responses,\n text: n.mostRecentMessageText\n }\n }, i);\n }\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee47(e) {\n return _regeneratorRuntime().wrap(function _callee47$(_context47) {\n while (1) switch (_context47.prev = _context47.next) {\n case 0:\n if (!e.error) {\n _context47.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context47.abrupt(\"return\", {\n text: e.generated_text || \"\"\n });\n case 3:\n case \"end\":\n return _context47.stop();\n }\n }, _callee47);\n }));\n function extractResultData(_x91) {\n return _extractResultData7.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return No;\n}(Be);\nvar Vt = /*#__PURE__*/function (_oi3) {\n _inherits(Vt, _oi3);\n function Vt(e) {\n var _this23;\n _classCallCheck(this, Vt);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.stabilityAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 1\n }\n }\n };\n _this23 = _callSuper(this, Vt, [e, ce.buildKeyVerificationDetails(), ce.buildHeaders, i, n]), _this23.url = \"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/image-to-image\", _this23.textInputPlaceholderText = \"Describe image changes\", _this23.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI: Image to Image</b></div>\\n <p>Upload an image to create a new one with the changes you have described.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t.stabilityAI) == null ? void 0 : o.imageToImage;\n _typeof(r) == \"object\" && (r.engine_id && (_this23.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/text-to-image\")), r.weight !== void 0 && r.weight !== null && (_this23._imageWeight = r.weight), Vt.cleanConfig(r), Object.assign(_this23.rawBody, r)), _this23.canSendMessage = Vt.canSendFileTextMessage;\n return _this23;\n }\n _createClass(Vt, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i) {\n var n = new FormData();\n return n.append(\"init_image\", t), i && i !== \"\" && n.append(\"text_prompts[0][text]\", i), this._imageWeight !== void 0 && this._imageWeight !== null && n.append(\"text_prompts[0][weight]\", String(this._imageWeight)), Object.keys(e).forEach(function (r) {\n n.append(r, String(e[r]));\n }), n.get(\"weight\") === void 0 && n.append(\"weight\", String(1)), n;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee48(e, t, i) {\n var o, a, n, r;\n return _regeneratorRuntime().wrap(function _callee48$(_context48) {\n while (1) switch (_context48.prev = _context48.next) {\n case 0:\n if (this.requestSettings) {\n _context48.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context48.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n n = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim(), r = this.createFormDataBody(this.rawBody, i[0], n);\n v.tempRemoveContentHeader(this.requestSettings, w.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context48.stop();\n }\n }, _callee48, this);\n }));\n function callServiceAPI(_x92, _x93, _x94) {\n return _callServiceAPI7.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee49(e) {\n return _regeneratorRuntime().wrap(function _callee49$(_context49) {\n while (1) switch (_context49.prev = _context49.next) {\n case 0:\n if (!e.message) {\n _context49.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context49.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(wt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context49.stop();\n }\n }, _callee49);\n }));\n function extractResultData(_x95) {\n return _extractResultData8.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendFileTextMessage\",\n value: function canSendFileTextMessage(e, t) {\n return !!(t != null && t[0]) && !!(e && e.trim() !== \"\");\n }\n }]);\n return Vt;\n}(oi);\nvar Oo = /*#__PURE__*/function (_Be6) {\n _inherits(Oo, _Be6);\n function Oo(e) {\n _classCallCheck(this, Oo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.translation,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, Oo, [e, \"Insert text to translate\", \"Helsinki-NLP/opus-tatoeba-en-ja\", t, i]);\n }\n _createClass(Oo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee50(e) {\n return _regeneratorRuntime().wrap(function _callee50$(_context50) {\n while (1) switch (_context50.prev = _context50.next) {\n case 0:\n if (!e.error) {\n _context50.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context50.abrupt(\"return\", {\n text: e[0].translation_text || \"\"\n });\n case 3:\n case \"end\":\n return _context50.stop();\n }\n }, _callee50);\n }));\n function extractResultData(_x96) {\n return _extractResultData9.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Oo;\n}(Be);\nvar Wt = /*#__PURE__*/function (_oi4) {\n _inherits(Wt, _oi4);\n function Wt(e) {\n var _this24;\n _classCallCheck(this, Wt);\n var r;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.stabilityAI;\n _this24 = _callSuper(this, Wt, [e, ce.buildKeyVerificationDetails(), ce.buildHeaders, i]), _this24.url = \"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image\", _this24.textInputPlaceholderText = \"Describe an image\", _this24.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI: Text to Image</b></div>\\n <p>Insert text to generate an image.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var n = (r = t.stabilityAI) == null ? void 0 : r.textToImage;\n _typeof(n) == \"object\" && (n.engine_id && (_this24.url = \"https://api.stability.ai/v1/generation/\".concat(n.engine_id, \"/text-to-image\")), n.weight !== void 0 && n.weight !== null && (_this24._imageWeight = n.weight), Wt.cleanConfig(n), Object.assign(_this24.rawBody, n)), _this24.canSendMessage = Wt.canSendTextMessage;\n return _this24;\n }\n _createClass(Wt, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = {\n text: t\n };\n return this._imageWeight && (n.weight = this._imageWeight), i.text_prompts = [n], i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee51(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee51$(_context51) {\n while (1) switch (_context51.prev = _context51.next) {\n case 0:\n if (this.requestSettings) {\n _context51.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t[t.length - 1].text);\n w.request(this, i, e);\n case 4:\n case \"end\":\n return _context51.stop();\n }\n }, _callee51, this);\n }));\n function callServiceAPI(_x97, _x98) {\n return _callServiceAPI8.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee52(e) {\n return _regeneratorRuntime().wrap(function _callee52$(_context52) {\n while (1) switch (_context52.prev = _context52.next) {\n case 0:\n if (!e.message) {\n _context52.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context52.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(wt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context52.stop();\n }\n }, _callee52);\n }));\n function extractResultData(_x99) {\n return _extractResultData10.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendTextMessage\",\n value: function canSendTextMessage(e) {\n return !!(e && e.trim() !== \"\");\n }\n }]);\n return Wt;\n}(oi);\nvar Po = /*#__PURE__*/function (_Be7) {\n _inherits(Po, _Be7);\n function Po(e) {\n var _this25;\n _classCallCheck(this, Po);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.fillMask,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this25 = _callSuper(this, Po, [e, \"The goal of life is [MASK].\", \"bert-base-uncased\", t, i]), _this25.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Hugging Face</b></div>\\n <p>Insert a sentence with the word [MASK] and the model will try to fill it for you. E.g. I want [MASK].</p>\\n <p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>\", _this25.permittedErrorPrefixes = [\"Authorization header\", \"No mask_token\"];\n return _this25;\n }\n _createClass(Po, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee53(e) {\n return _regeneratorRuntime().wrap(function _callee53$(_context53) {\n while (1) switch (_context53.prev = _context53.next) {\n case 0:\n if (!e.error) {\n _context53.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context53.abrupt(\"return\", {\n text: e[0].sequence || \"\"\n });\n case 3:\n case \"end\":\n return _context53.stop();\n }\n }, _callee53);\n }));\n function extractResultData(_x100) {\n return _extractResultData11.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Po;\n}(Be);\nvar Jt = /*#__PURE__*/function () {\n function Jt() {\n _classCallCheck(this, Jt);\n }\n _createClass(Jt, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\",\n accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var o;\n (o = e.message) != null && o.includes(\"invalid request: prompt must be at least 1 token long\") ? i(t) : n(A.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.cohere.ai/v1/generate\",\n method: \"POST\",\n handleVerificationResult: Jt.handleVerificationResult,\n body: JSON.stringify({\n prompt: \"\"\n })\n };\n }\n }]);\n return Jt;\n}();\nvar Xi = /*#__PURE__*/function (_q3) {\n _inherits(Xi, _q3);\n function Xi(e, t, i, n, r) {\n var _this26;\n _classCallCheck(this, Xi);\n _this26 = _callSuper(this, Xi, [e, Jt.buildKeyVerificationDetails(), Jt.buildHeaders, r]), _this26.insertKeyPlaceholderText = \"Cohere API Key\", _this26.keyHelpUrl = \"https://dashboard.cohere.ai/api-keys\", _this26.permittedErrorPrefixes = [\"invalid\"], _this26.url = t, _this26.textInputPlaceholderText = i, n && _typeof(n) == \"object\" && Object.assign(_this26.rawBody, n);\n return _this26;\n }\n return _createClass(Xi);\n}(q);\nvar Do = /*#__PURE__*/function (_Xi) {\n _inherits(Do, _Xi);\n function Do(e) {\n _classCallCheck(this, Do);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.cohere) == null ? void 0 : r.textGeneration,\n i = (o = e.directConnection) == null ? void 0 : o.cohere;\n return _callSuper(this, Do, [e, \"https://api.cohere.ai/v1/generate\", \"Once upon a time\", t, i]);\n }\n _createClass(Do, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t[t.length - 1].text;\n if (n) return _objectSpread({\n prompt: n\n }, i);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee54(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee54$(_context54) {\n while (1) switch (_context54.prev = _context54.next) {\n case 0:\n if (this.requestSettings) {\n _context54.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n w.request(this, i, e);\n case 4:\n case \"end\":\n return _context54.stop();\n }\n }, _callee54, this);\n }));\n function callServiceAPI(_x101, _x102) {\n return _callServiceAPI9.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee55(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee55$(_context55) {\n while (1) switch (_context55.prev = _context55.next) {\n case 0:\n if (!e.message) {\n _context55.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context55.abrupt(\"return\", {\n text: ((t = e.generations) == null ? void 0 : t[0].text) || \"\"\n });\n case 3:\n case \"end\":\n return _context55.stop();\n }\n }, _callee55);\n }));\n function extractResultData(_x103) {\n return _extractResultData12.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Do;\n}(Xi);\nvar jo = /*#__PURE__*/function (_Xi2) {\n _inherits(jo, _Xi2);\n function jo(e) {\n _classCallCheck(this, jo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.cohere) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.cohere;\n return _callSuper(this, jo, [e, \"https://api.cohere.ai/v1/summarize\", \"Insert text to summarize\", t, i]);\n }\n _createClass(jo, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t[t.length - 1].text;\n if (n) return _objectSpread({\n text: n\n }, i);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee56(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee56$(_context56) {\n while (1) switch (_context56.prev = _context56.next) {\n case 0:\n if (this.requestSettings) {\n _context56.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n w.request(this, i, e);\n case 4:\n case \"end\":\n return _context56.stop();\n }\n }, _callee56, this);\n }));\n function callServiceAPI(_x104, _x105) {\n return _callServiceAPI10.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee57(e) {\n return _regeneratorRuntime().wrap(function _callee57$(_context57) {\n while (1) switch (_context57.prev = _context57.next) {\n case 0:\n if (!e.message) {\n _context57.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context57.abrupt(\"return\", {\n text: e.summary || \"\"\n });\n case 3:\n case \"end\":\n return _context57.stop();\n }\n }, _callee57);\n }));\n function extractResultData(_x106) {\n return _extractResultData13.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return jo;\n}(Xi);\nvar N = /*#__PURE__*/function () {\n function N() {\n _classCallCheck(this, N);\n }\n _createClass(N, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var r = e;\n r.error ? r.error.code === \"invalid_api_key\" ? n(A.INVALID_KEY) : n(A.CONNECTION_FAILED) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.openai.com/v1/models\",\n method: \"GET\",\n handleVerificationResult: N.handleVerificationResult\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"directFetch\",\n value: function () {\n var _directFetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee58(e, t, i) {\n var n,\n r,\n _args58 = arguments;\n return _regeneratorRuntime().wrap(function _callee58$(_context58) {\n while (1) switch (_context58.prev = _context58.next) {\n case 0:\n n = _args58.length > 3 && _args58[3] !== undefined ? _args58[3] : !0;\n e.requestSettings.method = i;\n _context58.next = 4;\n return v.fetch(e, e.requestSettings.headers, n, t).then(function (o) {\n return v.processResponseByType(o);\n });\n case 4:\n r = _context58.sent;\n if (!r.error) {\n _context58.next = 7;\n break;\n }\n throw r.error.message;\n case 7:\n return _context58.abrupt(\"return\", r);\n case 8:\n case \"end\":\n return _context58.stop();\n }\n }, _callee58);\n }));\n function directFetch(_x107, _x108, _x109) {\n return _directFetch.apply(this, arguments);\n }\n return directFetch;\n }()\n }]);\n return N;\n}();\nvar Qi = /*#__PURE__*/function (_q4) {\n _inherits(zi, _q4);\n function zi(e) {\n var _o$model, _a$voice;\n var _this27;\n _classCallCheck(this, zi);\n var r, o, a;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.openAI;\n _this27 = _callSuper(this, zi, [e, N.buildKeyVerificationDetails(), N.buildHeaders, i]), _this27.insertKeyPlaceholderText = \"OpenAI API Key\", _this27.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this27.url = \"https://api.openai.com/v1/audio/speech\", _this27.permittedErrorPrefixes = [\"Invalid\"], _this27.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI : Text To Speech</b></div>\\n <p>Generate an audio file based on your text input.</p>\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/text-to-speech\\\">here</a> for more information.</p>\";\n var n = (r = t == null ? void 0 : t.openAI) == null ? void 0 : r.textToSpeech;\n _typeof(n) == \"object\" && Object.assign(_this27.rawBody, n), (_o$model = (o = _this27.rawBody).model) !== null && _o$model !== void 0 ? _o$model : o.model = zi.DEFAULT_MODEL, (_a$voice = (a = _this27.rawBody).voice) !== null && _a$voice !== void 0 ? _a$voice : a.voice = zi.DEFAULT_VOIDE, _this27.textInputPlaceholderText = \"Insert text to generate audio\", _this27.rawBody.response_format = \"mp3\";\n return _this27;\n }\n _createClass(zi, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var r, o;\n var i = JSON.parse(JSON.stringify(e)),\n n = (o = (r = t[t.length - 1]) == null ? void 0 : r.text) == null ? void 0 : o.trim();\n return n && n !== \"\" && (i.input = n), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee59(e, t) {\n var n, i;\n return _regeneratorRuntime().wrap(function _callee59$(_context59) {\n while (1) switch (_context59.prev = _context59.next) {\n case 0:\n if ((n = this.requestSettings) != null && n.headers) {\n _context59.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n this.url = this.requestSettings.url || this.url;\n i = this.preprocessBody(this.rawBody, t);\n w.request(this, i, e);\n case 5:\n case \"end\":\n return _context59.stop();\n }\n }, _callee59, this);\n }));\n function callServiceAPI(_x110, _x111) {\n return _callServiceAPI11.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee60(e) {\n return _regeneratorRuntime().wrap(function _callee60$(_context60) {\n while (1) switch (_context60.prev = _context60.next) {\n case 0:\n if (!(e instanceof Blob)) {\n _context60.next = 2;\n break;\n }\n return _context60.abrupt(\"return\", new Promise(function (t) {\n var i = new FileReader();\n i.readAsDataURL(e), i.onload = function (n) {\n t({\n files: [{\n src: n.target.result,\n type: \"audio\"\n }]\n });\n };\n }));\n case 2:\n if (!e.error) {\n _context60.next = 4;\n break;\n }\n throw e.error.message;\n case 4:\n return _context60.abrupt(\"return\", {\n error: \"error\"\n });\n case 5:\n case \"end\":\n return _context60.stop();\n }\n }, _callee60);\n }));\n function extractResultData(_x112) {\n return _extractResultData14.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return zi;\n}(q);\nQi.DEFAULT_MODEL = \"tts-1\";\nQi.DEFAULT_VOIDE = \"alloy\";\nvar Fo = Qi;\nvar ai = /*#__PURE__*/function (_q5) {\n _inherits(Me, _q5);\n function Me(e) {\n var _o$model2;\n var _this28;\n _classCallCheck(this, Me);\n var r, o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.openAI;\n _this28 = _callSuper(this, Me, [e, N.buildKeyVerificationDetails(), N.buildHeaders, i, {\n audio: {}\n }]), _this28.insertKeyPlaceholderText = \"OpenAI API Key\", _this28.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this28.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI : Speech To Text</b></div>\\n <p><b>Upload an audio file</b> to transcribe it into text. You can optionally provide text to guide the audio\\n processing.\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/speech-to-text\\\">here</a> for more info.</p>\", _this28.url = \"\", _this28.permittedErrorPrefixes = [\"Invalid\"], _this28.textInputPlaceholderText = \"Upload an audio file\", _this28._service_url = Me.AUDIO_TRANSCRIPTIONS_URL;\n var n = (r = t == null ? void 0 : t.openAI) == null ? void 0 : r.audio;\n _typeof(n) == \"object\" && (_this28.processConfig(n), Me.cleanConfig(n), Object.assign(_this28.rawBody, n)), (_o$model2 = (o = _this28.rawBody).model) !== null && _o$model2 !== void 0 ? _o$model2 : o.model = Me.DEFAULT_MODEL, _this28.rawBody.response_format = \"json\", _this28.canSendMessage = Me.canSendFileMessage;\n return _this28;\n }\n _createClass(Me, [{\n key: \"processConfig\",\n value: function processConfig(e) {\n e != null && e.type && e.type === \"translation\" && (this._service_url = Me.AUDIO_TRANSLATIONS_URL, delete e.language);\n }\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var r, o;\n var i = JSON.parse(JSON.stringify(e)),\n n = (o = (r = t[t.length - 1]) == null ? void 0 : r.text) == null ? void 0 : o.trim();\n return n && n !== \"\" && (i.prompt = n), i;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee61(e, t, i) {\n var o, n, r;\n return _regeneratorRuntime().wrap(function _callee61$(_context61) {\n while (1) switch (_context61.prev = _context61.next) {\n case 0:\n if ((o = this.requestSettings) != null && o.headers) {\n _context61.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context61.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n this.url = this.requestSettings.url || this._service_url;\n n = this.preprocessBody(this.rawBody, t), r = Me.createFormDataBody(n, i[0]);\n v.tempRemoveContentHeader(this.requestSettings, w.request.bind(this, this, r, e), !1);\n case 7:\n case \"end\":\n return _context61.stop();\n }\n }, _callee61, this);\n }));\n function callServiceAPI(_x113, _x114, _x115) {\n return _callServiceAPI12.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee62(e) {\n return _regeneratorRuntime().wrap(function _callee62$(_context62) {\n while (1) switch (_context62.prev = _context62.next) {\n case 0:\n if (!e.error) {\n _context62.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context62.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context62.stop();\n }\n }, _callee62);\n }));\n function extractResultData(_x116) {\n return _extractResultData15.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canSendFileMessage\",\n value: function canSendFileMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }, {\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.type;\n }\n }, {\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t) {\n var i = new FormData();\n return i.append(\"file\", t), Object.keys(e).forEach(function (n) {\n i.append(n, String(e[n]));\n }), i;\n }\n }]);\n return Me;\n}(q);\nai.AUDIO_TRANSCRIPTIONS_URL = \"https://api.openai.com/v1/audio/transcriptions\";\nai.AUDIO_TRANSLATIONS_URL = \"https://api.openai.com/v1/audio/translations\";\nai.DEFAULT_MODEL = \"whisper-1\";\nvar Bo = ai;\nvar Z = /*#__PURE__*/function () {\n function Z() {\n _classCallCheck(this, Z);\n }\n _createClass(Z, null, [{\n key: \"buildTextToSpeechHeaders\",\n value: function buildTextToSpeechHeaders(e, t) {\n return {\n \"Ocp-Apim-Subscription-Key\": t,\n \"Content-Type\": \"application/ssml+xml\",\n \"X-Microsoft-OutputFormat\": e\n };\n }\n }, {\n key: \"buildSpeechToTextHeaders\",\n value: function buildSpeechToTextHeaders(e) {\n return {\n \"Ocp-Apim-Subscription-Key\": e,\n Accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleSpeechVerificationResult\",\n value: function handleSpeechVerificationResult(e, t, i, n) {\n e.error ? n(A.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildSpeechKeyVerificationDetails\",\n value: function buildSpeechKeyVerificationDetails(e) {\n return {\n url: \"https://\".concat(e, \".api.cognitive.microsoft.com/sts/v1.0/issuetoken\"),\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return {\n \"Ocp-Apim-Subscription-Key\": \"\".concat(t)\n };\n },\n handleVerificationResult: Z.handleSpeechVerificationResult\n };\n }\n }, {\n key: \"buildSummarizationHeader\",\n value: function buildSummarizationHeader(e) {\n return {\n \"Ocp-Apim-Subscription-Key\": e,\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleLanguageVerificationResult\",\n value: function handleLanguageVerificationResult(e, t, i, n) {\n var o;\n ((o = e.error) == null ? void 0 : o.code) === \"401\" ? n(A.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildLanguageKeyVerificationDetails\",\n value: function buildLanguageKeyVerificationDetails(e) {\n return {\n url: \"\".concat(e, \"/language/analyze-text/jobs?api-version=2022-10-01-preview\"),\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return {\n \"Ocp-Apim-Subscription-Key\": \"\".concat(t)\n };\n },\n handleVerificationResult: Z.handleLanguageVerificationResult\n };\n }\n // prettier-ignore\n }, {\n key: \"handleTranslationVerificationResult\",\n value: function handleTranslationVerificationResult(e, t, i, n) {\n e.json().then(function (o) {\n !Array.isArray(o) && o.error.code === 401e3 ? n(A.INVALID_KEY) : i(t);\n });\n }\n }, {\n key: \"buildTranslationKeyVerificationDetails\",\n value: function buildTranslationKeyVerificationDetails(e) {\n return {\n url: \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es\",\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return Z.buildTranslationHeaders(e, t);\n },\n handleVerificationResult: Z.handleTranslationVerificationResult\n };\n }\n }, {\n key: \"buildTranslationHeaders\",\n value: function buildTranslationHeaders(e, t) {\n var i = {\n \"Ocp-Apim-Subscription-Key\": t,\n \"Content-Type\": \"application/json\"\n };\n return e && (i[\"Ocp-Apim-Subscription-Region\"] = e), i;\n }\n }]);\n return Z;\n}();\nvar zo = /*#__PURE__*/function (_q6) {\n _inherits(zo, _q6);\n // prettier-ignore\n function zo(e, t, i, n, r) {\n var _this29;\n _classCallCheck(this, zo);\n _this29 = _callSuper(this, zo, [e, Z.buildLanguageKeyVerificationDetails(i), t, n, r]), _this29.insertKeyPlaceholderText = \"Azure Language Subscription Key\", _this29.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\", _this29.permittedErrorPrefixes = [\"Access\"];\n return _this29;\n }\n return _createClass(zo);\n}(q);\nvar Uo = /*#__PURE__*/function (_zo) {\n _inherits(Uo, _zo);\n function Uo(e) {\n var _a$language;\n var _this30;\n _classCallCheck(this, Uo);\n var n, r, o, a;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.azure) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this30 = _callSuper(this, Uo, [e, Z.buildSummarizationHeader, t.endpoint, i]), _this30.url = \"\", _this30.textInputPlaceholderText = \"Insert text to summarize\", (_a$language = (a = _this30.rawBody).language) !== null && _a$language !== void 0 ? _a$language : a.language = \"en\", Object.assign(_this30.rawBody, t), _this30.url = \"\".concat(t.endpoint, \"/language/analyze-text/jobs?api-version=2022-10-01-preview\");\n return _this30;\n }\n _createClass(Uo, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return {\n analysisInput: {\n documents: [{\n id: \"1\",\n language: e.language,\n text: i\n }]\n },\n tasks: [{\n kind: \"ExtractiveSummarization\"\n }]\n };\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee63(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee63$(_context63) {\n while (1) switch (_context63.prev = _context63.next) {\n case 0:\n if (this.requestSettings) {\n _context63.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n w.request(this, i, e), this.messages = e;\n case 4:\n case \"end\":\n return _context63.stop();\n }\n }, _callee63, this);\n }));\n function callServiceAPI(_x117, _x118) {\n return _callServiceAPI13.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee64(e) {\n var t, _i10, n;\n return _regeneratorRuntime().wrap(function _callee64$(_context64) {\n while (1) switch (_context64.prev = _context64.next) {\n case 0:\n if (!e.error) {\n _context64.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n if (this.messages && this.completionsHandlers) {\n _i10 = e.headers.get(\"operation-location\"), n = {\n method: \"GET\",\n headers: (t = this.requestSettings) == null ? void 0 : t.headers\n };\n w.executePollRequest(this, _i10, n, this.messages);\n }\n return _context64.abrupt(\"return\", {\n makingAnotherRequest: !0\n });\n case 4:\n case \"end\":\n return _context64.stop();\n }\n }, _callee64, this);\n }));\n function extractResultData(_x119) {\n return _extractResultData16.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee65(e) {\n var t, _iterator, _step, _i11;\n return _regeneratorRuntime().wrap(function _callee65$(_context65) {\n while (1) switch (_context65.prev = _context65.next) {\n case 0:\n if (!e.error) {\n _context65.next = 2;\n break;\n }\n throw e.error;\n case 2:\n if (!(e.status === \"running\")) {\n _context65.next = 4;\n break;\n }\n return _context65.abrupt(\"return\", {\n timeoutMS: 2e3\n });\n case 4:\n if (!(e.errors.length > 0)) {\n _context65.next = 6;\n break;\n }\n throw e.errors[0];\n case 6:\n if (!(e.tasks.items[0].results.errors.length > 0)) {\n _context65.next = 8;\n break;\n }\n throw e.tasks.items[0].results.errors[0];\n case 8:\n t = \"\";\n _iterator = _createForOfIteratorHelper(e.tasks.items[0].results.documents[0].sentences);\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _i11 = _step.value;\n t += _i11.text;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return _context65.abrupt(\"return\", {\n text: t || \"\"\n });\n case 12:\n case \"end\":\n return _context65.stop();\n }\n }, _callee65);\n }));\n function extractPollResultData(_x120) {\n return _extractPollResultData4.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n return Uo;\n}(zo);\nvar ut = /*#__PURE__*/function () {\n function ut() {\n _classCallCheck(this, ut);\n }\n _createClass(ut, null, [{\n key: \"poll\",\n value: function () {\n var _poll2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee66(e, t) {\n var i, a, l, d;\n return _regeneratorRuntime().wrap(function _callee66$(_context66) {\n while (1) switch (_context66.prev = _context66.next) {\n case 0:\n i = {\n authorization: e,\n \"content-type\": \"application/json\"\n };\n _context66.t0 = \"https://api.assemblyai.com/v2/transcript/\";\n _context66.next = 4;\n return fetch(\"https://api.assemblyai.com/v2/transcript\", {\n method: \"POST\",\n body: JSON.stringify({\n audio_url: t\n }),\n headers: i\n });\n case 4:\n _context66.next = 6;\n return _context66.sent.json();\n case 6:\n _context66.t1 = _context66.sent.id;\n a = _context66.t0.concat.call(_context66.t0, _context66.t1);\n case 8:\n if (l) {\n _context66.next = 24;\n break;\n }\n _context66.next = 11;\n return fetch(a, {\n headers: i\n });\n case 11:\n _context66.next = 13;\n return _context66.sent.json();\n case 13:\n d = _context66.sent;\n if (!(d.status === \"completed\")) {\n _context66.next = 18;\n break;\n }\n l = d;\n _context66.next = 22;\n break;\n case 18:\n if (!(d.status === \"error\")) {\n _context66.next = 20;\n break;\n }\n throw new Error(\"Transcription failed: \".concat(d.error));\n case 20:\n _context66.next = 22;\n return new Promise(function (u) {\n return setTimeout(u, 3e3);\n });\n case 22:\n _context66.next = 8;\n break;\n case 24:\n return _context66.abrupt(\"return\", l);\n case 25:\n case \"end\":\n return _context66.stop();\n }\n }, _callee66);\n }));\n function poll(_x121, _x122) {\n return _poll2.apply(this, arguments);\n }\n return poll;\n }()\n }, {\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: e,\n \"Content-Type\": \"application/octet-stream\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var r = e;\n r.error ? r.error.code === \"invalid_api_key\" ? n(A.INVALID_KEY) : n(A.CONNECTION_FAILED) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.assemblyai.com/v2/upload\",\n method: \"POST\",\n handleVerificationResult: ut.handleVerificationResult\n };\n }\n }]);\n return ut;\n}();\nvar en = /*#__PURE__*/function (_q7) {\n _inherits(en, _q7);\n function en(e) {\n var _this31;\n _classCallCheck(this, en);\n var i;\n var t = (i = e.directConnection) == null ? void 0 : i.assemblyAI;\n _this31 = _callSuper(this, en, [e, ut.buildKeyVerificationDetails(), ut.buildHeaders, t, {\n audio: {}\n }]), _this31.insertKeyPlaceholderText = \"AssemblyAI API Key\", _this31.keyHelpUrl = \"https://www.assemblyai.com/app/account\", _this31.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>AssemblyAI Audio</b></div>\\n <p><b>Upload an audio file</b> to transcribe it into text.\\n <p>\\n Click <a href=\\\"https://www.assemblyai.com/docs/Guides/transcribing_an_audio_file#get-started\\\">here</a> for more info.\\n </p>\", _this31.url = \"https://api.assemblyai.com/v2/upload\", _this31.isTextInputDisabled = !0, _this31.textInputPlaceholderText = \"Upload an audio file\", _this31.permittedErrorPrefixes = [\"Authentication\", \"Invalid\"], _this31.canSendMessage = en.canFileSendMessage;\n return _this31;\n }\n _createClass(en, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee67(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee67$(_context67) {\n while (1) switch (_context67.prev = _context67.next) {\n case 0:\n if ((n = this.requestSettings) != null && n.headers) {\n _context67.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context67.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n w.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context67.stop();\n }\n }, _callee67, this);\n }));\n function callServiceAPI(_x123, _x124, _x125) {\n return _callServiceAPI14.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee68(e) {\n var n, r, t;\n return _regeneratorRuntime().wrap(function _callee68$(_context68) {\n while (1) switch (_context68.prev = _context68.next) {\n case 0:\n if (!e.error) {\n _context68.next = 2;\n break;\n }\n throw e.error;\n case 2:\n t = (r = (n = this.requestSettings) == null ? void 0 : n.headers) == null ? void 0 : r.Authorization;\n _context68.next = 5;\n return ut.poll(t, e.upload_url);\n case 5:\n _context68.t0 = _context68.sent.text;\n return _context68.abrupt(\"return\", {\n text: _context68.t0\n });\n case 7:\n case \"end\":\n return _context68.stop();\n }\n }, _callee68, this);\n }));\n function extractResultData(_x126) {\n return _extractResultData17.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n return en;\n}(q);\nvar hs = /*#__PURE__*/function (_q8) {\n _inherits(hs, _q8);\n // prettier-ignore\n function hs(e, t, i, n, r) {\n var _this32;\n _classCallCheck(this, hs);\n _this32 = _callSuper(this, hs, [e, Z.buildSpeechKeyVerificationDetails(i), t, n, r]), _this32.insertKeyPlaceholderText = \"Azure Speech Subscription Key\", _this32.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\";\n return _this32;\n }\n return _createClass(hs);\n}(q);\nvar ps = /*#__PURE__*/function (_hs) {\n _inherits(fs, _hs);\n // prettier-ignore\n function fs(e) {\n var _a$lang, _l$name, _c$gender;\n var _this33;\n _classCallCheck(this, fs);\n var n, r, o, a, l, c;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.azure) == null ? void 0 : r.textToSpeech,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this33 = _callSuper(this, fs, [e, Z.buildTextToSpeechHeaders.bind({}, (t == null ? void 0 : t.outputFormat) || \"audio-16khz-128kbitrate-mono-mp3\"), t.region, i]), _this33.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Azure Text To Speech</b></div>\\n <p>Insert text to synthesize it to audio.\\n <p>\\n Click <a href=\\\"\".concat(fs.HELP_LINK, \"\\\">here</a> for more info.\\n </p>\"), _this33.url = \"\", Object.assign(_this33.rawBody, t), (_a$lang = (a = _this33.rawBody).lang) !== null && _a$lang !== void 0 ? _a$lang : a.lang = \"en-US\", (_l$name = (l = _this33.rawBody).name) !== null && _l$name !== void 0 ? _l$name : l.name = \"en-US-JennyNeural\", (_c$gender = (c = _this33.rawBody).gender) !== null && _c$gender !== void 0 ? _c$gender : c.gender = \"Female\", _this33.url = \"https://\".concat(t.region, \".tts.speech.microsoft.com/cognitiveservices/v1\");\n return _this33;\n }\n _createClass(fs, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return \"<speak version='1.0' xml:lang='\".concat(e.lang, \"'>\\n <voice xml:lang='\").concat(e.lang, \"' xml:gender='\").concat(e.gender, \"' name='\").concat(e.name, \"'>\\n \").concat(i, \"\\n </voice>\\n </speak>\");\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee69(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee69$(_context69) {\n while (1) switch (_context69.prev = _context69.next) {\n case 0:\n if (this.requestSettings) {\n _context69.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n w.request(this, i, e, !1);\n case 4:\n case \"end\":\n return _context69.stop();\n }\n }, _callee69, this);\n }));\n function callServiceAPI(_x127, _x128) {\n return _callServiceAPI15.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee70(e) {\n return _regeneratorRuntime().wrap(function _callee70$(_context70) {\n while (1) switch (_context70.prev = _context70.next) {\n case 0:\n return _context70.abrupt(\"return\", new Promise(function (t) {\n var i = new FileReader();\n i.readAsDataURL(e), i.onload = function (n) {\n t({\n files: [{\n src: n.target.result,\n type: \"audio\"\n }]\n });\n };\n }));\n case 1:\n case \"end\":\n return _context70.stop();\n }\n }, _callee70);\n }));\n function extractResultData(_x129) {\n return _extractResultData18.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return fs;\n}(hs);\nps.HELP_LINK =\n// eslint-disable-next-line max-len\n\"https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest\";\nvar qo = ps;\nvar ms = /*#__PURE__*/function (_hs2) {\n _inherits(Ui, _hs2);\n function Ui(e) {\n var _this34;\n _classCallCheck(this, Ui);\n var o, a, l;\n var t = (a = (o = e.directConnection) == null ? void 0 : o.azure) == null ? void 0 : a.speechToText,\n i = (l = e.directConnection) == null ? void 0 : l.azure,\n n = {\n audio: {\n files: {\n acceptedFormats: \".wav,.ogg\"\n }\n }\n };\n _this34 = _callSuper(this, Ui, [e, Z.buildSpeechToTextHeaders, t.region, i, n]), _this34.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Azure Speech To Text</b></div>\\n <p><b>Upload a .wav or .ogg audio file</b> to transcribe it into text.\\n <p>\\n Click <a href=\\\"\".concat(Ui.HELP_LINK, \"\\\">here</a> for more info.\\n </p>\"), _this34.url = \"\", _this34.isTextInputDisabled = !0, _this34.textInputPlaceholderText = \"Upload an audio file\", _this34.canSendMessage = Ui.canFileSendMessage;\n var r = t.lang || \"en-US\";\n _this34.url = \"https://\".concat(t.region, \".stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=\").concat(r, \"&format=detailed\"), _this34.recordAudio = void 0;\n return _this34;\n }\n _createClass(Ui, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee71(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee71$(_context71) {\n while (1) switch (_context71.prev = _context71.next) {\n case 0:\n if ((n = this.requestSettings) != null && n.headers) {\n _context71.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context71.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n (r = this.requestSettings) != null && r.headers && (this.requestSettings.headers[\"Content-Type\"] = i[0].name.toLocaleLowerCase().endsWith(\".wav\") ? \"audio/wav; codecs=audio/pcm; samplerate=16000\" : \"audio/ogg; codecs=opus\"), w.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context71.stop();\n }\n }, _callee71, this);\n }));\n function callServiceAPI(_x130, _x131, _x132) {\n return _callServiceAPI16.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee72(e) {\n return _regeneratorRuntime().wrap(function _callee72$(_context72) {\n while (1) switch (_context72.prev = _context72.next) {\n case 0:\n if (!e.error) {\n _context72.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context72.abrupt(\"return\", {\n text: e.DisplayText || \"\"\n });\n case 3:\n case \"end\":\n return _context72.stop();\n }\n }, _callee72);\n }));\n function extractResultData(_x133) {\n return _extractResultData19.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n return Ui;\n}(hs);\nms.HELP_LINK =\n// eslint-disable-next-line max-len\n\"https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest\";\nvar Ho = ms;\nvar Go = /*#__PURE__*/function (_q9) {\n _inherits(Go, _q9);\n // prettier-ignore\n function Go(e) {\n var _this35;\n _classCallCheck(this, Go);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.azure) == null ? void 0 : r.translation,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this35 = _callSuper(this, Go, [e, Z.buildTranslationKeyVerificationDetails(t.region), Z.buildTranslationHeaders.bind({}, t == null ? void 0 : t.region), i]), _this35.insertKeyPlaceholderText = \"Azure Translate Subscription Key\", _this35.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\", _this35.url = \"\", _this35.url = \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=\".concat(t.language || \"es\");\n return _this35;\n }\n _createClass(Go, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e) {\n var t = e[e.length - 1].text;\n if (t) return [{\n Text: t\n }];\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee73(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee73$(_context73) {\n while (1) switch (_context73.prev = _context73.next) {\n case 0:\n if (this.requestSettings) {\n _context73.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(t);\n w.request(this, i, e);\n case 4:\n case \"end\":\n return _context73.stop();\n }\n }, _callee73, this);\n }));\n function callServiceAPI(_x134, _x135) {\n return _callServiceAPI17.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData20 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee74(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee74$(_context74) {\n while (1) switch (_context74.prev = _context74.next) {\n case 0:\n if (!Array.isArray(e)) {\n _context74.next = 2;\n break;\n }\n return _context74.abrupt(\"return\", {\n text: ((t = e[0].translations) == null ? void 0 : t[0].text) || \"\"\n });\n case 2:\n throw e.error;\n case 3:\n case \"end\":\n return _context74.stop();\n }\n }, _callee74);\n }));\n function extractResultData(_x136) {\n return _extractResultData20.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Go;\n}(q);\nvar ve = /*#__PURE__*/function () {\n function ve() {\n _classCallCheck(this, ve);\n }\n _createClass(ve, null, [{\n key: \"storeFiles\",\n value: function () {\n var _storeFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee76(e, t, i) {\n var n, r, o, a;\n return _regeneratorRuntime().wrap(function _callee76$(_context76) {\n while (1) switch (_context76.prev = _context76.next) {\n case 0:\n n = e.requestSettings.headers;\n if (n) {\n _context76.next = 3;\n break;\n }\n return _context76.abrupt(\"return\");\n case 3:\n e.url = \"https://api.openai.com/v1/files\";\n r = n[v.CONTENT_TYPE];\n delete n[v.CONTENT_TYPE];\n o = i.map( /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee75(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee75$(_context75) {\n while (1) switch (_context75.prev = _context75.next) {\n case 0:\n l = new FormData();\n return _context75.abrupt(\"return\", (l.append(\"purpose\", \"assistants\"), l.append(\"file\", a), new Promise(function (c) {\n c(N.directFetch(e, l, \"POST\", !1));\n })));\n case 2:\n case \"end\":\n return _context75.stop();\n }\n }, _callee75);\n }));\n return function (_x140) {\n return _ref9.apply(this, arguments);\n };\n }());\n _context76.prev = 7;\n _context76.next = 10;\n return Promise.all(o);\n case 10:\n a = _context76.sent.map(function (l) {\n return l.id;\n });\n return _context76.abrupt(\"return\", (n[v.CONTENT_TYPE] = r, a));\n case 14:\n _context76.prev = 14;\n _context76.t0 = _context76[\"catch\"](7);\n throw n[v.CONTENT_TYPE] = r, v.displayError(t, _context76.t0), e.completionsHandlers.onFinish(), _context76.t0;\n case 17:\n case \"end\":\n return _context76.stop();\n }\n }, _callee76, null, [[7, 14]]);\n }));\n function storeFiles(_x137, _x138, _x139) {\n return _storeFiles.apply(this, arguments);\n }\n return storeFiles;\n }()\n }, {\n key: \"getType\",\n value: function getType(e, t) {\n var i = e[t].path;\n return !i || i.endsWith(\"png\") ? \"image\" : \"any\";\n }\n }, {\n key: \"getFiles\",\n value: function () {\n var _getFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee77(e, t) {\n var i, r;\n return _regeneratorRuntime().wrap(function _callee77$(_context77) {\n while (1) switch (_context77.prev = _context77.next) {\n case 0:\n i = t.map(function (_ref10) {\n var o = _ref10.fileId;\n return e.url = \"https://api.openai.com/v1/files/\".concat(o, \"/content\"), new Promise(function (a) {\n a(N.directFetch(e, void 0, \"GET\", !1));\n });\n });\n _context77.next = 3;\n return Promise.all(i);\n case 3:\n r = _context77.sent.map(function (o, a) {\n return new Promise(function (l) {\n var c = new FileReader();\n c.readAsDataURL(o), c.onload = function (d) {\n l({\n src: d.target.result,\n name: t[a].name,\n type: ve.getType(t, a)\n });\n };\n });\n });\n _context77.next = 6;\n return Promise.all(r);\n case 6:\n return _context77.abrupt(\"return\", _context77.sent);\n case 7:\n case \"end\":\n return _context77.stop();\n }\n }, _callee77);\n }));\n function getFiles(_x141, _x142) {\n return _getFiles.apply(this, arguments);\n }\n return getFiles;\n }()\n }, {\n key: \"getFileName\",\n value: function getFileName(e) {\n var t = e.split(\"/\");\n return t[t.length - 1];\n }\n }, {\n key: \"getFileDetails\",\n value: function getFileDetails(e, t) {\n var n;\n var i = [];\n return (n = t == null ? void 0 : t.text) != null && n.value && e.content.forEach(function (r) {\n var o, a;\n (a = (o = r.text) == null ? void 0 : o.annotations) == null || a.forEach(function (l) {\n var c;\n l.text && l.text.startsWith(\"sandbox:\") && (c = l.file_path) != null && c.file_id && i.push({\n path: l.text,\n fileId: l.file_path.file_id,\n name: ve.getFileName(l.text)\n });\n });\n }), t != null && t.image_file && i.push({\n fileId: t.image_file.file_id\n }), i;\n }\n // prettier-ignore\n }, {\n key: \"getFilesAndNewText\",\n value: function () {\n var _getFilesAndNewText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee78(e, t, i, n) {\n var o, a, r;\n return _regeneratorRuntime().wrap(function _callee78$(_context78) {\n while (1) switch (_context78.prev = _context78.next) {\n case 0:\n _context78.t0 = t.length > 0;\n if (!_context78.t0) {\n _context78.next = 6;\n break;\n }\n _context78.next = 4;\n return ve.getFiles(e, t);\n case 4:\n r = _context78.sent;\n (o = n == null ? void 0 : n.text) != null && o.value && r.forEach(function (l, c) {\n var u;\n if (!l.src) return;\n var d = t[c].path;\n (u = n == null ? void 0 : n.text) != null && u.value && d && (n.text.value = n.text.value.replace(d, l.src));\n });\n case 6:\n return _context78.abrupt(\"return\", {\n files: r,\n text: (a = n == null ? void 0 : n.text) == null ? void 0 : a.value,\n role: i\n });\n case 7:\n case \"end\":\n return _context78.stop();\n }\n }, _callee78);\n }));\n function getFilesAndNewText(_x143, _x144, _x145, _x146) {\n return _getFilesAndNewText.apply(this, arguments);\n }\n return getFilesAndNewText;\n }()\n }, {\n key: \"getFilesAndText\",\n value: function () {\n var _getFilesAndText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee79(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee79$(_context79) {\n while (1) switch (_context79.prev = _context79.next) {\n case 0:\n n = ve.getFileDetails(t, i);\n _context79.next = 3;\n return ve.getFilesAndNewText(e, n, t.role, i);\n case 3:\n return _context79.abrupt(\"return\", _context79.sent);\n case 4:\n case \"end\":\n return _context79.stop();\n }\n }, _callee79);\n }));\n function getFilesAndText(_x147, _x148, _x149) {\n return _getFilesAndText.apply(this, arguments);\n }\n return getFilesAndText;\n }()\n }]);\n return ve;\n}();\nvar li = /*#__PURE__*/function (_q10) {\n _inherits(oe, _q10);\n function oe(e) {\n var _c$headers, _d$OpenAIBeta;\n var _this36;\n _classCallCheck(this, oe);\n var r, o, a, l, c, d;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.openAI;\n _this36 = _callSuper(this, oe, [e, N.buildKeyVerificationDetails(), N.buildHeaders, i]), _this36.insertKeyPlaceholderText = \"OpenAI API Key\", _this36.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this36.url = \"\", _this36.permittedErrorPrefixes = [\"Incorrect\"], _this36.searchedForThreadId = !1, _this36.config = {}, _this36.newAssistantDetails = {\n model: \"gpt-4\"\n }, _this36.shouldFetchHistory = !1;\n var n = (r = t.openAI) == null ? void 0 : r.assistant;\n if (_typeof(n) == \"object\") {\n _this36.config = n;\n var _this36$config = _this36.config,\n u = _this36$config.new_assistant,\n h = _this36$config.thread_id,\n p = _this36$config.load_thread_history;\n Object.assign(_this36.newAssistantDetails, u), h && (_this36.sessionId = h), p && (_this36.shouldFetchHistory = !0);\n var _ref11 = (a = (o = e.directConnection) == null ? void 0 : o.openAI) == null ? void 0 : a.assistant,\n m = _ref11.function_handler;\n m && (_this36._functionHandler = m);\n } else (l = t.openAI) != null && l.assistant && (t.openAI.assistant = n);\n (_c$headers = (c = _this36.requestSettings).headers) !== null && _c$headers !== void 0 ? _c$headers : c.headers = {}, (_d$OpenAIBeta = (d = _this36.requestSettings.headers)[\"OpenAI-Beta\"]) !== null && _d$OpenAIBeta !== void 0 ? _d$OpenAIBeta : d[\"OpenAI-Beta\"] = \"assistants=v1\", _this36.maxMessages = 1, _this36.shouldFetchHistory && _this36.sessionId && (_this36.fetchHistory = _this36.fetchHistoryFunc.bind(_assertThisInitialized(_this36)));\n return _this36;\n }\n _createClass(oe, [{\n key: \"fetchHistoryFunc\",\n value: function () {\n var _fetchHistoryFunc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee80() {\n var _this37 = this;\n var e;\n return _regeneratorRuntime().wrap(function _callee80$(_context80) {\n while (1) switch (_context80.prev = _context80.next) {\n case 0:\n setTimeout(function () {\n return _this37.deepChat.disableSubmitButton();\n }, 2);\n _context80.prev = 1;\n _context80.next = 4;\n return this.getThreadMessages(this.sessionId, !0);\n case 4:\n e = _context80.sent;\n return _context80.abrupt(\"return\", (this.deepChat.disableSubmitButton(!1), e.reverse()));\n case 8:\n _context80.prev = 8;\n _context80.t0 = _context80[\"catch\"](1);\n return _context80.abrupt(\"return\", [{\n error: \"failed to fetch thread history\"\n }]);\n case 11:\n case \"end\":\n return _context80.stop();\n }\n }, _callee80, this, [[1, 8]]);\n }));\n function fetchHistoryFunc() {\n return _fetchHistoryFunc.apply(this, arguments);\n }\n return fetchHistoryFunc;\n }()\n }, {\n key: \"processMessage\",\n value: function processMessage(e, t) {\n var i = this.totalMessagesMaxCharLength || -1;\n return {\n content: et.getCharacterLimitMessages(e, i)[0].text || \"\",\n role: \"user\",\n file_ids: t\n };\n }\n }, {\n key: \"createNewThreadMessages\",\n value: function createNewThreadMessages(e, t, i) {\n var n = JSON.parse(JSON.stringify(e)),\n r = this.processMessage(t, i);\n return n.thread = {\n messages: [r]\n }, n;\n }\n }, {\n key: \"callService\",\n value: function callService(e, t, i) {\n if (this.sessionId) {\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/messages\");\n var n = this.processMessage(t, i);\n w.request(this, n, e);\n } else {\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/runs\");\n var _n2 = this.createNewThreadMessages(this.rawBody, t, i);\n w.request(this, _n2, e);\n }\n this.messages = e;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee81(e, t, i) {\n var _r$assistant_id;\n var r, n;\n return _regeneratorRuntime().wrap(function _callee81$(_context81) {\n while (1) switch (_context81.prev = _context81.next) {\n case 0:\n if (this.requestSettings) {\n _context81.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!((_r$assistant_id = (r = this.rawBody).assistant_id) !== null && _r$assistant_id !== void 0)) {\n _context81.next = 6;\n break;\n }\n _r$assistant_id;\n _context81.next = 12;\n break;\n case 6:\n _context81.t0 = this.config.assistant_id;\n if (_context81.t0) {\n _context81.next = 11;\n break;\n }\n _context81.next = 10;\n return this.createNewAssistant();\n case 10:\n _context81.t0 = _context81.sent;\n case 11:\n r.assistant_id = _context81.t0;\n case 12:\n this.searchedForThreadId || this.searchPreviousMessagesForThreadId(e.messages);\n if (!i) {\n _context81.next = 19;\n break;\n }\n _context81.next = 16;\n return ve.storeFiles(this, e, i);\n case 16:\n _context81.t1 = _context81.sent;\n _context81.next = 20;\n break;\n case 19:\n _context81.t1 = void 0;\n case 20:\n n = _context81.t1;\n this.requestSettings.method = \"POST\", this.callService(e, t, n);\n case 22:\n case \"end\":\n return _context81.stop();\n }\n }, _callee81, this);\n }));\n function callServiceAPI(_x150, _x151, _x152) {\n return _callServiceAPI18.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"createNewAssistant\",\n value: function () {\n var _createNewAssistant = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee82() {\n var e;\n return _regeneratorRuntime().wrap(function _callee82$(_context82) {\n while (1) switch (_context82.prev = _context82.next) {\n case 0:\n _context82.prev = 0;\n this.url = oe.NEW_ASSISTANT_URL;\n _context82.next = 4;\n return N.directFetch(this, JSON.parse(JSON.stringify(this.newAssistantDetails)), \"POST\");\n case 4:\n e = _context82.sent;\n return _context82.abrupt(\"return\", (this.config.assistant_id = e.id, this.config.assistant_id));\n case 8:\n _context82.prev = 8;\n _context82.t0 = _context82[\"catch\"](0);\n console.error(_context82.t0), console.error(\"Failed to create a new assistant\");\n case 11:\n case \"end\":\n return _context82.stop();\n }\n }, _callee82, this, [[0, 8]]);\n }));\n function createNewAssistant() {\n return _createNewAssistant.apply(this, arguments);\n }\n return createNewAssistant;\n }()\n }, {\n key: \"searchPreviousMessagesForThreadId\",\n value: function searchPreviousMessagesForThreadId(e) {\n var t = e.find(function (i) {\n return i._sessionId;\n });\n t && (this.sessionId = t._sessionId), this.searchedForThreadId = !0;\n }\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData21 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee83(e) {\n var n, t, i;\n return _regeneratorRuntime().wrap(function _callee83$(_context83) {\n while (1) switch (_context83.prev = _context83.next) {\n case 0:\n if (!e.error) {\n _context83.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n _context83.next = 4;\n return this.assignThreadAndRun(e);\n case 4:\n t = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs/\").concat(this.run_id), i = {\n method: \"GET\",\n headers: (n = this.requestSettings) == null ? void 0 : n.headers\n };\n return _context83.abrupt(\"return\", (w.executePollRequest(this, t, i, this.messages), {\n makingAnotherRequest: !0\n }));\n case 6:\n case \"end\":\n return _context83.stop();\n }\n }, _callee83, this);\n }));\n function extractResultData(_x153) {\n return _extractResultData21.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"assignThreadAndRun\",\n value: function () {\n var _assignThreadAndRun = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee84(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee84$(_context84) {\n while (1) switch (_context84.prev = _context84.next) {\n case 0:\n if (!this.sessionId) {\n _context84.next = 8;\n break;\n }\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs\");\n _context84.next = 4;\n return N.directFetch(this, JSON.parse(JSON.stringify(this.rawBody)), \"POST\");\n case 4:\n t = _context84.sent;\n this.run_id = t.id;\n _context84.next = 9;\n break;\n case 8:\n this.sessionId = e.thread_id, this.run_id = e.id, this.messages && (this.messages.messages[this.messages.messages.length - 1]._sessionId = this.sessionId);\n case 9:\n case \"end\":\n return _context84.stop();\n }\n }, _callee84, this);\n }));\n function assignThreadAndRun(_x154) {\n return _assignThreadAndRun.apply(this, arguments);\n }\n return assignThreadAndRun;\n }()\n }, {\n key: \"getThreadMessages\",\n value: function () {\n var _getThreadMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee86(e) {\n var _this38 = this;\n var t,\n o,\n a,\n i,\n r,\n _args86 = arguments;\n return _regeneratorRuntime().wrap(function _callee86$(_context86) {\n while (1) switch (_context86.prev = _context86.next) {\n case 0:\n t = _args86.length > 1 && _args86[1] !== undefined ? _args86[1] : !1;\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(e, \"/messages\");\n _context86.next = 4;\n return N.directFetch(this, {}, \"GET\");\n case 4:\n i = _context86.sent;\n _context86.t0 = !t && this.deepChat.responseInterceptor;\n if (!_context86.t0) {\n _context86.next = 10;\n break;\n }\n _context86.next = 9;\n return (a = (o = this.deepChat).responseInterceptor) == null ? void 0 : a.call(o, i);\n case 9:\n i = _context86.sent;\n case 10:\n r = (t ? i.data : [i.data[0]]).map( /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee85(l) {\n var c;\n return _regeneratorRuntime().wrap(function _callee85$(_context85) {\n while (1) switch (_context85.prev = _context85.next) {\n case 0:\n c = l.content.find(function (d) {\n return !!d.text || !!d.image_file;\n });\n _context85.next = 3;\n return ve.getFilesAndText(_this38, l, c);\n case 3:\n return _context85.abrupt(\"return\", _context85.sent);\n case 4:\n case \"end\":\n return _context85.stop();\n }\n }, _callee85);\n }));\n return function (_x156) {\n return _ref12.apply(this, arguments);\n };\n }());\n return _context86.abrupt(\"return\", Promise.all(r));\n case 12:\n case \"end\":\n return _context86.stop();\n }\n }, _callee86, this);\n }));\n function getThreadMessages(_x155) {\n return _getThreadMessages.apply(this, arguments);\n }\n return getThreadMessages;\n }()\n }, {\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee87(e) {\n var r, o, a, t, i, l, _l$, c, d, n, _l;\n return _regeneratorRuntime().wrap(function _callee87$(_context87) {\n while (1) switch (_context87.prev = _context87.next) {\n case 0:\n t = e.status, i = e.required_action;\n if (!(t === \"queued\" || t === \"in_progress\")) {\n _context87.next = 3;\n break;\n }\n return _context87.abrupt(\"return\", {\n timeoutMS: oe.POLLING_TIMEOUT_MS\n });\n case 3:\n if (!(t === \"completed\" && this.messages)) {\n _context87.next = 11;\n break;\n }\n _context87.next = 6;\n return this.getThreadMessages(e.thread_id);\n case 6:\n l = _context87.sent;\n _l$ = l[0];\n c = _l$.text;\n d = _l$.files;\n return _context87.abrupt(\"return\", {\n text: c,\n _sessionId: this.sessionId,\n files: d\n });\n case 11:\n n = (r = i == null ? void 0 : i.submit_tool_outputs) == null ? void 0 : r.tool_calls;\n if (!(t === \"requires_action\" && n)) {\n _context87.next = 22;\n break;\n }\n _context87.next = 15;\n return this.handleTools(n);\n case 15:\n _l = _context87.sent;\n _context87.next = 18;\n return (a = (o = this.deepChat).responseInterceptor) == null ? void 0 : a.call(o, _l);\n case 18:\n _context87.t0 = _context87.sent;\n if (_context87.t0) {\n _context87.next = 21;\n break;\n }\n _context87.t0 = _l;\n case 21:\n return _context87.abrupt(\"return\", _context87.t0);\n case 22:\n throw Error(\"Thread run status: \".concat(t));\n case 23:\n case \"end\":\n return _context87.stop();\n }\n }, _callee87, this);\n }));\n function extractPollResultData(_x157) {\n return _extractPollResultData5.apply(this, arguments);\n }\n return extractPollResultData;\n }() // prettier-ignore\n }, {\n key: \"handleTools\",\n value: function () {\n var _handleTools = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee88(e) {\n var t, i, n;\n return _regeneratorRuntime().wrap(function _callee88$(_context88) {\n while (1) switch (_context88.prev = _context88.next) {\n case 0:\n if (this._functionHandler) {\n _context88.next = 2;\n break;\n }\n throw Error(\"Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Assistant) object.\");\n case 2:\n t = e.map(function (r) {\n return {\n name: r[\"function\"].name,\n arguments: r[\"function\"].arguments\n };\n });\n _context88.next = 5;\n return this._functionHandler(t);\n case 5:\n i = _context88.sent;\n if (!(!Array.isArray(i) || i.find(function (r) {\n return typeof r != \"string\";\n }) || e.length !== i.length)) {\n _context88.next = 8;\n break;\n }\n throw Error(\"Response must contain an array of strings for each individual function/tool_call, see https://deepchat.dev/docs/directConnection/OpenAI/#assistant-functions.\");\n case 8:\n n = i.map(function (r, o) {\n return {\n tool_call_id: e[o].id,\n output: r\n };\n });\n this.url = \"\".concat(oe.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs/\").concat(this.run_id, \"/submit_tool_outputs\");\n _context88.next = 12;\n return N.directFetch(this, {\n tool_outputs: n\n }, \"POST\");\n case 12:\n return _context88.abrupt(\"return\", {\n timeoutMS: oe.POLLING_TIMEOUT_MS\n });\n case 13:\n case \"end\":\n return _context88.stop();\n }\n }, _callee88, this);\n }));\n function handleTools(_x158) {\n return _handleTools.apply(this, arguments);\n }\n return handleTools;\n }()\n }]);\n return oe;\n}(q);\nli.THREAD_PREFIX = \"https://api.openai.com/v1/threads\";\nli.NEW_ASSISTANT_URL = \"https://api.openai.com/v1/assistants\";\nli.POLLING_TIMEOUT_MS = 800;\nvar Vo = li;\nvar ci = /*#__PURE__*/function (_q11) {\n _inherits(Te, _q11);\n function Te(e) {\n var _this39;\n _classCallCheck(this, Te);\n var o;\n var t = e.directConnection,\n i = t == null ? void 0 : t.openAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 2\n }\n }\n };\n _this39 = _callSuper(this, Te, [e, N.buildKeyVerificationDetails(), N.buildHeaders, i, n]), _this39.insertKeyPlaceholderText = \"OpenAI API Key\", _this39.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this39.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI DALL\\xB7E</b></div>\\n <p><b>Insert text</b> to generate an image.</p>\\n <p><b>Upload 1</b> PNG image to generate its variation and optionally insert text to specify the change.</p>\\n <p><b>Upload 2</b> PNG images where the second is a copy of the first with a transparent area where the edit should\\n take place and text to specify the edit.</p>\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/images/introduction\\\">here</a> for more info.</p>\", _this39.url = \"\", _this39.permittedErrorPrefixes = [\"Incorrect\", \"Invalid input image\"];\n var r = (o = t == null ? void 0 : t.openAI) == null ? void 0 : o.images;\n if (_this39.camera) {\n var a = _typeof(r) == \"object\" && r.size ? Number.parseInt(r.size) : 1024;\n _this39.camera.files = {\n dimensions: {\n width: a,\n height: a\n }\n };\n }\n _typeof(r) == \"object\" && Object.assign(_this39.rawBody, r), _this39.canSendMessage = Te.canFileSendMessage;\n return _this39;\n }\n _createClass(Te, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e));\n return t && t !== \"\" && (i.prompt = t), i;\n }\n // prettier-ignore\n }, {\n key: \"callApiWithImage\",\n value: function callApiWithImage(e, t, i) {\n var o, a;\n var n;\n var r = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim();\n if (i[1] || r && r !== \"\") {\n this.url = Te.IMAGE_EDIT_URL;\n var l = this.preprocessBody(this.rawBody, r);\n n = Te.createFormDataBody(l, i[0], i[1]);\n } else this.url = Te.IMAGE_VARIATIONS_URL, n = Te.createFormDataBody(this.rawBody, i[0]);\n v.tempRemoveContentHeader(this.requestSettings, w.request.bind(this, this, n, e), !1);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee89(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee89$(_context89) {\n while (1) switch (_context89.prev = _context89.next) {\n case 0:\n if ((n = this.requestSettings) != null && n.headers) {\n _context89.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!(i != null && i[0])) {\n _context89.next = 6;\n break;\n }\n this.callApiWithImage(e, t, i);\n _context89.next = 11;\n break;\n case 6:\n if (this.requestSettings) {\n _context89.next = 8;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 8:\n this.url = Te.IMAGE_GENERATION_URL;\n r = this.preprocessBody(this.rawBody, t[t.length - 1].text);\n w.request(this, r, e);\n case 11:\n case \"end\":\n return _context89.stop();\n }\n }, _callee89, this);\n }));\n function callServiceAPI(_x159, _x160, _x161) {\n return _callServiceAPI19.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData22 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee90(e) {\n return _regeneratorRuntime().wrap(function _callee90$(_context90) {\n while (1) switch (_context90.prev = _context90.next) {\n case 0:\n if (!e.error) {\n _context90.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context90.abrupt(\"return\", {\n files: e.data.map(function (i) {\n return i.url ? {\n src: i.url,\n type: \"image\"\n } : {\n src: \"\".concat(wt).concat(i.b64_json),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context90.stop();\n }\n }, _callee90);\n }));\n function extractResultData(_x162) {\n return _extractResultData22.apply(this, arguments);\n }\n return extractResultData;\n }() // private static readonly MODAL_MARKDOWN = `\n // 1 image:\n // - With text - edits image based on the text\n // - No text - creates a variation of the image\n // 2 images:\n // - The second image needs to be a copy of the first with a transparent area where the edit should take place.\n // Add text to describe the required modification.\n // Click here for [more info](https://platform.openai.com/docs/guides/images/introduction).\n // `;\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]) || !!(e && e.trim() !== \"\");\n }\n }, {\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i) {\n var n = new FormData();\n return n.append(\"image\", t), i && n.append(\"mask\", i), Object.keys(e).forEach(function (r) {\n n.append(r, String(e[r]));\n }), n;\n }\n }]);\n return Te;\n}(q);\nci.IMAGE_GENERATION_URL = \"https://api.openai.com/v1/images/generations\";\nci.IMAGE_VARIATIONS_URL = \"https://api.openai.com/v1/images/variations\";\nci.IMAGE_EDIT_URL = \"https://api.openai.com/v1/images/edits\";\nvar Wo = ci;\nvar ht = /*#__PURE__*/function (_q12) {\n _inherits(ht, _q12);\n function ht(e) {\n var _this40$maxMessages, _l$model;\n var _this40;\n _classCallCheck(this, ht);\n var r, o, a, l;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.openAI;\n _this40 = _callSuper(this, ht, [e, N.buildKeyVerificationDetails(), N.buildHeaders, i]), _this40.insertKeyPlaceholderText = \"OpenAI API Key\", _this40.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this40.url = \"https://api.openai.com/v1/chat/completions\", _this40.permittedErrorPrefixes = [\"Incorrect\"], _this40.asyncCallInProgress = !1, _this40._systemMessage = ht.generateSystemMessage(\"You are a helpful assistant.\");\n var n = (r = t.openAI) == null ? void 0 : r.chat;\n if (_typeof(n) == \"object\") {\n n.system_prompt && (_this40._systemMessage = ht.generateSystemMessage(n.system_prompt));\n var _ref13 = (a = (o = e.directConnection) == null ? void 0 : o.openAI) == null ? void 0 : a.chat,\n c = _ref13.function_handler;\n c && (_this40._functionHandler = c), _this40.cleanConfig(n), Object.assign(_this40.rawBody, n);\n }\n (_this40$maxMessages = _this40.maxMessages) !== null && _this40$maxMessages !== void 0 ? _this40$maxMessages : _this40.maxMessages = -1, (_l$model = (l = _this40.rawBody).model) !== null && _l$model !== void 0 ? _l$model : l.model = \"gpt-3.5-turbo\";\n return _this40;\n }\n _createClass(ht, [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.system_prompt, delete e.function_handler;\n }\n }, {\n key: \"preprocessBody\",\n value:\n // prettier-ignore\n function preprocessBody(e, t) {\n var _i$max_tokens;\n var i = JSON.parse(JSON.stringify(e)),\n n = et.getCharacterLimitMessages(t, this.totalMessagesMaxCharLength ? this.totalMessagesMaxCharLength - this._systemMessage.content.length : -1).map(function (r) {\n return {\n content: ht.getContent(r),\n role: r.role === b.USER_ROLE ? \"user\" : \"assistant\"\n };\n });\n return t.find(function (r) {\n return r.files && r.files.length > 0;\n }) && ((_i$max_tokens = i.max_tokens) !== null && _i$max_tokens !== void 0 ? _i$max_tokens : i.max_tokens = 300), i.messages = [this._systemMessage].concat(_toConsumableArray(n)), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI20 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee91(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee91$(_context91) {\n while (1) switch (_context91.prev = _context91.next) {\n case 0:\n if (this.requestSettings) {\n _context91.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t), n = this.deepChat.stream;\n n && (_typeof(n) != \"object\" || !n.simulation) || i.stream ? (i.stream = !0, T.request(this, i, e)) : w.request(this, i, e);\n case 4:\n case \"end\":\n return _context91.stop();\n }\n }, _callee91, this);\n }));\n function callServiceAPI(_x163, _x164) {\n return _callServiceAPI20.apply(this, arguments);\n }\n return callServiceAPI;\n }() // prettier-ignore\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData23 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee92(e, t, i) {\n var n, r, o, a;\n return _regeneratorRuntime().wrap(function _callee92$(_context92) {\n while (1) switch (_context92.prev = _context92.next) {\n case 0:\n if (!e.error) {\n _context92.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context92.abrupt(\"return\", (r = (n = e.choices) == null ? void 0 : n[0]) != null && r.delta ? this.extractStreamResult(e.choices[0], t, i) : (a = (o = e.choices) == null ? void 0 : o[0]) != null && a.message ? e.choices[0].message.tool_calls ? this.handleTools(e.choices[0].message, t, i) : {\n text: e.choices[0].message.content\n } : {\n text: \"\"\n });\n case 3:\n case \"end\":\n return _context92.stop();\n }\n }, _callee92, this);\n }));\n function extractResultData(_x165, _x166, _x167) {\n return _extractResultData23.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"extractStreamResult\",\n value: function () {\n var _extractStreamResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee93(e, t, i) {\n var _this41 = this;\n var n, r, o;\n return _regeneratorRuntime().wrap(function _callee93$(_context93) {\n while (1) switch (_context93.prev = _context93.next) {\n case 0:\n n = e.delta, r = e.finish_reason;\n if (!(r === \"tool_calls\")) {\n _context93.next = 7;\n break;\n }\n this.asyncCallInProgress = !0;\n o = {\n tool_calls: this._streamToolCalls\n };\n return _context93.abrupt(\"return\", (this._streamToolCalls = void 0, this.handleTools(o, t, i)));\n case 7:\n n != null && n.tool_calls && (this._streamToolCalls ? n.tool_calls.forEach(function (o, a) {\n _this41._streamToolCalls && (_this41._streamToolCalls[a][\"function\"].arguments += o[\"function\"].arguments);\n }) : this._streamToolCalls = n.tool_calls);\n case 8:\n return _context93.abrupt(\"return\", {\n text: (n == null ? void 0 : n.content) || \"\"\n });\n case 9:\n case \"end\":\n return _context93.stop();\n }\n }, _callee93, this);\n }));\n function extractStreamResult(_x168, _x169, _x170) {\n return _extractStreamResult.apply(this, arguments);\n }\n return extractStreamResult;\n }() // prettier-ignore\n }, {\n key: \"handleTools\",\n value: function () {\n var _handleTools2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee94(e, t, i) {\n var a, l, c, d, u, n, r, o, h, _h;\n return _regeneratorRuntime().wrap(function _callee94$(_context94) {\n while (1) switch (_context94.prev = _context94.next) {\n case 0:\n if (!(!e.tool_calls || !t || !i || !this._functionHandler)) {\n _context94.next = 2;\n break;\n }\n throw Error(\"Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Chat) object.\");\n case 2:\n n = JSON.parse(JSON.stringify(i));\n r = e.tool_calls.map(function (h) {\n return {\n name: h[\"function\"].name,\n arguments: h[\"function\"].arguments\n };\n });\n _context94.next = 6;\n return (a = this._functionHandler) == null ? void 0 : a.call(this, r);\n case 6:\n o = _context94.sent;\n if (!o.text) {\n _context94.next = 15;\n break;\n }\n h = {\n text: o.text\n };\n _context94.next = 11;\n return (c = (l = this.deepChat).responseInterceptor) == null ? void 0 : c.call(l, h);\n case 11:\n _context94.t0 = _context94.sent;\n if (_context94.t0) {\n _context94.next = 14;\n break;\n }\n _context94.t0 = h;\n case 14:\n return _context94.abrupt(\"return\", _context94.t0);\n case 15:\n if (!(n.messages.push({\n tool_calls: e.tool_calls,\n role: \"assistant\",\n content: null\n }), Array.isArray(o) && !o.find(function (h) {\n return typeof h != \"string\";\n }) || r.length === o.length)) {\n _context94.next = 35;\n break;\n }\n o.forEach(function (h, p) {\n var f;\n var m = (f = e.tool_calls) == null ? void 0 : f[p];\n n == null || n.messages.push({\n role: \"tool\",\n tool_call_id: m == null ? void 0 : m.id,\n name: m == null ? void 0 : m[\"function\"].name,\n content: h.response\n });\n }), delete n.tools, delete n.tool_choice, delete n.stream;\n _context94.prev = 17;\n _context94.next = 20;\n return t == null ? void 0 : t(n).then(function (p) {\n return v.processResponseByType(p);\n });\n case 20:\n _h = _context94.sent;\n _context94.next = 23;\n return (u = (d = this.deepChat).responseInterceptor) == null ? void 0 : u.call(d, _h);\n case 23:\n _context94.t1 = _context94.sent;\n if (_context94.t1) {\n _context94.next = 26;\n break;\n }\n _context94.t1 = _h;\n case 26:\n _h = _context94.t1;\n if (!_h.error) {\n _context94.next = 29;\n break;\n }\n throw _h.error.message;\n case 29:\n return _context94.abrupt(\"return\", {\n text: _h.choices[0].message.content || \"\"\n });\n case 32:\n _context94.prev = 32;\n _context94.t2 = _context94[\"catch\"](17);\n throw this.asyncCallInProgress = !1, _context94.t2;\n case 35:\n throw Error(\"Response object must either be {response: string}[] for each individual function or {text: string} for a direct response, see https://deepchat.dev/docs/directConnection/OpenAI#FunctionHandler.\");\n case 36:\n case \"end\":\n return _context94.stop();\n }\n }, _callee94, this, [[17, 32]]);\n }));\n function handleTools(_x171, _x172, _x173) {\n return _handleTools2.apply(this, arguments);\n }\n return handleTools;\n }()\n }], [{\n key: \"generateSystemMessage\",\n value: function generateSystemMessage(e) {\n return {\n role: \"system\",\n content: e\n };\n }\n }, {\n key: \"getContent\",\n value: function getContent(e) {\n if (e.files && e.files.length > 0) {\n var t = e.files.map(function (i) {\n return {\n type: \"image_url\",\n image_url: {\n url: i.src\n }\n };\n });\n return e.text && e.text.trim().length > 0 && t.unshift({\n type: \"text\",\n text: e.text\n }), t;\n }\n return e.text;\n }\n }]);\n return ht;\n}(q);\nvar Jo = /*#__PURE__*/function (_Xi3) {\n _inherits(Jo, _Xi3);\n function Jo(e) {\n var _this42$maxMessages;\n var _this42;\n _classCallCheck(this, Jo);\n var r;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = (r = t.cohere) == null ? void 0 : r.chat,\n n = t.cohere;\n _this42 = _callSuper(this, Jo, [e, \"https://api.cohere.ai/v1/chat\", \"Ask me anything!\", i, n]), _typeof(i) == \"object\" && Object.assign(_this42.rawBody, i), (_this42$maxMessages = _this42.maxMessages) !== null && _this42$maxMessages !== void 0 ? _this42$maxMessages : _this42.maxMessages = -1;\n return _this42;\n }\n _createClass(Jo, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t.filter(function (r) {\n return r.text;\n });\n return i.query = n[n.length - 1].text, i.chat_history = n.slice(0, n.length - 1).map(function (r) {\n return {\n text: r.text,\n user_name: r.role === \"ai\" ? \"CHATBOT\" : \"USER\"\n };\n }), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI21 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee95(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee95$(_context95) {\n while (1) switch (_context95.prev = _context95.next) {\n case 0:\n if (this.requestSettings) {\n _context95.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n w.request(this, i, e);\n case 4:\n case \"end\":\n return _context95.stop();\n }\n }, _callee95, this);\n }));\n function callServiceAPI(_x174, _x175) {\n return _callServiceAPI21.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData24 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee96(e) {\n return _regeneratorRuntime().wrap(function _callee96$(_context96) {\n while (1) switch (_context96.prev = _context96.next) {\n case 0:\n if (!e.message) {\n _context96.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context96.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context96.stop();\n }\n }, _callee96);\n }));\n function extractResultData(_x176) {\n return _extractResultData24.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n return Jo;\n}(Xi);\nvar $o = /*#__PURE__*/function () {\n function $o() {\n _classCallCheck(this, $o);\n }\n _createClass($o, null, [{\n key: \"create\",\n value:\n // this should only be called when no _activeService is set or is demo as otherwise we don't want to reconnect\n function create(e) {\n var t = e.directConnection,\n i = e.request,\n n = e.demo,\n r = e.webModel;\n if (r) return new Zi(e);\n if (t) {\n if (t.openAI) return t.openAI.images ? new Wo(e) : t.openAI.speechToText ? new Bo(e) : t.openAI.textToSpeech ? new Fo(e) : t.openAI.assistant ? new Vo(e) : new ht(e);\n if (t.assemblyAI) return new en(e);\n if (t.cohere) return t.cohere.textGeneration ? new Do(e) : t.cohere.summarization ? new jo(e) : new Jo(e);\n if (t.huggingFace) return t.huggingFace.textGeneration ? new Io(e) : t.huggingFace.summarization ? new Ro(e) : t.huggingFace.translation ? new Oo(e) : t.huggingFace.fillMask ? new Po(e) : t.huggingFace.questionAnswer ? new Lo(e) : t.huggingFace.audioSpeechRecognition ? new ko(e) : t.huggingFace.audioClassification ? new Co(e) : t.huggingFace.imageClassification ? new Ao(e) : new No(e);\n if (t.azure) {\n if (t.azure.speechToText) return new Ho(e);\n if (t.azure.textToSpeech) return new qo(e);\n if (t.azure.summarization) return new Uo(e);\n if (t.azure.translation) return new Go(e);\n }\n if (t.stabilityAI) return t.stabilityAI.imageToImage ? new Vt(e) : t.stabilityAI.imageToImageUpscale ? new Ht(e) : t.stabilityAI.imageToImageMasking ? new Gt(e) : new Wt(e);\n }\n return i ? new Pe(e) : new Pe(e, void 0, n || !0);\n }\n }]);\n return $o;\n}();\nvar gs = /*#__PURE__*/function () {\n function qi() {\n _classCallCheck(this, qi);\n }\n _createClass(qi, null, [{\n key: \"appendStyleSheetToHead\",\n value: function appendStyleSheetToHead() {\n var e = document.getElementsByTagName(\"head\")[0];\n if (!Array.from(e.getElementsByTagName(\"link\")).some(function (i) {\n return i.getAttribute(\"href\") === qi.FONT_URL;\n })) {\n var _i12 = document.createElement(\"link\");\n _i12.rel = \"stylesheet\", _i12.href = qi.FONT_URL, e.appendChild(_i12);\n }\n }\n }]);\n return qi;\n}();\ngs.FONT_URL = \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap\";\nvar Ko = gs;\nvar bs = /*#__PURE__*/_createClass(function bs() {\n _classCallCheck(this, bs);\n});\nbs.attibutes = {\n string: function string(s) {\n return s;\n },\n number: function number(s) {\n return parseFloat(s);\n },\n \"boolean\": function boolean(s) {\n return s === \"true\";\n },\n object: function object(s) {\n return JSON.parse(s);\n },\n array: function array(s) {\n return JSON.parse(s);\n },\n \"function\": function _function(s) {\n return new Function(\"return \".concat(s))();\n }\n};\nfunction x(s) {\n return function (e, t) {\n Object.defineProperty(e, t, {});\n var i = e.constructor,\n n = t.toLocaleLowerCase();\n i._attributes_[n] = bs.attibutes[s], i._attributeToProperty_[n] = t;\n };\n}\nvar tn = /*#__PURE__*/function () {\n function tn() {\n _classCallCheck(this, tn);\n }\n _createClass(tn, null, [{\n key: \"colorToHex\",\n value: function colorToHex(e) {\n var t = document.createElement(\"div\");\n return t.style.color = e, document.body.appendChild(t), \"#\".concat(window.getComputedStyle(t).color.match(/\\d+/g).map(function (r) {\n return parseInt(r).toString(16).padStart(2, \"0\");\n }).join(\"\"));\n }\n }, {\n key: \"set\",\n value: function set(e, t) {\n var i, n, r, o;\n if ((n = (i = t == null ? void 0 : t.loading) == null ? void 0 : i.bubble) != null && n.color) {\n var a = tn.colorToHex((o = (r = t == null ? void 0 : t.loading) == null ? void 0 : r.bubble) == null ? void 0 : o.color);\n e.style.setProperty(\"--message-dots-color\", a), e.style.setProperty(\"--message-dots-color-fade\", \"\".concat(a, \"33\"));\n } else e.style.setProperty(\"--message-dots-color\", \"#848484\"), e.style.setProperty(\"--message-dots-color-fade\", \"#55555533\");\n }\n }]);\n return tn;\n}();\nvar $t = /*#__PURE__*/function () {\n function $t(e, t, i) {\n _classCallCheck(this, $t);\n this._isDisplayed = !1, e ? (this._elementRef = this.createIntroPanelWithChild(e, i), this._isDisplayed = !0) : t && (this._elementRef = this.createInternalIntroPanel(t, i), this._isDisplayed = !0);\n }\n _createClass($t, [{\n key: \"createIntroPanelWithChild\",\n value: function createIntroPanelWithChild(e, t) {\n var i = $t.createIntroPanel(t);\n return e.style.display === \"none\" && (e.style.display = \"block\"), i.appendChild(e), i;\n }\n }, {\n key: \"createInternalIntroPanel\",\n value: function createInternalIntroPanel(e, t) {\n var i = $t.createIntroPanel(t);\n return i.id = \"internal-intro-panel\", i.innerHTML = e, i;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this._isDisplayed && this._elementRef && (this._elementRef.style.display = \"none\", this._isDisplayed = !1);\n }\n }, {\n key: \"display\",\n value: function display() {\n !this._isDisplayed && this._elementRef && (this._elementRef.style.display = \"\", this._isDisplayed = !0);\n }\n }], [{\n key: \"createIntroPanel\",\n value: function createIntroPanel(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"intro-panel\"), Object.assign(t.style, e), t;\n }\n }]);\n return $t;\n}();\nvar Yo = /*#__PURE__*/function () {\n function Yo() {\n _classCallCheck(this, Yo);\n }\n _createClass(Yo, null, [{\n key: \"getText\",\n value: function getText(e, t) {\n var i;\n if (!e.directConnection && !e.request && !e.webModel && !e.demo) return \"Connect to any API using the [request](https://deepchat.dev/docs/connect#Request)\\n property or a popular service via\\n [directConnection](https://deepchat.dev/docs/directConnection/#directConnection).\\n \\n Host AI entirely on your browser via a [webModel](https://deepchat.dev/docs/webModel).\\n \\n To get started checkout the [Start](https://deepchat.dev/start) page and\\n live code [examples](https://deepchat.dev/examples/frameworks).\\n \\n To remove this message set the [demo](https://deepchat.dev/docs/demo#demo) property to true.\";\n if (e.directConnection) {\n if (!t.isDirectConnection()) return \"Please define a valid service inside\\n the [directConnection](https://deepchat.dev/docs/directConnection/#directConnection) object.\";\n var n = (i = e.directConnection.openAI) == null ? void 0 : i.chat;\n if (_typeof(n) == \"object\" && n.tools && !n.function_handler) return \"Please define the `function_handler` property inside the openAI [chat](https://deepchat.dev/docs/directConnection/openAI#Chat) object.\";\n } else if (e.request && !e.request.url && !e.request.handler) return \"Please define a `url` or a `handler` property inside the [request](https://deepchat.dev/docs/connect#Request) object.\";\n return null;\n }\n }]);\n return Yo;\n}();\nvar Zo = \"<?xml version=\\\"1.0\\\" encoding=\\\"iso-8859-1\\\"?>\\n<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" \\n\\t viewBox=\\\"50 30 420 450\\\" xml:space=\\\"preserve\\\">\\n<g filter=\\\"brightness(0) saturate(100%) invert(16%) sepia(0%) saturate(1942%) hue-rotate(215deg) brightness(99%) contrast(93%)\\\">\\n\\t<g>\\n\\t\\t<path d=\\\"M447.933,103.629c-0.034-3.076-1.224-6.09-3.485-8.352L352.683,3.511c-0.004-0.004-0.007-0.005-0.011-0.008\\n\\t\\t\\tC350.505,1.338,347.511,0,344.206,0H89.278C75.361,0,64.04,11.32,64.04,25.237v461.525c0,13.916,11.32,25.237,25.237,25.237\\n\\t\\t\\th333.444c13.916,0,25.237-11.32,25.237-25.237V103.753C447.96,103.709,447.937,103.672,447.933,103.629z M356.194,40.931\\n\\t\\t\\tl50.834,50.834h-49.572c-0.695,0-1.262-0.567-1.262-1.262V40.931z M423.983,486.763c0,0.695-0.566,1.261-1.261,1.261H89.278\\n\\t\\t\\tc-0.695,0-1.261-0.566-1.261-1.261V25.237c0-0.695,0.566-1.261,1.261-1.261h242.94v66.527c0,13.916,11.322,25.239,25.239,25.239\\n\\t\\t\\th66.527V486.763z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,164.014H149.912c-6.62,0-11.988,5.367-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.368,11.988-11.988C374.076,169.381,368.707,164.014,362.088,164.014z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,236.353H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.368,11.988-11.988C374.076,241.721,368.707,236.353,362.088,236.353z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,308.691H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.367,11.988-11.988C374.076,314.06,368.707,308.691,362.088,308.691z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M256,381.031H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988H256\\n\\t\\t\\tc6.62,0,11.988-5.367,11.988-11.988C267.988,386.398,262.62,381.031,256,381.031z\\\"/>\\n\\t</g>\\n</g>\\n</svg>\";\nvar ge = /*#__PURE__*/function () {\n function ge() {\n _classCallCheck(this, ge);\n }\n _createClass(ge, null, [{\n key: \"createImage\",\n value: function createImage(e, t) {\n var i = new Image();\n return i.src = e.src, ae.scrollDownOnImageLoad(i.src, t), ae.processContent(\"image\", i, i.src, e.name);\n }\n // WORK - image still does not scroll down when loaded\n }, {\n key: \"addNewImageMessage\",\n value: function () {\n var _addNewImageMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee97(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee97$(_context97) {\n while (1) switch (_context97.prev = _context97.next) {\n case 0:\n n = ge.createImage(t, e.elementRef), r = e.createNewMessageElement(\"\", i);\n r.bubbleElement.appendChild(n), r.bubbleElement.classList.add(\"image-message\"), ae.addMessage(e, r, \"image\", i);\n case 2:\n case \"end\":\n return _context97.stop();\n }\n }, _callee97);\n }));\n function addNewImageMessage(_x177, _x178, _x179) {\n return _addNewImageMessage.apply(this, arguments);\n }\n return addNewImageMessage;\n }()\n }, {\n key: \"createAudioElement\",\n value: function createAudioElement(e, t) {\n var i = document.createElement(\"audio\");\n return i.src = e.src, i.classList.add(\"audio-player\"), i.controls = !0, ye.IS_SAFARI && (i.classList.add(\"audio-player-safari\"), i.classList.add(t === b.USER_ROLE ? \"audio-player-safari-right\" : \"audio-player-safari-left\")), i;\n }\n }, {\n key: \"addNewAudioMessage\",\n value: function addNewAudioMessage(e, t, i) {\n var n = ge.createAudioElement(t, i),\n r = e.createNewMessageElement(\"\", i);\n r.bubbleElement.appendChild(n), r.bubbleElement.classList.add(\"audio-message\"), ae.addMessage(e, r, \"audio\", i);\n }\n }, {\n key: \"createAnyFile\",\n value: function createAnyFile(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"any-file-message-contents\");\n var i = document.createElement(\"div\");\n i.classList.add(\"any-file-message-icon-container\");\n var n = V.createSVGElement(Zo);\n n.classList.add(\"any-file-message-icon\"), i.appendChild(n);\n var r = document.createElement(\"div\");\n return r.classList.add(\"any-file-message-text\"), r.textContent = e.name || ae.DEFAULT_FILE_NAME, t.appendChild(i), t.appendChild(r), ae.processContent(\"any\", t, e.src, r.textContent);\n }\n }, {\n key: \"addNewAnyFileMessage\",\n value: function addNewAnyFileMessage(e, t, i) {\n var n = e.createNewMessageElement(\"\", i),\n r = ge.createAnyFile(t);\n n.bubbleElement.classList.add(\"any-file-message-bubble\"), n.bubbleElement.appendChild(r), ae.addMessage(e, n, \"file\", i);\n }\n // no overwrite previous message logic as it is complex to track which files are to be overwritten\n }, {\n key: \"addMessages\",\n value: function addMessages(e, t, i) {\n t.forEach(function (n) {\n var r, o;\n n.ref && (n = ae.removeFileRef(n)), n.type === \"audio\" || (r = n.src) != null && r.startsWith(\"data:audio\") ? ge.addNewAudioMessage(e, n, i) : n.type === \"image\" || (o = n.src) != null && o.startsWith(\"data:image\") ? ge.addNewImageMessage(e, n, i) : ge.addNewAnyFileMessage(e, n, i);\n });\n }\n }]);\n return ge;\n}();\nvar be = /*#__PURE__*/function (_Ye) {\n _inherits(be, _Ye);\n function be(e, t, i) {\n var _this43;\n _classCallCheck(this, be);\n var a, l;\n _this43 = _callSuper(this, be, [e]);\n var n = t.permittedErrorPrefixes,\n r = t.introPanelMarkUp,\n o = t.demo;\n _this43._errorMessageOverrides = (a = e.errorMessages) == null ? void 0 : a.overrides, _this43._onClearMessages = zt.onClearMessages.bind(_assertThisInitialized(_this43), e), _this43._onError = zt.onError.bind(_assertThisInitialized(_this43), e), _this43._displayLoadingMessage = be.getDisplayLoadingMessage(e, t), _this43._permittedErrorPrefixes = n, _this43.addSetupMessageIfNeeded(e, t) || _this43.populateIntroPanel(i, r, e.introPanelStyle), _this43.addIntroductoryMessage(e, t), e.initialMessages && _this43.populateInitialMessages(e.initialMessages), _this43._displayServiceErrorMessages = (l = e.errorMessages) == null ? void 0 : l.displayServiceErrorMessages, e.getMessages = function () {\n return JSON.parse(JSON.stringify(_this43.messages));\n }, e.clearMessages = _this43.clearMessages.bind(_assertThisInitialized(_this43), t), e.refreshMessages = _this43.refreshTextMessages.bind(_assertThisInitialized(_this43)), e.scrollToBottom = G.scrollToBottom.bind(_assertThisInitialized(_this43), _this43.elementRef), e._addMessage = function (c, d) {\n _this43.addNewMessage(_objectSpread(_objectSpread({}, c), {}, {\n sendUpdate: !!d\n }), !d);\n }, t.isWebModel() && t.setUpMessages(_assertThisInitialized(_this43)), o && _this43.prepareDemo(o), e.textToSpeech && Ft.processConfig(e.textToSpeech, function (c) {\n _this43.textToSpeech = c;\n }), t.fetchHistory && _this43.fetchHistory(t.fetchHistory);\n return _this43;\n }\n _createClass(be, [{\n key: \"prepareDemo\",\n value: function prepareDemo(e) {\n _typeof(e) == \"object\" && (e.response && (this.customDemoResponse = e.response), e.displayErrors && (e.displayErrors[\"default\"] && this.addNewErrorMessage(\"\", \"\"), e.displayErrors.service && this.addNewErrorMessage(\"service\", \"\"), e.displayErrors.speechToText && this.addNewErrorMessage(\"speechToText\", \"\")), e.displayLoadingBubble && this.addLoadingMessage());\n }\n }, {\n key: \"addSetupMessageIfNeeded\",\n value: function addSetupMessageIfNeeded(e, t) {\n var i = Yo.getText(e, t);\n if (i) {\n var n = this.createAndAppendNewMessageElement(i, b.AI_ROLE);\n this.applyCustomStyles(n, b.AI_ROLE, !1);\n }\n return !!i;\n }\n // WORK - const file for deep chat classes\n }, {\n key: \"addIntroductoryMessage\",\n value: function addIntroductoryMessage(e, t) {\n var _i13;\n var n;\n e != null && e.shadowRoot && (this._introMessage = e.introMessage);\n var i = this._introMessage;\n if (t != null && t.isWebModel() && ((_i13 = i) !== null && _i13 !== void 0 ? _i13 : i = t.getIntroMessage(i)), i) {\n var r;\n i != null && i.text ? r = this.createAndAppendNewMessageElement(i.text, b.AI_ROLE) : i != null && i.html && (r = Qe.add(this, i.html, b.AI_ROLE, this.messageElementRefs)), r && (this.applyCustomStyles(r, b.AI_ROLE, !1, (n = this.messageStyles) == null ? void 0 : n.intro), r.outerContainer.classList.add(\"deep-chat-intro\"));\n }\n }\n }, {\n key: \"removeIntroductoryMessage\",\n value: function removeIntroductoryMessage() {\n var e = this.messageElementRefs[0];\n e.outerContainer.classList.contains(\"deep-chat-intro\") && (e.outerContainer.remove(), this.messageElementRefs.shift());\n }\n }, {\n key: \"populateInitialMessages\",\n value: function populateInitialMessages(e) {\n var _this44 = this;\n e.forEach(function (t) {\n Re.processInitialMessageFile(t), _this44.addNewMessage(t, !0);\n }), setTimeout(function () {\n return G.scrollToBottom(_this44.elementRef);\n }, 0);\n }\n }, {\n key: \"fetchHistory\",\n value: function () {\n var _fetchHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee98(e) {\n var _this45 = this;\n return _regeneratorRuntime().wrap(function _callee98$(_context98) {\n while (1) switch (_context98.prev = _context98.next) {\n case 0:\n _context98.next = 2;\n return e();\n case 2:\n _context98.sent.forEach(function (i) {\n i.error ? _this45.addNewErrorMessage(\"service\", i.error) : _this45.addNewMessage(i, !0);\n });\n setTimeout(function () {\n return G.scrollToBottom(_this45.elementRef);\n }, 0);\n case 4:\n case \"end\":\n return _context98.stop();\n }\n }, _callee98);\n }));\n function fetchHistory(_x180) {\n return _fetchHistory.apply(this, arguments);\n }\n return fetchHistory;\n }() // this should not be activated by streamed messages\n }, {\n key: \"addNewMessage\",\n value: function addNewMessage(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i = be.createMessageContent(e),\n n = {\n status: e.overwrite\n };\n if (!e.ignoreText && i.text !== void 0 && e.text !== null && (this.addNewTextMessage(i.text, i.role, n), !t && this.textToSpeech && i.role !== b.USER_ROLE && Ft.speak(i.text, this.textToSpeech)), i.files && Array.isArray(i.files) && ge.addMessages(this, i.files, i.role), i.html !== void 0 && i.html !== null) {\n var r = Qe.add(this, i.html, i.role, this.messageElementRefs, n);\n xe.isElementTemporary(r) && delete i.html;\n }\n this.isValidMessageContent(i) && this.updateStateOnMessage(i, e.overwrite, e.sendUpdate, t);\n }\n }, {\n key: \"isValidMessageContent\",\n value: function isValidMessageContent(e) {\n return e.text || e.html || e.files && e.files.length > 0;\n }\n }, {\n key: \"updateStateOnMessage\",\n value: function updateStateOnMessage(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !0;\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n t || this.messages.push(e), i && this.sendClientUpdate(e, n);\n }\n // prettier-ignore\n }, {\n key: \"removeMessageOnError\",\n value: function removeMessageOnError() {\n var e = this.messageElementRefs[this.messageElementRefs.length - 1],\n t = e == null ? void 0 : e.bubbleElement;\n (t != null && t.classList.contains(Oe.MESSAGE_CLASS) && t.textContent === \"\" || be.isTemporaryElement(e)) && this.removeLastMessage();\n }\n // prettier-ignore\n }, {\n key: \"addNewErrorMessage\",\n value: function addNewErrorMessage(e, t) {\n var l, c, d, u, h;\n this.removeMessageOnError();\n var i = be.createBaseElements(),\n n = i.outerContainer,\n r = i.bubbleElement;\n r.classList.add(\"error-message-text\");\n var o = this.getPermittedMessage(t) || ((l = this._errorMessageOverrides) == null ? void 0 : l[e]) || ((c = this._errorMessageOverrides) == null ? void 0 : c[\"default\"]) || \"Error, please try again.\";\n this.renderText(r, o);\n var a = D.extractParticularSharedStyles([\"fontSize\", \"fontFamily\"], (d = this.messageStyles) == null ? void 0 : d[\"default\"]);\n D.applyCustomStylesToElements(i, !1, a), D.applyCustomStylesToElements(i, !1, (u = this.messageStyles) == null ? void 0 : u.error), this.elementRef.appendChild(n), G.scrollToBottom(this.elementRef), this.textToSpeech && Ft.speak(o, this.textToSpeech), (h = this._onError) == null || h.call(this, o);\n }\n }, {\n key: \"getPermittedMessage\",\n value: function getPermittedMessage(e) {\n if (e) {\n if (this._displayServiceErrorMessages) return e;\n if (typeof e == \"string\" && this._permittedErrorPrefixes) {\n var t = be.checkPermittedErrorPrefixes(this._permittedErrorPrefixes, e);\n if (t) return t;\n } else if (Array.isArray(e) && this._permittedErrorPrefixes) for (var _t3 = 0; _t3 < e.length; _t3 += 1) {\n var _i14 = be.checkPermittedErrorPrefixes(this._permittedErrorPrefixes, e[_t3]);\n if (_i14) return _i14;\n }\n }\n }\n }, {\n key: \"removeError\",\n value: function removeError() {\n this.isLastMessageError() && b.getLastMessageElement(this.elementRef).remove();\n }\n }, {\n key: \"addLoadingMessage\",\n value: function addLoadingMessage() {\n var r;\n if (!this._displayLoadingMessage) return;\n var e = this.createMessageElements(\"\", b.AI_ROLE),\n t = e.outerContainer,\n i = e.bubbleElement;\n i.classList.add(\"loading-message-text\");\n var n = document.createElement(\"div\");\n n.classList.add(\"dots-flashing\"), i.appendChild(n), this.applyCustomStyles(e, b.AI_ROLE, !1, (r = this.messageStyles) == null ? void 0 : r.loading), tn.set(i, this.messageStyles), this.elementRef.appendChild(t), G.scrollToBottom(this.elementRef);\n }\n }, {\n key: \"populateIntroPanel\",\n value: function populateIntroPanel(e, t, i) {\n (e || t) && (this._introPanel = new $t(e, t, i), this._introPanel._elementRef && (le.apply(this, this._introPanel._elementRef), this.elementRef.appendChild(this._introPanel._elementRef)));\n }\n }, {\n key: \"addMultipleFiles\",\n value: function () {\n var _addMultipleFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee99(e) {\n return _regeneratorRuntime().wrap(function _callee99$(_context99) {\n while (1) switch (_context99.prev = _context99.next) {\n case 0:\n return _context99.abrupt(\"return\", Promise.all((e || []).map(function (t) {\n return new Promise(function (i) {\n if (!t.type || t.type === \"any\") {\n var n = t.file.name || ae.DEFAULT_FILE_NAME;\n i({\n name: n,\n type: \"any\",\n ref: t.file\n });\n } else {\n var _n3 = new FileReader();\n _n3.readAsDataURL(t.file), _n3.onload = function () {\n i({\n src: _n3.result,\n type: t.type,\n ref: t.file\n });\n };\n }\n });\n })));\n case 1:\n case \"end\":\n return _context99.stop();\n }\n }, _callee99);\n }));\n function addMultipleFiles(_x181) {\n return _addMultipleFiles.apply(this, arguments);\n }\n return addMultipleFiles;\n }() // WORK - update all message classes to use deep-chat prefix\n }, {\n key: \"clearMessages\",\n value: function clearMessages(e, t) {\n var n, r;\n var i = [];\n this.messageElementRefs.forEach(function (o) {\n var a = o.bubbleElement.classList;\n a.contains(\"loading-message-text\") || a.contains(Oe.MESSAGE_CLASS) ? i.push(o) : o.outerContainer.remove();\n }), Array.from(this.elementRef.children).forEach(function (o) {\n var l;\n var a = (l = o.children[0]) == null ? void 0 : l.children[0];\n a != null && a.classList.contains(\"error-message-text\") && o.remove();\n }), this.messageElementRefs = i, t !== !1 && ((n = this._introPanel) != null && n._elementRef && this._introPanel.display(), this.addIntroductoryMessage()), this.messages.splice(0, this.messages.length), this.textElementsToText.splice(0, this.textElementsToText.length), (r = this._onClearMessages) == null || r.call(this), delete e.sessionId;\n }\n }], [{\n key: \"getDisplayLoadingMessage\",\n value: function getDisplayLoadingMessage(e, t) {\n var _e$displayLoadingBubb;\n return t.websocket ? !1 : (_e$displayLoadingBubb = e.displayLoadingBubble) !== null && _e$displayLoadingBubb !== void 0 ? _e$displayLoadingBubb : !0;\n }\n }, {\n key: \"checkPermittedErrorPrefixes\",\n value: function checkPermittedErrorPrefixes(e, t) {\n for (var _i15 = 0; _i15 < e.length; _i15 += 1) if (t.startsWith(e[_i15])) return t;\n }\n }]);\n return be;\n}(Ye);\nvar Mt = /*#__PURE__*/function () {\n function $() {\n _classCallCheck(this, $);\n }\n _createClass($, null, [{\n key: \"adjustInputPadding\",\n value: function adjustInputPadding(e, t) {\n t[\"inside-left\"].length > 0 && e.classList.add(\"text-input-inner-left-adjustment\"), t[\"inside-right\"].length > 0 && e.classList.add(\"text-input-inner-right-adjustment\");\n }\n }, {\n key: \"adjustForOutsideButton\",\n value: function adjustForOutsideButton(e, t, i) {\n i[\"outside-right\"].length === 0 && i[\"outside-left\"].length > 0 ? (e[0].classList.add($.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS), t.classList.add($.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS)) : i[\"outside-left\"].length === 0 && i[\"outside-right\"].length > 0 && (e[3].classList.add($.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS), t.classList.add($.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS));\n }\n // when submit is the only button\n // when submit button is outside by itself - we increase the height for a better look\n }, {\n key: \"adjustOutsideSubmit\",\n value: function adjustOutsideSubmit(e, t, i) {\n if (!(i[\"inside-left\"].length > 0 || i[\"inside-right\"].length > 0)) {\n if (i[\"outside-right\"].length === 0 && i[\"outside-left\"].length > 0) return e[0].classList.add($.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS), t.classList.add($.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS), i[\"outside-left\"].map(function (n) {\n return n.button.elementRef.classList.add(\"submit-button-enlarged\");\n });\n if (i[\"outside-left\"].length === 0 && i[\"outside-right\"].length > 0) return e[3].classList.add($.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS), t.classList.add($.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS), i[\"outside-right\"].map(function (n) {\n return n.button.elementRef.classList.add(\"submit-button-enlarged\");\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(e, t, i, n) {\n !!$.adjustOutsideSubmit(t, i, n) || $.adjustForOutsideButton(t, i, n), $.adjustInputPadding(e, n);\n }\n }]);\n return $;\n}();\nMt.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS = \"text-input-container-left-adjustment\";\nMt.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS = \"text-input-container-right-adjustment\";\nMt.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-left-small-adjustment\";\nMt.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-right-small-adjustment\";\nvar Xo = Mt;\nvar tt = /*#__PURE__*/function () {\n function tt() {\n _classCallCheck(this, tt);\n }\n _createClass(tt, null, [{\n key: \"create\",\n value: function create() {\n return Array.from({\n length: 4\n }).map(function (e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(\"input-button-container\"), (t === 0 || t === 3) && i.classList.add(\"outer-button-container\"), (t === 1 || t === 2) && i.classList.add(\"inner-button-container\"), i;\n });\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n e.insertBefore(t[1], e.firstChild), e.insertBefore(t[0], e.firstChild), e.appendChild(t[2]), e.appendChild(t[3]);\n }\n }, {\n key: \"getContainerIndex\",\n value: function getContainerIndex(e) {\n return e === \"outside-left\" ? 0 : e === \"inside-left\" ? 1 : e === \"inside-right\" ? 2 : 3;\n }\n }, {\n key: \"addButton\",\n value: function addButton(e, t, i) {\n t.classList.add(i);\n var n = tt.getContainerIndex(i);\n e[n].appendChild(t), n === 3 && t.classList.add(\"outside-right\");\n }\n }]);\n return tt;\n}();\nvar Mn = [\"camera\", \"gifs\", \"images\", \"audio\", \"mixedFiles\", \"submit\", \"microphone\"];\nvar j = /*#__PURE__*/function () {\n function j() {\n _classCallCheck(this, j);\n }\n _createClass(j, null, [{\n key: \"createTextElement\",\n value: function createTextElement(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"text-button\"), t.innerText = e, t;\n }\n }, {\n key: \"createElement\",\n value: function createElement(e, t) {\n return t ? j.createTextElement(e) : V.createSVGElement(e);\n }\n }, {\n key: \"createCustomElement\",\n value: function createCustomElement(e, t) {\n var n, r, o, a;\n var i = t == null ? void 0 : t[e];\n if ((n = i == null ? void 0 : i.text) != null && n.content) return j.createElement((r = i == null ? void 0 : i.text) == null ? void 0 : r.content, !0);\n if ((o = i == null ? void 0 : i.svg) != null && o.content) return j.createElement((a = i == null ? void 0 : i.svg) == null ? void 0 : a.content, !1);\n }\n }, {\n key: \"processElement\",\n value: function processElement(e, t) {\n t != null && t.classList.contains(\"text-button\") || e.classList.add(\"input-button-svg\");\n }\n // publicly used for creating elements that do not change state in a sequence\n // prettier-ignore\n }, {\n key: \"createSpecificStateElement\",\n value: function createSpecificStateElement(e, t, i) {\n var n;\n return i && (n = j.createCustomElement(t, i)), j.processElement(e, n), n;\n }\n // used for creating elements that change state in a sequence\n // prettier-ignore\n }, {\n key: \"create\",\n value: function create(e, t, i) {\n var n = {};\n if (!i) return j.processElement(e), n;\n var r = j.createSpecificStateElement(e, t[0], i);\n n[t[0]] = r;\n var o = r;\n return t.slice(1).forEach(function (a) {\n o = j.createCustomElement(a, i) || o, n[a] = o;\n }), n;\n }\n }]);\n return j;\n}();\nvar Qo = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M16 0c-8.836 0-16 7.163-16 16s7.163 16 16 16c8.837 0 16-7.163 16-16s-7.163-16-16-16zM16 30.032c-7.72 0-14-6.312-14-14.032s6.28-14 14-14 14 6.28 14 14-6.28 14.032-14 14.032zM23 15h-6v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1v6h-6c-0.552 0-1 0.448-1 1s0.448 1 1 1h6v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6h6c0.552 0 1-0.448 1-1s-0.448-1-1-1z\\\"></path>\\n</svg>\";\nvar ne = /*#__PURE__*/function () {\n function ne() {\n _classCallCheck(this, ne);\n }\n _createClass(ne, null, [{\n key: \"unsetAllCSS\",\n value: function unsetAllCSS(e, t) {\n var i, n;\n t.container && C.unsetAllCSSMouseStates(e, t.container), (i = t.svg) != null && i.styles && C.unsetAllCSSMouseStates(e.children[0], t.svg.styles), (n = t.text) != null && n.styles && C.unsetAllCSSMouseStates(e.children[0], t.text.styles);\n }\n }, {\n key: \"unsetActionCSS\",\n value: function unsetActionCSS(e, t) {\n var i, n;\n t.container && C.unsetActivityCSSMouseStates(e, t.container), (i = t.svg) != null && i.styles && C.unsetActivityCSSMouseStates(e.children[0], t.svg.styles), (n = t.text) != null && n.styles && C.unsetActivityCSSMouseStates(e.children[0], t.text.styles);\n }\n }, {\n key: \"setElementsCSS\",\n value: function setElementsCSS(e, t, i) {\n var n, r, o, a, l;\n Object.assign(e.style, (n = t.container) == null ? void 0 : n[i]), Object.assign(e.children[0].style, (o = (r = t.svg) == null ? void 0 : r.styles) == null ? void 0 : o[i]), Object.assign(e.children[0].style, (l = (a = t.text) == null ? void 0 : a.styles) == null ? void 0 : l[i]);\n }\n }, {\n key: \"setElementCssUpToState\",\n value: function setElementCssUpToState(e, t, i) {\n ne.setElementsCSS(e, t, \"default\"), i !== \"default\" && (ne.setElementsCSS(e, t, \"hover\"), i !== \"hover\" && ne.setElementsCSS(e, t, \"click\"));\n }\n }]);\n return ne;\n}();\nvar Tt = /*#__PURE__*/function () {\n function Tt(e, t, i, n) {\n _classCallCheck(this, Tt);\n this._mouseState = {\n state: \"default\"\n }, this.elementRef = e, this._customStyles = i, this.position = t, this.dropupText = n;\n }\n _createClass(Tt, [{\n key: \"buttonMouseLeave\",\n value: function buttonMouseLeave(e) {\n this._mouseState.state = \"default\", e && (ne.unsetAllCSS(this.elementRef, e), ne.setElementsCSS(this.elementRef, e, \"default\"));\n }\n }, {\n key: \"buttonMouseEnter\",\n value: function buttonMouseEnter(e) {\n this._mouseState.state = \"hover\", e && ne.setElementsCSS(this.elementRef, e, \"hover\");\n }\n }, {\n key: \"buttonMouseUp\",\n value: function buttonMouseUp(e) {\n e && ne.unsetActionCSS(this.elementRef, e), this.buttonMouseEnter(e);\n }\n }, {\n key: \"buttonMouseDown\",\n value: function buttonMouseDown(e) {\n this._mouseState.state = \"click\", e && ne.setElementsCSS(this.elementRef, e, \"click\");\n }\n // be careful not to use onclick as that is used for button functionality\n }, {\n key: \"setEvents\",\n value: function setEvents(e) {\n this.elementRef.onmousedown = this.buttonMouseDown.bind(this, e), this.elementRef.onmouseup = this.buttonMouseUp.bind(this, e), this.elementRef.onmouseenter = this.buttonMouseEnter.bind(this, e), this.elementRef.onmouseleave = this.buttonMouseLeave.bind(this, e);\n }\n }, {\n key: \"unsetCustomStateStyles\",\n value: function unsetCustomStateStyles(e) {\n if (this._customStyles) for (var t = 0; t < e.length; t += 1) {\n var _i16 = e[t],\n n = _i16 && this._customStyles[_i16];\n n && ne.unsetActionCSS(this.elementRef, n);\n }\n }\n }, {\n key: \"reapplyStateStyle\",\n value: function reapplyStateStyle(e, t) {\n if (!this._customStyles) return;\n t && this.unsetCustomStateStyles(t);\n var i = this._customStyles[e];\n i && ne.setElementCssUpToState(this.elementRef, i, this._mouseState.state), this.setEvents(i);\n }\n }]);\n return Tt;\n}();\nvar yt = /*#__PURE__*/function () {\n function yt() {\n _classCallCheck(this, yt);\n }\n _createClass(yt, null, [{\n key: \"focusItemWhenOnEdge\",\n value: function focusItemWhenOnEdge(e, t) {\n var i = t ? e.children[0] : e.children[e.children.length - 1];\n yt.focusSiblingItem(i, e, t, !0);\n }\n // isEdgeItem means is it a start or end item\n // prettier-ignore\n }, {\n key: \"focusSiblingItem\",\n value: function focusSiblingItem(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var r = n ? e : e[i ? \"nextSibling\" : \"previousSibling\"];\n r ? (e.dispatchEvent(new MouseEvent(\"mouseleave\")), r.dispatchEvent(new MouseEvent(\"mouseenter\"))) : (e.dispatchEvent(new MouseEvent(\"mouseleave\")), yt.focusItemWhenOnEdge(t, i));\n }\n }]);\n return yt;\n}();\nvar Ae = /*#__PURE__*/function () {\n function Ae() {\n _classCallCheck(this, Ae);\n }\n _createClass(Ae, null, [{\n key: \"addItemEvents\",\n value: function addItemEvents(e, t, i, n) {\n Ie.add(t, n), t.addEventListener(\"click\", function () {\n i.click();\n }), t.addEventListener(\"mouseenter\", function (r) {\n e.highlightedItem = r.target;\n }), t.addEventListener(\"mouseleave\", function () {\n e.highlightedItem = void 0;\n });\n }\n }, {\n key: \"createItemText\",\n value: function createItemText(e, t) {\n var i = document.createElement(\"div\");\n return Object.assign(i.style, t), i.classList.add(\"dropup-menu-item-text\"), i.textContent = e || \"File\", i;\n }\n }, {\n key: \"createItemIcon\",\n value: function createItemIcon(e, t) {\n var i = document.createElement(\"div\");\n return Object.assign(i.style, t), i.classList.add(\"dropup-menu-item-icon\"), i.appendChild(e.children[0]), i;\n }\n }, {\n key: \"populateItem\",\n value: function populateItem(e, t, i, n) {\n var r = e.children[0];\n r.classList.contains(\"text-button\") ? t.appendChild(Ae.createItemText(r.textContent, n == null ? void 0 : n.text)) : (t.appendChild(Ae.createItemIcon(e, n == null ? void 0 : n.iconContainer)), t.appendChild(Ae.createItemText(i, n == null ? void 0 : n.text)));\n }\n // prettier-ignore\n }, {\n key: \"createItem\",\n value: function createItem(e, t, i) {\n var l;\n var n = t.elementRef,\n r = t.dropupText,\n o = document.createElement(\"div\");\n Object.assign(o.style, (l = i == null ? void 0 : i.item) == null ? void 0 : l[\"default\"]), Ae.populateItem(n, o, r, i), o.classList.add(\"dropup-menu-item\");\n var a = C.processStateful((i == null ? void 0 : i.item) || {}, {\n backgroundColor: \"#f3f3f3\"\n }, {\n backgroundColor: \"#ebebeb\"\n });\n return Ae.addItemEvents(e, o, n, a), o;\n }\n }]);\n return Ae;\n}();\nvar nn = /*#__PURE__*/function () {\n function nn(e, t) {\n var _this46 = this;\n _classCallCheck(this, nn);\n var i;\n this._isOpen = !0, this._styles = t, this.elementRef = nn.createElement((i = this._styles) == null ? void 0 : i.container), this.close(), setTimeout(function () {\n return _this46.addWindowEvents(e);\n });\n }\n _createClass(nn, [{\n key: \"open\",\n value: function open() {\n this.elementRef.style.display = \"block\", this._isOpen = !0;\n }\n }, {\n key: \"close\",\n value: function close() {\n this._isOpen && (this.elementRef.style.display = \"none\", this._isOpen = !1);\n }\n }, {\n key: \"toggle\",\n value: function toggle() {\n this._isOpen ? this.close() : this.open();\n }\n }, {\n key: \"addItem\",\n value: function addItem(e) {\n var t = Ae.createItem(this, e, this._styles);\n this.elementRef.appendChild(t);\n }\n // prettier-ignore\n }, {\n key: \"addWindowEvents\",\n value: function addWindowEvents(e) {\n this.clickEvent = this.windowClick.bind(this, e), window.addEventListener(\"click\", this.clickEvent), this.keyDownEvent = this.windowKeyDown.bind(this, e), window.addEventListener(\"keydown\", this.keyDownEvent);\n }\n }, {\n key: \"windowClick\",\n value: function windowClick(e, t) {\n var i;\n !e.isConnected && this.clickEvent ? window.removeEventListener(\"click\", this.clickEvent) : e.parentElement !== ((i = t.target.shadowRoot) == null ? void 0 : i.children[0]) && this.close();\n }\n // prettier-ignore\n }, {\n key: \"windowKeyDown\",\n value: function windowKeyDown(e, t) {\n var i, n, r;\n !e.isConnected && this.keyDownEvent ? window.removeEventListener(\"keydown\", this.keyDownEvent) : this._isOpen && (t.key === R.ESCAPE ? (this.close(), (i = this.highlightedItem) == null || i.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === R.ENTER ? ((n = this.highlightedItem) == null || n.click(), (r = this.highlightedItem) == null || r.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === R.ARROW_DOWN ? yt.focusSiblingItem(this.highlightedItem || this.elementRef.children[this.elementRef.children.length - 1], this.elementRef, !0) : t.key === R.ARROW_UP && yt.focusSiblingItem(this.highlightedItem || this.elementRef.children[0], this.elementRef, !1));\n }\n }], [{\n key: \"createElement\",\n value: function createElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"dropup-menu\", Object.assign(t.style, e), t;\n }\n }]);\n return nn;\n}();\nvar Ze = /*#__PURE__*/function (_Tt) {\n _inherits(Ze, _Tt);\n function Ze(e, t) {\n var _this47;\n _classCallCheck(this, Ze);\n var n;\n _this47 = _callSuper(this, Ze, [Ze.createButtonElement(), void 0, {\n styles: (n = t == null ? void 0 : t.button) == null ? void 0 : n.styles\n }]);\n var i = _this47.createInnerElements(_this47._customStyles);\n _this47._menu = new nn(e, t == null ? void 0 : t.menu), _this47.addClickEvent(), _this47.buttonContainer = Ze.createButtonContainer(), _this47.elementRef.appendChild(i.styles), _this47.buttonContainer.appendChild(_this47.elementRef), _this47.elementRef.classList.add(\"dropup-icon\", \"upload-file-button\"), _this47.elementRef.children[0].id = \"dropup-icon\", _this47.buttonContainer.appendChild(_this47._menu.elementRef), _this47.reapplyStateStyle(\"styles\"), _this47.addContainerEvents(e);\n return _this47;\n }\n _createClass(Ze, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n return {\n styles: this.createInnerElement(Ze.createSVGIconElement(), \"styles\", e)\n };\n }\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return j.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"addClickEvent\",\n value: function addClickEvent() {\n this.elementRef.onclick = this._menu.toggle.bind(this._menu);\n }\n }, {\n key: \"addItem\",\n value: function addItem(e) {\n this._menu.addItem(e);\n }\n }, {\n key: \"addContainerEvents\",\n value: function addContainerEvents(e) {\n var _this48 = this;\n e.addEventListener(\"click\", function (t) {\n t.target.classList.contains(\"dropup-icon\") || _this48._menu.close();\n });\n }\n }], [{\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement() {\n return V.createSVGElement(Qo);\n }\n }, {\n key: \"createButtonContainer\",\n value: function createButtonContainer() {\n var e = document.createElement(\"div\");\n return e.id = \"dropup-container\", e;\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var i, n;\n return (i = t == null ? void 0 : t.button) != null && i.position ? (n = t == null ? void 0 : t.button) == null ? void 0 : n.position : e[\"outside-left\"].length > 0 && e[\"outside-right\"].length === 0 ? \"outside-right\" : \"outside-left\";\n }\n }]);\n return Ze;\n}(Tt);\nvar F = /*#__PURE__*/function () {\n function F() {\n _classCallCheck(this, F);\n }\n _createClass(F, null, [{\n key: \"addToDropup\",\n value:\n // prettier-ignore\n function addToDropup(e, t, i, n) {\n var r = new Ze(i, n);\n Mn.forEach(function (a) {\n var l = t[\"dropup-menu\"].findIndex(function (d) {\n return d.buttonType === a;\n }),\n c = t[\"dropup-menu\"][l];\n c && (r.addItem(c.button), t[\"dropup-menu\"].splice(l, 1));\n });\n var o = Ze.getPosition(t, n);\n tt.addButton(e, r.buttonContainer, o), t[o].push({});\n }\n }, {\n key: \"addToSideContainer\",\n value: function addToSideContainer(e, t) {\n [\"inside-left\", \"inside-right\", \"outside-left\", \"outside-right\"].forEach(function (n) {\n var r = n;\n t[r].forEach(function (o) {\n tt.addButton(e, o.button.elementRef, r);\n });\n });\n }\n }, {\n key: \"setPosition\",\n value: function setPosition(e, t, i) {\n var n = _objectSpread(_objectSpread({}, e[t]), {}, {\n buttonType: t\n });\n i.push(n), delete e[t];\n }\n }, {\n key: \"createPositionsObj\",\n value: function createPositionsObj() {\n return {\n \"dropup-menu\": [],\n \"outside-left\": [],\n \"inside-left\": [],\n \"inside-right\": [],\n \"outside-right\": []\n };\n }\n // prettier-ignore\n }, {\n key: \"generatePositions\",\n value: function generatePositions(e) {\n var t = F.createPositionsObj();\n Object.keys(e).forEach(function (n) {\n var o;\n var r = (o = e[n]) == null ? void 0 : o.button.position;\n r && F.setPosition(e, n, t[r]);\n }), t[\"inside-right\"].length === 0 && e.submit && F.setPosition(e, \"submit\", t[\"inside-right\"]), t[\"outside-right\"].length === 0 && (e.submit ? F.setPosition(e, \"submit\", t[\"outside-right\"]) : e.microphone ? F.setPosition(e, \"microphone\", t[\"outside-right\"]) : e.camera && F.setPosition(e, \"camera\", t[\"outside-right\"])), e.submit && F.setPosition(e, \"submit\", t[\"outside-left\"].length === 0 ? t[\"outside-left\"] : t[\"inside-right\"]), e.microphone && F.setPosition(e, \"microphone\", t[\"outside-left\"].length === 0 ? t[\"outside-left\"] : t[\"inside-right\"]);\n var i = Object.keys(e);\n return i.length > 1 || t[\"dropup-menu\"].length > 0 ? Mn.forEach(function (n) {\n e[n] && t[\"dropup-menu\"].push(_objectSpread(_objectSpread({}, e[n]), {}, {\n buttonType: n\n }));\n }) : i.length === 1 && F.setPosition(e, i[0], t[\"outside-right\"].length === 0 ? t[\"outside-right\"] : t[\"outside-left\"]), t;\n }\n // prettier-ignore\n }, {\n key: \"addButtons\",\n value: function addButtons(e, t, i, n) {\n var r = F.generatePositions(t);\n return F.addToSideContainer(e, r), r[\"dropup-menu\"].length > 0 && F.addToDropup(e, r, i, n), r;\n }\n }]);\n return F;\n}();\nvar ea = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<title>file</title>\\n<path d=\\\"M20 10.9696L11.9628 18.5497C10.9782 19.4783 9.64274 20 8.25028 20C6.85782 20 5.52239 19.4783 4.53777 18.5497C3.55315 17.6211 3 16.3616 3 15.0483C3 13.7351 3.55315 12.4756 4.53777 11.547L12.575 3.96687C13.2314 3.34779 14.1217 3 15.05 3C15.9783 3 16.8686 3.34779 17.525 3.96687C18.1814 4.58595 18.5502 5.4256 18.5502 6.30111C18.5502 7.17662 18.1814 8.01628 17.525 8.63535L9.47904 16.2154C9.15083 16.525 8.70569 16.6989 8.24154 16.6989C7.77738 16.6989 7.33224 16.525 7.00403 16.2154C6.67583 15.9059 6.49144 15.4861 6.49144 15.0483C6.49144 14.6106 6.67583 14.1907 7.00403 13.8812L14.429 6.88674\\\" stroke=\\\"#000000\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\",\n ta = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M20,15.2928932 L20,5.5 C20,4.67157288 19.3284271,4 18.5,4 L5.5,4 C4.67157288,4 4,4.67157288 4,5.5 L4,12.2928932 L7.14644661,9.14644661 C7.34170876,8.95118446 7.65829124,8.95118446 7.85355339,9.14644661 L13.5,14.7928932 L16.1464466,12.1464466 C16.3417088,11.9511845 16.6582912,11.9511845 16.8535534,12.1464466 L20,15.2928932 Z M20,16.7071068 L16.5,13.2071068 L13.8535534,15.8535534 C13.6582912,16.0488155 13.3417088,16.0488155 13.1464466,15.8535534 L7.5,10.2071068 L4,13.7071068 L4,18.5 C4,19.3284271 4.67157288,20 5.5,20 L18.5,20 C19.3284271,20 20,19.3284271 20,18.5 L20,16.7071068 Z M3,5.5 C3,4.11928813 4.11928813,3 5.5,3 L18.5,3 C19.8807119,3 21,4.11928813 21,5.5 L21,18.5 C21,19.8807119 19.8807119,21 18.5,21 L5.5,21 C4.11928813,21 3,19.8807119 3,18.5 L3,5.5 Z M15,6 L17,6 C17.5522847,6 18,6.44771525 18,7 L18,9 C18,9.55228475 17.5522847,10 17,10 L15,10 C14.4477153,10 14,9.55228475 14,9 L14,7 C14,6.44771525 14.4477153,6 15,6 Z M15,7 L15,9 L17,9 L17,7 L15,7 Z\\\"/>\\n</svg>\\n\",\n ia = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"-49.49 -49.49 593.87 593.87\\\" stroke-width=\\\"3.95908\\\" transform=\\\"rotate(0)\\\">\\n <g stroke-width=\\\"0\\\"></g>\\n <g stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"0.98977\\\"></g>\\n <g>\\n <g>\\n <g>\\n <path d=\\\"M163.205,76.413v293.301c-3.434-3.058-7.241-5.867-11.486-8.339c-21.38-12.452-49.663-15.298-77.567-7.846 c-49.038,13.096-80.904,54.519-71.038,92.337c4.019,15.404,14.188,28.221,29.404,37.087c13.553,7.894,29.87,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.447-4.087c42.74-11.406,72.411-44.344,72.807-77.654h0.011v-0.162c0.002-0.166,0-0.331,0-0.496V187.072 l290.971-67.3v178.082c-3.433-3.055-7.238-5.863-11.481-8.334c-21.385-12.452-49.654-15.308-77.567-7.846 c-49.038,13.087-80.904,54.519-71.038,92.356c4.019,15.385,14.183,28.212,29.404,37.067c13.548,7.894,29.875,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.452-4.087c42.74-11.413,72.411-44.346,72.804-77.654h0.004v-0.065c0.003-0.236,0.001-0.469,0-0.704V0 L163.205,76.413z M104.999,471.779c-22.543,6.038-45.942,3.846-62.572-5.846c-10.587-6.163-17.591-14.817-20.255-25.038 c-7.144-27.375,18.452-58.029,57.062-68.346c8.409-2.25,16.938-3.346,25.188-3.346c13.87,0,26.962,3.115,37.389,9.192 c10.587,6.163,17.591,14.817,20.255,25.029c0.809,3.102,1.142,6.248,1.139,9.4v0.321h0.014 C162.99,437.714,139.082,462.678,104.999,471.779z M182.898,166.853V92.067l290.971-67.298v74.784L182.898,166.853z M415.677,399.923c-22.558,6.038-45.942,3.837-62.587-5.846c-10.587-6.163-17.587-14.817-20.25-25.019 c-7.144-27.385,18.452-58.058,57.058-68.365c8.414-2.25,16.942-3.346,25.192-3.346c13.875,0,26.962,3.115,37.385,9.192 c10.596,6.163,17.596,14.817,20.26,25.029v0.01c0.796,3.05,1.124,6.144,1.135,9.244v0.468h0.02 C473.668,365.851,449.763,390.814,415.677,399.923z\\\">\\n </path>\\n </g>\\n </g>\\n </g>\\n</svg>\",\n na = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 5.9266752 5.6408391\\\" height=\\\"21.31971\\\" width=\\\"22.4\\\">\\n <g>\\n <path d=\\\"m 5.2564627,1.548212 c -3.1136005,-0.4796804 -1.5568006,-0.2398402 0,0 z M 2.0001198,2.0922063 c 0.1556781,0 0.2657489,0.020893 0.3917849,0.080366 0.081154,0.038347 0.1153492,0.134065 0.076377,0.2138602 -0.038973,0.07979 -0.1363527,0.1134129 -0.2175069,0.075091 -0.078199,-0.036919 -0.1407455,-0.048792 -0.250655,-0.048792 -0.2260486,0 -0.3921482,0.2042182 -0.3921482,0.4801409 0,0.2761822 0.1663188,0.4810688 0.3921482,0.4810688 0.1117901,0 0.2064255,-0.046133 0.255659,-0.1284198 l 0.00162,-0.00389 V 3.0534032 l -0.098011,1.75e-4 c -0.081844,0 -0.1495979,-0.059305 -0.1612403,-0.1365887 l -0.00175,-0.023683 c 0,-0.08047 0.060311,-0.1470874 0.1389194,-0.1585331 l 0.024085,-0.00195 h 0.2612303 c 0.081842,0 0.149598,0.059305 0.1612404,0.1365891 l 0.00175,0.023683 -3.398e-4,0.3968809 v 0 l -0.00168,0.014211 v 0 l -0.00553,0.023034 v 0 l -0.00532,0.014145 c -0.098178,0.22826 -0.3236506,0.3528713 -0.5706303,0.3528713 -0.4240855,0 -0.7181621,-0.3622714 -0.7181621,-0.8016063 0,-0.4391857 0.2940275,-0.8006848 0.7181621,-0.8006848 z m 1.2034759,0.031275 c 0.081843,0 0.1495977,0.059305 0.1612403,0.1365891 l 0.00175,0.023683 v 1.2211775 c 0,0.088516 -0.07298,0.1602721 -0.1630073,0.1602721 -0.081841,0 -0.1495972,-0.059305 -0.1612397,-0.1365892 L 3.040589,3.5049308 V 2.2837527 c 0,-0.088516 0.07298,-0.1602721 0.1630067,-0.1602714 z m 0.7813442,0 0.5209469,0.00195 c 0.090025,3.048e-4 0.1627543,0.072306 0.1624458,0.1608234 -2.809e-4,0.08047 -0.06083,0.1468798 -0.1394772,0.158066 l -0.024092,0.00195 -0.3575326,-0.0013 v 0.4497782 l 0.2928918,2.27e-4 c 0.081842,0 0.1495979,0.059305 0.1612403,0.136589 l 0.00175,0.023683 c 0,0.080469 -0.06031,0.1470871 -0.1389193,0.1585393 l -0.024092,0.00195 -0.2928919,-2.336e-4 1.563e-4,0.2860316 c 0,0.080471 -0.06031,0.1470873 -0.1389193,0.1585395 l -0.024085,0.00195 c -0.081843,0 -0.1495979,-0.059305 -0.1612403,-0.1365826 l -0.00175,-0.023691 V 2.2841354 c 2.798e-4,-0.08047 0.060829,-0.1468797 0.1394758,-0.1580594 z\\\"/>\\n <path d=\\\"m 5.0894191,1.0943261 c 0,-0.21918999 -0.177687,-0.39686999 -0.396876,-0.39686999 h -3.43959 c -0.2191879,0 -0.391262,0.1777519 -0.3968759,0.39686999 l -0.027082,3.4379266 c 0.040152,0.2939927 0.4235456,0.409415 0.4235456,0.409415 l 3.4785583,-0.00851 c 0,0 0.3008506,-0.1402998 0.3236271,-0.4201576 0.042911,-0.5272495 0.034693,-1.6106146 0.034693,-3.4186761 z m -4.49792494,0 c 0,-0.36530999 0.29614504,-0.66145999 0.66145894,-0.66145999 h 3.43959 c 0.365314,0 0.66146,0.29615 0.66146,0.66145999 v 3.43959 c 0,0.36532 -0.296146,0.66146 -0.66146,0.66146 h -3.43959 c -0.3653139,0 -0.66145894,-0.29614 -0.66145894,-0.66146 z\\\"/>\\n </g>\\n</svg>\\n\",\n sa = {\n images: {\n id: \"upload-images-icon\",\n svgString: ta,\n dropupText: \"Image\"\n },\n gifs: {\n id: \"upload-gifs-icon\",\n svgString: na,\n dropupText: \"GIF\"\n },\n audio: {\n id: \"upload-audio-icon\",\n svgString: ia,\n dropupText: \"Audio\"\n },\n mixedFiles: {\n id: \"upload-mixed-files-icon\",\n svgString: ea,\n dropupText: \"File\"\n }\n };\nvar pe = /*#__PURE__*/function () {\n // prettier-ignore\n function pe(e, t, i, n) {\n var _this49 = this;\n _classCallCheck(this, pe);\n this._attachments = [], this._fileCountLimit = 99, this._acceptedFormat = \"\", t.maxNumberOfFiles && (this._fileCountLimit = t.maxNumberOfFiles), this._toggleContainerDisplay = i, this._fileAttachmentsContainerRef = n, t.acceptedFormats && (this._acceptedFormat = t.acceptedFormats), setTimeout(function () {\n _this49._validationHandler = e._validationHandler;\n });\n }\n _createClass(pe, [{\n key: \"attemptAddFile\",\n value: function attemptAddFile(e, t) {\n return pe.isFileTypeValid(e, this._acceptedFormat) ? (this.addAttachmentBasedOnType(e, t, !0), !0) : !1;\n }\n }, {\n key: \"addAttachmentBasedOnType\",\n value: function addAttachmentBasedOnType(e, t, i) {\n var n = pe.getTypeFromBlob(e);\n if (n === \"image\") {\n var r = pe.createImageAttachment(t);\n this.addFileAttachment(e, \"image\", r, i);\n } else if (n === \"audio\") {\n var _r2 = Hi.createAudioAttachment(t);\n this.addFileAttachment(e, \"audio\", _r2, i);\n } else {\n var _r3 = pe.createAnyFileAttachment(e.name);\n this.addFileAttachment(e, \"any\", _r3, i);\n }\n }\n }, {\n key: \"addFileAttachment\",\n value: function addFileAttachment(e, t, i, n) {\n var a;\n var r = pe.createContainer(i);\n if (this._attachments.length >= this._fileCountLimit) {\n var l = this._attachments[this._attachments.length - 1].removeButton;\n l == null || l.click();\n var c = this._fileAttachmentsContainerRef.children;\n this._fileAttachmentsContainerRef.insertBefore(r, c[0]);\n } else this._fileAttachmentsContainerRef.appendChild(r);\n var o = {\n file: e,\n attachmentContainerElement: r,\n fileType: t\n };\n return n && (o.removeButton = this.createRemoveAttachmentButton(o), r.appendChild(o.removeButton)), this._toggleContainerDisplay(!0), this._attachments.push(o), this._fileAttachmentsContainerRef.scrollTop = this._fileAttachmentsContainerRef.scrollHeight, (a = this._validationHandler) == null || a.call(this), o;\n }\n }, {\n key: \"createRemoveAttachmentButton\",\n value: function createRemoveAttachmentButton(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"remove-file-attachment-button\"), t.onclick = this.removeAttachment.bind(this, e);\n var i = document.createElement(\"div\");\n return i.classList.add(\"x-icon\"), i.innerText = \"×\", t.appendChild(i), t;\n }\n }, {\n key: \"removeAttachment\",\n value: function removeAttachment(e) {\n var n;\n var t = this._attachments.findIndex(function (r) {\n return r === e;\n }),\n i = this._attachments[t].attachmentContainerElement;\n this._attachments.splice(t, 1), Hi.stopAttachmentPlayback(i), i.remove(), this._toggleContainerDisplay(!1), (n = this._validationHandler) == null || n.call(this);\n }\n }, {\n key: \"getFiles\",\n value: function getFiles() {\n return Array.from(this._attachments).map(function (e) {\n return {\n file: e.file,\n type: e.fileType\n };\n });\n }\n }, {\n key: \"removeAllAttachments\",\n value: function removeAllAttachments() {\n this._attachments.forEach(function (e) {\n setTimeout(function () {\n var t;\n return (t = e.removeButton) == null ? void 0 : t.click();\n });\n });\n }\n }], [{\n key: \"isFileTypeValid\",\n value: function isFileTypeValid(e, t) {\n if (t === \"\") return !0;\n var i = t.split(\",\");\n for (var n = 0; n < i.length; n++) {\n var r = i[n].trim();\n if (e.type === r) return !0;\n if (r.startsWith(\".\")) {\n var o = r.slice(1);\n if (e.name.endsWith(o)) return !0;\n } else {\n if (e.name.endsWith(r)) return !0;\n if (r.endsWith(\"/*\") && e.type.startsWith(r.slice(0, -2))) return !0;\n }\n }\n return !1;\n }\n }, {\n key: \"getTypeFromBlob\",\n value: function getTypeFromBlob(e) {\n var t = e.type;\n return t.startsWith(\"image\") ? \"image\" : t.startsWith(\"audio\") ? \"audio\" : \"any\";\n }\n }, {\n key: \"createImageAttachment\",\n value: function createImageAttachment(e) {\n var t = new Image();\n return t.src = e, t.classList.add(\"image-attachment\"), t;\n }\n }, {\n key: \"createAnyFileAttachment\",\n value: function createAnyFileAttachment(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"border-bound-attachment\"), ye.IS_SAFARI && t.classList.add(\"border-bound-attachment-safari\");\n var i = document.createElement(\"div\");\n i.classList.add(\"any-file-attachment-text\");\n var n = document.createElement(\"div\");\n return n.classList.add(\"file-attachment-text-container\"), n.appendChild(i), i.textContent = e, t.appendChild(n), t;\n }\n }, {\n key: \"createContainer\",\n value: function createContainer(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"file-attachment\"), t.appendChild(e), t;\n }\n }]);\n return pe;\n}();\nvar ra = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <title>play</title>\\n <path d=\\\"M5.92 24.096q0 1.088 0.928 1.728 0.512 0.288 1.088 0.288 0.448 0 0.896-0.224l16.16-8.064q0.48-0.256 0.8-0.736t0.288-1.088-0.288-1.056-0.8-0.736l-16.16-8.064q-0.448-0.224-0.896-0.224-0.544 0-1.088 0.288-0.928 0.608-0.928 1.728v16.16z\\\"></path>\\n</svg>\",\n Tn = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<title>stop</title>\\n<path d=\\\"M5.92 24.096q0 0.832 0.576 1.408t1.44 0.608h16.128q0.832 0 1.44-0.608t0.576-1.408v-16.16q0-0.832-0.576-1.44t-1.44-0.576h-16.128q-0.832 0-1.44 0.576t-0.576 1.44v16.16z\\\"></path>\\n</svg>\",\n vs = /*#__PURE__*/function (_pe) {\n _inherits(Ce, _pe);\n // prettier-ignore\n function Ce(e, t, i, n) {\n _classCallCheck(this, Ce);\n return _callSuper(this, Ce, [e, t, i, n]);\n }\n _createClass(Ce, [{\n key: \"createTimer\",\n value: function createTimer(e, t) {\n var _this50 = this;\n var i = 0;\n var n = t !== void 0 && t < Ce.TIMER_LIMIT_S ? t : Ce.TIMER_LIMIT_S;\n return setInterval(function () {\n var a;\n i += 1, i === n && ((a = _this50.stopPlaceholderCallback) == null || a.call(_this50), _this50.clearTimer()), i === 600 && e.classList.add(\"audio-placeholder-text-4-digits\");\n var r = Math.floor(i / 60),\n o = (i % 60).toString().padStart(2, \"0\");\n e.textContent = \"\".concat(r, \":\").concat(o);\n }, 1e3);\n }\n }, {\n key: \"createPlaceholderAudioAttachment\",\n value: function createPlaceholderAudioAttachment(e) {\n var t = Ce.createAudioContainer(),\n i = document.createElement(\"div\");\n i.classList.add(\"audio-placeholder-text-3-digits\");\n var n = document.createElement(\"div\");\n n.classList.add(\"file-attachment-text-container\", \"audio-placeholder-text-3-digits-container\"), n.appendChild(i);\n var r = V.createSVGElement(Tn);\n return r.classList.add(\"attachment-icon\", \"stop-icon\", \"not-removable-attachment-icon\"), i.textContent = \"0:00\", this._activePlaceholderTimer = this.createTimer(i, e), t.appendChild(n), this.addPlaceholderAudioAttachmentEvents(t, r, n), t;\n }\n }, {\n key: \"addPlaceholderAudioAttachmentEvents\",\n value: function addPlaceholderAudioAttachmentEvents(e, t, i) {\n var _this51 = this;\n var n = function n() {\n return e.replaceChildren(t);\n };\n e.addEventListener(\"mouseenter\", n);\n var r = function r() {\n return e.replaceChildren(i);\n };\n e.addEventListener(\"mouseleave\", r);\n var o = function o() {\n var a;\n return (a = _this51.stopPlaceholderCallback) == null ? void 0 : a.call(_this51);\n };\n e.addEventListener(\"click\", o);\n }\n }, {\n key: \"addPlaceholderAttachment\",\n value: function addPlaceholderAttachment(e, t) {\n var i = this.createPlaceholderAudioAttachment(t);\n this._activePlaceholderAttachment = this.addFileAttachment(new File([], \"\"), \"audio\", i, !1), this.stopPlaceholderCallback = e;\n }\n // prettier-ignore\n }, {\n key: \"completePlaceholderAttachment\",\n value: function completePlaceholderAttachment(e, t) {\n var i = this._activePlaceholderAttachment;\n i && (i.file = e, Ce.addAudioElements(i.attachmentContainerElement.children[0], t), i.removeButton = this.createRemoveAttachmentButton(i), i.attachmentContainerElement.appendChild(i.removeButton), this._activePlaceholderAttachment = void 0, this.clearTimer());\n }\n }, {\n key: \"removePlaceholderAttachment\",\n value: function removePlaceholderAttachment() {\n this._activePlaceholderAttachment && (this.removeAttachment(this._activePlaceholderAttachment), this._activePlaceholderAttachment = void 0, this.clearTimer());\n }\n }, {\n key: \"clearTimer\",\n value: function clearTimer() {\n this._activePlaceholderTimer !== void 0 && (clearInterval(this._activePlaceholderTimer), this._activePlaceholderTimer = void 0, this.stopPlaceholderCallback = void 0);\n }\n }], [{\n key: \"createAudioContainer\",\n value: function createAudioContainer() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"border-bound-attachment\", \"audio-attachment-icon-container\"), ye.IS_SAFARI && e.classList.add(\"border-bound-attachment-safari\"), e;\n }\n }, {\n key: \"addAudioElements\",\n value: function addAudioElements(e, t) {\n var i = e.parentElement ? G.cloneElement(e) : e,\n n = document.createElement(\"audio\");\n n.src = t;\n var r = V.createSVGElement(ra);\n r.classList.add(\"attachment-icon\", \"play-icon\");\n var o = V.createSVGElement(Tn);\n o.classList.add(\"attachment-icon\", \"stop-icon\"), i.replaceChildren(r), n.onplay = function () {\n i.replaceChildren(o);\n }, n.onpause = function () {\n i.replaceChildren(r), n.currentTime = 0;\n }, n.onended = function () {\n i.replaceChildren(r);\n }, i.onclick = function () {\n n.paused ? n.play() : n.pause();\n };\n }\n }, {\n key: \"createAudioAttachment\",\n value: function createAudioAttachment(e) {\n var t = Ce.createAudioContainer();\n return Ce.addAudioElements(t, e), t;\n }\n }, {\n key: \"stopAttachmentPlayback\",\n value: function stopAttachmentPlayback(e) {\n var t, i, n;\n (n = (i = (t = e.children[0]) == null ? void 0 : t.children) == null ? void 0 : i[0]) != null && n.classList.contains(\"stop-icon\") && e.children[0].click();\n }\n }]);\n return Ce;\n }(pe);\nvs.TIMER_LIMIT_S = 5999;\nvar Hi = vs;\nvar oa = /*#__PURE__*/function () {\n function oa() {\n _classCallCheck(this, oa);\n }\n _createClass(oa, null, [{\n key: \"create\",\n value:\n // prettier-ignore\n function create(e, t, i, n, r) {\n return r === \"audio\" ? new Hi(e, t, i, n) : new pe(e, t, i, n);\n }\n }]);\n return oa;\n}();\nvar Ct = /*#__PURE__*/function () {\n function Ct(e, t, i) {\n _classCallCheck(this, Ct);\n this._fileAttachmentsTypes = [], this.elementRef = this.createAttachmentContainer();\n var n = _typeof(i) == \"object\" && !!i.displayFileAttachmentContainer;\n this.toggleContainerDisplay(n), e.appendChild(this.elementRef), t && Object.assign(this.elementRef.style, t);\n }\n // prettier-ignore\n _createClass(Ct, [{\n key: \"addType\",\n value: function addType(e, t, i) {\n var n = oa.create(e, t, this.toggleContainerDisplay.bind(this), this.elementRef, i);\n return this._fileAttachmentsTypes.push(n), n;\n }\n }, {\n key: \"createAttachmentContainer\",\n value: function createAttachmentContainer() {\n var e = document.createElement(\"div\");\n return e.id = \"file-attachment-container\", e;\n }\n }, {\n key: \"toggleContainerDisplay\",\n value: function toggleContainerDisplay(e) {\n e ? this.elementRef.style.display = \"block\" : this.elementRef.children.length === 0 && (this.elementRef.style.display = \"none\");\n }\n }, {\n key: \"getAllFileData\",\n value: function getAllFileData() {\n var e = this._fileAttachmentsTypes.map(function (t) {\n return t.getFiles();\n }).flat();\n return e.length > 0 ? e : void 0;\n }\n }, {\n key: \"completePlaceholders\",\n value: function () {\n var _completePlaceholders = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee101() {\n return _regeneratorRuntime().wrap(function _callee101$(_context101) {\n while (1) switch (_context101.prev = _context101.next) {\n case 0:\n _context101.next = 2;\n return Promise.all(this._fileAttachmentsTypes.map( /*#__PURE__*/function () {\n var _ref14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee100(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee100$(_context100) {\n while (1) switch (_context100.prev = _context100.next) {\n case 0:\n return _context100.abrupt(\"return\", (t = e.stopPlaceholderCallback) == null ? void 0 : t.call(e));\n case 1:\n case \"end\":\n return _context100.stop();\n }\n }, _callee100);\n }));\n return function (_x182) {\n return _ref14.apply(this, arguments);\n };\n }()));\n case 2:\n case \"end\":\n return _context101.stop();\n }\n }, _callee101, this);\n }));\n function completePlaceholders() {\n return _completePlaceholders.apply(this, arguments);\n }\n return completePlaceholders;\n }()\n }, {\n key: \"addFilesToAnyType\",\n value: function addFilesToAnyType(e) {\n Ct.addFilesToType(e, this._fileAttachmentsTypes);\n }\n }, {\n key: \"removeAllFiles\",\n value: function removeAllFiles() {\n this._fileAttachmentsTypes.forEach(function (e) {\n return e.removeAllAttachments();\n }), this.elementRef.replaceChildren(), this.toggleContainerDisplay(!1);\n }\n }, {\n key: \"getNumberOfTypes\",\n value: function getNumberOfTypes() {\n return this._fileAttachmentsTypes.length;\n }\n }], [{\n key: \"addFilesToType\",\n value: function addFilesToType(e, t) {\n e.forEach(function (i) {\n var n = new FileReader();\n n.readAsDataURL(i), n.onload = function (r) {\n for (var o = 0; o < t.length && !t[o].attemptAddFile(i, r.target.result); o += 1);\n };\n });\n }\n }]);\n return Ct;\n}();\nvar ys = /*#__PURE__*/function () {\n function de(e, t, i) {\n _classCallCheck(this, de);\n this._isOpen = !1, this._contentRef = de.createModalContent(t, i == null ? void 0 : i.backgroundColor), this._buttonPanel = de.createButtonPanel(i == null ? void 0 : i.backgroundColor), this._elementRef = de.createContainer(this._contentRef, i), this._elementRef.appendChild(this._buttonPanel), e.appendChild(this._elementRef), this._backgroundPanelRef = de.createDarkBackgroundPanel(), e.appendChild(this._backgroundPanelRef), this.addWindowEvents(e);\n }\n _createClass(de, [{\n key: \"isOpen\",\n value: function isOpen() {\n return this._isOpen;\n }\n }, {\n key: \"addButtons\",\n value: function addButtons() {\n var _this52 = this;\n for (var _len2 = arguments.length, e = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n e[_key2] = arguments[_key2];\n }\n e.forEach(function (t) {\n return _this52._buttonPanel.appendChild(t);\n });\n }\n }, {\n key: \"close\",\n value: function close() {\n var _this53 = this;\n this._elementRef.classList.remove(\"show-modal\"), this._elementRef.classList.add(\"hide-modal\"), this._backgroundPanelRef.classList.remove(\"show-modal-background\"), this._backgroundPanelRef.classList.add(\"hide-modal-background\"), this._isOpen = !1, setTimeout(function () {\n _this53._elementRef.style.display = \"none\", _this53._backgroundPanelRef.style.display = \"none\";\n }, de.MODAL_CLOSE_TIMEOUT_MS);\n }\n }, {\n key: \"displayModalElements\",\n value: function displayModalElements() {\n this._elementRef.style.display = \"flex\", this._elementRef.classList.remove(\"hide-modal\"), this._elementRef.classList.add(\"show-modal\"), this._backgroundPanelRef.style.display = \"block\", this._backgroundPanelRef.classList.remove(\"hide-modal-background\"), this._backgroundPanelRef.classList.add(\"show-modal-background\"), this._isOpen = !0;\n }\n }, {\n key: \"openTextModal\",\n value: function openTextModal(e) {\n this._contentRef.innerHTML = e, this.displayModalElements();\n }\n }, {\n key: \"addCloseButton\",\n value: function addCloseButton(e, t, i) {\n var _this54 = this;\n var n = t ? de.createSVGButton(e) : de.createTextButton(e);\n return this.addButtons(n), n.onclick = function () {\n _this54.close(), setTimeout(function () {\n i == null || i();\n }, 140);\n }, n;\n }\n }, {\n key: \"addWindowEvents\",\n value: function addWindowEvents(e) {\n this.keyDownEvent = this.windowKeyDown.bind(this, e), window.addEventListener(\"keydown\", this.keyDownEvent);\n }\n }, {\n key: \"windowKeyDown\",\n value: function windowKeyDown(e, t) {\n var i, n;\n !e.isConnected && this.keyDownEvent ? window.removeEventListener(\"keydown\", this.keyDownEvent) : this._isOpen && (t.key === R.ESCAPE ? (this.close(), (i = this.extensionCloseCallback) == null || i.call(this)) : t.key === R.ENTER && (this.close(), (n = this.extensionCloseCallback) == null || n.call(this)));\n }\n }], [{\n key: \"createContainer\",\n value: function createContainer(e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(\"modal\"), i.appendChild(e), t && delete t.backgroundColor, Object.assign(i.style, t), i;\n }\n }, {\n key: \"createModalContent\",\n value: function createModalContent(e, t) {\n var _i$classList;\n var i = document.createElement(\"div\");\n return (_i$classList = i.classList).add.apply(_i$classList, _toConsumableArray(e)), t && (i.style.backgroundColor = t), document.createElement(\"div\").appendChild(i), i;\n }\n }, {\n key: \"createButtonPanel\",\n value: function createButtonPanel(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"modal-button-panel\"), e && (t.style.backgroundColor = e), t;\n }\n }, {\n key: \"createDarkBackgroundPanel\",\n value: function createDarkBackgroundPanel() {\n var e = document.createElement(\"div\");\n return e.id = \"modal-background-panel\", e;\n }\n }, {\n key: \"createTextButton\",\n value: function createTextButton(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"modal-button\"), t.textContent = e, t;\n }\n }, {\n key: \"createSVGButton\",\n value: function createSVGButton(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"modal-button\", \"modal-svg-button\");\n var i = V.createSVGElement(e);\n return i.classList.add(\"modal-svg-button-icon\"), t.appendChild(i), t;\n }\n }, {\n key: \"createTextModalFunc\",\n value: function createTextModalFunc(e, t, i) {\n var n;\n if (_typeof(t) == \"object\" && (n = t.files) != null && n.infoModal) {\n var r = new de(e, [\"modal-content\"], t.files.infoModal.containerStyle);\n return r.addCloseButton(\"OK\", !1, i), r.openTextModal.bind(r, t.infoModalTextMarkUp || \"\");\n }\n }\n }]);\n return de;\n}();\nys.MODAL_CLOSE_TIMEOUT_MS = 190;\nvar ct = ys;\nvar pt = /*#__PURE__*/function (_Tt2) {\n _inherits(pt, _Tt2);\n // prettier-ignore\n function pt(e, t, i, n, r, o) {\n var _this55;\n _classCallCheck(this, pt);\n var l, c, d, u, h, p;\n _this55 = _callSuper(this, pt, [pt.createButtonElement(), (l = i.button) == null ? void 0 : l.position, i.button, o]);\n var a = _this55.createInnerElements(n, r, _this55._customStyles);\n _this55._inputElement = pt.createInputElement((c = i == null ? void 0 : i.files) == null ? void 0 : c.acceptedFormats), _this55.addClickEvent(e, i), _this55.elementRef.replaceChildren(a.styles), _this55.reapplyStateStyle(\"styles\"), _this55._fileAttachmentsType = t, _this55._openModalOnce = ((u = (d = i.files) == null ? void 0 : d.infoModal) == null ? void 0 : u.openModalOnce) === !1 || (p = (h = i.files) == null ? void 0 : h.infoModal) == null ? void 0 : p.openModalOnce;\n return _this55;\n }\n _createClass(pt, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e, t, i) {\n var n = pt.createSVGIconElement(e, t);\n return {\n styles: this.createInnerElement(n, \"styles\", i)\n };\n }\n }, {\n key: \"triggerImportPrompt\",\n value: function triggerImportPrompt(e) {\n e.onchange = this[\"import\"].bind(this, e), e.click();\n }\n }, {\n key: \"import\",\n value: function _import(e) {\n Ct.addFilesToType(Array.from(e.files || []), [this._fileAttachmentsType]), e.value = \"\";\n }\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return j.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"addClickEvent\",\n value: function addClickEvent(e, t) {\n var i = this.triggerImportPrompt.bind(this, this._inputElement),\n n = ct.createTextModalFunc(e, t, i);\n this.elementRef.onclick = this.click.bind(this, n);\n }\n }, {\n key: \"click\",\n value: function click(e) {\n e && (this._openModalOnce === void 0 || this._openModalOnce === !0) ? (e(), this._openModalOnce === !0 && (this._openModalOnce = !1)) : this.triggerImportPrompt(this._inputElement);\n }\n }], [{\n key: \"createInputElement\",\n value: function createInputElement(e) {\n var t = document.createElement(\"input\");\n return t.type = \"file\", t.accept = e || \"\", t.hidden = !0, t.multiple = !0, t;\n }\n }, {\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\", \"upload-file-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement(e, t) {\n var i = V.createSVGElement(t);\n return i.id = e, i;\n }\n }]);\n return pt;\n}(Tt);\nvar ue = /*#__PURE__*/function () {\n function ue() {\n _classCallCheck(this, ue);\n }\n _createClass(ue, null, [{\n key: \"create\",\n value: function create(e, t, i) {\n var n = ue.createElement(i);\n ue.addEvents(n, e, t), e.appendChild(n);\n }\n }, {\n key: \"createElement\",\n value: function createElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"drag-and-drop\", _typeof(e) == \"object\" && Object.assign(t.style, e), t;\n }\n }, {\n key: \"addEvents\",\n value: function addEvents(e, t, i) {\n t.ondragenter = function (n) {\n n.preventDefault(), ue.display(e);\n }, e.ondragleave = function (n) {\n n.preventDefault(), ue.hide(e);\n }, e.ondragover = function (n) {\n n.preventDefault();\n }, e.ondrop = function (n) {\n n.preventDefault(), ue.uploadFile(i, n), ue.hide(e);\n };\n }\n }, {\n key: \"uploadFile\",\n value: function uploadFile(e, t) {\n var n;\n var i = (n = t.dataTransfer) == null ? void 0 : n.files;\n i && e.addFilesToAnyType(Array.from(i));\n }\n }, {\n key: \"display\",\n value: function display(e) {\n e.style.display = \"block\";\n }\n }, {\n key: \"hide\",\n value: function hide(e) {\n e.style.display = \"none\";\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(e, t) {\n return t !== void 0 && t === !1 ? !1 : !!t || e.getNumberOfTypes() > 0;\n }\n }]);\n return ue;\n}();\nvar ke = /*#__PURE__*/function () {\n function ke() {\n _classCallCheck(this, ke);\n }\n _createClass(ke, null, [{\n key: \"validate\",\n value:\n // prettier-ignore\n function validate(e, t, i, n, r) {\n var o = e(i, n, r);\n return o ? t.changeToSubmitIcon() : t.changeToDisabledIcon(), o;\n }\n // prettier-ignore\n }, {\n key: \"useValidationFunc\",\n value: function () {\n var _useValidationFunc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee102(e, t, i, n) {\n var r, o, a, l;\n return _regeneratorRuntime().wrap(function _callee102$(_context102) {\n while (1) switch (_context102.prev = _context102.next) {\n case 0:\n r = t.inputElementRef, o = r.classList.contains(\"text-input-placeholder\") ? \"\" : r.textContent;\n _context102.next = 3;\n return i.completePlaceholders();\n case 3:\n a = i.getAllFileData(), l = a == null ? void 0 : a.map(function (c) {\n return c.file;\n });\n return _context102.abrupt(\"return\", ke.validate(e, n, o, l));\n case 5:\n case \"end\":\n return _context102.stop();\n }\n }, _callee102);\n }));\n function useValidationFunc(_x183, _x184, _x185, _x186) {\n return _useValidationFunc.apply(this, arguments);\n }\n return useValidationFunc;\n }() // prettier-ignore\n }, {\n key: \"useValidationFuncProgrammatic\",\n value: function () {\n var _useValidationFuncProgrammatic = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee103(e, t, i) {\n var r, n;\n return _regeneratorRuntime().wrap(function _callee103$(_context103) {\n while (1) switch (_context103.prev = _context103.next) {\n case 0:\n n = (r = t.files) == null ? void 0 : r.map(function (o) {\n return o.file;\n });\n return _context103.abrupt(\"return\", ke.validate(e, i, t.text, n, !0));\n case 2:\n case \"end\":\n return _context103.stop();\n }\n }, _callee103);\n }));\n function useValidationFuncProgrammatic(_x187, _x188, _x189) {\n return _useValidationFuncProgrammatic.apply(this, arguments);\n }\n return useValidationFuncProgrammatic;\n }()\n }, {\n key: \"validateWebsocket\",\n value: function validateWebsocket(e, t) {\n return e.websocket && !B.canSendMessage(e.websocket) ? (t.changeToDisabledIcon(), !1) : !0;\n }\n // prettier-ignore\n }, {\n key: \"attach\",\n value: function attach(e, t, i, n, r) {\n var o = e.validateInput || Re.processValidateInput(e);\n e._validationHandler = /*#__PURE__*/function () {\n var _ref15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee104(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee104$(_context104) {\n while (1) switch (_context104.prev = _context104.next) {\n case 0:\n if (!(r.status.loadingActive || r.status.requestInProgress || t.isSubmitProgrammaticallyDisabled === !0 || !ke.validateWebsocket(t, r))) {\n _context104.next = 2;\n break;\n }\n return _context104.abrupt(\"return\", !1);\n case 2:\n l = o || t.canSendMessage;\n return _context104.abrupt(\"return\", l ? a ? ke.useValidationFuncProgrammatic(l, a, r) : ke.useValidationFunc(l, i, n, r) : null);\n case 4:\n case \"end\":\n return _context104.stop();\n }\n }, _callee104);\n }));\n return function (_x190) {\n return _ref15.apply(this, arguments);\n };\n }();\n }\n }]);\n return ke;\n}();\nvar aa = \"<?xml version=\\\"1.0\\\" encoding=\\\"iso-8859-1\\\"?>\\n<svg height=\\\"1.4em\\\" width=\\\"1.4em\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\\n\\t viewBox=\\\"0 0 490.9 490.9\\\" xml:space=\\\"preserve\\\">\\n\\t<g>\\n\\t\\t<g>\\n\\t\\t\\t<path d=\\\"M245.5,322.9c53,0,96.2-43.2,96.2-96.2V96.2c0-53-43.2-96.2-96.2-96.2s-96.2,43.2-96.2,96.2v130.5\\n\\t\\t\\t\\tC149.3,279.8,192.5,322.9,245.5,322.9z M173.8,96.2c0-39.5,32.2-71.7,71.7-71.7s71.7,32.2,71.7,71.7v130.5\\n\\t\\t\\t\\tc0,39.5-32.2,71.7-71.7,71.7s-71.7-32.2-71.7-71.7V96.2z\\\"/>\\n\\t\\t\\t<path d=\\\"M94.4,214.5c-6.8,0-12.3,5.5-12.3,12.3c0,85.9,66.7,156.6,151.1,162.8v76.7h-63.9c-6.8,0-12.3,5.5-12.3,12.3\\n\\t\\t\\t\\ts5.5,12.3,12.3,12.3h152.3c6.8,0,12.3-5.5,12.3-12.3s-5.5-12.3-12.3-12.3h-63.9v-76.7c84.4-6.3,151.1-76.9,151.1-162.8\\n\\t\\t\\t\\tc0-6.8-5.5-12.3-12.3-12.3s-12.3,5.5-12.3,12.3c0,76.6-62.3,138.9-138.9,138.9s-138.9-62.3-138.9-138.9\\n\\t\\t\\t\\tC106.6,220,101.2,214.5,94.4,214.5z\\\"/>\\n\\t\\t</g>\\n\\t</g>\\n</svg>\\n\";\nvar xt = /*#__PURE__*/function (_Tt3) {\n _inherits(xt, _Tt3);\n function xt(e) {\n var _this56;\n _classCallCheck(this, xt);\n (e == null ? void 0 : e.position) === \"dropup-menu\" && (e.position = \"outside-right\"), _this56 = _callSuper(this, xt, [xt.createMicrophoneElement(), e == null ? void 0 : e.position, e]), _this56.isActive = !1, _this56._innerElements = _this56.createInnerElements(_this56._customStyles), _this56.changeToDefault();\n return _this56;\n }\n _createClass(xt, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n var t = xt.createSVGIconElement();\n return {\n \"default\": this.createInnerElement(t, \"default\", e),\n active: this.createInnerElement(t, \"active\", e),\n unsupported: this.createInnerElement(t, \"unsupported\", e),\n commandMode: this.createInnerElement(t, \"commandMode\", e)\n };\n }\n // prettier-ignore\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return j.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"changeToActive\",\n value: function changeToActive() {\n this.elementRef.replaceChildren(this._innerElements.active), this.toggleIconFilter(\"active\"), this.reapplyStateStyle(\"active\", [\"default\", \"commandMode\"]), this.isActive = !0;\n }\n }, {\n key: \"changeToDefault\",\n value: function changeToDefault() {\n this.elementRef.replaceChildren(this._innerElements[\"default\"]), this.toggleIconFilter(\"default\"), this.reapplyStateStyle(\"default\", [\"active\", \"commandMode\"]), this.isActive = !1;\n }\n }, {\n key: \"changeToCommandMode\",\n value: function changeToCommandMode() {\n this.elementRef.replaceChildren(this._innerElements.unsupported), this.toggleIconFilter(\"command\"), this.reapplyStateStyle(\"commandMode\", [\"active\"]);\n }\n }, {\n key: \"changeToUnsupported\",\n value: function changeToUnsupported() {\n this.elementRef.replaceChildren(this._innerElements.unsupported), this.elementRef.classList.add(\"unsupported-microphone\"), this.reapplyStateStyle(\"unsupported\", [\"active\"]);\n }\n }, {\n key: \"toggleIconFilter\",\n value: function toggleIconFilter(e) {\n var t = this.elementRef.children[0];\n if (t.tagName.toLocaleLowerCase() === \"svg\") switch (e) {\n case \"default\":\n t.classList.remove(\"active-microphone-icon\", \"command-microphone-icon\"), t.classList.add(\"default-microphone-icon\");\n break;\n case \"active\":\n t.classList.remove(\"default-microphone-icon\", \"command-microphone-icon\"), t.classList.add(\"active-microphone-icon\");\n break;\n case \"command\":\n t.classList.remove(\"active-microphone-icon\", \"default-microphone-icon\"), t.classList.add(\"command-microphone-icon\");\n break;\n }\n }\n }], [{\n key: \"createMicrophoneElement\",\n value: function createMicrophoneElement() {\n var e = document.createElement(\"div\");\n return e.id = \"microphone-button\", e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement() {\n var e = V.createSVGElement(aa);\n return e.id = \"microphone-icon\", e;\n }\n }]);\n return xt;\n}(Tt);\nvar xs = {},\n di = {},\n ui = {},\n At = {},\n ze = {};\nObject.defineProperty(ze, \"__esModule\", {\n value: !0\n});\nze.Text = void 0;\nvar _e = /*#__PURE__*/function () {\n function _e() {\n _classCallCheck(this, _e);\n }\n _createClass(_e, null, [{\n key: \"capitalize\",\n value: function capitalize(e) {\n return e.replace(_e.FIRST_CHAR_REGEX, function (t) {\n return t.toUpperCase();\n });\n }\n }, {\n key: \"lineBreak\",\n value: function lineBreak(e) {\n return e.replace(_e.DOUBLE_LINE, \"<p></p>\").replace(_e.ONE_LINE, \"<br>\");\n }\n }, {\n key: \"isCharDefined\",\n value: function isCharDefined(e) {\n return e !== void 0 && e !== \" \" && e !== \" \" && e !== \"\\n\" && e !== \"\";\n }\n // WORK - can optimize to not not have to do it multiple times\n }, {\n key: \"breakupIntoWordsArr\",\n value: function breakupIntoWordsArr(e) {\n return e.split(/(\\W+)/);\n }\n }]);\n return _e;\n}();\nze.Text = _e;\n_e.FIRST_CHAR_REGEX = /\\S/;\n_e.DOUBLE_LINE = /\\n\\n/g;\n_e.ONE_LINE = /\\n/g;\nObject.defineProperty(At, \"__esModule\", {\n value: !0\n});\nAt.Translate = void 0;\nvar la = ze;\nvar ca = /*#__PURE__*/function () {\n function ca() {\n _classCallCheck(this, ca);\n }\n _createClass(ca, null, [{\n key: \"translate\",\n value: function translate(e, t) {\n var i = la.Text.breakupIntoWordsArr(e);\n for (var n = 0; n < i.length; n += 1) t[i[n]] && (i[n] = t[i[n]]);\n return i.join(\"\");\n }\n }]);\n return ca;\n}();\nAt.Translate = ca;\nObject.defineProperty(ui, \"__esModule\", {\n value: !0\n});\nui.WebSpeechTranscript = void 0;\nvar Cn = At;\nvar da = /*#__PURE__*/function () {\n function da() {\n _classCallCheck(this, da);\n }\n _createClass(da, null, [{\n key: \"extract\",\n value: function extract(e, t, i) {\n var n = \"\";\n for (var r = e.resultIndex; r < e.results.length; ++r) {\n var o = e.results[r][0].transcript;\n i && (o = Cn.Translate.translate(o, i)), e.results[r].isFinal ? t += o : n += o;\n }\n return {\n interimTranscript: n,\n finalTranscript: t,\n newText: n || t\n };\n }\n }, {\n key: \"extractSafari\",\n value: function extractSafari(e, t, i) {\n var n = \"\";\n var r = \"\";\n for (var o = e.resultIndex; o < e.results.length; ++o) {\n var a = e.results[o][0].transcript;\n i && (a = Cn.Translate.translate(a, i)), n += a;\n }\n return {\n interimTranscript: r,\n finalTranscript: n,\n newText: r || n\n };\n }\n }]);\n return da;\n}();\nui.WebSpeechTranscript = da;\nvar nt = {};\nObject.defineProperty(nt, \"__esModule\", {\n value: !0\n});\nnt.Browser = void 0;\nvar dt = /*#__PURE__*/_createClass(function dt() {\n _classCallCheck(this, dt);\n});\nnt.Browser = dt;\ndt.IS_SAFARI = function () {\n return dt._IS_SAFARI === void 0 && (dt._IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent)), dt._IS_SAFARI;\n};\nvar kt = {},\n hi = {};\nObject.defineProperty(hi, \"__esModule\", {\n value: !0\n});\nhi.EventListeners = void 0;\nvar Y = /*#__PURE__*/function () {\n function Y() {\n _classCallCheck(this, Y);\n }\n _createClass(Y, null, [{\n key: \"getElementIfFocusedOnAvailable\",\n value: function getElementIfFocusedOnAvailable(e, t) {\n return Array.isArray(e) ? e.find(function (i) {\n return t === i;\n }) : t === e ? e : void 0;\n }\n }, {\n key: \"keyDownWindow\",\n value: function keyDownWindow(e) {\n var _this57 = this;\n e.element && Y.getElementIfFocusedOnAvailable(e.element, document.activeElement) && (Y.KEY_DOWN_TIMEOUT !== null && clearTimeout(Y.KEY_DOWN_TIMEOUT), Y.KEY_DOWN_TIMEOUT = setTimeout(function () {\n Y.KEY_DOWN_TIMEOUT = null, _this57.resetRecording(e);\n }, 500));\n }\n }, {\n key: \"mouseDownWindow\",\n value: function mouseDownWindow(e, t) {\n this.mouseDownElement = Y.getElementIfFocusedOnAvailable(e, t.target);\n }\n }, {\n key: \"mouseUpWindow\",\n value: function mouseUpWindow(e) {\n this.mouseDownElement && this.resetRecording(e), this.mouseDownElement = void 0;\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n var i = (t == null ? void 0 : t.insertInCursorLocation) === void 0 || (t == null ? void 0 : t.insertInCursorLocation);\n t != null && t.element && i && (e.mouseDownEvent = Y.mouseDownWindow.bind(e, t.element), document.addEventListener(\"mousedown\", e.mouseDownEvent), e.mouseUpEvent = Y.mouseUpWindow.bind(e, t), document.addEventListener(\"mouseup\", e.mouseUpEvent), e.keyDownEvent = Y.keyDownWindow.bind(e, t), document.addEventListener(\"keydown\", e.keyDownEvent));\n }\n }, {\n key: \"remove\",\n value: function remove(e) {\n document.removeEventListener(\"mousedown\", e.mouseDownEvent), document.removeEventListener(\"mouseup\", e.mouseUpEvent), document.removeEventListener(\"keydown\", e.keyDownEvent);\n }\n }]);\n return Y;\n}();\nhi.EventListeners = Y;\nY.KEY_DOWN_TIMEOUT = null;\nvar pi = {};\nObject.defineProperty(pi, \"__esModule\", {\n value: !0\n});\npi.PreResultUtils = void 0;\nvar ua = /*#__PURE__*/function () {\n function ua() {\n _classCallCheck(this, ua);\n }\n _createClass(ua, null, [{\n key: \"process\",\n value: function process(e, t, i, n, r) {\n var o = n == null ? void 0 : n(t, i);\n return o ? (setTimeout(function () {\n o.restart ? e.resetRecording(r) : o.stop && e.stop();\n }), (o.stop || o.restart) && o.removeNewText) : !1;\n }\n }]);\n return ua;\n}();\npi.PreResultUtils = ua;\nvar It = {},\n Lt = {};\nObject.defineProperty(Lt, \"__esModule\", {\n value: !0\n});\nLt.AutoScroll = void 0;\nvar sn = /*#__PURE__*/function () {\n function sn() {\n _classCallCheck(this, sn);\n }\n _createClass(sn, null, [{\n key: \"changeStateIfNeeded\",\n value: function changeStateIfNeeded(e, t) {\n t && !e.isCursorAtEnd && (e.endPadding = \"\", e.scrollingSpan.innerHTML = \"&nbsp;\");\n }\n }, {\n key: \"scrollGeneric\",\n value: function scrollGeneric(e, t) {\n e.isCursorAtEnd ? t.scrollTop = t.scrollHeight : e.scrollingSpan.scrollIntoView({\n block: \"nearest\"\n });\n }\n // primitives don't need to be scrolled except in safari\n // they can only safely be scrolled to the end\n }, {\n key: \"scrollSafariPrimitiveToEnd\",\n value: function scrollSafariPrimitiveToEnd(e) {\n e.scrollLeft = e.scrollWidth, e.scrollTop = e.scrollHeight;\n }\n }, {\n key: \"isElementOverflown\",\n value: function isElementOverflown(e) {\n return e.scrollHeight > e.clientHeight || e.scrollWidth > e.clientWidth;\n }\n }, {\n key: \"isRequired\",\n value: function isRequired(e, t) {\n return e && sn.isElementOverflown(t);\n }\n }]);\n return sn;\n}();\nLt.AutoScroll = sn;\nvar Ue = {};\nObject.defineProperty(Ue, \"__esModule\", {\n value: !0\n});\nUe.Elements = void 0;\nvar ha = /*#__PURE__*/function () {\n function ha() {\n _classCallCheck(this, ha);\n }\n _createClass(ha, null, [{\n key: \"isPrimitiveElement\",\n value: function isPrimitiveElement(e) {\n return e.tagName === \"INPUT\" || e.tagName === \"TEXTAREA\";\n }\n }, {\n key: \"createInterimSpan\",\n value: function createInterimSpan() {\n var e = document.createElement(\"span\");\n return e.style.color = \"grey\", e.style.pointerEvents = \"none\", e;\n }\n }, {\n key: \"createGenericSpan\",\n value: function createGenericSpan() {\n var e = document.createElement(\"span\");\n return e.style.pointerEvents = \"none\", e;\n }\n }, {\n key: \"appendSpans\",\n value: function appendSpans(e, t) {\n if (e.spansPopulated = !0, e.insertInCursorLocation && document.activeElement === t) {\n var _i17 = window.getSelection();\n if (_i17 != null && _i17.focusNode) {\n var n = _i17.getRangeAt(0);\n n.insertNode(e.scrollingSpan), n.insertNode(e.interimSpan), n.insertNode(e.finalSpan), n.collapse(!1), _i17.removeAllRanges(), _i17.addRange(n);\n return;\n }\n }\n t.appendChild(e.finalSpan), t.appendChild(e.interimSpan), t.appendChild(e.scrollingSpan);\n }\n }, {\n key: \"applyCustomColors\",\n value: function applyCustomColors(e, t) {\n t.interim && (e.interimSpan.style.color = t.interim), t[\"final\"] && (e.finalSpan.style.color = t[\"final\"]);\n }\n }, {\n key: \"isInsideShadowDOM\",\n value: function isInsideShadowDOM(e) {\n return e.getRootNode() instanceof ShadowRoot;\n }\n }]);\n return ha;\n}();\nUe.Elements = ha;\nvar qe = {};\nObject.defineProperty(qe, \"__esModule\", {\n value: !0\n});\nqe.Cursor = void 0;\nvar ft = /*#__PURE__*/function () {\n function ft() {\n _classCallCheck(this, ft);\n }\n _createClass(ft, null, [{\n key: \"setOffsetForGeneric\",\n value: function setOffsetForGeneric(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var n = 0;\n for (var r = 0; r < e.childNodes.length; r += 1) {\n var o = e.childNodes[r];\n if (o.childNodes.length > 0) {\n var a = ft.setOffsetForGeneric(o, t, i);\n if (a === -1) return -1;\n i += a;\n } else if (o.textContent !== null) {\n if (i + o.textContent.length > t) {\n var _a2 = document.createRange();\n _a2.setStart(o, t - i), _a2.collapse(!0);\n var l = window.getSelection();\n return l == null || l.removeAllRanges(), l == null || l.addRange(_a2), e.focus(), -1;\n }\n i += o.textContent.length, n += o.textContent.length;\n }\n }\n return n;\n }\n }, {\n key: \"focusEndOfGeneric\",\n value: function focusEndOfGeneric(e) {\n var t = document.createRange();\n t.selectNodeContents(e), t.collapse(!1);\n var i = window.getSelection();\n i && (i.removeAllRanges(), i.addRange(t));\n }\n }, {\n key: \"setOffsetForSafariGeneric\",\n value: function setOffsetForSafariGeneric(e, t) {\n var i = window.getSelection();\n if (i) {\n var n = ft.getGenericElementCursorOffset(e, i, !0);\n console.log(n), setTimeout(function () {}, 100), ft.setOffsetForGeneric(e, n + t);\n }\n }\n // set to automatically scroll to cursor (scroll does not work in Safari)\n }, {\n key: \"setOffsetForPrimitive\",\n value: function setOffsetForPrimitive(e, t, i) {\n i && e.blur(), e.setSelectionRange(t, t), e.focus();\n }\n // Scroll Input in Safari - does not work for TextArea and uses span which can have a different style\n // private static getCursorOffsetFromLeft(inputElement: HTMLInputElement, position: number) {\n // // Get the value of the input element up to the cursor position\n // const valueUpToCursor = inputElement.value.substring(0, position);\n // // Create a temporary span element to measure the width of the text\n // const tempSpan = document.createElement('span');\n // tempSpan.textContent = valueUpToCursor;\n // tempSpan.style.visibility = 'hidden';\n // tempSpan.style.position = 'absolute';\n // document.body.appendChild(tempSpan);\n // // Measure the width of the text up to the cursor position\n // const offsetWidth = tempSpan.offsetWidth;\n // const offsetHeight = tempSpan.offsetHeight;\n // // Clean up the temporary span element\n // document.body.removeChild(tempSpan);\n // return {left: offsetWidth, top: offsetHeight};\n // }\n }, {\n key: \"getGenericElementCursorOffset\",\n value: function getGenericElementCursorOffset(e, t, i) {\n var n = 0;\n if (t.rangeCount > 0) {\n var r = t.getRangeAt(0),\n o = r.cloneRange();\n o.selectNodeContents(e), i ? o.setEnd(r.startContainer, r.startOffset) : o.setEnd(r.endContainer, r.endOffset), n = o.toString().length;\n }\n return n;\n }\n }]);\n return ft;\n}();\nqe.Cursor = ft;\nObject.defineProperty(It, \"__esModule\", {\n value: !0\n});\nIt.CommandUtils = void 0;\nvar An = Lt,\n pa = Ue,\n fa = nt,\n kn = qe,\n In = ze;\nvar K = /*#__PURE__*/function () {\n function K() {\n _classCallCheck(this, K);\n }\n _createClass(K, null, [{\n key: \"processCommand\",\n value: function processCommand(e, t) {\n return (!t || !t.caseSensitive) && (e = e.toLowerCase()), (t == null ? void 0 : t.substrings) === !1 ? In.Text.breakupIntoWordsArr(e) : e;\n }\n }, {\n key: \"process\",\n value: function process(e) {\n var t;\n return ((t = e.settings) === null || t === void 0 ? void 0 : t.caseSensitive) === !0 ? e : Object.keys(e).reduce(function (n, r) {\n var o = e[r];\n return n[r] = typeof o == \"string\" ? K.processCommand(o, e.settings) : o, n;\n }, {});\n }\n }, {\n key: \"toggleCommandModeOn\",\n value: function toggleCommandModeOn(e) {\n var t;\n e.isWaitingForCommand = !0, (t = e.onCommandModeTrigger) === null || t === void 0 || t.call(e, !0);\n }\n }, {\n key: \"toggleCommandModeOff\",\n value: function toggleCommandModeOff(e) {\n var t;\n e.isWaitingForCommand && ((t = e.onCommandModeTrigger) === null || t === void 0 || t.call(e, !1), e.isWaitingForCommand = !1);\n }\n }, {\n key: \"setText\",\n value: function setText(e, t, i, n) {\n K.toggleCommandModeOff(e), pa.Elements.isPrimitiveElement(n) ? (n.value = i, e.isTargetInShadow || kn.Cursor.setOffsetForPrimitive(n, i.length, !0), fa.Browser.IS_SAFARI() && e.autoScroll && An.AutoScroll.scrollSafariPrimitiveToEnd(n)) : (n.textContent = i, e.isTargetInShadow || kn.Cursor.focusEndOfGeneric(n), setTimeout(function () {\n return An.AutoScroll.scrollGeneric(e, n);\n })), e.resetRecording(t);\n }\n }, {\n key: \"checkIfMatchesSubstring\",\n value: function checkIfMatchesSubstring(e, t) {\n return t.includes(e);\n }\n }, {\n key: \"checkIfMatchesWord\",\n value: function checkIfMatchesWord(e, t, i) {\n var n = e;\n for (var r = i.length - 1; r >= 0; r -= 1) {\n var o = r,\n a = n.length - 1;\n for (; i[o] === n[a] && a >= 0;) o -= 1, a -= 1;\n if (a < 0) return !0;\n }\n return !1;\n }\n // prettier-ignore\n }, {\n key: \"execCommand\",\n value: function execCommand(e, t, i, n, r) {\n var o, a, l;\n var c = e.commands;\n if (!c || !n || !i) return;\n var d = ((o = c.settings) === null || o === void 0 ? void 0 : o.caseSensitive) === !0 ? t : t.toLowerCase(),\n u = In.Text.breakupIntoWordsArr(d),\n h = ((a = c.settings) === null || a === void 0 ? void 0 : a.substrings) === !1 ? K.checkIfMatchesWord : K.checkIfMatchesSubstring;\n if (c.commandMode && h(c.commandMode, d, u)) return e.setInterimColorToFinal(), setTimeout(function () {\n return K.toggleCommandModeOn(e);\n }), {\n doNotProcessTranscription: !1\n };\n if (!(c.commandMode && !e.isWaitingForCommand)) {\n if (c.stop && h(c.stop, d, u)) return K.toggleCommandModeOff(e), setTimeout(function () {\n return e.stop();\n }), {\n doNotProcessTranscription: !1\n };\n if (c.pause && h(c.pause, d, u)) return K.toggleCommandModeOff(e), e.setInterimColorToFinal(), setTimeout(function () {\n var p;\n e.isPaused = !0, (p = e.onPauseTrigger) === null || p === void 0 || p.call(e, !0);\n }), {\n doNotProcessTranscription: !1\n };\n if (c.resume && h(c.resume, d, u)) return e.isPaused = !1, (l = e.onPauseTrigger) === null || l === void 0 || l.call(e, !1), K.toggleCommandModeOff(e), e.resetRecording(i), {\n doNotProcessTranscription: !0\n };\n if (c.reset && h(c.reset, d, u)) return r !== void 0 && K.setText(e, i, r, n), {\n doNotProcessTranscription: !0\n };\n if (c.removeAllText && h(c.removeAllText, d, u)) return K.setText(e, i, \"\", n), {\n doNotProcessTranscription: !0\n };\n }\n }\n }]);\n return K;\n}();\nIt.CommandUtils = K;\nvar fi = {};\nObject.defineProperty(fi, \"__esModule\", {\n value: !0\n});\nfi.Highlight = void 0;\nvar ma = Ue,\n st = qe;\nvar Kt = /*#__PURE__*/function () {\n function Kt() {\n _classCallCheck(this, Kt);\n }\n _createClass(Kt, null, [{\n key: \"setStateForPrimitive\",\n value: function setStateForPrimitive(e, t) {\n var i, n;\n t.selectionStart !== null && (i = t.selectionStart), t.selectionEnd !== null && (n = t.selectionEnd), e.isHighlighted = i !== n;\n }\n }, {\n key: \"setStateForGeneric\",\n value: function setStateForGeneric(e, t) {\n var i = window.getSelection();\n if (i != null && i.focusNode) {\n var n = st.Cursor.getGenericElementCursorOffset(t, i, !0),\n r = st.Cursor.getGenericElementCursorOffset(t, i, !1);\n e.isHighlighted = n !== r;\n }\n }\n }, {\n key: \"setState\",\n value: function setState(e, t) {\n document.activeElement === t && (ma.Elements.isPrimitiveElement(t) ? Kt.setStateForPrimitive(e, t) : Kt.setStateForGeneric(e, t));\n }\n }, {\n key: \"removeForGeneric\",\n value: function removeForGeneric(e, t) {\n var i = window.getSelection();\n if (i) {\n var n = st.Cursor.getGenericElementCursorOffset(t, i, !0);\n i.deleteFromDocument(), st.Cursor.setOffsetForGeneric(t, n), e.isHighlighted = !1;\n }\n }\n }, {\n key: \"removeForPrimitive\",\n value: function removeForPrimitive(e, t) {\n var i = t.selectionStart,\n n = t.selectionEnd,\n r = t.value;\n if (i && n) {\n var o = r.substring(0, i) + r.substring(n);\n t.value = o, st.Cursor.setOffsetForPrimitive(t, i, e.autoScroll);\n }\n e.isHighlighted = !1;\n }\n }]);\n return Kt;\n}();\nfi.Highlight = Kt;\nvar mi = {};\nObject.defineProperty(mi, \"__esModule\", {\n value: !0\n});\nmi.Padding = void 0;\nvar ga = Ue,\n Ln = qe,\n Ge = ze;\nvar Yt = /*#__PURE__*/function () {\n function Yt() {\n _classCallCheck(this, Yt);\n }\n _createClass(Yt, null, [{\n key: \"setStateForPrimitiveElement\",\n value: function setStateForPrimitiveElement(e, t) {\n if (document.activeElement === t && t.selectionStart !== null) {\n var n = t.selectionStart,\n r = t.value[n - 1],\n o = t.selectionEnd === null ? n : t.selectionEnd,\n a = t.value[o];\n Ge.Text.isCharDefined(r) && (e.startPadding = \" \", e.numberOfSpacesBeforeNewText = 1), Ge.Text.isCharDefined(a) && (e.endPadding = \" \", e.numberOfSpacesAfterNewText = 1), e.isCursorAtEnd = t.value.length === o;\n return;\n }\n var i = t.value[t.value.length - 1];\n Ge.Text.isCharDefined(i) && (e.startPadding = \" \", e.numberOfSpacesBeforeNewText = 1), e.isCursorAtEnd = !0;\n }\n }, {\n key: \"setStateForGenericElement\",\n value: function setStateForGenericElement(e, t) {\n var i, n, r;\n if (document.activeElement === t) {\n var a = window.getSelection();\n if (a != null && a.focusNode) {\n var l = Ln.Cursor.getGenericElementCursorOffset(t, a, !0),\n c = (i = t.textContent) === null || i === void 0 ? void 0 : i[l - 1],\n d = Ln.Cursor.getGenericElementCursorOffset(t, a, !1),\n u = (n = t.textContent) === null || n === void 0 ? void 0 : n[d];\n Ge.Text.isCharDefined(c) && (e.startPadding = \" \"), Ge.Text.isCharDefined(u) && (e.endPadding = \" \"), e.isCursorAtEnd = ((r = t.textContent) === null || r === void 0 ? void 0 : r.length) === d;\n return;\n }\n }\n var o = t.innerText.charAt(t.innerText.length - 1);\n Ge.Text.isCharDefined(o) && (e.startPadding = \" \"), e.isCursorAtEnd = !0;\n }\n }, {\n key: \"setState\",\n value: function setState(e, t) {\n ga.Elements.isPrimitiveElement(t) ? Yt.setStateForPrimitiveElement(e, t) : Yt.setStateForGenericElement(e, t);\n }\n }, {\n key: \"adjustStateAfterRecodingPrimitiveElement\",\n value: function adjustStateAfterRecodingPrimitiveElement(e, t) {\n if (e.primitiveTextRecorded = !0, e.insertInCursorLocation && document.activeElement === t && (t.selectionEnd !== null && (e.endPadding = e.endPadding + t.value.slice(t.selectionEnd)), t.selectionStart !== null)) {\n e.startPadding = t.value.slice(0, t.selectionStart) + e.startPadding;\n return;\n }\n e.startPadding = t.value + e.startPadding;\n }\n }, {\n key: \"adjustSateForNoTextPrimitiveElement\",\n value: function adjustSateForNoTextPrimitiveElement(e) {\n e.numberOfSpacesBeforeNewText === 1 && (e.startPadding = e.startPadding.substring(0, e.startPadding.length - 1), e.numberOfSpacesBeforeNewText = 0), e.numberOfSpacesAfterNewText === 1 && (e.endPadding = e.endPadding.substring(1), e.numberOfSpacesAfterNewText = 0);\n }\n }]);\n return Yt;\n}();\nmi.Padding = Yt;\nObject.defineProperty(kt, \"__esModule\", {\n value: !0\n});\nkt.Speech = void 0;\nvar Rn = hi,\n ba = pi,\n Nn = It,\n Dt = Lt,\n ki = fi,\n se = Ue,\n Ii = mi,\n On = nt,\n Pn = qe,\n Li = ze;\nvar va = /*#__PURE__*/function () {\n function va() {\n _classCallCheck(this, va);\n this.finalTranscript = \"\", this.interimSpan = se.Elements.createInterimSpan(), this.finalSpan = se.Elements.createGenericSpan(), this.scrollingSpan = se.Elements.createGenericSpan(), this.isCursorAtEnd = !1, this.spansPopulated = !1, this.startPadding = \"\", this.endPadding = \"\", this.numberOfSpacesBeforeNewText = 0, this.numberOfSpacesAfterNewText = 0, this.isHighlighted = !1, this.primitiveTextRecorded = !1, this.recognizing = !1, this._displayInterimResults = !0, this.insertInCursorLocation = !0, this.autoScroll = !0, this.isRestarting = !1, this.isPaused = !1, this.isWaitingForCommand = !1, this.isTargetInShadow = !1, this.cannotBeStopped = !1, this.resetState();\n }\n _createClass(va, [{\n key: \"prepareBeforeStart\",\n value: function prepareBeforeStart(e) {\n var t, i;\n if (e != null && e.element) if (Rn.EventListeners.add(this, e), Array.isArray(e.element)) {\n var r = e.element.find(function (o) {\n return o === document.activeElement;\n }) || e.element[0];\n if (!r) return;\n this.prepare(r);\n } else this.prepare(e.element);\n (e == null ? void 0 : e.displayInterimResults) !== void 0 && (this._displayInterimResults = e.displayInterimResults), e != null && e.textColor && (this._finalTextColor = (t = e == null ? void 0 : e.textColor) === null || t === void 0 ? void 0 : t[\"final\"], se.Elements.applyCustomColors(this, e.textColor)), (e == null ? void 0 : e.insertInCursorLocation) !== void 0 && (this.insertInCursorLocation = e.insertInCursorLocation), (e == null ? void 0 : e.autoScroll) !== void 0 && (this.autoScroll = e.autoScroll), this._onResult = e == null ? void 0 : e.onResult, this._onPreResult = e == null ? void 0 : e.onPreResult, this._onStart = e == null ? void 0 : e.onStart, this._onStop = e == null ? void 0 : e.onStop, this._onError = e == null ? void 0 : e.onError, this.onCommandModeTrigger = e == null ? void 0 : e.onCommandModeTrigger, this.onPauseTrigger = e == null ? void 0 : e.onPauseTrigger, this._options = e, !((i = this._options) === null || i === void 0) && i.commands && (this.commands = Nn.CommandUtils.process(this._options.commands));\n }\n }, {\n key: \"prepare\",\n value: function prepare(e) {\n Ii.Padding.setState(this, e), ki.Highlight.setState(this, e), this.isTargetInShadow = se.Elements.isInsideShadowDOM(e), se.Elements.isPrimitiveElement(e) ? (this._primitiveElement = e, this._originalText = this._primitiveElement.value) : (this._genericElement = e, this._originalText = this._genericElement.textContent);\n }\n // there was an attempt to optimize this by not having to restart the service and just reset state:\n // unfortunately it did not work because the service would still continue firing the intermediate and final results\n // into the new position\n }, {\n key: \"resetRecording\",\n value: function resetRecording(e) {\n this.isRestarting = !0, this.stop(!0), this.resetState(!0), this.start(e, !0);\n }\n // prettier-ignore\n }, {\n key: \"updateElements\",\n value: function updateElements(e, t, i) {\n var n;\n var r = Li.Text.capitalize(t);\n if (this.finalTranscript === r && e === \"\") return;\n ba.PreResultUtils.process(this, i, e === \"\", this._onPreResult, this._options) && (e = \"\", i = \"\");\n var o = this.commands && Nn.CommandUtils.execCommand(this, i, this._options, this._primitiveElement || this._genericElement, this._originalText);\n if (o) {\n if (o.doNotProcessTranscription) return;\n e = \"\", i = \"\";\n }\n if (this.isPaused || this.isWaitingForCommand) return;\n (n = this._onResult) === null || n === void 0 || n.call(this, i, e === \"\"), this.finalTranscript = r, this._displayInterimResults || (e = \"\");\n var a = this.finalTranscript === \"\" && e === \"\";\n this._primitiveElement ? this.updatePrimitiveElement(this._primitiveElement, e, a) : this._genericElement && this.updateGenericElement(this._genericElement, e, a);\n }\n // prettier-ignore\n // remember that padding values here contain actual text left and right\n }, {\n key: \"updatePrimitiveElement\",\n value: function updatePrimitiveElement(e, t, i) {\n this.isHighlighted && ki.Highlight.removeForPrimitive(this, e), this.primitiveTextRecorded || Ii.Padding.adjustStateAfterRecodingPrimitiveElement(this, e), i && Ii.Padding.adjustSateForNoTextPrimitiveElement(this);\n var n = this.startPadding + this.finalTranscript + t;\n if (e.value = n + this.endPadding, !this.isTargetInShadow) {\n var r = n.length + this.numberOfSpacesAfterNewText;\n Pn.Cursor.setOffsetForPrimitive(e, r, this.autoScroll);\n }\n this.autoScroll && On.Browser.IS_SAFARI() && this.isCursorAtEnd && Dt.AutoScroll.scrollSafariPrimitiveToEnd(e);\n }\n }, {\n key: \"updateGenericElement\",\n value: function updateGenericElement(e, t, i) {\n this.isHighlighted && ki.Highlight.removeForGeneric(this, e), this.spansPopulated || se.Elements.appendSpans(this, e);\n var n = (i ? \"\" : this.startPadding) + Li.Text.lineBreak(this.finalTranscript);\n this.finalSpan.innerHTML = n;\n var r = Dt.AutoScroll.isRequired(this.autoScroll, e);\n Dt.AutoScroll.changeStateIfNeeded(this, r);\n var o = Li.Text.lineBreak(t) + (i ? \"\" : this.endPadding);\n this.interimSpan.innerHTML = o, On.Browser.IS_SAFARI() && this.insertInCursorLocation && Pn.Cursor.setOffsetForSafariGeneric(e, n.length + o.length), r && Dt.AutoScroll.scrollGeneric(this, e), i && (this.scrollingSpan.innerHTML = \"\");\n }\n }, {\n key: \"finalise\",\n value: function finalise(e) {\n this._genericElement && (e ? (this.finalSpan = se.Elements.createGenericSpan(), this.setInterimColorToFinal(), this.interimSpan = se.Elements.createInterimSpan(), this.scrollingSpan = se.Elements.createGenericSpan()) : this._genericElement.textContent = this._genericElement.textContent, this.spansPopulated = !1), Rn.EventListeners.remove(this);\n }\n }, {\n key: \"setInterimColorToFinal\",\n value: function setInterimColorToFinal() {\n this.interimSpan.style.color = this._finalTextColor || \"black\";\n }\n }, {\n key: \"resetState\",\n value: function resetState(e) {\n this._primitiveElement = void 0, this._genericElement = void 0, this.finalTranscript = \"\", this.finalSpan.innerHTML = \"\", this.interimSpan.innerHTML = \"\", this.scrollingSpan.innerHTML = \"\", this.startPadding = \"\", this.endPadding = \"\", this.isHighlighted = !1, this.primitiveTextRecorded = !1, this.numberOfSpacesBeforeNewText = 0, this.numberOfSpacesAfterNewText = 0, e || (this.stopTimeout = void 0);\n }\n }, {\n key: \"setStateOnStart\",\n value: function setStateOnStart() {\n var e;\n this.recognizing = !0, this.isRestarting ? this.isRestarting = !1 : (e = this._onStart) === null || e === void 0 || e.call(this);\n }\n }, {\n key: \"setStateOnStop\",\n value: function setStateOnStop() {\n var e;\n this.recognizing = !1, this.isRestarting || (e = this._onStop) === null || e === void 0 || e.call(this);\n }\n }, {\n key: \"setStateOnError\",\n value: function setStateOnError(e) {\n var t;\n (t = this._onError) === null || t === void 0 || t.call(this, e), this.recognizing = !1;\n }\n }]);\n return va;\n}();\nkt.Speech = va;\nObject.defineProperty(di, \"__esModule\", {\n value: !0\n});\ndi.WebSpeech = void 0;\nvar Dn = ui,\n jn = nt,\n ya = kt;\nvar Zt = /*#__PURE__*/function (_ya$Speech) {\n _inherits(Zt, _ya$Speech);\n function Zt() {\n _classCallCheck(this, Zt);\n return _callSuper(this, Zt);\n }\n _createClass(Zt, [{\n key: \"start\",\n value: function start(e) {\n var t;\n this._extractText === void 0 && (this._extractText = jn.Browser.IS_SAFARI() ? Dn.WebSpeechTranscript.extractSafari : Dn.WebSpeechTranscript.extract), this.validate() && (this.prepareBeforeStart(e), this.instantiateService(e), (t = this._service) === null || t === void 0 || t.start(), this._translations = e == null ? void 0 : e.translations);\n }\n }, {\n key: \"validate\",\n value: function validate() {\n return Zt.getAPI() ? !0 : (this.error(\"Speech Recognition is unsupported\"), !1);\n }\n }, {\n key: \"instantiateService\",\n value: function instantiateService(e) {\n var t, i;\n var n = Zt.getAPI();\n this._service = new n(), this._service.continuous = !0, this._service.interimResults = (t = e == null ? void 0 : e.displayInterimResults) !== null && t !== void 0 ? t : !0, this._service.lang = ((i = e == null ? void 0 : e.language) === null || i === void 0 ? void 0 : i.trim()) || \"en-US\", this.setEvents();\n }\n }, {\n key: \"setEvents\",\n value: function setEvents() {\n var _this58 = this;\n this._service && (this._service.onstart = function () {\n _this58.setStateOnStart();\n }, this._service.onerror = function (e) {\n jn.Browser.IS_SAFARI() && e.message === \"Another request is started\" || e.error === \"aborted\" && _this58.isRestarting || e.error !== \"no-speech\" && _this58.error(e.message || e.error);\n }, this._service.onaudioend = function () {\n _this58.setStateOnStop();\n }, this._service.onend = function () {\n _this58._stopping = !1;\n }, this._service.onresult = function (e) {\n if (_typeof(e.results) > \"u\" && _this58._service) _this58._service.onend = null, _this58._service.stop();else if (_this58._extractText && !_this58._stopping) {\n var _this58$_extractText = _this58._extractText(e, _this58.finalTranscript, _this58._translations),\n t = _this58$_extractText.interimTranscript,\n _i18 = _this58$_extractText.finalTranscript,\n n = _this58$_extractText.newText;\n _this58.updateElements(t, _i18, n);\n }\n });\n }\n }, {\n key: \"stop\",\n value: function stop(e) {\n var t;\n this._stopping = !0, (t = this._service) === null || t === void 0 || t.stop(), this.finalise(e);\n }\n }, {\n key: \"error\",\n value: function error(e) {\n console.error(e), this.setStateOnError(e), this.stop();\n }\n }], [{\n key: \"getAPI\",\n value: function getAPI() {\n return window.webkitSpeechRecognition || window.SpeechRecognition;\n }\n }]);\n return Zt;\n}(ya.Speech);\ndi.WebSpeech = Zt;\nvar gi = {};\nObject.defineProperty(gi, \"__esModule\", {\n value: !0\n});\ngi.GlobalState = void 0;\nvar Xe = /*#__PURE__*/function () {\n function Xe() {\n _classCallCheck(this, Xe);\n }\n _createClass(Xe, null, [{\n key: \"doubleClickDetector\",\n value: function doubleClickDetector() {\n return Xe.doubleClickPending ? !0 : (Xe.doubleClickPending = !0, setTimeout(function () {\n Xe.doubleClickPending = !1;\n }, 300), !1);\n }\n }]);\n return Xe;\n}();\ngi.GlobalState = Xe;\nXe.doubleClickPending = !1;\nvar bi = {},\n vi = {};\nObject.defineProperty(vi, \"__esModule\", {\n value: !0\n});\nvi.PreventConnectionStop = void 0;\nvar xa = /*#__PURE__*/function () {\n function xa() {\n _classCallCheck(this, xa);\n }\n _createClass(xa, null, [{\n key: \"applyPrevention\",\n value: function applyPrevention(e) {\n clearTimeout(e._manualConnectionStopPrevention), e.cannotBeStopped = !0, e._manualConnectionStopPrevention = setTimeout(function () {\n e.cannotBeStopped = !1;\n }, 800);\n }\n }, {\n key: \"clearPrevention\",\n value: function clearPrevention(e) {\n clearTimeout(e._manualConnectionStopPrevention), e.cannotBeStopped = !1;\n }\n }]);\n return xa;\n}();\nvi.PreventConnectionStop = xa;\nvar yi = {},\n xi = {};\nObject.defineProperty(xi, \"__esModule\", {\n value: !0\n});\nxi.README_URL = void 0;\nxi.README_URL = \"https://github.com/OvidijusParsiunas/speech-to-element\";\nObject.defineProperty(yi, \"__esModule\", {\n value: !0\n});\nyi.AzureSpeechConfig = void 0;\nvar Ri = xi;\nvar Xt = /*#__PURE__*/function () {\n function Xt() {\n _classCallCheck(this, Xt);\n }\n _createClass(Xt, null, [{\n key: \"validateOptions\",\n value: function validateOptions(e, t) {\n return t ? !t.subscriptionKey && !t.token && !t.retrieveToken ? (e(\"Please define a 'subscriptionKey', 'token' or 'retrieveToken' property - more info: \".concat(Ri.README_URL)), !1) : t.region ? !0 : (e(\"Please define a 'region' property - more info: \".concat(Ri.README_URL)), !1) : (e(\"Please provide subscription details - more info: \".concat(Ri.README_URL)), !1);\n }\n }, {\n key: \"getNewSpeechConfig\",\n value: function () {\n var _getNewSpeechConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee105(e, t) {\n return _regeneratorRuntime().wrap(function _callee105$(_context105) {\n while (1) switch (_context105.prev = _context105.next) {\n case 0:\n if (!t.region) {\n _context105.next = 2;\n break;\n }\n return _context105.abrupt(\"return\", t.subscriptionKey ? e.fromSubscription(t.subscriptionKey.trim(), t.region.trim()) : t.token ? e.fromAuthorizationToken(t.token.trim(), t.region.trim()) : t.retrieveToken ? t.retrieveToken().then(function (i) {\n return t.region ? e.fromAuthorizationToken((i == null ? void 0 : i.trim()) || \"\", t.region.trim()) : null;\n })[\"catch\"](function (i) {\n return console.error(i), null;\n }) : null);\n case 2:\n case \"end\":\n return _context105.stop();\n }\n }, _callee105);\n }));\n function getNewSpeechConfig(_x191, _x192) {\n return _getNewSpeechConfig.apply(this, arguments);\n }\n return getNewSpeechConfig;\n }()\n }, {\n key: \"process\",\n value: function process(e, t) {\n t.language && (e.speechRecognitionLanguage = t.language.trim());\n }\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee106(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee106$(_context106) {\n while (1) switch (_context106.prev = _context106.next) {\n case 0:\n _context106.next = 2;\n return Xt.getNewSpeechConfig(e, t);\n case 2:\n i = _context106.sent;\n return _context106.abrupt(\"return\", (i && Xt.process(i, t), i));\n case 4:\n case \"end\":\n return _context106.stop();\n }\n }, _callee106);\n }));\n function get(_x193, _x194) {\n return _get.apply(this, arguments);\n }\n return get;\n }()\n }]);\n return Xt;\n}();\nyi.AzureSpeechConfig = Xt;\nvar Ei = {};\nObject.defineProperty(Ei, \"__esModule\", {\n value: !0\n});\nEi.StopTimeout = void 0;\nvar Et = /*#__PURE__*/function () {\n function Et() {\n _classCallCheck(this, Et);\n }\n _createClass(Et, null, [{\n key: \"set\",\n value: function set(e) {\n e.stopTimeout = setTimeout(function () {\n return e.stop();\n }, e.stopTimeoutMS);\n }\n }, {\n key: \"reset\",\n value: function reset(e, t) {\n e.stopTimeoutMS = t || Et.DEFAULT_MS, e.stopTimeout && clearTimeout(e.stopTimeout), Et.set(e);\n }\n }]);\n return Et;\n}();\nEi.StopTimeout = Et;\nEt.DEFAULT_MS = 2e4;\nvar _i = {};\nObject.defineProperty(_i, \"__esModule\", {\n value: !0\n});\n_i.AzureTranscript = void 0;\nvar Ea = At;\nvar _a = /*#__PURE__*/function () {\n function _a() {\n _classCallCheck(this, _a);\n }\n _createClass(_a, null, [{\n key: \"extract\",\n value:\n // newText is used to only send new text in onResult as finalTranscript is continuously accumulated\n function extract(e, t, i, n) {\n return n && (e = Ea.Translate.translate(e, n)), i ? {\n interimTranscript: \"\",\n finalTranscript: t + e,\n newText: e\n } : {\n interimTranscript: e,\n finalTranscript: t,\n newText: e\n };\n }\n }]);\n return _a;\n}();\n_i.AzureTranscript = _a;\nObject.defineProperty(bi, \"__esModule\", {\n value: !0\n});\nbi.Azure = void 0;\nvar Fn = vi,\n Bn = yi,\n Ni = Ei,\n zn = _i,\n Sa = kt;\nvar Qt = /*#__PURE__*/function (_Sa$Speech) {\n _inherits(Qt, _Sa$Speech);\n function Qt() {\n var _this59;\n _classCallCheck(this, Qt);\n _this59 = _callSuper(this, Qt, arguments), _this59._newTextPadding = \"\";\n return _this59;\n }\n _createClass(Qt, [{\n key: \"start\",\n value: function start(e, t) {\n this._newTextPadding = \"\", this.stopTimeout === void 0 && Ni.StopTimeout.reset(this, e == null ? void 0 : e.stopAfterSilenceMs), this.prepareBeforeStart(e), this.startAsync(e), t || Fn.PreventConnectionStop.applyPrevention(this);\n }\n }, {\n key: \"startAsync\",\n value: function () {\n var _startAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee107(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee107$(_context107) {\n while (1) switch (_context107.prev = _context107.next) {\n case 0:\n _context107.t0 = this.validate(e);\n if (!_context107.t0) {\n _context107.next = 6;\n break;\n }\n _context107.next = 4;\n return this.instantiateService(e);\n case 4:\n this._translations = e == null ? void 0 : e.translations;\n (t = this._service) === null || t === void 0 || t.startContinuousRecognitionAsync(function () {}, this.error);\n case 6:\n case \"end\":\n return _context107.stop();\n }\n }, _callee107, this);\n }));\n function startAsync(_x195) {\n return _startAsync.apply(this, arguments);\n }\n return startAsync;\n }()\n }, {\n key: \"validate\",\n value: function validate(e) {\n return Qt.getAPI() ? Bn.AzureSpeechConfig.validateOptions(this.error.bind(this), e) : (this.moduleNotFound(), !1);\n }\n }, {\n key: \"instantiateService\",\n value: function () {\n var _instantiateService = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee108(e) {\n var t, i, n, r;\n return _regeneratorRuntime().wrap(function _callee108$(_context108) {\n while (1) switch (_context108.prev = _context108.next) {\n case 0:\n t = Qt.getAPI();\n i = t.AudioConfig.fromDefaultMicrophoneInput();\n _context108.next = 4;\n return Bn.AzureSpeechConfig.get(t.SpeechConfig, e);\n case 4:\n n = _context108.sent;\n if (n) {\n r = new t.SpeechRecognizer(n, i);\n this.setEvents(r), this._service = r, e.retrieveToken && this.retrieveTokenInterval(e.retrieveToken);\n } else this.error(\"Unable to contact Azure server\");\n case 6:\n case \"end\":\n return _context108.stop();\n }\n }, _callee108, this);\n }));\n function instantiateService(_x196) {\n return _instantiateService.apply(this, arguments);\n }\n return instantiateService;\n }()\n }, {\n key: \"setEvents\",\n value: function setEvents(e) {\n e.recognizing = this.onRecognizing.bind(this), e.recognized = this.onRecognized.bind(this), e.sessionStarted = this.onSessionStarted.bind(this), e.canceled = this.onCanceled.bind(this), e.sessionStopped = this.onSessionStopped.bind(this);\n }\n // prettier-ignore\n }, {\n key: \"onRecognizing\",\n value: function onRecognizing(e, t) {\n if (this._stopping) return;\n var _zn$AzureTranscript$e = zn.AzureTranscript.extract(this._newTextPadding + t.result.text, this.finalTranscript, !1, this._translations),\n i = _zn$AzureTranscript$e.interimTranscript,\n n = _zn$AzureTranscript$e.finalTranscript,\n r = _zn$AzureTranscript$e.newText;\n Ni.StopTimeout.reset(this, this.stopTimeoutMS), this.updateElements(i, n, r);\n }\n // WORK - huge opportunity to fix this in the repo!!!!!\n // function onRecognized(sender, recognitionEventArgs) {\n // var result = recognitionEventArgs.result;\n // onRecognizedResult(recognitionEventArgs.result);\n // }\n // prettier-ignore\n }, {\n key: \"onRecognized\",\n value: function onRecognized(e, t) {\n var i = t.result;\n switch (i.reason) {\n case window.SpeechSDK.ResultReason.Canceled:\n break;\n case window.SpeechSDK.ResultReason.RecognizedSpeech:\n if (i.text && !this._stopping) {\n var _zn$AzureTranscript$e2 = zn.AzureTranscript.extract(this._newTextPadding + i.text, this.finalTranscript, !0, this._translations),\n n = _zn$AzureTranscript$e2.interimTranscript,\n r = _zn$AzureTranscript$e2.finalTranscript,\n o = _zn$AzureTranscript$e2.newText;\n Ni.StopTimeout.reset(this, this.stopTimeoutMS), this.updateElements(n, r, o), r !== \"\" && (this._newTextPadding = \" \");\n }\n break;\n }\n }\n }, {\n key: \"onCanceled\",\n value: function onCanceled(e, t) {\n t.reason === window.SpeechSDK.CancellationReason.Error && this.error(t.errorDetails);\n }\n }, {\n key: \"onSessionStarted\",\n value: function onSessionStarted() {\n Fn.PreventConnectionStop.clearPrevention(this), this.setStateOnStart();\n }\n }, {\n key: \"onSessionStopped\",\n value: function onSessionStopped() {\n this._retrieveTokenInterval || clearInterval(this._retrieveTokenInterval), this._stopping = !1, this.setStateOnStop();\n }\n }, {\n key: \"retrieveTokenInterval\",\n value: function retrieveTokenInterval(e) {\n var _this60 = this;\n this._retrieveTokenInterval = setInterval(function () {\n e == null || e().then(function (t) {\n _this60._service && (_this60._service.authorizationToken = (t == null ? void 0 : t.trim()) || \"\");\n })[\"catch\"](function (t) {\n _this60.error(t);\n });\n }, 1e4);\n }\n }, {\n key: \"stop\",\n value: function stop(e) {\n var t;\n !e && this._retrieveTokenInterval && clearInterval(this._retrieveTokenInterval), this._stopping = !0, (t = this._service) === null || t === void 0 || t.stopContinuousRecognitionAsync(), this.finalise(e);\n }\n }, {\n key: \"moduleNotFound\",\n value: function moduleNotFound() {\n console.error(\"speech recognition module not found:\"), console.error(\"please install the 'microsoft-cognitiveservices-speech-sdk' npm package or add a script tag: <script src=\\\"https://aka.ms/csspeech/jsbrowserpackageraw\\\"></script>\"), this.setStateOnError(\"speech recognition module not found\");\n }\n }, {\n key: \"error\",\n value: function error(e) {\n this._retrieveTokenInterval && clearInterval(this._retrieveTokenInterval), console.error(e), this.setStateOnError(e), this.stop();\n }\n }], [{\n key: \"getAPI\",\n value: function getAPI() {\n return window.SpeechSDK;\n }\n }]);\n return Qt;\n}(Sa.Speech);\nbi.Azure = Qt;\nObject.defineProperty(xs, \"__esModule\", {\n value: !0\n});\nvar Un = di,\n wa = It,\n ie = gi,\n Ma = bi;\nvar Ke = /*#__PURE__*/function () {\n function Ke() {\n _classCallCheck(this, Ke);\n }\n _createClass(Ke, null, [{\n key: \"toggle\",\n value: function toggle(e, t) {\n var i, n;\n var r = e.toLocaleLowerCase().trim();\n !((i = ie.GlobalState.service) === null || i === void 0) && i.recognizing ? this.stop() : r === \"webspeech\" ? Ke.startWebSpeech(t) : r === \"azure\" ? Ke.startAzure(t) : (console.error(\"service not found - must be either 'webspeech' or 'azure'\"), (n = t == null ? void 0 : t.onError) === null || n === void 0 || n.call(t, \"service not found - must be either 'webspeech' or 'azure'\"));\n }\n }, {\n key: \"startWebSpeech\",\n value: function startWebSpeech(e) {\n Ke.stop() || (ie.GlobalState.service = new Un.WebSpeech(), ie.GlobalState.service.start(e));\n }\n }, {\n key: \"isWebSpeechSupported\",\n value: function isWebSpeechSupported() {\n return !!Un.WebSpeech.getAPI();\n }\n }, {\n key: \"startAzure\",\n value: function startAzure(e) {\n var t;\n Ke.stop() || !((t = ie.GlobalState.service) === null || t === void 0) && t.cannotBeStopped || (ie.GlobalState.service = new Ma.Azure(), ie.GlobalState.service.start(e));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var e;\n return ie.GlobalState.doubleClickDetector() ? !0 : (!((e = ie.GlobalState.service) === null || e === void 0) && e.recognizing && ie.GlobalState.service.stop(), !1);\n }\n }, {\n key: \"endCommandMode\",\n value: function endCommandMode() {\n ie.GlobalState.service && wa.CommandUtils.toggleCommandModeOff(ie.GlobalState.service);\n }\n }]);\n return Ke;\n}();\nvar Oi = xs[\"default\"] = Ke;\nvar ei = /*#__PURE__*/function (_xt) {\n _inherits(ei, _xt);\n function ei(e, t, i) {\n var _this61;\n _classCallCheck(this, ei);\n var o;\n _this61 = _callSuper(this, ei, [_typeof(e.speechToText) == \"object\" ? (o = e.speechToText) == null ? void 0 : o.button : {}]);\n var _ei$processConfigurat = ei.processConfiguration(t, e.speechToText),\n n = _ei$processConfigurat.serviceName,\n r = _ei$processConfigurat.processedConfig;\n if (_this61._addErrorMessage = i, n === \"webspeech\" && !Oi.isWebSpeechSupported()) _this61.changeToUnsupported();else {\n var a = !e.textInput || !e.textInput.disabled;\n _this61.elementRef.onclick = _this61.buttonClick.bind(_assertThisInitialized(_this61), t, a, n, r);\n }\n return _this61;\n }\n // prettier-ignore\n _createClass(ei, [{\n key: \"buttonClick\",\n value: function buttonClick(e, t, i, n) {\n e.removeTextIfPlaceholder(), Oi.toggle(i, _objectSpread({\n insertInCursorLocation: !1,\n element: t ? e.inputElementRef : void 0,\n onError: this.onError.bind(this),\n onStart: this.changeToActive.bind(this),\n onStop: this.changeToDefault.bind(this),\n onCommandModeTrigger: this.onCommandModeTrigger.bind(this)\n }, n));\n }\n }, {\n key: \"onCommandModeTrigger\",\n value: function onCommandModeTrigger(e) {\n e ? this.changeToCommandMode() : this.changeToActive();\n }\n }, {\n key: \"onError\",\n value: function onError() {\n this._addErrorMessage(\"speechToText\", \"speech input error\");\n }\n }], [{\n key: \"processConfiguration\",\n value: function processConfiguration(e, t) {\n var _i$displayInterimResu, _i$textColor, _i$translations, _i$commands;\n var c;\n var i = _typeof(t) == \"object\" ? t : {},\n n = _typeof(i.webSpeech) == \"object\" ? i.webSpeech : {},\n r = i.azure || {},\n o = _objectSpread(_objectSpread({\n displayInterimResults: (_i$displayInterimResu = i.displayInterimResults) !== null && _i$displayInterimResu !== void 0 ? _i$displayInterimResu : void 0,\n textColor: (_i$textColor = i.textColor) !== null && _i$textColor !== void 0 ? _i$textColor : void 0,\n translations: (_i$translations = i.translations) !== null && _i$translations !== void 0 ? _i$translations : void 0,\n commands: (_i$commands = i.commands) !== null && _i$commands !== void 0 ? _i$commands : void 0\n }, n), r),\n a = (c = i.commands) == null ? void 0 : c.submit;\n return a && (o.onPreResult = function (d) {\n return d.toLowerCase().includes(a) ? (setTimeout(function () {\n var u;\n return (u = e.submit) == null ? void 0 : u.call(e);\n }), Oi.endCommandMode(), {\n restart: !0,\n removeNewText: !0\n }) : null;\n }), {\n serviceName: ei.getServiceName(i),\n processedConfig: o\n };\n }\n }, {\n key: \"getServiceName\",\n value: function getServiceName(e) {\n return e.webSpeech ? \"webspeech\" : e.azure ? \"azure\" : \"webspeech\";\n }\n }]);\n return ei;\n}(xt);\nvar Es = /*#__PURE__*/function () {\n function Es() {\n _classCallCheck(this, Es);\n }\n _createClass(Es, null, [{\n key: \"getFileName\",\n value: function getFileName(e, t) {\n var i = /* @__PURE__ */new Date(),\n n = String(i.getHours()).padStart(2, \"0\"),\n r = String(i.getMinutes()).padStart(2, \"0\"),\n o = String(i.getSeconds()).padStart(2, \"0\");\n return \"\".concat(e, \"-\").concat(n, \"-\").concat(r, \"-\").concat(o, \".\").concat(t);\n }\n }]);\n return Es;\n}();\nvar Ta = /*#__PURE__*/function (_xt2) {\n _inherits(Ta, _xt2);\n function Ta(e, t) {\n var _this62;\n _classCallCheck(this, Ta);\n var i, n;\n _this62 = _callSuper(this, Ta, [t.button]), _this62._waitingForBrowserApproval = !1, _this62._audioType = e, _this62._extension = ((i = t.files) == null ? void 0 : i.format) || \"mp3\", _this62._maxDurationSeconds = (n = t.files) == null ? void 0 : n.maxDurationSeconds, _this62.elementRef.onclick = _this62.buttonClick.bind(_assertThisInitialized(_this62));\n return _this62;\n }\n _createClass(Ta, [{\n key: \"buttonClick\",\n value: function buttonClick() {\n this._waitingForBrowserApproval || (this.isActive ? this.stop() : (this._waitingForBrowserApproval = !0, this.record()));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _this63 = this;\n return new Promise(function (e) {\n var t, i;\n _this63.changeToDefault(), (t = _this63._mediaRecorder) == null || t.stop(), (i = _this63._mediaStream) == null || i.getTracks().forEach(function (n) {\n return n.stop();\n }), setTimeout(function () {\n e();\n }, 10);\n });\n }\n }, {\n key: \"record\",\n value: function record() {\n var _this64 = this;\n navigator.mediaDevices.getUserMedia({\n audio: !0\n }).then(function (e) {\n _this64.changeToActive(), _this64._mediaRecorder = new MediaRecorder(e), _this64._audioType.addPlaceholderAttachment(_this64.stop.bind(_this64), _this64._maxDurationSeconds), _this64._mediaStream = e, _this64._mediaRecorder.addEventListener(\"dataavailable\", function (t) {\n _this64.createFile(t);\n }), _this64._mediaRecorder.start();\n })[\"catch\"](function (e) {\n console.error(e), _this64.stop();\n })[\"finally\"](function () {\n _this64._waitingForBrowserApproval = !1;\n });\n }\n }, {\n key: \"createFile\",\n value: function createFile(e) {\n var _this65 = this;\n var t = new Blob([e.data], {\n type: \"audio/\".concat(this._extension)\n }),\n i = Es.getFileName(this._newFilePrefix || \"audio\", this._extension),\n n = new File([t], i, {\n type: t.type\n }),\n r = new FileReader();\n r.readAsDataURL(n), r.onload = function (o) {\n _this65._audioType.completePlaceholderAttachment(n, o.target.result);\n };\n }\n }]);\n return Ta;\n}(xt);\nvar Ca = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\" \\\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" stroke=\\\"currentColor\\\" fill=\\\"none\\\" stroke-width=\\\"1\\\" viewBox=\\\"0 0 24 24\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\">\\n <line x1=\\\"22\\\" y1=\\\"2\\\" x2=\\\"11\\\" y2=\\\"14\\\"></line>\\n <polygon points=\\\"22 2 15 22 11 14 2 10 22 2\\\"></polygon>\\n</svg>\\n\";\nvar z = /*#__PURE__*/function () {\n function z() {\n _classCallCheck(this, z);\n }\n _createClass(z, null, [{\n key: \"setPropertyValueIfDoesNotExist\",\n value: function setPropertyValueIfDoesNotExist(e, t, i) {\n var _e$n, _e$n2;\n var n = t[0];\n t.length === 1 ? (_e$n = e[n]) !== null && _e$n !== void 0 ? _e$n : e[n] = i : ((_e$n2 = e[n]) !== null && _e$n2 !== void 0 ? _e$n2 : e[n] = {}, t.shift(), z.setPropertyValueIfDoesNotExist(e[n], t, i));\n }\n }, {\n key: \"setPropertyValue\",\n value: function setPropertyValue(e, t, i) {\n var _e$n3;\n var n = t[0];\n t.length === 1 ? e[n] = i : ((_e$n3 = e[n]) !== null && _e$n3 !== void 0 ? _e$n3 : e[n] = {}, t.shift(), z.setPropertyValue(e[n], t, i));\n }\n }, {\n key: \"getObjectValue\",\n value: function getObjectValue(e, t) {\n var i = t[0],\n n = e[i];\n return n === void 0 || t.length === 1 ? n : z.getObjectValue(n, t.slice(1));\n }\n }, {\n key: \"overwritePropertyObjectFromAnother\",\n value: function overwritePropertyObjectFromAnother(e, t, i) {\n var n = z.getObjectValue(t, i);\n if (n) {\n var r = _objectSpread(_objectSpread({}, n), z.getObjectValue(e, i) || {});\n z.setPropertyValue(e, i, r);\n }\n }\n }]);\n return z;\n}();\nvar Le = /*#__PURE__*/function () {\n function Le() {\n _classCallCheck(this, Le);\n }\n _createClass(Le, null, [{\n key: \"resetSubmit\",\n value: function resetSubmit(e, t) {\n t ? e.unsetCustomStateStyles([\"loading\", \"submit\"]) : e.unsetCustomStateStyles([\"stop\", \"loading\", \"submit\"]), e.reapplyStateStyle(\"submit\");\n }\n }, {\n key: \"overwriteDefaultStyleWithSubmit\",\n value: function overwriteDefaultStyleWithSubmit(e, t) {\n if (!e.submit) return;\n var i = JSON.parse(JSON.stringify(e[t] || {}));\n z.overwritePropertyObjectFromAnother(i, e.submit, [\"container\", \"default\"]), z.overwritePropertyObjectFromAnother(i, e.submit, [\"text\", \"styles\", \"default\"]), z.overwritePropertyObjectFromAnother(i, e.submit, [\"svg\", \"styles\", \"default\"]), e[t] = i;\n }\n // prettier-ignore\n }, {\n key: \"setUpDisabledButton\",\n value: function setUpDisabledButton(e) {\n z.setPropertyValueIfDoesNotExist(e, [\"submit\", \"container\", \"default\", \"backgroundColor\"], \"\"), z.setPropertyValueIfDoesNotExist(e, [\"disabled\", \"container\", \"default\", \"backgroundColor\"], \"unset\"), z.setPropertyValueIfDoesNotExist(e.submit, [\"svg\", \"styles\", \"default\", \"filter\"], \"\"), z.setPropertyValueIfDoesNotExist(e.disabled, [\"svg\", \"styles\", \"default\", \"filter\"], \"brightness(0) saturate(100%) invert(70%) sepia(0%) saturate(5564%) hue-rotate(207deg) brightness(100%) contrast(97%)\"), Le.overwriteDefaultStyleWithSubmit(e, \"disabled\");\n }\n }, {\n key: \"process\",\n value: function process(e) {\n var t = JSON.parse(JSON.stringify(e || {}));\n return Le.overwriteDefaultStyleWithSubmit(t, \"loading\"), Le.overwriteDefaultStyleWithSubmit(t, \"stop\"), e != null && e.alwaysEnabled || Le.setUpDisabledButton(t), t;\n }\n }]);\n return Le;\n}();\nvar Si = /*#__PURE__*/function (_Tt4) {\n _inherits(k, _Tt4);\n // prettier-ignore\n function k(e, t, i, n, r) {\n var _this66;\n _classCallCheck(this, k);\n var o = Le.process(e.submitButtonStyles);\n _this66 = _callSuper(this, k, [k.createButtonContainerElement(), o == null ? void 0 : o.position, o]), _this66._isSVGLoadingIconOverriden = !1, _this66.status = {\n requestInProgress: !1,\n loadingActive: !1\n }, _this66._messages = i, _this66._inputElementRef = t, _this66._fileAttachments = r, _this66._innerElements = _this66.createInnerElements(), _this66._abortStream = new AbortController(), _this66._stopClicked = {\n listener: function listener() {}\n }, _this66._serviceIO = n, _this66._alwaysEnabled = !!(o != null && o.alwaysEnabled), e.disableSubmitButton = _this66.disableSubmitButton.bind(_assertThisInitialized(_this66), n), _this66.attemptOverwriteLoadingStyle(e), setTimeout(function () {\n var a;\n _this66._validationHandler = e._validationHandler, _this66.assignHandlers(_this66._validationHandler), (a = _this66._validationHandler) == null || a.call(_assertThisInitialized(_this66));\n });\n return _this66;\n }\n // prettier-ignore\n _createClass(k, [{\n key: \"createInnerElements\",\n value: function createInnerElements() {\n var _j$create = j.create(this.elementRef, [\"submit\", \"loading\", \"stop\"], this._customStyles),\n e = _j$create.submit,\n t = _j$create.loading,\n i = _j$create.stop,\n n = e || k.createSubmitIconElement();\n return {\n submit: n,\n loading: t || k.createLoadingIconElement(),\n stop: i || k.createStopIconElement(),\n disabled: this.createDisabledIconElement(n)\n };\n }\n }, {\n key: \"createDisabledIconElement\",\n value: function createDisabledIconElement(e) {\n return j.createCustomElement(\"disabled\", this._customStyles) || e.cloneNode(!0);\n }\n // prettier-ignore\n }, {\n key: \"attemptOverwriteLoadingStyle\",\n value: function attemptOverwriteLoadingStyle(e) {\n var t, i, n, r, o, a, l, c, d;\n if (!((i = (t = this._customStyles) == null ? void 0 : t.submit) != null && i.svg || (o = (r = (n = this._customStyles) == null ? void 0 : n.loading) == null ? void 0 : r.svg) != null && o.content || (c = (l = (a = this._customStyles) == null ? void 0 : a.loading) == null ? void 0 : l.text) != null && c.content) && (e.displayLoadingBubble === void 0 || e.displayLoadingBubble === !0)) {\n var u = document.createElement(\"style\");\n u.textContent = \"\\n .loading-button > * {\\n filter: brightness(0) saturate(100%) invert(72%) sepia(0%) saturate(3044%) hue-rotate(322deg) brightness(100%)\\n contrast(96%) !important;\\n }\", (d = e.shadowRoot) == null || d.appendChild(u), this._isSVGLoadingIconOverriden = !0;\n }\n }\n }, {\n key: \"assignHandlers\",\n value: function assignHandlers(e) {\n this._serviceIO.completionsHandlers = {\n onFinish: this.resetSubmit.bind(this, e)\n }, this._serviceIO.streamHandlers = {\n onOpen: this.changeToStopIcon.bind(this),\n onClose: this.resetSubmit.bind(this, e),\n abortStream: this._abortStream,\n stopClicked: this._stopClicked\n };\n var t = this._serviceIO.deepChat.stream;\n _typeof(t) == \"object\" && typeof t.simulation == \"number\" && (this._serviceIO.streamHandlers.simulationInterim = t.simulation);\n }\n }, {\n key: \"resetSubmit\",\n value: function resetSubmit(e) {\n this.status.requestInProgress = !1, this.status.loadingActive = !1, e();\n }\n }, {\n key: \"submitFromInput\",\n value: function () {\n var _submitFromInput = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee109() {\n var t, e, _i19;\n return _regeneratorRuntime().wrap(function _callee109$(_context109) {\n while (1) switch (_context109.prev = _context109.next) {\n case 0:\n _context109.next = 2;\n return this._fileAttachments.completePlaceholders();\n case 2:\n e = this._fileAttachments.getAllFileData();\n if (this._inputElementRef.classList.contains(\"text-input-placeholder\")) this.attemptSubmit({\n text: \"\",\n files: e\n });else {\n _i19 = (t = this._inputElementRef.textContent) == null ? void 0 : t.trim();\n this.attemptSubmit({\n text: _i19,\n files: e\n });\n }\n case 4:\n case \"end\":\n return _context109.stop();\n }\n }, _callee109, this);\n }));\n function submitFromInput() {\n return _submitFromInput.apply(this, arguments);\n }\n return submitFromInput;\n }()\n }, {\n key: \"programmaticSubmit\",\n value: function () {\n var _programmaticSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee110(e) {\n var _this67 = this;\n var t;\n return _regeneratorRuntime().wrap(function _callee110$(_context110) {\n while (1) switch (_context110.prev = _context110.next) {\n case 0:\n typeof e == \"string\" && (e = Re.processSubmitUserMessage(e));\n t = {\n text: e.text\n };\n e.files && (t.files = Array.from(e.files).map(function (i) {\n return {\n file: i,\n type: pe.getTypeFromBlob(i)\n };\n })), setTimeout(function () {\n return _this67.attemptSubmit(t, !0);\n });\n case 3:\n case \"end\":\n return _context110.stop();\n }\n }, _callee110);\n }));\n function programmaticSubmit(_x197) {\n return _programmaticSubmit.apply(this, arguments);\n }\n return programmaticSubmit;\n }() // TO-DO - should be disabled when loading history\n }, {\n key: \"attemptSubmit\",\n value: function () {\n var _attemptSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee111(e) {\n var t,\n r,\n o,\n a,\n i,\n n,\n _args111 = arguments;\n return _regeneratorRuntime().wrap(function _callee111$(_context111) {\n while (1) switch (_context111.prev = _context111.next) {\n case 0:\n t = _args111.length > 1 && _args111[1] !== undefined ? _args111[1] : !1;\n _context111.next = 3;\n return (r = this._validationHandler) == null ? void 0 : r.call(this, t ? e : void 0);\n case 3:\n _context111.t0 = _context111.sent;\n _context111.t1 = !1;\n if (!(_context111.t0 === _context111.t1)) {\n _context111.next = 7;\n break;\n }\n return _context111.abrupt(\"return\");\n case 7:\n this.changeToLoadingIcon();\n _context111.next = 10;\n return this.addNewMessage(e);\n case 10:\n this._serviceIO.isWebModel() || this._messages.addLoadingMessage();\n Gi.clear(this._inputElementRef);\n i = (o = e.files) == null ? void 0 : o.map(function (l) {\n return l.file;\n }), n = {\n text: e.text === \"\" ? void 0 : e.text,\n files: i\n };\n _context111.next = 15;\n return this._serviceIO.callAPI(n, this._messages);\n case 15:\n (a = this._fileAttachments) == null || a.removeAllFiles();\n case 16:\n case \"end\":\n return _context111.stop();\n }\n }, _callee111, this);\n }));\n function attemptSubmit(_x198) {\n return _attemptSubmit.apply(this, arguments);\n }\n return attemptSubmit;\n }()\n }, {\n key: \"addNewMessage\",\n value: function () {\n var _addNewMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee112(_ref16) {\n var e, t, i;\n return _regeneratorRuntime().wrap(function _callee112$(_context112) {\n while (1) switch (_context112.prev = _context112.next) {\n case 0:\n e = _ref16.text, t = _ref16.files;\n i = {\n role: b.USER_ROLE\n };\n e && (i.text = e);\n _context112.t0 = t;\n if (!_context112.t0) {\n _context112.next = 8;\n break;\n }\n _context112.next = 7;\n return this._messages.addMultipleFiles(t);\n case 7:\n i.files = _context112.sent;\n case 8:\n this._serviceIO.sessionId && (i._sessionId = this._serviceIO.sessionId);\n Object.keys(i).length > 0 && this._messages.addNewMessage(i);\n case 10:\n case \"end\":\n return _context112.stop();\n }\n }, _callee112, this);\n }));\n function addNewMessage(_x199) {\n return _addNewMessage.apply(this, arguments);\n }\n return addNewMessage;\n }()\n }, {\n key: \"stopStream\",\n value: function stopStream() {\n var e;\n this._abortStream.abort(), (e = this._stopClicked) == null || e.listener(), this._validationHandler && this.resetSubmit(this._validationHandler);\n }\n }, {\n key: \"changeToStopIcon\",\n value: function changeToStopIcon() {\n this._serviceIO.websocket || (this.elementRef.classList.remove(k.LOADING_CLASS, k.DISABLED_CLASS, k.SUBMIT_CLASS), this.elementRef.replaceChildren(this._innerElements.stop), this.reapplyStateStyle(\"stop\", [\"loading\", \"submit\"]), this.elementRef.onclick = this.stopStream.bind(this), this.status.loadingActive = !1);\n }\n // WORK - animation needs to be lowered\n }, {\n key: \"changeToLoadingIcon\",\n value: function changeToLoadingIcon() {\n this._serviceIO.websocket || (this._isSVGLoadingIconOverriden || this.elementRef.replaceChildren(this._innerElements.loading), this.elementRef.classList.remove(k.SUBMIT_CLASS, k.DISABLED_CLASS), this.elementRef.classList.add(k.LOADING_CLASS), this.reapplyStateStyle(\"loading\", [\"submit\"]), this.elementRef.onclick = function () {}, this.status.requestInProgress = !0, this.status.loadingActive = !0);\n }\n // called every time when user triggers an input via ValidationHandler - hence use class to check if not already present\n }, {\n key: \"changeToSubmitIcon\",\n value: function changeToSubmitIcon() {\n this.elementRef.classList.contains(k.SUBMIT_CLASS) || (this.elementRef.classList.remove(k.LOADING_CLASS, k.DISABLED_CLASS), this.elementRef.classList.add(k.SUBMIT_CLASS), this.elementRef.replaceChildren(this._innerElements.submit), Le.resetSubmit(this, this.status.loadingActive), this.elementRef.onclick = this.submitFromInput.bind(this));\n }\n // called every time when user triggers an input via ValidationHandler - hence use class to check if not already present\n }, {\n key: \"changeToDisabledIcon\",\n value: function changeToDisabledIcon() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n this._alwaysEnabled && !e ? this.changeToSubmitIcon() : this.elementRef.classList.contains(k.DISABLED_CLASS) || (this.elementRef.classList.remove(k.LOADING_CLASS, k.SUBMIT_CLASS), this.elementRef.classList.add(k.DISABLED_CLASS), this.elementRef.replaceChildren(this._innerElements.disabled), this.reapplyStateStyle(\"disabled\", [\"submit\"]), this.elementRef.onclick = function () {});\n }\n }, {\n key: \"disableSubmitButton\",\n value: function disableSubmitButton(e, t) {\n var i;\n e.isSubmitProgrammaticallyDisabled = t !== !1, !(this.status.requestInProgress || this.status.loadingActive) && (t === !1 ? (i = this._validationHandler) == null || i.call(this) : this.changeToDisabledIcon(!0));\n }\n }], [{\n key: \"createButtonContainerElement\",\n value: function createButtonContainerElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSubmitIconElement\",\n value: function createSubmitIconElement() {\n var e = V.createSVGElement(Ca);\n return e.id = \"submit-icon\", e;\n }\n }, {\n key: \"createLoadingIconElement\",\n value: function createLoadingIconElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"dots-jumping\"), e;\n }\n }, {\n key: \"createStopIconElement\",\n value: function createStopIconElement() {\n var e = document.createElement(\"div\");\n return e.id = \"stop-icon\", e;\n }\n }]);\n return k;\n}(Tt);\nSi.SUBMIT_CLASS = \"submit-button\";\nSi.LOADING_CLASS = \"loading-button\";\nSi.DISABLED_CLASS = \"disabled-button\";\nvar Aa = Si;\nvar ka = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M27.1 14.313V5.396L24.158 8.34c-2.33-2.325-5.033-3.503-8.11-3.503C9.902 4.837 4.901 9.847 4.899 16c.001 6.152 5.003 11.158 11.15 11.16 4.276 0 9.369-2.227 10.836-8.478l.028-.122h-3.23l-.022.068c-1.078 3.242-4.138 5.421-7.613 5.421a8 8 0 0 1-5.691-2.359A7.993 7.993 0 0 1 8 16.001c0-4.438 3.611-8.049 8.05-8.049 2.069 0 3.638.58 5.924 2.573l-3.792 3.789H27.1z\\\"/>\\n</svg>\\n\",\n Ia = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <title>capture</title>\\n <path d=\\\"M0 16q0 3.264 1.28 6.208t3.392 5.12 5.12 3.424 6.208 1.248 6.208-1.248 5.12-3.424 3.392-5.12 1.28-6.208-1.28-6.208-3.392-5.12-5.088-3.392-6.24-1.28q-3.264 0-6.208 1.28t-5.12 3.392-3.392 5.12-1.28 6.208zM4 16q0-3.264 1.6-6.016t4.384-4.352 6.016-1.632 6.016 1.632 4.384 4.352 1.6 6.016-1.6 6.048-4.384 4.352-6.016 1.6-6.016-1.6-4.384-4.352-1.6-6.048z\\\"></path>\\n</svg>\\n\",\n La = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z\\\"/>\\n</svg>\",\n Ra = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M4.89163 13.2687L9.16582 17.5427L18.7085 8\\\" stroke=\\\"#000000\\\" stroke-width=\\\"2.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\";\nvar rn = /*#__PURE__*/function (_ct) {\n _inherits(rn, _ct);\n // prettier-ignore\n function rn(e, t, i, n) {\n var _this68;\n _classCallCheck(this, rn);\n _this68 = _callSuper(this, rn, [e, [\"modal-content\", \"modal-camera-content\"], i]), _this68._stopped = !1, _this68._format = \"image/png\", _this68._canvas = document.createElement(\"canvas\"), _this68._canvas.classList.add(\"camera-modal-canvas\");\n var _this68$addButtonsAnd = _this68.addButtonsAndTheirEvents(t),\n r = _this68$addButtonsAnd.captureButton,\n o = _this68$addButtonsAnd.submitButton;\n _this68._captureButton = r, _this68._submitButton = o, _this68._captureIcon = _this68._captureButton.children[0], _this68._refreshIcon = V.createSVGElement(ka), _this68._refreshIcon.classList.add(\"modal-svg-button-icon\", \"modal-svg-refresh-icon\"), (n == null ? void 0 : n.format) === \"jpeg\" && (_this68._format = \"image/jpeg\"), n != null && n.dimensions && (_this68._dimensions = n.dimensions), _this68._contentRef.appendChild(_this68._canvas), _this68.extensionCloseCallback = _this68.stop;\n return _this68;\n }\n _createClass(rn, [{\n key: \"addButtonsAndTheirEvents\",\n value: function addButtonsAndTheirEvents(e) {\n var t = ct.createSVGButton(Ia);\n t.classList.add(\"modal-svg-camera-button\"), t.children[0].classList.add(\"modal-svg-camera-icon\");\n var i = this.addCloseButton(La, !0);\n i.classList.add(\"modal-svg-close-button\"), i.children[0].classList.add(\"modal-svg-close-icon\");\n var n = ct.createSVGButton(Ra);\n return n.classList.add(\"modal-svg-submit-button\"), this.addButtons(t, n), this.addButtonEvents(t, i, n, e), {\n captureButton: t,\n submitButton: n\n };\n }\n // prettier-ignore\n }, {\n key: \"addButtonEvents\",\n value: function addButtonEvents(e, t, i, n) {\n var _this69 = this;\n e.onclick = function () {\n _this69.capture();\n }, t.addEventListener(\"click\", this.stop.bind(this)), i.onclick = function () {\n var r = _this69.getFile();\n r && Ct.addFilesToType([r], [n]), _this69.stop(), _this69.close();\n };\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _this70 = this;\n this._mediaStream && this._mediaStream.getTracks().forEach(function (e) {\n return e.stop();\n }), this._stopped = !0, setTimeout(function () {\n _this70._captureButton.replaceChildren(_this70._captureIcon), _this70._captureButton.classList.replace(\"modal-svg-refresh-button\", \"modal-svg-camera-button\");\n var e = _this70._canvas.getContext(\"2d\");\n e == null || e.clearRect(0, 0, _this70._canvas.width, _this70._canvas.height);\n }, ct.MODAL_CLOSE_TIMEOUT_MS);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this71 = this;\n this._dataURL = void 0, this._submitButton.classList.add(\"modal-svg-submit-disabled\"), this._stopped = !1, navigator.mediaDevices.getUserMedia({\n video: this._dimensions || !0\n }).then(function (e) {\n if (_this71._mediaStream = e, !_this71.isOpen()) return _this71.stop();\n var t = document.createElement(\"video\");\n t.srcObject = e, t.play(), requestAnimationFrame(_this71.updateCanvas.bind(_this71, t, _this71._canvas));\n })[\"catch\"](function (e) {\n console.error(e), _this71.stop(), _this71.close();\n });\n }\n }, {\n key: \"capture\",\n value: function capture() {\n this._dataURL ? (this._captureButton.replaceChildren(this._captureIcon), this._captureButton.classList.replace(\"modal-svg-refresh-button\", \"modal-svg-camera-button\"), this._submitButton.classList.add(\"modal-svg-submit-disabled\"), this._dataURL = void 0) : (this._captureButton.replaceChildren(this._refreshIcon), this._captureButton.classList.replace(\"modal-svg-camera-button\", \"modal-svg-refresh-button\"), this._submitButton.classList.remove(\"modal-svg-submit-disabled\"), this._dataURL = this._canvas.toDataURL());\n }\n }, {\n key: \"getFile\",\n value: function getFile() {\n if (this._dataURL) {\n var e = atob(this._dataURL.split(\",\")[1]),\n t = new Array(e.length);\n for (var a = 0; a < e.length; a++) t[a] = e.charCodeAt(a);\n var _i20 = new Uint8Array(t),\n n = new Blob([_i20], {\n type: this._format\n }),\n r = this._format === \"image/jpeg\" ? \"jpeg\" : \"png\",\n o = Es.getFileName(this._newFilePrefix || \"photo\", r);\n return new File([n], o, {\n type: n.type\n });\n }\n }\n }, {\n key: \"updateCanvas\",\n value: function updateCanvas(e, t) {\n if (!this._stopped) {\n if (!this._dataURL) {\n t.width = e.videoWidth, t.height = e.videoHeight;\n var _i21 = t.getContext(\"2d\");\n _i21 == null || _i21.drawImage(e, 0, 0, t.width, t.height);\n }\n requestAnimationFrame(this.updateCanvas.bind(this, e, t));\n }\n }\n }, {\n key: \"openCameraModal\",\n value: function openCameraModal(e) {\n this.displayModalElements(), e.start();\n }\n // prettier-ignore\n }], [{\n key: \"createCameraModalFunc\",\n value: function createCameraModalFunc(e, t, i, n) {\n var r = new rn(e, t, i, n);\n return r.openCameraModal.bind(r, r);\n }\n }]);\n return rn;\n}(ct);\nvar Na = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M29 7h-4.599l-2.401-4h-12l-2.4 4h-4.6c-1 0-3 1-3 2.969v16.031c0 1.657 1.5 3 2.792 3h26.271c1.313 0 2.938-1.406 2.938-2.968v-16.032c0-1-1-3-3-3zM30 26.032c0 0.395-0.639 0.947-0.937 0.969h-26.265c-0.232-0.019-0.797-0.47-0.797-1v-16.031c0-0.634 0.851-0.953 1-0.969h5.732l2.4-4h9.802l1.785 3.030 0.55 0.97h5.731c0.705 0 0.99 0.921 1 1v16.032zM16 10c-3.866 0-7 3.134-7 7s3.134 7 7 7 7-3.134 7-7-3.134-7-7-7zM16 22c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z\\\"></path>\\n</svg>\";\nvar ti = /*#__PURE__*/function (_Tt5) {\n _inherits(ti, _Tt5);\n function ti(e, t, i) {\n var _this72;\n _classCallCheck(this, ti);\n var r;\n _this72 = _callSuper(this, ti, [ti.createButtonElement(), (r = i == null ? void 0 : i.button) == null ? void 0 : r.position, (i == null ? void 0 : i.button) || {}, \"Photo\"]);\n var n = _this72.createInnerElements(_this72._customStyles);\n i && _this72.addClickEvent(e, t, i.modalContainerStyle, i.files), _this72.elementRef.classList.add(\"upload-file-button\"), _this72.elementRef.appendChild(n.styles), _this72.reapplyStateStyle(\"styles\");\n return _this72;\n }\n _createClass(ti, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n return {\n styles: this.createInnerElement(ti.createSVGIconElement(), \"styles\", e)\n };\n }\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return j.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"addClickEvent\",\n value:\n // prettier-ignore\n function addClickEvent(e, t, i, n) {\n var r = rn.createCameraModalFunc(e, t, i, n);\n this.elementRef.onclick = r;\n }\n }], [{\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement() {\n var e = V.createSVGElement(Na);\n return e.id = \"camera-icon\", e;\n }\n }]);\n return ti;\n}(Tt);\nvar mt = /*#__PURE__*/function () {\n function mt(e, t, i, n) {\n _classCallCheck(this, mt);\n this.elementRef = mt.createPanelElement(e.inputAreaStyle);\n var r = new Gi(e, i),\n o = {},\n a = this.createFileUploadComponents(e, i, n, o);\n e.speechToText && !o.microphone && (o.microphone = {\n button: new ei(e, r, t.addNewErrorMessage.bind(t))\n });\n var l = new Aa(e, r.inputElementRef, t, i, a);\n r.submit = l.submitFromInput.bind(l), ke.attach(e, i, r, a, l), e.submitUserMessage = l.programmaticSubmit.bind(l), o.submit = {\n button: l\n }, mt.addElements(this.elementRef, r, o, n, a, e.dropupStyles);\n }\n _createClass(mt, [{\n key: \"createFileUploadComponents\",\n value:\n // prettier-ignore\n function createFileUploadComponents(e, t, i, n) {\n var o, a, l, c;\n var r = new Ct(this.elementRef, e.attachmentContainerStyle, t.demo);\n if (mt.createUploadButtons(e, t.fileTypes || {}, r, i, n), (o = t.camera) != null && o.files) {\n var d = ((a = n.images) == null ? void 0 : a.fileType) || r.addType(e, t.camera.files, \"images\");\n n.camera = {\n button: new ti(i, d, t.camera)\n };\n }\n if ((l = t.recordAudio) != null && l.files) {\n var _d = ((c = n.audio) == null ? void 0 : c.fileType) || r.addType(e, t.recordAudio.files, \"audio\");\n n.microphone = {\n button: new Ta(_d, t.recordAudio)\n };\n }\n return ue.isEnabled(r, e.dragAndDrop) && ue.create(i, r, e.dragAndDrop), r;\n }\n // prettier-ignore\n }], [{\n key: \"createPanelElement\",\n value: function createPanelElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"input\", Object.assign(t.style, e), t;\n }\n }, {\n key: \"createUploadButtons\",\n value: function createUploadButtons(e, t, i, n, r) {\n Object.keys(t).forEach(function (o) {\n var a = o,\n l = t[a];\n if (l.files) {\n var c = i.addType(e, l.files, a),\n _sa$a = sa[a],\n d = _sa$a.id,\n u = _sa$a.svgString,\n h = _sa$a.dropupText,\n p = new pt(n, c, l, d, u, h);\n r[a] = {\n button: p,\n fileType: c\n };\n }\n });\n }\n // prettier-ignore\n }, {\n key: \"addElements\",\n value: function addElements(e, t, i, n, r, o) {\n G.addElements(e, t.elementRef);\n var a = tt.create(),\n l = F.addButtons(a, i, n, o);\n Xo.set(t.inputElementRef, a, r.elementRef, l), tt.add(e, a);\n }\n }]);\n return mt;\n}();\nvar on = /*#__PURE__*/function () {\n function on() {\n _classCallCheck(this, on);\n }\n _createClass(on, null, [{\n key: \"createElements\",\n value: function createElements(e, t, i) {\n var n = document.createElement(\"div\");\n n.id = \"chat-view\";\n var r = new be(e, t, i);\n t.websocket && B.createConnection(t, r);\n var o = new mt(e, r, t, n);\n return G.addElements(n, r.elementRef, o.elementRef), n;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i, n) {\n var r = on.createElements(e, i, n);\n t.replaceChildren(r);\n }\n }]);\n return on;\n}();\nvar Oa = \"#validate-property-key-view{height:100%;position:relative;display:flex;justify-content:center;align-items:center;padding:8px}#large-loading-ring{display:inline-block;width:50px;height:50px}#large-loading-ring:after{content:\\\" \\\";display:block;width:38px;height:38px;margin:1px;border-radius:50%;border:5px solid #5fb2ff;border-color:#5fb2ff transparent #5fb2ff transparent;animation:large-loading-ring 1.4s linear infinite}@keyframes large-loading-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#insert-key-view{height:100%;position:relative}#insert-key-contents{text-align:center;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:82%;display:flex;max-width:700px}#insert-key-title{margin-bottom:15px}#insert-key-input-container{margin-right:2.7em;width:calc(100% - 80px)}#insert-key-input{padding:.3em 1.7em .3em .3em;border-width:1px;border-style:solid;border-radius:3px;width:100%;font-size:inherit}.insert-key-input-valid{border-color:gray}.insert-key-input-invalid{border-color:red}#visibility-icon-container{position:relative;float:right;cursor:pointer;-webkit-user-select:none;user-select:none}.visibility-icon{filter:brightness(0) saturate(100%) invert(63%) sepia(1%) saturate(9%) hue-rotate(43deg) brightness(98%) contrast(92%);position:absolute;right:-1.7em;top:-1.43em}#visible-icon{top:-1.4em}.visibility-icon:hover{filter:unset}.visibility-icon>*{pointer-events:none}#start-button{border:1px solid grey;color:#454545;border-radius:4px;width:3em;display:flex;justify-content:center;align-items:center;cursor:pointer;padding:.28em .3em;-webkit-user-select:none;user-select:none;background-color:#fff}#start-button:hover{background-color:#f2f2f2}#start-button:active{background-color:#d2d2d2}#insert-key-help-text-container{width:100%;position:absolute;margin-top:32px;margin-bottom:20px}#insert-key-help-text-contents{width:100%;position:absolute}#insert-key-input-invalid-text{display:block;margin-top:1em;margin-bottom:.5em;color:red}.insert-key-input-help-text{display:block;margin-top:16px}#loading-ring{display:inline-block;width:16px;height:16px}#loading-ring:after{content:\\\" \\\";display:block;width:11px;height:11px;margin:1px;border-radius:50%;border:2px solid #0084ff;border-color:#0084ff transparent #0084ff transparent;animation:loading-ring 1.2s linear infinite}@keyframes loading-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#error-view{color:red;font-size:1.2em;line-height:1.3em;margin-top:-5px;text-align:center;height:100%;display:flex;justify-content:center;align-items:center;padding-left:8px;padding-right:8px}.intro-panel{position:absolute;display:flex;justify-content:center;right:0;bottom:0;left:0;margin:auto;height:fit-content;top:-2.5em}#internal-intro-panel{width:250px;height:min-content;display:block;border-radius:5px;overflow:auto;border:1px solid rgb(203,203,203);padding:10px;max-height:calc(100% - 6.8em)}#internal-intro-panel>p{margin-block-start:.8em;margin-block-end:.8em}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!\\n Theme: a11y-dark\\n Author: @ericwbailey\\n Maintainer: @ericwbailey\\n\\n Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css\\n*/.hljs{background:#2b2b2b;color:#f8f8f2}.hljs-comment,.hljs-quote{color:#d4d0ab}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ffa07a}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#f5ab35}.hljs-attribute{color:gold}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#abe338}.hljs-section,.hljs-title{color:#00e0e0}.hljs-keyword,.hljs-selector-tag{color:#dcc6e0}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media screen and (-ms-high-contrast: active){.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-comment,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-quote,.hljs-string,.hljs-symbol,.hljs-type{color:highlight}.hljs-keyword,.hljs-selector-tag{font-weight:700}}#messages{overflow:auto}.outer-message-container:last-child{margin-bottom:5px}.inner-message-container{display:flex;margin-left:auto;margin-right:auto;width:calc(97.5% - 24px);max-width:100%}.message-bubble{margin-top:10px;word-wrap:break-word;width:fit-content;max-width:60%;border-radius:10px;padding:.42em .55em;height:fit-content;line-height:1.26em}.user-message-text{color:#fff;background-color:#0084ff;margin-right:0;margin-left:auto}.ai-message-text{color:#000;background-color:#e4e6eb;margin-left:0;margin-right:auto}.html-message{max-width:unset}.error-message-text{margin:14px auto 10px;background-color:#f4c0c0;color:#474747;text-align:center;max-width:95%}.loading-message-text{width:1em;padding:.6em .75em .6em 1.3em}.message-bubble>p:first-child{margin-top:0}.message-bubble>p:last-child{margin-bottom:0}pre{overflow:auto;display:block;word-break:break-all;word-wrap:break-word;border-radius:7px;background:#2b2b2b;color:#f8f8f2;margin-top:.8em;margin-bottom:.8em;padding:.6em;font-size:.9em;line-height:1.5em}.image-message{padding:0;display:flex;background-color:#ddd}.image-message>*,.image-message>*>*{width:100%;border-radius:8px;display:flex}.audio-message{width:60%;max-width:300px;height:2.2em;max-height:54px;padding:0;background-color:unset}.audio-player{width:100%;height:100%}.audio-player-safari{height:fit-content;width:40px}.audio-player-safari-left{float:left}.audio-player-safari-right{float:right}.any-file-message-bubble{padding:1px}.any-file-message-contents{display:flex}.any-file-message-icon-container{width:1.3em;min-width:1.3em;position:relative;border-radius:4px;margin-left:6px;margin-right:2px}.any-file-message-icon{background-color:#fff;border-radius:4px;position:absolute;width:1em;height:1.25em;padding:1px;margin-top:auto;margin-bottom:auto;top:0;bottom:0}.any-file-message-text{padding-top:5px;overflow-wrap:anywhere;padding-bottom:5px;padding-right:7px}.message-bubble>a{color:inherit}.left-item-position{margin-right:10px}.right-item-position{margin-left:10px}.deep-chat-web-model-button{margin-top:10px;margin-bottom:5px;margin-left:1px}.avatar{padding-top:5px;width:1.5em;height:1.5em;border-radius:1px}.avatar-container{margin-top:9px}.name{margin-top:16px;font-size:15px}#drag-and-drop{position:absolute;display:none;z-index:10;height:calc(100% - 10px);width:calc(100% - 10px);background-color:#70c6ff4d;border:5px dashed #6dafff}#file-attachment-container{position:absolute;height:3.6em;width:calc(80% - 4px);top:-2.5em;border-radius:5px;overflow:auto;text-align:left;background-color:#d7d7d73b;padding-left:4px}.file-attachment{width:2.85em;height:2.85em;display:inline-flex;margin-right:.6em;margin-bottom:.44em;margin-top:4px;position:relative;background-color:#fff;border-radius:5px}.image-attachment{width:100%;height:100%;object-fit:cover;border-radius:5px}.border-bound-attachment{width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid #c3c3c3;border-radius:5px;overflow:hidden}.border-bound-attachment-safari{width:calc(100% - 1px);height:calc(100% - 1px)}.audio-attachment-icon-container{cursor:pointer}.audio-attachment-icon-container:hover{background-color:#f8f8f8}.attachment-icon{left:0;right:0;bottom:0;top:2px;margin:auto;position:absolute;width:25px;-webkit-user-select:none;user-select:none}.not-removable-attachment-icon{top:0;right:0;bottom:0;left:0}.play-icon{filter:brightness(0) saturate(100%) invert(17%) sepia(0%) saturate(1392%) hue-rotate(67deg) brightness(98%) contrast(97%)}.stop-icon{filter:brightness(0) saturate(100%) invert(29%) sepia(90%) saturate(1228%) hue-rotate(198deg) brightness(93%) contrast(98%)}.audio-placeholder-text-3-digits{padding-left:.26rem}.audio-placeholder-text-4-digits{padding-left:.1rem}.any-file-attachment{padding:2px 0}.file-attachment-text-container{position:absolute;width:inherit;display:flex;align-items:center;height:100%;top:-1px}.audio-placeholder-text-3-digits-container{padding-top:1px;cursor:default}.any-file-attachment-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-left:.13em;margin-left:auto;margin-right:auto}.remove-file-attachment-button{height:1.25em;width:1.25em;border:1px solid #cfcfcf;border-radius:25px;background-color:#fff;top:-4px;right:-5px;position:absolute;display:flex;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.remove-file-attachment-button:hover{background-color:#e4e4e4}.remove-file-attachment-button:active{background-color:#d7d7d7}.x-icon{color:#4e4e4e;top:-.075em;position:relative;font-size:1.05em}.modal{display:none;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:80%;max-width:420px;max-height:80%;margin:auto;top:0;right:0;bottom:0;left:0;z-index:2}.modal-content{border-top:1px solid rgb(217,217,217);border-left:1px solid rgb(217,217,217);border-right:1px solid rgb(217,217,217);border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:#fff;overflow-y:auto;height:fit-content;max-height:calc(100% - 3.3em);width:100%}.modal-content>p{margin-left:1em;margin-right:1em}.modal-content>ul{margin-right:1em}.modal-button-panel{height:3.3em;border:1px solid;border-color:rgb(223,223,223) rgb(217,217,217) rgb(217,217,217);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;background-color:#fff;text-align:center;justify-content:center;display:flex;width:100%}.modal-button{min-width:2.5em;text-align:center;color:#fff;border-radius:5px;padding:.4em .4em .3em;height:1.25em;background-color:#3279b2;top:0;bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none;margin:auto .31em}.modal-button:hover{background-color:#276da7}.modal-button:active{background-color:#1b5687}.modal-svg-button{padding:0 0 2px;width:2em;height:1.8em}.modal-svg-button-icon{width:100%;height:100%;filter:brightness(0) saturate(100%) invert(100%) sepia(15%) saturate(4%) hue-rotate(346deg) brightness(101%) contrast(102%)}#modal-background-panel{position:absolute;width:100%;height:100%;background-color:#00000042;z-index:1;display:none}.show-modal-background{animation:fadeInBackground .3s ease-in-out}@keyframes fadeInBackground{0%{opacity:0}to{opacity:1}}.show-modal{animation:fadeInModal .3s ease-in-out}@keyframes fadeInModal{0%{opacity:0;scale:.95}to{opacity:1;scale:1}}.hide-modal-background{animation:fadeOutBackground .2s ease-in-out}@keyframes fadeOutBackground{0%{opacity:1}to{opacity:0}}.hide-modal{animation:fadeOutModal .2s ease-in-out}@keyframes fadeOutModal{0%{opacity:1;scale:1}to{opacity:0;scale:.95}}.modal-camera-content{overflow:hidden;text-align:center;border:unset;height:100%;background-color:#2a2a2a;display:flex;justify-content:center}.camera-modal-canvas{max-width:100%;max-height:100%;margin-top:auto;margin-bottom:auto}.modal-svg-submit-button{background-color:green}.modal-svg-submit-button:hover{background-color:#007500}.modal-svg-submit-button:active{background-color:#006500}.modal-svg-submit-disabled{pointer-events:none;background-color:#747474}.modal-svg-close-button{height:1.56em;padding-top:.37em;padding-bottom:0;background-color:#c13e3e}.modal-svg-close-button:hover{background-color:#b43434}.modal-svg-close-button:active{background-color:#972929}.modal-svg-close-icon{width:80%;height:80%}.modal-svg-camera-button{height:1.6em;padding-top:.38em;padding-bottom:0}.modal-svg-camera-icon{height:76%}.modal-svg-refresh-icon{height:105%}.modal-svg-refresh-button{height:1.66em;padding-top:.11em;padding-bottom:.21em}.input-button-container{position:relative;z-index:1}.inside-right{position:absolute;right:calc(10% + .35em);bottom:.85em}.inside-left{position:absolute;left:calc(10% + .35em);bottom:.85em}.outside-left{position:absolute;right:calc(11px - .55em);bottom:.88em}.outside-right{position:absolute;left:calc(11px - .55em);bottom:.88em}#upload-images-icon{position:absolute;pointer-events:none;width:1.45em;height:1.45em;left:.11em;bottom:.08em;filter:brightness(0) saturate(100%) invert(43%) sepia(0%) saturate(740%) hue-rotate(77deg) brightness(99%) contrast(92%)}#upload-gifs-icon{position:absolute;pointer-events:none;width:1.5em;height:1.48em;left:.07em;bottom:.08em;filter:brightness(0) saturate(100%) invert(49%) sepia(0%) saturate(2586%) hue-rotate(12deg) brightness(93%) contrast(90%)}#upload-audio-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.17em;bottom:.2em;filter:brightness(0) saturate(100%) invert(15%) sepia(0%) saturate(337%) hue-rotate(125deg) brightness(91%) contrast(94%);transform:scaleX(.95)}#camera-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.23em;bottom:.2em;filter:brightness(0) saturate(100%) invert(52%) sepia(0%) saturate(161%) hue-rotate(164deg) brightness(91%) contrast(92%);transform:scaleX(.95)}#upload-mixed-files-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.2em;filter:brightness(0) saturate(100%) invert(53%) sepia(0%) saturate(36%) hue-rotate(74deg) brightness(98%) contrast(93%);transform:scaleX(.95)}#interim-text{color:gray}#microphone-button{padding-top:.5px}.outer-button-container>#microphone-button{padding-bottom:1px}#microphone-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.25em}.default-microphone-icon{filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%)}.active-microphone-icon{filter:brightness(0) saturate(100%) invert(10%) sepia(97%) saturate(7495%) hue-rotate(0deg) brightness(101%) contrast(107%);border-radius:10px}.command-microphone-icon{filter:brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(1067%) hue-rotate(77deg) brightness(99%) contrast(102%)}.unsupported-microphone{display:none}#submit-icon{height:100%;filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%);width:1.21em}#stop-icon{background-color:#acacac;position:absolute;width:.95em;height:.95em;left:.35em;bottom:.35em;border-radius:2px}.submit-button-enlarged{scale:1.1;margin-right:.3em;margin-left:.3em}.dots-jumping{position:relative;left:calc(-9990px + .275em);width:.22em;height:.22em;border-radius:5px;background-color:#848484;color:#848484;box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484;animation:dots-jumping 1.5s infinite linear;bottom:-.7em}@keyframes dots-jumping{0%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}16.667%{box-shadow:9990px -6px #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}33.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}50%{box-shadow:9990px 0 #848484,calc(9990px + .44em) -6px 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}66.667%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}83.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) -6px 0 0 #848484}to{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}}.dots-flashing{position:relative;width:.45em;height:.45em;border-radius:5px;background-color:var(--message-dots-color);color:var(--message-dots-color);animation:dots-flashing 1s infinite linear alternate;animation-delay:.5s}.dots-flashing:before,.dots-flashing:after{content:\\\"\\\";display:inline-block;position:absolute;top:0}.dots-flashing:before{left:-.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--message-dots-color);color:var(--message-dots-color);animation:dots-flashing 1s infinite alternate;animation-delay:0s}.dots-flashing:after{left:.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--message-dots-color);color:var(--message-dots-color);animation:dots-flashing 1s infinite alternate;animation-delay:1s}@keyframes dots-flashing{0%{background-color:var(--message-dots-color)}50%,to{background-color:var(--message-dots-color-fade)}}.input-button{border-radius:4px;cursor:pointer;margin-bottom:.2em;-webkit-user-select:none;user-select:none}.input-button-svg{width:1.65em;height:1.65em}.input-button:hover{background-color:#9c9c9c2e}.input-button:active{background-color:#9c9c9c5e}.loading-button{cursor:auto}.loading-button:hover{background-color:unset}.text-button{filter:unset!important;display:flex;justify-content:center;align-items:center;margin-left:4px;margin-right:4px;height:1.6em}#text-input-container{background-color:#fff;width:80%;display:flex;border:1px solid #0000001a;border-radius:5px;margin-top:.8em;margin-bottom:.8em;box-shadow:#959da533 0 1px 12px;overflow-y:auto;max-height:200px;position:relative}.text-input-container-left-adjustment{margin-left:1.5em}.text-input-container-right-adjustment{margin-right:1.5em}.text-input-container-left-small-adjustment{margin-left:1.1em}.text-input-container-left-small-adjustment>.outside-left{right:calc(14px - .55em)}.text-input-container-right-small-adjustment{margin-right:1.1em}.text-input-container-right-small-adjustment>.outside-right{left:calc(14px - .55em)}#text-input{text-align:left;outline:none;word-wrap:break-word;line-break:auto}.text-input-styling{padding:.4em .5em;overflow:overlay;width:100%}.text-input-inner-left-adjustment{padding-left:2.2em}.text-input-inner-right-adjustment{padding-right:2em}.text-input-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.text-input-placeholder{color:gray}.outside-right>#dropup-menu,.inside-right>#dropup-menu{right:0}#dropup-icon{position:absolute;pointer-events:none;width:1.16em;height:1.2em;left:.265em;bottom:.43em;filter:brightness(0) saturate(100%) invert(54%) sepia(0%) saturate(724%) hue-rotate(6deg) brightness(92%) contrast(90%)}#dropup-menu{background-color:#fff;position:absolute;transform:translateY(-100%);border-radius:5px;z-index:1;top:-.49em;box-shadow:#0003 -1px 2px 10px,#0000001a 0 2px 4px;cursor:pointer;-webkit-user-select:none;user-select:none}.dropup-menu-item{height:1.4em;padding:.28em .84em .28em .35em;display:flex;position:relative}.dropup-menu-item:first-child{padding-top:.49em;border-top-left-radius:inherit;border-top-right-radius:inherit}.dropup-menu-item:last-child{padding-bottom:.45em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.dropup-menu-item-icon{width:1.39em;position:relative;margin-right:.56em}.dropup-menu-item-icon>svg{bottom:0!important;top:0!important;margin-bottom:auto;margin-top:auto}.dropup-menu-item-text{margin-top:.08em;width:max-content}#input{width:100%;display:inline-flex;text-align:center;margin-left:auto;margin-right:auto;margin-top:auto;position:relative;justify-content:center}#chat-view{height:100%;display:grid;grid-template-columns:100%}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background-color:#d0d0d0;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}:host{all:initial;display:table-cell}#container{height:inherit;width:inherit;overflow:hidden}\\n\";\nvar Pa = Object.defineProperty,\n Da = Object.getOwnPropertyDescriptor,\n E = function E(s, e, t, i) {\n for (var n = i > 1 ? void 0 : i ? Da(e, t) : e, r = s.length - 1, o; r >= 0; r--) (o = s[r]) && (n = (i ? o(e, t, n) : o(n)) || n);\n return i && n && Pa(e, t, n), n;\n };\nvar y = /*#__PURE__*/function (_So) {\n _inherits(y, _So);\n function y() {\n var _this73;\n _classCallCheck(this, y);\n _this73 = _callSuper(this, y), _this73.getMessages = function () {\n return [];\n }, _this73.submitUserMessage = function () {\n return console.warn(\"submitUserMessage failed - please wait for chat view to render before calling this property.\");\n }, _this73.focusInput = function () {\n return ii.focusFromParentElement(_this73._elementRef);\n }, _this73.refreshMessages = function () {}, _this73.clearMessages = function () {}, _this73.scrollToBottom = function () {}, _this73.disableSubmitButton = function () {}, _this73._hasBeenRendered = !1, _this73._auxiliaryStyleApplied = !1, _this73._addMessage = function () {\n return console.warn(\"addMessage failed - please wait for chat view to render before calling this property.\");\n }, Ko.appendStyleSheetToHead(), _this73._elementRef = document.createElement(\"div\"), _this73._elementRef.id = \"container\", _this73.attachShadow({\n mode: \"open\"\n }).appendChild(_this73._elementRef), wi.apply(Oa, _this73.shadowRoot), setTimeout(function () {\n _this73._hasBeenRendered || _this73.onRender();\n }, 20);\n return _this73;\n }\n _createClass(y, [{\n key: \"changeToChatView\",\n value: function changeToChatView() {\n this._activeService && (this._activeService.validateConfigKey = !1), this.onRender();\n }\n // prettier-ignore\n }, {\n key: \"onRender\",\n value: function onRender() {\n var _this$_childElement;\n (!this._activeService || this._activeService.demo) && (this._activeService = $o.create(this)), this.auxiliaryStyle && !this._auxiliaryStyleApplied && (wi.apply(this.auxiliaryStyle, this.shadowRoot), this._auxiliaryStyleApplied = !0), wi.applyDefaultStyleToComponent(this.style, this.chatStyle), Re.checkForContainerStyles(this, this._elementRef), this._activeService.key && this._activeService.validateConfigKey ? Bt.render(this._elementRef, this.changeToChatView.bind(this), this._activeService) : !(this._activeService instanceof q) || this._activeService.key ? ((_this$_childElement = this._childElement) !== null && _this$_childElement !== void 0 ? _this$_childElement : this._childElement = this.children[0], on.render(this, this._elementRef, this._activeService, this._childElement)) : this._activeService instanceof q && P.render(this._elementRef, this.changeToChatView.bind(this), this._activeService), this._hasBeenRendered = !0, zt.onRender(this);\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n Zi.chat = void 0;\n }\n }]);\n return y;\n}(So);\nE([x(\"object\")], y.prototype, \"directConnection\", 2);\nE([x(\"object\")], y.prototype, \"request\", 2);\nE([x(\"object\")], y.prototype, \"webModel\", 2);\nE([x(\"object\")], y.prototype, \"stream\", 2);\nE([x(\"object\")], y.prototype, \"requestBodyLimits\", 2);\nE([x(\"function\")], y.prototype, \"requestInterceptor\", 2);\nE([x(\"function\")], y.prototype, \"responseInterceptor\", 2);\nE([x(\"function\")], y.prototype, \"validateInput\", 2);\nE([x(\"object\")], y.prototype, \"chatStyle\", 2);\nE([x(\"object\")], y.prototype, \"attachmentContainerStyle\", 2);\nE([x(\"object\")], y.prototype, \"dropupStyles\", 2);\nE([x(\"object\")], y.prototype, \"inputAreaStyle\", 2);\nE([x(\"object\")], y.prototype, \"textInput\", 2);\nE([x(\"object\")], y.prototype, \"submitButtonStyles\", 2);\nE([x(\"string\")], y.prototype, \"auxiliaryStyle\", 2);\nE([x(\"array\")], y.prototype, \"initialMessages\", 2);\nE([x(\"object\")], y.prototype, \"introMessage\", 2);\nE([x(\"object\")], y.prototype, \"avatars\", 2);\nE([x(\"object\")], y.prototype, \"names\", 2);\nE([x(\"boolean\")], y.prototype, \"displayLoadingBubble\", 2);\nE([x(\"object\")], y.prototype, \"errorMessages\", 2);\nE([x(\"object\")], y.prototype, \"messageStyles\", 2);\nE([x(\"object\")], y.prototype, \"textToSpeech\", 2);\nE([x(\"object\")], y.prototype, \"speechToText\", 2);\nE([x(\"object\")], y.prototype, \"images\", 2);\nE([x(\"object\")], y.prototype, \"gifs\", 2);\nE([x(\"object\")], y.prototype, \"camera\", 2);\nE([x(\"object\")], y.prototype, \"audio\", 2);\nE([x(\"object\")], y.prototype, \"microphone\", 2);\nE([x(\"object\")], y.prototype, \"mixedFiles\", 2);\nE([x(\"object\")], y.prototype, \"dragAndDrop\", 2);\nE([x(\"object\")], y.prototype, \"introPanelStyle\", 2);\nE([x(\"object\")], y.prototype, \"htmlClassUtilities\", 2);\nE([x(\"function\")], y.prototype, \"onNewMessage\", 2);\nE([x(\"function\")], y.prototype, \"onClearMessages\", 2);\nE([x(\"function\")], y.prototype, \"onComponentRender\", 2);\nE([x(\"function\")], y.prototype, \"onError\", 2);\nE([x(\"object\")], y.prototype, \"demo\", 2);\nE([x(\"object\")], y.prototype, \"_insertKeyViewStyles\", 2);\ncustomElements.define(\"deep-chat\", y);\nexport { y as DeepChat };\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:r,getOwnPropertyNames:h,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),y={attribute:!0,type:String,converter:u,reflect:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class b extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=y){if(s.state&&(s.attribute=!1),this._$Ei(),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),r=this.getPropertyDescriptor(t,i,s);void 0!==r&&e(this.prototype,t,r)}}static getPropertyDescriptor(t,s,i){const{get:e,set:h}=r(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get(){return e?.call(this)},set(s){const r=e?.call(this);h.call(this,s),this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??y}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...h(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$EC(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==r?this.removeAttribute(e):this.setAttribute(e,r),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),r=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=r.fromAttribute(s,t.type),this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){if(i??=this.constructor.getPropertyOptions(t),!(i.hasChanged??f)(this[t],s))return;this.P(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,s,i){this._$AL.has(t)||this._$AL.set(t,s),!0===i.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t)!0!==i.wrapped||this._$AL.has(s)||void 0===this[s]||this.P(s,this[s],i)}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}b.elementStyles=[],b.shadowRootOptions={mode:\"open\"},b[d(\"elementProperties\")]=new Map,b[d(\"finalized\")]=new Map,p?.({ReactiveElement:b}),(a.reactiveElementVersions??=[]).push(\"2.0.4\");export{b as ReactiveElement,u as defaultConverter,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=Symbol.for(\"lit-noChange\"),T=Symbol.for(\"lit-nothing\"),A=new WeakMap,E=r.createTreeWalker(r,129);function C(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const P=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[C(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),o]};class V{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=P(t,s);if(this.el=V.createElement(f,n),E.currentNode=this.el.content,2===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=E.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?k:\"?\"===e[1]?H:\"@\"===e[1]?I:R}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),E.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function N(t,i,s=t,e){if(i===w)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=N(t,h._$AS(t,i.values),h,e)),i}class S{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);E.currentNode=e;let h=E.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new M(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new L(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=E.nextNode(),o++)}return E.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class M{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=T,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),c(t)?t===T||null==t||\"\"===t?(this._$AH!==T&&this._$AR(),this._$AH=T):t!==this._$AH&&t!==w&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}_(t){this._$AH!==T&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=V.createElement(C(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new S(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new V(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new M(this.S(l()),this.S(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class R{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=T,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=T}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=N(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==w,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=N(this,e[s+n],i,n),r===w&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===T?t=T:t!==T&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===T?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===T?void 0:t}}class H extends R{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==T)}}class I extends R{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=N(this,t,i,0)??T)===w)return;const s=this._$AH,e=t===T&&s!==T||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==T&&(s===T||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const z={P:e,A:h,C:o,M:1,L:P,R:S,D:u,V:N,I:M,H:R,N:H,U:I,B:k,F:L},Z=t.litHtmlPolyfillSupport;Z?.(V,M),(t.litHtmlVersions??=[]).push(\"3.1.4\");const j=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new M(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{z as _$LH,x as html,w as noChange,T as nothing,j as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return i}}s._$litElement$=!0,s[(\"finalized\",\"finalized\")]=!0,globalThis.litElementHydrateSupport?.({LitElement:s});const r=globalThis.litElementPolyfillSupport;r?.({LitElement:s});const o={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(globalThis.litElementVersions??=[]).push(\"4.0.6\");export{s as LitElement,o as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.P(o,void 0,t),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,r?{...t,wrapped:!0}:t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof(options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = options.lng || this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","import { type AppLanguage } from '../models';\nimport type { TranslationSchema } from '../models/TranslationSchema';\n\nexport abstract class BaseFallbacksLoader<Language extends string, Schema extends object> {\n abstract getTranslationsMaps(): Record<Language, () => Promise<Schema>>;\n\n async getLanguageFallbacks(languageCode: Language, scopes?: string[]): Promise<Schema> {\n const translationsMap = this.getTranslationsMaps();\n if (translationsMap[languageCode]) {\n const module = await translationsMap[languageCode]();\n return module;\n } else {\n throw new Error(`Translations fallbacks for ${languageCode} not found.`);\n }\n }\n}\n\nexport class FallbacksLoader extends BaseFallbacksLoader<AppLanguage, TranslationSchema> {\n override getTranslationsMaps(): Record<AppLanguage, () => Promise<TranslationSchema>> {\n return {\n 'fr-FR': async () => (await import('../fallbacks/fr/fr-FR')).translations,\n 'pt-PT': async () => (await import('../fallbacks/pt/pt-PT')).translations,\n 'nl-NL': async () => (await import('../fallbacks/nl/nl-NL')).translations,\n 'fr-BE': async () => (await import('../fallbacks/be/fr-BE')).translations,\n 'nl-BE': async () => (await import('../fallbacks/be/nl-BE')).translations,\n 'es-ES': async () => (await import('../fallbacks/es/es-ES')).translations,\n 'it-IT': async () => (await import('../fallbacks/it/it-IT')).translations,\n 'de-DE': async () => (await import('../fallbacks/de/de-DE')).translations,\n 'fr-CH': async () => (await import('../fallbacks/ch/fr-CH')).translations,\n 'it-CH': async () => (await import('../fallbacks/ch/it-CH')).translations,\n 'de-CH': async () => (await import('../fallbacks/ch/de-CH')).translations,\n 'en-CH': async () => (await import('../fallbacks/ch/en-CH')).translations,\n 'en-GB': async () => (await import('../fallbacks/fr/fr-FR')).translations\n };\n }\n}\n","import type { AppLanguage, FallbacksSchema } from '@atlas/shared/universal/i18n';\nimport { BaseFallbacksLoader } from '@atlas/shared/universal/i18n';\nimport * as fr_FR from '@atlas/shared/universal/i18n/fallbacks/fr/fr-FR/chatbot.json' assert { type: 'json' };\n\nexport type ChatbotTranslationsKeys = typeof fr_FR;\n\nexport class ChatbotFallbacksLoader extends BaseFallbacksLoader<AppLanguage, FallbacksSchema<ChatbotTranslationsKeys>> {\n override getTranslationsMaps(): Record<AppLanguage, () => Promise<FallbacksSchema<ChatbotTranslationsKeys>>> {\n return {\n 'fr-FR': async () => (await import('@atlas/shared/universal/i18n/fallbacks/fr/fr-FR/chatbot.json')).default,\n 'pt-PT': async () => {\n throw Error('Not available yet');\n },\n 'nl-NL': async () => {\n throw Error('Not available yet');\n },\n 'fr-BE': async () => {\n throw Error('Not available yet');\n },\n 'nl-BE': async () => {\n throw Error('Not available yet');\n },\n 'es-ES': async () => {\n throw Error('Not available yet');\n },\n 'it-IT': async () => {\n throw Error('Not available yet');\n },\n 'de-DE': async () => {\n throw Error('Not available yet');\n },\n 'fr-CH': async () => {\n throw Error('Not available yet');\n },\n 'it-CH': async () => {\n throw Error('Not available yet');\n },\n 'de-CH': async () => {\n throw Error('Not available yet');\n },\n 'en-CH': async () => {\n throw Error('Not available yet');\n },\n 'en-GB': async () => {\n throw Error('Not available yet');\n }\n };\n }\n}\n","import 'deep-chat';\nimport { type DeepChat } from 'deep-chat';\nimport { LitElement, html, css } from 'lit';\n\nimport { customElement, property } from 'lit/decorators.js';\nimport i18next, { t } from 'i18next';\nimport { type AppCountry, type AppLanguage } from '@atlas/shared/universal/i18n';\nimport { ChatbotFallbacksLoader } from '../services/ChatbotFallbacksLoader';\n\ndeclare const __PKG_VERSION__: string;\n\n@customElement('lr-chatbot')\nexport class Chatbot extends LitElement {\n private _chatElementRef?: DeepChat | null = null;\n\n @property()\n accessor apiUrl: string = '';\n\n @property()\n accessor opened: boolean = true;\n\n @property()\n accessor minimized: boolean = false;\n\n @property()\n accessor sticky: boolean = false;\n\n @property()\n accessor language: AppLanguage = 'fr-FR';\n\n @property()\n accessor country: AppCountry = 'fr';\n\n static styles = css`\n #chat-wrapper {\n display: none;\n }\n #chat-wrapper[data-opened='true'] {\n display: block;\n }\n #chat-wrapper[data-sticky='true'] {\n position: fixed;\n bottom: 0px;\n right: 7%;\n z-index: 99999;\n width: 320px;\n }\n `;\n\n static getVersion() {\n return 'LR Chatbot - ' + __PKG_VERSION__;\n }\n\n protected async performUpdate(): Promise<unknown> {\n await this.initTranslations();\n return super.performUpdate();\n }\n\n firstUpdated(): void {\n this._chatElementRef = this.shadowRoot?.getElementById('chat-element') as DeepChat;\n if (this._chatElementRef) {\n const chat = this._chatElementRef;\n chat.demo = true;\n\n this.setChatTranslations();\n this.setChatStyle();\n this.setChatInitialMessages();\n this.setChatConnection();\n }\n }\n\n private async initTranslations() {\n const loader = new ChatbotFallbacksLoader();\n const fallbacks = await loader.getLanguageFallbacks(this.language);\n if (!i18next.isInitialized) {\n await i18next.init({\n lng: this.language,\n resources: {\n [this.language]: { chatbot: fallbacks }\n }\n });\n }\n }\n\n private setChatTranslations() {\n const chat = this._chatElementRef!;\n\n if (chat && i18next.isInitialized) {\n chat.introMessage = {\n html: t('chatbot:introMessage')\n };\n chat.textInput = {\n ...chat.textInput,\n placeholder: { text: t('chatbot:inputPlaceholder') }\n };\n }\n }\n\n private setChatStyle() {\n const chat = this._chatElementRef!;\n chat.avatars = true;\n chat.chatStyle = { width: 'auto' };\n }\n\n private setChatInitialMessages() {\n const chat = this._chatElementRef!;\n }\n\n private setChatConnection() {\n const chat = this._chatElementRef!;\n chat.request = {\n handler: (body, signals) => {\n // TODO SEND MESSAGE with new backend service\n // new UserService({ baseURL: this.apiUrl, withCredentials: true })\n }\n };\n chat.responseInterceptor = async (response) => {\n // TODO : INTERCEPT SOME RESPONSE TO TRANSFORM WITH SUGGESTIONS OR FEEDBACK OR CHAT ENDING..\n return response;\n };\n }\n\n handleClose() {\n this.opened = false;\n }\n\n render() {\n return html`\n <div id=\"chat-wrapper\" data-opened=\"${this.opened}\" data-sticky=\"${this.sticky}\" part=\"wrapper\">\n <div id=\"chat-wrapper-menu\" part=\"menu\">\n <span id=\"chat-wrapper-menu-title\">${t('chatbot:title')}</span>\n <button id=\"chat-wrapper-menu-button-minimize\" >-</button>\n <button id=\"chat-wrapper-menu-button-close\" @click=${this.handleClose}>x</button>\n </div>\n <div id=\"chat-wrapper-menu-legal\" part=\"menu\">\n ${t('chatbot:legalInformation')}\n </div>\n <deep-chat id=\"chat-element\" part=\"chat-element\"></deep-chat>\n </div`;\n }\n}\n"],"names":["_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","_arrayLikeToArray","_createForOfIteratorHelper","o","allowArrayLike","it","i","F","_e2","normalCompletion","didErr","err","step","_e3","minLen","n","len","arr2","_wrapNativeSuper","Class","_cache","_isNativeFunction","Wrapper","_construct","_getPrototypeOf","_setPrototypeOf","t","e","r","_isNativeReflectConstruct","p","fn","_callSuper","_possibleConstructorReturn","self","call","_typeof","_assertThisInitialized","_inherits","subClass","superClass","_regeneratorRuntime","a","c","u","define","wrap","Generator","Context","makeInvokeMethod","tryCatch","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","d","v","values","g","defineIteratorMethods","AsyncIterator","invoke","h","callInvokeWithMethodAndArg","maybeInvokeDelegate","pushTryEntry","resetTryEntry","next","handle","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","_asyncToGenerator","args","ownKeys","_objectSpread","_defineProperty","obj","_toPropertyKey","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","_s","Bt","C","qn","jt","wi","R","ye","Hn","rt","ii","Ss","ws","Gn","Ve","_this","_this2","_t2","_t$disabled","_t$placeholder","_i$text","Gi","an","Ms","Vi","Ts","Cs","As","ln","A","Vn","Wn","_len","_key","G","Jn","$n","Ft","Re","ks","Is","Kn","re","b","_i2","_i3","_i4","cn","Yn","Se","_i5","_i6","_i7","dn","ni","we","_loop","_ret","Ie","Ls","Rs","Pi","un","xe","le","Qe","Nt","Zn","Ns","Os","Xn","Ps","gt","Qn","Di","Ds","js","Fs","Ne","Bs","zs","Us","qs","U","De","es","Wi","W","Hs","je","bt","Gs","Vs","ji","ts","is","ns","Ws","Js","$s","Ks","hn","Mi","Ys","Zs","Xs","Qs","er","tr","ir","pn","nr","mn","He","sr","_","S","Ti","ss","Fe","rr","or","ar","lr","gn","bn","cr","dr","J","X","O","H","Q","ee","I","Rt","te","ur","hr","pr","rs","fr","mr","gr","br","Ci","vr","Ot","yr","xr","Er","Pt","Ji","_r","Sr","wr","Mr","Tr","Cr","$i","vn","Ar","kr","Ir","Lr","Rr","yn","xn","Nr","Or","Pr","Dr","jr","Fr","Br","zr","Ur","qr","Hr","Gr","si","Vr","Wr","Jr","$r","Kr","Yr","Zr","Xr","Qr","eo","to","io","no","so","ro","oo","ao","lo","Ai","ri","co","uo","ho","po","fo","os","fe","vt","as","We","ae","zt","D","Ye","_this3","_this4","_this5","Ki","ot","_i8","Oe","ls","at","_tempRemoveContentHeader","_callee","_context","tempRemoveContentHeader","_x5","_x6","_x7","_fetch","fetch","_x","_x2","_x3","_x4","_processRequestInterceptor","_callee2","_context2","processRequestInterceptor","_x8","_x9","mo","_x10","_x11","_mo","_callee113","_context113","go","vo","bo","En","yo","Fi","xo","_n","Eo","_o","_H","_callee3","_context3","T","_request","_callee6","m","_yield$v$processReque","_e$streamHandlers","_args6","_context6","he","Ee","_callee4","_context4","_callee5","_context5","request","_x12","_x13","_x14","_i9","cs","lt","_callee7","_context7","B","_this6","_ref2","_callee8","_context8","_x15","_sendWebsocket","_callee9","_yield$v$processReque2","_args9","_context9","sendWebsocket","_x16","_x17","_x18","_i$o","_request2","_callee11","_context11","_ref3","_callee10","_context10","_x22","_x19","_x20","_x21","_ref4","_callee12","_context12","_x23","_this7","_ref5","_callee13","_context13","_x24","w","_request3","_callee15","_yield$v$processReque3","_args15","_context15","_ref6","_callee14","_context14","_x28","_x25","_x26","_x27","_ref7","_callee16","_context16","_x29","_poll","_callee17","_yield$v$processReque4","_args17","_context17","poll","_x30","_x31","_x32","et","L","_l$files","_h$maxNumberOfFiles","_l$files2","_e$files","_i$acceptedFormats","_n$maxNumberOfFiles","Pe","_a$url","_request4","_callee18","_args18","_context18","_x33","_x34","_callAPIWithText","_callee19","_o$headers","_a$ContentType","_context19","callAPIWithText","_x35","_x36","_callApiWithFiles","_callee20","_context20","callApiWithFiles","_x37","_x38","_x39","_callServiceAPI","_callee21","_context21","callServiceAPI","_x40","_x41","_x42","_callAPI","_callee22","_context22","callAPI","_x43","_x44","_extractResultData","_callee23","_context23","extractResultData","_x45","q","_Pe","_this8","_i$headers","_this$keyVerification","Ut","Yi","_HTMLElement","Je","_this9","So","wo","Mo","V","ds","$e","To","P","_o2","_P$createHelpTextCont","_t","me","Zi","_loop2","Sn","wn","_Pe2","M","_this10","_this11","_this12","_this13","_configureInit","_callee24","_context24","configureInit","_x46","_init","_callee25","_context25","init","_x47","_loadModel","_callee26","_this14","_this$getConfig","_p","_context26","loadModel","_x48","_x49","_unloadChat","_callee27","_context27","unloadChat","_x50","_immediateResp","_callee28","_context28","immediateResp","_x51","_x52","_x53","_streamResp","_callee30","_this15","_context30","_ref8","_callee29","_context29","_x57","_x58","streamResp","_x54","_x55","_x56","_generateRespByType","_callee31","_context31","generateRespByType","_x59","_x60","_x61","_x62","_generateResp","_callee32","_yield$v$processReque5","_context32","generateResp","_x63","_x64","_x65","_callServiceAPI2","_callee33","_context33","_x66","_x67","_processResponse","_callee34","_context34","processResponse","_x68","_x69","_x70","qt","us","_q","Bi","_this16","_n$options","_callServiceAPI3","_callee35","_context35","_x71","_x72","_x73","Be","St","_Be","_this17","_callServiceAPI4","_callee36","_context36","_x74","_x75","_x76","Co","_St","_extractPollResultData","_callee37","_context37","extractPollResultData","_x77","Ao","_St2","_extractPollResultData2","_callee38","_context38","_x78","wt","ce","oi","_q2","_this18","Ht","_oi","_this19","_callServiceAPI5","_callee39","_context39","_x79","_x80","_x81","_extractResultData2","_callee40","_context40","_x82","Gt","_oi2","_this20","_callServiceAPI6","_callee41","_context41","_x83","_x84","_x85","_extractResultData3","_callee42","_context42","_x86","ko","_St3","_extractPollResultData3","_callee43","_context43","_x87","Io","_Be2","_extractResultData4","_callee44","_context44","_x88","Lo","_Be3","_this21","_extractResultData5","_callee45","_context45","_x89","Ro","_Be4","_extractResultData6","_callee46","_context46","_x90","No","_Be5","_this22$maxMessages","_this22","_i$options","_extractResultData7","_callee47","_context47","_x91","Vt","_oi3","_this23","_callServiceAPI7","_callee48","_context48","_x92","_x93","_x94","_extractResultData8","_callee49","_context49","_x95","Oo","_Be6","_extractResultData9","_callee50","_context50","_x96","Wt","_oi4","_this24","_callServiceAPI8","_callee51","_context51","_x97","_x98","_extractResultData10","_callee52","_context52","_x99","Po","_Be7","_this25","_extractResultData11","_callee53","_context53","_x100","Jt","Xi","_q3","_this26","Do","_Xi","_callServiceAPI9","_callee54","_context54","_x101","_x102","_extractResultData12","_callee55","_context55","_x103","jo","_Xi2","_callServiceAPI10","_callee56","_context56","_x104","_x105","_extractResultData13","_callee57","_context57","_x106","N","_directFetch","_callee58","_args58","_context58","directFetch","_x107","_x108","_x109","Qi","_q4","zi","_o$model","_a$voice","_this27","_callServiceAPI11","_callee59","_context59","_x110","_x111","_extractResultData14","_callee60","_context60","_x112","Fo","ai","_q5","Me","_o$model2","_this28","_callServiceAPI12","_callee61","_context61","_x113","_x114","_x115","_extractResultData15","_callee62","_context62","_x116","Bo","Z","zo","_q6","_this29","Uo","_zo","_a$language","_this30","_callServiceAPI13","_callee63","_context63","_x117","_x118","_extractResultData16","_callee64","_i10","_context64","_x119","_extractPollResultData4","_callee65","_iterator","_step","_i11","_context65","_x120","ut","_poll2","_callee66","_context66","_x121","_x122","en","_q7","_this31","_callServiceAPI14","_callee67","_context67","_x123","_x124","_x125","_extractResultData17","_callee68","_context68","_x126","hs","_q8","_this32","ps","_hs","fs","_a$lang","_l$name","_c$gender","_this33","_callServiceAPI15","_callee69","_context69","_x127","_x128","_extractResultData18","_callee70","_context70","_x129","qo","ms","_hs2","Ui","_this34","_callServiceAPI16","_callee71","_context71","_x130","_x131","_x132","_extractResultData19","_callee72","_context72","_x133","Ho","Go","_q9","_this35","_callServiceAPI17","_callee73","_context73","_x134","_x135","_extractResultData20","_callee74","_context74","_x136","ve","_storeFiles","_callee76","_context76","_ref9","_callee75","_context75","_x140","storeFiles","_x137","_x138","_x139","_getFiles","_callee77","_context77","_ref10","getFiles","_x141","_x142","_getFilesAndNewText","_callee78","_context78","getFilesAndNewText","_x143","_x144","_x145","_x146","_getFilesAndText","_callee79","_context79","getFilesAndText","_x147","_x148","_x149","li","_q10","oe","_c$headers","_d$OpenAIBeta","_this36","_this36$config","_ref11","_fetchHistoryFunc","_callee80","_this37","_context80","fetchHistoryFunc","_n2","_callServiceAPI18","_callee81","_r$assistant_id","_context81","_x150","_x151","_x152","_createNewAssistant","_callee82","_context82","createNewAssistant","_extractResultData21","_callee83","_context83","_x153","_assignThreadAndRun","_callee84","_context84","assignThreadAndRun","_x154","_getThreadMessages","_callee86","_this38","_args86","_context86","_ref12","_callee85","_context85","_x156","getThreadMessages","_x155","_extractPollResultData5","_callee87","_l$","_l","_context87","_x157","_handleTools","_callee88","_context88","handleTools","_x158","Vo","ci","_q11","Te","_this39","_callServiceAPI19","_callee89","_context89","_x159","_x160","_x161","_extractResultData22","_callee90","_context90","_x162","Wo","ht","_q12","_this40$maxMessages","_l$model","_this40","_ref13","_i$max_tokens","_callServiceAPI20","_callee91","_context91","_x163","_x164","_extractResultData23","_callee92","_context92","_x165","_x166","_x167","_extractStreamResult","_callee93","_this41","_context93","extractStreamResult","_x168","_x169","_x170","_handleTools2","_callee94","_h","_context94","_x171","_x172","_x173","Jo","_Xi3","_this42$maxMessages","_this42","_callServiceAPI21","_callee95","_context95","_x174","_x175","_extractResultData24","_callee96","_context96","_x176","$o","gs","qi","_i12","Ko","bs","x","tn","$t","Yo","Zo","ge","_addNewImageMessage","_callee97","_context97","addNewImageMessage","_x177","_x178","_x179","be","_Ye","_this43","_i13","_this44","_fetchHistory","_callee98","_this45","_context98","fetchHistory","_x180","_t3","_i14","_addMultipleFiles","_callee99","_context99","_n3","addMultipleFiles","_x181","_e$displayLoadingBubb","_i15","Mt","$","Xo","tt","Mn","j","Qo","ne","Tt","_i16","yt","Ae","nn","_this46","Ze","_Tt","_this47","_this48","ea","ta","ia","na","sa","pe","_this49","_r2","Hi","_r3","ra","Tn","vs","_pe","Ce","_this50","_this51","oa","Ct","_completePlaceholders","_callee101","_context101","_ref14","_callee100","_context100","_x182","completePlaceholders","ys","de","_this52","_len2","_key2","_this53","_this54","_i$classList","ct","pt","_Tt2","_this55","ue","ke","_useValidationFunc","_callee102","_context102","useValidationFunc","_x183","_x184","_x185","_x186","_useValidationFuncProgrammatic","_callee103","_context103","useValidationFuncProgrammatic","_x187","_x188","_x189","_ref15","_callee104","_context104","_x190","aa","xt","_Tt3","_this56","xs","di","ui","At","ze","_e","la","ca","Cn","da","nt","dt","kt","hi","Y","_this57","pi","ua","It","Lt","sn","Ue","ha","_i17","qe","ft","_a2","An","pa","fa","kn","In","K","fi","ma","st","Kt","mi","ga","Ln","Ge","Yt","Rn","ba","Nn","Dt","ki","se","Ii","On","Pn","Li","va","Dn","jn","ya","Zt","_ya$Speech","_this58","_this58$_extractText","_i18","gi","Xe","bi","vi","xa","yi","xi","Ri","Xt","_getNewSpeechConfig","_callee105","_context105","getNewSpeechConfig","_x191","_x192","_get","_callee106","_context106","get","_x193","_x194","Ei","Et","_i","Ea","_a","Fn","Bn","Ni","zn","Sa","Qt","_Sa$Speech","_this59","_startAsync","_callee107","_context107","startAsync","_x195","_instantiateService","_callee108","_context108","instantiateService","_x196","_zn$AzureTranscript$e","_zn$AzureTranscript$e2","_this60","Un","wa","ie","Ma","Ke","Oi","ei","_xt","_this61","_ei$processConfigurat","_i$displayInterimResu","_i$textColor","_i$translations","_i$commands","Es","Ta","_xt2","_this62","_this63","_this64","_this65","Ca","z","_e$n","_e$n2","_e$n3","Le","Si","_Tt4","k","_this66","_j$create","_submitFromInput","_callee109","_i19","_context109","submitFromInput","_programmaticSubmit","_callee110","_this67","_context110","programmaticSubmit","_x197","_attemptSubmit","_callee111","_args111","_context111","attemptSubmit","_x198","_addNewMessage","_callee112","_ref16","_context112","addNewMessage","_x199","Aa","ka","Ia","La","Ra","rn","_ct","_this68","_this68$addButtonsAnd","_this69","_this70","_this71","_i20","_i21","Na","ti","_Tt5","_this72","mt","_d","_sa$a","on","Oa","Pa","E","_So","_this73","_this$_childElement","n$3","_b","input","hint","prim","res","toPrimitive","toPropertyKey","setPrototypeOf","assertThisInitialized","_arrayWithHoles","arrayLikeToArray","_nonIterableRest","_toArray","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","ownKeys$6","object","enumerableOnly","keys","symbols","sym","_objectSpread$6","source","consoleLogger","type","Logger","concreteLogger","options","bool","_len3","_key3","_len4","_key4","lvl","prefix","debugOnly","moduleName","baseLogger","EventEmitter","events","listener","event","cloned","observer","_cloned","defer","rej","promise","makeString","copy","getLastOfPath","path","Empty","cleanKey","canNotTraverseDeeper","stack","setPath","newValue","_getLastOfPath","pushPath","concat","_getLastOfPath2","getPath","_getLastOfPath3","getPathWithDefaults","data","defaultData","deepExtend","overwrite","prop","regexEscape","str","_entityMap","escape","isIE10","chars","looksLikeObjectPath","nsSeparator","keySeparator","possibleChars","matched","deepFind","paths","current","mix","joinedPath","ownKeys$5","_objectSpread$5","_createSuper$3","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct$3","Super","result","NewTarget","ResourceStore","_EventEmitter","_super","index","lng","ignoreJSONStructure","resources","deep","pack","postProcessor","module","processors","translator","processor","ownKeys$4","_objectSpread$4","_createSuper$2","_isNativeReflectConstruct$2","checkedLoadedFor","Translator","services","resolved","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","parts","lastKey","returnDetails","_this$extractFromKey","namespace","appendNamespaceToCIMode","resUsedKey","resExactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","handleAsObject","resTypeIsArray","newKeyToUse","deepKey","usedDefault","usedKey","needsPluralHandling","hasDefaultValue","defaultValueSuffix","defaultValue","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","send","specificDefaultValue","defaultForMissing","language","suffix","skipOnVariables","nestBef","nb","nestAft","postProcess","postProcessorNames","found","exactUsedKey","usedLng","usedNS","extracted","needsZeroSuffixLookup","needsContextHandling","codes","code","finalKeys","pluralSuffix","zeroSuffix","contextKey","possibleKey","option","capitalize","string","LanguageUtil","specialCases","part","cleanedLng","lngOnly","supportedLng","fallbacks","fallbackCode","fallbackCodes","addCode","fc","sets","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","createRules","rules","set","PluralResolver","languageUtils","rule","pluralCategory1","pluralCategory2","pluralCategory","number","count","idx","returnSuffix","ownKeys$3","_objectSpread$3","deepFindWithDefaults","Interpolator","iOpts","regexpStr","regexpUnescapeStr","nestingRegexpStr","match","replaces","regexSafe","val","handleFormat","missingInterpolationHandler","todos","todo","matchedVar","temp","safeValue","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","formatters","doReduce","elem","ownKeys$2","_objectSpread$2","parseFormatStr","formatStr","formatName","formatOptions","optStr","opts","opt","_opt$split","_opt$split2","rest","createCachedFormatter","cache","formatter","Formatter","name","_format","formats","mem","_parseFormatStr","formatted","valOptions","ownKeys$1","_objectSpread$1","_createSuper$1","_isNativeReflectConstruct$1","removePending","Connector","backend","store","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","loaded","loadedKeys","fcName","tried","wait","resolver","fallbackValue","isUpdate","clb","ret","transformOptions","_createSuper","noop","bindMemberFunctions","inst","mems","I18n","defOpts","createClassOnDemand","ClassOrObject","lu","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","load","finish","usedCallback","append","lngInLngs","setLngProps","done","setLng","keyPrefix","fixedT","resultKey","_this$translator","_this$translator2","fallbackLng","lastLng","loadNotPending","loadState","preResult","preloaded","newLngs","rtlLngs","mergedOptions","clone","membersToCopy","BaseFallbacksLoader","languageCode","scopes","translationsMap","ChatbotFallbacksLoader","_apiUrl","_opened","_minimized","_sticky","_language","_country","Chatbot","LitElement","__privateAdd","__privateGet","__privateSet","chat","i18next","body","signals","response","html","css","__decorateClass","property","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}