{"version":3,"sources":["node_modules/froala-editor/js/plugins.pkgd.min.js","node_modules/@angular/animations/fesm2022/browser.mjs","node_modules/@angular/platform-browser/fesm2022/animations.mjs","src/app/modules/extrapages/maintenance/maintenance.component.ts","src/app/modules/extrapages/maintenance/maintenance.component.html","src/app/modules/extrapages/page404/page404.component.ts","src/app/modules/extrapages/page500/page500.component.ts","src/app/modules/extrapages/page500/page500.component.html","src/app/modules/extrapages/lockscreen/lockscreen.component.ts","src/app/modules/extrapages/lockscreen/lockscreen.component.html","src/app/modules/extrapages/lockscreen2/lockscreen2.component.ts","src/app/modules/extrapages/lockscreen2/lockscreen2.component.html","src/app/modules/extrapages/confirmmail/confirmmail.component.ts","src/app/modules/extrapages/confirmmail/confirmmail.component.html","src/app/modules/extrapages/confirmmail2/confirmmail2.component.ts","src/app/modules/extrapages/confirmmail2/confirmmail2.component.html","src/app/modules/extrapages/verification/verification.component.ts","src/app/modules/extrapages/verification/verification.component.html","src/app/modules/extrapages/verification2/verification2.component.ts","src/app/modules/extrapages/verification2/verification2.component.html","src/app/modules/extrapages/steptwoverification/steptwoverification.component.ts","src/app/modules/extrapages/steptwoverification/steptwoverification.component.html","src/app/modules/extrapages/steptwoverification2/steptwoverification2.component.ts","src/app/modules/extrapages/steptwoverification2/steptwoverification2.component.html","src/app/modules/extrapages/comingsoon/comingsoon.component.ts","src/app/modules/extrapages/comingsoon/comingsoon.component.html","src/app/modules/extrapages/extrapages-routing.module.ts","src/app/modules/extrapages/extrapages.module.ts","src/app/modules/layouts/minimum-layout/minimum-layout.component.ts","src/app/modules/layouts/minimum-layout/minimum-layout.component.html","src/app/modules/layouts/layouts.module.ts","src/app/app-routing.module.ts","src/app/app.component.ts","src/app/app.component.html","node_modules/@ngx-translate/http-loader/dist/fesm2022/ngx-translate-http-loader.mjs","src/app/modules/core/authentication/interceptors/token.interceptor.ts","src/app/modules/core/authentication/interceptors/error.interceptor.ts","src/app/modules/core/authentication/authentication.module.ts","src/app/modules/core/authentication/interceptors/no-cache-headers.interceptor.ts","src/app/app.module.ts","src/main.ts"],"sourcesContent":["/*!\n * froala_editor v4.5.0 (https://www.froala.com/wysiwyg-editor)\n * License https://froala.com/wysiwyg-editor/terms/\n * Copyright 2014-2025 Froala Labs\n */\n\n!function (e, t) {\n \"object\" == typeof exports && \"undefined\" != typeof module ? t(require(\"froala-editor\")) : \"function\" == typeof define && define.amd ? define([\"froala-editor\"], t) : t(e.FroalaEditor);\n}(this, function (St) {\n \"use strict\";\n\n function r(e, t) {\n (null == t || t > e.length) && (t = e.length);\n for (var a = 0, n = Array(t); a < t; a++) n[a] = e[a];\n return n;\n }\n function $e(e, t) {\n var a = \"undefined\" != typeof Symbol && e[Symbol.iterator] || e[\"@@iterator\"];\n if (!a) {\n if (Array.isArray(e) || (a = l(e)) || t && e && \"number\" == typeof e.length) {\n a && (e = a);\n var n = 0,\n r = function () {};\n return {\n s: r,\n n: function () {\n return n >= e.length ? {\n done: !0\n } : {\n done: !1,\n value: e[n++]\n };\n },\n e: function (e) {\n throw e;\n },\n f: r\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var i,\n o = !0,\n s = !1;\n return {\n s: function () {\n a = a.call(e);\n },\n n: function () {\n var e = a.next();\n return o = e.done, e;\n },\n e: function (e) {\n s = !0, i = e;\n },\n f: function () {\n try {\n o || null == a[\"return\"] || a[\"return\"]();\n } finally {\n if (s) throw i;\n }\n }\n };\n }\n function Se(e) {\n return function t(e) {\n if (Array.isArray(e)) return r(e);\n }(e) || function a(e) {\n if (\"undefined\" != typeof Symbol && null != e[Symbol.iterator] || null != e[\"@@iterator\"]) return Array.from(e);\n }(e) || l(e) || function n() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }();\n }\n function Rt(e) {\n return (Rt = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n function l(e, t) {\n if (e) {\n if (\"string\" == typeof e) return r(e, t);\n var a = {}.toString.call(e).slice(8, -1);\n return \"Object\" === a && e.constructor && (a = e.constructor.name), \"Map\" === a || \"Set\" === a ? Array.from(e) : \"Arguments\" === a || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a) ? r(e, t) : void 0;\n }\n }\n if ((St = St && St.hasOwnProperty(\"default\") ? St[\"default\"] : St).PLUGINS.align = function (r) {\n var i = r.$;\n return {\n apply: function o(e) {\n var t = r.selection.element();\n if (i(t).parents(\".fr-img-caption\").length) i(t).css(\"text-align\", e);else {\n r.selection.save(), r.html.wrap(!0, !0, !0, !0), r.selection.restore();\n for (var a = r.selection.blocks(), n = 0; n < a.length; n++) i(a[n]).css(\"text-align\", e).removeClass(\"fr-temp-div\"), \"\" === i(a[n]).attr(\"class\") && i(a[n]).removeAttr(\"class\"), \"\" === i(a[n]).attr(\"style\") && i(a[n]).removeAttr(\"style\");\n r.selection.save(), r.html.unwrap(), r.selection.restore();\n }\n },\n refresh: function n(e) {\n var t = r.selection.blocks();\n if (t.length) {\n var a = r.helpers.getAlignment(i(t[0]));\n e.find(\"> *\").first().replaceWith(r.icon.create(\"align-\".concat(a)));\n }\n },\n refreshOnShow: function s(e, t) {\n var a = r.selection.blocks();\n if (a.length) {\n var n = r.helpers.getAlignment(i(a[0]));\n t.find('a.fr-command[data-param1=\"'.concat(n, '\"]')).addClass(\"fr-active\").attr(\"aria-selected\", !0);\n }\n },\n refreshForToolbar: function l(e) {\n var t = r.selection.blocks();\n if (t.length) {\n var a = r.helpers.getAlignment(i(t[0]));\n a = a.charAt(0).toUpperCase() + a.slice(1), \"align\".concat(a) === e.attr(\"data-cmd\") && e.addClass(\"fr-active\");\n }\n }\n };\n }, St.DefineIcon(\"align\", {\n NAME: \"align-left\",\n SVG_KEY: \"alignLeft\"\n }), St.DefineIcon(\"align-left\", {\n NAME: \"align-left\",\n SVG_KEY: \"alignLeft\"\n }), St.DefineIcon(\"align-right\", {\n NAME: \"align-right\",\n SVG_KEY: \"alignRight\"\n }), St.DefineIcon(\"align-center\", {\n NAME: \"align-center\",\n SVG_KEY: \"alignCenter\"\n }), St.DefineIcon(\"align-justify\", {\n NAME: \"align-justify\",\n SVG_KEY: \"alignJustify\"\n }), St.RegisterCommand(\"align\", {\n type: \"dropdown\",\n title: \"Align\",\n options: {\n left: \"Align Left\",\n center: \"Align Center\",\n right: \"Align Right\",\n justify: \"Align Justify\"\n },\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = St.COMMANDS.align.options;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"align\"data-param1=\"\\n '.concat(a, '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.icon.create(\"align-\".concat(a)), '<span class=\"fr-sr-only\">\\n ').concat(this.language.translate(t[a]), \"</span></a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.align.apply(t);\n },\n refresh: function (e) {\n this.align.refresh(e);\n },\n refreshOnShow: function (e, t) {\n this.align.refreshOnShow(e, t);\n },\n plugin: \"align\"\n }), St.RegisterCommand(\"alignLeft\", {\n type: \"button\",\n icon: \"align-left\",\n title: \"Align Left\",\n callback: function () {\n this.align.apply(\"left\");\n },\n refresh: function (e) {\n this.align.refreshForToolbar(e);\n },\n plugin: \"align\"\n }), St.RegisterCommand(\"alignRight\", {\n type: \"button\",\n icon: \"align-right\",\n title: \"Align Right\",\n callback: function () {\n this.align.apply(\"right\");\n },\n refresh: function (e) {\n this.align.refreshForToolbar(e);\n },\n plugin: \"align\"\n }), St.RegisterCommand(\"alignCenter\", {\n type: \"button\",\n icon: \"align-center\",\n title: \"Align Center\",\n callback: function () {\n this.align.apply(\"center\");\n },\n refresh: function (e) {\n this.align.refreshForToolbar(e);\n },\n plugin: \"align\"\n }), St.RegisterCommand(\"alignJustify\", {\n type: \"button\",\n icon: \"align-justify\",\n title: \"Align Justify\",\n callback: function () {\n this.align.apply(\"justify\");\n },\n refresh: function (e) {\n this.align.refreshForToolbar(e);\n },\n plugin: \"align\"\n }), Object.assign(St.DEFAULTS, {\n charCounterMax: -1,\n charCounterCount: !0\n }), St.PLUGINS.charCounter = function (n) {\n var a,\n r = n.$,\n i = function i() {\n return (n.opts.iframe && n.markdown && n.markdown.isEnabled() ? n.$el.text() || \"\" : n.el.textContent || \"\").replace(/\\u200B/g, \"\").length;\n };\n function e(e) {\n if (n.opts.charCounterMax < 0) return !0;\n if (i() < n.opts.charCounterMax) return !0;\n var t = e.which;\n return !(!n.keys.ctrlKey(e) && n.keys.isCharacter(t) || t === St.KEYCODE.IME) || (e.preventDefault(), e.stopPropagation(), n.events.trigger(\"charCounter.exceeded\"), !1);\n }\n function t(e) {\n return n.opts.charCounterMax < 0 ? e : r(\"<div>\").html(e).text().length + i() <= n.opts.charCounterMax ? e : (n.events.trigger(\"charCounter.exceeded\"), \"\");\n }\n function o(e, t, a) {\n return n.opts.charCounterMax < 0 || (e.includes('<span class=\"fr-emoticon') || e.includes('<i class=\"fa ') ? !(i() >= n.opts.charCounterMax) || (n.events.trigger(\"charCounter.exceeded\"), !1) : r(\"<div>\").html(e).text().length + i() <= n.opts.charCounterMax || (n.events.trigger(\"charCounter.exceeded\"), !1));\n }\n function s() {\n if (n.opts.charCounterCount) {\n var e = i() + (0 < n.opts.charCounterMax ? \"/\" + n.opts.charCounterMax : \"\");\n a.text(\"\".concat(n.language.translate(\"Characters\"), \" : \").concat(e)), n.opts.toolbarBottom && a.css(\"margin-bottom\", n.$tb.outerHeight(!0));\n var t = n.$wp.get(0).offsetWidth - n.$wp.get(0).clientWidth;\n 0 <= t && (\"rtl\" == n.opts.direction ? a.css(\"margin-left\", t) : a.css(\"margin-right\", t));\n }\n }\n return {\n _init: function l() {\n return !!n.$wp && !!n.opts.charCounterCount && ((a = r(document.createElement(\"span\")).attr(\"class\", \"fr-counter\")).css(\"bottom\", n.$wp.css(\"border-bottom-width\")), n.$second_tb ? n.$second_tb.append(a) : n.$wp.append(a), n.events.on(\"keydown\", e, !0), n.events.on(\"paste.afterCleanup\", t), n.events.on(\"keyup contentChanged input\", function () {\n n.events.trigger(\"charCounter.update\");\n }), n.events.on(\"html.beforeInsert\", o), n.events.on(\"charCounter.update\", s), n.events.trigger(\"charCounter.update\"), void n.events.on(\"destroy\", function () {\n r(n.o_win).off(\"resize.char\".concat(n.id)), a.removeData().remove(), a = null;\n }));\n },\n count: i\n };\n }, St.PLUGINS.codeBeautifier = function () {\n var e,\n t,\n a,\n n,\n j = {};\n function L(n, e) {\n var t = {\n \"@page\": !0,\n \"@font-face\": !0,\n \"@keyframes\": !0,\n \"@media\": !0,\n \"@supports\": !0,\n \"@document\": !0\n },\n a = {\n \"@media\": !0,\n \"@supports\": !0,\n \"@document\": !0\n };\n e = e || {}, n = (n = n || \"\").replace(/\\r\\n|[\\r\\u2028\\u2029]/g, \"\\n\");\n var r = e.indent_size || 4,\n i = e.indent_char || \" \",\n o = e.selector_separator_newline === undefined || e.selector_separator_newline,\n s = e.end_with_newline !== undefined && e.end_with_newline,\n l = e.newline_between_rules === undefined || e.newline_between_rules,\n c = e.eol ? e.eol : \"\\n\";\n \"string\" == typeof r && (r = parseInt(r, 10)), e.indent_with_tabs && (i = \"\\t\", r = 1), c = c.replace(/\\\\r/, \"\\r\").replace(/\\\\n/, \"\\n\");\n var d,\n f = /^\\s+$/,\n p = -1,\n u = 0;\n function g() {\n return (d = n.charAt(++p)) || \"\";\n }\n function h(e) {\n var t,\n a = p;\n return e && v(), t = n.charAt(p + 1) || \"\", p = a - 1, g(), t;\n }\n function m(e) {\n for (var t = p; g();) if (\"\\\\\" === d) g();else {\n if (-1 !== e.indexOf(d)) break;\n if (\"\\n\" === d) break;\n }\n return n.substring(t, p + 1);\n }\n function v() {\n for (var e = \"\"; f.test(h());) g(), e += d;\n return e;\n }\n function b() {\n var e = \"\";\n for (d && f.test(d) && (e = d); f.test(g());) e += d;\n return e;\n }\n function E(e) {\n var t = p;\n for (e = \"/\" === h(), g(); g();) {\n if (!e && \"*\" === d && \"/\" === h()) {\n g();\n break;\n }\n if (e && \"\\n\" === d) return n.substring(t, p);\n }\n return n.substring(t, p) + d;\n }\n function _(e) {\n return n.substring(p - e.length, p).toLowerCase() === e;\n }\n function w() {\n for (var e = 0, t = p + 1; t < n.length; t++) {\n var a = n.charAt(t);\n if (\"{\" === a) return !0;\n if (\"(\" === a) e += 1;else if (\")\" === a) {\n if (0 === e) return !1;\n e -= 1;\n } else if (\" \" === a || \"}\" === a) return !1;\n }\n return !1;\n }\n var y = n.match(/^[\\t ]*/)[0],\n A = new Array(r + 1).join(i),\n C = 0,\n T = 0;\n for (var k, S, R, L = {\n \"{\": function (e) {\n L.singleSpace(), x.push(e), L.newLine();\n },\n \"}\": function (e) {\n L.newLine(), x.push(e), L.newLine();\n },\n _lastCharWhitespace: function () {\n return f.test(x[x.length - 1]);\n },\n newLine: function (e) {\n x.length && (e || \"\\n\" === x[x.length - 1] || L.trim(), x.push(\"\\n\"), y && x.push(y));\n },\n singleSpace: function () {\n x.length && !L._lastCharWhitespace() && x.push(\" \");\n },\n preserveSingleSpace: function () {\n k && L.singleSpace();\n },\n trim: function () {\n for (; L._lastCharWhitespace();) x.pop();\n }\n }, x = [], I = !1, O = !1, F = !1, M = \"\", N = \"\";;) {\n var D = b();\n k = \"\" !== D;\n var P = -1 !== D.indexOf(\"\\n\");\n if (N = M, !(M = d)) break;\n if (\"/\" === d && \"*\" === h()) {\n var B = 0 === C;\n (P || B) && L.newLine(), x.push(E()), L.newLine(), B && L.newLine(!0);\n } else if (\"/\" === d && \"/\" === h()) P || \"{\" === N || L.trim(), L.singleSpace(), x.push(E()), L.newLine();else if (\"@\" === d) {\n L.preserveSingleSpace(), x.push(d);\n var U = (void 0, S = p, R = m(\": , {}()[]/='\\\"\"), p = S - 1, g(), R);\n U.match(/[ :]$/) && (g(), U = m(\": \").replace(/\\s$/, \"\"), x.push(U), L.singleSpace()), (U = U.replace(/\\s$/, \"\")) in t && (T += 1, U in a && (F = !0));\n } else \"#\" === d && \"{\" === h() ? (L.preserveSingleSpace(), x.push(m(\"}\"))) : \"{\" === d ? \"}\" === h(!0) ? (v(), g(), L.singleSpace(), x.push(\"{}\"), L.newLine(), l && 0 === C && L.newLine(!0)) : (C++, y += A, L[\"{\"](d), I = F ? (F = !1, T < C) : T <= C) : \"}\" === d ? (C--, y = y.slice(0, -r), L[\"}\"](d), O = I = !1, T && T--, l && 0 === C && L.newLine(!0)) : \":\" === d ? (v(), !I && !F || _(\"&\") || w() ? \":\" === h() ? (g(), x.push(\"::\")) : x.push(\":\") : (O = !0, x.push(\":\"), L.singleSpace())) : '\"' === d || \"'\" === d ? (L.preserveSingleSpace(), x.push(m(d))) : \" \" === d ? (O = !1, x.push(d), L.newLine()) : \"(\" === d ? _(\"url\") ? (x.push(d), v(), g() && (\")\" !== d && '\"' !== d && \"'\" !== d ? x.push(m(\")\")) : p--)) : (u++, L.preserveSingleSpace(), x.push(d), v()) : \")\" === d ? (x.push(d), u--) : \",\" === d ? (x.push(d), v(), o && !O && u < 1 ? L.newLine() : L.singleSpace()) : (\"]\" === d || (\"[\" === d ? L.preserveSingleSpace() : \"=\" === d ? (v(), d = \"=\") : L.preserveSingleSpace()), x.push(d));\n }\n var $ = \"\";\n return y && ($ += y), $ += x.join(\"\").replace(/[\\r\\n\\t ]+$/, \"\"), s && ($ += \"\\n\"), \"\\n\" != c && ($ = $.replace(/[\\n]/g, c)), $;\n }\n function q(e, t) {\n for (var a = 0; a < t.length; a += 1) if (t[a] === e) return !0;\n return !1;\n }\n function X(e) {\n return e.replace(/^\\s+|\\s+$/g, \"\");\n }\n function x(e, t) {\n return new r(e, t).beautify();\n }\n e = j, t = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\", a = new RegExp(\"[\".concat(t, \"]\")), n = new RegExp(\"[\".concat(t, \" \").concat(\"\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\", \"]\")), e.newline = /[\\n\\r\\u2028\\u2029]/, e.lineBreak = new RegExp(\"\\r\\n|\".concat(e.newline.source)), e.allLineBreaks = new RegExp(e.lineBreak.source, \"g\"), e.isIdentifierStart = function (e) {\n return e < 65 ? 36 === e || 64 === e : e < 91 || (e < 97 ? 95 === e : e < 123 || 170 <= e && a.test(String.fromCharCode(e)));\n }, e.isIdentifierChar = function (e) {\n return e < 48 ? 36 === e : e < 58 || !(e < 65) && (e < 91 || (e < 97 ? 95 === e : e < 123 || 170 <= e && n.test(String.fromCharCode(e))));\n };\n var Z = {\n BlockStatement: \"BlockStatement\",\n Statement: \"Statement\",\n ObjectLiteral: \"ObjectLiteral\",\n ArrayLiteral: \"ArrayLiteral\",\n ForInitializer: \"ForInitializer\",\n Conditional: \"Conditional\",\n Expression: \"Expression\"\n };\n function r(n, e) {\n var c,\n r,\n i,\n d,\n o,\n s,\n l,\n f,\n p,\n t,\n a,\n u,\n g,\n h = [],\n m = \"\";\n function v(e, t) {\n var a = 0;\n return e && (a = e.indentation_level, !c.just_added_newline() && e.line_indent_level > a && (a = e.line_indent_level)), {\n mode: t,\n parent: e,\n last_text: e ? e.last_text : \"\",\n last_word: e ? e.last_word : \"\",\n declaration_statement: !1,\n declaration_assignment: !1,\n multiline_frame: !1,\n if_block: !1,\n else_block: !1,\n do_block: !1,\n do_while: !1,\n in_case_statement: !1,\n in_case: !1,\n case_body: !1,\n indentation_level: a,\n line_indent_level: e ? e.line_indent_level : a,\n start_line_index: c.get_line_number(),\n ternary_depth: 0\n };\n }\n for (u = {\n TK_START_EXPR: function M() {\n x();\n var e = Z.Expression;\n if (\"[\" === d.text) {\n if (\"TK_WORD\" === o || \")\" === f.last_text) return \"TK_RESERVED\" === o && q(f.last_text, i.line_starters) && (c.space_before_token = !0), T(e), A(), C(), void (g.space_in_paren && (c.space_before_token = !0));\n e = Z.ArrayLiteral, k(f.mode) && (\"[\" !== f.last_text && (\",\" !== f.last_text || \"]\" !== s && \"}\" !== s) || g.keep_array_indentation || w());\n } else \"TK_RESERVED\" === o && \"for\" === f.last_text ? e = Z.ForInitializer : \"TK_RESERVED\" === o && q(f.last_text, [\"if\", \"while\"]) && (e = Z.Conditional);\n \" \" === f.last_text || \"TK_START_BLOCK\" === o ? w() : \"TK_END_EXPR\" === o || \"TK_START_EXPR\" === o || \"TK_END_BLOCK\" === o || \".\" === f.last_text ? _(d.wanted_newline) : \"TK_RESERVED\" === o && \"(\" === d.text || \"TK_WORD\" === o || \"TK_OPERATOR\" === o ? \"TK_RESERVED\" === o && (\"function\" === f.last_word || \"typeof\" === f.last_word) || \"*\" === f.last_text && \"function\" === s ? g.space_after_anon_function && (c.space_before_token = !0) : \"TK_RESERVED\" !== o || !q(f.last_text, i.line_starters) && \"catch\" !== f.last_text || g.space_before_conditional && (c.space_before_token = !0) : c.space_before_token = !0;\n \"(\" === d.text && \"TK_RESERVED\" === o && \"await\" === f.last_word && (c.space_before_token = !0);\n \"(\" === d.text && (\"TK_EQUALS\" !== o && \"TK_OPERATOR\" !== o || L() || _());\n T(e), A(), g.space_in_paren && (c.space_before_token = !0);\n C();\n },\n TK_END_EXPR: function N() {\n for (; f.mode === Z.Statement;) R();\n f.multiline_frame && _(\"]\" === d.text && k(f.mode) && !g.keep_array_indentation);\n g.space_in_paren && (\"TK_START_EXPR\" !== o || g.space_in_empty_paren ? c.space_before_token = !0 : (c.trim(), c.space_before_token = !1));\n \"]\" === d.text && g.keep_array_indentation ? (A(), R()) : (R(), A());\n c.remove_redundant_indentation(p), f.do_while && p.mode === Z.Conditional && (p.mode = Z.Expression, f.do_block = !1, f.do_while = !1);\n },\n TK_START_BLOCK: function D() {\n var e = O(1),\n t = O(2);\n t && (\":\" === t.text && q(e.type, [\"TK_STRING\", \"TK_WORD\", \"TK_RESERVED\"]) || q(e.text, [\"get\", \"set\"]) && q(t.type, [\"TK_WORD\", \"TK_RESERVED\"])) ? q(s, [\"class\", \"interface\"]) ? T(Z.BlockStatement) : T(Z.ObjectLiteral) : T(Z.BlockStatement);\n var a = !e.comments_before.length && \"}\" === e.text && \"function\" === f.last_word && \"TK_END_EXPR\" === o;\n \"expand\" === g.brace_style || \"none\" === g.brace_style && d.wanted_newline ? \"TK_OPERATOR\" !== o && (a || \"TK_EQUALS\" === o || \"TK_RESERVED\" === o && I(f.last_text) && \"else\" !== f.last_text) ? c.space_before_token = !0 : w(!1, !0) : \"TK_OPERATOR\" !== o && \"TK_START_EXPR\" !== o ? \"TK_START_BLOCK\" === o ? w() : c.space_before_token = !0 : k(p.mode) && \",\" === f.last_text && (\"}\" === s ? c.space_before_token = !0 : w());\n A(), C();\n },\n TK_END_BLOCK: function P() {\n for (; f.mode === Z.Statement;) R();\n var e = \"TK_START_BLOCK\" === o;\n \"expand\" === g.brace_style ? e || w() : e || (k(f.mode) && g.keep_array_indentation ? (g.keep_array_indentation = !1, w(), g.keep_array_indentation = !0) : w());\n R(), A();\n },\n TK_WORD: F,\n TK_RESERVED: F,\n TK_SEMICOLON: function B() {\n x() && (c.space_before_token = !1);\n for (; f.mode === Z.Statement && !f.if_block && !f.do_block;) R();\n A();\n },\n TK_STRING: function U() {\n x() ? c.space_before_token = !0 : \"TK_RESERVED\" === o || \"TK_WORD\" === o ? c.space_before_token = !0 : \"TK_COMMA\" === o || \"TK_START_EXPR\" === o || \"TK_EQUALS\" === o || \"TK_OPERATOR\" === o ? L() || _() : w();\n A();\n },\n TK_EQUALS: function $() {\n x();\n f.declaration_statement && (f.declaration_assignment = !0);\n c.space_before_token = !0, A(), c.space_before_token = !0;\n },\n TK_OPERATOR: function H() {\n x();\n if (\"TK_RESERVED\" === o && I(f.last_text)) return c.space_before_token = !0, void A();\n if (\"*\" === d.text && \"TK_DOT\" === o) return void A();\n if (\":\" === d.text && f.in_case) return f.case_body = !0, C(), A(), w(), void (f.in_case = !1);\n if (\"::\" === d.text) return void A();\n \"TK_OPERATOR\" === o && _();\n var e = !0,\n t = !0;\n q(d.text, [\"--\", \"++\", \"!\", \"~\"]) || q(d.text, [\"-\", \"+\"]) && (q(o, [\"TK_START_BLOCK\", \"TK_START_EXPR\", \"TK_EQUALS\", \"TK_OPERATOR\"]) || q(f.last_text, i.line_starters) || \",\" === f.last_text) ? (t = e = !1, !d.wanted_newline || \"--\" !== d.text && \"++\" !== d.text || w(!1, !0), \" \" === f.last_text && S(f.mode) && (e = !0), \"TK_RESERVED\" === o ? e = !0 : \"TK_END_EXPR\" === o ? e = !(\"]\" === f.last_text && (\"--\" === d.text || \"++\" === d.text)) : \"TK_OPERATOR\" === o && (e = q(d.text, [\"--\", \"-\", \"++\", \"+\"]) && q(f.last_text, [\"--\", \"-\", \"++\", \"+\"]), q(d.text, [\"+\", \"-\"]) && q(f.last_text, [\"--\", \"++\"]) && (t = !0)), f.mode !== Z.BlockStatement && f.mode !== Z.Statement || \"{\" !== f.last_text && \" \" !== f.last_text || w()) : \":\" === d.text ? 0 === f.ternary_depth ? e = !1 : f.ternary_depth -= 1 : \"?\" === d.text ? f.ternary_depth += 1 : \"*\" === d.text && \"TK_RESERVED\" === o && \"function\" === f.last_text && (t = e = !1);\n c.space_before_token = c.space_before_token || e, A(), c.space_before_token = t;\n },\n TK_COMMA: function z() {\n if (f.declaration_statement) return S(f.parent.mode) && (f.declaration_assignment = !1), A(), void (f.declaration_assignment ? w(f.declaration_assignment = !1, !0) : (c.space_before_token = !0, g.comma_first && _()));\n A(), f.mode === Z.ObjectLiteral || f.mode === Z.Statement && f.parent.mode === Z.ObjectLiteral ? (f.mode === Z.Statement && R(), w()) : (c.space_before_token = !0, g.comma_first && _());\n },\n TK_BLOCK_COMMENT: function K() {\n if (c.raw) return c.add_raw_token(d), void (d.directives && \"end\" === d.directives.preserve && (g.test_output_raw || (c.raw = !1)));\n if (d.directives) return w(!1, !0), A(), \"start\" === d.directives.preserve && (c.raw = !0), void w(!1, !0);\n if (!j.newline.test(d.text) && !d.wanted_newline) return c.space_before_token = !0, A(), void (c.space_before_token = !0);\n var e,\n t = function o(e) {\n var t;\n e = e.replace(/\\x0d/g, \"\");\n var a = [];\n t = e.indexOf(\"\\n\");\n for (; -1 !== t;) a.push(e.substring(0, t)), e = e.substring(t + 1), t = e.indexOf(\"\\n\");\n e.length && a.push(e);\n return a;\n }(d.text),\n a = !1,\n n = !1,\n r = d.whitespace_before,\n i = r.length;\n w(!1, !0), 1 < t.length && (!function s(e, t) {\n for (var a = 0; a < e.length; a++) {\n var n = X(e[a]);\n if (n.charAt(0) !== t) return !1;\n }\n return !0;\n }(t.slice(1), \"*\") ? function l(e, t) {\n for (var a, n = 0, r = e.length; n < r; n++) if ((a = e[n]) && 0 !== a.indexOf(t)) return !1;\n return !0;\n }(t.slice(1), r) && (n = !0) : a = !0);\n for (A(t[0]), e = 1; e < t.length; e++) w(!1, !0), a ? A(\" \".concat(t[e].replace(/^\\s+/g, \"\"))) : n && t[e].length > i ? A(t[e].substring(i)) : c.add_token(t[e]);\n w(!1, !0);\n },\n TK_COMMENT: function W() {\n d.wanted_newline ? w(!1, !0) : c.trim(!0);\n c.space_before_token = !0, A(), w(!1, !0);\n },\n TK_DOT: function G() {\n x();\n \"TK_RESERVED\" === o && I(f.last_text) ? c.space_before_token = !0 : _(\")\" === f.last_text && g.break_chained_methods);\n A();\n },\n TK_UNKNOWN: function V() {\n A(), \"\\n\" === d.text[d.text.length - 1] && w();\n },\n TK_EOF: function Y() {\n for (; f.mode === Z.Statement;) R();\n }\n }, g = {}, (e = e || {}).braces_on_own_line !== undefined && (g.brace_style = e.braces_on_own_line ? \"expand\" : \"collapse\"), g.brace_style = e.brace_style ? e.brace_style : g.brace_style ? g.brace_style : \"collapse\", \"expand-strict\" === g.brace_style && (g.brace_style = \"expand\"), g.indent_size = e.indent_size ? parseInt(e.indent_size, 10) : 4, g.indent_char = e.indent_char ? e.indent_char : \" \", g.eol = e.eol ? e.eol : \"\\n\", g.preserve_newlines = e.preserve_newlines === undefined || e.preserve_newlines, g.break_chained_methods = e.break_chained_methods !== undefined && e.break_chained_methods, g.max_preserve_newlines = e.max_preserve_newlines === undefined ? 0 : parseInt(e.max_preserve_newlines, 10), g.space_in_paren = e.space_in_paren !== undefined && e.space_in_paren, g.space_in_empty_paren = e.space_in_empty_paren !== undefined && e.space_in_empty_paren, g.jslint_happy = e.jslint_happy !== undefined && e.jslint_happy, g.space_after_anon_function = e.space_after_anon_function !== undefined && e.space_after_anon_function, g.keep_array_indentation = e.keep_array_indentation !== undefined && e.keep_array_indentation, g.space_before_conditional = e.space_before_conditional === undefined || e.space_before_conditional, g.unescape_strings = e.unescape_strings !== undefined && e.unescape_strings, g.wrap_line_length = e.wrap_line_length === undefined ? 0 : parseInt(e.wrap_line_length, 10), g.e4x = e.e4x !== undefined && e.e4x, g.end_with_newline = e.end_with_newline !== undefined && e.end_with_newline, g.comma_first = e.comma_first !== undefined && e.comma_first, g.test_output_raw = e.test_output_raw !== undefined && e.test_output_raw, g.jslint_happy && (g.space_after_anon_function = !0), e.indent_with_tabs && (g.indent_char = \"\\t\", g.indent_size = 1), g.eol = g.eol.replace(/\\\\r/, \"\\r\").replace(/\\\\n/, \"\\n\"), l = \"\"; 0 < g.indent_size;) l += g.indent_char, g.indent_size -= 1;\n var b = 0;\n if (n && n.length) {\n for (; \" \" === n.charAt(b) || \"\\t\" === n.charAt(b);) m += n.charAt(b), b += 1;\n n = n.substring(b);\n }\n function E(e) {\n var t = e.newlines;\n if (g.keep_array_indentation && k(f.mode)) for (var a = 0; a < t; a += 1) w(0 < a);else if (g.max_preserve_newlines && t > g.max_preserve_newlines && (t = g.max_preserve_newlines), g.preserve_newlines && 1 < e.newlines) {\n w();\n for (var n = 1; n < t; n += 1) w(!0);\n }\n u[(d = e).type]();\n }\n function _(e) {\n if (e = e !== undefined && e, !c.just_added_newline()) if (g.preserve_newlines && d.wanted_newline || e) w(!1, !0);else if (g.wrap_line_length) {\n c.current_line.get_character_count() + d.text.length + (c.space_before_token ? 1 : 0) >= g.wrap_line_length && w(!1, !0);\n }\n }\n function w(e, t) {\n if (!t && \" \" !== f.last_text && \",\" !== f.last_text && \"=\" !== f.last_text && \"TK_OPERATOR\" !== o) for (; f.mode === Z.Statement && !f.if_block && !f.do_block;) R();\n c.add_new_line(e) && (f.multiline_frame = !0);\n }\n function y() {\n c.just_added_newline() && (g.keep_array_indentation && k(f.mode) && d.wanted_newline ? (c.current_line.push(d.whitespace_before), c.space_before_token = !1) : c.set_indent(f.indentation_level) && (f.line_indent_level = f.indentation_level));\n }\n function A(e) {\n c.raw ? c.add_raw_token(d) : (g.comma_first && \"TK_COMMA\" === o && c.just_added_newline() && \",\" === c.previous_line.last() && (c.previous_line.pop(), y(), c.add_token(\",\"), c.space_before_token = !0), e = e || d.text, y(), c.add_token(e));\n }\n function C() {\n f.indentation_level += 1;\n }\n function T(e) {\n p = f ? (t.push(f), f) : v(null, e), f = v(p, e);\n }\n function k(e) {\n return e === Z.ArrayLiteral;\n }\n function S(e) {\n return q(e, [Z.Expression, Z.ForInitializer, Z.Conditional]);\n }\n function R() {\n 0 < t.length && (p = f, f = t.pop(), p.mode === Z.Statement && c.remove_redundant_indentation(p));\n }\n function L() {\n return f.parent.mode === Z.ObjectLiteral && f.mode === Z.Statement && (\":\" === f.last_text && 0 === f.ternary_depth || \"TK_RESERVED\" === o && q(f.last_text, [\"get\", \"set\"]));\n }\n function x() {\n return !!(\"TK_RESERVED\" === o && q(f.last_text, [\"const\", \"let\", \"const\"]) && \"TK_WORD\" === d.type || \"TK_RESERVED\" === o && \"do\" === f.last_text || \"TK_RESERVED\" === o && \"return\" === f.last_text && !d.wanted_newline || \"TK_RESERVED\" === o && \"else\" === f.last_text && (\"TK_RESERVED\" !== d.type || \"if\" !== d.text) || \"TK_END_EXPR\" === o && (p.mode === Z.ForInitializer || p.mode === Z.Conditional) || \"TK_WORD\" === o && f.mode === Z.BlockStatement && !f.in_case && \"--\" !== d.text && \"++\" !== d.text && \"function\" !== s && \"TK_WORD\" !== d.type && \"TK_RESERVED\" !== d.type || f.mode === Z.ObjectLiteral && (\":\" === f.last_text && 0 === f.ternary_depth || \"TK_RESERVED\" === o && q(f.last_text, [\"get\", \"set\"]))) && (T(Z.Statement), C(), \"TK_RESERVED\" === o && q(f.last_text, [\"const\", \"let\", \"const\"]) && \"TK_WORD\" === d.type && (f.declaration_statement = !0), L() || _(\"TK_RESERVED\" === d.type && q(d.text, [\"do\", \"for\", \"if\", \"while\"])), !0);\n }\n function I(e) {\n return q(e, [\"case\", \"return\", \"do\", \"if\", \"throw\", \"else\"]);\n }\n function O(e) {\n var t = r + (e || 0);\n return t < 0 || t >= h.length ? null : h[t];\n }\n function F() {\n (\"TK_RESERVED\" === d.type && f.mode !== Z.ObjectLiteral && q(d.text, [\"set\", \"get\"]) && (d.type = \"TK_WORD\"), \"TK_RESERVED\" === d.type && f.mode === Z.ObjectLiteral) && \":\" === O(1).text && (d.type = \"TK_WORD\");\n if (x() || !d.wanted_newline || S(f.mode) || \"TK_OPERATOR\" === o && \"--\" !== f.last_text && \"++\" !== f.last_text || \"TK_EQUALS\" === o || !g.preserve_newlines && \"TK_RESERVED\" === o && q(f.last_text, [\"const\", \"let\", \"const\", \"set\", \"get\"]) || w(), f.do_block && !f.do_while) {\n if (\"TK_RESERVED\" === d.type && \"while\" === d.text) return c.space_before_token = !0, A(), c.space_before_token = !0, void (f.do_while = !0);\n w(), f.do_block = !1;\n }\n if (f.if_block) if (f.else_block || \"TK_RESERVED\" !== d.type || \"else\" !== d.text) {\n for (; f.mode === Z.Statement;) R();\n f.if_block = !1, f.else_block = !1;\n } else f.else_block = !0;\n if (\"TK_RESERVED\" === d.type && (\"case\" === d.text || \"default\" === d.text && f.in_case_statement)) return w(), (f.case_body || g.jslint_happy) && (!function e() {\n 0 < f.indentation_level && (!f.parent || f.indentation_level > f.parent.indentation_level) && (f.indentation_level -= 1);\n }(), f.case_body = !1), A(), f.in_case = !0, void (f.in_case_statement = !0);\n if (\"TK_RESERVED\" === d.type && \"function\" === d.text && ((q(f.last_text, [\"}\", \" \"]) || c.just_added_newline() && !q(f.last_text, [\"[\", \"{\", \":\", \"=\", \",\"])) && (c.just_added_blankline() || d.comments_before.length || (w(), w(!0))), \"TK_RESERVED\" === o || \"TK_WORD\" === o ? \"TK_RESERVED\" === o && q(f.last_text, [\"get\", \"set\", \"new\", \"return\", \"export\", \"async\"]) ? c.space_before_token = !0 : \"TK_RESERVED\" === o && \"default\" === f.last_text && \"export\" === s ? c.space_before_token = !0 : w() : \"TK_OPERATOR\" === o || \"=\" === f.last_text ? c.space_before_token = !0 : (f.multiline_frame || !S(f.mode) && !k(f.mode)) && w()), \"TK_COMMA\" !== o && \"TK_START_EXPR\" !== o && \"TK_EQUALS\" !== o && \"TK_OPERATOR\" !== o || L() || _(), \"TK_RESERVED\" === d.type && q(d.text, [\"function\", \"get\", \"set\"])) return A(), void (f.last_word = d.text);\n (a = \"NONE\", \"TK_END_BLOCK\" === o ? \"TK_RESERVED\" === d.type && q(d.text, [\"else\", \"catch\", \"finally\"]) ? \"expand\" === g.brace_style || \"end-expand\" === g.brace_style || \"none\" === g.brace_style && d.wanted_newline ? a = \"NEWLINE\" : (a = \"SPACE\", c.space_before_token = !0) : a = \"NEWLINE\" : \"TK_SEMICOLON\" === o && f.mode === Z.BlockStatement ? a = \"NEWLINE\" : \"TK_SEMICOLON\" === o && S(f.mode) ? a = \"SPACE\" : \"TK_STRING\" === o ? a = \"NEWLINE\" : \"TK_RESERVED\" === o || \"TK_WORD\" === o || \"*\" === f.last_text && \"function\" === s ? a = \"SPACE\" : \"TK_START_BLOCK\" === o ? a = \"NEWLINE\" : \"TK_END_EXPR\" === o && (c.space_before_token = !0, a = \"NEWLINE\"), \"TK_RESERVED\" === d.type && q(d.text, i.line_starters) && \")\" !== f.last_text && (a = \"else\" === f.last_text || \"export\" === f.last_text ? \"SPACE\" : \"NEWLINE\"), \"TK_RESERVED\" === d.type && q(d.text, [\"else\", \"catch\", \"finally\"])) ? \"TK_END_BLOCK\" !== o || \"expand\" === g.brace_style || \"end-expand\" === g.brace_style || \"none\" === g.brace_style && d.wanted_newline ? w() : (c.trim(!0), \"}\" !== c.current_line.last() && w(), c.space_before_token = !0) : \"NEWLINE\" === a ? \"TK_RESERVED\" === o && I(f.last_text) ? c.space_before_token = !0 : \"TK_END_EXPR\" !== o ? \"TK_START_EXPR\" === o && \"TK_RESERVED\" === d.type && q(d.text, [\"const\", \"let\", \"const\"]) || \":\" === f.last_text || (\"TK_RESERVED\" === d.type && \"if\" === d.text && \"else\" === f.last_text ? c.space_before_token = !0 : w()) : \"TK_RESERVED\" === d.type && q(d.text, i.line_starters) && \")\" !== f.last_text && w() : f.multiline_frame && k(f.mode) && \",\" === f.last_text && \"}\" === s ? w() : \"SPACE\" === a && (c.space_before_token = !0);\n A(), f.last_word = d.text, \"TK_RESERVED\" === d.type && \"do\" === d.text && (f.do_block = !0), \"TK_RESERVED\" === d.type && \"if\" === d.text && (f.if_block = !0);\n }\n o = \"TK_START_BLOCK\", s = \"\", (c = new Q(l, m)).raw = g.test_output_raw, t = [], T(Z.BlockStatement), this.beautify = function () {\n var e, t;\n for (i = new ee(n, g, l), h = i.tokenize(), r = 0; e = O();) {\n for (var a = 0; a < e.comments_before.length; a++) E(e.comments_before[a]);\n E(e), s = f.last_text, o = e.type, f.last_text = e.text, r += 1;\n }\n return t = c.get_code(), g.end_with_newline && (t += \"\\n\"), \"\\n\" != g.eol && (t = t.replace(/[\\n]/g, g.eol)), t;\n };\n }\n function i(t) {\n var a = 0,\n n = -1,\n r = [],\n i = !0;\n this.set_indent = function (e) {\n a = t.baseIndentLength + e * t.indent_length, n = e;\n }, this.get_character_count = function () {\n return a;\n }, this.is_empty = function () {\n return i;\n }, this.last = function () {\n return this._empty ? null : r[r.length - 1];\n }, this.push = function (e) {\n r.push(e), a += e.length, i = !1;\n }, this.pop = function () {\n var e = null;\n return i || (e = r.pop(), a -= e.length, i = 0 === r.length), e;\n }, this.remove_indent = function () {\n 0 < n && (n -= 1, a -= t.indent_length);\n }, this.trim = function () {\n for (; \" \" === this.last();) r.pop(), a -= 1;\n i = 0 === r.length;\n }, this.toString = function () {\n var e = \"\";\n return this._empty || (0 <= n && (e = t.indent_cache[n]), e += r.join(\"\")), e;\n };\n }\n function Q(t, a) {\n a = a || \"\", this.indent_cache = [a], this.baseIndentLength = a.length, this.indent_length = t.length, this.raw = !1;\n var n = [];\n this.baseIndentString = a, this.indent_string = t, this.previous_line = null, this.current_line = null, this.space_before_token = !1, this.add_outputline = function () {\n this.previous_line = this.current_line, this.current_line = new i(this), n.push(this.current_line);\n }, this.add_outputline(), this.get_line_number = function () {\n return n.length;\n }, this.add_new_line = function (e) {\n return (1 !== this.get_line_number() || !this.just_added_newline()) && !(!e && this.just_added_newline()) && (this.raw || this.add_outputline(), !0);\n }, this.get_code = function () {\n return n.join(\"\\n\").replace(/[\\r\\n\\t ]+$/, \"\");\n }, this.set_indent = function (e) {\n if (1 < n.length) {\n for (; e >= this.indent_cache.length;) this.indent_cache.push(this.indent_cache[this.indent_cache.length - 1] + this.indent_string);\n return this.current_line.set_indent(e), !0;\n }\n return this.current_line.set_indent(0), !1;\n }, this.add_raw_token = function (e) {\n for (var t = 0; t < e.newlines; t++) this.add_outputline();\n this.current_line.push(e.whitespace_before), this.current_line.push(e.text), this.space_before_token = !1;\n }, this.add_token = function (e) {\n this.add_space_before_token(), this.current_line.push(e);\n }, this.add_space_before_token = function () {\n this.space_before_token && !this.just_added_newline() && this.current_line.push(\" \"), this.space_before_token = !1;\n }, this.remove_redundant_indentation = function (e) {\n if (!e.multiline_frame && e.mode !== Z.ForInitializer && e.mode !== Z.Conditional) for (var t = e.start_line_index, a = n.length; t < a;) n[t].remove_indent(), t++;\n }, this.trim = function (e) {\n for (e = e !== undefined && e, this.current_line.trim(t, a); e && 1 < n.length && this.current_line.is_empty();) n.pop(), this.current_line = n[n.length - 1], this.current_line.trim();\n this.previous_line = 1 < n.length ? n[n.length - 2] : null;\n }, this.just_added_newline = function () {\n return this.current_line.is_empty();\n }, this.just_added_blankline = function () {\n return !!this.just_added_newline() && (1 === n.length || n[n.length - 2].is_empty());\n };\n }\n var J = function J(e, t, a, n, r, i) {\n this.type = e, this.text = t, this.comments_before = [], this.newlines = a || 0, this.wanted_newline = 0 < a, this.whitespace_before = n || \"\", this.parent = null, this.directives = null;\n };\n function ee(R, L, e) {\n var x = \"\\n\\r\\t \".split(\"\"),\n I = /[0-9]/,\n O = /[01234567]/,\n F = /[0123456789abcdefABCDEF]/,\n M = \"+ - * / % & ++ -- = += -= *= /= %= == === != !== > < >= <= >> << >>> >>>= >>= <<= && &= | || ! ~ , : ? ^ ^= |= :: =>\".split(\" \");\n this.line_starters = \"continue,try,throw,return,const,let,const,if,switch,case,default,for,while,break,function,import,export\".split(\",\");\n var N,\n D,\n P,\n B,\n U,\n $,\n H = this.line_starters.concat([\"do\", \"in\", \"else\", \"get\", \"set\", \"new\", \"catch\", \"finally\", \"typeof\", \"yield\", \"async\", \"await\"]),\n z = /([\\s\\S]*?)((?:\\*\\/)|$)/g,\n K = /([^\\n\\r\\u2028\\u2029]*)/g,\n W = /\\/\\* beautify( \\w+[:]\\w+)+ \\*\\//g,\n G = / (\\w+)[:](\\w+)/g,\n V = /([\\s\\S]*?)((?:\\/\\*\\sbeautify\\signore:end\\s\\*\\/)|$)/g,\n Y = /((<\\?php|<\\?=)[\\s\\S]*?\\?>)|(<%[\\s\\S]*?%>)/g;\n function o() {\n var e,\n t,\n a = [];\n if (N = 0, D = \"\", $ <= U) return [\"\", \"TK_EOF\"];\n t = B.length ? B[B.length - 1] : new J(\"TK_START_BLOCK\", \"{\");\n var n = R.charAt(U);\n for (U += 1; q(n, x);) {\n if (j.newline.test(n) ? \"\\n\" === n && \"\\r\" === R.charAt(U - 2) || (N += 1, a = []) : a.push(n), $ <= U) return [\"\", \"TK_EOF\"];\n n = R.charAt(U), U += 1;\n }\n if (a.length && (D = a.join(\"\")), I.test(n)) {\n var r = !0,\n i = !0,\n o = I;\n for (\"0\" === n && U < $ && /[Xxo]/.test(R.charAt(U)) ? (i = r = !1, n += R.charAt(U), U += 1, o = /[o]/.test(R.charAt(U)) ? O : F) : (n = \"\", U -= 1); U < $ && o.test(R.charAt(U));) n += R.charAt(U), U += 1, r && U < $ && \".\" === R.charAt(U) && (n += R.charAt(U), U += 1, r = !1), i && U < $ && /[Ee]/.test(R.charAt(U)) && (n += R.charAt(U), (U += 1) < $ && /[+-]/.test(R.charAt(U)) && (n += R.charAt(U), U += 1), r = i = !1);\n return [n, \"TK_WORD\"];\n }\n if (j.isIdentifierStart(R.charCodeAt(U - 1))) {\n if (U < $) for (; j.isIdentifierChar(R.charCodeAt(U)) && (n += R.charAt(U), (U += 1) !== $););\n return \"TK_DOT\" === t.type || \"TK_RESERVED\" === t.type && q(t.text, [\"set\", \"get\"]) || !q(n, H) ? [n, \"TK_WORD\"] : \"in\" === n ? [n, \"TK_OPERATOR\"] : [n, \"TK_RESERVED\"];\n }\n if (\"(\" === n || \"[\" === n) return [n, \"TK_START_EXPR\"];\n if (\")\" === n || \"]\" === n) return [n, \"TK_END_EXPR\"];\n if (\"{\" === n) return [n, \"TK_START_BLOCK\"];\n if (\"}\" === n) return [n, \"TK_END_BLOCK\"];\n if (\" \" === n) return [n, \"TK_SEMICOLON\"];\n if (\"/\" === n) {\n var s = \"\";\n if (\"*\" === R.charAt(U)) {\n U += 1, z.lastIndex = U;\n var l = z.exec(R);\n s = \"/*\".concat(l[0]), U += l[0].length;\n var c = function k(e) {\n if (!e.match(W)) return null;\n var t = {};\n G.lastIndex = 0;\n for (var a = G.exec(e); a;) t[a[1]] = a[2], a = G.exec(e);\n return t;\n }(s);\n return c && \"start\" === c.ignore && (V.lastIndex = U, s += (l = V.exec(R))[0], U += l[0].length), [s = s.replace(j.lineBreak, \"\\n\"), \"TK_BLOCK_COMMENT\", c];\n }\n if (\"/\" === R.charAt(U)) {\n U += 1, K.lastIndex = U;\n var d = K.exec(R);\n return s = \"//\".concat(d[0]), U += d[0].length, [s, \"TK_COMMENT\"];\n }\n }\n if (\"`\" === n || \"'\" === n || '\"' === n || (\"/\" === n || L.e4x && \"<\" === n && R.slice(U - 1).match(/^<([-a-zA-Z:0-9_.]+|{[^{}]*}|!\\[CDATA\\[[\\s\\S]*?\\]\\])(\\s+[-a-zA-Z:0-9_.]+\\s*=\\s*('[^']*'|\"[^\"]*\"|{.*?}))*\\s*(\\/?)\\s*>/)) && (\"TK_RESERVED\" === t.type && q(t.text, [\"return\", \"case\", \"throw\", \"else\", \"do\", \"typeof\", \"yield\"]) || \"TK_END_EXPR\" === t.type && \")\" === t.text && t.parent && \"TK_RESERVED\" === t.parent.type && q(t.parent.text, [\"if\", \"while\", \"for\"]) || q(t.type, [\"TK_COMMENT\", \"TK_START_EXPR\", \"TK_START_BLOCK\", \"TK_END_BLOCK\", \"TK_OPERATOR\", \"TK_EQUALS\", \"TK_EOF\", \"TK_SEMICOLON\", \"TK_COMMA\"]))) {\n var f = n,\n p = !1,\n u = !1;\n if (e = n, \"/\" === f) for (var g = !1; U < $ && (p || g || R.charAt(U) !== f) && !j.newline.test(R.charAt(U));) e += R.charAt(U), p ? p = !1 : (p = \"\\\\\" === R.charAt(U), \"[\" === R.charAt(U) ? g = !0 : \"]\" === R.charAt(U) && (g = !1)), U += 1;else if (L.e4x && \"<\" === f) {\n var h = /<(\\/?)([-a-zA-Z:0-9_.]+|{[^{}]*}|!\\[CDATA\\[[\\s\\S]*?\\]\\])(\\s+[-a-zA-Z:0-9_.]+\\s*=\\s*('[^']*'|\"[^\"]*\"|{.*?}))*\\s*(\\/?)\\s*>/g,\n m = R.slice(U - 1),\n v = h.exec(m);\n if (v && 0 === v.index) {\n for (var b = v[2], E = 0; v;) {\n var _ = !!v[1],\n w = v[2],\n y = !!v[v.length - 1] || \"![CDATA[\" === w.slice(0, 8);\n if (w !== b || y || (_ ? --E : ++E), E <= 0) break;\n v = h.exec(m);\n }\n var A = v ? v.index + v[0].length : m.length;\n return m = m.slice(0, A), U += A - 1, [m = m.replace(j.lineBreak, \"\\n\"), \"TK_STRING\"];\n }\n } else for (; U < $ && (p || R.charAt(U) !== f && (\"`\" === f || !j.newline.test(R.charAt(U))));) (p || \"`\" === f) && j.newline.test(R.charAt(U)) ? (\"\\r\" === R.charAt(U) && \"\\n\" === R.charAt(U + 1) && (U += 1), e += \"\\n\") : e += R.charAt(U), p = p ? (\"x\" !== R.charAt(U) && \"u\" !== R.charAt(U) || (u = !0), !1) : \"\\\\\" === R.charAt(U), U += 1;\n if (u && L.unescape_strings && (e = function S(e) {\n var t,\n a = !1,\n n = \"\",\n r = 0,\n i = \"\",\n o = 0;\n for (; a || r < e.length;) if (t = e.charAt(r), r++, a) {\n if (a = !1, \"x\" === t) i = e.substr(r, 2), r += 2;else {\n if (\"u\" !== t) {\n n += \"\\\\\".concat(t);\n continue;\n }\n i = e.substr(r, 4), r += 4;\n }\n if (!i.match(/^[0123456789abcdefABCDEF]+$/)) return e;\n if (0 <= (o = parseInt(i, 16)) && o < 32) {\n n += \"x\" === t ? \"\\\\x\".concat(i) : \"\\\\u\".concat(i);\n continue;\n }\n if (34 === o || 39 === o || 92 === o) n += \"\\\\\".concat(String.fromCharCode(o));else {\n if (\"x\" === t && 126 < o && o <= 255) return e;\n n += String.fromCharCode(o);\n }\n } else \"\\\\\" === t ? a = !0 : n += t;\n return n;\n }(e)), U < $ && R.charAt(U) === f && (e += f, U += 1, \"/\" === f)) for (; U < $ && j.isIdentifierStart(R.charCodeAt(U));) e += R.charAt(U), U += 1;\n return [e, \"TK_STRING\"];\n }\n if (\"#\" === n) {\n if (0 === B.length && \"!\" === R.charAt(U)) {\n for (e = n; U < $ && \"\\n\" !== n;) e += n = R.charAt(U), U += 1;\n return [\"\".concat(X(e), \"\\n\"), \"TK_UNKNOWN\"];\n }\n var C = \"#\";\n if (U < $ && I.test(R.charAt(U))) {\n for (; C += n = R.charAt(U), (U += 1) < $ && \"#\" !== n && \"=\" !== n;);\n return \"#\" === n || (\"[\" === R.charAt(U) && \"]\" === R.charAt(U + 1) ? (C += \"[]\", U += 2) : \"{\" === R.charAt(U) && \"}\" === R.charAt(U + 1) && (C += \"{}\", U += 2)), [C, \"TK_WORD\"];\n }\n }\n if (\"<\" === n && (\"?\" === R.charAt(U) || \"%\" === R.charAt(U))) {\n Y.lastIndex = U - 1;\n var T = Y.exec(R);\n if (T) return n = T[0], U += n.length - 1, [n = n.replace(j.lineBreak, \"\\n\"), \"TK_STRING\"];\n }\n if (\"<\" === n && \"\\x3c!--\" === R.substring(U - 1, U + 3)) {\n for (U += 3, n = \"\\x3c!--\"; !j.newline.test(R.charAt(U)) && U < $;) n += R.charAt(U), U++;\n return P = !0, [n, \"TK_COMMENT\"];\n }\n if (\"-\" === n && P && \"--\\x3e\" === R.substring(U - 1, U + 2)) return P = !1, U += 2, [\"--\\x3e\", \"TK_COMMENT\"];\n if (\".\" === n) return [n, \"TK_DOT\"];\n if (q(n, M)) {\n for (; U < $ && q(n + R.charAt(U), M) && (n += R.charAt(U), !($ <= (U += 1))););\n return \",\" === n ? [n, \"TK_COMMA\"] : \"=\" === n ? [n, \"TK_EQUALS\"] : [n, \"TK_OPERATOR\"];\n }\n return [n, \"TK_UNKNOWN\"];\n }\n this.tokenize = function () {\n var e, t, a;\n $ = R.length, U = 0, P = !1, B = [];\n for (var n = null, r = [], i = []; !t || \"TK_EOF\" !== t.type;) {\n for (a = o(), e = new J(a[1], a[0], N, D); \"TK_COMMENT\" === e.type || \"TK_BLOCK_COMMENT\" === e.type || \"TK_UNKNOWN\" === e.type;) \"TK_BLOCK_COMMENT\" === e.type && (e.directives = a[2]), i.push(e), a = o(), e = new J(a[1], a[0], N, D);\n i.length && (e.comments_before = i, i = []), \"TK_START_BLOCK\" === e.type || \"TK_START_EXPR\" === e.type ? (e.parent = t, r.push(n), n = e) : (\"TK_END_BLOCK\" === e.type || \"TK_END_EXPR\" === e.type) && n && (\"]\" === e.text && \"[\" === n.text || \")\" === e.text && \"(\" === n.text || \"}\" === e.text && \"{\" === n.text) && (e.parent = n.parent, n = r.pop()), B.push(e), t = e;\n }\n return B;\n };\n }\n return {\n run: function I(e, t) {\n function o(e) {\n return e.replace(/\\s+$/g, \"\");\n }\n var a, n, r, m, i, s, v, l, c, b, E, _, d, f;\n for ((t = t || {}).wrap_line_length !== undefined && 0 !== parseInt(t.wrap_line_length, 10) || t.max_char === undefined || 0 === parseInt(t.max_char, 10) || (t.wrap_line_length = t.max_char), n = t.indent_inner_html !== undefined && t.indent_inner_html, r = t.indent_size === undefined ? 4 : parseInt(t.indent_size, 10), m = t.indent_char === undefined ? \" \" : t.indent_char, s = t.brace_style === undefined ? \"collapse\" : t.brace_style, i = 0 === parseInt(t.wrap_line_length, 10) ? 32786 : parseInt(t.wrap_line_length || 250, 10), v = t.unformatted || [\"a\", \"span\", \"img\", \"bdo\", \"em\", \"strong\", \"dfn\", \"code\", \"samp\", \"kbd\", \"const\", \"cite\", \"abbr\", \"acronym\", \"q\", \"sub\", \"sup\", \"tt\", \"i\", \"b\", \"big\", \"small\", \"u\", \"s\", \"strike\", \"font\", \"ins\", \"del\", \"address\", \"pre\"], l = t.preserve_newlines === undefined || t.preserve_newlines, c = l ? isNaN(parseInt(t.max_preserve_newlines, 10)) ? 32786 : parseInt(t.max_preserve_newlines, 10) : 0, b = t.indent_handlebars !== undefined && t.indent_handlebars, E = t.wrap_attributes === undefined ? \"auto\" : t.wrap_attributes, _ = t.wrap_attributes_indent_size === undefined ? r : parseInt(t.wrap_attributes_indent_size, 10) || r, d = t.end_with_newline !== undefined && t.end_with_newline, f = Array.isArray(t.extra_liners) ? t.extra_liners.concat() : \"string\" == typeof t.extra_liners ? t.extra_liners.split(\",\") : \"head,body,/html\".split(\",\"), t.indent_with_tabs && (m = \"\\t\", r = 1), (a = new function R() {\n return this.pos = 0, this.token = \"\", this.current_mode = \"CONTENT\", this.tags = {\n parent: \"parent1\",\n parentcount: 1,\n parent1: \"\"\n }, this.tag_type = \"\", this.token_text = this.last_token = this.last_text = this.token_type = \"\", this.newlines = 0, this.indent_content = n, this.Utils = {\n whitespace: \"\\n\\r\\t \".split(\"\"),\n single_token: \"br,input,link,meta,source,!doctype,basefont,base,area,hr,wbr,param,img,isindex,embed\".split(\",\"),\n extra_liners: f,\n in_array: function (e, t) {\n for (var a = 0; a < t.length; a++) if (e === t[a]) return !0;\n return !1;\n }\n }, this.is_whitespace = function (e) {\n for (; 0 < e.length; e++) if (!this.Utils.in_array(e.charAt(0), this.Utils.whitespace)) return !1;\n return !0;\n }, this.traverse_whitespace = function () {\n var e = \"\";\n if (e = this.input.charAt(this.pos), this.Utils.in_array(e, this.Utils.whitespace)) {\n for (this.newlines = 0; this.Utils.in_array(e, this.Utils.whitespace);) l && \"\\n\" === e && this.newlines <= c && (this.newlines += 1), this.pos++, e = this.input.charAt(this.pos);\n return !0;\n }\n return !1;\n }, this.space_or_wrap = function (e) {\n this.line_char_count >= this.wrap_line_length ? (this.print_newline(!1, e), this.print_indentation(e)) : (this.line_char_count++, e.push(\" \"));\n }, this.get_content = function () {\n for (var e = \"\", t = []; \"<\" != this.input.charAt(this.pos);) {\n if (this.pos >= this.input.length) return t.length ? t.join(\"\") : [\"\", \"TK_EOF\"];\n if (this.traverse_whitespace()) this.space_or_wrap(t);else {\n if (b) {\n var a = this.input.substr(this.pos, 3);\n if (\"{{#\" === a || \"{{/\" === a) break;\n if (\"{{!\" === a) return [this.get_tag(), \"TK_TAG_HANDLEBARS_COMMENT\"];\n if (\"{{\" === this.input.substr(this.pos, 2) && \"{{else}}\" === this.get_tag(!0)) break;\n }\n e = this.input.charAt(this.pos), this.pos++, this.line_char_count++, t.push(e);\n }\n }\n return t.length ? t.join(\"\") : \"\";\n }, this.get_contents_to = function (e) {\n if (this.pos === this.input.length) return [\"\", \"TK_EOF\"];\n var t = \"\",\n a = new RegExp(\"</\".concat(e, \"\\\\s*>\"), \"igm\");\n a.lastIndex = this.pos;\n var n = a.exec(this.input),\n r = n ? n.index : this.input.length;\n return this.pos < r && (t = this.input.substring(this.pos, r), this.pos = r), t;\n }, this.record_tag = function (e) {\n this.tags[\"\".concat(e, \"count\")] ? this.tags[\"\".concat(e, \"count\")]++ : this.tags[\"\".concat(e, \"count\")] = 1, this.tags[e + this.tags[\"\".concat(e, \"count\")]] = this.indent_level, this.tags[e + this.tags[\"\".concat(e, \"count\")] + \"parent\"] = this.tags.parent, this.tags.parent = e + this.tags[\"\".concat(e, \"count\")];\n }, this.retrieve_tag = function (e) {\n if (this.tags[\"\".concat(e, \"count\")]) {\n for (var t = this.tags.parent; t && e + this.tags[\"\".concat(e, \"count\")] !== t;) t = this.tags[\"\".concat(t, \"parent\")];\n t && (this.indent_level = this.tags[e + this.tags[\"\".concat(e, \"count\")]], this.tags.parent = this.tags[t + \"parent\"]), delete this.tags[e + this.tags[\"\".concat(e, \"count\")] + \"parent\"], delete this.tags[e + this.tags[\"\".concat(e, \"count\")]], 1 === this.tags[\"\".concat(e, \"count\")] ? delete this.tags[\"\".concat(e, \"count\")] : this.tags[\"\".concat(e, \"count\")]--;\n }\n }, this.indent_to_tag = function (e) {\n if (this.tags[\"\".concat(e, \"count\")]) {\n for (var t = this.tags.parent; t && e + this.tags[\"\".concat(e, \"count\")] !== t;) t = this.tags[\"\".concat(t, \"parent\")];\n t && (this.indent_level = this.tags[e + this.tags[\"\".concat(e, \"count\")]]);\n }\n }, this.get_tag = function (e) {\n var t,\n a,\n n = \"\",\n r = [],\n i = \"\",\n o = !1,\n s = !0,\n l = this.pos,\n c = this.line_char_count;\n e = e !== undefined && e;\n do {\n if (this.pos >= this.input.length) return e && (this.pos = l, this.line_char_count = c), r.length ? r.join(\"\") : [\"\", \"TK_EOF\"];\n if (n = this.input.charAt(this.pos), this.pos++, this.Utils.in_array(n, this.Utils.whitespace)) o = !0;else {\n if (\"'\" !== n && '\"' !== n || (n += this.get_unformatted(n), o = !0), \"=\" === n && (o = !1), r.length && \"=\" != r[r.length - 1] && \">\" != n && o) {\n if (this.space_or_wrap(r), o = !1, !s && \"force\" === E && \"/\" != n) {\n this.print_newline(!0, r), this.print_indentation(r);\n for (var d = 0; d < _; d++) r.push(m);\n }\n for (var f = 0; f < r.length; f++) if (\" \" === r[f]) {\n s = !1;\n break;\n }\n }\n if (b && \"<\" === a && n + this.input.charAt(this.pos) === \"{{\" && (n += this.get_unformatted(\"}}\"), r.length && \" \" != r[r.length - 1] && \"<\" != r[r.length - 1] && (n = \" \".concat(n)), o = !0), \"<\" !== n || a || (t = this.pos - 1, a = \"<\"), b && !a && 2 <= r.length && \"{\" === r[r.length - 1] && \"{\" === r[r.length - 2] && (t = \"#\" === n || \"/\" === n || \"!\" === n ? this.pos - 3 : this.pos - 2, a = \"{\"), this.line_char_count++, r.push(n), r[1] && (\"!\" === r[1] || \"?\" === r[1] || \"%\" === r[1])) {\n r = [this.get_comment(t)];\n break;\n }\n if (b && r[1] && \"{\" === r[1] && r[2] && \"!\" === r[2]) {\n r = [this.get_comment(t)];\n break;\n }\n if (b && \"{\" === a && 2 < r.length && \"}\" === r[r.length - 2] && \"}\" === r[r.length - 1]) break;\n }\n } while (\">\" != n);\n var p,\n u,\n g = r.join(\"\");\n p = -1 != g.indexOf(\" \") ? g.indexOf(\" \") : \"{\" === g[0] ? g.indexOf(\"}\") : g.indexOf(\">\"), u = \"<\" !== g[0] && b ? \"#\" === g[2] ? 3 : 2 : 1;\n var h = g.substring(u, p).toLowerCase();\n return \"/\" === g.charAt(g.length - 2) || this.Utils.in_array(h, this.Utils.single_token) ? e || (this.tag_type = \"SINGLE\") : b && \"{\" === g[0] && \"else\" === h ? e || (this.indent_to_tag(\"if\"), this.tag_type = \"HANDLEBARS_ELSE\", this.indent_content = !0, this.traverse_whitespace()) : this.is_unformatted(h, v) ? (i = this.get_unformatted(\"</\".concat(h, \">\"), g), r.push(i), this.pos, this.tag_type = \"SINGLE\") : \"script\" === h && (-1 === g.search(\"type\") || -1 < g.search(\"type\") && -1 < g.search(/\\b(text|application)\\/(x-)?(javascript|ecmascript|jscript|livescript)/)) ? e || (this.record_tag(h), this.tag_type = \"SCRIPT\") : \"style\" === h && (-1 === g.search(\"type\") || -1 < g.search(\"type\") && -1 < g.search(\"text/css\")) ? e || (this.record_tag(h), this.tag_type = \"STYLE\") : \"!\" === h.charAt(0) ? e || (this.tag_type = \"SINGLE\", this.traverse_whitespace()) : e || (\"/\" === h.charAt(0) ? (this.retrieve_tag(h.substring(1)), this.tag_type = \"END\") : (this.record_tag(h), \"html\" != h.toLowerCase() && (this.indent_content = !0), this.tag_type = \"START\"), this.traverse_whitespace() && this.space_or_wrap(r), this.Utils.in_array(h, this.Utils.extra_liners) && (this.print_newline(!1, this.output), this.output.length && \"\\n\" != this.output[this.output.length - 2] && this.print_newline(!0, this.output))), e && (this.pos = l, this.line_char_count = c), r.join(\"\");\n }, this.get_comment = function (e) {\n var t = \"\",\n a = \">\",\n n = !1;\n this.pos = e;\n var r = this.input.charAt(this.pos);\n for (this.pos++; this.pos <= this.input.length && ((t += r)[t.length - 1] !== a[a.length - 1] || -1 == t.indexOf(a));) !n && t.length < 10 && (0 === t.indexOf(\"<![if\") ? (a = \"<![endif]>\", n = !0) : 0 === t.indexOf(\"<![cdata[\") ? (a = \"]]>\", n = !0) : 0 === t.indexOf(\"<![\") ? (a = \"]>\", n = !0) : 0 === t.indexOf(\"\\x3c!--\") ? (a = \"--\\x3e\", n = !0) : 0 === t.indexOf(\"{{!\") ? (a = \"}}\", n = !0) : 0 === t.indexOf(\"<?\") ? (a = \"?>\", n = !0) : 0 === t.indexOf(\"<%\") && (a = \"%>\", n = !0)), r = this.input.charAt(this.pos), this.pos++;\n return t;\n }, this.get_unformatted = function (e, t) {\n if (t && -1 != t.toLowerCase().indexOf(e)) return \"\";\n var a = \"\",\n n = \"\",\n r = 0,\n i = !0;\n do {\n if (this.pos >= this.input.length) return n;\n if (a = this.input.charAt(this.pos), this.pos++, this.Utils.in_array(a, this.Utils.whitespace)) {\n if (!i) {\n this.line_char_count--;\n continue;\n }\n if (\"\\n\" === a || \"\\r\" === a) {\n n += \"\\n\", this.line_char_count = 0;\n continue;\n }\n }\n n += a, this.line_char_count++, i = !0, b && \"{\" === a && n.length && \"{\" === n[n.length - 2] && (r = (n += this.get_unformatted(\"}}\")).length);\n } while (-1 === n.toLowerCase().indexOf(e, r));\n return n;\n }, this.get_token = function () {\n var e;\n if (\"TK_TAG_SCRIPT\" !== this.last_token && \"TK_TAG_STYLE\" !== this.last_token) return \"CONTENT\" === this.current_mode ? \"string\" != typeof (e = this.get_content()) ? e : [e, \"TK_CONTENT\"] : \"TAG\" === this.current_mode ? \"string\" != typeof (e = this.get_tag()) ? e : [e, \"TK_TAG_\".concat(this.tag_type)] : void 0;\n var t = this.last_token.substr(7);\n return \"string\" != typeof (e = this.get_contents_to(t)) ? e : [e, \"TK_\".concat(t)];\n }, this.get_full_indent = function (e) {\n return (e = this.indent_level + e || 0) < 1 ? \"\" : new Array(e + 1).join(this.indent_string);\n }, this.is_unformatted = function (e, t) {\n if (!this.Utils.in_array(e, t)) return !1;\n if (\"a\" != e.toLowerCase() || !this.Utils.in_array(\"a\", t)) return !0;\n var a = (this.get_tag(!0) || \"\").match(/^\\s*<\\s*\\/?([a-z]*)\\s*[^>]*>\\s*$/);\n return !(a && !this.Utils.in_array(a, t));\n }, this.printer = function (e, t, a, n, r) {\n this.input = e || \"\", this.output = [], this.indent_character = t, this.indent_string = \"\", this.indent_size = a, this.brace_style = r, this.indent_level = 0, this.wrap_line_length = n;\n for (var i = this.line_char_count = 0; i < this.indent_size; i++) this.indent_string += this.indent_character;\n this.print_newline = function (e, t) {\n this.line_char_count = 0, t && t.length && (e || \"\\n\" != t[t.length - 1]) && (\"\\n\" != t[t.length - 1] && (t[t.length - 1] = o(t[t.length - 1])), t.push(\"\\n\"));\n }, this.print_indentation = function (e) {\n for (var t = 0; t < this.indent_level; t++) e.push(this.indent_string), this.line_char_count += this.indent_string.length;\n }, this.print_token = function (e) {\n this.is_whitespace(e) && !this.output.length || ((e || \"\" !== e) && this.output.length && \"\\n\" === this.output[this.output.length - 1] && (this.print_indentation(this.output), e = function t(e) {\n return e.replace(/^\\s+/g, \"\");\n }(e)), this.print_token_raw(e));\n }, this.print_token_raw = function (e) {\n 0 < this.newlines && (e = o(e)), e && \"\" !== e && (1 < e.length && \"\\n\" === e[e.length - 1] ? (this.output.push(e.slice(0, -1)), this.print_newline(!1, this.output)) : this.output.push(e));\n for (var t = 0; t < this.newlines; t++) this.print_newline(0 < t, this.output);\n this.newlines = 0;\n }, this.indent = function () {\n this.indent_level++;\n }, this.unindent = function () {\n 0 < this.indent_level && this.indent_level--;\n };\n }, this;\n }()).printer(e, m, r, i, s);;) {\n var p = a.get_token();\n if (a.token_text = p[0], a.token_type = p[1], \"TK_EOF\" === a.token_type) break;\n switch (a.token_type) {\n case \"TK_TAG_START\":\n a.print_newline(!1, a.output), a.print_token(a.token_text), a.indent_content && (a.indent(), a.indent_content = !1), a.current_mode = \"CONTENT\";\n break;\n case \"TK_TAG_STYLE\":\n case \"TK_TAG_SCRIPT\":\n a.print_newline(!1, a.output), a.print_token(a.token_text), a.current_mode = \"CONTENT\";\n break;\n case \"TK_TAG_END\":\n if (\"TK_CONTENT\" === a.last_token && \"\" === a.last_text) {\n var u = a.token_text.match(/\\w+/)[0],\n g = null;\n a.output.length && (g = a.output[a.output.length - 1].match(/(?:<|{{#)\\/?\\s*(\\w+)/)), (null === g || g[1] != u && !a.Utils.in_array(g[1], v)) && a.print_newline(!1, a.output);\n }\n a.print_token(a.token_text), a.current_mode = \"CONTENT\";\n break;\n case \"TK_TAG_SINGLE\":\n var h = a.token_text.match(/^\\s*<([a-z-]+)/i);\n h && a.Utils.in_array(h[1], v) || a.print_newline(!1, a.output), a.print_token(a.token_text), a.current_mode = \"CONTENT\";\n break;\n case \"TK_TAG_HANDLEBARS_ELSE\":\n a.print_token(a.token_text), a.indent_content && (a.indent(), a.indent_content = !1), a.current_mode = \"CONTENT\";\n break;\n case \"TK_TAG_HANDLEBARS_COMMENT\":\n case \"TK_CONTENT\":\n a.print_token(a.token_text), a.current_mode = \"TAG\";\n break;\n case \"TK_STYLE\":\n case \"TK_SCRIPT\":\n if (\"\" !== a.token_text) {\n a.print_newline(!1, a.output);\n var w = a.token_text,\n y = void 0,\n A = 1;\n \"TK_SCRIPT\" === a.token_type ? y = x : \"TK_STYLE\" === a.token_type && (y = L), \"keep\" === t.indent_scripts ? A = 0 : \"separate\" === t.indent_scripts && (A = -a.indent_level);\n var C = a.get_full_indent(A);\n if (y) w = y(w.replace(/^\\s*/, C), t);else {\n var T = w.match(/^\\s*/)[0].match(/[^\\n\\r]*$/)[0].split(a.indent_string).length - 1,\n k = a.get_full_indent(A - T);\n w = w.replace(/^\\s*/, C).replace(/\\r\\n|\\r|\\n/g, \"\\n\" + k).replace(/\\s+$/, \"\");\n }\n w && (a.print_token_raw(w), a.print_newline(!0, a.output));\n }\n a.current_mode = \"TAG\";\n break;\n default:\n \"\" !== a.token_text && a.print_token(a.token_text);\n }\n a.last_token = a.token_type, a.last_text = a.token_text;\n }\n var S = a.output.join(\"\").replace(/[\\r\\n\\t ]+$/, \"\");\n return d && (S += \"\\n\"), S;\n }\n };\n }, Object.assign(St.DEFAULTS, {\n codeMirror: window.CodeMirror,\n codeMirrorOptions: {\n lineNumbers: !0,\n tabMode: \"indent\",\n indentWithTabs: !0,\n lineWrapping: !0,\n mode: \"text/html\",\n tabSize: 2\n },\n codeBeautifierOptions: {\n end_with_newline: !0,\n indent_inner_html: !0,\n extra_liners: [\"p\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"blockquote\", \"pre\", \"ul\", \"ol\", \"table\", \"dl\"],\n brace_style: \"expand\",\n indent_char: \"\\t\",\n indent_size: 1,\n wrap_line_length: 0\n },\n codeViewKeepActiveButtons: [\"fullscreen\"]\n }), St.PLUGINS.codeView = function (c) {\n var d,\n f,\n p = c.$,\n u = function u() {\n return c.$box.hasClass(\"fr-code-view\");\n };\n function g() {\n return f ? f.getValue() : d.val();\n }\n function h() {\n u() && (f && f.setSize(null, c.opts.height ? c.opts.height : \"auto\"), c.opts.heightMin || c.opts.height ? (c.$box.find(\".CodeMirror-scroll, .CodeMirror-gutters\").css(\"min-height\", c.opts.heightMin || c.opts.height), d.css(\"height\", c.opts.height)) : c.$box.find(\".CodeMirror-scroll, .CodeMirror-gutters\").css(\"min-height\", \"\"));\n }\n var m,\n v = !1;\n function b() {\n u() && c.events.trigger(\"blur\");\n }\n function E() {\n u() && v && c.events.trigger(\"focus\");\n }\n function n(e) {\n d || (!function l() {\n d = p('<textarea class=\"fr-code\" tabIndex=\"-1\">'), c.$wp.append(d), d.attr(\"dir\", c.opts.direction), c.$box.hasClass(\"fr-basic\") || (m = p('<a data-cmd=\"html\" title=\"Code View\" class=\"fr-command fr-btn html-switch'.concat(c.helpers.isMobile() ? \"\" : \" fr-desktop\", '\" role=\"button\" tabIndex=\"-1\"><i class=\"fa fa-code\"></i></button>')), c.$box.append(m), c.events.bindClick(c.$box, \"a.html-switch\", function () {\n c.events.trigger(\"commands.before\", [\"html\"]), _(!1), c.events.trigger(\"commands.after\", [\"html\"]);\n }));\n var e = function e() {\n return !u();\n };\n c.events.on(\"buttons.refresh\", e), c.events.on(\"copy\", e, !0), c.events.on(\"cut\", e, !0), c.events.on(\"paste\", e, !0), c.events.on(\"destroy\", w, !0), c.events.on(\"html.set\", function () {\n u() && _(!0);\n }), c.events.on(\"codeView.update\", h), c.events.on(\"codeView.toggle\", function () {\n c.$box.hasClass(\"fr-code-view\") && _();\n }), c.events.on(\"form.submit\", function () {\n u() && (c.html.set(g()), c.events.trigger(\"contentChanged\", [], !0));\n }, !0);\n }(), !f && c.opts.codeMirror ? ((f = c.opts.codeMirror.fromTextArea(d.get(0), c.opts.codeMirrorOptions)).on(\"blur\", b), f.on(\"focus\", E)) : (c.events.$on(d, \"keydown keyup change input\", function () {\n c.opts.height ? this.removeAttribute(\"rows\") : (this.rows = 1, 0 === this.value.length ? this.style.height = \"auto\" : this.style.height = \"\".concat(this.scrollHeight, \"px\"));\n }), c.events.$on(d, \"blur\", b), c.events.$on(d, \"focus\", E))), c.undo.saveStep(), c.html.cleanEmptyTags(), c.html.cleanWhiteTags(!0), c.core.hasFocus() && (c.core.isEmpty() || (c.selection.save(), c.$el.find('.fr-marker[data-type=\"true\"]').first().replaceWith('<span class=\"fr-tmp fr-sm\">F</span>'), c.$el.find('.fr-marker[data-type=\"false\"]').last().replaceWith('<span class=\"fr-tmp fr-em\">F</span>')));\n var t = c.html.get(!1, !0);\n c.$el.find(\"span.fr-tmp\").remove(), c.$box.toggleClass(\"fr-code-view\", !0);\n var a,\n n,\n r = !1;\n if (c.core.hasFocus() && (r = !0, c.events.disableBlur(), c.$el.blur()), t = (t = t.replace(/<span class=\"fr-tmp fr-sm\">F<\\/span>/, \"FROALA-SM\")).replace(/<span class=\"fr-tmp fr-em\">F<\\/span>/, \"FROALA-EM\"), c.codeBeautifier && !t.includes(\"fr-embedly\") && (t = c.codeBeautifier.run(t, c.opts.codeBeautifierOptions)), f) {\n a = t.indexOf(\"FROALA-SM\"), (n = t.indexOf(\"FROALA-EM\")) < a ? a = n : n -= 9;\n var i = (t = t.replace(/FROALA-SM/g, \"\").replace(/FROALA-EM/g, \"\")).substring(0, a).length - t.substring(0, a).replace(/\\n/g, \"\").length,\n o = t.substring(0, n).length - t.substring(0, n).replace(/\\n/g, \"\").length;\n a = t.substring(0, a).length - t.substring(0, t.substring(0, a).lastIndexOf(\"\\n\") + 1).length, n = t.substring(0, n).length - t.substring(0, t.substring(0, n).lastIndexOf(\"\\n\") + 1).length, f.setSize(null, c.opts.height ? c.opts.height : \"auto\"), c.opts.heightMin && c.$box.find(\".CodeMirror-scroll\").css(\"min-height\", c.opts.heightMin), f.setValue(t), v = !r, f.focus(), v = !0, f.setSelection({\n line: i,\n ch: a\n }, {\n line: o,\n ch: n\n }), f.refresh(), f.clearHistory();\n } else {\n a = t.indexOf(\"FROALA-SM\"), n = t.indexOf(\"FROALA-EM\") - 9, c.opts.heightMin && d.css(\"min-height\", c.opts.heightMin), c.opts.height && d.css(\"height\", c.opts.height), c.opts.heightMax && d.css(\"max-height\", c.opts.height || c.opts.heightMax), d.val(t.replace(/FROALA-SM/g, \"\").replace(/FROALA-EM/g, \"\")).trigger(\"change\");\n var s = p(c.o_doc).scrollTop();\n v = !r, d.focus(), v = !0, d.get(0).setSelectionRange(a, n), p(c.o_doc).scrollTop(s);\n }\n c.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-grp > .fr-btn-wrap > .fr-command, .fr-more-toolbar > .fr-btn-wrap > .fr-command\").not(e).filter(function () {\n return c.opts.codeViewKeepActiveButtons.indexOf(p(this).data(\"cmd\")) < 0;\n }).addClass(\"fr-disabled\").attr(\"aria-disabled\", !0), e.addClass(\"fr-active\").attr(\"aria-pressed\", !0), !c.helpers.isMobile() && c.opts.toolbarInline && c.toolbar.hide();\n }\n function _(e) {\n void 0 === e && (e = !u());\n var t = c.$tb.find('.fr-command[data-cmd=\"html\"]');\n e ? (c.popups.hideAll(), n(t)) : (c.$box.toggleClass(\"fr-code-view\", !1), function a(e) {\n var t = g();\n c.html.set(t), c.$el.blur(), c.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-grp > .fr-btn-wrap > .fr-command, .fr-more-toolbar > .fr-btn-wrap > .fr-command\").not(e).removeClass(\"fr-disabled\").attr(\"aria-disabled\", !1), e.removeClass(\"fr-active\").attr(\"aria-pressed\", !1), c.selection.setAtStart(c.el), c.selection.restore(), c.placeholder.refresh(), c.undo.saveStep();\n }(t), c.events.trigger(\"codeView.update\"));\n }\n function w() {\n u() && _(!1), f && f.toTextArea(), d.val(\"\").removeData().remove(), d = null, m && (m.remove(), m = null);\n }\n return {\n _init: function e() {\n if (c.events.on(\"focus\", function () {\n c.opts.toolbarContainer && function t() {\n var e = c.$tb.find('.fr-command[data-cmd=\"html\"]');\n u() ? (c.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command\").not(e).filter(function () {\n return c.opts.codeViewKeepActiveButtons.indexOf(p(this).data(\"cmd\")) < 0;\n }).addClass(\"fr-disabled\").attr(\"aria-disabled\", !1), e.addClass(\"fr-active\").attr(\"aria-pressed\", !1)) : (c.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command\").not(e).removeClass(\"fr-disabled\").attr(\"aria-disabled\", !1), e.removeClass(\"fr-active\").attr(\"aria-pressed\", !1));\n }();\n }), !c.$wp) return !1;\n },\n toggle: _,\n isActive: u,\n get: g\n };\n }, St.RegisterCommand(\"html\", {\n title: \"Code View\",\n undo: !1,\n focus: !1,\n forcedRefresh: !0,\n toggle: !0,\n callback: function () {\n this.codeView.toggle();\n },\n plugin: \"codeView\"\n }), St.DefineIcon(\"html\", {\n NAME: \"code\",\n SVG_KEY: \"codeView\"\n }), Object.assign(St.POPUP_TEMPLATES, {\n \"textColor.picker\": \"[_BUTTONS_][_TEXT_COLORS_][_CUSTOM_COLOR_]\",\n \"backgroundColor.picker\": \"[_BUTTONS_][_BACKGROUND_COLORS_][_CUSTOM_COLOR_]\"\n }), Object.assign(St.DEFAULTS, {\n colorsText: [\"#61BD6D\", \"#1ABC9C\", \"#54ACD2\", \"#2C82C9\", \"#9365B8\", \"#475577\", \"#CCCCCC\", \"#41A85F\", \"#00A885\", \"#3D8EB9\", \"#2969B0\", \"#553982\", \"#28324E\", \"#000000\", \"#F7DA64\", \"#FBA026\", \"#EB6B56\", \"#E25041\", \"#A38F84\", \"#EFEFEF\", \"#FFFFFF\", \"#FAC51C\", \"#F37934\", \"#D14841\", \"#B8312F\", \"#7C706B\", \"#D1D5D8\", \"REMOVE\"],\n colorsBackground: [\"#61BD6D\", \"#1ABC9C\", \"#54ACD2\", \"#2C82C9\", \"#9365B8\", \"#475577\", \"#CCCCCC\", \"#41A85F\", \"#00A885\", \"#3D8EB9\", \"#2969B0\", \"#553982\", \"#28324E\", \"#000000\", \"#F7DA64\", \"#FBA026\", \"#EB6B56\", \"#E25041\", \"#A38F84\", \"#EFEFEF\", \"#FFFFFF\", \"#FAC51C\", \"#F37934\", \"#D14841\", \"#B8312F\", \"#7C706B\", \"#D1D5D8\", \"REMOVE\"],\n colorsStep: 7,\n colorsHEXInput: !0,\n colorsButtons: [\"colorsBack\", \"|\", \"-\"]\n }), St.PLUGINS.colors = function (m) {\n var v = m.$,\n s = '<div class=\"fr-color-hex-layer fr-active fr-layer\" id=\"fr-color-hex-layer- \\n '.concat(m.id, '\"><div class=\"fr-input-line\"><input maxlength=\"7\" id=\"[ID]\"\\n type=\"text\" placeholder=\"').concat(m.language.translate(\"HEX Color\"), '\" \\n tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button \\n type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"[COMMAND]\" tabIndex=\"2\" role=\"button\">\\n ').concat(m.language.translate(\"OK\"), \"</button></div></div>\");\n function l(e) {\n for (var t = \"text\" === e ? m.opts.colorsText : m.opts.colorsBackground, a = '<div class=\"fr-color-set fr-'.concat(e, '-color fr-selected-set\">'), n = 0; n < t.length; n++) 0 !== n && n % m.opts.colorsStep == 0 && (a += \"<br>\"), \"REMOVE\" !== t[n] ? a += '<span class=\"fr-command fr-select-color\" style=\"background:'.concat(t[n], ';\" \\n tabIndex=\"-1\" aria-selected=\"false\" role=\"button\" data-cmd=\"apply').concat(e, 'Color\" \\n data-param1=\"').concat(t[n], '\"><span class=\"fr-sr-only\"> ').concat(m.language.translate(\"Color\")).concat(t[n], \" \\n </span></span>\") : a += '<span class=\"fr-command fr-select-color\" data-cmd=\"apply'.concat(e, 'Color\"\\n tabIndex=\"-1\" role=\"button\" data-param1=\"REMOVE\" \\n title=\"').concat(m.language.translate(\"Clear Formatting\"), '\">').concat(m.icon.create(\"remove\"), ' \\n <span class=\"fr-sr-only\"> ').concat(m.language.translate(\"Clear Formatting\"), \" </span></span>\");\n return \"\".concat(a, \"</div>\");\n }\n function c(e) {\n var t,\n a = m.popups.get(\"\".concat(e, \"Color.picker\")),\n n = v(m.selection.element());\n t = \"background\" === e ? \"background-color\" : \"color\";\n var r = a.find(\".fr-\".concat(e, \"-color .fr-select-color\"));\n for (r.find(\".fr-selected-color\").remove(), r.removeClass(\"fr-active-item\"), r.not('[data-param1=\"REMOVE\"]').attr(\"aria-selected\", !1); n.get(0) !== m.el;) {\n if (\"transparent\" !== n.css(t) && \"rgba(0, 0, 0, 0)\" !== n.css(t)) {\n var i = a.find(\".fr-\".concat(e, '-color .fr-select-color[data-param1=\"').concat(m.helpers.RGBToHex(n.css(t)), '\"]'));\n i.append('<span class=\"fr-selected-color\" aria-hidden=\"true\">\\uf00c</span>'), i.addClass(\"fr-active-item\").attr(\"aria-selected\", !0);\n break;\n }\n n = n.parent();\n }\n !function o(e) {\n var t = m.popups.get(\"\".concat(e, \"Color.picker\")),\n a = t.find(\".fr-\".concat(e, \"-color .fr-active-item\")).attr(\"data-param1\"),\n n = t.find(\".fr-color-hex-layer input\");\n a || (a = \"\");\n n.length && v(n.val(a).input).trigger(\"change\");\n }(e);\n }\n function n(e) {\n \"REMOVE\" !== e ? m.format.applyStyle(\"background-color\", m.helpers.HEXtoRGB(e)) : m.format.removeStyle(\"background-color\"), m.popups.hide(\"backgroundColor.picker\");\n }\n function r(e) {\n \"REMOVE\" !== e ? m.format.applyStyle(\"color\", m.helpers.HEXtoRGB(e)) : m.format.removeStyle(\"color\"), m.popups.hide(\"textColor.picker\");\n }\n return {\n showColorsPopup: function d(e) {\n var t = m.$tb.find('.fr-command[data-cmd=\"'.concat(e, '\"]')),\n a = m.popups.get(\"\".concat(e, \".picker\"));\n if (a || (a = function o(e) {\n var t = \"\";\n m.opts.toolbarInline && 0 < m.opts.colorsButtons.length && (t += '<div class=\"fr-buttons fr-colors-buttons fr-tabs\">\\n '.concat(m.button.buildList(m.opts.colorsButtons), \"\\n </div>\"));\n var a,\n n = \"\";\n a = \"textColor\" === e ? (m.opts.colorsHEXInput && (n = s.replace(/\\[ID\\]/g, \"fr-color-hex-layer-text-\".concat(m.id)).replace(/\\[COMMAND\\]/g, \"customTextColor\")), {\n buttons: t,\n text_colors: l(\"text\"),\n custom_color: n\n }) : (m.opts.colorsHEXInput && (n = s.replace(/\\[ID\\]/g, \"fr-color-hex-layer-background-\".concat(m.id)).replace(/\\[COMMAND\\]/g, \"customBackgroundColor\")), {\n buttons: t,\n background_colors: l(\"background\"),\n custom_color: n\n });\n var r = m.popups.create(\"\".concat(e, \".picker\"), a);\n return function i(g, h) {\n m.events.on(\"popup.tab\", function (e) {\n var t = v(e.currentTarget);\n if (!m.popups.isVisible(h) || !t.is(\"span\")) return !0;\n var a = e.which,\n n = !0;\n if (St.KEYCODE.TAB === a) {\n var r = g.find(\".fr-buttons\");\n n = !m.accessibility.focusToolbar(r, !!e.shiftKey);\n } else if (St.KEYCODE.ARROW_UP === a || St.KEYCODE.ARROW_DOWN === a || St.KEYCODE.ARROW_LEFT === a || St.KEYCODE.ARROW_RIGHT === a) {\n if (t.is(\"span.fr-select-color\")) {\n var i = t.parent().find(\"span.fr-select-color\"),\n o = i.index(t),\n s = m.opts.colorsStep,\n l = Math.floor(i.length / s),\n c = o % s,\n d = Math.floor(o / s),\n f = d * s + c,\n p = l * s;\n St.KEYCODE.ARROW_UP === a ? f = ((f - s) % p + p) % p : St.KEYCODE.ARROW_DOWN === a ? f = (f + s) % p : St.KEYCODE.ARROW_LEFT === a ? f = ((f - 1) % p + p) % p : St.KEYCODE.ARROW_RIGHT === a && (f = (f + 1) % p);\n var u = v(i.get(f));\n m.events.disableBlur(), u.focus(), n = !1;\n }\n } else St.KEYCODE.ENTER === a && (m.button.exec(t), n = !1);\n return !1 === n && (e.preventDefault(), e.stopPropagation()), n;\n }, !0);\n }(r, \"\".concat(e, \".picker\")), r;\n }(e)), !a.hasClass(\"fr-active\")) if (m.popups.setContainer(\"\".concat(e, \".picker\"), m.$tb), c(\"textColor\" === e ? \"text\" : \"background\"), t.isVisible()) {\n var n = m.button.getPosition(t),\n r = n.left,\n i = n.top;\n m.popups.show(\"\".concat(e, \".picker\"), r, i, t.outerHeight());\n } else m.position.forSelection(a), m.popups.show(\"\".concat(e, \".picker\"));\n },\n background: n,\n customColor: function i(e) {\n var t = m.popups.get(\"\".concat(e, \"Color.picker\")).find(\".fr-color-hex-layer input\");\n if (t.length) {\n var a = t.val();\n \"background\" === e ? n(a) : r(a);\n }\n },\n text: r,\n back: function e() {\n m.popups.hide(\"textColor.picker\"), m.popups.hide(\"backgroundColor.picker\"), m.toolbar.showInline();\n }\n };\n }, St.DefineIcon(\"textColor\", {\n NAME: \"tint\",\n SVG_KEY: \"textColor\"\n }), St.RegisterCommand(\"textColor\", {\n title: \"Text Color\",\n undo: !1,\n focus: !0,\n refreshOnCallback: !1,\n popup: !0,\n callback: function () {\n this.popups.isVisible(\"textColor.picker\") ? (this.$el.find(\".fr-marker\").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"textColor.picker\")) : this.colors.showColorsPopup(\"textColor\");\n }\n }), St.RegisterCommand(\"applytextColor\", {\n undo: !0,\n callback: function (e, t) {\n this.colors.text(t);\n }\n }), St.RegisterCommand(\"customTextColor\", {\n title: \"OK\",\n undo: !0,\n callback: function () {\n this.colors.customColor(\"text\");\n }\n }), St.DefineIcon(\"backgroundColor\", {\n NAME: \"paint-brush\",\n SVG_KEY: \"backgroundColor\"\n }), St.RegisterCommand(\"backgroundColor\", {\n title: \"Background Color\",\n undo: !1,\n focus: !0,\n refreshOnCallback: !1,\n popup: !0,\n callback: function () {\n this.popups.isVisible(\"backgroundColor.picker\") ? (this.$el.find(\".fr-marker\").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"backgroundColor.picker\")) : this.colors.showColorsPopup(\"backgroundColor\");\n }\n }), St.RegisterCommand(\"applybackgroundColor\", {\n undo: !0,\n callback: function (e, t) {\n this.colors.background(t);\n }\n }), St.RegisterCommand(\"customBackgroundColor\", {\n title: \"OK\",\n undo: !0,\n callback: function () {\n this.colors.customColor(\"background\");\n }\n }), St.DefineIcon(\"colorsBack\", {\n NAME: \"arrow-left\",\n SVG_KEY: \"back\"\n }), St.RegisterCommand(\"colorsBack\", {\n title: \"Back\",\n undo: !1,\n focus: !1,\n back: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.colors.back();\n }\n }), St.DefineIcon(\"remove\", {\n NAME: \"eraser\",\n SVG_KEY: \"remove\"\n }), Object.assign(St.DEFAULTS, {\n dragInline: !0\n }), St.PLUGINS.draggable = function (d) {\n var f = d.$;\n function e(e) {\n return !(!e.originalEvent || !e.originalEvent.target || e.originalEvent.target.nodeType !== Node.TEXT_NODE) || (e.target && \"A\" === e.target.tagName && 1 === e.target.childNodes.length && \"IMG\" === e.target.childNodes[0].tagName && (e.target = e.target.childNodes[0]), f(e.target).hasClass(\"fr-draggable\") ? (d.undo.canDo() || d.undo.saveStep(), d.opts.dragInline ? d.$el.attr(\"contenteditable\", !0) : d.$el.attr(\"contenteditable\", !1), d.opts.toolbarInline && d.toolbar.hide(), f(e.target).addClass(\"fr-dragging\"), d.browser.msie || d.browser.edge || d.selection.clear(), void e.originalEvent.dataTransfer.setData(\"text\", \"Froala\")) : (e.preventDefault(), !1));\n }\n var p,\n u = function u(e) {\n return !(e && (\"HTML\" === e.tagName || \"BODY\" === e.tagName || d.node.isElement(e)));\n };\n function g(e, t, a) {\n if (d.opts.iframe) {\n var n = d.helpers.getPX(d.$wp.find(\".fr-iframe\").css(\"padding-top\")),\n r = d.helpers.getPX(d.$wp.find(\".fr-iframe\").css(\"padding-left\"));\n e += d.$iframe.offset().top + n, t += d.$iframe.offset().left + r;\n }\n p.offset().top !== e && p.css(\"top\", e), p.offset().left !== t && p.css(\"left\", t), p.width() !== a && p.css(\"width\", a);\n }\n function t(e) {\n e.originalEvent.dataTransfer.dropEffect = \"move\", d.opts.dragInline ? (!function a() {\n for (var e = null, t = 0; t < St.INSTANCES.length; t++) if ((e = St.INSTANCES[t].$el.find(\".fr-dragging\")).length) return e.get(0);\n }() || d.browser.msie || d.browser.edge) && e.preventDefault() : (e.preventDefault(), function c(e) {\n var t = d.doc.elementFromPoint(e.originalEvent.pageX - d.win.pageXOffset, e.originalEvent.pageY - d.win.pageYOffset);\n if (!u(t)) {\n for (var a = 0, n = t; !u(n) && n === t && 0 < e.originalEvent.pageY - d.win.pageYOffset - a;) a++, n = d.doc.elementFromPoint(e.originalEvent.pageX - d.win.pageXOffset, e.originalEvent.pageY - d.win.pageYOffset - a);\n (!u(n) || p && 0 === d.$el.find(n).length && n !== p.get(0)) && (n = null);\n for (var r = 0, i = t; !u(i) && i === t && e.originalEvent.pageY - d.win.pageYOffset + r < f(d.doc).height();) r++, i = d.doc.elementFromPoint(e.originalEvent.pageX - d.win.pageXOffset, e.originalEvent.pageY - d.win.pageYOffset + r);\n (!u(i) || p && 0 === d.$el.find(i).length && i !== p.get(0)) && (i = null), t = null === i && n ? n : i && null === n ? i : i && n ? a < r ? n : i : null;\n }\n if (f(t).hasClass(\"fr-drag-helper\")) return !1;\n if (t && !d.node.isBlock(t) && (t = d.node.blockParent(t)), t && 0 <= [\"TD\", \"TH\", \"TR\", \"THEAD\", \"TBODY\"].indexOf(t.tagName) && (t = f(t).parents(\"table\").get(0)), t && 0 <= [\"LI\"].indexOf(t.tagName) && (t = f(t).parents(\"UL, OL\").get(0)), t && !f(t).hasClass(\"fr-drag-helper\")) {\n var o;\n p || (St.$draggable_helper || (St.$draggable_helper = f(document.createElement(\"div\")).attr(\"class\", \"fr-drag-helper\")), p = St.$draggable_helper, d.events.on(\"shared.destroy\", function () {\n p.html(\"\").removeData().remove(), p = null;\n }, !0)), o = e.originalEvent.pageY < f(t).offset().top + f(t).outerHeight() / 2;\n var s = f(t),\n l = 0;\n o || 0 !== s.next().length ? (o || (s = s.next()), \"before\" === p.data(\"fr-position\") && s.is(p.data(\"fr-tag\")) || (0 < s.prev().length && (l = parseFloat(s.prev().css(\"margin-bottom\")) || 0), l = Math.max(l, parseFloat(s.css(\"margin-top\")) || 0), g(s.offset().top - l / 2 - d.$box.offset().top, s.offset().left - d.win.pageXOffset - d.$box.offset().left, s.width()), p.data(\"fr-position\", \"before\"))) : \"after\" === p.data(\"fr-position\") && s.is(p.data(\"fr-tag\")) || (l = parseFloat(s.css(\"margin-bottom\")) || 0, g(s.offset().top + f(t).height() + l / 2 - d.$box.offset().top, s.offset().left - d.win.pageXOffset - d.$box.offset().left, s.width()), p.data(\"fr-position\", \"after\")), p.data(\"fr-tag\", s), p.addClass(\"fr-visible\"), d.$box.append(p);\n } else p && 0 < d.$box.find(p).length && p.removeClass(\"fr-visible\");\n }(e));\n }\n function a(e) {\n e.originalEvent.dataTransfer.dropEffect = \"move\", d.opts.dragInline || e.preventDefault();\n }\n function n(e) {\n d.$el.attr(\"contenteditable\", !0);\n var t = d.$el.find(\".fr-dragging\");\n p && p.hasClass(\"fr-visible\") && d.$box.find(p).length ? r(e) : t.length && (e.preventDefault(), e.stopPropagation()), p && d.$box.find(p).length && p.removeClass(\"fr-visible\"), t.removeClass(\"fr-dragging\");\n }\n function r(e) {\n var t, a;\n d.$el.attr(\"contenteditable\", !0);\n for (var n = 0; n < St.INSTANCES.length; n++) if ((t = St.INSTANCES[n].$el.find(\".fr-dragging\")).length) {\n a = St.INSTANCES[n];\n break;\n }\n if (t.length) {\n if (e.preventDefault(), e.stopPropagation(), p && p.hasClass(\"fr-visible\") && d.$box.find(p).length) p.data(\"fr-tag\")[p.data(\"fr-position\")]('<span class=\"fr-marker\"></span>'), p.removeClass(\"fr-visible\");else if (!1 === d.markers.insertAtPoint(e.originalEvent)) return !1;\n if (t.removeClass(\"fr-dragging\"), !1 === (t = d.events.chainTrigger(\"element.beforeDrop\", t))) return !1;\n var r = t;\n if (t.parent().is(\"A\") && 1 === t.parent().get(0).childNodes.length && (r = t.parent()), d.core.isEmpty()) d.events.focus();else d.$el.find(\".fr-marker\").replaceWith(St.MARKERS), d.selection.restore();\n if (a === d || d.undo.canDo() || d.undo.saveStep(), d.core.isEmpty()) d.$el.html(r);else {\n var i = d.markers.insert();\n (d || \"\").selection && r.contains(i) && r.before(i), 0 === r.find(i).length ? f(i).replaceWith(r) : 0 === t.find(i).length && f(i).replaceWith(t), t.after(St.MARKERS), d.selection.restore();\n }\n return d.popups.hideAll(), d.selection.save(), d.$el.find(d.html.emptyBlockTagsQuery()).not(\"TD, TH, LI, .fr-inner\").not(d.opts.htmlAllowedEmptyTags.join(\",\")).remove(), d.html.wrap(), d.html.fillEmptyBlocks(), d.selection.restore(), d.undo.saveStep(), d.opts.iframe && d.size.syncIframe(), a !== d && (a.popups.hideAll(), a.$el.find(a.html.emptyBlockTagsQuery()).not(\"TD, TH, LI, .fr-inner\").remove(), a.html.wrap(), a.html.fillEmptyBlocks(), a.undo.saveStep(), a.events.trigger(\"element.dropped\"), a.opts.iframe && a.size.syncIframe()), d.events.trigger(\"element.dropped\", [r]), !1;\n }\n p && p.removeClass(\"fr-visible\"), d.undo.canDo() || d.undo.saveStep(), setTimeout(function () {\n d.undo.saveStep();\n }, 0);\n }\n function i(e) {\n if (e && \"DIV\" === e.tagName && d.node.hasClass(e, \"fr-drag-helper\")) e.parentNode.removeChild(e);else if (e && e.nodeType === Node.ELEMENT_NODE) for (var t = e.querySelectorAll(\"div.fr-drag-helper\"), a = 0; a < t.length; a++) t[a].parentNode.removeChild(t[a]);\n }\n return {\n _init: function o() {\n d.opts.enter === St.ENTER_BR && (d.opts.dragInline = !0), d.events.on(\"dragstart\", e, !0), d.events.on(\"dragover\", t, !0), d.events.on(\"dragenter\", a, !0), d.events.on(\"document.dragend\", n, !0), d.events.on(\"document.drop\", n, !0), d.events.on(\"drop\", r, !0), d.events.on(\"html.processGet\", i);\n }\n };\n }, Object.assign(St.DEFAULTS, {\n editInPopup: !1\n }), St.MODULES.editInPopup = function (n) {\n function e() {\n n.events.$on(n.$el, n._mouseup, function () {\n setTimeout(function () {\n !function a() {\n var e,\n t = n.popups.get(\"text.edit\");\n e = \"INPUT\" === n.el.tagName ? n.$el.attr(\"placeholder\") : n.$el.text(), t.find(\"input\").val(e).trigger(\"change\"), n.popups.setContainer(\"text.edit\", n.$sc), n.popups.show(\"text.edit\", n.$el.offset().left + n.$el.outerWidth() / 2, n.$el.offset().top + n.$el.outerHeight(), n.$el.outerHeight());\n }();\n }, 10);\n });\n }\n return {\n _init: function a() {\n n.opts.editInPopup && (!function t() {\n var e = {\n edit: '<div id=\"fr-text-edit-'.concat(n.id, '\" class=\"fr-layer fr-text-edit-layer\"><div class=\"fr-input-line\"><input type=\"text\" placeholder=\"').concat(n.language.translate(\"Text\"), '\" tabIndex=\"1\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"updateText\" tabIndex=\"2\">').concat(n.language.translate(\"Update\"), \"</button></div></div>\")\n };\n n.popups.create(\"text.edit\", e);\n }(), e());\n },\n update: function t() {\n var e = n.popups.get(\"text.edit\").find(\"input\").val();\n 0 === e.length && (e = n.opts.placeholderText), \"INPUT\" === n.el.tagName ? n.$el.attr(\"placeholder\", e) : n.$el.text(e), n.events.trigger(\"contentChanged\"), n.popups.hide(\"text.edit\");\n }\n };\n }, St.RegisterCommand(\"updateText\", {\n focus: !1,\n undo: !1,\n callback: function () {\n this.editInPopup.update();\n }\n }), Object.assign(St.POPUP_TEMPLATES, {\n emoticons: \"[_BUTTONS_][_CUSTOM_LAYER_]\"\n }), Object.assign(St.DEFAULTS, {\n emoticonsSet: [{\n id: \"people\",\n name: \"Smileys & People\",\n code: \"1f600\",\n emoticons: [{\n code: \"1f600\",\n desc: \"Grinning face\"\n }, {\n code: \"1f601\",\n desc: \"Grinning Face with Smiling Eyes\"\n }, {\n code: \"1f602\",\n desc: \"Face with Tears of Joy\"\n }, {\n code: \"1f603\",\n desc: \"Smiling Face with Open Mouth\"\n }, {\n code: \"1f604\",\n desc: \"Smiling Face with Open Mouth and Smiling Eyes\"\n }, {\n code: \"1f605\",\n desc: \"Smiling Face with Open Mouth and Cold Sweat\"\n }, {\n code: \"1f606\",\n desc: \"Smiling Face with Open Mouth and Tightly-Closed Eyes\"\n }, {\n code: \"1f609\",\n desc: \"Winking Face\"\n }, {\n code: \"1f60a\",\n desc: \"Smiling Face with Smiling Eyes\"\n }, {\n code: \"1f608\",\n desc: \"Face Savouring Delicious Food\"\n }, {\n code: \"1f60e\",\n desc: \"Smiling Face with Sunglasses\"\n }, {\n code: \"1f60d\",\n desc: \"Smiling Face with Heart-Shaped Eyes\"\n }, {\n code: \"1f618\",\n desc: \"Face Throwing a Kiss\"\n }, {\n code: \"1f617\",\n desc: \"Kissing Face\"\n }, {\n code: \"1f619\",\n desc: \"Kissing Face with Smiling Eyes\"\n }, {\n code: \"1f61a\",\n desc: \"Kissing Face with Closed Eyes\"\n }, {\n code: \"263a\",\n desc: \"White Smiling Face\"\n }, {\n code: \"1f642\",\n desc: \"Slightly Smiling Face\"\n }, {\n code: \"1f610\",\n desc: \"Neutral Face\"\n }, {\n code: \"1f611\",\n desc: \"Expressionless Face\"\n }, {\n code: \"1f636\",\n desc: \"Face Without Mouth\"\n }, {\n code: \"1f60f\",\n desc: \"Smirking Face\"\n }, {\n code: \"1f623\",\n desc: \"Persevering Face\"\n }, {\n code: \"1f625\",\n desc: \"Disappointed but Relieved Face\"\n }, {\n code: \"1f62e\",\n desc: \"Face with Open Mouth\"\n }, {\n code: \"1f62f\",\n desc: \"Hushed Face\"\n }, {\n code: \"1f62a\",\n desc: \"Sleepy Face\"\n }, {\n code: \"1f62b\",\n desc: \"Tired Face\"\n }, {\n code: \"1f634\",\n desc: \"Sleeping Face\"\n }, {\n code: \"1f60c\",\n desc: \"Relieved Face\"\n }, {\n code: \"1f61b\",\n desc: \"Face with Stuck-out Tongue\"\n }, {\n code: \"1f61c\",\n desc: \"Face with Stuck-out Tongue and Winking Eye\"\n }, {\n code: \"1f61d\",\n desc: \"Face with Stuck-out Tongue and Tightly-Closed Eyes\"\n }, {\n code: \"1f612\",\n desc: \"Unamused Face\"\n }, {\n code: \"1f613\",\n desc: \"Face with Cold Sweat\"\n }, {\n code: \"1f613\",\n desc: \"Face with Cold Sweat\"\n }, {\n code: \"1f614\",\n desc: \"Pensive Face\"\n }, {\n code: \"1f615\",\n desc: \"Confused Face\"\n }, {\n code: \"1f632\",\n desc: \"Astonished Face\"\n }, {\n code: \"1f616\",\n desc: \"Confounded Face\"\n }, {\n code: \"1f61e\",\n desc: \"Disappointed Face\"\n }, {\n code: \"1f61f\",\n desc: \"Worried Face\"\n }, {\n code: \"1f624\",\n desc: \"Face with Look of Triumph\"\n }, {\n code: \"1f622\",\n desc: \"Crying Face\"\n }, {\n code: \"1f62d\",\n desc: \"Loudly Crying Face\"\n }, {\n code: \"1f626\",\n desc: \"Frowning Face with Open Mouth\"\n }, {\n code: \"1f627\",\n desc: \"Anguished Face\"\n }, {\n code: \"1f628\",\n desc: \"Fearful Face\"\n }, {\n code: \"1f629\",\n desc: \"Weary Face\"\n }, {\n code: \"1f62c\",\n desc: \"Grimacing Face\"\n }, {\n code: \"1f630\",\n desc: \"Face with Open Mouth and Cold Sweat\"\n }, {\n code: \"1f631\",\n desc: \"Face Screaming in Fear\"\n }, {\n code: \"1f633\",\n desc: \"Flushed Face\"\n }, {\n code: \"1f635\",\n desc: \"Dizzy Face\"\n }, {\n code: \"1f621\",\n desc: \"Pouting Face\"\n }, {\n code: \"1f620\",\n desc: \"Angry Face\"\n }, {\n code: \"1f637\",\n desc: \"Face with Medical Mask\"\n }, {\n code: \"1f607\",\n desc: \"Smiling Face with Halo\"\n }, {\n code: \"1f608\",\n desc: \"Smiling Face with Horns\"\n }, {\n code: \"1f47f\",\n desc: \"Imp\"\n }, {\n code: \"1f479\",\n desc: \"Japanese Ogre\"\n }, {\n code: \"1f47a\",\n desc: \"Japanese Goblin\"\n }, {\n code: \"1f480\",\n desc: \"Skull\"\n }, {\n code: \"1f47b\",\n desc: \"Ghost\"\n }, {\n code: \"1f47d\",\n desc: \"Extraterrestrial Alien\"\n }, {\n code: \"1f47e\",\n desc: \"Alien Monster\"\n }, {\n code: \"1f4a9\",\n desc: \"Pile of Poo\"\n }, {\n code: \"1f63a\",\n desc: \"Smiling Cat Face with Open Mouth\"\n }, {\n code: \"1f638\",\n desc: \"Grinning Cat Face with Smiling Eyes\"\n }, {\n code: \"1f639\",\n desc: \"Cat Face with Tears of Joy\"\n }, {\n code: \"1f63b\",\n desc: \"Smiling Cat Face with Heart-Shaped Eyes\"\n }, {\n code: \"1f63c\",\n desc: \"Cat Face with Wry Smile\"\n }, {\n code: \"1f63d\",\n desc: \"Kissing Cat Face with Closed Eyes\"\n }, {\n code: \"1f640\",\n desc: \"Weary Cat Face\"\n }, {\n code: \"1f63f\",\n desc: \"Crying Cat Face\"\n }, {\n code: \"1f63e\",\n desc: \"Pouting Cat Face\"\n }, {\n code: \"1f648\",\n desc: \"See-No-Evil Monkey\"\n }, {\n code: \"1f649\",\n desc: \"Hear-No-Evil Monkey\"\n }, {\n code: \"1f64a\",\n desc: \"Speak-No-Evil Monkey\"\n }, {\n code: \"1f476\",\n desc: \"Baby\"\n }, {\n code: \"1f466\",\n desc: \"Boy\"\n }, {\n code: \"1f467\",\n desc: \"Girl\"\n }, {\n code: \"1f468\",\n desc: \"Man\"\n }, {\n code: \"1f469\",\n desc: \"Woman\"\n }, {\n code: \"1f474\",\n desc: \"Older Man\"\n }, {\n code: \"1f475\",\n desc: \"Older Woman\"\n }, {\n code: \"1f46e\",\n desc: \"Police Officer\"\n }, {\n code: \"1f482\",\n desc: \" Guardsman\"\n }, {\n code: \"1f477\",\n desc: \" Construction Worker\"\n }, {\n code: \"1f478\",\n desc: \"Princess\"\n }, {\n code: \"1f473\",\n desc: \"Man with Turban\"\n }, {\n code: \"1f472\",\n desc: \"Man with Gua Pi Mao\"\n }, {\n code: \"1f471\",\n desc: \"Person with Blond Hair\"\n }, {\n code: \"1f470\",\n desc: \"Bride with Veil\"\n }, {\n code: \"1f47c\",\n desc: \"Baby Angel\"\n }, {\n code: \"1f385\",\n desc: \"Father Christmas\"\n }, {\n code: \"1f64e\",\n desc: \"Person with Pouting Face\"\n }, {\n code: \"1f645\",\n desc: \"Face with No Good Gesture\"\n }, {\n code: \"1f646\",\n desc: \"Face with Ok Gesture\"\n }, {\n code: \"1f481\",\n desc: \"Information Desk Person\"\n }, {\n code: \"1f64b\",\n desc: \"Happy Person Raising One Hand\"\n }, {\n code: \"1f647\",\n desc: \"Person Bowing Deeply\"\n }, {\n code: \"1f486\",\n desc: \"Face Massage\"\n }, {\n code: \"1f487\",\n desc: \"Haircut\"\n }, {\n code: \"1f6b6\",\n desc: \"Pedestrian\"\n }, {\n code: \"1f3c3\",\n desc: \"Runner\"\n }, {\n code: \"1f483\",\n desc: \"Dancer\"\n }, {\n code: \"1f46f\",\n desc: \"Woman with Bunny Ears\"\n }, {\n code: \"1f6c0\",\n desc: \"Bath\"\n }, {\n code: \"1f464\",\n desc: \"Bust in Silhouette\"\n }, {\n code: \"1f465\",\n desc: \"Busts in Silhouette\"\n }, {\n code: \"1f3c7\",\n desc: \"Horse Racing\"\n }, {\n code: \"1f3c2\",\n desc: \" Snowboarder\"\n }, {\n code: \"1f3c4\",\n desc: \" Surfer\"\n }, {\n code: \"1f6a3\",\n desc: \" Rowboat\"\n }, {\n code: \"1f3ca\",\n desc: \" Swimmer\"\n }, {\n code: \"1f6b4\",\n desc: \" Bicyclist\"\n }, {\n code: \"1f6b5\",\n desc: \"Mountain Bicyclist\"\n }, {\n code: \"1f46b\",\n desc: \" Man and Woman Holding Hands\"\n }, {\n code: \"1f46c\",\n desc: \"Two Men Holding Hands\"\n }, {\n code: \"1f46d\",\n desc: \"Two Women Holding Hands\"\n }, {\n code: \"1f48f\",\n desc: \"Kiss\"\n }, {\n code: \"1f468-2764-1f48b-1f468\",\n uCode: \"\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68\",\n desc: \"Man Kiss Man\"\n }, {\n code: \"1f469-2764-1f48b-1f469\",\n uCode: \"\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\",\n desc: \"Woman Kiss Woman\"\n }, {\n code: \"1f491\",\n desc: \"Couple with Heart\"\n }, {\n code: \"1f468-2764-1f468\",\n uCode: \"\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68\",\n desc: \"Man Heart Man\"\n }, {\n code: \"1f469-2764-1f469\",\n uCode: \"\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc69\",\n desc: \"Woman Heart Woman\"\n }, {\n code: \"1f46a\",\n desc: \"Family\"\n }, {\n code: \"1f468\",\n desc: \"Man Woman Boy\"\n }, {\n code: \"1f468-1f469-1f467\",\n desc: \"Man Woman Girl\"\n }, {\n code: \"1f468-1f469-1f467-1f466\",\n desc: \"Man Woman Girl Boy\"\n }, {\n code: \"1f468-1f469-1f466-1f466\",\n desc: \"Man Woman Boy Boy\"\n }, {\n code: \"1f468-1f469-1f467-1f467\",\n desc: \"Man Woman Girl Girl\"\n }, {\n code: \"1f468-1f468-1f466\",\n desc: \"Man Man Boy\"\n }, {\n code: \"1f468-1f468-1f467\",\n desc: \"Man Man Girl\"\n }, {\n code: \"1f468-1f468-1f467-1f466\",\n desc: \"Man Man Girl Boy\"\n }, {\n code: \"1f468-1f468-1f466-1f466\",\n desc: \"Man Man Boy Boy\"\n }, {\n code: \"1f469-1f469-1f466\",\n desc: \"Woman Woman Boy\"\n }, {\n code: \"1f469-1f469-1f467\",\n desc: \"Woman Woman Girl\"\n }, {\n code: \"1f469-1f469-1f467-1f466\",\n desc: \"Woman Woman Girl Boy\"\n }, {\n code: \"1f469-1f469-1f467-1f467\",\n desc: \"Woman Woman Girl Girl\"\n }, {\n code: \"1f4aa\",\n desc: \"Flexed Biceps\"\n }, {\n code: \"1f448\",\n desc: \"White Left Pointing Backhand Index\"\n }, {\n code: \"1f449\",\n desc: \"White Right Pointing Backhand Index\"\n }, {\n code: \"1f446\",\n desc: \"White Up Pointing Backhand Index\"\n }, {\n code: \"1f447\",\n desc: \"White Down Pointing Backhand Index\"\n }, {\n code: \"270c\",\n desc: \"Victory Hand\"\n }, {\n code: \"270b\",\n desc: \"Raised Hand\"\n }, {\n code: \"1f44c\",\n desc: \"Ok Hand Sign\"\n }, {\n code: \"1f44d\",\n desc: \"Thumbs Up Sign\"\n }, {\n code: \"1f44e\",\n desc: \"Thumbs Down Sign\"\n }, {\n code: \"270a\",\n desc: \"Raised Fist\"\n }, {\n code: \"1f44a\",\n desc: \"Fisted Hand Sign\"\n }, {\n code: \"1f44b\",\n desc: \"Waving Hand Sign\"\n }, {\n code: \"1f44f\",\n desc: \"Clapping Hands Sign\"\n }, {\n code: \"1f450\",\n desc: \"Open Hands Sign\"\n }, {\n code: \"1f64c\",\n desc: \"Person Raising Both Hands in Celebration\"\n }, {\n code: \"1f64f\",\n desc: \"Person with Folded Hands\"\n }, {\n code: \"1f485\",\n desc: \"Nail Polish\"\n }, {\n code: \"1f442\",\n desc: \"Ear\"\n }, {\n code: \"1f443\",\n desc: \"Nose\"\n }, {\n code: \"1f463\",\n desc: \"Footprints\"\n }, {\n code: \"1f440\",\n desc: \"Eyes\"\n }, {\n code: \"1f445\",\n desc: \"Tongue\"\n }, {\n code: \"1f444\",\n desc: \"Mouth\"\n }, {\n code: \"1f48b\",\n desc: \"Kiss Mark\"\n }, {\n code: \"1f498\",\n desc: \"Heart with Arrow\"\n }, {\n code: \"2764\",\n desc: \"Heavy Black Heart\"\n }, {\n code: \"1f493\",\n desc: \"Heavy Black Heart\"\n }, {\n code: \"1f494\",\n desc: \"Broken Heart\"\n }, {\n code: \"1f495\",\n desc: \"Two Hearts\"\n }, {\n code: \"1f496\",\n desc: \"Sparkling Hearts\"\n }, {\n code: \"1f497\",\n desc: \"Growing Hearts\"\n }, {\n code: \"1f499\",\n desc: \"Blue Heart\"\n }, {\n code: \"1f49a\",\n desc: \"Green Heart\"\n }, {\n code: \"1f49b\",\n desc: \"Yellow Heart\"\n }, {\n code: \"1f49c\",\n desc: \"Purple Heart\"\n }, {\n code: \"1f49d\",\n desc: \"Heart with Ribbon\"\n }, {\n code: \"1f49e\",\n desc: \"Revolving Hearts\"\n }, {\n code: \"1f49f\",\n desc: \"Heart Decoration\"\n }, {\n code: \"1f48c\",\n desc: \"Love Letter\"\n }, {\n code: \"1f4a4\",\n desc: \"Sleeping Symbol\"\n }, {\n code: \"1f4a2\",\n desc: \"Anger Symbol\"\n }, {\n code: \"1f4a3\",\n desc: \"Bomb\"\n }, {\n code: \"1f4a5\",\n desc: \"Collision Symbol\"\n }, {\n code: \"1f4a6\",\n desc: \"Splashing Sweat Symbol\"\n }, {\n code: \"1f4a8\",\n desc: \"Dash Symbol\"\n }, {\n code: \"1f4ab\",\n desc: \"Dizzy Symbol\"\n }, {\n code: \"1f4ab\",\n desc: \"Dizzy Symbol\"\n }, {\n code: \"1f4ac\",\n desc: \"Speech Balloon\"\n }, {\n code: \"1f4ad\",\n desc: \"Thought Balloon\"\n }, {\n code: \"1f453\",\n desc: \"Eyeglasses\"\n }, {\n code: \"1f454\",\n desc: \"Necktie\"\n }, {\n code: \"1f455\",\n desc: \"T-Shirt\"\n }, {\n code: \"1f456\",\n desc: \"Jeans\"\n }, {\n code: \"1f457\",\n desc: \"Dress\"\n }, {\n code: \"1f458\",\n desc: \"Kimono\"\n }, {\n code: \"1f459\",\n desc: \"Bikini\"\n }, {\n code: \"1f45a\",\n desc: \"Womans Clothes\"\n }, {\n code: \"1f45b\",\n desc: \"Purse\"\n }, {\n code: \"1f45c\",\n desc: \"Handbag\"\n }, {\n code: \"1f45d\",\n desc: \"Pouch\"\n }, {\n code: \"1f392\",\n desc: \"School Satchel\"\n }, {\n code: \"1f45e\",\n desc: \"Mans Shoe\"\n }, {\n code: \"1f45f\",\n desc: \"Athletic Shoe\"\n }, {\n code: \"1f460\",\n desc: \"High-Heeled Shoe\"\n }, {\n code: \"1f461\",\n desc: \"Womans Sandal\"\n }, {\n code: \"1f462\",\n desc: \"Womans Boots\"\n }, {\n code: \"1f451\",\n desc: \"Crown\"\n }, {\n code: \"1f452\",\n desc: \"Womans Hat\"\n }, {\n code: \"1f462\",\n desc: \"Top Hat\"\n }, {\n code: \"1f393\",\n desc: \"Graduation Cap\"\n }, {\n code: \"1f484\",\n desc: \"Lipstick\"\n }, {\n code: \"1f48d\",\n desc: \"Ring\"\n }, {\n code: \"1f48e\",\n desc: \"Gem Stone\"\n }]\n }, {\n id: \"nature\",\n name: \"Animals & Nature\",\n code: \"1F435\",\n emoticons: [{\n code: \"1F435\",\n desc: \"Monkey Face\"\n }, {\n code: \"1F412\",\n desc: \"Monkey\"\n }, {\n code: \"1F436\",\n desc: \"Dog Face\"\n }, {\n code: \"1F415\",\n desc: \"Dog\"\n }, {\n code: \"1F429\",\n desc: \"Poodle\"\n }, {\n code: \"1F43A\",\n desc: \"Wolf Face\"\n }, {\n code: \"1F431\",\n desc: \"Cat Face\"\n }, {\n code: \"1F408\",\n desc: \"Cat\"\n }, {\n code: \"1F42F\",\n desc: \"Tiger Face\"\n }, {\n code: \"1F405\",\n desc: \"Tiger\"\n }, {\n code: \"1F406\",\n desc: \"Leopard\"\n }, {\n code: \"1F434\",\n desc: \"Horse Face\"\n }, {\n code: \"1F40E\",\n desc: \"Horse\"\n }, {\n code: \"1F42E\",\n desc: \"Cow Face\"\n }, {\n code: \"1F402\",\n desc: \"Ox\"\n }, {\n code: \"1F403\",\n desc: \"Water Buffalo\"\n }, {\n code: \"1F404\",\n desc: \"Cow\"\n }, {\n code: \"1F437\",\n desc: \"Pig Face\"\n }, {\n code: \"1F416\",\n desc: \"Pig\"\n }, {\n code: \"1F417\",\n desc: \"Boar\"\n }, {\n code: \"1F43D\",\n desc: \"Pig Nose\"\n }, {\n code: \"1F40F\",\n desc: \"Ram\"\n }, {\n code: \"1F411\",\n desc: \"Sheep\"\n }, {\n code: \"1F410\",\n desc: \"Goat\"\n }, {\n code: \"1F42A\",\n desc: \"Dromedary Camel\"\n }, {\n code: \"1F42B\",\n desc: \"Bactrian Camel\"\n }, {\n code: \"1F418\",\n desc: \"Elephant\"\n }, {\n code: \"1F42D\",\n desc: \"Mouse Face\"\n }, {\n code: \"1F401\",\n desc: \"Mouse\"\n }, {\n code: \"1F400\",\n desc: \"Rat\"\n }, {\n code: \"1F439\",\n desc: \"Hamster Face\"\n }, {\n code: \"1F430\",\n desc: \"Rabbit Face\"\n }, {\n code: \"1F407\",\n desc: \"Rabbit\"\n }, {\n code: \"1F43B\",\n desc: \"Bear Face\"\n }, {\n code: \"1F428\",\n desc: \"Koala\"\n }, {\n code: \"1F43C\",\n desc: \"Panda Face\"\n }, {\n code: \"1F43E\",\n desc: \"Paw Prints\"\n }, {\n code: \"1F414\",\n desc: \"Chicken\"\n }, {\n code: \"1F413\",\n desc: \"Rooster\"\n }, {\n code: \"1F423\",\n desc: \"Hatching Chick\"\n }, {\n code: \"1F424\",\n desc: \"Baby Chick\"\n }, {\n code: \"1F425\",\n desc: \"Front-Facing Baby Chick\"\n }, {\n code: \"1F426\",\n desc: \"Bird\"\n }, {\n code: \"1F427\",\n desc: \"Penguin\"\n }, {\n code: \"1F438\",\n desc: \"Frog Face\"\n }, {\n code: \"1F40A\",\n desc: \"Crocodile\"\n }, {\n code: \"1F422\",\n desc: \"Turtle\"\n }, {\n code: \"1F40D\",\n desc: \"Snake\"\n }, {\n code: \"1F432\",\n desc: \"Dragon Face\"\n }, {\n code: \"1F409\",\n desc: \"Dragon\"\n }, {\n code: \"1F433\",\n desc: \"Spouting Whale\"\n }, {\n code: \"1F40B\",\n desc: \"Whale\"\n }, {\n code: \"1F42C\",\n desc: \"Dolphin\"\n }, {\n code: \"1F41F\",\n desc: \"Fish\"\n }, {\n code: \"1F420\",\n desc: \"Tropical Fish\"\n }, {\n code: \"1F421\",\n desc: \"Blowfish\"\n }, {\n code: \"1F419\",\n desc: \"Octopus\"\n }, {\n code: \"1F41A\",\n desc: \"Spiral Shell\"\n }, {\n code: \"1F40C\",\n desc: \"Snail\"\n }, {\n code: \"1F41B\",\n desc: \"Bug\"\n }, {\n code: \"1F41C\",\n desc: \"Ant\"\n }, {\n code: \"1F41D\",\n desc: \"Honeybee\"\n }, {\n code: \"1F41E\",\n desc: \"Lady Beetle\"\n }, {\n code: \"1F490\",\n desc: \"Bouquet\"\n }, {\n code: \"1F338\",\n desc: \"Cherry Blossom\"\n }, {\n code: \"1F4AE\",\n desc: \"White Flower\"\n }, {\n code: \"1F339\",\n desc: \"Rose\"\n }, {\n code: \"1F33A\",\n desc: \"Hibiscus\"\n }, {\n code: \"1F33B\",\n desc: \"Sunflower\"\n }, {\n code: \"1F33C\",\n desc: \"Blossom\"\n }, {\n code: \"1F337\",\n desc: \"Tulip\"\n }, {\n code: \"1F331\",\n desc: \"Seedling\"\n }, {\n code: \"1F332\",\n desc: \"Evergreen Tree\"\n }, {\n code: \"1F333\",\n desc: \"Deciduous Tree\"\n }, {\n code: \"1F334\",\n desc: \"Palm Tree\"\n }, {\n code: \"1F335\",\n desc: \"Cactus\"\n }, {\n code: \"1F33E\",\n desc: \"Ear of Rice\"\n }, {\n code: \"1F33F\",\n desc: \"Herb\"\n }, {\n code: \"2618\",\n desc: \"Four Leaf Clover\"\n }, {\n code: \"1F341\",\n desc: \"Maple Leaf\"\n }, {\n code: \"1F342\",\n desc: \"Fallen Leaf\"\n }, {\n code: \"1F343\",\n desc: \"Leaf Fluttering in Wind\"\n }]\n }, {\n id: \"foods\",\n name: \"Food & Drink\",\n code: \"1F347\",\n emoticons: [{\n code: \"1F347\",\n desc: \"Grapes\"\n }, {\n code: \"1F348\",\n desc: \"Melon\"\n }, {\n code: \"1F349\",\n desc: \"Watermelon\"\n }, {\n code: \"1F34A\",\n desc: \"Tangerine\"\n }, {\n code: \"1F34B\",\n desc: \"Lemon\"\n }, {\n code: \"1F34C\",\n desc: \"Banana\"\n }, {\n code: \"1F34D\",\n desc: \"Pineapple\"\n }, {\n code: \"1F34E\",\n desc: \"Red Apple\"\n }, {\n code: \"1F34F\",\n desc: \"Green Apple\"\n }, {\n code: \"1F350\",\n desc: \"Pear\"\n }, {\n code: \"1F351\",\n desc: \"Peach\"\n }, {\n code: \"1F352\",\n desc: \"Cherries\"\n }, {\n code: \"1F353\",\n desc: \"Strawberry\"\n }, {\n code: \"1F345\",\n desc: \"Tomato\"\n }, {\n code: \"1F346\",\n desc: \"Aubergine\"\n }, {\n code: \"1F33D\",\n desc: \"Ear of Maize\"\n }, {\n code: \"1F344\",\n desc: \"Mushroom\"\n }, {\n code: \"1F330\",\n desc: \"Chestnut\"\n }, {\n code: \"1F35E\",\n desc: \"Bread\"\n }, {\n code: \"1F356\",\n desc: \"Meat on Bone\"\n }, {\n code: \"1F357\",\n desc: \"Poultry Leg\"\n }, {\n code: \"1F354\",\n desc: \"Hamburger\"\n }, {\n code: \"1F35F\",\n desc: \"French Fries\"\n }, {\n code: \"1F355\",\n desc: \"Slice of Pizza\"\n }, {\n code: \"1F373\",\n desc: \"Cooking\"\n }, {\n code: \"1F372\",\n desc: \"Pot of Food\"\n }, {\n code: \"1F371\",\n desc: \"Bento Box\"\n }, {\n code: \"1F358\",\n desc: \"Rice Cracker\"\n }, {\n code: \"1F359\",\n desc: \"Rice Ball\"\n }, {\n code: \"1F35A\",\n desc: \"Cooked Rice\"\n }, {\n code: \"1F35B\",\n desc: \"Curry and Rice\"\n }, {\n code: \"1F35C\",\n desc: \"Steaming Bowl\"\n }, {\n code: \"1F35D\",\n desc: \"Spaghetti\"\n }, {\n code: \"1F360\",\n desc: \"Roasted Sweet Potato\"\n }, {\n code: \"1F362\",\n desc: \"Oden\"\n }, {\n code: \"1F363\",\n desc: \"Sushi\"\n }, {\n code: \"1F364\",\n desc: \"Fried Shrimp\"\n }, {\n code: \"1F365\",\n desc: \"Fish Cake with Swirl Design\"\n }, {\n code: \"1F361\",\n desc: \"Dango\"\n }, {\n code: \"1F366\",\n desc: \"Soft Ice Cream\"\n }, {\n code: \"1F367\",\n desc: \"Shaved Ice\"\n }, {\n code: \"1F368\",\n desc: \"Ice Cream\"\n }, {\n code: \"1F369\",\n desc: \"Doughnut\"\n }, {\n code: \"1F36A\",\n desc: \"Cookie\"\n }, {\n code: \"1F382\",\n desc: \"Birthday Cake\"\n }, {\n code: \"1F370\",\n desc: \"Shortcake\"\n }, {\n code: \"1F36B\",\n desc: \"Chocolate Bar\"\n }, {\n code: \"1F36C\",\n desc: \"Candy\"\n }, {\n code: \"1F36D\",\n desc: \"Lollipop\"\n }, {\n code: \"1F36E\",\n desc: \"Custard\"\n }, {\n code: \"1F36F\",\n desc: \"Honey Pot\"\n }, {\n code: \"1F37C\",\n desc: \"Baby Bottle\"\n }, {\n code: \"2615\",\n desc: \"Hot Beverage\"\n }, {\n code: \"1F375\",\n desc: \"Teacup Without Handle\"\n }, {\n code: \"1F376\",\n desc: \"Sake Bottle and Cup\"\n }, {\n code: \"1F377\",\n desc: \"Wine Glass\"\n }, {\n code: \"1F378\",\n desc: \"Cocktail Glass\"\n }, {\n code: \"1F379\",\n desc: \"Tropical Drink\"\n }, {\n code: \"1F37A\",\n desc: \"Beer Mug\"\n }, {\n code: \"1F37B\",\n desc: \"Clinking Beer Mugs\"\n }, {\n code: \"1F374\",\n desc: \"Fork and Knife\"\n }, {\n code: \"1F52A\",\n desc: \"Hocho\"\n }]\n }, {\n id: \"activity\",\n name: \"Activities\",\n code: \"1f383\",\n emoticons: [{\n code: \"1f383\",\n desc: \" Jack-O-Lantern\"\n }, {\n code: \"1f384\",\n desc: \"Christmas Tree\"\n }, {\n code: \"1f386\",\n desc: \" Fireworks\"\n }, {\n code: \"1f387\",\n desc: \"Firework Sparkler\"\n }, {\n code: \"2728\",\n desc: \" Sparkles\"\n }, {\n code: \"1f388\",\n desc: \"Balloon\"\n }, {\n code: \"1f389\",\n desc: \"Party Popper\"\n }, {\n code: \"1f38a\",\n desc: \"Confetti Ball\"\n }, {\n code: \"1f38b\",\n desc: \"Tanabata Tree\"\n }, {\n code: \"1f38d\",\n desc: \"Pine Decoration\"\n }, {\n code: \"1f38e\",\n desc: \"Japanese Dolls\"\n }, {\n code: \"1f38f\",\n desc: \"Carp Streamer\"\n }, {\n code: \"1f390\",\n desc: \"Wind Chime\"\n }, {\n code: \"1f391\",\n desc: \"Moon Viewing Ceremony\"\n }, {\n code: \"1f380\",\n desc: \"Ribbon\"\n }, {\n code: \"1f381\",\n desc: \"Wrapped Present\"\n }, {\n code: \"1f3ab\",\n desc: \"Ticket\"\n }, {\n code: \"1f3c6\",\n desc: \"Trophy\"\n }, {\n code: \"1f388\",\n desc: \"Balloon\"\n }, {\n code: \"26bd\",\n desc: \"Soccer Ball\"\n }, {\n code: \"26be\",\n desc: \"Baseball\"\n }, {\n code: \"1f3c0\",\n desc: \"Basketball and Hoop\"\n }, {\n code: \"1f3c8\",\n desc: \"American Football\"\n }, {\n code: \"1f3c9\",\n desc: \"Rugby Football\"\n }, {\n code: \"1f3be\",\n desc: \"Tennis Racquet and Ball\"\n }, {\n code: \"1f3b1\",\n desc: \"Billiards\"\n }, {\n code: \"1f3b3\",\n desc: \"Bowling\"\n }, {\n code: \"1f3af\",\n desc: \"Direct Hit\"\n }, {\n code: \"26f3\",\n desc: \"Flag in Hole\"\n }, {\n code: \"1f3a3\",\n desc: \"Fishing Pole and Fish\"\n }, {\n code: \"1f3bd\",\n desc: \"Running Shirt with Sash\"\n }, {\n code: \"1f3bf\",\n desc: \"Ski and Ski Boot\"\n }, {\n code: \"1f3ae\",\n desc: \"Video Game\"\n }, {\n code: \"1f3b2\",\n desc: \"Game Die\"\n }, {\n code: \"2660\",\n desc: \"Black Spade Suit\"\n }, {\n code: \"2665\",\n desc: \"Black Heart SuiT\"\n }, {\n code: \"2666\",\n desc: \"Black Diamond Suit\"\n }, {\n code: \"2663\",\n desc: \"Black Club Suit\"\n }, {\n code: \"1f0cf\",\n desc: \"Playing Card Black Joker\"\n }, {\n code: \"1f004\",\n desc: \"Mahjong Tile Red Dragon\"\n }, {\n code: \"1f3b4\",\n desc: \"Flower Playing Cards\"\n }]\n }, {\n id: \"places\",\n name: \"Travel & Places\",\n code: \"1f30d\",\n emoticons: [{\n code: \"1f30d\",\n desc: \"Earth Globe Europe-Africa\"\n }, {\n code: \"1f30e\",\n desc: \"Earth Globe Americas\"\n }, {\n code: \"1f30f\",\n desc: \"Earth Globe Asia-Australia\"\n }, {\n code: \"1f310\",\n desc: \"Globe with Meridians\"\n }, {\n code: \"1f5fe\",\n desc: \"Silhouette of Japan\"\n }, {\n code: \"1f30b\",\n desc: \"Volcano\"\n }, {\n code: \"1f5fb\",\n desc: \"Mount Fuji\"\n }, {\n code: \"1f3e0\",\n desc: \"House Building\"\n }, {\n code: \"1f3e1\",\n desc: \"House with Garden\"\n }, {\n code: \"1f3e2\",\n desc: \"Office Building\"\n }, {\n code: \"1f3e3\",\n desc: \"Japanese Post Office\"\n }, {\n code: \"1f3e4\",\n desc: \"European Post Office\"\n }, {\n code: \"1f3e5\",\n desc: \"Hospital\"\n }, {\n code: \"1f3e6\",\n desc: \"Bank\"\n }, {\n code: \"1f3e8\",\n desc: \"Hotel\"\n }, {\n code: \"1f3e9\",\n desc: \"Love Hotel\"\n }, {\n code: \"1f3ea\",\n desc: \"Convenience Store\"\n }, {\n code: \"1f3eb\",\n desc: \"School\"\n }, {\n code: \"1f3ec\",\n desc: \"Department Store\"\n }, {\n code: \"1f3ed\",\n desc: \"Factory\"\n }, {\n code: \"1f3ef\",\n desc: \"Japanese Castle\"\n }, {\n code: \"1f3f0\",\n desc: \"European Castle\"\n }, {\n code: \"1f492\",\n desc: \"Wedding\"\n }, {\n code: \"1f5fc\",\n desc: \"Tokyo Tower\"\n }, {\n code: \"1f5fd\",\n desc: \"Statue of Liberty\"\n }, {\n code: \"26ea\",\n desc: \"Church\"\n }, {\n code: \"26f2\",\n desc: \"Fountain\"\n }, {\n code: \"26fa\",\n desc: \"Tent\"\n }, {\n code: \"1f301\",\n desc: \"Foggy\"\n }, {\n code: \"1f303\",\n desc: \"Night with Stars\"\n }, {\n code: \"1f304\",\n desc: \"Sunrise over Mountains\"\n }, {\n code: \"1f305\",\n desc: \"Sunrise\"\n }, {\n code: \"1f306\",\n desc: \"Cityscape at Dusk\"\n }, {\n code: \"1f307\",\n desc: \"Sunset over Buildings\"\n }, {\n code: \"1f309\",\n desc: \"Bridge at Night\"\n }, {\n code: \"2668\",\n desc: \"Hot Springs\"\n }, {\n code: \"1f30c\",\n desc: \"Milky Way\"\n }, {\n code: \"1f3a0\",\n desc: \"Carousel Horse\"\n }, {\n code: \"1f3a1\",\n desc: \"Ferris Wheel\"\n }, {\n code: \"1f3a2\",\n desc: \"Roller Coaster\"\n }, {\n code: \"1f488\",\n desc: \"Barber Pole\"\n }, {\n code: \"1f3aa\",\n desc: \"Circus Tent\"\n }, {\n code: \"1f3ad\",\n desc: \"Performing Arts\"\n }, {\n code: \"1f3a8\",\n desc: \"Artist Palette\"\n }, {\n code: \"1f3b0\",\n desc: \"Slot Machine\"\n }, {\n code: \"1f682\",\n desc: \"Steam Locomotive\"\n }, {\n code: \"1f683\",\n desc: \"Railway Car\"\n }, {\n code: \"1f684\",\n desc: \"High-Speed Train\"\n }, {\n code: \"1f685\",\n desc: \"High-Speed Train with Bullet Nose\"\n }, {\n code: \"1f686\",\n desc: \"Train\"\n }, {\n code: \"1f687\",\n desc: \"Metro\"\n }, {\n code: \"1f688\",\n desc: \"Light Rail\"\n }, {\n code: \"1f689\",\n desc: \"Station\"\n }, {\n code: \"1f68a\",\n desc: \"Tram\"\n }, {\n code: \"1f69d\",\n desc: \"Monorail\"\n }, {\n code: \"1f69e\",\n desc: \"Mountain Railway\"\n }, {\n code: \"1f68b\",\n desc: \"Tram Car\"\n }, {\n code: \"1f68c\",\n desc: \"Bus\"\n }, {\n code: \"1f68d\",\n desc: \"Oncoming Bus\"\n }, {\n code: \"1f68e\",\n desc: \"Trolleybus\"\n }, {\n code: \"1f690\",\n desc: \"Minibus\"\n }, {\n code: \"1f691\",\n desc: \"Ambulance\"\n }, {\n code: \"1f692\",\n desc: \"Fire Engine\"\n }, {\n code: \"1f693\",\n desc: \"Police Car\"\n }, {\n code: \"1f694\",\n desc: \"Oncoming Police Car\"\n }, {\n code: \"1f695\",\n desc: \"Taxi\"\n }, {\n code: \"1f695\",\n desc: \"Oncoming Taxi\"\n }, {\n code: \"1f697\",\n desc: \"Automobile\"\n }, {\n code: \"1f698\",\n desc: \"Oncoming Automobile\"\n }, {\n code: \"1f699\",\n desc: \"Recreational Vehicle\"\n }, {\n code: \"1f69a\",\n desc: \"Delivery Truck\"\n }, {\n code: \"1f69b\",\n desc: \"Articulated Lorry\"\n }, {\n code: \"1f69c\",\n desc: \"Tractor\"\n }, {\n code: \"1f6b2\",\n desc: \"Bicycle\"\n }, {\n code: \"1f68f\",\n desc: \"Bus Stop\"\n }, {\n code: \"26fd\",\n desc: \"Fuel Pump\"\n }, {\n code: \"1f6a8\",\n desc: \"Police Cars Revolving Light\"\n }, {\n code: \"1f6a5\",\n desc: \"Horizontal Traffic Light\"\n }, {\n code: \"1f6a6\",\n desc: \"Vertical Traffic Light\"\n }, {\n code: \"1f6a7\",\n desc: \"Construction Sign\"\n }, {\n code: \"2693\",\n desc: \"Anchor\"\n }, {\n code: \"26f5\",\n desc: \"Sailboat\"\n }, {\n code: \"1f6a4\",\n desc: \"Speedboat\"\n }, {\n code: \"1f6a2\",\n desc: \"Ship\"\n }, {\n code: \"2708\",\n desc: \"Airplane\"\n }, {\n code: \"1f4ba\",\n desc: \"Seat\"\n }, {\n code: \"1f681\",\n desc: \"Helicopter\"\n }, {\n code: \"1f69f\",\n desc: \"Suspension Railway\"\n }, {\n code: \"1f6a0\",\n desc: \"Mountain Cableway\"\n }, {\n code: \"1f6a1\",\n desc: \"Aerial Tramway\"\n }, {\n code: \"1f680\",\n desc: \"Rocket\"\n }, {\n code: \"1f6aa\",\n desc: \"Door\"\n }, {\n code: \"1f6bd\",\n desc: \"Toilet\"\n }, {\n code: \"1f6bf\",\n desc: \"Shower\"\n }, {\n code: \"1f6c1\",\n desc: \"Bathtub\"\n }, {\n code: \"231b\",\n desc: \"Hourglass\"\n }, {\n code: \"23f3\",\n desc: \"Hourglass with Flowing Sand\"\n }, {\n code: \"231a\",\n desc: \"Watch\"\n }, {\n code: \"23f0\",\n desc: \"Alarm Clock\"\n }, {\n code: \"1f55b\",\n desc: \"Clock Face Twelve Oclock\"\n }, {\n code: \"1f567\",\n desc: \"Clock Face Twelve-Thirty\"\n }, {\n code: \"1f550\",\n desc: \"Clock Face One Oclock\"\n }, {\n code: \"1f55c\",\n desc: \"Clock Face One-thirty\"\n }, {\n code: \"1f551\",\n desc: \"Clock Face Two Oclock\"\n }, {\n code: \"1f55d\",\n desc: \"Clock Face Two-thirty\"\n }, {\n code: \"1f552\",\n desc: \"Clock Face Three Oclock\"\n }, {\n code: \"1f55e\",\n desc: \"Clock Face Three-thirty\"\n }, {\n code: \"1f553\",\n desc: \"Clock Face Four Oclock\"\n }, {\n code: \"1f55f\",\n desc: \"Clock Face Four-thirty\"\n }, {\n code: \"1f554\",\n desc: \"Clock Face Five Oclock\"\n }, {\n code: \"1f560\",\n desc: \"Clock Face Five-thirty\"\n }, {\n code: \"1f555\",\n desc: \"Clock Face Six Oclock\"\n }, {\n code: \"1f561\",\n desc: \"Clock Face Six-thirty\"\n }, {\n code: \"1f556\",\n desc: \"Clock Face Seven Oclock\"\n }, {\n code: \"1f562\",\n desc: \"Clock Face Seven-thirty\"\n }, {\n code: \"1f557\",\n desc: \"Clock Face Eight Oclock\"\n }, {\n code: \"1f563\",\n desc: \"Clock Face Eight-thirty\"\n }, {\n code: \"1f558\",\n desc: \"Clock Face Nine Oclock\"\n }, {\n code: \"1f564\",\n desc: \"Clock Face Nine-thirty\"\n }, {\n code: \"1f559\",\n desc: \"Clock Face Ten Oclock\"\n }, {\n code: \"1f565\",\n desc: \"Clock Face Ten-thirty\"\n }, {\n code: \"1f55a\",\n desc: \"Clock Face Eleven Oclock\"\n }, {\n code: \"1f566\",\n desc: \"Clock Face Eleven-thirty\"\n }, {\n code: \"1f311\",\n desc: \"New Moon Symbol\"\n }, {\n code: \"1f312\",\n desc: \"Waxing Crescent Moon Symbol\"\n }, {\n code: \"1f313\",\n desc: \"First Quarter Moon Symbol\"\n }, {\n code: \"1f314\",\n desc: \"Waxing Gibbous Moon Symbol\"\n }, {\n code: \"1f315\",\n desc: \"Full Moon Symbol\"\n }, {\n code: \"1f316\",\n desc: \"Waning Gibbous Moon Symbol\"\n }, {\n code: \"1f317\",\n desc: \"Last Quarter Moon Symbol\"\n }, {\n code: \"1f318\",\n desc: \"Waning Crescent Moon Symbol\"\n }, {\n code: \"1f319\",\n desc: \"Crescent Moon\"\n }, {\n code: \"1f31a\",\n desc: \"New Moon with Face\"\n }, {\n code: \"1f31b\",\n desc: \"First Quarter Moon with Face\"\n }, {\n code: \"1f31c\",\n desc: \"Last Quarter Moon with Face\"\n }, {\n code: \"2600\",\n desc: \"Black Sun with Rays\"\n }, {\n code: \"1f31d\",\n desc: \"Full Moon with Face\"\n }, {\n code: \"1f31e\",\n desc: \"Sun with Face\"\n }, {\n code: \"2b50\",\n desc: \"White Medium Star\"\n }, {\n code: \"1f31f\",\n desc: \"Glowing Star\"\n }, {\n code: \"1f320\",\n desc: \"Shooting Star\"\n }, {\n code: \"2601\",\n desc: \"Cloud\"\n }, {\n code: \"26c5\",\n desc: \"Sun Behind Cloud\"\n }, {\n code: \"1f300\",\n desc: \"Cyclone\"\n }, {\n code: \"1f308\",\n desc: \"Rainbow\"\n }, {\n code: \"1f302\",\n desc: \"Closed Umbrella\"\n }, {\n code: \"2614\",\n desc: \"Umbrella with Rain Drops\"\n }, {\n code: \"26a1\",\n desc: \"High Voltage Sign\"\n }, {\n code: \"2744\",\n desc: \"Snowflake\"\n }, {\n code: \"2603\",\n desc: \"Snowman Without Snow\"\n }, {\n code: \"1f525\",\n desc: \"Fire\"\n }, {\n code: \"1f4a7\",\n desc: \"Droplet\"\n }, {\n code: \"1F30A\",\n desc: \"Water Wave\"\n }]\n }, {\n id: \"objects\",\n name: \"Objects\",\n code: \"1F507\",\n emoticons: [{\n code: \"1F507\",\n desc: \"Speaker with Cancellation Stroke\"\n }, {\n code: \"1F508\",\n desc: \"Speaker\"\n }, {\n code: \"1F509\",\n desc: \"Speaker with One Sound Wave\"\n }, {\n code: \"1F50A\",\n desc: \"Speaker with Three Sound Wave\"\n }, {\n code: \"1F4E2\",\n desc: \"Public Address Loudspeaker\"\n }, {\n code: \"1F4E3\",\n desc: \"Cheering Megaphone\"\n }, {\n code: \"1F4EF\",\n desc: \"Postal Horn\"\n }, {\n code: \"1F514\",\n desc: \"Bell\"\n }, {\n code: \"1F515\",\n desc: \"Bell with Cancellation Stroke\"\n }, {\n code: \"1F3BC\",\n desc: \"Musical Score\"\n }, {\n code: \"1F3B5\",\n desc: \"Musical Note\"\n }, {\n code: \"1F3B6\",\n desc: \"Multiple Musical Notes\"\n }, {\n code: \"1F3A4\",\n desc: \"Microphone\"\n }, {\n code: \"1F3A7\",\n desc: \"Headphone\"\n }, {\n code: \"1F4FB\",\n desc: \"Radio\"\n }, {\n code: \"1F3B7\",\n desc: \"Saxophone\"\n }, {\n code: \"1F3B8\",\n desc: \"Guitar\"\n }, {\n code: \"1F3B9\",\n desc: \"Musical Keyboard\"\n }, {\n code: \"1F3BA\",\n desc: \"Trumpet\"\n }, {\n code: \"1F3BB\",\n desc: \"Violin\"\n }, {\n code: \"1F4F1\",\n desc: \"Mobile Phone\"\n }, {\n code: \"1F4F2\",\n desc: \"Mobile Phone with Rightwards Arrow at Left\"\n }, {\n code: \"260E\",\n desc: \"Black Telephone\"\n }, {\n code: \"1F4DE\",\n desc: \"Telephone Receiver\"\n }, {\n code: \"1F4DF\",\n desc: \"Pager\"\n }, {\n code: \"1F4E0\",\n desc: \"Fax Machine\"\n }, {\n code: \"1F50B\",\n desc: \"Battery\"\n }, {\n code: \"1F50C\",\n desc: \"Electric Plug\"\n }, {\n code: \"1F4BB\",\n desc: \"Personal Computer\"\n }, {\n code: \"1F4BD\",\n desc: \"Minidisc\"\n }, {\n code: \"1F4BE\",\n desc: \"Floppy Disk\"\n }, {\n code: \"1F4BF\",\n desc: \"Optical Disk\"\n }, {\n code: \"1F4C0\",\n desc: \"Dvd\"\n }, {\n code: \"1F3A5\",\n desc: \"Movie Camera\"\n }, {\n code: \"1F3AC\",\n desc: \"Clapper Board\"\n }, {\n code: \"1F4FA\",\n desc: \"Television\"\n }, {\n code: \"1F4F7\",\n desc: \"Camera\"\n }, {\n code: \"1F4F9\",\n desc: \"Video Camera\"\n }, {\n code: \"1F4FC\",\n desc: \"Videocassette\"\n }, {\n code: \"1F50D\",\n desc: \"Left-Pointing Magnifying Glass\"\n }, {\n code: \"1F50E\",\n desc: \"Right-Pointing Magnifying Glass\"\n }, {\n code: \"1F52C\",\n desc: \"Microscope\"\n }, {\n code: \"1F52D\",\n desc: \"Telelscope\"\n }, {\n code: \"1F4E1\",\n desc: \"Satellite Antenna\"\n }, {\n code: \"1F4A1\",\n desc: \"Electric Light Bulb\"\n }, {\n code: \"1F526\",\n desc: \"Electric Torch\"\n }, {\n code: \"1F3EE\",\n desc: \"Izakaya Lantern\"\n }, {\n code: \"1F4D4\",\n desc: \"Notebook with Decorative Cover\"\n }, {\n code: \"1F4D5\",\n desc: \"Closed Book\"\n }, {\n code: \"1F4D6\",\n desc: \"Open Book\"\n }, {\n code: \"1F4D7\",\n desc: \"Green Book\"\n }, {\n code: \"1F4D8\",\n desc: \"Blue Book\"\n }, {\n code: \"1F4D9\",\n desc: \"Orange Book\"\n }, {\n code: \"1F4DA\",\n desc: \"Books\"\n }, {\n code: \"1F4D3\",\n desc: \"Notebook\"\n }, {\n code: \"1F4D2\",\n desc: \"Ledger\"\n }, {\n code: \"1F4C3\",\n desc: \"Curl\"\n }, {\n code: \"1F4DC\",\n desc: \"Scroll\"\n }, {\n code: \"1F4C4\",\n desc: \"Page Facing Up\"\n }, {\n code: \"1F4F0\",\n desc: \"Newspaper\"\n }, {\n code: \"1F4D1\",\n desc: \"Bookmark Tabs\"\n }, {\n code: \"1F516\",\n desc: \"Bookmark\"\n }, {\n code: \"1F4B0\",\n desc: \"Money Bag\"\n }, {\n code: \"1F4B4\",\n desc: \"Banknote with Yen Sign\"\n }, {\n code: \"1F4B5\",\n desc: \"Banknote with Dollar Sign\"\n }, {\n code: \"1F4B6\",\n desc: \"Banknote with Euro Sign\"\n }, {\n code: \"1F4B7\",\n desc: \"Banknote with Pound Sign\"\n }, {\n code: \"1F4B8\",\n desc: \"Money with Wings\"\n }, {\n code: \"1F4B3\",\n desc: \"Credit Card\"\n }, {\n code: \"1F4B9\",\n desc: \"Chart with Upwards Trend and Yen Sign\"\n }, {\n code: \"1F4B1\",\n desc: \"Currency Exchange\"\n }, {\n code: \"1F4B2\",\n desc: \"Heavy Dollar Sign\"\n }, {\n code: \"2709\",\n desc: \"Envelope\"\n }, {\n code: \"1F4E7\",\n desc: \"E-Mail Symbol\"\n }, {\n code: \"1F4E8\",\n desc: \"Incoming Envelope\"\n }, {\n code: \"1F4E9\",\n desc: \"Envelope with Downwards Arrow Above\"\n }, {\n code: \"1F4E4\",\n desc: \"Outbox Tray\"\n }, {\n code: \"1F4E5\",\n desc: \"Inbox Tray\"\n }, {\n code: \"1F4E6\",\n desc: \"Package\"\n }, {\n code: \"1F4BE\",\n desc: \"Closed Mailbox with Raised Flag\"\n }, {\n code: \"1F4EA\",\n desc: \"Closed Mailbox with Lowered Flag\"\n }, {\n code: \"1F4EC\",\n desc: \"Open Mailbox with Raised Flag\"\n }, {\n code: \"1F4ED\",\n desc: \"Open Mailbox with Lowered Flag\"\n }, {\n code: \"1F5F3\",\n desc: \"Postbox\"\n }, {\n code: \"270F\",\n desc: \"Pencil\"\n }, {\n code: \"2712\",\n desc: \"Black Nib\"\n }, {\n code: \"1F4DD\",\n desc: \"Memo\"\n }, {\n code: \"1F4BC\",\n desc: \"Briefcase\"\n }, {\n code: \"1F4C1\",\n desc: \"File Folder\"\n }, {\n code: \"1F4C2\",\n desc: \"Open File Folder\"\n }, {\n code: \"1F4C5\",\n desc: \"Calender\"\n }, {\n code: \"1F4C6\",\n desc: \"Tear-off Calender\"\n }, {\n code: \"1F4C7\",\n desc: \"Card Index\"\n }, {\n code: \"1F4C8\",\n desc: \"Chart with Upwards Trend\"\n }, {\n code: \"1F4C9\",\n desc: \"Chart with Downwards Trend\"\n }, {\n code: \"1F4CA\",\n desc: \"Bar Chart\"\n }, {\n code: \"1F4CB\",\n desc: \"Clipboard\"\n }, {\n code: \"1F4CC\",\n desc: \"Pushpin\"\n }, {\n code: \"1F4CD\",\n desc: \"Round Pushpin\"\n }, {\n code: \"1F4CE\",\n desc: \"Paperclip\"\n }, {\n code: \"1F4CF\",\n desc: \"Straight Ruler\"\n }, {\n code: \"1F4D0\",\n desc: \"Triangular Ruler\"\n }, {\n code: \"2702\",\n desc: \"Black Scissors\"\n }, {\n code: \"1F512\",\n desc: \"Lock\"\n }, {\n code: \"1F513\",\n desc: \"Open Lock\"\n }, {\n code: \"1F50F\",\n desc: \"Lock with Ink Pen\"\n }, {\n code: \"1F510\",\n desc: \"Closed Lock with Key\"\n }, {\n code: \"1F511\",\n desc: \"Key\"\n }, {\n code: \"1F528\",\n desc: \"Hammer\"\n }, {\n code: \"1F52B\",\n desc: \"Pistol\"\n }, {\n code: \"1F527\",\n desc: \"Wrench\"\n }, {\n code: \"1F529\",\n desc: \"Nut and Bolt\"\n }, {\n code: \"1F517\",\n desc: \"Link Symbol\"\n }, {\n code: \"1F489\",\n desc: \"Syringe\"\n }, {\n code: \"1F48A\",\n desc: \"Pill\"\n }, {\n code: \"1F6AC\",\n desc: \"Smoking Symbol\"\n }, {\n code: \"1F5FF\",\n desc: \"Moyai\"\n }, {\n code: \"1F52E\",\n desc: \"Crystal Ball\"\n }]\n }, {\n id: \"symbols\",\n name: \"Symbols\",\n code: \"1F3E7\",\n emoticons: [{\n code: \"1F3E7\",\n desc: \"Automated Teller Machine\"\n }, {\n code: \"1F6AE\",\n desc: \"Put Litter in Its Place Symbol\"\n }, {\n code: \"1F6B0\",\n desc: \"Potable Water Symbol\"\n }, {\n code: \"267F\",\n desc: \"Wheelchair Symbol\"\n }, {\n code: \"1F6B9\",\n desc: \"Mens Symbol\"\n }, {\n code: \"1F6BA\",\n desc: \"Womens Symbol\"\n }, {\n code: \"1F6BB\",\n desc: \"Restroom\"\n }, {\n code: \"1F6BC\",\n desc: \"Baby Symbol\"\n }, {\n code: \"1F6BE\",\n desc: \"Water Closet\"\n }, {\n code: \"1F6C2\",\n desc: \"Passport Control\"\n }, {\n code: \"1F6C3\",\n desc: \"Customs\"\n }, {\n code: \"1F6C4\",\n desc: \"Baggage Claim\"\n }, {\n code: \"1F6C5\",\n desc: \"Left Luggage\"\n }, {\n code: \"26A0\",\n desc: \"Warning Sign\"\n }, {\n code: \"1F6B8\",\n desc: \"Children Crossing\"\n }, {\n code: \"26D4\",\n desc: \"No Entry\"\n }, {\n code: \"1F6AB\",\n desc: \"No Entry Sign\"\n }, {\n code: \"1F6B3\",\n desc: \"No Bicycles\"\n }, {\n code: \"1F6AD\",\n desc: \"No Smoking Symbol\"\n }, {\n code: \"1F6AF\",\n desc: \"Do Not Litter Symbol\"\n }, {\n code: \"1F6B1\",\n desc: \"Non-Potable Water Symbol\"\n }, {\n code: \"1F6B7\",\n desc: \"No Pedestrians\"\n }, {\n code: \"1F4F5\",\n desc: \"No Mobile Phones\"\n }, {\n code: \"1F51E\",\n desc: \"No One Under Eighteen Symbol\"\n }, {\n code: \"2B06\",\n desc: \"Upwards Black Arrow\"\n }, {\n code: \"2197\",\n desc: \"North East Arrow\"\n }, {\n code: \"27A1\",\n desc: \"Black Rightwards Arrow\"\n }, {\n code: \"2198\",\n desc: \"South East Arrow\"\n }, {\n code: \"2B07\",\n desc: \"Downwards Black Arrow\"\n }, {\n code: \"2199\",\n desc: \"South West Arrow\"\n }, {\n code: \"2B05\",\n desc: \"Leftwards Black Arrow\"\n }, {\n code: \"2196\",\n desc: \"North West Arrow\"\n }, {\n code: \"2195\",\n desc: \"Up Down Arrow\"\n }, {\n code: \"2194\",\n desc: \"Left Right Arrow\"\n }, {\n code: \"21A9\",\n desc: \"Leftwards Arrow with Hook\"\n }, {\n code: \"21AA\",\n desc: \"Rightwards Arrow with Hook\"\n }, {\n code: \"2934\",\n desc: \"Arrow Pointing Rightwards Then Curving Upwards\"\n }, {\n code: \"2935\",\n desc: \"Arrow Pointing Rightwards Then Curving Downwards\"\n }, {\n code: \"1F503\",\n desc: \"Clockwise Downwards and Upwards Open Circle Arrows\"\n }, {\n code: \"1F504\",\n desc: \"Anticlockwise Downwards and Upwards Open Circle Arrows\"\n }, {\n code: \"1F519\",\n desc: \"Back with Leftwards Arrow Above\"\n }, {\n code: \"1F51A\",\n desc: \"End with Leftwards Arrow Above\"\n }, {\n code: \"1F51B\",\n desc: \"On with Exclamation Mark with Left Right Arrow Above\"\n }, {\n code: \"1F51C\",\n desc: \"Soon with Rightwards Arrow Above\"\n }, {\n code: \"1F51D\",\n desc: \"Top with Upwards Arrow Above\"\n }, {\n code: \"1F52F\",\n desc: \"Six Pointed Star with Middle Dot\"\n }, {\n code: \"2648\",\n desc: \"Aries\"\n }, {\n code: \"2649\",\n desc: \"Taurus\"\n }, {\n code: \"264A\",\n desc: \"Gemini\"\n }, {\n code: \"264B\",\n desc: \"Cancer\"\n }, {\n code: \"264C\",\n desc: \"Leo\"\n }, {\n code: \"264D\",\n desc: \"Virgo\"\n }, {\n code: \"264E\",\n desc: \"Libra\"\n }, {\n code: \"264F\",\n desc: \"Scorpius\"\n }, {\n code: \"2650\",\n desc: \"Sagittarius\"\n }, {\n code: \"2651\",\n desc: \"Capricorn\"\n }, {\n code: \"2652\",\n desc: \"Aquarius\"\n }, {\n code: \"2653\",\n desc: \"Pisces\"\n }, {\n code: \"26CE\",\n desc: \"Ophiuchus\"\n }, {\n code: \"1F500\",\n desc: \"Twisted Rightwards Arrows\"\n }, {\n code: \"1F501\",\n desc: \"Clockwise Rightwards and Leftwards Open Circle Arrows\"\n }, {\n code: \"1F502\",\n desc: \"Clockwise Rightwards and Leftwards Open Circle Arrows with Circled One Overlay\"\n }, {\n code: \"25B6\",\n desc: \"Black Right-Pointing Triangle\"\n }, {\n code: \"23E9\",\n desc: \"Black Right-Pointing Double Triangle\"\n }, {\n code: \"25C0\",\n desc: \"Black Left-Pointing Triangle\"\n }, {\n code: \"23EA\",\n desc: \"Black Left-Pointing Double Triangle\"\n }, {\n code: \"1F53C\",\n desc: \"Up-Pointing Small Red Triangle\"\n }, {\n code: \"23EB\",\n desc: \"Black Up-Pointing Double Triangle\"\n }, {\n code: \"1F53D\",\n desc: \"Down-Pointing Small Red Triangle\"\n }, {\n code: \"23EC\",\n desc: \"Black Down-Pointing Double Triangle\"\n }, {\n code: \"1F3A6\",\n desc: \"Cinema\"\n }, {\n code: \"1F505\",\n desc: \"Low Brightness Symbol\"\n }, {\n code: \"1F506\",\n desc: \"High Brightness Symbol\"\n }, {\n code: \"1F4F6\",\n desc: \"Antenna with Bars\"\n }, {\n code: \"1F4F3\",\n desc: \"Vibration Mode\"\n }, {\n code: \"1F4F4\",\n desc: \"Mobile Phone off\"\n }, {\n code: \"267B\",\n desc: \"Black Universal Recycling Symbol\"\n }, {\n code: \"1F531\",\n desc: \"Trident Emblem\"\n }, {\n code: \"1F4DB\",\n desc: \"Name Badge\"\n }, {\n code: \"1F530\",\n desc: \"Japanese Symbol for Beginner\"\n }, {\n code: \"2B55\",\n desc: \"Heavy Large Circle\"\n }, {\n code: \"2705\",\n desc: \"White Heavy Check Mark\"\n }, {\n code: \"2611\",\n desc: \"Ballot Box with Check\"\n }, {\n code: \"2714\",\n desc: \"Heavy Check Mark\"\n }, {\n code: \"2716\",\n desc: \"Heavy Multiplication X\"\n }, {\n code: \"274C\",\n desc: \"Cross Mark\"\n }, {\n code: \"274E\",\n desc: \"Negative Squared Cross Mark\"\n }, {\n code: \"2795\",\n desc: \"Heavy Plus Sign\"\n }, {\n code: \"2796\",\n desc: \"Heavy Minus Sign\"\n }, {\n code: \"2797\",\n desc: \"Heavy Division Sign\"\n }, {\n code: \"27B0\",\n desc: \"Curly Loop\"\n }, {\n code: \"27BF\",\n desc: \"Double Curly Loop\"\n }, {\n code: \"303D\",\n desc: \"Part Alternation Mark\"\n }, {\n code: \"2733\",\n desc: \"Eight Spoked Asterisk\"\n }, {\n code: \"2734\",\n desc: \"Eight Pointed Black Star\"\n }, {\n code: \"2747\",\n desc: \"Sparkle\"\n }, {\n code: \"203C\",\n desc: \"Double Exclamation Mark\"\n }, {\n code: \"2049\",\n desc: \"Exclamation Question Mark\"\n }, {\n code: \"2753\",\n desc: \"Black Question Mark Ornament\"\n }, {\n code: \"2754\",\n desc: \"White Question Mark Ornament\"\n }, {\n code: \"2755\",\n desc: \"White Exclamation Mark Ornament\"\n }, {\n code: \"2757\",\n desc: \"Heavy Exclamation Mark Symbol\"\n }, {\n code: \"3030\",\n desc: \"Wavy Dash\"\n }, {\n code: \"2122\",\n desc: \"Trade Mark Sign\"\n }, {\n code: \"1F51F\",\n desc: \"Keycap Ten\"\n }, {\n code: \"1F4AF\",\n desc: \"Hundred Points Symbol\"\n }, {\n code: \"1F520\",\n desc: \"Input Symbol for Latin Capital Letters\"\n }, {\n code: \"1F521\",\n desc: \"Input Symbol for Latin Small Letters\"\n }, {\n code: \"1F522\",\n desc: \"Input Symbol for Numbers\"\n }, {\n code: \"1F523\",\n desc: \"Input Symbol for Symbols\"\n }, {\n code: \"1F524\",\n desc: \"Input Symbol for Latin Letters\"\n }, {\n code: \"1F170\",\n desc: \"Negative Squared Latin Capital Letter a\"\n }, {\n code: \"1F18E\",\n desc: \"Negative Squared Ab\"\n }, {\n code: \"1F171\",\n desc: \"Negative Squared Latin Capital Letter B\"\n }, {\n code: \"1F191\",\n desc: \"Squared Cl\"\n }, {\n code: \"1F192\",\n desc: \"Squared Cool\"\n }, {\n code: \"1F193\",\n desc: \"Squared Free\"\n }, {\n code: \"2139\",\n desc: \"Information Source\"\n }, {\n code: \"1F194\",\n desc: \"Squared Id\"\n }, {\n code: \"24C2\",\n desc: \"Circled Latin Capital Letter M\"\n }, {\n code: \"1F195\",\n desc: \"Squared New\"\n }, {\n code: \"1F196\",\n desc: \"Squared Ng\"\n }, {\n code: \"1F17E\",\n desc: \"Negative Squared Latin Capital Letter O\"\n }, {\n code: \"1F197\",\n desc: \"Squared Ok\"\n }, {\n code: \"1F17F\",\n desc: \"Negative Squared Latin Capital Letter P\"\n }, {\n code: \"1F198\",\n desc: \"Squared Sos\"\n }, {\n code: \"1F199\",\n desc: \"Squared Up with Exclamation Mark\"\n }, {\n code: \"1F19A\",\n desc: \"Squared Vs\"\n }, {\n code: \"1F201\",\n desc: \"Squared Katakana Koko\"\n }, {\n code: \"1F202\",\n desc: \"Squared Katakana Sa\"\n }, {\n code: \"1F237\",\n desc: \"Squared Cjk Unified Ideograph-6708\"\n }, {\n code: \"1F236\",\n desc: \"Squared Cjk Unified Ideograph-6709\"\n }, {\n code: \"1F22F\",\n desc: \"Squared Cjk Unified Ideograph-6307\"\n }, {\n code: \"1F250\",\n desc: \"Circled Ideograph Advantage\"\n }, {\n code: \"1F239\",\n desc: \"Squared Cjk Unified Ideograph-5272\"\n }, {\n code: \"1F21A\",\n desc: \"Squared Cjk Unified Ideograph-7121\"\n }, {\n code: \"1F232\",\n desc: \"Squared Cjk Unified Ideograph-7981\"\n }, {\n code: \"1F251\",\n desc: \"Circled Ideograph Accept\"\n }, {\n code: \"1F238\",\n desc: \"Squared Cjk Unified Ideograph-7533\"\n }, {\n code: \"1F234\",\n desc: \"Squared Cjk Unified Ideograph-5408\"\n }, {\n code: \"1F233\",\n desc: \"Squared Cjk Unified Ideograph-7a7a\"\n }, {\n code: \"3297\",\n desc: \"Circled Ideograph Congratulation\"\n }, {\n code: \"3299\",\n desc: \"Circled Ideograph Secret\"\n }, {\n code: \"1F23A\",\n desc: \"Squared Cjk Unified Ideograph-55b6\"\n }, {\n code: \"1F235\",\n desc: \"Squared Cjk Unified Ideograph-6e80\"\n }, {\n code: \"25AA\",\n desc: \"Black Small Square\"\n }, {\n code: \"25AB\",\n desc: \"White Small Square\"\n }, {\n code: \"25FB\",\n desc: \"White Medium Square\"\n }, {\n code: \"25FC\",\n desc: \"Black Medium Square\"\n }, {\n code: \"25FD\",\n desc: \"White Medium Small Square\"\n }, {\n code: \"25FE\",\n desc: \"Black Medium Small Square\"\n }, {\n code: \"2B1B\",\n desc: \"Black Large Square\"\n }, {\n code: \"2B1C\",\n desc: \"White Large Square\"\n }, {\n code: \"1F536\",\n desc: \"Large Orange Diamond\"\n }, {\n code: \"1F537\",\n desc: \"Large Blue Diamond\"\n }, {\n code: \"1F538\",\n desc: \"Small Orange Diamond\"\n }, {\n code: \"1F539\",\n desc: \"Small Blue Diamond\"\n }, {\n code: \"1F53A\",\n desc: \"Up-Pointing Red Triangle\"\n }, {\n code: \"1F53B\",\n desc: \"Down-Pointing Red Triangle\"\n }, {\n code: \"1F4A0\",\n desc: \"Diamond Shape with a Dot Inside\"\n }, {\n code: \"1F518\",\n desc: \"Radio Button\"\n }, {\n code: \"1F532\",\n desc: \"Black Square Button\"\n }, {\n code: \"1F533\",\n desc: \"White Square Button\"\n }, {\n code: \"26AA\",\n desc: \"Medium White Circle\"\n }, {\n code: \"26AB\",\n desc: \"Medium Black Circle\"\n }, {\n code: \"1F534\",\n desc: \"Large Red Circle\"\n }, {\n code: \"1F535\",\n desc: \"Large Blue Circle\"\n }]\n }, {\n id: \"flags\",\n name: \"Flags\",\n code: \"1F3C1\",\n emoticons: [{\n code: \"1f3c1\",\n desc: \"Chequered Flag\"\n }, {\n code: \"1f1e8-1f1f3\",\n desc: \"China Flag\"\n }, {\n code: \"1f38c\",\n desc: \"Crossed Flags\"\n }, {\n code: \"1f1e9-1f1ea\",\n desc: \"Germany Flag\"\n }, {\n code: \"1f1ea-1f1f8\",\n desc: \"Spain Flag\"\n }, {\n code: \"1f1e6-1f1e8\",\n desc: \"Ascension Island Flag\"\n }, {\n code: \"1f1e6-1f1e9\",\n desc: \"Andorra Flag\"\n }, {\n code: \"1f1e6-1f1ea\",\n desc: \"United Arab Emirates Flag\"\n }, {\n code: \"1f1e6-1f1eb\",\n desc: \"Afghanistan Flag\"\n }, {\n code: \"1f1e6-1f1ec\",\n desc: \"Antigua & Barbuda Flag\"\n }, {\n code: \"1f1e6-1f1ee\",\n desc: \"Anguilla Flag\"\n }, {\n code: \"1f1e6-1f1f1\",\n desc: \"Albania Flag\"\n }, {\n code: \"1f1e6-1f1f2\",\n desc: \"Armenia Flag\"\n }, {\n code: \"1f1e6-1f1f4\",\n desc: \"Angola Flag\"\n }, {\n code: \"1f1e6-1f1f6\",\n desc: \"Antarctica Flag\"\n }, {\n code: \"1f1e6-1f1f7\",\n desc: \"Argentina Flag\"\n }, {\n code: \"1f1e6-1f1f8\",\n desc: \"American Samoa Flag\"\n }, {\n code: \"1f1e6-1f1f9\",\n desc: \"Austria Flag\"\n }, {\n code: \"1f1e6-1f1fa\",\n desc: \"Australia Flag\"\n }, {\n code: \"1f1e6-1f1fc\",\n desc: \"Aruba Flag\"\n }, {\n code: \"1f1e6-1f1fd\",\n desc: \"\\xc5land Islands Flag\"\n }, {\n code: \"1f1e6-1f1ff\",\n desc: \"Azerbaijan Flag\"\n }, {\n code: \"1f1e7-1f1e7\",\n desc: \"Barbados Flag\"\n }, {\n code: \"1f1e7-1f1e9\",\n desc: \"Bangladesh Flag\"\n }, {\n code: \"1f1e7-1f1ea\",\n desc: \"Belgium Flag\"\n }, {\n code: \"1f1e7-1f1eb\",\n desc: \"Burkina Faso Flag\"\n }, {\n code: \"1f1e7-1f1ec\",\n desc: \"Bulgaria Flag\"\n }, {\n code: \"1f1e7-1f1ed\",\n desc: \"Bahrain Flag\"\n }, {\n code: \"1f1e7-1f1ee\",\n desc: \"Burundi Flag\"\n }, {\n code: \"1f1e7-1f1ef\",\n desc: \"Benin Flag\"\n }, {\n code: \"1f1e7-1f1f1\",\n desc: \"St. Barth\\xe9lemy Flag\"\n }, {\n code: \"1f1e7-1f1f2\",\n desc: \"Bermuda Flag\"\n }, {\n code: \"1f1e7-1f1f4\",\n desc: \"Bolivia Flag\"\n }, {\n code: \"1f1e7-1f1f6\",\n desc: \"Caribbean Netherlands Flag\"\n }, {\n code: \"1f1e7-1f1f7\",\n desc: \"Brazil Flag\"\n }, {\n code: \"1f1e7-1f1f8\",\n desc: \"Bahamas Flag\"\n }, {\n code: \"1f1e7-1f1f9\",\n desc: \"Bhutan Flag\"\n }, {\n code: \"1f1e7-1f1fb\",\n desc: \"Bouvet Island Flag\"\n }, {\n code: \"1f1e7-1f1fc\",\n desc: \"Botswana Flag\"\n }, {\n code: \"1f1e7-1f1fe\",\n desc: \"Belarus Flag\"\n }, {\n code: \"1f1e7-1f1ff\",\n desc: \"Belize Flag\"\n }, {\n code: \"1f1e8-1f1e6\",\n desc: \"Canada Flag\"\n }, {\n code: \"1f1e8-1f1e8\",\n desc: \"Cocos (keeling) Islands Flag\"\n }, {\n code: \"1f1e8-1f1e9\",\n desc: \"Congo - Kinshasa Flag\"\n }, {\n code: \"1f1e8-1f1eb\",\n desc: \"Central African Republic Flag\"\n }, {\n code: \"1f1e8-1f1ec\",\n desc: \"Congo - Brazzaville Flag\"\n }, {\n code: \"1f1e8-1f1ed\",\n desc: \"Switzerland Flag\"\n }, {\n code: \"1f1e8-1f1ee\",\n desc: \"C\\xf4te D\\u2019ivoire Flag\"\n }, {\n code: \"1f1e8-1f1f0\",\n desc: \"Cook Islands Flag\"\n }, {\n code: \"1f1e8-1f1f1\",\n desc: \"Chile Flag\"\n }, {\n code: \"1f1e8-1f1f2\",\n desc: \"Cameroon Flag\"\n }, {\n code: \"1f1e8-1f1f4\",\n desc: \"Colombia Flag\"\n }, {\n code: \"1f1e8-1f1f7\",\n desc: \"Costa Rica Flag\"\n }, {\n code: \"1f1e8-1f1fa\",\n desc: \"Cuba Flag\"\n }, {\n code: \"1f1e8-1f1fb\",\n desc: \"Cape Verde Flag\"\n }, {\n code: \"1f1e8-1f1fc\",\n desc: \"Cura\\xe7ao Flag\"\n }, {\n code: \"1f1e8-1f1fd\",\n desc: \"Christmas Island Flag\"\n }, {\n code: \"1f1e8-1f1fe\",\n desc: \"Cyprus Flag\"\n }, {\n code: \"1f1e8-1f1ff\",\n desc: 'Czechia Flag\"'\n }, {\n code: \"1f1e9-1f1ec\",\n desc: \"Diego Garcia Flag\"\n }, {\n code: \"1f1e9-1f1ef\",\n desc: \"Djibouti Flag\"\n }, {\n code: \"1f1e9-1f1f0\",\n desc: \"Denmark Flag\"\n }, {\n code: \"1f1e9-1f1f2\",\n desc: \"Dominica Flag\"\n }, {\n code: \"1f1e9-1f1f4\",\n desc: \"Dominican Republic Flag\"\n }, {\n code: \"1f1e9-1f1ff\",\n desc: \"Algeria Flag\"\n }, {\n code: \"1f1ea-1f1e6\",\n desc: \"Ceuta & Melilla Flag\"\n }, {\n code: \"1f1ea-1f1e8\",\n desc: \"Ecuador Flag\"\n }, {\n code: \"1f1ea-1f1ea\",\n desc: \"Estonia Flag\"\n }, {\n code: \"1f1ea-1f1ec\",\n desc: \"Egypt Flag\"\n }, {\n code: \"1f1ea-1f1ed\",\n desc: \"Western Sahara Flag\"\n }, {\n code: \"1f1ea-1f1f7\",\n desc: \"Eritrea Flag\"\n }, {\n code: \"1f1ea-1f1f9\",\n desc: \"Ethiopia Flag\"\n }, {\n code: \"1f1ea-1f1fa\",\n desc: \"European Union Flag\"\n }, {\n code: \"1f1eb-1f1ee\",\n desc: \"Finland Flag\"\n }, {\n code: \"1f1eb-1f1ef\",\n desc: \"Fiji Flag\"\n }, {\n code: \"1f1eb-1f1f0\",\n desc: \"Falkland Islands Flag\"\n }, {\n code: \"1f1eb-1f1f2\",\n desc: \"Micronesia Flag\"\n }, {\n code: \"1f1eb-1f1f4\",\n desc: \"Faroe Islands Flag\"\n }, {\n code: \"1f1ec-1f1e6\",\n desc: \"Gabon Flag\"\n }, {\n code: \"1f1ec-1f1e9\",\n desc: \"Grenada Flag\"\n }, {\n code: \"1f1ec-1f1ea\",\n desc: \"Georgia Flag\"\n }, {\n code: \"1f1ec-1f1eb\",\n desc: \"French Guiana Flag\"\n }, {\n code: \"1f1ec-1f1ec\",\n desc: \"Guernsey Flag\"\n }, {\n code: \"1f1ec-1f1ed\",\n desc: \"Ghana Flag\"\n }, {\n code: \"1f1ec-1f1ee\",\n desc: \"Gibraltar Flag\"\n }, {\n code: \"1f1ec-1f1f1\",\n desc: \"Greenland Flag\"\n }, {\n code: \"1f1ec-1f1f2\",\n desc: \"Gambia Flag\"\n }, {\n code: \"1f1ec-1f1f3\",\n desc: \"Guinea Flag\"\n }, {\n code: \"1f1ec-1f1f5\",\n desc: \"Guadeloupe Flag\"\n }, {\n code: \"1f1ec-1f1f6\",\n desc: \"Equatorial Guinea Flag\"\n }, {\n code: \"1f1ec-1f1f7\",\n desc: \"Greece Flag\"\n }, {\n code: \"1f1ec-1f1f8\",\n desc: \"South Georgia & South Sandwich Islands Flag\"\n }, {\n code: \"1f1ec-1f1f9\",\n desc: \"Guatemala Flag\"\n }, {\n code: \"1f1ec-1f1fa\",\n desc: \"Guam Flag\"\n }, {\n code: \"1f1ec-1f1fc\",\n desc: \"Guinea-Bissau Flag\"\n }, {\n code: \"1f1ec-1f1fe\",\n desc: \"Guyana Flag\"\n }, {\n code: \"1f1ed-1f1f0\",\n desc: \"Hong Kong Sar China Flag\"\n }, {\n code: \"1f1ed-1f1f2\",\n desc: \"Heard & Mcdonald Islands Flag\"\n }, {\n code: \"1f1ed-1f1f3\",\n desc: \"Honduras Flag\"\n }, {\n code: \"1f1ed-1f1f7\",\n desc: \"Croatia Flag\"\n }, {\n code: \"1f1ed-1f1f9\",\n desc: \"Haiti Flag\"\n }, {\n code: \"1f1ed-1f1fa\",\n desc: \"Hungary Flag\"\n }, {\n code: \"1f1ee-1f1e8\",\n desc: \"Canary Islands Flag\"\n }, {\n code: \"1f1ee-1f1e9\",\n desc: \"Indonesia Flag\"\n }, {\n code: \"1f1ee-1f1ea\",\n desc: \"Ireland Flag\"\n }, {\n code: \"1f1ee-1f1f1\",\n desc: \"Israel Flag\"\n }, {\n code: \"1f1ee-1f1f2\",\n desc: \"Isle of Man Flag\"\n }, {\n code: \"1f1ee-1f1f3\",\n desc: \"India Flag\"\n }, {\n code: \"1f1ee-1f1f4\",\n desc: \"British Indian Ocean Territory Flag\"\n }, {\n code: \"1f1ee-1f1f6\",\n desc: \"Iraq Flag\"\n }, {\n code: \"1f1ee-1f1f7\",\n desc: \"Iran Flag\"\n }, {\n code: \"1f1ee-1f1f8\",\n desc: \"Iceland Flag\"\n }, {\n code: \"1f1ef-1f1ea\",\n desc: \"Jersey Flag\"\n }, {\n code: \"1f1ef-1f1f2\",\n desc: \"Jamaica Flag\"\n }, {\n code: \"1f1ef-1f1f4\",\n desc: \"Jordan Flag\"\n }, {\n code: \"1f1f0-1f1ea\",\n desc: \"Kenya Flag\"\n }, {\n code: \"1f1f0-1f1ec\",\n desc: \"Kyrgyzstan Flag\"\n }, {\n code: \"1f1f0-1f1ed\",\n desc: \"Cambodia Flag\"\n }, {\n code: \"1f1f0-1f1ee\",\n desc: \"Kiribati Flag\"\n }, {\n code: \"1f1f0-1f1f2\",\n desc: \"Comoros Flag\"\n }, {\n code: \"1f1f0-1f1f3\",\n desc: \"St. Kitts & Nevis Flag\"\n }, {\n code: \"1f1f0-1f1f5\",\n desc: \"North Korea Flag\"\n }, {\n code: \"1f1f0-1f1fc\",\n desc: \"Kuwait Flag\"\n }, {\n code: \"1f1f0-1f1fe\",\n desc: \"Cayman Islands Flag\"\n }, {\n code: \"1f1f0-1f1ff\",\n desc: \"Kazakhstan Flag\"\n }, {\n code: \"1f1f1-1f1e6\",\n desc: \"Laos Flag\"\n }, {\n code: \"1f1f1-1f1e7\",\n desc: \"Lebanon Flag\"\n }, {\n code: \"1f1f1-1f1e8\",\n desc: \"St. Lucia Flag\"\n }, {\n code: \"1f1f1-1f1ee\",\n desc: \"Liechtenstein Flag\"\n }, {\n code: \"1f1f1-1f1f0\",\n desc: \"Sri Lanka Flag\"\n }, {\n code: \"1f1f1-1f1f7\",\n desc: \"Liberia Flag\"\n }, {\n code: \"1f1f1-1f1f8\",\n desc: \"Lesotho Flag\"\n }, {\n code: \"1f1f1-1f1f9\",\n desc: \"Lithuania Flag\"\n }, {\n code: \"1f1f1-1f1fa\",\n desc: \"Luxembourg Flag\"\n }, {\n code: \"1f1f1-1f1fb\",\n desc: \"Latvia Flag\"\n }, {\n code: \"1f1f1-1f1fe\",\n desc: \"Libya Flag\"\n }, {\n code: \"1f1f2-1f1e6\",\n desc: \"Morocco Flag\"\n }, {\n code: \"1f1f2-1f1e8\",\n desc: \"Monaco Flag\"\n }, {\n code: \"1f1f2-1f1e9\",\n desc: \"Moldova Flag\"\n }, {\n code: \"1f1f2-1f1ea\",\n desc: \"Montenegro Flag\"\n }, {\n code: \"1f1f2-1f1eb\",\n desc: \"St. Martin Flag\"\n }, {\n code: \"1f1f2-1f1ec\",\n desc: \"Madagascar Flag\"\n }, {\n code: \"1f1f2-1f1ed\",\n desc: \"Marshall Islands Flag\"\n }, {\n code: \"1f1f2-1f1f0\",\n desc: \"Macedonia Flag\"\n }, {\n code: \"1f1f2-1f1f1\",\n desc: \"Mali Flag\"\n }, {\n code: \"1f1f2-1f1f2\",\n desc: \"Myanmar (burma) Flag\"\n }, {\n code: \"1f1f2-1f1f3\",\n desc: \"Mongolia Flag\"\n }, {\n code: \"1f1f2-1f1f4\",\n desc: \"Macau Sar China Flag\"\n }, {\n code: \"1f1f2-1f1f5\",\n desc: \"Northern Mariana Islands Flag\"\n }, {\n code: \"1f1f2-1f1f6\",\n desc: \"Martinique Flag\"\n }, {\n code: \"1f1f2-1f1f7\",\n desc: \"Mauritania Flag\"\n }, {\n code: \"1f1f2-1f1f8\",\n desc: \"Montserrat Flag\"\n }, {\n code: \"1f1f2-1f1f9\",\n desc: \"Malta Flag\"\n }, {\n code: \"1f1f2-1f1fa\",\n desc: \"Mauritius Flag\"\n }, {\n code: \"1f1f2-1f1fb\",\n desc: \"Maldives Flag\"\n }, {\n code: \"1f1f2-1f1fc\",\n desc: \"Malawi Flag\"\n }, {\n code: \"1f1f2-1f1fd\",\n desc: \"Mexico Flag\"\n }, {\n code: \"1f1f2-1f1fe\",\n desc: \"Malaysia Flag\"\n }, {\n code: \"1f1f2-1f1ff\",\n desc: \"Mozambique Flag\"\n }, {\n code: \"1f1f3-1f1e6\",\n desc: \"Namibia Flag\"\n }, {\n code: \"1f1f3-1f1e8\",\n desc: \"New Caledonia Flag\"\n }, {\n code: \"1f1f3-1f1ea\",\n desc: \"Niger Flag\"\n }, {\n code: \"1f1f3-1f1eb\",\n desc: \"Norfolk Island Flag\"\n }, {\n code: \"1f1f3-1f1ec\",\n desc: \"Nigeria Flag\"\n }, {\n code: \"1f1f3-1f1ee\",\n desc: \"Nicaragua Flag\"\n }, {\n code: \"1f1f3-1f1f1\",\n desc: \"Netherlands Flag\"\n }, {\n code: \"1f1f3-1f1f4\",\n desc: \"Norway Flag\"\n }, {\n code: \"1f1f3-1f1f5\",\n desc: \"Nepal Flag\"\n }, {\n code: \"1f1f3-1f1f7\",\n desc: \"Nauru Flag\"\n }, {\n code: \"1f1f3-1f1fa\",\n desc: \"Niue Flag\"\n }, {\n code: \"1f1f3-1f1ff\",\n desc: \"New Zealand Flag\"\n }, {\n code: \"1f1f4-1f1f2\",\n desc: \"Oman Flag\"\n }, {\n code: \"1f1f8-1f1ff\",\n desc: \"Swaziland Flag\"\n }, {\n code: \"1f1f5-1f1e6\",\n desc: \"Panama Flag\"\n }, {\n code: \"1f1f5-1f1ea\",\n desc: \"Peru Flag\"\n }, {\n code: \"1f1f5-1f1eb\",\n desc: \"French Polynesia Flag\"\n }, {\n code: \"1f1f5-1f1ec\",\n desc: \"Papua New Guinea Flag\"\n }, {\n code: \"1f1f5-1f1ed\",\n desc: \"Philippines Flag\"\n }, {\n code: \"1f1f5-1f1f0\",\n desc: \"Pakistan Flag\"\n }, {\n code: \"1f1f5-1f1f1\",\n desc: \"Poland Flag\"\n }, {\n code: \"1f1f5-1f1f2\",\n desc: \"St. Pierre & Miquelon Flag\"\n }, {\n code: \"1f1f5-1f1f3\",\n desc: \"Pitcairn Islands Flag\"\n }, {\n code: \"1f1f5-1f1f7\",\n desc: \"Puerto Rico Flag\"\n }, {\n code: \"1f1f5-1f1f8\",\n desc: \"Palestinian Territories Flag\"\n }, {\n code: \"1f1f5-1f1f9\",\n desc: \"Portugal Flag\"\n }, {\n code: \"1f1f5-1f1fc\",\n desc: \"Palau Flag\"\n }, {\n code: \"1f1f5-1f1fe\",\n desc: \"Paraguay Flag\"\n }, {\n code: \"1f1f6-1f1e6\",\n desc: \"Qatar Flag\"\n }, {\n code: \"1f1f7-1f1ea\",\n desc: \"R\\xe9union Flag\"\n }, {\n code: \"1f1f7-1f1f4\",\n desc: \"Romania Flag\"\n }, {\n code: \"1f1f7-1f1f8\",\n desc: \"Serbia Flag\"\n }, {\n code: \"1f1f7-1f1fc\",\n desc: \"Rwanda Flag\"\n }, {\n code: \"1f1f8-1f1e6\",\n desc: \"Saudi Arabia Flag\"\n }, {\n code: \"1f1f8-1f1e7\",\n desc: \"Solomon Islands Flag\"\n }, {\n code: \"1f1f8-1f1e8\",\n desc: \"Seychelles Flag\"\n }, {\n code: \"1f1f8-1f1e9\",\n desc: \"Sudan Flag\"\n }, {\n code: \"1f1f8-1f1ea\",\n desc: \"Sweden Flag\"\n }, {\n code: \"1f1f8-1f1ec\",\n desc: \"Singapore Flag\"\n }, {\n code: \"1f1f8-1f1ee\",\n desc: \"Slovenia Flag\"\n }, {\n code: \"1f1f8-1f1ed\",\n desc: \"St. Helena Flag\"\n }, {\n code: \"1f1f8-1f1ef\",\n desc: \"Svalbard & Jan Mayen Flag\"\n }, {\n code: \"1f1f8-1f1f1\",\n desc: \"Sierra Leone Flag\"\n }, {\n code: \"1f1f8-1f1f2\",\n desc: \"San Marino Flag\"\n }, {\n code: \"1f1f8-1f1f3\",\n desc: \"Senegal Flag\"\n }, {\n code: \"1f1f8-1f1f4\",\n desc: \"Somalia Flag\"\n }, {\n code: \"1f1f8-1f1f7\",\n desc: \"Suriname Flag\"\n }, {\n code: \"1f1f8-1f1f8\",\n desc: \"South Sudan Flag\"\n }, {\n code: \"1f1f8-1f1f9\",\n desc: \"S\\xe3o Tom\\xe9 & Pr\\xedncipe Flag\"\n }, {\n code: \"1f1f8-1f1fb\",\n desc: \"El Salvador Flag\"\n }, {\n code: \"1f1f8-1f1fd\",\n desc: \"Sint Maarten Flag\"\n }, {\n code: \"1f1f8-1f1fe\",\n desc: \"Syria Flag\"\n }, {\n code: \"1f1f9-1f1e6\",\n desc: \"Tristan Da Cunha Flag\"\n }, {\n code: \"1f1f9-1f1e8\",\n desc: \"Turks & Caicos Islands Flag\"\n }, {\n code: \"1f1f9-1f1eb\",\n desc: \"French Southern Territories Flag\"\n }, {\n code: \"1f1f9-1f1ec\",\n desc: \"Togo Flag\"\n }, {\n code: \"1f1f9-1f1ed\",\n desc: \"Thailand Flag\"\n }, {\n code: \"1f1f9-1f1ef\",\n desc: \"Tajikistan Flag\"\n }, {\n code: \"1f1f9-1f1f0\",\n desc: \"Tokelau Flag\"\n }, {\n code: \"1f1f9-1f1f1\",\n desc: \"Timor-Leste Flag\"\n }, {\n code: \"1f1f9-1f1f2\",\n desc: \"Turkmenistan Flag\"\n }, {\n code: \"1f1f9-1f1f3\",\n desc: \"Tunisia Flag\"\n }, {\n code: \"1f1f9-1f1f4\",\n desc: \"Tonga Flag\"\n }, {\n code: \"1f1f9-1f1f7\",\n desc: \"Turkey Flag\"\n }, {\n code: \"1f1f9-1f1f9\",\n desc: \"Trinidad & Tobago Flag\"\n }, {\n code: \"1f1f9-1f1fb\",\n desc: \"Tuvalu Flag\"\n }, {\n code: \"1f1f9-1f1fc\",\n desc: \"Taiwan Flag\"\n }, {\n code: \"1f1f9-1f1ff\",\n desc: \"Tanzania Flag\"\n }, {\n code: \"1f1fa-1f1e6\",\n desc: \"Ukraine City Flag\"\n }, {\n code: \"1f1fa-1f1ec\",\n desc: \"Uganda Flag\"\n }, {\n code: \"1f1fa-1f1f2\",\n desc: \"U.s. Outlying Islands Flag\"\n }, {\n code: \"1f1fa-1f1fe\",\n desc: \"Uruguay Flag\"\n }, {\n code: \"1f1fa-1f1ff\",\n desc: \"Uzbekistan Flag\"\n }, {\n code: \"1f1fb-1f1e6\",\n desc: \"Vatican City Flag\"\n }, {\n code: \"1f1fb-1f1e8\",\n desc: \"St. Vincent & Grenadines Flag\"\n }, {\n code: \"1f1fb-1f1ea\",\n desc: \"Venezuela Flag\"\n }, {\n code: \"1f1fb-1f1ec\",\n desc: \"British Virgin Islands Flag\"\n }, {\n code: \"1f1fb-1f1ee\",\n desc: \"U.s. Virgin Islands Flag\"\n }, {\n code: \"1f1fb-1f1f3\",\n desc: \"Vietnam Flag\"\n }, {\n code: \"1f1fc-1f1f8\",\n desc: \"Samoa Flag\"\n }, {\n code: \"1f1fb-1f1fa\",\n desc: \"Vanuatu Flag\"\n }, {\n code: \"1f1fc-1f1eb\",\n desc: '\"Wallis & Futuna Flag'\n }, {\n code: \"1f1fd-1f1f0\",\n desc: \"Kosovo Flag\"\n }, {\n code: \"1f1fe-1f1ea\",\n desc: \"Yemen Flag\"\n }, {\n code: \"1f1fe-1f1f9\",\n desc: \"Mayotte Flag\"\n }, {\n code: \"1f1ff-1f1e6\",\n desc: \"South Africa Flag\"\n }, {\n code: \"1f1ff-1f1f2\",\n desc: \"Zambia Flag\"\n }, {\n code: \"1f1ff-1f1fc\",\n desc: \"Zimbabwe Flag\"\n }, {\n code: \"1f1eb-1f1f7\",\n desc: \"France Flag\"\n }, {\n code: \"1f1ec-1f1e7\",\n desc: \"United Kingdom Flag\"\n }, {\n code: \"1f1ee-1f1f9\",\n desc: \"Italy Flag\"\n }, {\n code: \"1f1ef-1f1f5\",\n desc: \"Japan Flag\"\n }, {\n code: \"1f1f0-1f1f7\",\n desc: \"South Korea Flag\"\n }, {\n code: \"1f1f7-1f1fa\",\n desc: \"Russia Flag\"\n }, {\n code: \"1F6A9\",\n desc: \"Triangular Flag on Post\"\n }, {\n code: \"1f1fa-1f1f8\",\n desc: \"United States Flag\"\n }]\n }],\n emoticonsButtons: [\"emoticonsBack\", \"|\"],\n emoticonsUseImage: !0\n }), St.PLUGINS.emoticons = function (E) {\n var _ = E.$,\n r = E.opts.emoticonsSet,\n i = r && r[0],\n o = \"\";\n function s() {\n if (!E.selection.isCollapsed()) return !1;\n var e = E.selection.element(),\n t = E.selection.endElement();\n if (e && E.node.hasClass(e, \"fr-emoticon\")) return e;\n if (t && E.node.hasClass(t, \"fr-emoticon\")) return t;\n var a = E.selection.ranges(0),\n n = a.startContainer;\n if (n.nodeType == Node.ELEMENT_NODE && 0 < n.childNodes.length && 0 < a.startOffset) {\n var r = n.childNodes[a.startOffset - 1];\n if (E.node.hasClass(r, \"fr-emoticon\")) return r;\n }\n return !1;\n }\n function l() {\n return \"\".concat(function n(e, t) {\n return '<div class=\"fr-buttons fr-tabs fr-tabs-scroll\">\\n '.concat(function a(e, n) {\n var r = \"\";\n return e.forEach(function (e) {\n var t = {\n image: e.code.toLowerCase()\n },\n a = {\n elementClass: e.id === n.id ? \"fr-active fr-active-tab\" : \"\",\n emoticonsUnicodeClass: E.opts.emoticonsUseImage ? \"\" : \"fr-tabs-unicode\",\n title: E.language.translate(e.name),\n dataCmd: \"setEmoticonCategory\",\n dataParam1: e.id,\n image: E.opts.emoticonsUseImage ? '<img src=\"https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/'.concat(t.image, '.svg\"/>') : \"&#x\".concat(t.image, \";\")\n };\n r += '<button class=\"fr-command fr-btn '.concat(a.elementClass, \" \").concat(a.emoticonsUnicodeClass, '\" \\n title=\"').concat(a.title, '\" data-cmd=\"').concat(a.dataCmd, '\" data-param1=\"').concat(a.dataParam1, '\">\\n ').concat(a.image, \" </button>\");\n }), r;\n }(e, t), \"\\n </div>\");\n }(r, i), \"\\n \").concat(function a(e) {\n return '\\n <div class=\"fr-icon-container fr-emoticon-container\">\\n '.concat(function t(e) {\n var r = \"\";\n return e.emoticons.forEach(function (e) {\n var t = e.code.split(\"-\").reduce(function (e, t) {\n return e ? \"\".concat(e, \"‍&#x\").concat(t.toLowerCase(), \";\") : \"&#x\".concat(t.toLowerCase(), \";\");\n }, \"\"),\n a = {\n image: e.code.toLowerCase(),\n compiledCode: e.uCode ? e.uCode : t\n },\n n = {\n dataParam1: e.code.toLowerCase(),\n dataParam2: a.compiledCode,\n title: E.language.translate(e.desc),\n image: E.opts.emoticonsUseImage ? '<img src=\"https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/'.concat(a.image, '.svg\"/>') : \"\".concat(a.compiledCode),\n desc: E.language.translate(e.desc)\n };\n r += '<span class=\"fr-command fr-emoticon fr-icon\" role=\"button\" \\n data-cmd=\"insertEmoticon\" data-param1=\"'.concat(n.dataParam1, '\" tabindex=\"0\"\\n data-param2=\"').concat(n.dataParam2, '\" title=\"').concat(n.title, '\" >\\n ').concat(n.image, '<span class=\"fr-sr-only\">').concat(n.desc, \" </span></span>\");\n }), r;\n }(e), \"\\n </div>\\n \");\n }(i), \"\\n \").concat(function e() {\n return E.opts.emoticonsUseImage ? '<p style=\"font-size: 12px; text-align: center; padding: 0 5px;\">Emoji free by <a class=\"fr-link\" tabIndex=\"-1\" href=\"http://emojione.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" role=\"link\" aria-label=\"Open Emoji One website.\">Emoji One</a></p>' : \"\";\n }());\n }\n return {\n _init: function e() {\n var a = function a() {\n for (var e = E.el.querySelectorAll(\".fr-emoticon:not(.fr-deletable)\"), t = 0; t < e.length; t++) e[t].className += \" fr-deletable\";\n };\n a(), E.events.on(\"html.set\", a), E.events.on(\"keydown\", function (e) {\n if (E.keys.isCharacter(e.which) && E.selection.inEditor()) {\n var t = E.selection.ranges(0),\n a = s();\n E.node.hasClass(a, \"fr-emoticon-img\") && a && (0 === t.startOffset && E.selection.element() === a ? _(a).before(St.MARKERS + St.INVISIBLE_SPACE) : _(a).after(St.INVISIBLE_SPACE + St.MARKERS), E.selection.restore());\n }\n }), E.events.on(\"keyup\", function (e) {\n for (var t = E.el.querySelectorAll(\".fr-emoticon\"), a = 0; a < t.length; a++) \"undefined\" != typeof t[a].textContent && 0 === t[a].textContent.replace(/\\u200B/gi, \"\").length && _(t[a]).remove();\n if (!(e.which >= St.KEYCODE.ARROW_LEFT && e.which <= St.KEYCODE.ARROW_DOWN)) {\n var n = s();\n E.node.hasClass(n, \"fr-emoticon-img\") && (_(n).append(St.MARKERS), E.selection.restore());\n }\n });\n },\n insert: function c(e, t) {\n var a = s(),\n n = E.selection.ranges(0);\n a ? (0 === n.startOffset && E.selection.element() === a ? _(a).before(St.MARKERS + St.INVISIBLE_SPACE) : 0 < n.startOffset && E.selection.element() === a && n.commonAncestorContainer.parentNode.classList.contains(\"fr-emoticon\") && _(a).after(St.INVISIBLE_SPACE + St.MARKERS), E.selection.restore(), E.html.insert('<span class=\"fr-emoticon fr-deletable'.concat(t ? \" fr-emoticon-img\" : \"\", '\"').concat(t ? ' style=\"background: url('.concat(t, ');\"') : \"\", \">\").concat(t ? \" \" : e, \"</span> \").concat(St.MARKERS), !0)) : E.html.insert('<span class=\"fr-emoticon fr-deletable'.concat(t ? \" fr-emoticon-img\" : \"\", '\"').concat(t ? ' style=\"background: url('.concat(t, ');\"') : \"\", \">\").concat(t ? \" \" : e, \"</span>\").concat(St.INVISIBLE_SPACE), !0);\n },\n setEmoticonCategory: function n(t) {\n i = r.filter(function (e) {\n return e.id === t;\n })[0], function a() {\n E.popups.get(\"emoticons\").html(o + l());\n var e = E.popups.get(\"emoticons\").children().not(\".fr-buttons\");\n E.accessibility.registerPopup(\"emoticons\"), E.accessibility.focusContent(e);\n }();\n },\n showEmoticonsPopup: function d() {\n var e = E.popups.get(\"emoticons\");\n if (e || (e = function i() {\n E.opts.toolbarInline && 0 < E.opts.emoticonsButtons.length && (o = '<div class=\"fr-buttons fr-emoticons-buttons fr-tabs\">'.concat(E.button.buildList(E.opts.emoticonsButtons), \"</div>\"));\n var e = {\n buttons: o,\n custom_layer: l()\n },\n t = E.popups.create(\"emoticons\", e);\n return function a(b) {\n E.events.on(\"popup.tab\", function (e) {\n var t = _(e.currentTarget);\n if (!E.popups.isVisible(\"emoticons\") || !t.is(\"span, a\")) return !0;\n var a,\n n,\n r,\n i = e.which,\n o = window.getComputedStyle(b.find(\".fr-icon-container\")[0]),\n s = o.getPropertyValue(\"grid-template-columns\").split(\" \").length;\n if (St.KEYCODE.TAB == i) {\n var l = b.find(\"span.fr-emoticon\");\n if (t.is(l.first()) && e.shiftKey || t.is(\"a\") && !e.shiftKey) {\n var c = b.find(\".fr-buttons\");\n a = !E.accessibility.focusToolbar(c, !!e.shiftKey);\n }\n if (!1 !== a) {\n var d = b.find(\"span.fr-emoticon\");\n d.add(b.find(\"a.fr-link\")), d.add(b.find(\"button.fr-btn\")), n = d.index(t), n = e.shiftKey ? ((n - 1) % d.length + d.length) % d.length : (n + 1) % d.length, r = d.get(n), E.events.disableBlur(), r.focus(), a = !1;\n }\n } else if (St.KEYCODE.ARROW_UP == i || St.KEYCODE.ARROW_DOWN == i || St.KEYCODE.ARROW_LEFT == i || St.KEYCODE.ARROW_RIGHT == i) {\n if (t.is(\"span.fr-emoticon\")) {\n var f = t.parent().find(\"span.fr-emoticon\");\n n = f.index(t);\n var p = s,\n u = Math.ceil(f.length / p),\n g = n % p,\n h = Math.floor(n / p),\n m = h * p + g,\n v = u * p;\n St.KEYCODE.ARROW_UP == i ? m = ((m - p) % v + v) % v : St.KEYCODE.ARROW_DOWN == i ? m = (m + p) % v : St.KEYCODE.ARROW_LEFT == i ? m = ((m - 1) % v + v) % v : St.KEYCODE.ARROW_RIGHT == i && (m = (m + 1) % v), r = _(f.get(m)), E.events.disableBlur(), r.focus(), a = !1;\n }\n } else St.KEYCODE.ENTER == i && (t.is(\"a\") ? t[0].click() : E.button.exec(t), a = !1);\n return !1 === a && (e.preventDefault(), e.stopPropagation()), a;\n }, !0);\n }(t), t;\n }()), !e.hasClass(\"fr-active\")) {\n E.popups.refresh(\"emoticons\"), E.popups.setContainer(\"emoticons\", E.$tb);\n var t = E.$tb.find('.fr-command[data-cmd=\"emoticons\"]'),\n a = E.button.getPosition(t),\n n = a.left,\n r = a.top;\n E.popups.show(\"emoticons\", n, r, t.outerHeight()), E.popups.get(\"emoticons\").css(\"overflow\", \"hidden\");\n }\n },\n back: function t() {\n E.popups.hide(\"emoticons\"), E.toolbar.showInline();\n }\n };\n }, St.DefineIcon(\"emoticons\", {\n NAME: \"smile-o\",\n FA5NAME: \"smile\",\n SVG_KEY: \"smile\"\n }), St.RegisterCommand(\"emoticons\", {\n title: \"Emoticons\",\n undo: !1,\n focus: !0,\n refreshAfterCallback: !1,\n popup: !0,\n callback: function () {\n this.popups.isVisible(\"emoticons\") ? (this.$el.find(\".fr-marker\").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"emoticons\")) : this.emoticons.showEmoticonsPopup();\n },\n plugin: \"emoticons\"\n }), St.RegisterCommand(\"insertEmoticon\", {\n callback: function (e, t, a) {\n this.emoticons.insert(a, this.opts.emoticonsUseImage ? \"https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/\".concat(t, \".svg\") : null), this.popups.hide(\"emoticons\");\n }\n }), St.RegisterCommand(\"setEmoticonCategory\", {\n undo: !1,\n focus: !1,\n callback: function (e, t) {\n this.emoticons.setEmoticonCategory(t);\n }\n }), St.DefineIcon(\"emoticonsBack\", {\n NAME: \"arrow-left\",\n SVG_KEY: \"back\"\n }), St.RegisterCommand(\"emoticonsBack\", {\n title: \"Back\",\n undo: !1,\n focus: !1,\n back: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.emoticons.back();\n }\n }), Object.assign(St.DEFAULTS, {\n entities: \""'¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿŒœŠšŸƒˆ˜ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψωϑϒϖ   ‌‍‎‏–—‘’‚“”„†‡•…‰′″‹›‾⁄€ℑ℘ℜ™ℵ←↑→↓↔↵⇐⇑⇒⇓⇔∀∂∃∅∇∈∉∋∏∑−∗√∝∞∠∧∨∩∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌈⌉⌊⌋⟨⟩◊♠♣♥♦\"\n }), St.PLUGINS.entities = function (r) {\n var i,\n o,\n s = r.$;\n function n(e) {\n var t = e.textContent;\n if (t.match(i)) {\n for (var a = \"\", n = 0; n < t.length; n++) o[t[n]] ? a += o[t[n]] : a += t[n];\n e.textContent = a;\n }\n }\n function l(e) {\n if (e && 0 <= [\"STYLE\", \"SCRIPT\", \"svg\", \"IFRAME\"].indexOf(e.tagName)) return !0;\n for (var t = r.node.contents(e), a = 0; a < t.length; a++) t[a].nodeType === Node.TEXT_NODE ? n(t[a]) : l(t[a]);\n return e.nodeType === Node.TEXT_NODE && n(e), !1;\n }\n var c = function c(e) {\n return 0 === e.length ? \"\" : r.clean.exec(e, l).replace(/\\&/g, \"&\");\n };\n return {\n _init: function d() {\n r.opts.htmlSimpleAmpersand || (r.opts.entities = \"\".concat(r.opts.entities, \"&\"));\n var e = s(document.createElement(\"div\")).html(r.opts.entities).text(),\n t = r.opts.entities.split(\";\");\n o = {}, i = \"\";\n for (var a = 0; a < e.length; a++) {\n var n = e.charAt(a);\n o[n] = \"\".concat(t[a], \";\"), i += \"\\\\\".concat(n + (a < e.length - 1 ? \"|\" : \"\"));\n }\n i = new RegExp(\"(\".concat(i, \")\"), \"g\"), r.events.on(\"html.get\", c, !0);\n }\n };\n }, Object.assign(St.POPUP_TEMPLATES, {\n \"file.insert\": \"[_BUTTONS_][_UPLOAD_LAYER_][_PROGRESS_BAR_]\"\n }), Object.assign(St.DEFAULTS, {\n fileUpload: !0,\n fileUploadURL: null,\n fileUploadParam: \"file\",\n fileUploadParams: {},\n fileUploadToS3: !1,\n fileUploadToAzure: !1,\n fileUploadMethod: \"POST\",\n fileMaxSize: 10485760,\n fileAllowedTypes: [\"*\"],\n fileInsertButtons: [\"fileBack\", \"|\"],\n fileUseSelectedText: !1\n }), St.PLUGINS.file = function (w) {\n var n,\n p = w.$,\n y = \"https://i.froala.com/upload\",\n u = 2,\n g = 3,\n h = 4,\n A = 5,\n C = 6,\n a = {};\n function T() {\n var e = w.popups.get(\"file.insert\");\n e || (e = l()), e.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"), e.find(\".fr-file-progress-bar-layer\").addClass(\"fr-active\"), e.find(\".fr-buttons\").hide(), r(w.language.translate(\"Uploading\"), 0);\n }\n function i(e) {\n var t = w.popups.get(\"file.insert\");\n t && (t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"), t.find(\".fr-file-progress-bar-layer\").removeClass(\"fr-active\"), t.find(\".fr-buttons\").show(), e && (w.events.focus(), w.popups.hide(\"file.insert\")));\n }\n function r(e, t) {\n var a = w.popups.get(\"file.insert\");\n if (a) {\n var n = a.find(\".fr-file-progress-bar-layer\");\n n.find(\"h3\").text(e + (t ? \" \".concat(t, \"%\") : \"\")), n.removeClass(\"fr-error\"), t ? (n.find(\"div\").removeClass(\"fr-indeterminate\"), n.find(\"div > span\").css(\"width\", \"\".concat(t, \"%\"))) : n.find(\"div\").addClass(\"fr-indeterminate\");\n }\n }\n function m(e, t, a, n) {\n var r;\n w.edit.on(), w.events.focus(!0), w.selection.restore(), w.opts.fileUseSelectedText && w.selection.text().length && (t = w.selection.text());\n var i = '<a href=\"'.concat(e, '\" id=\"fr-inserted-file\" ');\n if (void 0 !== n) for (r in n) n.hasOwnProperty(r) && \"link\" != r && (i += \"\".concat(r, '=\"').concat(n[r], '\" '));\n -1 == i.indexOf(' class=\"') && (i += 'class=\"fr-file\" '), i += \">\".concat(t, \"</a>\"), w.html.insert(i);\n var o = w.$el.find(\"#fr-inserted-file\");\n o.removeAttr(\"id\"), w.popups.hide(\"file.insert\"), w.undo.saveStep(), d(), w.events.trigger(\"file.inserted\", [o, a]);\n }\n function k(e, t, a) {\n var n = this.status,\n r = this.response,\n i = this.responseXML,\n o = this.responseText;\n try {\n if (w.opts.fileUploadToS3 || w.opts.fileUploadToAzure) {\n if (201 === n) {\n var s;\n if (w.opts.fileUploadToAzure) {\n if (!1 === w.events.trigger(\"file.uploadedToAzure\", [this.responseURL, a, r], !0)) return w.edit.on(), !1;\n s = t;\n } else s = function c(e) {\n try {\n var t = p(e).find(\"Location\").text(),\n a = p(e).find(\"Key\").text();\n return !1 === w.events.trigger(\"file.uploadedToS3\", [t, a, e], !0) ? (w.edit.on(), !1) : t;\n } catch (n) {\n return L(h, e), !1;\n }\n }(i);\n s && m(s, e, r || i);\n } else L(h, r || i);\n } else if (200 <= n && n < 300) {\n var l = function d(e) {\n try {\n if (!1 === w.events.trigger(\"file.uploaded\", [e], !0)) return w.edit.on(), !1;\n var t = JSON.parse(e);\n return t.link ? t : (L(u, e), !1);\n } catch (a) {\n return L(h, e), !1;\n }\n }(o);\n l && m(l.link, e, r || o, l);\n } else L(g, r || o);\n } catch (f) {\n L(h, r || o);\n }\n }\n function S() {\n L(h, this.response || this.responseText || this.responseXML);\n }\n function R(e) {\n if (e.lengthComputable) {\n var t = e.loaded / e.total * 100 | 0;\n r(w.language.translate(\"Uploading\"), t);\n }\n }\n function L(e, t) {\n w.edit.on(), function n(e) {\n T();\n var t = w.popups.get(\"file.insert\").find(\".fr-file-progress-bar-layer\");\n t.addClass(\"fr-error\");\n var a = t.find(\"h3\");\n a.text(e), w.events.disableBlur(), a.focus();\n }(w.language.translate(\"Something went wrong. Please try again.\")), w.events.trigger(\"file.error\", [{\n code: e,\n message: a[e]\n }, t]);\n }\n function x() {\n w.edit.on(), i(!0);\n }\n function o(e) {\n if (void 0 !== e && 0 < e.length) {\n var t = e[0].type;\n if (e[0].name && e[0].name.endsWith(\".msg\") && (t = \"application/vnd.ms-outlook\"), !1 === w.events.trigger(\"file.beforeUpload\", [e])) return !1;\n var a,\n n = e[0];\n if (!(null !== w.opts.fileUploadURL && w.opts.fileUploadURL !== y || w.opts.fileUploadToS3 || w.opts.fileUploadToAzure)) return function _(i) {\n var o = new FileReader();\n o.onload = function () {\n for (var e = o.result, t = atob(o.result.split(\",\")[1]), a = [], n = 0; n < t.length; n++) a.push(t.charCodeAt(n));\n var r = i.type;\n i.name && i.name.endsWith(\".msg\") && (r = \"application/vnd.ms-outlook\"), e = window.URL.createObjectURL(new Blob([new Uint8Array(a)], {\n type: r\n })), w.file.insert(e, i.name, null);\n }, T(), o.readAsDataURL(i);\n }(n), !1;\n if (n.size > w.opts.fileMaxSize) return L(A), !1;\n if (w.opts.fileAllowedTypes.indexOf(\"*\") < 0 && w.opts.fileAllowedTypes.indexOf(t.replace(/file\\//g, \"\")) < 0) return L(C), !1;\n if (w.drag_support.formdata && (a = w.drag_support.formdata ? new FormData() : null), a) {\n var r;\n if (!1 !== w.opts.fileUploadToS3) for (r in a.append(\"key\", w.opts.fileUploadToS3.keyStart + new Date().getTime() + \"-\" + (n.name || \"untitled\")), a.append(\"success_action_status\", \"201\"), a.append(\"X-Requested-With\", \"xhr\"), a.append(\"Content-Type\", t), w.opts.fileUploadToS3.params) w.opts.fileUploadToS3.params.hasOwnProperty(r) && a.append(r, w.opts.fileUploadToS3.params[r]);\n for (r in w.opts.fileUploadParams) w.opts.fileUploadParams.hasOwnProperty(r) && a.append(r, w.opts.fileUploadParams[r]);\n a.append(w.opts.fileUploadParam, n);\n var i,\n o,\n s = w.opts.fileUploadURL;\n w.opts.fileUploadToS3 && (s = w.opts.fileUploadToS3.uploadURL ? w.opts.fileUploadToS3.uploadURL : \"https://\".concat(w.opts.fileUploadToS3.region, \".amazonaws.com/\").concat(w.opts.fileUploadToS3.bucket));\n var l = w.opts.fileUploadMethod;\n w.opts.fileUploadToAzure && (s = w.opts.fileUploadToAzure.uploadURL ? \"\".concat(w.opts.fileUploadToAzure.uploadURL, \"/\").concat(n.name) : encodeURI(\"https://\".concat(w.opts.fileUploadToAzure.account, \".blob.core.windows.net/\").concat(w.opts.fileUploadToAzure.container, \"/\").concat(n.name)), i = s, w.opts.fileUploadToAzure.SASToken && (s += w.opts.fileUploadToAzure.SASToken), l = \"PUT\");\n var c = w.core.getXHR(s, l);\n if (w.opts.fileUploadToAzure) {\n var d = new Date().toUTCString();\n if (!w.opts.fileUploadToAzure.SASToken && w.opts.fileUploadToAzure.accessKey) {\n var f = w.opts.fileUploadToAzure.account,\n p = w.opts.fileUploadToAzure.container;\n if (w.opts.fileUploadToAzure.uploadURL) {\n var u = w.opts.fileUploadToAzure.uploadURL.split(\"/\");\n p = u.pop(), f = u.pop().split(\".\")[0];\n }\n var g = \"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(d, \"\\nx-ms-version:2019-07-07\"),\n h = encodeURI(\"/\" + f + \"/\" + p + \"/\" + n.name),\n m = l + \"\\n\\n\\n\" + n.size + \"\\n\\n\" + t + \"\\n\\n\\n\\n\\n\\n\\n\" + g + \"\\n\" + h,\n v = w.cryptoJSPlugin.cryptoJS.HmacSHA256(m, w.cryptoJSPlugin.cryptoJS.enc.Base64.parse(w.opts.fileUploadToAzure.accessKey)).toString(w.cryptoJSPlugin.cryptoJS.enc.Base64),\n b = \"SharedKey \" + f + \":\" + v;\n o = v, c.setRequestHeader(\"Authorization\", b);\n }\n for (r in c.setRequestHeader(\"x-ms-version\", \"2019-07-07\"), c.setRequestHeader(\"x-ms-date\", d), c.setRequestHeader(\"Content-Type\", t), c.setRequestHeader(\"x-ms-blob-type\", \"BlockBlob\"), w.opts.fileUploadParams) w.opts.fileUploadParams.hasOwnProperty(r) && c.setRequestHeader(r, w.opts.fileUploadParams[r]);\n for (r in w.opts.fileUploadToAzure.params) w.opts.fileUploadToAzure.params.hasOwnProperty(r) && c.setRequestHeader(r, w.opts.fileUploadToAzure.params[r]);\n }\n c.onload = function () {\n k.call(c, n.name, i, o);\n }, c.onerror = S, c.upload.onprogress = R, c.onabort = x, T();\n var E = w.popups.get(\"file.insert\");\n E && (E.off(\"abortUpload\"), E.on(\"abortUpload\", function () {\n 4 !== c.readyState && c.abort();\n })), c.send(w.opts.fileUploadToAzure ? n : a);\n }\n }\n }\n function s() {\n i();\n }\n function l(e) {\n if (e) return w.popups.onHide(\"file.insert\", s), !0;\n var t;\n w.opts.fileUpload || w.opts.fileInsertButtons.splice(w.opts.fileInsertButtons.indexOf(\"fileUpload\"), 1), t = '<div class=\"fr-buttons fr-tabs\">'.concat(w.button.buildList(w.opts.fileInsertButtons), \"</div>\");\n var a = \"\";\n w.opts.fileUpload && (a = '<div class=\"fr-file-upload-layer fr-layer fr-active\" id=\"fr-file-upload-layer-'.concat(w.id, '\"><strong>').concat(w.language.translate(\"Drop file\"), \"</strong><br>(\").concat(w.language.translate(\"or click\"), ')<div class=\"fr-form\"><input type=\"file\" name=\"').concat(w.opts.fileUploadParam, '\" accept=\"').concat(0 <= w.opts.fileAllowedTypes.indexOf(\"*\") ? \"/\" : \"\").concat(w.opts.fileAllowedTypes.join(\", \").toLowerCase(), '\" tabIndex=\"-1\" aria-labelledby=\"fr-file-upload-layer-').concat(w.id, '\" role=\"button\"></div></div>'));\n var n = {\n buttons: t,\n upload_layer: a,\n progress_bar: '<div class=\"fr-file-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"fileDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'\n },\n r = w.popups.create(\"file.insert\", n);\n return function i(a) {\n w.events.$on(a, \"dragover dragenter\", \".fr-file-upload-layer\", function () {\n return p(this).addClass(\"fr-drop\"), !1;\n }, !0), w.events.$on(a, \"dragleave dragend\", \".fr-file-upload-layer\", function () {\n return p(this).removeClass(\"fr-drop\"), !1;\n }, !0), w.events.$on(a, \"drop\", \".fr-file-upload-layer\", function (e) {\n e.preventDefault(), e.stopPropagation(), p(this).removeClass(\"fr-drop\");\n var t = e.originalEvent.dataTransfer;\n t && t.files && (a.data(\"instance\") || w).file.upload(t.files);\n }, !0), w.helpers.isIOS() && w.events.$on(a, \"touchstart\", '.fr-file-upload-layer input[type=\"file\"]', function () {\n p(this).trigger(\"click\");\n }), w.events.$on(a, \"change\", '.fr-file-upload-layer input[type=\"file\"]', function () {\n if (this.files) {\n var e = a.data(\"instance\") || w;\n e.events.disableBlur(), a.find(\"input:focus\").blur(), e.events.enableBlur(), e.file.upload(this.files);\n }\n p(this).val(\"\");\n }, !0);\n }(r), r;\n }\n function t(e) {\n w.node.hasClass(e, \"fr-file\");\n }\n function c(e) {\n var t = e.originalEvent.dataTransfer;\n if (t && t.files && t.files.length) {\n var a = t.files[0];\n if (a && \"undefined\" != typeof a.type) {\n if (a.type.indexOf(\"image\") < 0) {\n if (!w.opts.fileUpload) return e.preventDefault(), e.stopPropagation(), !1;\n w.markers.remove(), w.markers.insertAtPoint(e.originalEvent), w.$el.find(\".fr-marker\").replaceWith(St.MARKERS), w.popups.hideAll();\n var n = w.popups.get(\"file.insert\");\n return n || (n = l()), w.popups.setContainer(\"file.insert\", w.$sc), w.popups.show(\"file.insert\", e.originalEvent.pageX, e.originalEvent.pageY), T(), o(t.files), e.preventDefault(), e.stopPropagation(), !1;\n }\n } else a.type.indexOf(\"image\") < 0 && (e.preventDefault(), e.stopPropagation());\n }\n }\n function d() {\n var e,\n t = Array.prototype.slice.call(w.el.querySelectorAll(\"a.fr-file\")),\n a = [];\n for (e = 0; e < t.length; e++) a.push(t[e].getAttribute(\"href\"));\n if (n) for (e = 0; e < n.length; e++) a.indexOf(n[e].getAttribute(\"href\")) < 0 && w.events.trigger(\"file.unlink\", [n[e]]);\n n = t;\n }\n return a[1] = \"File cannot be loaded from the passed link.\", a[u] = \"No link in upload response.\", a[g] = \"Error during file upload.\", a[h] = \"Parsing response failed.\", a[A] = \"File is too large.\", a[C] = \"File file type is invalid.\", a[7] = \"Files can be uploaded only to same domain in IE 8 and IE 9.\", {\n _init: function f() {\n !function e() {\n w.events.on(\"drop\", c), w.events.$on(w.$win, \"keydown\", function (e) {\n var t = e.which,\n a = w.popups.get(\"file.insert\");\n a && t === St.KEYCODE.ESC && a.trigger(\"abortUpload\");\n }), w.events.on(\"destroy\", function () {\n var e = w.popups.get(\"file.insert\");\n e && e.trigger(\"abortUpload\");\n });\n }(), w.events.on(\"link.beforeRemove\", t), w.$wp && (d(), w.events.on(\"contentChanged\", d)), l(!0);\n },\n showInsertPopup: function v() {\n var e = w.$tb.find('.fr-command[data-cmd=\"insertFile\"]'),\n t = w.popups.get(\"file.insert\");\n if (t || (t = l()), i(), !t.hasClass(\"fr-active\")) if (w.popups.refresh(\"file.insert\"), w.popups.setContainer(\"file.insert\", w.$tb), e.isVisible) {\n var a = w.button.getPosition(e),\n n = a.left,\n r = a.top;\n w.popups.show(\"file.insert\", n, r, e.outerHeight());\n } else w.position.forSelection(t), w.popups.show(\"file.insert\");\n },\n upload: o,\n insert: m,\n back: function e() {\n w.events.disableBlur(), w.selection.restore(), w.events.enableBlur(), w.popups.hide(\"file.insert\"), w.toolbar.showInline();\n },\n hideProgressBar: i\n };\n }, St.DefineIcon(\"insertFile\", {\n NAME: \"file-o\",\n FA5NAME: \"file\",\n SVG_KEY: \"insertFile\"\n }), St.RegisterCommand(\"insertFile\", {\n title: \"Upload File\",\n undo: !1,\n focus: !0,\n refreshAfterCallback: !1,\n popup: !0,\n callback: function () {\n this.popups.isVisible(\"file.insert\") ? (this.$el.find(\".fr-marker\").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"file.insert\")) : this.file.showInsertPopup();\n },\n plugin: \"file\"\n }), St.DefineIcon(\"fileBack\", {\n NAME: \"arrow-left\",\n SVG_KEY: \"back\"\n }), St.RegisterCommand(\"fileBack\", {\n title: \"Back\",\n undo: !1,\n focus: !1,\n back: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.file.back();\n },\n refresh: function (e) {\n this.opts.toolbarInline ? (e.removeClass(\"fr-hidden\"), e.next(\".fr-separator\").removeClass(\"fr-hidden\")) : (e.addClass(\"fr-hidden\"), e.next(\".fr-separator\").addClass(\"fr-hidden\"));\n }\n }), St.RegisterCommand(\"fileDismissError\", {\n title: \"OK\",\n callback: function () {\n this.file.hideProgressBar(!0);\n }\n }), Object.assign(St.POPUP_TEMPLATES, {\n \"filesManager.insert\": \"[_BUTTONS_][_UPLOAD_LAYER_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_PROGRESS_LAYER_][_PROGRESS_BAR_]\",\n \"image.edit\": \"[_BUTTONS_]\",\n \"image.alt\": \"[_BUTTONS_][_ALT_LAYER_]\",\n \"image.size\": \"[_BUTTONS_][_SIZE_LAYER_]\"\n }), Object.assign(St.DEFAULTS, {\n filesInsertButtons: [\"imageBack\", \"|\", \"filesUpload\", \"filesByURL\", \"filesEmbed\"],\n filesInsertButtons2: [\"deleteAll\", \"insertAll\", \"cancel\", \"minimize\"],\n imageEditButtons: [\"imageReplace\", \"imageAlign\", \"imageCaption\", \"imageRemove\", \"imageLink\", \"linkOpen\", \"linkEdit\", \"linkRemove\", \"-\", \"imageDisplay\", \"imageStyle\", \"imageAlt\", \"imageSize\"],\n imageAltButtons: [\"imageBack\", \"|\"],\n imageSizeButtons: [\"imageBack\", \"|\"],\n imageUpload: !0,\n filesManagerUploadURL: null,\n imageCORSProxy: \"https://cors-anywhere.froala.com\",\n imageUploadRemoteUrls: !0,\n filesManagerUploadParam: \"file\",\n filesManagerUploadParams: {},\n googleOptions: {},\n filesManagerUploadToS3: !1,\n filesManagerUploadToAzure: !1,\n filesManagerUploadMethod: \"POST\",\n filesManagerMaxSize: 10485760,\n filesManagerAllowedTypes: [\"*\"],\n imageResize: !0,\n imageResizeWithPercent: !1,\n imageRoundPercent: !1,\n imageDefaultWidth: 300,\n imageDefaultAlign: \"center\",\n imageDefaultDisplay: \"block\",\n imageSplitHTML: !1,\n imageStyles: {\n \"fr-rounded\": \"Rounded\",\n \"fr-bordered\": \"Bordered\",\n \"fr-shadow\": \"Shadow\"\n },\n imageMove: !0,\n imageMultipleStyles: !0,\n imageTextNear: !0,\n imagePaste: !0,\n imagePasteProcess: !1,\n imageMinWidth: 16,\n imageOutputSize: !1,\n imageDefaultMargin: 5,\n imageAddNewLine: !1\n }), St.VIDEO_PROVIDERS = [{\n test_regex: /^.*((youtu.be)|(youtube.com))\\/((v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))?\\??v?=?([^#\\&\\?]*).*/,\n url_regex: /(?:https?:\\/\\/)?(?:www\\.)?(?:m\\.)?(?:youtube\\.com|youtu\\.be)\\/(?:watch\\?v=|embed\\/)?([0-9a-zA-Z_\\-]+)(.+)?/g,\n url_text: \"https://www.youtube.com/embed/$1?$2\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}&wmode=opaque\" frameborder=\"0\" allowfullscreen></iframe>',\n provider: \"youtube\"\n }, {\n test_regex: /^.*(?:vimeo.com)\\/(?:channels(\\/\\w+\\/)?|groups\\/*\\/videos\\/\\u200b\\d+\\/|video\\/|)(\\d+)(?:$|\\/|\\?)/,\n url_regex: /(?:https?:\\/\\/)?(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^\\/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:[a-zA-Z0-9_\\-]+)?(\\/[a-zA-Z0-9_\\-]+)?/i,\n url_text: \"https://player.vimeo.com/video/$1\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',\n provider: \"vimeo\"\n }, {\n test_regex: /^.+(dailymotion.com|dai.ly)\\/(video|hub)?\\/?([^_]+)[^#]*(#video=([^_&]+))?/,\n url_regex: /(?:https?:\\/\\/)?(?:www\\.)?(?:dailymotion\\.com|dai\\.ly)\\/(?:video|hub)?\\/?(.+)/g,\n url_text: \"https://www.dailymotion.com/embed/video/$1\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',\n provider: \"dailymotion\"\n }, {\n test_regex: /^.+(screen.yahoo.com)\\/[^_&]+/,\n url_regex: \"\",\n url_text: \"\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}?format=embed\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',\n provider: \"yahoo\"\n }, {\n test_regex: /^.+(rutube.ru)\\/[^_&]+/,\n url_regex: /(?:https?:\\/\\/)?(?:www\\.)?(?:rutube\\.ru)\\/(?:video)?\\/?(.+)/g,\n url_text: \"https://rutube.ru/play/embed/$1\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',\n provider: \"rutube\"\n }, {\n test_regex: /^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/,\n url_regex: /^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/g,\n url_text: \"https://play.vidyard.com/$1\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',\n provider: \"vidyard\"\n }], St.VIDEO_EMBED_REGEX = /^\\W*((<iframe(.|\\n)*>(\\s|\\n)*<\\/iframe>)|(<embed(.|\\n)*>))\\W*$/i, St.IMAGE_EMBED_REGEX = /^\\W*((<img(.|\\n)*>(\\s|\\n)*))\\W*$/i, St.IMAGE_TYPE = \"image/png\", St.IMAGE_ALLOW_REGEX = /\\.(gif|jpe?g|tiff?|png|webp|bmp)$/i, St.PLUGINS.filesManager = function (R) {\n var w,\n o,\n L,\n l,\n c,\n d,\n s,\n f,\n x = R.$,\n y = \"https://i.froala.com/upload\",\n p = !1,\n t = !1,\n I = new Map(),\n O = new Map(),\n A = new Map(),\n C = new Map(),\n F = new Map(),\n T = new Map(),\n i = 0,\n r = [],\n u = -1,\n M = [],\n g = 0,\n h = [\"file\", \"image\", \"imageTUI\", \"video\"],\n N = 1,\n m = 2,\n k = 3,\n S = 4,\n D = 5,\n P = 6,\n B = 10,\n U = [\"video/avi\", \"video/mpeg\", \"video/x-ms-wmv\"],\n v = {};\n function b() {\n var e = R.popups.get(\"filesManager.insert\"),\n t = e.find(\".fr-files-by-url-layer input\");\n t.val(\"\"), e.find(\".fr-files-embed-layer textarea\").val(\"\").trigger(\"change\"), t.trigger(\"change\");\n }\n function E(e) {\n var t;\n R.hasOwnProperty(\"imageTUI\") || (s = \"fr-disabled\"), T.forEach(function (e, t) {\n X(t);\n }), _() ? (t = R.popups.get(\"filesManager.insert\")) || (t = $e()) : (t = R.popups.get(\"filesManager.insert\")) || (t = function o() {\n var e = \"<div style= 'padding:10px'>\\n <div class = 'fr-message'><h3 style ='font-size: 16px; margin: 10px 10px;font-weight: normal;'>\".concat(R.language.translate(function n() {\n var e = \"\",\n t = function a() {\n var t = [];\n return h.forEach(function (e) {\n R.opts.pluginsEnabled.indexOf(e) < 0 && t.push(e.charAt(0).toUpperCase() + e.slice(1));\n }), t;\n }();\n e = t.join(\", \"), 1 < t.length ? e += \" plugin are\" : e += \" plugin is\";\n return e;\n }() + \" not enabled. Do you want to enable?\"), \"</h3></div>\\n <div style='text-align:right;'>\\n <button class='fr-trim-button fr-plugins-enable'>\").concat(R.language.translate(\"Enable\"), \"</button> \\n <button class='fr-trim-button fr-plugins-cancel'>\").concat(R.language.translate(\"Cancel\"), \"</button>\\n </div>\"),\n t = {\n buttons: '<div class=\"fr-buttons fr-tabs\"></div>',\n upload_layer: e,\n by_url_layer: \"\",\n embed_layer: \"\",\n upload_progress_layer: \"\",\n progress_bar: \"\"\n },\n a = R.popups.create(\"filesManager.insert\", t);\n return Fe(a), a;\n }());\n var a = R.$tb.find('.fr-command[data-cmd=\"insertFiles\"]');\n if (J(), e || !t.hasClass(\"fr-active\")) if (e || Z(), R.popups.refresh(\"filesManager.insert\"), R.popups.setContainer(\"filesManager.insert\", R.$tb), a.isVisible()) {\n var n = R.button.getPosition(a, I.size),\n r = n.left,\n i = n.top;\n R.popups.show(\"filesManager.insert\", r, i, a.outerHeight());\n } else R.position.forSelection(t), R.popups.show(\"filesManager.insert\");\n R.popups.setPopupDimensions(t), _() && R.popups.setFileListHeight(t), t.find(\".fr-upload-progress\") && 0 == I.size && t.find(\".fr-upload-progress\").addClass(\"fr-none\");\n }\n function _() {\n var t = !0;\n return h.forEach(function (e) {\n R.opts.pluginsEnabled.indexOf(e) < 0 && (t = !1);\n }), t;\n }\n function $() {\n J();\n }\n function H() {\n if (l || function o() {\n var e;\n R.shared.$image_resizer ? (l = R.shared.$image_resizer, d = R.shared.$img_overlay, R.events.on(\"destroy\", function () {\n x(\"body\").first().append(l.removeClass(\"fr-active\"));\n }, !0)) : (R.shared.$image_resizer = x(document.createElement(\"div\")).attr(\"class\", \"fr-image-resizer\"), l = R.shared.$image_resizer, R.events.$on(l, \"mousedown\", function (e) {\n e.stopPropagation();\n }, !0), R.opts.imageResize && (l.append(z(\"nw\") + z(\"ne\") + z(\"sw\") + z(\"se\")), R.shared.$img_overlay = x(document.createElement(\"div\")).attr(\"class\", \"fr-image-overlay\"), d = R.shared.$img_overlay, e = l.get(0).ownerDocument, x(e).find(\"body\").first().append(d)));\n R.events.on(\"shared.destroy\", function () {\n l.html(\"\").removeData().remove(), l = null, R.opts.imageResize && (d.remove(), d = null);\n }, !0), R.helpers.isMobile() || R.events.$on(x(R.o_win), \"resize\", function () {\n w && !w.hasClass(\"fr-uploading\") ? at(!0) : w && (H(), replace(), Q(!1));\n });\n if (R.opts.imageResize) {\n e = l.get(0).ownerDocument, R.events.$on(l, R._mousedown, \".fr-handler\", W), R.events.$on(x(e), R._mousemove, G), R.events.$on(x(e.defaultView || e.parentWindow), R._mouseup, V), R.events.$on(d, \"mouseleave\", V);\n var n = 1,\n r = null,\n i = 0;\n R.events.on(\"keydown\", function (e) {\n if (w) {\n var t = -1 != navigator.userAgent.indexOf(\"Mac OS X\") ? e.metaKey : e.ctrlKey,\n a = e.which;\n (a !== r || 200 < e.timeStamp - i) && (n = 1), (a == St.KEYCODE.EQUALS || R.browser.mozilla && a == St.KEYCODE.FF_EQUALS) && t && !e.altKey ? n = je.call(this, e, 1, 1, n) : (a == St.KEYCODE.HYPHEN || R.browser.mozilla && a == St.KEYCODE.FF_HYPHEN) && t && !e.altKey ? n = je.call(this, e, 2, -1, n) : R.keys.ctrlKey(e) || a != St.KEYCODE.ENTER || (w.before(\"<br>\"), Ae(w)), r = a, i = e.timeStamp;\n }\n }, !0), R.events.on(\"keyup\", function () {\n n = 1;\n });\n }\n }(), !w) return !1;\n var e = R.$wp || R.$sc;\n e.append(l), l.data(\"instance\", R);\n var t = e.scrollTop() - (\"static\" != e.css(\"position\") ? e.offset().top : 0),\n a = e.scrollLeft() - (\"static\" != e.css(\"position\") ? e.offset().left : 0);\n a -= R.helpers.getPX(e.css(\"border-left-width\")), t -= R.helpers.getPX(e.css(\"border-top-width\")), R.$el.is(\"img\") && R.$sc.is(\"body\") && (a = t = 0);\n var n = lt();\n ct() && (n = n.find(\".fr-img-wrap\"));\n var r = 0,\n i = 0;\n R.opts.iframe && (r = R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-top\")), i = R.helpers.getPX(R.$wp.find(\".fr-iframe\").css(\"padding-left\"))), l.css(\"top\", (R.opts.iframe ? n.offset().top + r : n.offset().top + t) - 1).css(\"left\", (R.opts.iframe ? n.offset().left + i : n.offset().left + a) - 1).css(\"width\", n.get(0).getBoundingClientRect().width).css(\"height\", n.get(0).getBoundingClientRect().height).addClass(\"fr-active\");\n }\n function z(e) {\n return '<div class=\"fr-handler fr-h'.concat(e, '\"></div>');\n }\n function K(e) {\n ct() ? w.parents(\".fr-img-caption\").css(\"width\", e) : w.css(\"width\", e);\n }\n function W(e) {\n if (!R.core.sameInstance(l)) return !0;\n if (e.preventDefault(), e.stopPropagation(), R.$el.find(\"img.fr-error\").left) return !1;\n R.undo.canDo() || R.undo.saveStep();\n var t = e.pageX || e.originalEvent.touches[0].pageX;\n if (\"mousedown\" == e.type) {\n var a = R.$oel.get(0).ownerDocument,\n n = a.defaultView || a.parentWindow,\n r = !1;\n try {\n r = n.location != n.parent.location && !(n.$ && n.$.FE);\n } catch (s) {}\n r && n.frameElement && (t += R.helpers.getPX(x(n.frameElement).offset().left) + n.frameElement.clientLeft);\n }\n (c = x(this)).data(\"start-x\", t), c.data(\"start-width\", w.width()), c.data(\"start-height\", w.height());\n var i = w.width();\n if (R.opts.imageResizeWithPercent) {\n var o = w.parentsUntil(R.$el, R.html.blockTagsQuery()).get(0) || R.el;\n i = (i / x(o).outerWidth() * 100).toFixed(2) + \"%\";\n }\n K(i), d.show(), R.popups.hideAll(), it();\n }\n function G(e) {\n if (!R.core.sameInstance(l)) return !0;\n var t;\n if (c && w) {\n if (e.preventDefault(), R.$el.find(\"img.fr-error\").left) return !1;\n var a = e.pageX || (e.originalEvent.touches ? e.originalEvent.touches[0].pageX : null);\n if (!a) return !1;\n var n = a - c.data(\"start-x\"),\n r = c.data(\"start-width\");\n if ((c.hasClass(\"fr-hnw\") || c.hasClass(\"fr-hsw\")) && (n = 0 - n), R.opts.imageResizeWithPercent) {\n var i = w.parentsUntil(R.$el, R.html.blockTagsQuery()).get(0) || R.el;\n r = ((r + n) / x(i).outerWidth() * 100).toFixed(2), R.opts.imageRoundPercent && (r = Math.round(r)), K(\"\".concat(r, \"%\")), (t = ct() ? (R.helpers.getPX(w.parents(\".fr-img-caption\").css(\"width\")) / x(i).outerWidth() * 100).toFixed(2) : (R.helpers.getPX(w.css(\"width\")) / x(i).outerWidth() * 100).toFixed(2)) === r || R.opts.imageRoundPercent || K(\"\".concat(t, \"%\")), w.css(\"height\", \"\").removeAttr(\"height\");\n } else r + n >= R.opts.imageMinWidth && (K(r + n), t = ct() ? R.helpers.getPX(w.parents(\".fr-img-caption\").css(\"width\")) : R.helpers.getPX(w.css(\"width\"))), t !== r + n && K(t), ((w.attr(\"style\") || \"\").match(/(^height:)|(; *height:)/) || w.attr(\"height\")) && (w.css(\"height\", c.data(\"start-height\") * w.width() / c.data(\"start-width\")), w.removeAttr(\"height\"));\n H(), R.events.trigger(\"image.resize\", [st()]);\n }\n }\n function V(e) {\n if (!R.core.sameInstance(l)) return !0;\n if (c && w) {\n if (e && e.stopPropagation(), R.$el.find(\"img.fr-error\").left) return !1;\n c = null, d.hide(), H(), R.undo.saveStep(), R.events.trigger(\"image.resizeEnd\", [st()]);\n } else l.removeClass(\"fr-active\");\n }\n function Y() {\n T.forEach(function (e, t) {\n var a = R.popups.get(\"filesManager.insert\");\n a.find(\".fr-checkbox-file-\" + t).get(0).disabled = !0, document.getElementById(\"fr-file-autoplay-button-\" + t) && (document.getElementById(\"fr-file-autoplay-button-\" + t).disabled = !0, document.getElementById(\"fr-file-autoplay-button-\" + t).parentElement.classList.add(\"fr-checkbox-disabled\"), document.getElementById(\"fr-file-autoplay-button-\" + t).parentElement.classList.remove(\"fr-files-checkbox\")), a.find(\".fr-checkbox-\" + t).get(0).classList.remove(\"fr-files-checkbox\"), a.find(\".fr-checkbox-\" + t).get(0).classList.add(\"fr-checkbox-disabled\");\n });\n }\n function j(e, t, a, n) {\n R.edit.on(), w && w.addClass(\"fr-error\"), v[e] ? (e != k && e != m && e != S || _e(100, n, !0), T.set(n, v[e]), Y(), function r() {\n T.forEach(function (e, t) {\n R.popups.get(\"filesManager.insert\"), document.getElementById(\"fr-file-edit-button-\".concat(t)) && (document.getElementById(\"fr-file-edit-button-\".concat(t)).classList.add(\"fr-disabled\"), document.getElementById(\"fr-file-view-button-\".concat(t)).classList.add(\"fr-disabled\"), document.getElementById(\"fr-file-insert-button-\".concat(t)).classList.add(\"fr-disabled\"));\n });\n }(), ae(R.language.translate(v[e]), n)) : ae(R.language.translate(\"Something went wrong. Please try again.\"), n), !w && a && qe(a), R.events.trigger(\"filesManager.error\", [{\n code: e,\n message: v[e]\n }, t, a]);\n }\n function q() {\n var e = R.popups.get(\"filesManager.insert\"),\n t = e.find('.fr-command[data-cmd=\"insertAll\"]'),\n a = e.find('.fr-command[data-cmd=\"deleteAll\"]'),\n n = !0;\n F.forEach(function r(e, t, a) {\n F.get(t) && (n = !1);\n }), n ? t.addClass(\"fr-disabled\") : t.removeClass(\"fr-disabled\"), n ? a.addClass(\"fr-disabled\") : a.removeClass(\"fr-disabled\");\n }\n function X(e) {\n O.get(e) && O.get(e).link && R.events.trigger(\"filesManager.removed\", [O.get(e).link]);\n var t = R.popups.get(\"filesManager.insert\");\n t.find(\".fr-file-\" + e).get(0) !== undefined && (t.find(\".fr-file-\" + e).get(0).outerHTML = \"\"), O[\"delete\"](e), I[\"delete\"](e), F[\"delete\"](e), q(), 0 == I.size && (g = 0), T[\"delete\"](e), R.popups.setPopupDimensions(t, !0), R.opts.toolbarBottom ? E(!0) : R.popups.setPopupDimensions(t), t.find(\".fr-upload-progress\") && 0 == I.size && t.find(\".fr-upload-progress\").addClass(\"fr-none\");\n }\n function Z() {\n for (var e = R.popups.get(\"filesManager.insert\"), t = e.find(\".fr-insert-checkbox\"), a = 0; a < t.length; a++) t.get(a).children.target.checked = !1, e.find(\".fr-file-\" + t.get(a).id.split(\"-\").pop()).get(0).classList.add(\"fr-unchecked\");\n if (L) document.getElementById(\"fr-file-autoplay-button-\".concat(L)) && (document.getElementById(\"fr-file-autoplay-button-\".concat(L)).checked = !1), M = M.filter(function (e) {\n return e != L;\n });else {\n for (var n = e.find(\".fr-file-autoplay-button\"), r = 0; r < n.length; r++) n.get(r).checked = !1;\n M = [];\n }\n F = new Map(), q();\n }\n function Q(e) {\n var t = R.popups.get(\"filesManager.insert\");\n if (t || (t = $e()), t.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"), t.find(\".fr-files-progress-bar-layer\").addClass(\"fr-active\"), t.find(\".fr-buttons\").hide(), w) {\n var a = lt();\n R.popups.setContainer(\"filesManager.insert\", R.$sc);\n var n = a.offset().left,\n r = a.offset().top + a.height();\n R.popups.show(\"filesManager.insert\", n, r, a.outerHeight());\n }\n void 0 === e && ee(R.language.translate(\"Uploading\"), 0);\n }\n function J(e) {\n var t = R.popups.get(\"filesManager.insert\");\n if (t && (t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"), t.find(\".fr-files-progress-bar-layer\").removeClass(\"fr-active\"), t.find(\".fr-buttons\").show(), e || R.$el.find(\"img.fr-error\").length)) {\n if (R.events.focus(), R.$el.find(\"img.fr-error\").length && (R.$el.find(\"img.fr-error\").remove(), R.undo.saveStep(), R.undo.run(), R.undo.dropRedo()), !R.$wp && w) {\n var a = w;\n at(!0), R.selection.setAfter(a.get(0)), R.selection.restore();\n }\n R.popups.hide(\"filesManager.insert\");\n }\n }\n function ee(e, t) {\n var a = R.popups.get(\"filesManager.insert\");\n if (a) {\n var n = a.find(\".fr-files-progress-bar-layer\");\n n.find(\"h3\").text(e + (t ? \" \".concat(t, \"%\") : \"\")), n.removeClass(\"fr-error\"), t ? (n.find(\"div\").removeClass(\"fr-indeterminate\"), n.find(\"div > span\").css(\"width\", \"\".concat(t, \"%\"))) : n.find(\"div\").addClass(\"fr-indeterminate\");\n }\n }\n function te(e) {\n Q();\n var t = R.popups.get(\"filesManager.insert\").find(\".fr-files-progress-bar-layer\");\n t.addClass(\"fr-error\");\n var a = t.find(\"h3\");\n a.text(e), R.events.disableBlur(), a.focus();\n }\n function ae(e, t) {\n var a = R.popups.get(\"filesManager.insert\"),\n n = a.find(\".fr-upload-progress-layer\"),\n r = a.find(\".fr-file-\".concat(t));\n n.addClass(\"fr-error\"), r.find(\"h5\").text(e);\n }\n v[N] = \"File cannot be loaded from the passed link.\", v[m] = \"No link in upload response.\", v[k] = \"Error during file upload.\", v[S] = \"Parsing response failed.\", v[D] = \"File is too large.\", v[P] = \"File type is invalid.\", v[7] = \"Files can be uploaded only to same domain in IE 8 and IE 9.\", v[8] = \"File is corrupted.\", v[9] = \"Error during file loading.\", v[B] = \"File upload cancelled\";\n var a,\n ne,\n re,\n ie,\n oe,\n se,\n n,\n le,\n ce,\n de,\n fe = \"\";\n function pe(e) {\n fe = e, a = document.getElementsByClassName(e), Array.prototype.map.call(a, function (e) {\n !function n(e) {\n if (e.addEventListener(\"dragover\", function (e) {\n e.preventDefault(), e.stopPropagation(), ne = e.pageX, re = e.pageY;\n var t = document.getElementById(\"filesList\");\n re + 20 > t.getBoundingClientRect().bottom && ue(t, 0, 10), re - 20 < t.getBoundingClientRect().top && ue(t, 0, -10);\n }, !1), R.helpers.isMobile()) {\n var t = e.getElementsByClassName(\"dot\");\n t[0].addEventListener(\"touchmove\", function (e) {\n e.preventDefault(), e.stopPropagation();\n for (var t = e.target; t && !t.classList.contains(fe);) t = t.parentElement;\n for (var a = document.elementFromPoint(e.targetTouches[0].clientX, e.targetTouches[0].clientY); a && !a.classList.contains(fe);) a = a.parentElement;\n var n = document.getElementsByClassName(\"fr-hovered-over-file\");\n Array.prototype.forEach.call(n, function (e) {\n e.classList.remove(\"fr-hovered-over-file\");\n }), a && !t.classList.contains(\"fr-unchecked\") && a.classList.add(\"fr-hovered-over-file\");\n var r = document.getElementById(\"filesList\");\n e.targetTouches[0].clientY + 5 > r.getBoundingClientRect().bottom && ue(r, 0, 5), e.targetTouches[0].clientY - 5 < r.getBoundingClientRect().top && ue(r, 0, -5);\n }, !1);\n }\n if (e.ondrag = ge, e.ondragend = he, R.helpers.isMobile()) {\n var a = e.getElementsByClassName(\"dot\");\n a[0].addEventListener(\"touchmove\", ge, !1), a[0].addEventListener(\"touchend\", he, !1);\n }\n }(e);\n });\n }\n function ue(e, t, a) {\n e.scrollLeft += t, e.scrollTop += a;\n }\n function ge(e) {\n for (R.helpers.isMobile() && (oe = event.touches[0].clientX, se = event.touches[0].clientY), ie = e.target; !ie.classList.contains(fe);) ie = ie.parentElement;\n ie.classList.contains(fe) && !ie.classList.contains(\"fr-unchecked\") ? R.helpers.isMobile() && ie.classList.add(\"drag-sort-active\") : ie = undefined;\n }\n function he(e) {\n var t;\n if (ie !== undefined) {\n var a, n;\n if (R.helpers.isMobile()) for (a = oe, n = se, t = event.target; !t.classList.contains(fe);) t = t.parentElement;else a = event.clientX, n = event.clientY;\n R.helpers.isMobile() || !R.browser.safari && !R.browser.mozilla || (a = ne, n = re);\n for (var r = document.elementFromPoint(a, n); r && !r.classList.contains(fe);) r = r.parentElement;\n r && !r.classList.contains(fe) ? r = undefined : r && ie !== r && function s(e, t) {\n var a,\n n,\n r = e.parentNode,\n i = t.parentNode;\n if (!r || !i || r.isEqualNode(t) || i.isEqualNode(e)) return;\n for (var o = 0; o < r.children.length; o++) r.children[o].isEqualNode(e) && (a = o);\n for (var o = 0; o < i.children.length; o++) i.children[o].isEqualNode(t) && (n = o);\n r.isEqualNode(i) && a < n && n++;\n r.insertBefore(t, r.children[a]), i.insertBefore(e, i.children[n]);\n }(ie, r), R.helpers.isMobile() && (t.classList.remove(\"fr-hovered-over-file\"), r.classList.remove(\"fr-hovered-over-file\"));\n }\n }\n function me(e) {\n var n = R.popups.get(\"filesManager.insert\");\n n.find(\".fr-upload-progress-layer\").hasClass(\"fr-active\") || n.find(\".fr-upload-progress-layer\").addClass(\"fr-active\"), n.find(\".fr-upload-progress\").removeClass(\"fr-none\");\n var t = I.get(e),\n a = function o(e) {\n var t,\n a = {\n weekday: \"long\",\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\"\n };\n try {\n t = e.toLocaleDateString(R.opts.language ? R.opts.language : undefined, a);\n } catch (n) {\n t = e.toLocaleDateString(undefined, a);\n }\n return t + \"\";\n }(new Date()),\n r = F.get(e) ? \"\" : \"fr-unchecked \",\n i = \"\\n <div id='fr-file-\".concat(e, \"' class='fr-file-list-item fr-file-\").concat(e, \" \").concat(r, \"' draggable = \\\"\").concat(!r, '\" >\\n <div class=\\'fr-file-item-left\\' >\\n\\n \\n <div class=\"fr-file-item-insert-checkbox fr-files-checkbox-line\">\\n ').concat(R.helpers.isMobile() ? \"<div id='fr-pick-\".concat(e, \"}' class='dot'>\\n </div>\") : \"\", '\\n <div id=\"checkbox-key-').concat(e, '\" class=\"fr-files-checkbox fr-insert-checkbox fr-checkbox-').concat(e, '\">\\n <input name=\"target\" class=\"fr-insert-attr fr-checkbox-file-').concat(e, ' fr-file-insert-check\" data-cmd=\"fileInsertCheckbox\"\\n data-checked=\"_blank\" type=\"checkbox\" id=\"fr-link-target-').concat(R.id, '\" tabIndex=\"0\" />\\n <span>').concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>', '\\n </span>\\n </div>\\n <label id=\"fr-label-target-').concat(R.id, \"\\\"></label>\\n </div>\\n \\n <div class='fr-file-item-icon fr-file-item-icon-\").concat(e, \"' >\\n <img src='https://secure.webtoolhub.com/static/resources/icons/set112/f2afb6f7.png' alt='Image preview' class='fr-thumbnail-padding' height='36px' width='36px' />\\n </div>\\n\\n <div class='fr-file-item-description' >\\n <div class='fr-file-name fr-files-manager-tooltip'>\\n \").concat(function s(e, t, a) {\n null == t && (t = 100);\n null == a && (a = \"...\");\n return e.length > t ? e.substring(0, t - a.length) + a : e;\n }(t.name, 20), '\\n <span class=\"').concat(20 < t.name.length ? \"tooltiptext\" : \"fr-none\", '\">').concat(t.name, \"\\n </span>\\n </div>\\n <div class='fr-file-details'>\\n <div class='fr-file-date'>\").concat(a, \"\\n </div>\\n \\n <div class='fr-file-size'>\\n \").concat(function l(e) {\n if (0 == e) return \"0 Bytes\";\n var t = Math.floor(Math.log(e) / Math.log(1024));\n return \" | \" + 1 * (e / Math.pow(1024, t)).toFixed(2) + \" \" + [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"][t];\n }(t.size), \"\\n </div>\\n </div>\\n\\n <div class='fr-file-error'>\\n <h5 class='fr-file-error-h5'></h5>\\n </div>\\n </div>\\n \\n </div>\\n\\n <div class='fr-file-item-right fr-file-item-right-\").concat(e, \"'>\") + Ee(e) + \"</div>\\n </div>\";\n n.find(\".fr-upload-progress-layer\")[0].innerHTML = i + n.find(\".fr-upload-progress-layer\")[0].innerHTML, I.forEach(function c(e, t, a) {\n F.get(t) && n.find(\"input.fr-insert-attr.fr-checkbox-file-\".concat(t))[0].setAttribute(\"checked\", null);\n }), M.forEach(function (e) {\n document.getElementById(\"fr-file-autoplay-button-\" + e).checked = !0;\n }), be(e, t), J(), R.opts.toolbarBottom ? E(!0) : R.popups.setPopupDimensions(n), pe(\"fr-file-list-item\");\n }\n function ve(e) {\n switch (e) {\n case \"application/msword\":\n return R.icon.getFileIcon(\"docIcon\");\n case \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":\n return R.icon.getFileIcon(\"docxIcon\");\n case \"image/gif\":\n return R.icon.getFileIcon(\"gifIcon\");\n case \"image/jpeg\":\n return R.icon.getFileIcon(\"jpegIcon\");\n case \"image/jpeg\":\n return R.icon.getFileIcon(\"jpgIcon\");\n case \"type/text\":\n return R.icon.getFileIcon(\"logIcon\");\n case \"video/quicktime\":\n return R.icon.getFileIcon(\"movIcon\");\n case \"audio/mp3\":\n case \"audio/mpeg\":\n return R.icon.getFileIcon(\"mp3Icon\");\n case \"video/mp4\":\n return R.icon.getFileIcon(\"mp4Icon\");\n case \"audio/ogg\":\n return R.icon.getFileIcon(\"oggIcon\");\n case \"video/ogg\":\n return R.icon.getFileIcon(\"ogvIcon\");\n case \"application/pdf\":\n return R.icon.getFileIcon(\"pdfIcon\");\n case \"image/png\":\n return R.icon.getFileIcon(\"pngIcon\");\n case \"text/plain\":\n return R.icon.getFileIcon(\"txtIcon\");\n case \"video/webm\":\n return R.icon.getFileIcon(\"webmIcon\");\n case \"image/webp\":\n return R.icon.getFileIcon(\"webpIcon\");\n case \"video/x-ms-wmv\":\n return R.icon.getFileIcon(\"wmvIcon\");\n case \"application/vnd.ms-excel\":\n return R.icon.getFileIcon(\"xlsIcon\");\n case \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":\n return R.icon.getFileIcon(\"xlsxIcon\");\n case \"application/x-zip-compressed\":\n case \"application/zip\":\n return R.icon.getFileIcon(\"zipIcon\");\n default:\n return R.icon.getFileIcon(\"defaultIcon\");\n }\n }\n function be(n, r, e) {\n var i = R.popups.get(\"filesManager.insert\"),\n t = i.find(\".fr-file-item-icon-\" + n).get(0);\n if (Ne(Re(r)) && \"image/gif\" != Re(r) && \"image/webp\" != Re(r)) {\n \"a\" != t.children[0].localName && (t.innerHTML = \"<a target='_blank' href=''>\" + t.innerHTML + \"</a>\");\n i.find(\".fr-file-item-icon-\" + n).get(0).children[0].children[0];\n var o = new FileReader();\n if (null != e && e) {\n var a = I.get(n);\n r.name = a.name, I.set(n, r);\n }\n if (o.onloadend = function () {\n i.find(\".fr-file-item-icon-\" + n).get(0).children[0].children[0].src = o.result;\n for (var e = atob(o.result.split(\",\")[1]), t = [], a = 0; a < e.length; a++) t.push(e.charCodeAt(a));\n i.find(\".fr-file-item-icon-\" + n).get(0).children[0].href = window.URL.createObjectURL(new Blob([new Uint8Array(t)], {\n type: Re(r)\n })), i.find(\".fr-file-item-icon-\" + n).get(0).classList.add(\"fr-file-item-thumbnail-hover\");\n }, r) o.readAsDataURL(r);else {\n var s = ve(Re(r));\n t.innerHTML = '<svg height=\"40px\" width=\"40px\" viewBox=\"0 0 55 5\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\\n '.concat(s.path, \"\\n </svg>\");\n }\n } else {\n var l = ve(Re(r));\n t.innerHTML = '<svg height=\"40px\" width=\"40px\" viewBox=\"0 0 55 55\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\\n '.concat(l.path, \"\\n </svg>\");\n }\n }\n function Ee(e) {\n var t = \"\";\n if (Pe(Re(I.get(e)))) {\n var a = \"fr-files-checkbox\",\n n = \"\";\n Ue(Re(I.get(e))) || (a = \"fr-checkbox-disabled\", n = \"disabled\");\n t = '\\n <div class=\"fr-files-checkbox-line align-autoplay\">\\n <div id=\"checkbox-key-'.concat(e, '\" class=\"').concat(a, \" fr-autoplay-checkbox fr-checkbox-\").concat(e, '\"> \\n \\n <input type=\"checkbox\" id=\"fr-file-autoplay-button-').concat(e, '\" class=\"fr-file-button-').concat(e, ' fr-file-autoplay-button\" data-title=\"Edit\" data-param1=\"').concat(e, '\" role=\"button\" ').concat(n, \"/>\\n\\n <span>\").concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>', \" </span>\\n </div> \\n <label class='fr-autoplay-checkbox-label'>Autoplay </label>\\n </div>\");\n }\n var r = \"application/msword\",\n i = \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n o = \"\";\n return !Be(Re(I.get(e))) && Ue(Re(I.get(e))) || (s = \"fr-disabled\"), Pe(Re(I.get(e))) && (s = \"fr-disabled\"), De(Re(I.get(e))) && (s = \"fr-disabled\", Re(I.get(e)) != r && Re(I.get(e)) != i || R.opts.googleOptions && !R.helpers.isMobile() && R.opts.googleOptions.API_KEY && R.opts.googleOptions.CLIENT_ID && (s = \"\"), \"text/plain\" != Re(I.get(e)) && Re(I.get(e)) != r && \"application/pdf\" != Re(I.get(e)) && Re(I.get(e)) != i && \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" != Re(I.get(e)) && \"application/vnd.ms-excel\" != Re(I.get(e)) && \"type/text\" != Re(I.get(e)) || (o = \"\")), \"video/url\" === Re(I.get(e)) && (s = \"fr-disabled\"), t += '<div class=\\'fr-file-item-action-buttons\\' >\\n <button type=\"button\" id=\"fr-file-insert-button-'.concat(e, '\" class=\" fr-doc-edit-').concat(e, \" fr-img-icon fr-btn fr-command fr-submit fr-file-action-icons \\n fr-file-button-\").concat(e, \" fr-file-insert-button-\").concat(e, ' fr-file-insert-button\" data-cmd=\"imageInsertByUpload\" data-title=\"Insert\" data-param1=\"').concat(e, '\" tabIndex=\"2\" role=\"button\">\\n <svg style=\\'margin:0px !important; opacity:0.9\\' class = \"fr-svg\" focusable=\"false\" width=\"16px\" height=\"16px\" viewBox = \"-5 0 28 28\" xlmns = \"http://w3.org/200/svg\"><path d = \\'M 9.25 12 L 6.75 12 C 6.335938 12 6 11.664062 6 11.25 L 6 6 L 3.257812 6 C 2.703125 6 2.425781 5.328125 2.820312 4.933594 L 7.570312 0.179688 C 7.804688 -0.0546875 8.191406 -0.0546875 8.425781 0.179688 L 13.179688 4.933594 C 13.574219 5.328125 13.296875 6 12.742188 6 L 10 6 L 10 11.25 C 10 11.664062 9.664062 12 9.25 12 Z M 16 11.75 L 16 15.25 C 16 15.664062 15.664062 16 15.25 16 L 0.75 16 C 0.335938 16 0 15.664062 0 15.25 L 0 11.75 C 0 11.335938 0.335938 11 0.75 11 L 5 11 L 5 11.25 C 5 12.214844 5.785156 13 6.75 13 L 9.25 13 C 10.214844 13 11 12.214844 11 11.25 L 11 11 L 15.25 11 C 15.664062 11 16 11.335938 16 11.75 Z M 12.125 14.5 C 12.125 14.15625 11.84375 13.875 11.5 13.875 C 11.15625 13.875 10.875 14.15625 10.875 14.5 C 10.875 14.84375 11.15625 15.125 11.5 15.125 C 11.84375 15.125 12.125 14.84375 12.125 14.5 Z M 14.125 14.5 C 14.125 14.15625 13.84375 13.875 13.5 13.875 C 13.15625 13.875 12.875 14.15625 12.875 14.5 C 12.875 14.84375 13.15625 15.125 13.5 15.125 C 13.84375 15.125 14.125 14.84375 14.125 14.5 Z M 14.125 14.5 \\'></path></svg>\\n </button>\\n\\n <button type=\"button\" id=\"fr-file-edit-button-').concat(e, '\" class=\" fr-doc-edit-').concat(e, \" \").concat(s, \" fr-img-icon fr-btn fr-command fr-submit \\n fr-file-action-icons fr-file-edit-button-\").concat(e, \" fr-file-button-\").concat(e, ' fr-file-edit-button\" data-cmd=\"editImage\" data-title=\"Edit\" data-param1=\"').concat(e, '\" role=\"button\">\\n <svg style=\\'margin:0px !important; opacity:0.9\\' class = \"fr-svg\" focusable=\"false\" width=\"16px\" height=\"16px\" viewBox = \"0 4 25 25\" xlmns = \"http://w3.org/200/svg\"><path d = \\'M17,11.2L12.8,7L5,14.8V19h4.2L17,11.2z M7,16.8v-1.5l5.6-5.6l1.4,1.5l-5.6,5.6H7z M13.5,6.3l0.7-0.7c0.8-0.8,2.1-0.8,2.8,0 c0,0,0,0,0,0L18.4,7c0.8,0.8,0.8,2,0,2.8l-0.7,0.7L13.5,6.3z\\'></path></svg>\\n </button>\\n \\n <span class=\"fr-file-view-').concat(e, '\"><button type=\"button\" id=\"fr-file-view-button-').concat(e, '\" class=\" fr-doc-edit-').concat(e, \" \").concat(o, \" fr-img-icon fr-btn fr-command fr-submit fr-file-action-icons \\n fr-file-view-button-\").concat(e, ' fr-file-view-button\" data-cmd=\"viewImage\" data-title=\"View\" data-param1=\"').concat(e, '\" tabIndex=\"2\" role=\"button\">\\n <svg style=\\'margin:0px !important; opacity:0.9\\' class = \"fr-svg\" focusable=\"false\" width=\"16px\" height=\"16px\" viewBox = \"15 19 21 21\" xlmns = \"http://w3.org/200/svg\"> <path style=\"fill:none;stroke-width:0.9077;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" d=\"M 19.086094 16.541466 C 16.185625 16.541466 14.318281 19.447115 14.318281 19.447115 L 14.318281 19.555288 C 14.318281 19.555288 16.176719 22.475962 19.077187 22.475962 C 21.977656 22.475962 23.847969 19.576322 23.847969 19.576322 L 23.847969 19.465144 C 23.847969 19.465144 21.989531 16.541466 19.086094 16.541466 Z M 19.07125 21.024639 C 18.248906 21.024639 17.583906 20.357572 17.583906 19.53726 C 17.583906 18.716947 18.248906 18.04988 19.07125 18.04988 C 19.890625 18.04988 20.555625 18.716947 20.555625 19.53726 C 20.555625 20.357572 19.890625 21.024639 19.07125 21.024639 Z M 19.07125 21.024639 \" transform=\"matrix(1.315789,0,0,1.3,0,0)\"/></svg></button></span>\\n\\n <button type=\"button\" id=\"fr-file-delete-button-').concat(e, '\" class=\" fr-doc-edit-').concat(e, \" fr-img-icon fr-btn fr-command fr-submit fr-file-action-icons\\n fr-file-button-\").concat(e, ' fr-file-delete-button\" data-cmd=\"deleteImage\" data-title=\"Delete\" data-param1=\"').concat(e, '\" role=\"button\">\\n <svg style=\\'margin:0px !important; opacity:0.9\\' class = \"fr-svg\" focusable=\"false\" width=\"16px\" height=\"16px\" viewBox = \"-2 3 30 30\" xlmns = \"http://w3.org/200/svg\"><path d = \\'M15,10v8H9v-8H15 M14,4H9.9l-1,1H6v2h12V5h-3L14,4z M17,8H7v10c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V8z\\'></path></svg>\\n </button>\\n \\n </div>\\n <div id=\"user_area-').concat(e, \"\\\" style=\\\"display: none;\\\">\\n \\n <div id=\\\"file_container\\\"></div>\\n\\n <div style='display:block;text-align: center; margin-left:50%; id='edit-file-loader' class='fr-file-loader'></div>\\n\\n </div> \\n \");\n }\n function _e(e, t, a) {\n var n = R.popups.get(\"filesManager.insert\");\n if (!a && e <= 100) {\n n.find(\".fr-checkbox-file-\" + t).get(0).disabled = !0, n.find(\".fr-checkbox-\" + t).get(0).classList.remove(\"fr-files-checkbox\"), n.find(\".fr-checkbox-\" + t).get(0).classList.add(\"fr-checkbox-disabled\");\n var r = n.find(\".fr-file-progress-circle-\" + t),\n i = n.find(\".fr-file-upload-percent-\" + t);\n return 50 < e ? r.get(0).setAttribute(\"class\", \"fr-file-progress-circle-\" + t + \" progress-circle p\" + Math.floor(e) + \" over50\") : r.get(0).setAttribute(\"class\", \"fr-file-progress-circle-\" + t + \" progress-circle p\" + Math.floor(e)), i.get(0).innerHTML = Math.floor(e) + \"%\", void we(t, e, a);\n }\n a && (n.find(\".fr-checkbox-file-\" + t).get(0).disabled = !1, n.find(\".fr-checkbox-\" + t).get(0).classList.remove(\"fr-checkbox-disabled\"), n.find(\".fr-checkbox-\" + t).get(0).classList.add(\"fr-files-checkbox\"), n.find(\".fr-file-item-right-\" + t).get(0).innerHTML = Ee(t), we(t, 100, a));\n }\n function we(e, t, a) {\n var n = R.popups.get(\"filesManager.insert\");\n n.find(\".fr-progress-bar\").removeClass(\"fr-none\").addClass(\"fr-display-block\"), n.find(\".fr-upload-progress\").hasClass(\"fr-height-set\") && R.popups.setFileListHeight(n);\n var r = 0;\n C.set(e, t), C.forEach(function (e, t) {\n r += e;\n }), r /= C.size, 100 == t && a && i++, n.find('.fr-command[data-cmd=\"filesUpload\"]').addClass(\"fr-disabled\"), n.find('.fr-command[data-cmd=\"filesByURL\"]').addClass(\"fr-disabled\"), n.find('.fr-command[data-cmd=\"filesEmbed\"]').addClass(\"fr-disabled\"), n.find(\".fr-progress-bar\").get(0).style.width = r + \"%\", i == C.size && (n.find(\".fr-progress-bar\").removeClass(\"fr-display-block\").addClass(\"fr-none\"), C = new Map(), i = 0, n.find('.fr-command[data-cmd=\"filesUpload\"]').removeClass(\"fr-disabled\"), n.find('.fr-command[data-cmd=\"filesByURL\"]').removeClass(\"fr-disabled\"), n.find('.fr-command[data-cmd=\"filesEmbed\"]').removeClass(\"fr-disabled\"));\n }\n function ye(a, n) {\n J(), R.popups.get(\"filesManager.insert\").find(\".fr-upload-progress-layer\").addClass(\"fr-active\"), a.forEach(function (e, t) {\n Ne(Re(e)) && R.opts.imageUploadRemoteUrls && R.opts.imageCORSProxy && R.opts.imageUpload ? Oe(e, a, w, n[t]) : O.set(n[t], e);\n });\n }\n function Ae(e) {\n e && e.get && function a(e) {\n if (\"false\" == x(this).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\")) return !0;\n if (e && \"touchend\" == e.type && de) return !0;\n if (e && R.edit.isDisabled()) return e.stopPropagation(), e.preventDefault(), !1;\n for (var t = 0; t < St.INSTANCES.length; t++) St.INSTANCES[t] != R && St.INSTANCES[t].events.trigger(\"image.hideResizer\");\n R.toolbar.disable(), e && (e.stopPropagation(), e.preventDefault());\n R.helpers.isMobile() && (R.events.disableBlur(), R.$el.blur(), R.events.enableBlur());\n R.opts.iframe && R.size.syncIframe();\n w = x(this), H(), R.browser.msie ? (R.popups.areVisible() && R.events.disableBlur(), R.win.getSelection && (R.win.getSelection().removeAllRanges(), R.win.getSelection().addRange(R.doc.createRange()))) : R.selection.clear();\n R.helpers.isIOS() && (R.events.disableBlur(), R.$el.blur());\n R.button.bulkRefresh(), R.events.trigger(\"video.hideResizer\");\n }.call(e.get(0));\n }\n function Ce() {\n var e = x(this);\n e.removeClass(\"fr-uploading\"), e.next().is(\"br\") && e.next().remove(), (0 == r.length || 0 < r.length && r.length == u) && (f = e), \"VIDEO\" == e.get(0).tagName || \"AUDIO\" == e.get(0).tagName ? R.selection.setAfter(e.parent()) : R.selection.setAfter(e), R.undo.saveStep(), R.events.trigger(\"filesManager.loaded\", [e]), ke(r);\n }\n function Te() {\n var e,\n t = Array.prototype.slice.call(R.el.querySelectorAll(\"video, .fr-video > *\")),\n a = [];\n for (e = 0; e < t.length; e++) a.push(t[e].getAttribute(\"src\")), x(t[e]).toggleClass(\"fr-draggable\", R.opts.videoMove), \"\" === t[e].getAttribute(\"class\") && t[e].removeAttribute(\"class\"), \"\" === t[e].getAttribute(\"style\") && t[e].removeAttribute(\"style\");\n if (n) for (e = 0; e < n.length; e++) a.indexOf(n[e].getAttribute(\"src\")) < 0 && R.events.trigger(\"video.removed\", [x(n[e])]);\n n = t;\n }\n function ke(e) {\n if (null != e) {\n if (0 == e.length) return void (null != f && (\"VIDEO\" == f.get(0).tagName ? R.video._editVideo(f.parent()) : \"IMG\" == f.get(0).tagName ? R.image.edit(f) : f.trigger(\"click\"), R.toolbar.disable()));\n Le(e.shift(), e);\n }\n }\n function Se(e) {\n var t = !1;\n if (Pe(Re(O.get(e)))) R.trimVideoPlugin.trimVideo(I.get(e), e, I), t = !0;else if (Ne(Re(O.get(e)))) {\n var a = O.get(e).link,\n n = R.o_doc.createElement(\"img\");\n n.src = a, w = n, o = e, R.imageTUI.launch(R, !1, e), t = !0;\n } else if (De(Re(O.get(e)))) {\n var r = {\n apiKey: R.opts.googleOptions.API_KEY,\n clientId: R.opts.googleOptions.CLIENT_ID,\n authorizeButton: \"authorize_button-\".concat(e),\n signoutButton: \"signout_button\",\n userArea: \"user_area-\".concat(e),\n fileInput: \"file_input\",\n fileIndex: e,\n file: I.get(e),\n fileContainer: \"file_container\",\n loadingText: \"File is being uploaded...\",\n events: {\n onInvalidFile: function (e) {},\n onError: function (e) {}\n }\n };\n ce = function d(p) {\n var i,\n e = [\"https://www.googleapis.com/discovery/v1/apis/drive/v2/rest\"],\n u = \"id,title,mimeType,userPermission,editable,copyable,shared,fileSize\",\n g = \"-------314159265358979323846\",\n h = \"\\r\\n--\" + g + \"\\r\\n\",\n m = \"\\r\\n--\" + g + \"--\",\n t = (document.getElementById(p.authorizeButton), document.getElementById(p.userArea));\n p.events || (p.events = {});\n function a() {\n gapi.client.init({\n apiKey: p.apiKey,\n clientId: p.clientId,\n discoveryDocs: e,\n scope: \"https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/drive.file https://www.googleapis.com/auth/drive.appdata\"\n }).then(function () {\n gapi.auth2.getAuthInstance().isSignedIn.listen(n), n(gapi.auth2.getAuthInstance().isSignedIn.get()), function t(e) {\n !gapi.auth2.getAuthInstance().isSignedIn.get() || gapi.auth.getToken() !== undefined && gapi.auth.getToken().access_token === undefined ? Promise.resolve(gapi.auth2.getAuthInstance().signIn()).then(function () {\n o();\n }) : o();\n }();\n }, function (e) {\n p.events.onError(e);\n });\n }\n function n(e) {\n e && (t.style.display = \"block\");\n }\n function r(e) {\n var t = gapi.auth.getToken().access_token,\n a = i,\n n = \"https://docs.google.com/feeds/download/documents/export/Export?id=\" + a + \"&format=docx&access_token=\" + t,\n r = new XMLHttpRequest();\n r.open(\"get\", n), r.responseType = \"arraybuffer\", r.onload = function () {\n var e = new Blob([new Uint8Array(this.response)], {\n type: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\n }),\n t = I.get(p.fileIndex);\n e.name = t.name, e.lastModified = t.lastModified, e.lastModifiedDate = t.lastModifiedDate, I.set(p.fileIndex, e), R.filesManager.upload(e, O, w, p.fileIndex), l();\n }, r.send();\n }\n function o(e) {\n !function n(e) {\n for (var t = document.getElementsByClassName(\"fr-doc-edit-\".concat(e)), a = 0; a < t.length; a++) t[a].setAttribute(\"disabled\", !0), t[a].classList.add(\"fr-disabled\");\n }(p.fileIndex);\n var t = p.file;\n t ? function a(c, d) {\n var f = new FileReader();\n f.readAsArrayBuffer(c), f.onload = function (e) {\n for (var t = {\n title: c.name,\n mimeType: \"application/vnd.google-apps.document\"\n }, a = \"\", n = new Uint8Array(f.result), r = n.byteLength, i = 0; i < r; i++) a += String.fromCharCode(n[i]);\n var o = btoa(a),\n s = h + \"Content-Type: application/json; charset=UTF-8\\r\\n\\r\\n\" + JSON.stringify(t) + h + \"Content-Type: application/octet-stream\\r\\nContent-Transfer-Encoding: base64\\r\\n\\r\\n\" + o + m,\n l = gapi.client.request({\n path: \"/upload/drive/v2/files\",\n method: \"POST\",\n params: {\n uploadType: \"multipart\",\n fields: u\n },\n headers: {\n \"Content-Type\": 'multipart/related; boundary=\"' + g + '\"',\n \"Content-Length\": s.Length\n },\n body: s\n });\n d || (d = function (e) {}), l.execute(function (e, t) {\n e.error ? p.events.onError(e.error) : d(e);\n });\n };\n }(t, s) : p.events.onInvalidFile(\"File is not selected\");\n }\n function s(e) {\n i = e.id;\n var t = \"https://docs.google.com/document/d/\" + e.id + \"/edit\",\n a = R.o_doc.body,\n n = R.o_doc.createElement(\"div\");\n n.setAttribute(\"id\", \"editDocContainer\"), n.style.cssText = \"position: fixed; top: 0;left: 0;padding: 0;width: 100%;height: 100%;background: rgba(255,255,255,1);z-index: 9998;display:block\", n.innerHTML = '<div style=\"margin-top:25px; text-align:center\"><label>Sign Out : </label><input type=\"checkbox\" id =\"markSignOut\" role=\"button\"/> <button id=\"signout_button\" class=\"fr-trim-button\" >Save </button> <button id=\"cancel_file_edit\" class=\"fr-trim-button\">Cancel</button></div> <iframe title=\"Edit your file\" frameBorder=\"0\" width=\"100%\" height=\"700px\" src=\"' + t + '\"></iframe>', a.appendChild(n), document.getElementById(\"signout_button\").onclick = r, document.getElementById(\"cancel_file_edit\").onclick = l;\n }\n function l() {\n document.getElementById(\"markSignOut\").checked && gapi.auth2.getAuthInstance().signOut().then(function () {\n gapi.auth.getToken() && (gapi.auth.getToken().access_token = undefined);\n });\n var e = document.getElementById(\"editDocContainer\");\n e.parentNode.removeChild(e), document.getElementById(\"user_area-\".concat(p.fileIndex)) && (document.getElementById(\"user_area-\".concat(p.fileIndex)).style.display = \"none\"), function n(e) {\n for (var t = document.getElementsByClassName(\"fr-doc-edit-\".concat(e)), a = 0; a < t.length; a++) t[a].removeAttribute(\"disabled\"), t[a].classList.remove(\"fr-disabled\");\n }(p.fileIndex);\n }\n p.events.onInvalidFile = p.events.onInvalidFile || function (e) {}, p.events.onError = p.events.onError || function (e) {};\n var c = {};\n return c.handleClientLoad = function () {\n gapi.load(\"client:auth2\", a);\n }, c;\n }(r), function i(e, t) {\n var n = function n(e, t) {\n var a = document.createElement(\"script\");\n a.src = e, a.onload = function () {\n this.onload = function () {}, ce.handleClientLoad();\n }, a.onreadystatechange = function () {\n \"complete\" === this.readyState && this.onload();\n }, (document.getElementsByTagName(\"head\")[0] || document.body).appendChild(a);\n };\n !function a() {\n 0 != e.length ? n(e.shift(), a) : t && t();\n }();\n }([\"https://apis.google.com/js/api.js\"], function () {});\n }\n t && (p = !0);\n }\n function Re(e) {\n var a;\n if (\"\" != e.type) return e.type;\n if (e.name && e.name.endsWith(\".msg\")) return a = \"application/vnd.ms-outlook\";\n var n = /(?:\\.([^.]+))?$/.exec(e.name)[1];\n return [[\".doc\", \"application/msword\"], [\".docx\", \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"], [\".gif\", \"image/gif\"], [\".jpeg\", \"image/jpeg\"], [\".jpg\", \"image/jpeg\"], [\".txt\", \"text/plain\"], [\".log\", \"type/text\"], [\".mov\", \"video/quicktime\"], [\".mp3\", \"audio/mpeg\"], [\".mp4\", \"video/mp4\"], [\".ogg\", \"audio/ogg\"], [\".ogv\", \"video/ogg\"], [\".pdf\", \"application/pdf\"], [\".png\", \"image/png\"], [\".webm\", \"video/webm\"], [\".webp\", \"image/webp\"], [\".wmv\", \"video/x-ms-wmv\"], [\".xls\", \"application/vnd.ms-excel\"], [\".xlsx\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"], [\".zip\", \"application/x-zip-compressed\"], [\".hex\", \"application/octet-stream\"]].forEach(function (e, t) {\n e[0] == \".\".concat(n) && (a = e[1]);\n }), a;\n }\n function Le(s, e) {\n if (De(Re(O.get(s))) || !Ue(Re(O.get(s)))) {\n var t,\n a = O.get(s).link,\n n = O.get(s).text,\n r = O.get(s).data;\n !n && I.get(s) && I.get(s).name && (n = I.get(s).name);\n var i = O.get(s).response;\n R.edit.on(), R.events.focus(!0), R.selection.restore(), R.opts.fileUseSelectedText && R.selection.text().length && (n = R.selection.text());\n var o = '<a href=\"'.concat(a, '\" target=\"_blank\" id=\"fr-inserted-file\" ');\n if (void 0 !== r) for (t in r) r.hasOwnProperty(t) && \"link\" != t && (o += \"\".concat(t, '=\"').concat(r[t], '\" '));\n -1 == o.indexOf(' class=\"') && (o += 'class=\"fr-file\" '), o += \">\".concat(n, \"</a>\"), R.html.insert(o);\n var l = R.$el.find(\"#fr-inserted-file\");\n l.removeAttr(\"id\"), R.undo.saveStep(), function T() {\n var e,\n t = Array.prototype.slice.call(R.el.querySelectorAll(\"a.fr-file\")),\n a = [];\n for (e = 0; e < t.length; e++) a.push(t[e].getAttribute(\"href\"));\n if (le) for (e = 0; e < le.length; e++) a.indexOf(le[e].getAttribute(\"href\")) < 0 && R.events.trigger(\"file.unlink\", [le[e]]);\n le = t;\n }(), R.selection.clear(), R.selection.setAfter(l), R.events.trigger(\"file.inserted\", [l, i]), ke(e);\n }\n if (Ne(Re(O.get(s))) && Ue(Re(O.get(s)))) {\n var c = O.get(s).link,\n d = O.get(s).sanitize,\n f = O.get(s).data,\n p = O.get(s).$existing_img,\n u = O.get(s).response;\n p && \"string\" == typeof p && (p = R.$(p)), R.edit.off(), ee(R.language.translate(\"Loading image\")), d && (c = R.helpers.sanitizeURL(c));\n var g = new Image();\n g.onload = function () {\n var e, t;\n if (p) {\n R.undo.canDo() || p.hasClass(\"fr-uploading\") || R.undo.saveStep();\n var a = p.data(\"fr-old-src\");\n p.data(\"fr-image-pasted\") && (a = null), R.$wp ? ((e = p.clone().removeData(\"fr-old-src\").removeClass(\"fr-uploading\").removeAttr(\"data-fr-image-pasted\")).off(\"load\"), a && p.attr(\"src\", a), p.replaceWith(e)) : e = p;\n for (var n = e.get(0).attributes, r = 0; r < n.length; r++) {\n var i = n[r];\n 0 === i.nodeName.indexOf(\"data-\") && e.removeAttr(i.nodeName);\n }\n if (void 0 !== f) for (t in f) f.hasOwnProperty(t) && \"link\" != t && e.attr(\"data-\".concat(t), f[t]);\n e.on(\"load\", Ce), e.attr(\"src\", c), R.edit.on(), R.undo.saveStep(), R.events.disableBlur(), R.$el.blur(), R.events.trigger(a ? \"image.replaced\" : \"image.inserted\", [e, u]);\n } else e = function s(e, t, a) {\n var n,\n r = x(document.createElement(\"img\")).attr(\"src\", e);\n if (t && void 0 !== t) for (n in t) t.hasOwnProperty(n) && \"link\" != n && (\" data-\".concat(n, '=\"').concat(t[n], '\"'), r.attr(\"data-\".concat(n), t[n]));\n var i = R.opts.imageDefaultWidth;\n i && \"auto\" != i && (i = R.opts.imageResizeWithPercent ? \"100%\" : \"\".concat(i, \"px\"));\n r.attr(\"style\", i ? \"width: \".concat(i, \";\") : \"\"), ot(r, R.opts.imageDefaultDisplay, R.opts.imageDefaultAlign), r.on(\"load\", a), r.on(\"error\", a), R.edit.on(), R.events.focus(!0), R.selection.restore(), R.undo.saveStep(), R.opts.imageSplitHTML ? R.markers.split() : R.markers.insert();\n R.html.wrap();\n var o = R.$el.find(\".fr-marker\");\n o.length ? (o.parent().is(\"hr\") && o.parent().after(o), R.node.isLastSibling(o) && o.parent().hasClass(\"fr-deletable\") && o.insertAfter(o.parent()), o.replaceWith(r)) : R.$el.append(r);\n return r;\n }(c, f, Ce), R.undo.saveStep(), R.events.disableBlur(), R.$el.blur(), R.events.trigger(\"image.inserted\", [e, u]);\n }, g.onerror = function () {\n j(N, null, null, s), ke(e);\n }, g.src = c;\n }\n if ((Pe(Re(O.get(s))) || Be(Re(O.get(s)))) && Ue(Re(O.get(s)))) if (L = s, \"video/url\" == Re(O.get(s))) {\n var h = !1;\n if (document.getElementById(\"fr-file-autoplay-button-\" + s) !== undefined && (h = document.getElementById(\"fr-file-autoplay-button-\" + s).checked), h && O.get(s) !== undefined && -1 < O.get(s).video.indexOf(\"iframe\") && O.get(s).video.indexOf(\"autoplay=1\") < 0) {\n var m = O.get(s).video.substring(O.get(s).video.indexOf(\"src\") + 3),\n v = \"&\";\n (m = (m = m.substring(m.indexOf('\"') + 1)).substring(0, m.indexOf('\"'))).indexOf(\"?\") < 0 && (v = \"?\"), O.get(s).video = O.get(s).video.replace(m, m += v + \"autoplay=1&mute=1\");\n } else !h && O.get(s).video.indexOf(!1) && (-1 < O.get(s).video.indexOf(\"&autoplay=1\") && (O.get(s).video = O.get(s).video.replace(\"&autoplay=1\", \"\")), -1 < O.get(s).video.indexOf(\"?autoplay=1\") && (O.get(s).video = O.get(s).video.replace(\"?autoplay=1\", \"\")));\n R.events.focus(!0), R.selection.restore(), R.html.insert('<span contenteditable=\"false\" draggable=\"true\" class=\"fr-jiv fr-video fr-deletable\">'.concat(O.get(s).video, \"</span>\"), !1, R.opts.videoSplitHTML), R.popups.hide(\"filesManager.insert\");\n var b = R.$el.find(\".fr-jiv\");\n b.removeClass(\"fr-jiv\"), b.toggleClass(\"fr-rv\", R.opts.videoResponsive), function k(e, t, a) {\n !R.opts.htmlUntouched && R.opts.useClasses ? (e.removeClass(\"fr-fvl fr-fvr fr-dvb fr-dvi\"), e.addClass(\"fr-fv\".concat(a[0], \" fr-dv\").concat(t[0]))) : \"inline\" == t ? (e.css({\n display: \"inline-block\"\n }), \"center\" == a ? e.css({\n \"float\": \"none\"\n }) : \"left\" == a ? e.css({\n \"float\": \"left\"\n }) : e.css({\n \"float\": \"right\"\n })) : (e.css({\n display: \"block\",\n clear: \"both\"\n }), \"left\" == a ? e.css({\n textAlign: \"left\"\n }) : \"right\" == a ? e.css({\n textAlign: \"right\"\n }) : e.css({\n textAlign: \"center\"\n }));\n }(b, R.opts.videoDefaultDisplay, R.opts.videoDefaultAlign), b.toggleClass(\"fr-draggable\", R.opts.videoMove), R.events.trigger(\"video.inserted\", [b]), Ce.call(b);\n } else {\n var E = O.get(s).link,\n _ = O.get(s).sanitize,\n w = O.get(s).data,\n y = O.get(s).$existing_img,\n A = O.get(s).response;\n R.edit.off(), _ && (E = R.helpers.sanitizeURL(E)), function S() {\n var e, t;\n if (y) {\n R.undo.canDo() || y.find(\"video\").hasClass(\"fr-uploading\") || R.undo.saveStep();\n var a = y.find(\"video\").data(\"fr-old-src\"),\n n = y.data(\"fr-replaced\");\n y.data(\"fr-replaced\", !1), R.$wp ? ((e = y.clone(!0)).find(\"video\").removeData(\"fr-old-src\").removeClass(\"fr-uploading\"), e.find(\"video\").off(\"canplay\"), a && y.find(\"video\").attr(\"src\", a), y.replaceWith(e)) : e = y;\n for (var r = e.find(\"video\").get(0).attributes, i = 0; i < r.length; i++) {\n var o = r[i];\n 0 === o.nodeName.indexOf(\"data-\") && e.find(\"video\").removeAttr(o.nodeName);\n }\n if (void 0 !== w) for (t in w) w.hasOwnProperty(t) && \"link\" != t && e.find(\"video\").attr(\"data-\".concat(t), w[t]);\n e.find(\"video\").on(\"canplay\", Ce), e.find(\"video\").attr(\"src\", E), R.edit.on(), Te(), R.undo.saveStep(), R.$el.blur(), R.events.trigger(n ? \"video.replaced\" : \"video.inserted\", [e, A]);\n } else e = function u(e, t, a, n, r) {\n var i,\n o = \"\";\n if (t && void 0 !== t) for (i in t) t.hasOwnProperty(i) && \"link\" != i && (o += \" data-\".concat(i, '=\"').concat(t[i], '\"'));\n var s,\n l = R.opts.videoDefaultWidth;\n l && \"auto\" != l && (l = \"\".concat(l, \"px\"));\n if (Be(n)) s = x(document.createElement(\"span\")).attr(\"contenteditable\", \"false\").attr(\"draggable\", \"true\").attr(\"class\", \"fr-video fr-dv\" + R.opts.videoDefaultDisplay[0] + (\"center\" != R.opts.videoDefaultAlign ? \" fr-fv\" + R.opts.videoDefaultAlign[0] : \"\")).html('<audio src=\"' + e + '\" ' + o + \" controls>\" + R.language.translate(\"Your browser does not support HTML5 video.\") + \"</audio>\");else {\n var c = \"\",\n d = document.getElementById(\"fr-file-autoplay-button-\" + r).checked;\n d && (c = \"autoplay\"), s = x(document.createElement(\"span\")).attr(\"contenteditable\", \"false\").attr(\"draggable\", \"true\").attr(\"class\", \"fr-video fr-dv\" + R.opts.videoDefaultDisplay[0] + (\"center\" != R.opts.videoDefaultAlign ? \" fr-fv\" + R.opts.videoDefaultAlign[0] : \"\")).html('<video src=\"' + e + '\" ' + o + (l ? ' style=\"width: ' + l + ';\" ' : \"\") + c + \" controls>\" + R.language.translate(\"Your browser does not support HTML5 video.\") + \"</video>\");\n }\n s.toggleClass(\"fr-draggable\", R.opts.videoMove), R.edit.on(), R.events.focus(!0), R.selection.restore(), R.undo.saveStep(), R.opts.videoSplitHTML ? R.markers.split() : R.markers.insert();\n R.html.wrap();\n var f = R.$el.find(\".fr-marker\");\n R.node.isLastSibling(f) && f.parent().hasClass(\"fr-deletable\") && f.insertAfter(f.parent());\n f.replaceWith(s);\n var p = \"\";\n p = Be(n) ? \"audio\" : \"video\", s.find(p).get(0).readyState > s.find(p).get(0).HAVE_FUTURE_DATA || R.helpers.isIOS() ? a.call(s.find(p).get(0)) : (s.find(p).on(\"canplaythrough load\", a), s.find(p).on(\"error\", a));\n return s;\n }(E, w, Ce, Re(O.get(s)), s), Te(), R.undo.saveStep(), R.events.trigger(\"video.inserted\", [e, A]);\n }();\n }\n R.popups.hide(\"filesManager.insert\"), F[\"delete\"](s);\n var C = R.popups.get(\"filesManager.insert\");\n C.find(\"input.fr-insert-attr.fr-checkbox-file-\".concat(s))[0].checked = !1, C.find(\".fr-file-\" + s).get(0).classList.add(\"fr-unchecked\"), q(), document.getElementById(\"fr-file-autoplay-button-\" + s) && (document.getElementById(\"fr-file-autoplay-button-\" + s).checked = !1), M = M.filter(function (e) {\n return e != s;\n });\n }\n function xe(e, t) {\n try {\n if (!1 === R.events.trigger(\"filesManager.uploaded\", [e], !0)) return R.edit.on(), !1;\n var a = JSON.parse(e);\n return a.link ? a : (j(m, e, null, t), !1);\n } catch (n) {\n return j(S, e, null, t), !1;\n }\n }\n function Ie(e, t) {\n try {\n var a = x(e).find(\"Location\").text(),\n n = x(e).find(\"Key\").text();\n return !1 === R.events.trigger(\"filesManager.uploadedToS3\", [a, n, e], !0) ? (R.edit.on(), !1) : a;\n } catch (r) {\n return j(S, e, null, t), !1;\n }\n }\n function Oe(e, t, a, n) {\n if (-1 < U.indexOf(Re(e)) || !Re(e)) return j(P, null, null, n), !1;\n if (!1 === R.events.trigger(\"filesManager.beforeUpload\", [t])) return !1;\n if (!(null !== R.opts.filesManagerUploadURL && R.opts.filesManagerUploadURL != y || R.opts.filesManagerUploadToS3 || R.opts.filesManagerUploadToAzure)) return function E(s, l, c) {\n var d = new FileReader();\n d.onload = function () {\n var e = d.result;\n if (d.result.indexOf(\"svg+xml\") < 0) {\n for (var t = atob(d.result.split(\",\")[1]), a = [], n = 0; n < t.length; n++) a.push(t.charCodeAt(n));\n if (e = window.URL.createObjectURL(new Blob([new Uint8Array(a)], {\n type: Re(l)\n })), Ne(Re(l))) {\n var r = {\n link: e,\n sanitize: !1,\n data: null,\n $existing_img: c,\n response: null,\n type: Re(l)\n };\n O.set(s, r);\n }\n if (De(Re(l))) {\n var i = {\n link: e,\n text: l.name,\n response: null,\n type: Re(l)\n };\n O.set(s, i);\n }\n if (Pe(Re(l)) || Be(Re(l))) {\n var o = {\n link: e,\n sanitize: !1,\n data: null,\n $existing_img: c,\n type: Re(l)\n };\n O.set(s, o);\n }\n }\n }, d.readAsDataURL(l);\n }(n, e), !1;\n if (Ne(Re(e)) && (e.name || (e.name = new Date().getTime() + \".\" + (Re(e) || \"image/jpeg\").replace(/image\\//g, \"\"))), e.size > R.opts.filesManagerMaxSize) return j(D, null, null, n), !1;\n if (R.opts.filesManagerAllowedTypes.indexOf(\"*\") < 0 && R.opts.filesManagerAllowedTypes.indexOf(Re(e)) < 0) return j(P, null, null, n), !1;\n var r;\n if (function _(e) {\n isNaN(e) || (R.popups.get(\"filesManager.insert\").find(\".fr-file-item-right-\" + e).get(0).innerHTML = '<div class=\\'fr-file-item-action-buttons\\' >\\n <button type=\"button\" id=\"fr-file-cancel-upload-button-'.concat(e, '\" class=\"fr-img-icon fr-btn fr-command fr-submit fr-file-action-icons \\n fr-file-button-').concat(e, ' fr-file-cancel-upload-button\" data-cmd=\"cancelUpload\" data-title=\"Cancel\" data-param1=\"').concat(e, '\" role=\"button\">\\n <svg style=\\'margin:0px !important; opacity:0.9\\' class = \"fr-svg\" focusable=\"false\" width=\"16px\" height=\"16px\" viewBox = \"-2 3 30 30\" xlmns = \"http://w3.org/200/svg\"><path d = \\'M13.4,12l5.6,5.6L17.6,19L12,13.4L6.4,19L5,17.6l5.6-5.6L5,6.4L6.4,5l5.6,5.6L17.6,5L19,6.4L13.4,12z\\'></path></svg>\\n </button>\\n\\n <button type=\"button\" id=\"fr-upload-delete-button-').concat(e, '\" class=\"fr-img-icon fr-btn fr-command fr-submit fr-file-action-icons \\n fr-file-button-').concat(e, ' fr-upload-delete-button\" data-cmd=\"deleteUpload\" data-title=\"Delete\" data-param1=\"').concat(e, '\" role=\"button\">\\n <svg style=\\'margin:0px !important; opacity:0.9\\' class = \"fr-svg\" focusable=\"false\" width=\"16px\" height=\"16px\" viewBox = \"-2 3 30 30\" xlmns = \"http://w3.org/200/svg\"><path d = \\'M15,10v8H9v-8H15 M14,4H9.9l-1,1H6v2h12V5h-3L14,4z M17,8H7v10c0,1.1,0.9,2,2,2h6c1.1,0,2-0.9,2-2V8z\\'></path></svg>\\n </button>\\n\\n <div class=\\'progress-circle p0 fr-file-progress-circle-').concat(e, \"'>\\n <span class='fr-file-upload-percent-\").concat(e, \" fr-file-upload-percent'>0%</span>\\n <div class='left-half-clipper'>\\n <div class='first50-bar'></div>\\n <div class='value-bar'></div>\\n </div>\\n </div>\\n </div>\"), C.set(e, 0));\n }(n), R.drag_support.formdata && (r = R.drag_support.formdata ? new FormData() : null), r) {\n var i;\n if (!1 !== R.opts.filesManagerUploadToS3) for (i in r.append(\"key\", R.opts.filesManagerUploadToS3.keyStart + new Date().getTime() + \"-\" + (e.name || \"untitled\")), r.append(\"success_action_status\", \"201\"), r.append(\"X-Requested-With\", \"xhr\"), r.append(\"Content-Type\", Re(e)), R.opts.filesManagerUploadToS3.params) R.opts.filesManagerUploadToS3.params.hasOwnProperty(i) && r.append(i, R.opts.filesManagerUploadToS3.params[i]);\n for (i in R.opts.filesManagerUploadParams) R.opts.filesManagerUploadParams.hasOwnProperty(i) && r.append(i, R.opts.filesManagerUploadParams[i]);\n r.append(R.opts.filesManagerUploadParam, e, e.name);\n var o,\n s,\n l = R.opts.filesManagerUploadURL;\n R.opts.filesManagerUploadToS3 && (l = R.opts.filesManagerUploadToS3.uploadURL ? R.opts.filesManagerUploadToS3.uploadURL : \"https://\".concat(R.opts.filesManagerUploadToS3.region, \".amazonaws.com/\").concat(R.opts.filesManagerUploadToS3.bucket)), R.opts.filesManagerUploadToAzure && (l = R.opts.filesManagerUploadToAzure.uploadURL ? \"\".concat(R.opts.filesManagerUploadToAzure.uploadURL, \"/\").concat(e.name) : encodeURI(\"https://\".concat(R.opts.filesManagerUploadToAzure.account, \".blob.core.windows.net/\").concat(R.opts.filesManagerUploadToAzure.container, \"/\").concat(e.name)), o = l, R.opts.filesManagerUploadToAzure.SASToken && (l += R.opts.filesManagerUploadToAzure.SASToken), R.opts.filesManagerUploadMethod = \"PUT\");\n var c = R.core.getXHR(l, R.opts.filesManagerUploadMethod);\n if (R.opts.filesManagerUploadToAzure) {\n var d = new Date().toUTCString();\n if (!R.opts.filesManagerUploadToAzure.SASToken && R.opts.filesManagerUploadToAzure.accessKey) {\n var f = R.opts.filesManagerUploadToAzure.account,\n p = R.opts.filesManagerUploadToAzure.container;\n if (R.opts.filesManagerUploadToAzure.uploadURL) {\n var u = R.opts.filesManagerUploadToAzure.uploadURL.split(\"/\");\n p = u.pop(), f = u.pop().split(\".\")[0];\n }\n var g = \"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(d, \"\\nx-ms-version:2019-07-07\"),\n h = encodeURI(\"/\" + f + \"/\" + p + \"/\" + e.name),\n m = R.opts.filesManagerUploadMethod + \"\\n\\n\\n\" + e.size + \"\\n\\n\" + Re(e) + \"\\n\\n\\n\\n\\n\\n\\n\" + g + \"\\n\" + h,\n v = R.cryptoJSPlugin.cryptoJS.HmacSHA256(m, R.cryptoJSPlugin.cryptoJS.enc.Base64.parse(R.opts.filesManagerUploadToAzure.accessKey)).toString(R.cryptoJSPlugin.cryptoJS.enc.Base64),\n b = \"SharedKey \" + f + \":\" + v;\n s = v, c.setRequestHeader(\"Authorization\", b);\n }\n for (i in c.setRequestHeader(\"x-ms-version\", \"2019-07-07\"), c.setRequestHeader(\"x-ms-date\", d), c.setRequestHeader(\"Content-Type\", Re(e)), c.setRequestHeader(\"x-ms-blob-type\", \"BlockBlob\"), R.opts.filesManagerUploadParams) R.opts.filesManagerUploadParams.hasOwnProperty(i) && c.setRequestHeader(i, R.opts.filesManagerUploadParams[i]);\n for (i in R.opts.filesManagerUploadToAzure.params) R.opts.filesManagerUploadToAzure.params.hasOwnProperty(i) && c.setRequestHeader(i, R.opts.filesManagerUploadToAzure.params[i]);\n }\n c.onload = function () {\n De(Re(e)) ? function g(e, t, a, n, r) {\n var i = this.status,\n o = this.response,\n s = this.responseXML,\n l = this.responseText;\n try {\n if (R.opts.filesManagerUploadToS3 || R.opts.filesManagerUploadToAzure) {\n if (201 === i) {\n var c;\n if (R.opts.filesManagerUploadToAzure) {\n if (!1 === R.events.trigger(\"filesManager.uploadedToAzure\", [this.responseURL, r, o], !0)) return R.edit.on(), !1;\n c = n;\n } else c = Ie(s, t);\n if (c) {\n var d = {\n link: c,\n text: e,\n response: o,\n type: a\n };\n O.set(t, d);\n }\n } else j(S, o || s, null, t);\n } else if (200 <= i && i < 300) {\n var f = xe(l, t);\n if (f) {\n var p = {\n link: f.link,\n text: e,\n response: o,\n type: a,\n data: f\n };\n O.set(t, p);\n }\n } else j(k, o || l, null, t);\n } catch (u) {\n j(S, o || l, null, t);\n }\n }.call(c, e.name, n, Re(e), o, s) : function h(e, t, a, n, r) {\n var i = this.status,\n o = this.response,\n s = this.responseXML,\n l = this.responseText;\n try {\n if (R.opts.filesManagerUploadToS3 || R.opts.filesManagerUploadToAzure) {\n if (201 == i) {\n var c;\n if (R.opts.filesManagerUploadToAzure) {\n if (!1 === R.events.trigger(\"filesManager.uploadedToAzure\", [this.responseURL, r, o], !0)) return R.edit.on(), !1;\n c = n;\n } else c = Ie(s, t);\n if (c) {\n var d = {\n link: c,\n sanitize: !1,\n data: [],\n $existing_img: e,\n response: o || s,\n type: a\n };\n O.set(t, d);\n }\n } else j(S, o || s, e, t);\n } else if (200 <= i && i < 300) {\n var f = xe(l, t);\n if (f) {\n var p = {\n link: f.link,\n sanitize: !1,\n data: f,\n $existing_img: e,\n response: o || s,\n type: a\n };\n O.set(t, p);\n }\n } else j(k, o || l, e, t);\n } catch (u) {\n j(S, o || l, e, t);\n }\n }.call(c, w, n, Re(e), o, s), T.has(n) || _e(100, n, !0);\n }, c.onerror = function () {\n j(S, this.response || this.responseText || this.responseXML, null, n);\n }, c.upload.onprogress = function (e) {\n !function a(e, t) {\n e.lengthComputable && _e(e.loaded / e.total * 100 | 0, t, !1);\n }(e, n);\n }, c.onabort = function (e) {\n !function a(e, t) {\n j(B, t, w, e);\n }(n, e);\n }, c.send(R.opts.filesManagerUploadToAzure ? e : r), A.set(n, c);\n }\n }\n function Fe(l) {\n R.events.$on(l, \"click\", \".fr-upload-progress-layer\", function (e) {\n if (R.helpers.isMobile()) return e.stopPropagation(), !1;\n }, !0), R.events.$on(l, \"dragover dragenter\", \".fr-upload-progress-layer\", function (e) {\n e.preventDefault();\n for (var t = 0; t < e.originalEvent.dataTransfer.types.length; t++) \"Files\" == e.originalEvent.dataTransfer.types[t] && (e.originalEvent.dataTransfer.dropEffect = \"none\");\n return !1;\n }, !0), R.events.$on(l, \"dragleave dragend\", \".fr-upload-progress-layer\", function (e) {\n return e.preventDefault(), !1;\n }, !0), R.events.$on(l, \"dragover dragenter\", \".fr-files-upload-layer\", function (e) {\n return x(this).addClass(\"fr-drop\"), (R.browser.msie || R.browser.edge) && e.preventDefault(), !1;\n }, !0), R.events.$on(l, \"dragleave dragend\", \".fr-files-upload-layer\", function (e) {\n return x(this).removeClass(\"fr-drop\"), (R.browser.msie || R.browser.edge) && e.preventDefault(), !1;\n }, !0), R.events.$on(l, \"click\", \".fr-insert-checkbox\", function (e) {\n if (this.classList.contains(\"fr-checkbox-disabled\")) return this.children.target.disabled = !0, void (this.children.target.checked = !1);\n var t = parseInt(this.id.split(\"-\").pop());\n F.set(t, this.children.target.checked);\n for (var a = l.find('.fr-command[data-cmd=\"insertAll\"]'), n = l.find('.fr-command[data-cmd=\"deleteAll\"]'), r = l.find('input.fr-file-insert-check[type=\"checkbox\"]'), i = r.length, o = !0, s = 0; s < i; s++) 1 == r[s].checked && (o = !1);\n if (o ? a.addClass(\"fr-disabled\") : a.removeClass(\"fr-disabled\"), o ? n.addClass(\"fr-disabled\") : n.removeClass(\"fr-disabled\"), this.children.target.checked) l.find(\".fr-file-\" + this.id.split(\"-\").pop()).get(0).setAttribute(\"draggable\", \"true\"), l.find(\".fr-file-\" + this.id.split(\"-\").pop()).get(0).classList.remove(\"fr-unchecked\");else {\n this.id.split(\"-\").pop();\n l.find(\".fr-file-\" + this.id.split(\"-\").pop()).get(0).setAttribute(\"draggable\", \"false\"), l.find(\".fr-file-\" + this.id.split(\"-\").pop()).get(0).classList.add(\"fr-unchecked\");\n }\n }), R.events.$on(l, \"click\", \".fr-file-insert-button\", function (e) {\n this.classList.contains(\"fr-disabled\") || Le(parseInt(this.id.split(\"-\").pop()));\n }), R.events.$on(l, \"click\", \".fr-file-autoplay-button\", function (e) {\n if (this.parentNode.classList.contains(\"fr-checkbox-disabled\")) return this.disabled = !0, void (this.checked = !1);\n Me(parseInt(this.id.split(\"-\").pop()));\n }), R.events.$on(l, \"click\", \".fr-file-edit-button\", function (e) {\n var t = parseInt(this.id.split(\"-\").pop());\n l.find(\".fr-file-edit-button-\".concat(t)).hasClass(\"fr-disabled\") || Se(t);\n }), R.events.$on(l, \"click\", \".fr-file-view-button\", function (e) {\n var t = parseInt(this.id.split(\"-\").pop());\n l.find(\".fr-file-view-button-\".concat(t)).hasClass(\"fr-disabled\") || function v(e) {\n if (!Ue(Re(O.get(e)))) {\n var t = O.get(e).link,\n a = O.get(e).link;\n if (I.get(e) && I.get(e).name ? a = I.get(e).name : O.get(e).text && (a = O.get(e).text), 0 === t.indexOf(\"blob:\") && R.browser.msie && window.navigator && window.navigator.msSaveBlob) window.navigator.msSaveBlob(I.get(e), a);else {\n var n = document.createElement(\"a\");\n n.href = t, n.download = a, n.click();\n }\n return !1;\n }\n var r = R.popups.get(\"filesManager.insert\");\n if (0 < r.find(\".fr-file-view-image-\" + e).length) r.find(\".fr-file-view-image-\" + e)[0].remove();else {\n for (var i = r.find(\".fr-file-view\"), o = 0; o < i.length; o++) i.get(o).remove();\n var s = r.find(\".fr-file-view-\" + e);\n if (Ne(Re(O.get(e)))) {\n var l = '<div class=\"fr-file-view-modal\">\\n <div class=\"fr-file-view-modal-content\">\\n <div class=\"fr-file-view-close\">×</div> \\n <img src=\"' + O.get(e).link + \"\\\" class ='fr-file-view-image'/>\\n </div>\\n </div>\";\n s[0].innerHTML = l + s[0].innerHTML;\n } else if (Pe(Re(O.get(e)))) {\n var c;\n if (O.get(e).hasOwnProperty(\"video\")) {\n var d = O.get(e).video.substring(O.get(e).video.indexOf(\"src\") + 3),\n f = d.substring(d.indexOf('\"') + 1);\n f = f.substring(0, f.indexOf('\"')), c = '<div class=\"fr-file-view-modal\">\\n <div class=\"fr-file-view-modal-content \">\\n <div class=\"fr-file-view-close\">×</div> \\n <iframe width=\"640\" height=\"360\" src=\"'.concat(f + \"&autoplay=1&mute=1\", '\" allow=\"autoplay\" frameborder=\"0\" class = \"fr-file-view-image\"></iframe>\\n </div>\\n </div>');\n } else c = '<div class=\"fr-file-view-modal\">\\n <div class=\"fr-file-view-modal-content \">\\n <div class=\"fr-file-view-close\">×</div> \\n <video controls src=\"' + O.get(e).link + \"\\\" class ='fr-file-view-image' autoplay></video>\\n </div>\\n </div>\";\n s[0].innerHTML = c + s[0].innerHTML;\n } else if (Be(Re(O.get(e)))) {\n var p = '<div class=\"fr-file-view-modal\">\\n <div class=\"fr-file-view-modal-content \">\\n <div class=\"fr-file-view-close\">×</div> \\n <audio controls=\"controls\" class =\\'fr-file-view-image\\' autoplay>\\n\\n <source src=\"'.concat(O.get(e).link, '\" type=\"').concat(Re(O.get(e)), '\" />\\n\\n Your browser does not support the audio element.\\n </audio>\\n </div>\\n </div>');\n s[0].innerHTML = p + s[0].innerHTML;\n } else if (De(Re(O.get(e)))) {\n var u = O.get(e).link,\n g = O.get(e).text;\n if (u.endsWith(\".pdf\") || u.endsWith(\".txt\")) {\n var h = '<div class=\"fr-file-view-modal\">\\t\\n <div class=\"fr-file-view-modal-content \" >\\t\\n <div class=\"fr-file-view-close\">×</div> \\t\\n <iframe src=\"'.concat(u, \"\\\" style='background-color: white;' height='50%' width='50%' title=\\\"\").concat(g, '\" class=\"fr-file fr-file-view-image\"></iframe>\\t\\n </div>\\t\\n </div>');\n s[0].innerHTML = h + s[0].innerHTML;\n } else if (0 === u.indexOf(\"blob:\") && R.browser.msie && window.navigator && window.navigator.msSaveBlob) window.navigator.msSaveBlob(I.get(e), g);else {\n var m = document.createElement(\"a\");\n m.href = u, m.download = g, m.click();\n }\n }\n }\n }(t);\n }), R.events.$on(l, \"click\", \".fr-file-delete-button\", function (e) {\n X(parseInt(this.id.split(\"-\").pop()));\n }), R.events.$on(l, \"click\", \".fr-file-cancel-upload-button\", function (e) {\n !function a(e) {\n var t = R.popups.get(\"filesManager.insert\");\n t.find(\".fr-file-item-right-\" + e).get(0).innerHTML = Ee(e), A.get(e).abort(), we(e, 100, !0), t.find(\".fr-checkbox-file-\" + e).get(0).disabled = !0;\n }(parseInt(this.id.split(\"-\").pop()));\n }), R.events.$on(l, \"click\", \".fr-upload-delete-button\", function (e) {\n !function t(e) {\n 0 != A.get(e).readyState && (A.get(e).abort(), we(e, 100, !0), A[\"delete\"](e)), X(e);\n }(parseInt(this.id.split(\"-\").pop()));\n }), R.events.$on(l, \"click\", \".fr-file-view-close\", function (e) {\n l.find(\".fr-file-view-modal\").get(0).outerHTML = \"\";\n }), R.events.$on(l, \"click\", \".fr-plugins-enable\", function (e) {\n !function t() {\n h.forEach(function (e) {\n R.opts.pluginsEnabled.indexOf(e) < 0 && R.opts.pluginsEnabled.push(e);\n });\n }(), function a(e) {\n for (var t in e) if (!R[t]) {\n if (St.PLUGINS[t] && R.opts.pluginsEnabled.indexOf(t) < 0) continue;\n R[t] = new e[t](R), R[t]._init && R[t]._init();\n }\n }(St.PLUGINS), R.popups.get(\"filesManager.insert\").get(0).outerHTML = \"\", $e(), E(!0);\n }), R.events.$on(l, \"click\", \".fr-plugins-cancel\", function (e) {\n R.popups.hide(\"filesManager.insert\");\n }), R.events.$on(l, \"drop\", \".fr-upload-progress\", function (e) {\n e.preventDefault(), e.stopPropagation();\n }), R.events.$on(l, \"drop\", \".fr-files-upload-layer\", function (e) {\n e.preventDefault(), e.stopPropagation(), x(this).removeClass(\"fr-drop\");\n var t = e.originalEvent.dataTransfer;\n if (t && t.files) {\n var a = l.data(\"instance\") || R;\n a.events.disableBlur();\n for (var n = [], r = 0; r < t.files.length; r++) {\n var i = g;\n I.set(i, t.files[r]), me(i), F.set(i, !1), n.push(i), g++;\n }\n for (var o = 0; o < n.length; o++) a.filesManager.upload(I.get(n[o]), t.files, w, n[o]);\n a.events.enableBlur();\n }\n }, !0), R.helpers.isIOS() && R.events.$on(l, \"touchstart\", '.fr-files-upload-layer input[type=\"file\"]', function () {\n x(this).trigger(\"click\");\n }, !0), R.events.$on(l, \"change\", '.fr-files-upload-layer input[type=\"file\"]', function () {\n if (this.files) {\n var e = l.data(\"instance\") || R;\n e.events.disableBlur(), l.find(\"input:focus\").blur(), e.events.enableBlur();\n var t = [];\n if (\"undefined\" != typeof this.files && 0 < this.files.length) {\n for (var a = 0; a < this.files.length; a++) {\n var n = g;\n I.set(n, this.files[a]), me(n), F.set(n, !1), ++g, t.push(n);\n }\n for (var r = 0; r < t.length; r++) e.filesManager.upload(I.get(t[r]), this.files, w, t[r]);\n }\n }\n x(this).val(\"\");\n }, !0);\n }\n function Me(t) {\n document.getElementById(\"fr-file-autoplay-button-\" + t).checked ? M.push(t) : M = M.filter(function (e) {\n return e != t;\n });\n }\n function Ne(e) {\n return e && \"image\" === e.split(\"/\")[0];\n }\n function De(e) {\n return e && \"image\" != e.split(\"/\")[0] && e && \"video\" != e.split(\"/\")[0] && e && \"audio\" != e.split(\"/\")[0];\n }\n function Pe(e) {\n return e && \"video\" === e.split(\"/\")[0];\n }\n function Be(e) {\n return e && \"audio\" === e.split(\"/\")[0];\n }\n function Ue(e) {\n var t = \"audio/ogg\",\n a = \"video/ogg\";\n if (e == t || e == a || \"image/webp\" == e || \"video/webm\" == e) {\n if (R.browser.msie || R.browser.edge || R.browser.safari) return !1;\n if (R.helpers.isMobile()) {\n if (e == t || e == a) return !1;\n if (!R.helpers.isAndroid() && !R.browser.chrome) return !1;\n }\n }\n return !0;\n }\n function $e(e) {\n if (e) return R.popups.onRefresh(\"filesManager.insert\", b), R.popups.onHide(\"filesManager.insert\", $), !0;\n var t,\n a,\n n = \"\";\n R.opts.imageUpload || -1 === R.opts.filesInsertButtons.indexOf(\"filesUpload\") || R.opts.imageInsertButtons.splice(R.opts.filesInsertButtons.indexOf(\"filesUpload\"), 1);\n var r = R.button.buildList(R.opts.filesInsertButtons),\n i = R.button.buildList(R.opts.filesInsertButtons2);\n \"\" !== r && (n = '<div class=\"fr-buttons fr-tabs\">'.concat(r, '<span class=\"fr-align-right\">').concat(i, \"</span></div>\"));\n var o = R.opts.filesInsertButtons.indexOf(\"filesUpload\"),\n s = R.opts.filesInsertButtons.indexOf(\"filesByURL\"),\n l = R.opts.filesInsertButtons.indexOf(\"filesEmbed\"),\n c = \"\";\n 0 <= o && (t = \" fr-active\", 0 <= s && s < o && (t = \"\"), c = '<div class=\"fr-files-upload-layer'.concat(t, ' fr-layer \" id=\"fr-files-upload-layer-').concat(R.id, '\"><div style=\"display:flex\"><div class=\"fr-upload-section\"><div class = \\'fr-blue-decorator\\'><div class = \\'fr-cloud-icon\\'><svg class = \"fr-svg\" focusable=\"false\" width=\"26px\" height=\"26px\" viewBox = \"0 0 24 24\" xlmns = \"http://w3.org/200/svg\"><path d = \\'M12 6.66667a4.87654 4.87654 0 0 1 4.77525 3.92342l0.29618 1.50268 1.52794 0.10578a2.57021 2.57021 0 0 1 -0.1827 5.13478H6.5a3.49774 3.49774 0 0 1 -0.3844 -6.97454l1.06682 -0.11341L7.678 9.29387A4.86024 4.86024 0 0 1 12 6.66667m0 -2A6.871 6.871 0 0 0 5.90417 8.37 5.49773 5.49773 0 0 0 6.5 19.33333H18.41667a4.57019 4.57019 0 0 0 0.32083 -9.13A6.86567 6.86567 0 0 0 12 4.66667Zm0.99976 7.2469h1.91406L11.99976 9 9.08618 11.91357h1.91358v3H11V16h2V14h-0.00024Z\\'></path></svg></div>Drag & Drop One or More Files<br><div class=\"fr-decorated\"><span> OR </span></div> Click Browse Files </div> </div><div class=\"fr-form\"><input type=\"file\" accept=\"').concat(R.opts.filesManagerAllowedTypes.join(\",\").toLowerCase(), '\" tabIndex=\"-1\" aria - labelledby=\"fr-files-upload-layer-').concat(R.id, '\"role=\"button\" multiple></div> </div></div>'));\n var d = \"\";\n 0 <= l && (t = \" fr-active\", (o < l && 0 <= o || s < l && 0 <= s) && (t = \"\"), d = '<div class=\"fr-files-embed-layer fr-layer'.concat(t, '\" id=\"fr-files-embed-layer-').concat(R.id, '\"><div class=\"fr-input-line padding-top-15\"><textarea data-gramm_editor=\"false\" style=\\'height:60px\\' id=\"fr-files-embed-layer-text').concat(R.id, '\" type=\"text\" placeholder=\"').concat(R.language.translate(\"Embedded Code\"), '\" tabIndex=\"1\" aria-required=\"true\" rows=\"5\"></textarea></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"insertEmbed\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Insert\"), \"</button></div></div>\"));\n var f = \"\";\n 0 <= s && (t = \" fr-active\", 0 <= o && o < s && (t = \"\"), f = '<div class=\"fr-files-by-url-layer'.concat(t, ' fr-layer\" id=\"fr-files-by-url-layer-').concat(R.id, '\"><div class=\"fr-input-line fr-by-url-padding\"><input id=\"fr-files-by-url-layer-text-').concat(R.id, '\" type=\"text\" placeholder=\"http://\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"filesInsertByURL\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Add\"), \"</button></div></div>\"));\n var p = {\n buttons: n,\n upload_layer: c,\n by_url_layer: f,\n embed_layer: d,\n upload_progress_layer: \"<div class = ' fr-margin-16 fr-upload-progress' id=\\\"fr-upload-progress-layer-\".concat(R.id, \"\\\" ><div class='fr-progress-bar-style'><div class='fr-progress-bar fr-none'></div></div><div id='filesList' class = 'fr-upload-progress-layer fr-layer'></div></div>\"),\n progress_bar: '<div class=\"fr-files-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"filesDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'\n };\n return 1 <= R.opts.imageInsertButtons.length && (a = R.popups.create(\"filesManager.insert\", p)), R.$wp && R.events.$on(R.$wp, \"scroll\", function () {\n w && R.popups.isVisible(\"filesManager.insert\") && replace();\n }), Fe(a), R.popups.setPopupDimensions(a), a;\n }\n function He(e) {\n var t = e.split(\"/\").pop();\n if (t.split(\".\").length < 2) {\n var a = new Date();\n return t + \"-\" + a.getDate() + \"/\" + (a.getMonth() + 1) + \"/\" + a.getFullYear();\n }\n return t;\n }\n function ze() {\n w && R.popups.get(\"image.alt\").find(\"input\").val(w.attr(\"alt\") || \"\").trigger(\"change\");\n }\n function Ke() {\n var e = R.popups.get(\"image.alt\");\n e || (e = We()), J(), R.popups.refresh(\"image.alt\"), R.popups.setContainer(\"image.alt\", R.$sc);\n var t = lt();\n ct() && (t = t.find(\".fr-img-wrap\"));\n var a = t.offset().left + t.outerWidth() / 2,\n n = t.offset().top + t.outerHeight();\n R.popups.show(\"image.alt\", a, n, t.outerHeight(), !0);\n }\n function We(e) {\n if (e) return R.popups.onRefresh(\"image.alt\", ze), !0;\n var t = {\n buttons: '<div class=\"fr-buttons fr-tabs\">'.concat(R.button.buildList(R.opts.imageAltButtons), \"</div>\"),\n alt_layer: '<div class=\"fr-image-alt-layer fr-layer fr-active\" id=\"fr-image-alt-layer-'.concat(R.id, '\"><div class=\"fr-input-line\"><input id=\"fr-image-alt-layer-text-').concat(R.id, '\" type=\"text\" placeholder=\"').concat(R.language.translate(\"Alternative Text\"), '\" tabIndex=\"1\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetAlt\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Update\"), \"</button></div></div>\")\n },\n a = R.popups.create(\"image.alt\", t);\n return R.$wp && R.events.$on(R.$wp, \"scroll.image-alt\", function () {\n w && R.popups.isVisible(\"image.alt\") && Ke();\n }), a;\n }\n function Ge() {\n var e = R.popups.get(\"image.size\");\n if (w) if (ct()) {\n var t = w.parent();\n t.get(0).style.width || (t = w.parent().parent()), e.find('input[name=\"width\"]').val(t.get(0).style.width).trigger(\"change\"), e.find('input[name=\"height\"]').val(t.get(0).style.height).trigger(\"change\");\n } else e.find('input[name=\"width\"]').val(w.get(0).style.width).trigger(\"change\"), e.find('input[name=\"height\"]').val(w.get(0).style.height).trigger(\"change\");\n }\n function Ve() {\n var e = R.popups.get(\"image.size\");\n e || (e = Ye()), J(), R.popups.refresh(\"image.size\"), R.popups.setContainer(\"image.size\", R.$sc);\n var t = lt();\n ct() && (t = t.find(\".fr-img-wrap\"));\n var a = t.offset().left + t.outerWidth() / 2,\n n = t.offset().top + t.outerHeight();\n R.popups.show(\"image.size\", a, n, t.outerHeight(), !0);\n }\n function Ye(e) {\n if (e) return R.popups.onRefresh(\"image.size\", Ge), !0;\n var t = {\n buttons: '<div class=\"fr-buttons fr-tabs\">'.concat(R.button.buildList(R.opts.imageSizeButtons), \"</div>\"),\n size_layer: '<div class=\"fr-image-size-layer fr-layer fr-active\" id=\"fr-image-size-layer-'.concat(R.id, '\"><div class=\"fr-image-group\"><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-width-\\'').concat(R.id, '\" type=\"text\" name=\"width\" placeholder=\"').concat(R.language.translate(\"Width\"), '\" tabIndex=\"1\"></div><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-height').concat(R.id, '\" type=\"text\" name=\"height\" placeholder=\"').concat(R.language.translate(\"Height\"), '\" tabIndex=\"1\"></div></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetSize\" tabIndex=\"2\" role=\"button\">').concat(R.language.translate(\"Update\"), \"</button></div></div>\")\n },\n a = R.popups.create(\"image.size\", t);\n return R.$wp && R.events.$on(R.$wp, \"scroll.image-size\", function () {\n w && R.popups.isVisible(\"image.size\") && Ve();\n }), a;\n }\n function je(e, t, a, n) {\n return e.pageX = t, W.call(this, e), e.pageX = e.pageX + a * Math.floor(Math.pow(1.1, n)), G.call(this, e), V.call(this, e), ++n;\n }\n function qe(e) {\n (e = e || lt()) && !1 !== R.events.trigger(\"image.beforeRemove\", [e]) && (R.popups.hideAll(), at(!0), R.undo.canDo() || R.undo.saveStep(), e.get(0) == R.el ? e.removeAttr(\"src\") : (e.get(0).parentNode && \"A\" == e.get(0).parentNode.tagName ? (R.selection.setBefore(e.get(0).parentNode) || R.selection.setAfter(e.get(0).parentNode) || e.parent().after(St.MARKERS), x(e.get(0).parentNode).remove()) : (R.selection.setBefore(e.get(0)) || R.selection.setAfter(e.get(0)) || e.after(St.MARKERS), e.remove()), R.html.fillEmptyBlocks(), R.selection.restore()), R.undo.saveStep());\n }\n function Xe(e) {\n var t = e.which;\n if (w && (t == St.KEYCODE.BACKSPACE || t == St.KEYCODE.DELETE)) return e.preventDefault(), e.stopPropagation(), qe(), !1;\n if (w && t == St.KEYCODE.ESC) {\n var a = w;\n return at(!0), R.selection.setAfter(a.get(0)), R.selection.restore(), e.preventDefault(), !1;\n }\n if (!w || t != St.KEYCODE.ARROW_LEFT && t != St.KEYCODE.ARROW_RIGHT) return w && t === St.KEYCODE.TAB ? (e.preventDefault(), e.stopPropagation(), at(!0), !1) : w && t != St.KEYCODE.F10 && !R.keys.isBrowserAction(e) ? (e.preventDefault(), e.stopPropagation(), !1) : void 0;\n var n = w.get(0);\n return at(!0), t == St.KEYCODE.ARROW_LEFT ? R.selection.setBefore(n) : R.selection.setAfter(n), R.selection.restore(), e.preventDefault(), !1;\n }\n function Ze(e) {\n if (e && \"IMG\" == e.tagName) {\n var t;\n if (R.node.hasClass(e, \"fr-uploading\") || R.node.hasClass(e, \"fr-error\")) null === (t = e.parentNode) || void 0 === t || t.removeChild(e);else R.node.hasClass(e, \"fr-draggable\") && e.classList.remove(\"fr-draggable\");\n if (e.parentNode && e.parentNode.parentNode && R.node.hasClass(e.parentNode.parentNode, \"fr-img-caption\")) {\n var a = e.parentNode.parentNode;\n a.removeAttribute(\"contenteditable\"), a.removeAttribute(\"draggable\"), a.classList.remove(\"fr-draggable\");\n var n = e.nextSibling;\n n && n.removeAttribute(\"contenteditable\");\n }\n } else if (e && e.nodeType == Node.ELEMENT_NODE) for (var r = e.querySelectorAll(\"img.fr-uploading, img.fr-error, img.fr-draggable\"), i = 0; i < r.length; i++) Ze(r[i]);\n }\n function Qe(e) {\n var t = e.target.result,\n a = R.opts.imageDefaultWidth;\n a && \"auto\" != a && (a += R.opts.imageResizeWithPercent ? \"%\" : \"px\"), R.undo.saveStep(), R.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(t, '\"').concat(a ? ' style=\"width: '.concat(a, ';\"') : \"\", \">\"));\n var n = R.$el.find('img[data-fr-image-pasted=\"true\"]');\n n && ot(n, R.opts.imageDefaultDisplay, R.opts.imageDefaultAlign), R.events.trigger(\"paste.after\");\n }\n function Je(e, t) {\n var a = new FileReader();\n a.onload = function n(e) {\n var t = R.opts.imageDefaultWidth;\n t && \"auto\" != t && (t += R.opts.imageResizeWithPercent ? \"%\" : \"px\"), R.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(e, '\"').concat(t ? ' style=\"width: '.concat(t, ';\"') : \"\", \">\"));\n var a = R.$el.find('img[data-fr-image-pasted=\"true\"]');\n a && ot(a, R.opts.imageDefaultDisplay, R.opts.imageDefaultAlign), R.events.trigger(\"paste.after\");\n }(t), a.readAsDataURL(e, t);\n }\n function et(e, t) {\n var a = t || e && e.clipboardData;\n if (a && a.items) {\n var n = (a || window.clipboardData).getData(\"text/html\") || \"\",\n r = new DOMParser().parseFromString(n, \"text/html\").querySelector(\"img\");\n if (r && !R.opts.imageUploadURL) {\n if (!r) return !1;\n var i = r.src,\n o = null;\n if (a.types && -1 != [].indexOf.call(a.types, \"text/rtf\") || a.getData(\"text/rtf\")) o = a.items[0].getAsFile();else for (var s = 0; s < a.items.length; s++) if (o = a.items[s].getAsFile()) {\n St.IMAGE_TYPE = o.type;\n break;\n }\n if (o) return Je(o, i), !1;\n } else {\n var l = null;\n if (a.types && -1 != [].indexOf.call(a.types, \"text/rtf\") || a.getData(\"text/rtf\")) l = a.items[0].getAsFile();else for (var c = 0; c < a.items.length && !(l = a.items[c].getAsFile()); c++);\n if (l) return function d(e) {\n var t = new FileReader();\n t.onload = Qe, t.readAsDataURL(e);\n }(l), !1;\n }\n }\n }\n function tt(e) {\n return e = e.replace(/<img /gi, '<img data-fr-image-pasted=\"true\" ');\n }\n function at(e) {\n w && (function t() {\n return nt;\n }() || !0 === e) && (R.toolbar.enable(), l && l.removeClass(\"fr-active\"), R.popups.hide(\"image.edit\"), w = null, it(), c = null, d && d.hide());\n }\n var nt = !1;\n function rt() {\n nt = !0;\n }\n function it() {\n nt = !1;\n }\n function ot(e, t, a) {\n !R.opts.htmlUntouched && R.opts.useClasses ? (x(e).removeClass(\"fr-fil fr-fir fr-dib fr-dii\"), a && x(e).addClass(\"fr-fi\".concat(a[0])), t && x(e).addClass(\"fr-di\".concat(t[0]))) : \"inline\" == t ? (e.css({\n display: \"inline-block\",\n verticalAlign: \"bottom\",\n margin: R.opts.imageDefaultMargin\n }), \"center\" == a ? e.css({\n \"float\": \"none\",\n marginBottom: \"\",\n marginTop: \"\",\n maxWidth: \"calc(100% - \".concat(2 * R.opts.imageDefaultMargin, \"px)\"),\n textAlign: \"center\"\n }) : \"left\" == a ? e.css({\n \"float\": \"left\",\n marginLeft: 0,\n maxWidth: \"calc(100% - \".concat(R.opts.imageDefaultMargin, \"px)\"),\n textAlign: \"left\"\n }) : e.css({\n \"float\": \"right\",\n marginRight: 0,\n maxWidth: \"calc(100% - \".concat(R.opts.imageDefaultMargin, \"px)\"),\n textAlign: \"right\"\n })) : \"block\" == t && (e.css({\n display: \"block\",\n \"float\": \"none\",\n verticalAlign: \"top\",\n margin: \"\".concat(R.opts.imageDefaultMargin, \"px auto\"),\n textAlign: \"center\"\n }), \"left\" == a ? e.css({\n marginLeft: 0,\n textAlign: \"left\"\n }) : \"right\" == a && e.css({\n marginRight: 0,\n textAlign: \"right\"\n }));\n }\n function st() {\n return w;\n }\n function lt() {\n return ct() ? w.parents(\".fr-img-caption\").first() : w;\n }\n function ct() {\n return !!w && 0 < w.parents(\".fr-img-caption\").length;\n }\n return {\n _init: function dt() {\n var i;\n (function e() {\n R.events.$on(R.$el, R._mousedown, \"IMG\" == R.el.tagName ? null : 'img:not([contenteditable=\"false\"])', function (e) {\n if (\"false\" == x(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\")) return !0;\n R.helpers.isMobile() || R.selection.clear(), t = !0, R.popups.areVisible() && R.events.disableBlur(), R.browser.msie && (R.events.disableBlur(), R.$el.attr(\"contenteditable\", !1)), R.draggable || \"touchstart\" == e.type || e.preventDefault(), e.stopPropagation();\n }), R.events.$on(R.$el, R._mousedown, \".fr-img-caption .fr-inner\", function (e) {\n R.core.hasFocus() || R.events.focus(), e.stopPropagation();\n }), R.events.$on(R.$el, \"paste\", \".fr-img-caption .fr-inner\", function (e) {\n !0 === R.opts.toolbarInline && (R.toolbar.hide(), e.stopPropagation());\n }), R.events.$on(R.$el, R._mouseup, \"IMG\" == R.el.tagName ? null : 'img:not([contenteditable=\"false\"])', function (e) {\n if (\"false\" == x(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\")) return !0;\n t && (t = !1, e.stopPropagation(), R.browser.msie && (R.$el.attr(\"contenteditable\", !0), R.events.enableBlur()));\n }), R.events.on(\"keyup\", function (e) {\n if (e.shiftKey && \"\" === R.selection.text().replace(/\\n/g, \"\") && R.keys.isArrow(e.which)) {\n var t = R.selection.element(),\n a = R.selection.endElement();\n t && \"IMG\" == t.tagName ? Ae(x(t)) : a && \"IMG\" == a.tagName && Ae(x(a));\n }\n }, !0), R.events.on(\"window.mousedown\", rt), R.events.on(\"window.touchmove\", it), R.events.on(\"mouseup window.mouseup\", function () {\n if (w) return at(), !1;\n it();\n }), R.events.on(\"commands.mousedown\", function (e) {\n 0 < e.parents(\".fr-toolbar\").length && at();\n }), R.events.on(\"image.resizeEnd\", function () {\n R.opts.iframe && R.size.syncIframe();\n }), R.events.on(\"blur image.hideResizer commands.undo commands.redo element.dropped\", function () {\n at(!(t = !1));\n }), R.events.on(\"modals.hide\", function () {\n w && R.selection.clear();\n }), R.events.on(\"image.resizeEnd\", function () {\n R.win.getSelection && Ae(w);\n }), R.opts.imageAddNewLine && R.events.on(\"image.inserted\", function (e) {\n var t = e.get(0);\n for (t.nextSibling && \"BR\" === t.nextSibling.tagName && (t = t.nextSibling); t && !R.node.isElement(t);) t = R.node.isLastSibling(t) ? t.parentNode : null;\n R.node.isElement(t) && (R.opts.enter === St.ENTER_BR ? e.after(\"<br>\") : x(R.node.blockParent(e.get(0))).after(\"<\".concat(R.html.defaultTag(), \"><br></\").concat(R.html.defaultTag(), \">\")));\n });\n })(), \"IMG\" == R.el.tagName && R.$el.addClass(\"fr-view\"), R.helpers.isMobile() && (R.events.$on(R.$el, \"touchstart\", \"IMG\" == R.el.tagName ? null : 'img:not([contenteditable=\"false\"])', function () {\n de = !1;\n }), R.events.$on(R.$el, \"touchmove\", function () {\n de = !0;\n })), R.opts.pluginsEnabled.includes(\"filestack\") && R.events.on(\"filestack.pluginsEnabled\", function () {\n $e();\n }), R.$wp ? (R.events.on(\"window.keydown keydown\", Xe, !0), R.events.on(\"keyup\", function (e) {\n if (w && e.which == St.KEYCODE.ENTER) return !1;\n }, !0), R.events.$on(R.$el, \"keydown\", function () {\n var e = R.selection.element();\n (e.nodeType === Node.TEXT_NODE || \"BR\" == e.tagName && R.node.isLastSibling(e)) && (e = e.parentNode), R.node.hasClass(e, \"fr-inner\") || (R.node.hasClass(e, \"fr-img-caption\") || (e = x(e).parents(\".fr-img-caption\").get(0)), R.node.hasClass(e, \"fr-img-caption\") && (R.opts.trackChangesEnabled || x(e).after(St.INVISIBLE_SPACE + St.MARKERS), R.selection.restore()));\n })) : R.events.$on(R.$win, \"keydown\", Xe), R.events.on(\"toolbar.esc\", function () {\n if (w) {\n if (R.$wp) R.events.disableBlur(), R.events.focus();else {\n var e = w;\n at(!0), R.selection.setAfter(e.get(0)), R.selection.restore();\n }\n return !1;\n }\n }, !0), R.events.on(\"toolbar.focusEditor\", function () {\n if (w) return !1;\n }, !0), R.events.on(\"window.cut window.copy\", function (e) {\n if (w && R.popups.isVisible(\"image.edit\") && !R.popups.get(\"image.edit\").find(\":focus\").length) {\n var t = lt();\n ct() ? (t.before(St.START_MARKER), t.after(St.END_MARKER), R.selection.restore(), R.paste.saveCopiedText(t.get(0).outerHTML, t.text())) : R.paste.saveCopiedText(w.get(0).outerHTML, w.attr(\"alt\")), \"copy\" == e.type ? setTimeout(function () {\n Ae(w);\n }) : (at(!0), R.undo.saveStep(), setTimeout(function () {\n R.undo.saveStep();\n }, 0));\n }\n }, !0), R.browser.msie && R.events.on(\"keydown\", function (e) {\n if (!R.selection.isCollapsed() || !w) return !0;\n var t = e.which;\n t == St.KEYCODE.C && R.keys.ctrlKey(e) ? R.events.trigger(\"window.copy\") : t == St.KEYCODE.X && R.keys.ctrlKey(e) && R.events.trigger(\"window.cut\");\n }), R.events.$on(x(R.o_win), \"keydown\", function (e) {\n var t = e.which;\n if (w && t == St.KEYCODE.BACKSPACE) return e.preventDefault(), !1;\n }), R.events.$on(R.$win, \"keydown\", function (e) {\n var t = e.which;\n w && w.hasClass(\"fr-uploading\") && t == St.KEYCODE.ESC && w.trigger(\"abortUpload\");\n }), R.events.on(\"destroy\", function () {\n w && w.hasClass(\"fr-uploading\") && w.trigger(\"abortUpload\");\n }), R.events.on(\"paste.before\", et), R.events.on(\"paste.beforeCleanup\", tt), R.events.on(\"html.processGet\", Ze), R.opts.imageOutputSize && R.events.on(\"html.beforeGet\", function () {\n i = R.el.querySelectorAll(\"img\");\n for (var e = 0; e < i.length; e++) {\n var t = parseFloat(x(i[e]).css(\"padding-left\")) + parseFloat(x(i[e]).css(\"padding-right\")),\n a = x(i[e]).width() - t,\n n = i[e].style.width || a,\n r = i[e].style.height || x(i[e]).height();\n n && i[e].setAttribute(\"width\", \"\".concat(n).replace(/px/, \"\")), r && i[e].setAttribute(\"height\", \"\".concat(r).replace(/px/, \"\"));\n }\n }), R.opts.iframe && R.events.on(\"image.loaded\", R.size.syncIframe), R.events.$on(x(R.o_win), \"orientationchange.image\", function () {\n setTimeout(function () {\n w && Ae(w);\n }, 100);\n }), function n(e) {\n if (e) return R.$wp && R.events.$on(R.$wp, \"scroll.image-edit\", function () {\n w && R.popups.isVisible(\"image.edit\") && R.events.disableBlur();\n }), !0;\n var t = \"\";\n if (0 < R.opts.imageEditButtons.length) {\n var a = {\n buttons: t += '<div class=\"fr-buttons\"> \\n '.concat(R.button.buildList(R.opts.imageEditButtons), \"\\n </div>\")\n };\n return R.popups.create(\"image.edit\", a);\n }\n return !1;\n }(!0), $e(!0), Ye(!0), We(!0), R.events.on(\"node.remove\", function (e) {\n if (\"IMG\" == e.get(0).tagName) return qe(e), !1;\n }), R.events.on(\"popups.hide.filesManager.insert\", function (e) {\n R.filesManager.minimizePopup(L);\n });\n },\n showInsertPopup: E,\n showLayer: function ft(e) {\n var t,\n a,\n n = R.popups.get(\"filesManager.insert\");\n if (w || R.opts.toolbarInline) {\n if (w) {\n var r = lt();\n ct() && (r = r.find(\".fr-img-wrap\")), a = r.offset().top + r.outerHeight(), t = r.offset().left;\n }\n } else {\n var i = R.$tb.find('.fr-command[data-cmd=\"insertFiles\"]');\n t = i.offset().left, a = i.offset().top + (R.opts.toolbarBottom ? 10 : i.outerHeight() - 10);\n }\n !w && R.opts.toolbarInline && (a = n.offset().top - R.helpers.getPX(n.css(\"margin-top\")), n.hasClass(\"fr-above\") && (a += n.outerHeight())), n.find(\".fr-layer\").removeClass(\"fr-active\"), n.find(\".fr-\".concat(e, \"-layer\")).addClass(\"fr-active\"), n.find(\".fr-upload-progress-layer\").addClass(\"fr-active\"), R.popups.show(\"filesManager.insert\", t, a, w ? w.outerHeight() : 0), R.accessibility.focusPopup(n);\n },\n refreshUploadButton: function pt(e) {\n var t = R.popups.get(\"filesManager.insert\");\n t && t.find(\".fr-files-upload-layer\").hasClass(\"fr-active\") && e.addClass(\"fr-active\").attr(\"aria-pressed\", !0);\n },\n refreshByURLButton: function ut(e) {\n var t = R.popups.get(\"filesManager.insert\");\n t && t.find(\".fr-files-by-url-layer\").hasClass(\"fr-active\") && e.addClass(\"fr-active\").attr(\"aria-pressed\", !0);\n },\n upload: Oe,\n insertByURL: function gt() {\n for (var e, t = R.popups.get(\"filesManager.insert\").find(\".fr-files-by-url-layer input\"), a = t.val().trim().split(/[ ,]+/), n = [], r = 0, i = 0; i < a.length; i++) e = a[i], new RegExp(\"^(https?:\\\\/\\\\/)?((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*(\\\\?[;&a-z\\\\d%_.~+=-]*)?(\\\\#[-a-z\\\\d_]*)?$\", \"i\").test(e) && (n[r] = a[i], r++);\n if (0 != n.length) {\n if (0 < t.val().trim().length && 0 < n.length) {\n var s = [],\n l = [],\n c = g,\n d = n.length;\n n.forEach(function (e, a) {\n if (0 == e.trim().length) g == c + --d && ye(s, l);else {\n J(), Q(), ee(R.language.translate(\"Loading file(s)\"));\n var n = e.trim(),\n t = function o(e) {\n if (void 0 === e) return e;\n var t = null;\n if (/^http/.test(e) || (e = \"https://\".concat(e)), R.helpers.isURL(e)) for (var a = 0; a < St.VIDEO_PROVIDERS.length; a++) {\n var n = St.VIDEO_PROVIDERS[a];\n if (n.test_regex.test(e) && new RegExp(R.opts.videoAllowedProviders.join(\"|\")).test(n.provider)) {\n t = e.replace(n.url_regex, n.url_text), t = n.html.replace(/\\{url\\}/, t);\n break;\n }\n }\n return t;\n }(n);\n if (t) {\n var r = {\n link: n,\n name: n,\n type: \"video/url\",\n size: 2,\n video: t\n };\n I.set(c + a, r), me(c + a), J(), Q(), ee(R.language.translate(\"Loading file(s)\")), O.set(c + a, r), ++g == c + d && ye(s, l);\n } else {\n var i = new XMLHttpRequest();\n i.onload = function () {\n if (200 == this.status) {\n var e = new Blob([this.response], {\n type: this.response.type || \"\"\n });\n e.name = He(n), e.link = n, Ne(this.response.type) ? (e.sanitize = !0, e.existing_image = w) : De(this.response.type) && (e.text = He(n)), s.push(e), l.push(c + a), I.set(c + a, e), me(c + a), (-1 < U.indexOf(Re(e)) || !Re(e)) && j(P, null, null, c + a);\n } else {\n var t = new Blob([this.response], {\n type: this.response.type || \" \"\n });\n t.name = He(n), t.link = n, I.set(c + a, t), me(c + a), j(N, this.response, w, c + a);\n }\n J(), Q(), ee(R.language.translate(\"Loading file(s)\")), ++g == c + d && ye(s, l);\n }, i.onerror = function () {\n var e = {\n link: n,\n name: He(n),\n size: 0,\n type: \"\"\n };\n j(9, this.response, w, c + a);\n var t = g;\n I.set(t, e), me(t), J(), Q(), ee(R.language.translate(\"Loading file(s)\")), ++g == c + d && ye(s, l);\n }, i.open(\"GET\", \"\".concat(R.opts.imageCORSProxy, \"/\").concat(n), !0), i.responseType = \"blob\", i.send();\n }\n }\n }), t.val(\"\"), t.blur();\n }\n } else te(R.language.translate(\"Url entered is invalid. Please try again.\"));\n },\n insertAllFiles: function ht() {\n r = [];\n var e = R.popups.get(\"filesManager.insert\");\n u = -1, f = null, e.find(\".fr-insert-checkbox\").toArray().forEach(function n(e, t, a) {\n e.children.target.checked && (r.push(parseInt(e.id.split(\"-\").pop())), Ne(O.get(parseInt(e.id.split(\"-\").pop())).type) && -1 == u && (u = t));\n }), ke(r), q();\n },\n deleteAllFiles: function e() {\n R.popups.get(\"filesManager.insert\").find(\".fr-insert-checkbox\").toArray().forEach(function r(e, t, a) {\n if (e.children.target.checked) {\n var n = parseInt(e.id.split(\"-\").pop());\n A.has(n) && A[\"delete\"](n), X(n);\n }\n }), q();\n },\n get: st,\n getEl: lt,\n insert: Le,\n showProgressBar: Q,\n remove: qe,\n hideProgressBar: J,\n applyStyle: function mt(e, t, a) {\n if (void 0 === t && (t = R.opts.imageStyles), void 0 === a && (a = R.opts.imageMultipleStyles), !w) return !1;\n var n = lt();\n if (!a) {\n var r = Object.keys(t);\n r.splice(r.indexOf(e), 1), n.removeClass(r.join(\" \"));\n }\n \"object\" == Rt(t[e]) ? (n.removeAttr(\"style\"), n.css(t[e].style)) : n.toggleClass(e), Ae(w);\n },\n showAltPopup: Ke,\n showSizePopup: Ve,\n setAlt: function vt(e) {\n if (w) {\n var t = R.popups.get(\"image.alt\");\n w.attr(\"alt\", e || t.find(\"input\").val() || \"\"), t.find(\"input:focus\").blur(), Ae(w);\n }\n },\n setSize: function bt(e, t) {\n if (w) {\n var a = R.popups.get(\"image.size\");\n e = e || a.find('input[name=\"width\"]').val() || \"\", t = t || a.find('input[name=\"height\"]').val() || \"\";\n var n = /^[\\d]+((px)|%)*$/g;\n w.removeAttr(\"width\").removeAttr(\"height\"), e.match(n) ? w.css(\"width\", e) : w.css(\"width\", \"\"), t.match(n) ? w.css(\"height\", t) : w.css(\"height\", \"\"), ct() && (w.parents(\".fr-img-caption\").removeAttr(\"width\").removeAttr(\"height\"), e.match(n) ? w.parents(\".fr-img-caption\").css(\"width\", e) : w.parents(\".fr-img-caption\").css(\"width\", \"\"), t.match(n) ? w.parents(\".fr-img-caption\").css(\"height\", t) : w.parents(\".fr-img-caption\").css(\"height\", \"\")), a && a.find(\"input:focus\").blur(), Ae(w);\n }\n },\n toggleCaption: function Et() {\n var e;\n if (w && !ct()) {\n (e = w).parent().is(\"a\") && (e = w.parent());\n var t,\n a,\n n = w.parents(\"ul\") && 0 < w.parents(\"ul\").length ? w.parents(\"ul\") : w.parents(\"ol\") && 0 < w.parents(\"ol\").length ? w.parents(\"ol\") : [];\n if (0 < n.length) {\n var r = n.find(\"li\").length,\n i = w.parents(\"li\"),\n o = document.createElement(\"li\");\n r - 1 === i.index() && (n.append(o), o.innerHTML = \" \");\n }\n e.attr(\"style\") && (a = -1 < (t = e.attr(\"style\").split(\":\")).indexOf(\"width\") ? t[t.indexOf(\"width\") + 1].replace(\";\", \"\") : \"\");\n var s = R.opts.imageResizeWithPercent ? (-1 < a.indexOf(\"px\") ? null : a) || \"100%\" : w.width() + \"px\";\n e.wrap('<div class=\"fr-img-space-wrap\"><span ' + (R.browser.mozilla ? \"\" : 'contenteditable=\"false\"') + 'class=\"fr-img-caption ' + w.attr(\"class\") + '\" style=\"' + (R.opts.useClasses ? \"\" : e.attr(\"style\")) + '\" draggable=\"false\"></span><p class=\"fr-img-space-wrap2\"> </p></div>'), e.wrap('<span class=\"fr-img-wrap\"></span>'), w.after('<span class=\"fr-inner\"'.concat(R.browser.mozilla ? \"\" : ' contenteditable=\"true\"', \">\").concat(St.START_MARKER).concat(R.language.translate(\"Image Caption\")).concat(St.END_MARKER, \"</span>\")), w.removeAttr(\"class\").removeAttr(\"style\").removeAttr(\"width\"), w.parents(\".fr-img-caption\").css(\"width\", s), at(!0), R.selection.restore();\n } else e = lt(), w.insertAfter(e), w.attr(\"class\", e.attr(\"class\").replace(\"fr-img-caption\", \"\")).attr(\"style\", e.attr(\"style\")), e.remove(), Ae(w);\n },\n refreshEmbedButton: function _t(e) {\n var t = R.popups.get(\"filesManager.insert\");\n t && t.find(\".fr-files-embed-layer\").hasClass(\"fr-active\") && e.addClass(\"fr-active\").attr(\"aria-pressed\", !0);\n },\n insertEmbed: function wt(e) {\n void 0 === e && (e = R.popups.get(\"filesManager.insert\").find(\".fr-files-embed-layer textarea\").val() || \"\"), 0 === e.length || !St.VIDEO_EMBED_REGEX.test(e) && !St.IMAGE_EMBED_REGEX.test(e) ? (te(R.language.translate(\"Something went wrong. Please try again.\")), St.VIDEO_EMBED_REGEX.test(e) && R.events.trigger(\"video.codeError\", [e])) : function s(e, t) {\n var a, n;\n St.VIDEO_EMBED_REGEX.test(e) ? (a = \"video\", n = R.opts.videoSplitHTML) : St.IMAGE_EMBED_REGEX.test(e) && (a = \"image\", n = R.opts.imageSplitHTML), R.events.focus(!0), R.selection.restore();\n var r = !1;\n w && (qe(), r = !0), R.html.insert('<span id=\"fr-inserted-file\" contenteditable=\"true\" draggable=\"true\" class=\"fr-'.concat(a, ' fr-jiv fr-deletable\">').concat(e, \"</span>\"), !1, n), R.popups.hide(\"filesManager.insert\");\n var i = R.$el.find(\".fr-jiv\");\n i.removeClass(\"fr-jiv\"), \"video\" == a && (i.toggleClass(\"fr-rv\", R.opts.videoResponsive), function o(e, t, a) {\n !R.opts.htmlUntouched && R.opts.useClasses ? (e.removeClass(\"fr-fvl fr-fvr fr-dvb fr-dvi\"), e.addClass(\"fr-fv\".concat(a[0], \" fr-dv\").concat(t[0]))) : \"inline\" == t ? (e.css({\n display: \"inline-block\"\n }), \"center\" == a ? e.css({\n \"float\": \"none\"\n }) : \"left\" == a ? e.css({\n \"float\": \"left\"\n }) : e.css({\n \"float\": \"right\"\n })) : (e.css({\n display: \"block\",\n clear: \"both\"\n }), \"left\" == a ? e.css({\n textAlign: \"left\"\n }) : \"right\" == a ? e.css({\n textAlign: \"right\"\n }) : e.css({\n textAlign: \"center\"\n }));\n }(i, R.opts.videoDefaultDisplay, R.opts.videoDefaultAlign), i.toggleClass(\"fr-draggable\", R.opts.videoMove), R.events.trigger(r ? \"video.replaced\" : \"video.inserted\", [i])), \"image\" == a && (ot(i, R.opts.imageDefaultDisplay, R.opts.imageDefaultAlign), i.find(\"img\").removeClass(\"fr-dii\"), i.find(\"img\").addClass(\"fr-dib\"), i.toggleClass(\"fr-draggable\", R.opts.imageMove), R.events.trigger(r ? \"image.replaced\" : \"image.inserted\", [i])), t && (f = i, R.selection.clear(), R.toolbar.disable(), R.video._editVideo(f));\n }(e);\n },\n hasCaption: ct,\n exitEdit: at,\n edit: Ae,\n cancelFileInsert: function yt() {\n this.file_manager_dialog_open = !1, A.forEach(function (e, t) {\n 4 != e.readyState && (e.abort(), X(t));\n });\n var e = R.popups.get(\"filesManager.insert\");\n e.find(\".fr-progress-bar\").removeClass(\"fr-display-block\").addClass(\"fr-none\"), e.find('.fr-command[data-cmd=\"filesUpload\"]').removeClass(\"fr-disabled\"), e.find('.fr-command[data-cmd=\"filesByURL\"]').removeClass(\"fr-disabled\"), e.find('.fr-command[data-cmd=\"filesEmbed\"]').removeClass(\"fr-disabled\"), i = 0, A = new Map(), C = new Map(), Z(), R.popups.hide(\"filesManager.insert\");\n },\n minimizePopup: function At(e) {\n this.file_manager_dialog_open = !1, R.popups.hide(\"filesManager.insert\"), Z();\n },\n editImage: Se,\n saveImage: function Ct(e) {\n var t = O.get(o);\n t.link = window.URL.createObjectURL(new Blob(e, {\n type: \"image/png\"\n })), O.set(o, t);\n },\n _showErrorMessage: te,\n _showFileErrorMessage: ae,\n getFileThumbnail: be,\n deleteFile: X,\n checkAutoplay: Me,\n checkInsertAllState: q,\n _disableInsertCheckbox: Y,\n _getFileType: Re,\n isChildWindowOpen: function Tt() {\n return p;\n },\n setChildWindowState: function kt(e) {\n e !== undefined && (p = e);\n },\n resetAllFilesCheckbox: Z\n };\n }, St.DefineIcon(\"insertFiles\", {\n NAME: \"image\",\n SVG_KEY: \"fileManager\"\n }), St.RegisterShortcut(St.KEYCODE.P, \"insertFiles\", null, \"P\"), St.RegisterCommand(\"insertFiles\", {\n title: \"Insert Files\",\n undo: !1,\n focus: !0,\n refreshAfterCallback: !1,\n popup: !0,\n callback: function () {\n this.popups.isVisible(\"filesManager.insert\") ? (this.$el.find(\".fr-marker\").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"filesManager.insert\")) : this.filesManager.showInsertPopup();\n },\n plugin: \"filesManager\"\n }), St.DefineIcon(\"cloudIcon\", {\n NAME: \"cloudIcon\",\n SVG_KEY: \"uploadFiles\"\n }), St.DefineIcon(\"filesUpload\", {\n NAME: \"uploadFiles\",\n SVG_KEY: \"uploadFiles\"\n }), St.RegisterCommand(\"filesUpload\", {\n title: \"Upload Files\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.filesManager.showLayer(\"files-upload\");\n },\n refresh: function (e) {\n this.filesManager.refreshUploadButton(e);\n }\n }), St.DefineIcon(\"filesByURL\", {\n NAME: \"link\",\n SVG_KEY: \"insertLink\"\n }), St.RegisterCommand(\"filesByURL\", {\n title: \"By URL\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.filesManager.showLayer(\"files-by-url\");\n },\n refresh: function (e) {\n this.filesManager.refreshByURLButton(e);\n }\n }), St.DefineIcon(\"filesEmbed\", {\n NAME: \"code\",\n SVG_KEY: \"codeView\"\n }), St.RegisterCommand(\"filesEmbed\", {\n title: \"Embedded Code\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.filesManager.showLayer(\"files-embed\");\n },\n refresh: function (e) {\n this.filesManager.refreshEmbedButton(e);\n }\n }), St.DefineIcon(\"insertAll\", {\n NAME: \"insertAll\",\n SVG_KEY: \"fileInsert\"\n }), St.RegisterCommand(\"insertAll\", {\n title: \"Insert\",\n undo: !1,\n focus: !1,\n toggle: !0,\n disabled: !0,\n callback: function () {\n this.filesManager.insertAllFiles();\n }\n }), St.DefineIcon(\"deleteAll\", {\n NAME: \"remove\",\n SVG_KEY: \"remove\"\n }), St.RegisterCommand(\"deleteAll\", {\n title: \"Delete\",\n undo: !1,\n focus: !1,\n toggle: !0,\n disabled: !0,\n callback: function () {\n this.filesManager.deleteAllFiles();\n }\n }), St.DefineIcon(\"cancel\", {\n NAME: \"cancel\",\n SVG_KEY: \"cancel\"\n }), St.RegisterCommand(\"cancel\", {\n title: \"Cancel\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.filesManager.cancelFileInsert();\n },\n refresh: function (e) {}\n }), St.DefineIcon(\"minimize\", {\n NAME: \"minimize\",\n SVG_KEY: \"minimize\"\n }), St.RegisterCommand(\"minimize\", {\n title: \"Minimize\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.filesManager.minimizePopup(\"image.insert\", !0);\n },\n refresh: function (e) {\n this.filesManager.refreshEmbedButton(e);\n }\n }), St.RegisterCommand(\"filesInsertByURL\", {\n title: \"Insert Image\",\n undo: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.filesManager.insertByURL();\n },\n refresh: function (e) {\n e.text(this.language.translate(\"Add\"));\n }\n }), St.RegisterCommand(\"imageInsertByUpload\", {\n title: \"Insert\",\n undo: !0,\n refreshAfterCallback: !1,\n callback: function (e, t) {},\n refresh: function (e) {}\n }), St.RegisterCommand(\"viewImage\", {\n title: \"View Image\",\n undo: !0,\n refreshAfterCallback: !1,\n callback: function (e, t) {},\n refresh: function (e) {}\n }), St.RegisterCommand(\"insertEmbed\", {\n undo: !0,\n focus: !0,\n callback: function () {\n this.filesManager.insertEmbed(), this.popups.get(\"filesManager.insert\").find(\"textarea\")[0].value = \"\", this.popups.get(\"filesManager.insert\").find(\"textarea\").removeClass(\"fr-not-empty\");\n }\n }), St.RegisterCommand(\"filesDismissError\", {\n title: \"OK\",\n undo: !1,\n callback: function () {\n this.filesManager.hideProgressBar(!0);\n }\n }), St.PLUGINS.cryptoJSPlugin = function (e) {\n var t,\n d,\n a,\n n,\n r,\n i,\n o,\n f,\n s,\n l,\n c,\n p,\n u,\n g,\n h,\n v,\n m,\n b,\n E,\n _,\n w,\n y,\n A,\n C,\n T,\n k,\n S,\n R,\n L,\n x,\n I,\n O,\n F,\n M,\n N,\n D,\n P,\n B,\n U,\n $,\n H,\n z,\n K,\n W,\n G,\n V,\n Y,\n j,\n q,\n X,\n Z,\n Q,\n J,\n ee,\n te,\n ae,\n ne,\n re,\n ie,\n oe,\n se,\n le,\n ce,\n de,\n fe,\n pe,\n ue,\n ge,\n he,\n me,\n ve = ve || function (d, e) {\n var t;\n if (\"undefined\" != typeof window && window.crypto && (t = window.crypto), !t && \"undefined\" != typeof window && window.msCrypto && (t = window.msCrypto), !t && \"undefined\" != typeof global && global.crypto && (t = global.crypto), !t && \"function\" == typeof require) try {\n t = require(\"crypto\");\n } catch (h) {}\n var n = function n() {\n if (t) {\n if (\"function\" == typeof t.getRandomValues) try {\n return t.getRandomValues(new Uint32Array(1))[0];\n } catch (h) {}\n if (\"function\" == typeof t.randomBytes) try {\n return t.randomBytes(4).readInt32LE();\n } catch (h) {}\n }\n throw new Error(\"Native crypto module could not be used to get secure random number.\");\n },\n a = Object.create || function () {\n function a() {}\n return function (e) {\n var t;\n return a.prototype = e, t = new a(), a.prototype = null, t;\n };\n }(),\n r = {},\n i = r.lib = {},\n o = i.Base = {\n extend: function (e) {\n var t = a(this);\n return e && t.mixIn(e), t.hasOwnProperty(\"init\") && this.init !== t.init || (t.init = function () {\n t.$super.init.apply(this, arguments);\n }), (t.init.prototype = t).$super = this, t;\n },\n create: function () {\n var e = this.extend();\n return e.init.apply(e, arguments), e;\n },\n init: function () {},\n mixIn: function (e) {\n for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]);\n e.hasOwnProperty(\"toString\") && (this.toString = e.toString);\n },\n clone: function () {\n return this.init.prototype.extend(this);\n }\n },\n f = i.WordArray = o.extend({\n init: function (e, t) {\n e = this.words = e || [], this.sigBytes = null != t ? t : 4 * e.length;\n },\n toString: function (e) {\n return (e || l).stringify(this);\n },\n concat: function (e) {\n var t = this.words,\n a = e.words,\n n = this.sigBytes,\n r = e.sigBytes;\n if (this.clamp(), n % 4) for (var i = 0; i < r; i++) {\n var o = a[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n t[n + i >>> 2] |= o << 24 - (n + i) % 4 * 8;\n } else for (i = 0; i < r; i += 4) t[n + i >>> 2] = a[i >>> 2];\n return this.sigBytes += r, this;\n },\n clamp: function () {\n var e = this.words,\n t = this.sigBytes;\n e[t >>> 2] &= 4294967295 << 32 - t % 4 * 8, e.length = d.ceil(t / 4);\n },\n clone: function e() {\n var e = o.clone.call(this);\n return e.words = this.words.slice(0), e;\n },\n random: function (e) {\n for (var t = [], a = 0; a < e; a += 4) t.push(n());\n return new f.init(t, e);\n }\n }),\n s = r.enc = {},\n l = s.Hex = {\n stringify: function (e) {\n for (var t = e.words, a = e.sigBytes, n = [], r = 0; r < a; r++) {\n var i = t[r >>> 2] >>> 24 - r % 4 * 8 & 255;\n n.push((i >>> 4).toString(16)), n.push((15 & i).toString(16));\n }\n return n.join(\"\");\n },\n parse: function (e) {\n for (var t = e.length, a = [], n = 0; n < t; n += 2) a[n >>> 3] |= parseInt(e.substr(n, 2), 16) << 24 - n % 8 * 4;\n return new f.init(a, t / 2);\n }\n },\n c = s.Latin1 = {\n stringify: function (e) {\n for (var t = e.words, a = e.sigBytes, n = [], r = 0; r < a; r++) {\n var i = t[r >>> 2] >>> 24 - r % 4 * 8 & 255;\n n.push(String.fromCharCode(i));\n }\n return n.join(\"\");\n },\n parse: function (e) {\n for (var t = e.length, a = [], n = 0; n < t; n++) a[n >>> 2] |= (255 & e.charCodeAt(n)) << 24 - n % 4 * 8;\n return new f.init(a, t);\n }\n },\n p = s.Utf8 = {\n stringify: function (e) {\n try {\n return decodeURIComponent(escape(c.stringify(e)));\n } catch (t) {\n throw new Error(\"Malformed UTF-8 data\");\n }\n },\n parse: function (e) {\n return c.parse(unescape(encodeURIComponent(e)));\n }\n },\n u = i.BufferedBlockAlgorithm = o.extend({\n reset: function () {\n this._data = new f.init(), this._nDataBytes = 0;\n },\n _append: function (e) {\n \"string\" == typeof e && (e = p.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes;\n },\n _process: function (e) {\n var t,\n a = this._data,\n n = a.words,\n r = a.sigBytes,\n i = this.blockSize,\n o = r / (4 * i),\n s = (o = e ? d.ceil(o) : d.max((0 | o) - this._minBufferSize, 0)) * i,\n l = d.min(4 * s, r);\n if (s) {\n for (var c = 0; c < s; c += i) this._doProcessBlock(n, c);\n t = n.splice(0, s), a.sigBytes -= l;\n }\n return new f.init(t, l);\n },\n clone: function e() {\n var e = o.clone.call(this);\n return e._data = this._data.clone(), e;\n },\n _minBufferSize: 0\n }),\n g = (i.Hasher = u.extend({\n cfg: o.extend(),\n init: function (e) {\n this.cfg = this.cfg.extend(e), this.reset();\n },\n reset: function () {\n u.reset.call(this), this._doReset();\n },\n update: function (e) {\n return this._append(e), this._process(), this;\n },\n finalize: function (e) {\n return e && this._append(e), this._doFinalize();\n },\n blockSize: 16,\n _createHelper: function (a) {\n return function (e, t) {\n return new a.init(t).finalize(e);\n };\n },\n _createHmacHelper: function (a) {\n return function (e, t) {\n return new g.HMAC.init(a, t).finalize(e);\n };\n }\n }), r.algo = {});\n return r;\n }(Math);\n return d = (t = ve).lib.WordArray, t.enc.Base64 = {\n stringify: function (e) {\n var t = e.words,\n a = e.sigBytes,\n n = this._map;\n e.clamp();\n for (var r = [], i = 0; i < a; i += 3) for (var o = (t[i >>> 2] >>> 24 - i % 4 * 8 & 255) << 16 | (t[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255) << 8 | t[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255, s = 0; s < 4 && i + .75 * s < a; s++) r.push(n.charAt(o >>> 6 * (3 - s) & 63));\n var l = n.charAt(64);\n if (l) for (; r.length % 4;) r.push(l);\n return r.join(\"\");\n },\n parse: function (e) {\n var t = e.length,\n a = this._map,\n n = this._reverseMap;\n if (!n) {\n n = this._reverseMap = [];\n for (var r = 0; r < a.length; r++) n[a.charCodeAt(r)] = r;\n }\n var i = a.charAt(64);\n if (i) {\n var o = e.indexOf(i);\n -1 !== o && (t = o);\n }\n return function c(e, t, a) {\n for (var n = [], r = 0, i = 0; i < t; i++) if (i % 4) {\n var o = a[e.charCodeAt(i - 1)] << i % 4 * 2,\n s = a[e.charCodeAt(i)] >>> 6 - i % 4 * 2,\n l = o | s;\n n[r >>> 2] |= l << 24 - r % 4 * 8, r++;\n }\n return d.create(n, r);\n }(e, t, n);\n },\n _map: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"\n }, function (d) {\n var e = ve,\n t = e.lib,\n a = t.WordArray,\n n = t.Hasher,\n r = e.algo,\n k = [];\n !function () {\n for (var e = 0; e < 64; e++) k[e] = 4294967296 * d.abs(d.sin(e + 1)) | 0;\n }();\n var i = r.MD5 = n.extend({\n _doReset: function () {\n this._hash = new a.init([1732584193, 4023233417, 2562383102, 271733878]);\n },\n _doProcessBlock: function (e, t) {\n for (var a = 0; a < 16; a++) {\n var n = t + a,\n r = e[n];\n e[n] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8);\n }\n var i = this._hash.words,\n o = e[t + 0],\n s = e[t + 1],\n l = e[t + 2],\n c = e[t + 3],\n d = e[t + 4],\n f = e[t + 5],\n p = e[t + 6],\n u = e[t + 7],\n g = e[t + 8],\n h = e[t + 9],\n m = e[t + 10],\n v = e[t + 11],\n b = e[t + 12],\n E = e[t + 13],\n _ = e[t + 14],\n w = e[t + 15],\n y = i[0],\n A = i[1],\n C = i[2],\n T = i[3];\n A = x(A = x(A = x(A = x(A = L(A = L(A = L(A = L(A = R(A = R(A = R(A = R(A = S(A = S(A = S(A = S(A, C = S(C, T = S(T, y = S(y, A, C, T, o, 7, k[0]), A, C, s, 12, k[1]), y, A, l, 17, k[2]), T, y, c, 22, k[3]), C = S(C, T = S(T, y = S(y, A, C, T, d, 7, k[4]), A, C, f, 12, k[5]), y, A, p, 17, k[6]), T, y, u, 22, k[7]), C = S(C, T = S(T, y = S(y, A, C, T, g, 7, k[8]), A, C, h, 12, k[9]), y, A, m, 17, k[10]), T, y, v, 22, k[11]), C = S(C, T = S(T, y = S(y, A, C, T, b, 7, k[12]), A, C, E, 12, k[13]), y, A, _, 17, k[14]), T, y, w, 22, k[15]), C = R(C, T = R(T, y = R(y, A, C, T, s, 5, k[16]), A, C, p, 9, k[17]), y, A, v, 14, k[18]), T, y, o, 20, k[19]), C = R(C, T = R(T, y = R(y, A, C, T, f, 5, k[20]), A, C, m, 9, k[21]), y, A, w, 14, k[22]), T, y, d, 20, k[23]), C = R(C, T = R(T, y = R(y, A, C, T, h, 5, k[24]), A, C, _, 9, k[25]), y, A, c, 14, k[26]), T, y, g, 20, k[27]), C = R(C, T = R(T, y = R(y, A, C, T, E, 5, k[28]), A, C, l, 9, k[29]), y, A, u, 14, k[30]), T, y, b, 20, k[31]), C = L(C, T = L(T, y = L(y, A, C, T, f, 4, k[32]), A, C, g, 11, k[33]), y, A, v, 16, k[34]), T, y, _, 23, k[35]), C = L(C, T = L(T, y = L(y, A, C, T, s, 4, k[36]), A, C, d, 11, k[37]), y, A, u, 16, k[38]), T, y, m, 23, k[39]), C = L(C, T = L(T, y = L(y, A, C, T, E, 4, k[40]), A, C, o, 11, k[41]), y, A, c, 16, k[42]), T, y, p, 23, k[43]), C = L(C, T = L(T, y = L(y, A, C, T, h, 4, k[44]), A, C, b, 11, k[45]), y, A, w, 16, k[46]), T, y, l, 23, k[47]), C = x(C, T = x(T, y = x(y, A, C, T, o, 6, k[48]), A, C, u, 10, k[49]), y, A, _, 15, k[50]), T, y, f, 21, k[51]), C = x(C, T = x(T, y = x(y, A, C, T, b, 6, k[52]), A, C, c, 10, k[53]), y, A, m, 15, k[54]), T, y, s, 21, k[55]), C = x(C, T = x(T, y = x(y, A, C, T, g, 6, k[56]), A, C, w, 10, k[57]), y, A, p, 15, k[58]), T, y, E, 21, k[59]), C = x(C, T = x(T, y = x(y, A, C, T, d, 6, k[60]), A, C, v, 10, k[61]), y, A, l, 15, k[62]), T, y, h, 21, k[63]), i[0] = i[0] + y | 0, i[1] = i[1] + A | 0, i[2] = i[2] + C | 0, i[3] = i[3] + T | 0;\n },\n _doFinalize: function () {\n var e = this._data,\n t = e.words,\n a = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n t[n >>> 5] |= 128 << 24 - n % 32;\n var r = d.floor(a / 4294967296),\n i = a;\n t[15 + (n + 64 >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), t[14 + (n + 64 >>> 9 << 4)] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8), e.sigBytes = 4 * (t.length + 1), this._process();\n for (var o = this._hash, s = o.words, l = 0; l < 4; l++) {\n var c = s[l];\n s[l] = 16711935 & (c << 8 | c >>> 24) | 4278255360 & (c << 24 | c >>> 8);\n }\n return o;\n },\n clone: function e() {\n var e = n.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n });\n function S(e, t, a, n, r, i, o) {\n var s = e + (t & a | ~t & n) + r + o;\n return (s << i | s >>> 32 - i) + t;\n }\n function R(e, t, a, n, r, i, o) {\n var s = e + (t & n | a & ~n) + r + o;\n return (s << i | s >>> 32 - i) + t;\n }\n function L(e, t, a, n, r, i, o) {\n var s = e + (t ^ a ^ n) + r + o;\n return (s << i | s >>> 32 - i) + t;\n }\n function x(e, t, a, n, r, i, o) {\n var s = e + (a ^ (t | ~n)) + r + o;\n return (s << i | s >>> 32 - i) + t;\n }\n e.MD5 = n._createHelper(i), e.HmacMD5 = n._createHmacHelper(i);\n }(Math), n = (a = ve).lib, r = n.WordArray, i = n.Hasher, o = a.algo, f = [], s = o.SHA1 = i.extend({\n _doReset: function () {\n this._hash = new r.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);\n },\n _doProcessBlock: function (e, t) {\n for (var a = this._hash.words, n = a[0], r = a[1], i = a[2], o = a[3], s = a[4], l = 0; l < 80; l++) {\n if (l < 16) f[l] = 0 | e[t + l];else {\n var c = f[l - 3] ^ f[l - 8] ^ f[l - 14] ^ f[l - 16];\n f[l] = c << 1 | c >>> 31;\n }\n var d = (n << 5 | n >>> 27) + s + f[l];\n d += l < 20 ? 1518500249 + (r & i | ~r & o) : l < 40 ? 1859775393 + (r ^ i ^ o) : l < 60 ? (r & i | r & o | i & o) - 1894007588 : (r ^ i ^ o) - 899497514, s = o, o = i, i = r << 30 | r >>> 2, r = n, n = d;\n }\n a[0] = a[0] + n | 0, a[1] = a[1] + r | 0, a[2] = a[2] + i | 0, a[3] = a[3] + o | 0, a[4] = a[4] + s | 0;\n },\n _doFinalize: function () {\n var e = this._data,\n t = e.words,\n a = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n return t[n >>> 5] |= 128 << 24 - n % 32, t[14 + (n + 64 >>> 9 << 4)] = Math.floor(a / 4294967296), t[15 + (n + 64 >>> 9 << 4)] = a, e.sigBytes = 4 * t.length, this._process(), this._hash;\n },\n clone: function e() {\n var e = i.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n }), a.SHA1 = i._createHelper(s), a.HmacSHA1 = i._createHmacHelper(s), function (r) {\n var e = ve,\n t = e.lib,\n a = t.WordArray,\n n = t.Hasher,\n i = e.algo,\n o = [],\n E = [];\n !function () {\n function e(e) {\n for (var t = r.sqrt(e), a = 2; a <= t; a++) if (!(e % a)) return !1;\n return !0;\n }\n function t(e) {\n return 4294967296 * (e - (0 | e)) | 0;\n }\n for (var a = 2, n = 0; n < 64;) e(a) && (n < 8 && (o[n] = t(r.pow(a, .5))), E[n] = t(r.pow(a, 1 / 3)), n++), a++;\n }();\n var _ = [],\n s = i.SHA256 = n.extend({\n _doReset: function () {\n this._hash = new a.init(o.slice(0));\n },\n _doProcessBlock: function (e, t) {\n for (var a = this._hash.words, n = a[0], r = a[1], i = a[2], o = a[3], s = a[4], l = a[5], c = a[6], d = a[7], f = 0; f < 64; f++) {\n if (f < 16) _[f] = 0 | e[t + f];else {\n var p = _[f - 15],\n u = (p << 25 | p >>> 7) ^ (p << 14 | p >>> 18) ^ p >>> 3,\n g = _[f - 2],\n h = (g << 15 | g >>> 17) ^ (g << 13 | g >>> 19) ^ g >>> 10;\n _[f] = u + _[f - 7] + h + _[f - 16];\n }\n var m = n & r ^ n & i ^ r & i,\n v = (n << 30 | n >>> 2) ^ (n << 19 | n >>> 13) ^ (n << 10 | n >>> 22),\n b = d + ((s << 26 | s >>> 6) ^ (s << 21 | s >>> 11) ^ (s << 7 | s >>> 25)) + (s & l ^ ~s & c) + E[f] + _[f];\n d = c, c = l, l = s, s = o + b | 0, o = i, i = r, r = n, n = b + (v + m) | 0;\n }\n a[0] = a[0] + n | 0, a[1] = a[1] + r | 0, a[2] = a[2] + i | 0, a[3] = a[3] + o | 0, a[4] = a[4] + s | 0, a[5] = a[5] + l | 0, a[6] = a[6] + c | 0, a[7] = a[7] + d | 0;\n },\n _doFinalize: function () {\n var e = this._data,\n t = e.words,\n a = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n return t[n >>> 5] |= 128 << 24 - n % 32, t[14 + (n + 64 >>> 9 << 4)] = r.floor(a / 4294967296), t[15 + (n + 64 >>> 9 << 4)] = a, e.sigBytes = 4 * t.length, this._process(), this._hash;\n },\n clone: function e() {\n var e = n.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n });\n e.SHA256 = n._createHelper(s), e.HmacSHA256 = n._createHmacHelper(s);\n }(Math), function () {\n var e = ve,\n r = e.lib.WordArray,\n t = e.enc;\n t.Utf16 = t.Utf16BE = {\n stringify: function (e) {\n for (var t = e.words, a = e.sigBytes, n = [], r = 0; r < a; r += 2) {\n var i = t[r >>> 2] >>> 16 - r % 4 * 8 & 65535;\n n.push(String.fromCharCode(i));\n }\n return n.join(\"\");\n },\n parse: function (e) {\n for (var t = e.length, a = [], n = 0; n < t; n++) a[n >>> 1] |= e.charCodeAt(n) << 16 - n % 2 * 16;\n return r.create(a, 2 * t);\n }\n };\n function o(e) {\n return e << 8 & 4278255360 | e >>> 8 & 16711935;\n }\n t.Utf16LE = {\n stringify: function (e) {\n for (var t = e.words, a = e.sigBytes, n = [], r = 0; r < a; r += 2) {\n var i = o(t[r >>> 2] >>> 16 - r % 4 * 8 & 65535);\n n.push(String.fromCharCode(i));\n }\n return n.join(\"\");\n },\n parse: function (e) {\n for (var t = e.length, a = [], n = 0; n < t; n++) a[n >>> 1] |= o(e.charCodeAt(n) << 16 - n % 2 * 16);\n return r.create(a, 2 * t);\n }\n };\n }(), function () {\n if (\"function\" == typeof ArrayBuffer) {\n var e = ve.lib.WordArray,\n r = e.init;\n (e.init = function (e) {\n if (e instanceof ArrayBuffer && (e = new Uint8Array(e)), (e instanceof Int8Array || \"undefined\" != typeof Uint8ClampedArray && e instanceof Uint8ClampedArray || e instanceof Int16Array || e instanceof Uint16Array || e instanceof Int32Array || e instanceof Uint32Array || e instanceof Float32Array || e instanceof Float64Array) && (e = new Uint8Array(e.buffer, e.byteOffset, e.byteLength)), e instanceof Uint8Array) {\n for (var t = e.byteLength, a = [], n = 0; n < t; n++) a[n >>> 2] |= e[n] << 24 - n % 4 * 8;\n r.call(this, a, t);\n } else r.apply(this, arguments);\n }).prototype = e;\n }\n }(), function (e) {\n var t = ve,\n a = t.lib,\n n = a.WordArray,\n r = a.Hasher,\n i = t.algo,\n A = n.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]),\n C = n.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]),\n T = n.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]),\n k = n.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]),\n S = n.create([0, 1518500249, 1859775393, 2400959708, 2840853838]),\n R = n.create([1352829926, 1548603684, 1836072691, 2053994217, 0]),\n o = i.RIPEMD160 = r.extend({\n _doReset: function () {\n this._hash = n.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);\n },\n _doProcessBlock: function (e, t) {\n for (var a = 0; a < 16; a++) {\n var n = t + a,\n r = e[n];\n e[n] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8);\n }\n var i,\n o,\n s,\n l,\n c,\n d,\n f,\n p,\n u,\n g,\n h,\n m = this._hash.words,\n v = S.words,\n b = R.words,\n E = A.words,\n _ = C.words,\n w = T.words,\n y = k.words;\n d = i = m[0], f = o = m[1], p = s = m[2], u = l = m[3], g = c = m[4];\n for (a = 0; a < 80; a += 1) h = i + e[t + E[a]] | 0, h += a < 16 ? L(o, s, l) + v[0] : a < 32 ? x(o, s, l) + v[1] : a < 48 ? I(o, s, l) + v[2] : a < 64 ? O(o, s, l) + v[3] : F(o, s, l) + v[4], h = (h = M(h |= 0, w[a])) + c | 0, i = c, c = l, l = M(s, 10), s = o, o = h, h = d + e[t + _[a]] | 0, h += a < 16 ? F(f, p, u) + b[0] : a < 32 ? O(f, p, u) + b[1] : a < 48 ? I(f, p, u) + b[2] : a < 64 ? x(f, p, u) + b[3] : L(f, p, u) + b[4], h = (h = M(h |= 0, y[a])) + g | 0, d = g, g = u, u = M(p, 10), p = f, f = h;\n h = m[1] + s + u | 0, m[1] = m[2] + l + g | 0, m[2] = m[3] + c + d | 0, m[3] = m[4] + i + f | 0, m[4] = m[0] + o + p | 0, m[0] = h;\n },\n _doFinalize: function () {\n var e = this._data,\n t = e.words,\n a = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n t[n >>> 5] |= 128 << 24 - n % 32, t[14 + (n + 64 >>> 9 << 4)] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), e.sigBytes = 4 * (t.length + 1), this._process();\n for (var r = this._hash, i = r.words, o = 0; o < 5; o++) {\n var s = i[o];\n i[o] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8);\n }\n return r;\n },\n clone: function e() {\n var e = r.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n });\n function L(e, t, a) {\n return e ^ t ^ a;\n }\n function x(e, t, a) {\n return e & t | ~e & a;\n }\n function I(e, t, a) {\n return (e | ~t) ^ a;\n }\n function O(e, t, a) {\n return e & a | t & ~a;\n }\n function F(e, t, a) {\n return e ^ (t | ~a);\n }\n function M(e, t) {\n return e << t | e >>> 32 - t;\n }\n t.RIPEMD160 = r._createHelper(o), t.HmacRIPEMD160 = r._createHmacHelper(o);\n }(Math), c = (l = ve).lib.Base, p = l.enc.Utf8, l.algo.HMAC = c.extend({\n init: function (e, t) {\n e = this._hasher = new e.init(), \"string\" == typeof t && (t = p.parse(t));\n var a = e.blockSize,\n n = 4 * a;\n t.sigBytes > n && (t = e.finalize(t)), t.clamp();\n for (var r = this._oKey = t.clone(), i = this._iKey = t.clone(), o = r.words, s = i.words, l = 0; l < a; l++) o[l] ^= 1549556828, s[l] ^= 909522486;\n r.sigBytes = i.sigBytes = n, this.reset();\n },\n reset: function () {\n var e = this._hasher;\n e.reset(), e.update(this._iKey);\n },\n update: function (e) {\n return this._hasher.update(e), this;\n },\n finalize: function (e) {\n var t = this._hasher,\n a = t.finalize(e);\n return t.reset(), t.finalize(this._oKey.clone().concat(a));\n }\n }), g = (u = ve).lib, h = g.Base, v = g.WordArray, m = u.algo, b = m.SHA1, E = m.HMAC, _ = m.PBKDF2 = h.extend({\n cfg: h.extend({\n keySize: 4,\n hasher: b,\n iterations: 1\n }),\n init: function (e) {\n this.cfg = this.cfg.extend(e);\n },\n compute: function (e, t) {\n for (var a = this.cfg, n = E.create(a.hasher, e), r = v.create(), i = v.create([1]), o = r.words, s = i.words, l = a.keySize, c = a.iterations; o.length < l;) {\n var d = n.update(t).finalize(i);\n n.reset();\n for (var f = d.words, p = f.length, u = d, g = 1; g < c; g++) {\n u = n.finalize(u), n.reset();\n for (var h = u.words, m = 0; m < p; m++) f[m] ^= h[m];\n }\n r.concat(d), s[0]++;\n }\n return r.sigBytes = 4 * l, r;\n }\n }), u.PBKDF2 = function (e, t, a) {\n return _.create(a).compute(e, t);\n }, y = (w = ve).lib, A = y.Base, C = y.WordArray, T = w.algo, k = T.MD5, S = T.EvpKDF = A.extend({\n cfg: A.extend({\n keySize: 4,\n hasher: k,\n iterations: 1\n }),\n init: function (e) {\n this.cfg = this.cfg.extend(e);\n },\n compute: function (e, t) {\n for (var a, n = this.cfg, r = n.hasher.create(), i = C.create(), o = i.words, s = n.keySize, l = n.iterations; o.length < s;) {\n a && r.update(a), a = r.update(e).finalize(t), r.reset();\n for (var c = 1; c < l; c++) a = r.finalize(a), r.reset();\n i.concat(a);\n }\n return i.sigBytes = 4 * s, i;\n }\n }), w.EvpKDF = function (e, t, a) {\n return S.create(a).compute(e, t);\n }, L = (R = ve).lib.WordArray, x = R.algo, I = x.SHA256, O = x.SHA224 = I.extend({\n _doReset: function () {\n this._hash = new L.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]);\n },\n _doFinalize: function () {\n var e = I._doFinalize.call(this);\n return e.sigBytes -= 4, e;\n }\n }), R.SHA224 = I._createHelper(O), R.HmacSHA224 = I._createHmacHelper(O), M = (F = ve).lib, N = M.Base, D = M.WordArray, (P = F.x64 = {}).Word = N.extend({\n init: function (e, t) {\n this.high = e, this.low = t;\n }\n }), P.WordArray = N.extend({\n init: function (e, t) {\n e = this.words = e || [], this.sigBytes = null != t ? t : 8 * e.length;\n },\n toX32: function () {\n for (var e = this.words, t = e.length, a = [], n = 0; n < t; n++) {\n var r = e[n];\n a.push(r.high), a.push(r.low);\n }\n return D.create(a, this.sigBytes);\n },\n clone: function e() {\n for (var e = N.clone.call(this), t = e.words = this.words.slice(0), a = t.length, n = 0; n < a; n++) t[n] = t[n].clone();\n return e;\n }\n }), function (p) {\n var e = ve,\n t = e.lib,\n u = t.WordArray,\n n = t.Hasher,\n d = e.x64.Word,\n a = e.algo,\n L = [],\n x = [],\n I = [];\n !function () {\n for (var e = 1, t = 0, a = 0; a < 24; a++) {\n L[e + 5 * t] = (a + 1) * (a + 2) / 2 % 64;\n var n = (2 * e + 3 * t) % 5;\n e = t % 5, t = n;\n }\n for (e = 0; e < 5; e++) for (t = 0; t < 5; t++) x[e + 5 * t] = t + (2 * e + 3 * t) % 5 * 5;\n for (var r = 1, i = 0; i < 24; i++) {\n for (var o = 0, s = 0, l = 0; l < 7; l++) {\n if (1 & r) {\n var c = (1 << l) - 1;\n c < 32 ? s ^= 1 << c : o ^= 1 << c - 32;\n }\n 128 & r ? r = r << 1 ^ 113 : r <<= 1;\n }\n I[i] = d.create(o, s);\n }\n }();\n var O = [];\n !function () {\n for (var e = 0; e < 25; e++) O[e] = d.create();\n }();\n var r = a.SHA3 = n.extend({\n cfg: n.cfg.extend({\n outputLength: 512\n }),\n _doReset: function () {\n for (var e = this._state = [], t = 0; t < 25; t++) e[t] = new d.init();\n this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;\n },\n _doProcessBlock: function (e, t) {\n for (var a = this._state, n = this.blockSize / 2, r = 0; r < n; r++) {\n var i = e[t + 2 * r],\n o = e[t + 2 * r + 1];\n i = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8), o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), (C = a[r]).high ^= o, C.low ^= i;\n }\n for (var s = 0; s < 24; s++) {\n for (var l = 0; l < 5; l++) {\n for (var c = 0, d = 0, f = 0; f < 5; f++) {\n c ^= (C = a[l + 5 * f]).high, d ^= C.low;\n }\n var p = O[l];\n p.high = c, p.low = d;\n }\n for (l = 0; l < 5; l++) {\n var u = O[(l + 4) % 5],\n g = O[(l + 1) % 5],\n h = g.high,\n m = g.low;\n for (c = u.high ^ (h << 1 | m >>> 31), d = u.low ^ (m << 1 | h >>> 31), f = 0; f < 5; f++) {\n (C = a[l + 5 * f]).high ^= c, C.low ^= d;\n }\n }\n for (var v = 1; v < 25; v++) {\n var b = (C = a[v]).high,\n E = C.low,\n _ = L[v];\n d = _ < 32 ? (c = b << _ | E >>> 32 - _, E << _ | b >>> 32 - _) : (c = E << _ - 32 | b >>> 64 - _, b << _ - 32 | E >>> 64 - _);\n var w = O[x[v]];\n w.high = c, w.low = d;\n }\n var y = O[0],\n A = a[0];\n y.high = A.high, y.low = A.low;\n for (l = 0; l < 5; l++) for (f = 0; f < 5; f++) {\n var C = a[v = l + 5 * f],\n T = O[v],\n k = O[(l + 1) % 5 + 5 * f],\n S = O[(l + 2) % 5 + 5 * f];\n C.high = T.high ^ ~k.high & S.high, C.low = T.low ^ ~k.low & S.low;\n }\n C = a[0];\n var R = I[s];\n C.high ^= R.high, C.low ^= R.low;\n }\n },\n _doFinalize: function () {\n var e = this._data,\n t = e.words,\n a = (this._nDataBytes, 8 * e.sigBytes),\n n = 32 * this.blockSize;\n t[a >>> 5] |= 1 << 24 - a % 32, t[(p.ceil((a + 1) / n) * n >>> 5) - 1] |= 128, e.sigBytes = 4 * t.length, this._process();\n for (var r = this._state, i = this.cfg.outputLength / 8, o = i / 8, s = [], l = 0; l < o; l++) {\n var c = r[l],\n d = c.high,\n f = c.low;\n d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), f = 16711935 & (f << 8 | f >>> 24) | 4278255360 & (f << 24 | f >>> 8), s.push(f), s.push(d);\n }\n return new u.init(s, i);\n },\n clone: function e() {\n for (var e = n.clone.call(this), t = e._state = this._state.slice(0), a = 0; a < 25; a++) t[a] = t[a].clone();\n return e;\n }\n });\n e.SHA3 = n._createHelper(r), e.HmacSHA3 = n._createHmacHelper(r);\n }(Math), function () {\n var e = ve,\n t = e.lib.Hasher,\n a = e.x64,\n n = a.Word,\n r = a.WordArray,\n i = e.algo;\n function o() {\n return n.create.apply(n, arguments);\n }\n var Ae = [o(1116352408, 3609767458), o(1899447441, 602891725), o(3049323471, 3964484399), o(3921009573, 2173295548), o(961987163, 4081628472), o(1508970993, 3053834265), o(2453635748, 2937671579), o(2870763221, 3664609560), o(3624381080, 2734883394), o(310598401, 1164996542), o(607225278, 1323610764), o(1426881987, 3590304994), o(1925078388, 4068182383), o(2162078206, 991336113), o(2614888103, 633803317), o(3248222580, 3479774868), o(3835390401, 2666613458), o(4022224774, 944711139), o(264347078, 2341262773), o(604807628, 2007800933), o(770255983, 1495990901), o(1249150122, 1856431235), o(1555081692, 3175218132), o(1996064986, 2198950837), o(2554220882, 3999719339), o(2821834349, 766784016), o(2952996808, 2566594879), o(3210313671, 3203337956), o(3336571891, 1034457026), o(3584528711, 2466948901), o(113926993, 3758326383), o(338241895, 168717936), o(666307205, 1188179964), o(773529912, 1546045734), o(1294757372, 1522805485), o(1396182291, 2643833823), o(1695183700, 2343527390), o(1986661051, 1014477480), o(2177026350, 1206759142), o(2456956037, 344077627), o(2730485921, 1290863460), o(2820302411, 3158454273), o(3259730800, 3505952657), o(3345764771, 106217008), o(3516065817, 3606008344), o(3600352804, 1432725776), o(4094571909, 1467031594), o(275423344, 851169720), o(430227734, 3100823752), o(506948616, 1363258195), o(659060556, 3750685593), o(883997877, 3785050280), o(958139571, 3318307427), o(1322822218, 3812723403), o(1537002063, 2003034995), o(1747873779, 3602036899), o(1955562222, 1575990012), o(2024104815, 1125592928), o(2227730452, 2716904306), o(2361852424, 442776044), o(2428436474, 593698344), o(2756734187, 3733110249), o(3204031479, 2999351573), o(3329325298, 3815920427), o(3391569614, 3928383900), o(3515267271, 566280711), o(3940187606, 3454069534), o(4118630271, 4000239992), o(116418474, 1914138554), o(174292421, 2731055270), o(289380356, 3203993006), o(460393269, 320620315), o(685471733, 587496836), o(852142971, 1086792851), o(1017036298, 365543100), o(1126000580, 2618297676), o(1288033470, 3409855158), o(1501505948, 4234509866), o(1607167915, 987167468), o(1816402316, 1246189591)],\n Ce = [];\n !function () {\n for (var e = 0; e < 80; e++) Ce[e] = o();\n }();\n var s = i.SHA512 = t.extend({\n _doReset: function () {\n this._hash = new r.init([new n.init(1779033703, 4089235720), new n.init(3144134277, 2227873595), new n.init(1013904242, 4271175723), new n.init(2773480762, 1595750129), new n.init(1359893119, 2917565137), new n.init(2600822924, 725511199), new n.init(528734635, 4215389547), new n.init(1541459225, 327033209)]);\n },\n _doProcessBlock: function (e, t) {\n for (var a = this._hash.words, n = a[0], r = a[1], i = a[2], o = a[3], s = a[4], l = a[5], c = a[6], d = a[7], f = n.high, p = n.low, u = r.high, g = r.low, h = i.high, m = i.low, v = o.high, b = o.low, E = s.high, _ = s.low, w = l.high, y = l.low, A = c.high, C = c.low, T = d.high, k = d.low, S = f, R = p, L = u, x = g, I = h, O = m, F = v, M = b, N = E, D = _, P = w, B = y, U = A, $ = C, H = T, z = k, K = 0; K < 80; K++) {\n var W,\n G,\n V = Ce[K];\n if (K < 16) G = V.high = 0 | e[t + 2 * K], W = V.low = 0 | e[t + 2 * K + 1];else {\n var Y = Ce[K - 15],\n j = Y.high,\n q = Y.low,\n X = (j >>> 1 | q << 31) ^ (j >>> 8 | q << 24) ^ j >>> 7,\n Z = (q >>> 1 | j << 31) ^ (q >>> 8 | j << 24) ^ (q >>> 7 | j << 25),\n Q = Ce[K - 2],\n J = Q.high,\n ee = Q.low,\n te = (J >>> 19 | ee << 13) ^ (J << 3 | ee >>> 29) ^ J >>> 6,\n ae = (ee >>> 19 | J << 13) ^ (ee << 3 | J >>> 29) ^ (ee >>> 6 | J << 26),\n ne = Ce[K - 7],\n re = ne.high,\n ie = ne.low,\n oe = Ce[K - 16],\n se = oe.high,\n le = oe.low;\n G = (G = (G = X + re + ((W = Z + ie) >>> 0 < Z >>> 0 ? 1 : 0)) + te + ((W += ae) >>> 0 < ae >>> 0 ? 1 : 0)) + se + ((W += le) >>> 0 < le >>> 0 ? 1 : 0), V.high = G, V.low = W;\n }\n var ce,\n de = N & P ^ ~N & U,\n fe = D & B ^ ~D & $,\n pe = S & L ^ S & I ^ L & I,\n ue = R & x ^ R & O ^ x & O,\n ge = (S >>> 28 | R << 4) ^ (S << 30 | R >>> 2) ^ (S << 25 | R >>> 7),\n he = (R >>> 28 | S << 4) ^ (R << 30 | S >>> 2) ^ (R << 25 | S >>> 7),\n me = (N >>> 14 | D << 18) ^ (N >>> 18 | D << 14) ^ (N << 23 | D >>> 9),\n ve = (D >>> 14 | N << 18) ^ (D >>> 18 | N << 14) ^ (D << 23 | N >>> 9),\n be = Ae[K],\n Ee = be.high,\n _e = be.low,\n we = H + me + ((ce = z + ve) >>> 0 < z >>> 0 ? 1 : 0),\n ye = he + ue;\n H = U, z = $, U = P, $ = B, P = N, B = D, N = F + (we = (we = (we = we + de + ((ce = ce + fe) >>> 0 < fe >>> 0 ? 1 : 0)) + Ee + ((ce = ce + _e) >>> 0 < _e >>> 0 ? 1 : 0)) + G + ((ce = ce + W) >>> 0 < W >>> 0 ? 1 : 0)) + ((D = M + ce | 0) >>> 0 < M >>> 0 ? 1 : 0) | 0, F = I, M = O, I = L, O = x, L = S, x = R, S = we + (ge + pe + (ye >>> 0 < he >>> 0 ? 1 : 0)) + ((R = ce + ye | 0) >>> 0 < ce >>> 0 ? 1 : 0) | 0;\n }\n p = n.low = p + R, n.high = f + S + (p >>> 0 < R >>> 0 ? 1 : 0), g = r.low = g + x, r.high = u + L + (g >>> 0 < x >>> 0 ? 1 : 0), m = i.low = m + O, i.high = h + I + (m >>> 0 < O >>> 0 ? 1 : 0), b = o.low = b + M, o.high = v + F + (b >>> 0 < M >>> 0 ? 1 : 0), _ = s.low = _ + D, s.high = E + N + (_ >>> 0 < D >>> 0 ? 1 : 0), y = l.low = y + B, l.high = w + P + (y >>> 0 < B >>> 0 ? 1 : 0), C = c.low = C + $, c.high = A + U + (C >>> 0 < $ >>> 0 ? 1 : 0), k = d.low = k + z, d.high = T + H + (k >>> 0 < z >>> 0 ? 1 : 0);\n },\n _doFinalize: function () {\n var e = this._data,\n t = e.words,\n a = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n return t[n >>> 5] |= 128 << 24 - n % 32, t[30 + (n + 128 >>> 10 << 5)] = Math.floor(a / 4294967296), t[31 + (n + 128 >>> 10 << 5)] = a, e.sigBytes = 4 * t.length, this._process(), this._hash.toX32();\n },\n clone: function e() {\n var e = t.clone.call(this);\n return e._hash = this._hash.clone(), e;\n },\n blockSize: 32\n });\n e.SHA512 = t._createHelper(s), e.HmacSHA512 = t._createHmacHelper(s);\n }(), U = (B = ve).x64, $ = U.Word, H = U.WordArray, z = B.algo, K = z.SHA512, W = z.SHA384 = K.extend({\n _doReset: function () {\n this._hash = new H.init([new $.init(3418070365, 3238371032), new $.init(1654270250, 914150663), new $.init(2438529370, 812702999), new $.init(355462360, 4144912697), new $.init(1731405415, 4290775857), new $.init(2394180231, 1750603025), new $.init(3675008525, 1694076839), new $.init(1203062813, 3204075428)]);\n },\n _doFinalize: function () {\n var e = K._doFinalize.call(this);\n return e.sigBytes -= 16, e;\n }\n }), B.SHA384 = K._createHelper(W), B.HmacSHA384 = K._createHmacHelper(W), ve.lib.Cipher || (V = (G = ve).lib, Y = V.Base, j = V.WordArray, q = V.BufferedBlockAlgorithm, (X = G.enc).Utf8, Z = X.Base64, Q = G.algo.EvpKDF, J = V.Cipher = q.extend({\n cfg: Y.extend(),\n createEncryptor: function (e, t) {\n return this.create(this._ENC_XFORM_MODE, e, t);\n },\n createDecryptor: function (e, t) {\n return this.create(this._DEC_XFORM_MODE, e, t);\n },\n init: function (e, t, a) {\n this.cfg = this.cfg.extend(a), this._xformMode = e, this._key = t, this.reset();\n },\n reset: function () {\n q.reset.call(this), this._doReset();\n },\n process: function (e) {\n return this._append(e), this._process();\n },\n finalize: function (e) {\n return e && this._append(e), this._doFinalize();\n },\n keySize: 4,\n ivSize: 4,\n _ENC_XFORM_MODE: 1,\n _DEC_XFORM_MODE: 2,\n _createHelper: function () {\n function r(e) {\n return \"string\" == typeof e ? le : oe;\n }\n return function (n) {\n return {\n encrypt: function (e, t, a) {\n return r(t).encrypt(n, e, t, a);\n },\n decrypt: function (e, t, a) {\n return r(t).decrypt(n, e, t, a);\n }\n };\n };\n }()\n }), V.StreamCipher = J.extend({\n _doFinalize: function () {\n return this._process(!0);\n },\n blockSize: 1\n }), ee = G.mode = {}, te = V.BlockCipherMode = Y.extend({\n createEncryptor: function (e, t) {\n return this.Encryptor.create(e, t);\n },\n createDecryptor: function (e, t) {\n return this.Decryptor.create(e, t);\n },\n init: function (e, t) {\n this._cipher = e, this._iv = t;\n }\n }), ae = ee.CBC = function () {\n var e = te.extend();\n function i(e, t, a) {\n var n,\n r = this._iv;\n r ? (n = r, this._iv = void 0) : n = this._prevBlock;\n for (var i = 0; i < a; i++) e[t + i] ^= n[i];\n }\n return e.Encryptor = e.extend({\n processBlock: function (e, t) {\n var a = this._cipher,\n n = a.blockSize;\n i.call(this, e, t, n), a.encryptBlock(e, t), this._prevBlock = e.slice(t, t + n);\n }\n }), e.Decryptor = e.extend({\n processBlock: function (e, t) {\n var a = this._cipher,\n n = a.blockSize,\n r = e.slice(t, t + n);\n a.decryptBlock(e, t), i.call(this, e, t, n), this._prevBlock = r;\n }\n }), e;\n }(), ne = (G.pad = {}).Pkcs7 = {\n pad: function (e, t) {\n for (var a = 4 * t, n = a - e.sigBytes % a, r = n << 24 | n << 16 | n << 8 | n, i = [], o = 0; o < n; o += 4) i.push(r);\n var s = j.create(i, n);\n e.concat(s);\n },\n unpad: function (e) {\n var t = 255 & e.words[e.sigBytes - 1 >>> 2];\n e.sigBytes -= t;\n }\n }, V.BlockCipher = J.extend({\n cfg: J.cfg.extend({\n mode: ae,\n padding: ne\n }),\n reset: function () {\n var e;\n J.reset.call(this);\n var t = this.cfg,\n a = t.iv,\n n = t.mode;\n this._xformMode == this._ENC_XFORM_MODE ? e = n.createEncryptor : (e = n.createDecryptor, this._minBufferSize = 1), this._mode && this._mode.__creator == e ? this._mode.init(this, a && a.words) : (this._mode = e.call(n, this, a && a.words), this._mode.__creator = e);\n },\n _doProcessBlock: function (e, t) {\n this._mode.processBlock(e, t);\n },\n _doFinalize: function () {\n var e,\n t = this.cfg.padding;\n return this._xformMode == this._ENC_XFORM_MODE ? (t.pad(this._data, this.blockSize), e = this._process(!0)) : (e = this._process(!0), t.unpad(e)), e;\n },\n blockSize: 4\n }), re = V.CipherParams = Y.extend({\n init: function (e) {\n this.mixIn(e);\n },\n toString: function (e) {\n return (e || this.formatter).stringify(this);\n }\n }), ie = (G.format = {}).OpenSSL = {\n stringify: function (e) {\n var t = e.ciphertext,\n a = e.salt;\n return (a ? j.create([1398893684, 1701076831]).concat(a).concat(t) : t).toString(Z);\n },\n parse: function (e) {\n var t,\n a = Z.parse(e),\n n = a.words;\n return 1398893684 == n[0] && 1701076831 == n[1] && (t = j.create(n.slice(2, 4)), n.splice(0, 4), a.sigBytes -= 16), re.create({\n ciphertext: a,\n salt: t\n });\n }\n }, oe = V.SerializableCipher = Y.extend({\n cfg: Y.extend({\n format: ie\n }),\n encrypt: function (e, t, a, n) {\n n = this.cfg.extend(n);\n var r = e.createEncryptor(a, n),\n i = r.finalize(t),\n o = r.cfg;\n return re.create({\n ciphertext: i,\n key: a,\n iv: o.iv,\n algorithm: e,\n mode: o.mode,\n padding: o.padding,\n blockSize: e.blockSize,\n formatter: n.format\n });\n },\n decrypt: function (e, t, a, n) {\n return n = this.cfg.extend(n), t = this._parse(t, n.format), e.createDecryptor(a, n).finalize(t.ciphertext);\n },\n _parse: function (e, t) {\n return \"string\" == typeof e ? t.parse(e, this) : e;\n }\n }), se = (G.kdf = {}).OpenSSL = {\n execute: function (e, t, a, n) {\n n || (n = j.random(8));\n var r = Q.create({\n keySize: t + a\n }).compute(e, n),\n i = j.create(r.words.slice(t), 4 * a);\n return r.sigBytes = 4 * t, re.create({\n key: r,\n iv: i,\n salt: n\n });\n }\n }, le = V.PasswordBasedCipher = oe.extend({\n cfg: oe.cfg.extend({\n kdf: se\n }),\n encrypt: function (e, t, a, n) {\n var r = (n = this.cfg.extend(n)).kdf.execute(a, e.keySize, e.ivSize);\n n.iv = r.iv;\n var i = oe.encrypt.call(this, e, t, r.key, n);\n return i.mixIn(r), i;\n },\n decrypt: function (e, t, a, n) {\n n = this.cfg.extend(n), t = this._parse(t, n.format);\n var r = n.kdf.execute(a, e.keySize, e.ivSize, t.salt);\n return n.iv = r.iv, oe.decrypt.call(this, e, t, r.key, n);\n }\n })), ve.mode.CFB = function () {\n var e = ve.lib.BlockCipherMode.extend();\n function i(e, t, a, n) {\n var r,\n i = this._iv;\n i ? (r = i.slice(0), this._iv = undefined) : r = this._prevBlock, n.encryptBlock(r, 0);\n for (var o = 0; o < a; o++) e[t + o] ^= r[o];\n }\n return e.Encryptor = e.extend({\n processBlock: function (e, t) {\n var a = this._cipher,\n n = a.blockSize;\n i.call(this, e, t, n, a), this._prevBlock = e.slice(t, t + n);\n }\n }), e.Decryptor = e.extend({\n processBlock: function (e, t) {\n var a = this._cipher,\n n = a.blockSize,\n r = e.slice(t, t + n);\n i.call(this, e, t, n, a), this._prevBlock = r;\n }\n }), e;\n }(), ve.mode.ECB = ((ce = ve.lib.BlockCipherMode.extend()).Encryptor = ce.extend({\n processBlock: function (e, t) {\n this._cipher.encryptBlock(e, t);\n }\n }), ce.Decryptor = ce.extend({\n processBlock: function (e, t) {\n this._cipher.decryptBlock(e, t);\n }\n }), ce), ve.pad.AnsiX923 = {\n pad: function (e, t) {\n var a = e.sigBytes,\n n = 4 * t,\n r = n - a % n,\n i = a + r - 1;\n e.clamp(), e.words[i >>> 2] |= r << 24 - i % 4 * 8, e.sigBytes += r;\n },\n unpad: function (e) {\n var t = 255 & e.words[e.sigBytes - 1 >>> 2];\n e.sigBytes -= t;\n }\n }, ve.pad.Iso10126 = {\n pad: function (e, t) {\n var a = 4 * t,\n n = a - e.sigBytes % a;\n e.concat(ve.lib.WordArray.random(n - 1)).concat(ve.lib.WordArray.create([n << 24], 1));\n },\n unpad: function (e) {\n var t = 255 & e.words[e.sigBytes - 1 >>> 2];\n e.sigBytes -= t;\n }\n }, ve.pad.Iso97971 = {\n pad: function (e, t) {\n e.concat(ve.lib.WordArray.create([2147483648], 1)), ve.pad.ZeroPadding.pad(e, t);\n },\n unpad: function (e) {\n ve.pad.ZeroPadding.unpad(e), e.sigBytes--;\n }\n }, ve.mode.OFB = (de = ve.lib.BlockCipherMode.extend(), fe = de.Encryptor = de.extend({\n processBlock: function (e, t) {\n var a = this._cipher,\n n = a.blockSize,\n r = this._iv,\n i = this._keystream;\n r && (i = this._keystream = r.slice(0), this._iv = undefined), a.encryptBlock(i, 0);\n for (var o = 0; o < n; o++) e[t + o] ^= i[o];\n }\n }), de.Decryptor = fe, de), ve.pad.NoPadding = {\n pad: function () {},\n unpad: function () {}\n }, ue = (pe = ve).lib.CipherParams, ge = pe.enc.Hex, pe.format.Hex = {\n stringify: function (e) {\n return e.ciphertext.toString(ge);\n },\n parse: function (e) {\n var t = ge.parse(e);\n return ue.create({\n ciphertext: t\n });\n }\n }, function () {\n var e = ve,\n t = e.lib.BlockCipher,\n a = e.algo,\n c = [],\n d = [],\n f = [],\n p = [],\n u = [],\n g = [],\n h = [],\n m = [],\n v = [],\n b = [];\n !function () {\n for (var e = [], t = 0; t < 256; t++) e[t] = t < 128 ? t << 1 : t << 1 ^ 283;\n var a = 0,\n n = 0;\n for (t = 0; t < 256; t++) {\n var r = n ^ n << 1 ^ n << 2 ^ n << 3 ^ n << 4;\n r = r >>> 8 ^ 255 & r ^ 99, c[a] = r;\n var i = e[d[r] = a],\n o = e[i],\n s = e[o],\n l = 257 * e[r] ^ 16843008 * r;\n f[a] = l << 24 | l >>> 8, p[a] = l << 16 | l >>> 16, u[a] = l << 8 | l >>> 24, g[a] = l;\n l = 16843009 * s ^ 65537 * o ^ 257 * i ^ 16843008 * a;\n h[r] = l << 24 | l >>> 8, m[r] = l << 16 | l >>> 16, v[r] = l << 8 | l >>> 24, b[r] = l, a ? (a = i ^ e[e[e[s ^ i]]], n ^= e[e[n]]) : a = n = 1;\n }\n }();\n var E = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54],\n n = a.AES = t.extend({\n _doReset: function () {\n if (!this._nRounds || this._keyPriorReset !== this._key) {\n for (var e = this._keyPriorReset = this._key, t = e.words, a = e.sigBytes / 4, n = 4 * ((this._nRounds = a + 6) + 1), r = this._keySchedule = [], i = 0; i < n; i++) i < a ? r[i] = t[i] : (l = r[i - 1], i % a ? 6 < a && i % a == 4 && (l = c[l >>> 24] << 24 | c[l >>> 16 & 255] << 16 | c[l >>> 8 & 255] << 8 | c[255 & l]) : (l = c[(l = l << 8 | l >>> 24) >>> 24] << 24 | c[l >>> 16 & 255] << 16 | c[l >>> 8 & 255] << 8 | c[255 & l], l ^= E[i / a | 0] << 24), r[i] = r[i - a] ^ l);\n for (var o = this._invKeySchedule = [], s = 0; s < n; s++) {\n i = n - s;\n if (s % 4) var l = r[i];else l = r[i - 4];\n o[s] = s < 4 || i <= 4 ? l : h[c[l >>> 24]] ^ m[c[l >>> 16 & 255]] ^ v[c[l >>> 8 & 255]] ^ b[c[255 & l]];\n }\n }\n },\n encryptBlock: function (e, t) {\n this._doCryptBlock(e, t, this._keySchedule, f, p, u, g, c);\n },\n decryptBlock: function (e, t) {\n var a = e[t + 1];\n e[t + 1] = e[t + 3], e[t + 3] = a, this._doCryptBlock(e, t, this._invKeySchedule, h, m, v, b, d);\n a = e[t + 1];\n e[t + 1] = e[t + 3], e[t + 3] = a;\n },\n _doCryptBlock: function (e, t, a, n, r, i, o, s) {\n for (var l = this._nRounds, c = e[t] ^ a[0], d = e[t + 1] ^ a[1], f = e[t + 2] ^ a[2], p = e[t + 3] ^ a[3], u = 4, g = 1; g < l; g++) {\n var h = n[c >>> 24] ^ r[d >>> 16 & 255] ^ i[f >>> 8 & 255] ^ o[255 & p] ^ a[u++],\n m = n[d >>> 24] ^ r[f >>> 16 & 255] ^ i[p >>> 8 & 255] ^ o[255 & c] ^ a[u++],\n v = n[f >>> 24] ^ r[p >>> 16 & 255] ^ i[c >>> 8 & 255] ^ o[255 & d] ^ a[u++],\n b = n[p >>> 24] ^ r[c >>> 16 & 255] ^ i[d >>> 8 & 255] ^ o[255 & f] ^ a[u++];\n c = h, d = m, f = v, p = b;\n }\n h = (s[c >>> 24] << 24 | s[d >>> 16 & 255] << 16 | s[f >>> 8 & 255] << 8 | s[255 & p]) ^ a[u++], m = (s[d >>> 24] << 24 | s[f >>> 16 & 255] << 16 | s[p >>> 8 & 255] << 8 | s[255 & c]) ^ a[u++], v = (s[f >>> 24] << 24 | s[p >>> 16 & 255] << 16 | s[c >>> 8 & 255] << 8 | s[255 & d]) ^ a[u++], b = (s[p >>> 24] << 24 | s[c >>> 16 & 255] << 16 | s[d >>> 8 & 255] << 8 | s[255 & f]) ^ a[u++];\n e[t] = h, e[t + 1] = m, e[t + 2] = v, e[t + 3] = b;\n },\n keySize: 8\n });\n e.AES = t._createHelper(n);\n }(), function () {\n var e = ve,\n t = e.lib,\n r = t.WordArray,\n a = t.BlockCipher,\n n = e.algo,\n c = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],\n d = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],\n f = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],\n p = [{\n 0: 8421888,\n 268435456: 32768,\n 536870912: 8421378,\n 805306368: 2,\n 1073741824: 512,\n 1342177280: 8421890,\n 1610612736: 8389122,\n 1879048192: 8388608,\n 2147483648: 514,\n 2415919104: 8389120,\n 2684354560: 33280,\n 2952790016: 8421376,\n 3221225472: 32770,\n 3489660928: 8388610,\n 3758096384: 0,\n 4026531840: 33282,\n 134217728: 0,\n 402653184: 8421890,\n 671088640: 33282,\n 939524096: 32768,\n 1207959552: 8421888,\n 1476395008: 512,\n 1744830464: 8421378,\n 2013265920: 2,\n 2281701376: 8389120,\n 2550136832: 33280,\n 2818572288: 8421376,\n 3087007744: 8389122,\n 3355443200: 8388610,\n 3623878656: 32770,\n 3892314112: 514,\n 4160749568: 8388608,\n 1: 32768,\n 268435457: 2,\n 536870913: 8421888,\n 805306369: 8388608,\n 1073741825: 8421378,\n 1342177281: 33280,\n 1610612737: 512,\n 1879048193: 8389122,\n 2147483649: 8421890,\n 2415919105: 8421376,\n 2684354561: 8388610,\n 2952790017: 33282,\n 3221225473: 514,\n 3489660929: 8389120,\n 3758096385: 32770,\n 4026531841: 0,\n 134217729: 8421890,\n 402653185: 8421376,\n 671088641: 8388608,\n 939524097: 512,\n 1207959553: 32768,\n 1476395009: 8388610,\n 1744830465: 2,\n 2013265921: 33282,\n 2281701377: 32770,\n 2550136833: 8389122,\n 2818572289: 514,\n 3087007745: 8421888,\n 3355443201: 8389120,\n 3623878657: 0,\n 3892314113: 33280,\n 4160749569: 8421378\n }, {\n 0: 1074282512,\n 16777216: 16384,\n 33554432: 524288,\n 50331648: 1074266128,\n 67108864: 1073741840,\n 83886080: 1074282496,\n 100663296: 1073758208,\n 117440512: 16,\n 134217728: 540672,\n 150994944: 1073758224,\n 167772160: 1073741824,\n 184549376: 540688,\n 201326592: 524304,\n 218103808: 0,\n 234881024: 16400,\n 251658240: 1074266112,\n 8388608: 1073758208,\n 25165824: 540688,\n 41943040: 16,\n 58720256: 1073758224,\n 75497472: 1074282512,\n 92274688: 1073741824,\n 109051904: 524288,\n 125829120: 1074266128,\n 142606336: 524304,\n 159383552: 0,\n 176160768: 16384,\n 192937984: 1074266112,\n 209715200: 1073741840,\n 226492416: 540672,\n 243269632: 1074282496,\n 260046848: 16400,\n 268435456: 0,\n 285212672: 1074266128,\n 301989888: 1073758224,\n 318767104: 1074282496,\n 335544320: 1074266112,\n 352321536: 16,\n 369098752: 540688,\n 385875968: 16384,\n 402653184: 16400,\n 419430400: 524288,\n 436207616: 524304,\n 452984832: 1073741840,\n 469762048: 540672,\n 486539264: 1073758208,\n 503316480: 1073741824,\n 520093696: 1074282512,\n 276824064: 540688,\n 293601280: 524288,\n 310378496: 1074266112,\n 327155712: 16384,\n 343932928: 1073758208,\n 360710144: 1074282512,\n 377487360: 16,\n 394264576: 1073741824,\n 411041792: 1074282496,\n 427819008: 1073741840,\n 444596224: 1073758224,\n 461373440: 524304,\n 478150656: 0,\n 494927872: 16400,\n 511705088: 1074266128,\n 528482304: 540672\n }, {\n 0: 260,\n 1048576: 0,\n 2097152: 67109120,\n 3145728: 65796,\n 4194304: 65540,\n 5242880: 67108868,\n 6291456: 67174660,\n 7340032: 67174400,\n 8388608: 67108864,\n 9437184: 67174656,\n 10485760: 65792,\n 11534336: 67174404,\n 12582912: 67109124,\n 13631488: 65536,\n 14680064: 4,\n 15728640: 256,\n 524288: 67174656,\n 1572864: 67174404,\n 2621440: 0,\n 3670016: 67109120,\n 4718592: 67108868,\n 5767168: 65536,\n 6815744: 65540,\n 7864320: 260,\n 8912896: 4,\n 9961472: 256,\n 11010048: 67174400,\n 12058624: 65796,\n 13107200: 65792,\n 14155776: 67109124,\n 15204352: 67174660,\n 16252928: 67108864,\n 16777216: 67174656,\n 17825792: 65540,\n 18874368: 65536,\n 19922944: 67109120,\n 20971520: 256,\n 22020096: 67174660,\n 23068672: 67108868,\n 24117248: 0,\n 25165824: 67109124,\n 26214400: 67108864,\n 27262976: 4,\n 28311552: 65792,\n 29360128: 67174400,\n 30408704: 260,\n 31457280: 65796,\n 32505856: 67174404,\n 17301504: 67108864,\n 18350080: 260,\n 19398656: 67174656,\n 20447232: 0,\n 21495808: 65540,\n 22544384: 67109120,\n 23592960: 256,\n 24641536: 67174404,\n 25690112: 65536,\n 26738688: 67174660,\n 27787264: 65796,\n 28835840: 67108868,\n 29884416: 67109124,\n 30932992: 67174400,\n 31981568: 4,\n 33030144: 65792\n }, {\n 0: 2151682048,\n 65536: 2147487808,\n 131072: 4198464,\n 196608: 2151677952,\n 262144: 0,\n 327680: 4198400,\n 393216: 2147483712,\n 458752: 4194368,\n 524288: 2147483648,\n 589824: 4194304,\n 655360: 64,\n 720896: 2147487744,\n 786432: 2151678016,\n 851968: 4160,\n 917504: 4096,\n 983040: 2151682112,\n 32768: 2147487808,\n 98304: 64,\n 163840: 2151678016,\n 229376: 2147487744,\n 294912: 4198400,\n 360448: 2151682112,\n 425984: 0,\n 491520: 2151677952,\n 557056: 4096,\n 622592: 2151682048,\n 688128: 4194304,\n 753664: 4160,\n 819200: 2147483648,\n 884736: 4194368,\n 950272: 4198464,\n 1015808: 2147483712,\n 1048576: 4194368,\n 1114112: 4198400,\n 1179648: 2147483712,\n 1245184: 0,\n 1310720: 4160,\n 1376256: 2151678016,\n 1441792: 2151682048,\n 1507328: 2147487808,\n 1572864: 2151682112,\n 1638400: 2147483648,\n 1703936: 2151677952,\n 1769472: 4198464,\n 1835008: 2147487744,\n 1900544: 4194304,\n 1966080: 64,\n 2031616: 4096,\n 1081344: 2151677952,\n 1146880: 2151682112,\n 1212416: 0,\n 1277952: 4198400,\n 1343488: 4194368,\n 1409024: 2147483648,\n 1474560: 2147487808,\n 1540096: 64,\n 1605632: 2147483712,\n 1671168: 4096,\n 1736704: 2147487744,\n 1802240: 2151678016,\n 1867776: 4160,\n 1933312: 2151682048,\n 1998848: 4194304,\n 2064384: 4198464\n }, {\n 0: 128,\n 4096: 17039360,\n 8192: 262144,\n 12288: 536870912,\n 16384: 537133184,\n 20480: 16777344,\n 24576: 553648256,\n 28672: 262272,\n 32768: 16777216,\n 36864: 537133056,\n 40960: 536871040,\n 45056: 553910400,\n 49152: 553910272,\n 53248: 0,\n 57344: 17039488,\n 61440: 553648128,\n 2048: 17039488,\n 6144: 553648256,\n 10240: 128,\n 14336: 17039360,\n 18432: 262144,\n 22528: 537133184,\n 26624: 553910272,\n 30720: 536870912,\n 34816: 537133056,\n 38912: 0,\n 43008: 553910400,\n 47104: 16777344,\n 51200: 536871040,\n 55296: 553648128,\n 59392: 16777216,\n 63488: 262272,\n 65536: 262144,\n 69632: 128,\n 73728: 536870912,\n 77824: 553648256,\n 81920: 16777344,\n 86016: 553910272,\n 90112: 537133184,\n 94208: 16777216,\n 98304: 553910400,\n 102400: 553648128,\n 106496: 17039360,\n 110592: 537133056,\n 114688: 262272,\n 118784: 536871040,\n 122880: 0,\n 126976: 17039488,\n 67584: 553648256,\n 71680: 16777216,\n 75776: 17039360,\n 79872: 537133184,\n 83968: 536870912,\n 88064: 17039488,\n 92160: 128,\n 96256: 553910272,\n 100352: 262272,\n 104448: 553910400,\n 108544: 0,\n 112640: 553648128,\n 116736: 16777344,\n 120832: 262144,\n 124928: 537133056,\n 129024: 536871040\n }, {\n 0: 268435464,\n 256: 8192,\n 512: 270532608,\n 768: 270540808,\n 1024: 268443648,\n 1280: 2097152,\n 1536: 2097160,\n 1792: 268435456,\n 2048: 0,\n 2304: 268443656,\n 2560: 2105344,\n 2816: 8,\n 3072: 270532616,\n 3328: 2105352,\n 3584: 8200,\n 3840: 270540800,\n 128: 270532608,\n 384: 270540808,\n 640: 8,\n 896: 2097152,\n 1152: 2105352,\n 1408: 268435464,\n 1664: 268443648,\n 1920: 8200,\n 2176: 2097160,\n 2432: 8192,\n 2688: 268443656,\n 2944: 270532616,\n 3200: 0,\n 3456: 270540800,\n 3712: 2105344,\n 3968: 268435456,\n 4096: 268443648,\n 4352: 270532616,\n 4608: 270540808,\n 4864: 8200,\n 5120: 2097152,\n 5376: 268435456,\n 5632: 268435464,\n 5888: 2105344,\n 6144: 2105352,\n 6400: 0,\n 6656: 8,\n 6912: 270532608,\n 7168: 8192,\n 7424: 268443656,\n 7680: 270540800,\n 7936: 2097160,\n 4224: 8,\n 4480: 2105344,\n 4736: 2097152,\n 4992: 268435464,\n 5248: 268443648,\n 5504: 8200,\n 5760: 270540808,\n 6016: 270532608,\n 6272: 270540800,\n 6528: 270532616,\n 6784: 8192,\n 7040: 2105352,\n 7296: 2097160,\n 7552: 0,\n 7808: 268435456,\n 8064: 268443656\n }, {\n 0: 1048576,\n 16: 33555457,\n 32: 1024,\n 48: 1049601,\n 64: 34604033,\n 80: 0,\n 96: 1,\n 112: 34603009,\n 128: 33555456,\n 144: 1048577,\n 160: 33554433,\n 176: 34604032,\n 192: 34603008,\n 208: 1025,\n 224: 1049600,\n 240: 33554432,\n 8: 34603009,\n 24: 0,\n 40: 33555457,\n 56: 34604032,\n 72: 1048576,\n 88: 33554433,\n 104: 33554432,\n 120: 1025,\n 136: 1049601,\n 152: 33555456,\n 168: 34603008,\n 184: 1048577,\n 200: 1024,\n 216: 34604033,\n 232: 1,\n 248: 1049600,\n 256: 33554432,\n 272: 1048576,\n 288: 33555457,\n 304: 34603009,\n 320: 1048577,\n 336: 33555456,\n 352: 34604032,\n 368: 1049601,\n 384: 1025,\n 400: 34604033,\n 416: 1049600,\n 432: 1,\n 448: 0,\n 464: 34603008,\n 480: 33554433,\n 496: 1024,\n 264: 1049600,\n 280: 33555457,\n 296: 34603009,\n 312: 1,\n 328: 33554432,\n 344: 1048576,\n 360: 1025,\n 376: 34604032,\n 392: 33554433,\n 408: 34603008,\n 424: 0,\n 440: 34604033,\n 456: 1049601,\n 472: 1024,\n 488: 33555456,\n 504: 1048577\n }, {\n 0: 134219808,\n 1: 131072,\n 2: 134217728,\n 3: 32,\n 4: 131104,\n 5: 134350880,\n 6: 134350848,\n 7: 2048,\n 8: 134348800,\n 9: 134219776,\n 10: 133120,\n 11: 134348832,\n 12: 2080,\n 13: 0,\n 14: 134217760,\n 15: 133152,\n 2147483648: 2048,\n 2147483649: 134350880,\n 2147483650: 134219808,\n 2147483651: 134217728,\n 2147483652: 134348800,\n 2147483653: 133120,\n 2147483654: 133152,\n 2147483655: 32,\n 2147483656: 134217760,\n 2147483657: 2080,\n 2147483658: 131104,\n 2147483659: 134350848,\n 2147483660: 0,\n 2147483661: 134348832,\n 2147483662: 134219776,\n 2147483663: 131072,\n 16: 133152,\n 17: 134350848,\n 18: 32,\n 19: 2048,\n 20: 134219776,\n 21: 134217760,\n 22: 134348832,\n 23: 131072,\n 24: 0,\n 25: 131104,\n 26: 134348800,\n 27: 134219808,\n 28: 134350880,\n 29: 133120,\n 30: 2080,\n 31: 134217728,\n 2147483664: 131072,\n 2147483665: 2048,\n 2147483666: 134348832,\n 2147483667: 133152,\n 2147483668: 32,\n 2147483669: 134348800,\n 2147483670: 134217728,\n 2147483671: 134219808,\n 2147483672: 134350880,\n 2147483673: 134217760,\n 2147483674: 134219776,\n 2147483675: 0,\n 2147483676: 133120,\n 2147483677: 2080,\n 2147483678: 131104,\n 2147483679: 134350848\n }],\n u = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],\n i = n.DES = a.extend({\n _doReset: function () {\n for (var e = this._key.words, t = [], a = 0; a < 56; a++) {\n var n = c[a] - 1;\n t[a] = e[n >>> 5] >>> 31 - n % 32 & 1;\n }\n for (var r = this._subKeys = [], i = 0; i < 16; i++) {\n var o = r[i] = [],\n s = f[i];\n for (a = 0; a < 24; a++) o[a / 6 | 0] |= t[(d[a] - 1 + s) % 28] << 31 - a % 6, o[4 + (a / 6 | 0)] |= t[28 + (d[a + 24] - 1 + s) % 28] << 31 - a % 6;\n o[0] = o[0] << 1 | o[0] >>> 31;\n for (a = 1; a < 7; a++) o[a] = o[a] >>> 4 * (a - 1) + 3;\n o[7] = o[7] << 5 | o[7] >>> 27;\n }\n var l = this._invSubKeys = [];\n for (a = 0; a < 16; a++) l[a] = r[15 - a];\n },\n encryptBlock: function (e, t) {\n this._doCryptBlock(e, t, this._subKeys);\n },\n decryptBlock: function (e, t) {\n this._doCryptBlock(e, t, this._invSubKeys);\n },\n _doCryptBlock: function (e, t, a) {\n this._lBlock = e[t], this._rBlock = e[t + 1], g.call(this, 4, 252645135), g.call(this, 16, 65535), h.call(this, 2, 858993459), h.call(this, 8, 16711935), g.call(this, 1, 1431655765);\n for (var n = 0; n < 16; n++) {\n for (var r = a[n], i = this._lBlock, o = this._rBlock, s = 0, l = 0; l < 8; l++) s |= p[l][((o ^ r[l]) & u[l]) >>> 0];\n this._lBlock = o, this._rBlock = i ^ s;\n }\n var c = this._lBlock;\n this._lBlock = this._rBlock, this._rBlock = c, g.call(this, 1, 1431655765), h.call(this, 8, 16711935), h.call(this, 2, 858993459), g.call(this, 16, 65535), g.call(this, 4, 252645135), e[t] = this._lBlock, e[t + 1] = this._rBlock;\n },\n keySize: 2,\n ivSize: 2,\n blockSize: 2\n });\n function g(e, t) {\n var a = (this._lBlock >>> e ^ this._rBlock) & t;\n this._rBlock ^= a, this._lBlock ^= a << e;\n }\n function h(e, t) {\n var a = (this._rBlock >>> e ^ this._lBlock) & t;\n this._lBlock ^= a, this._rBlock ^= a << e;\n }\n e.DES = a._createHelper(i);\n var o = n.TripleDES = a.extend({\n _doReset: function () {\n var e = this._key.words;\n if (2 !== e.length && 4 !== e.length && e.length < 6) throw new Error(\"Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.\");\n var t = e.slice(0, 2),\n a = e.length < 4 ? e.slice(0, 2) : e.slice(2, 4),\n n = e.length < 6 ? e.slice(0, 2) : e.slice(4, 6);\n this._des1 = i.createEncryptor(r.create(t)), this._des2 = i.createEncryptor(r.create(a)), this._des3 = i.createEncryptor(r.create(n));\n },\n encryptBlock: function (e, t) {\n this._des1.encryptBlock(e, t), this._des2.decryptBlock(e, t), this._des3.encryptBlock(e, t);\n },\n decryptBlock: function (e, t) {\n this._des3.decryptBlock(e, t), this._des2.encryptBlock(e, t), this._des1.decryptBlock(e, t);\n },\n keySize: 6,\n ivSize: 2,\n blockSize: 2\n });\n e.TripleDES = a._createHelper(o);\n }(), function () {\n var e = ve,\n t = e.lib.StreamCipher,\n a = e.algo,\n n = a.RC4 = t.extend({\n _doReset: function () {\n for (var e = this._key, t = e.words, a = e.sigBytes, n = this._S = [], r = 0; r < 256; r++) n[r] = r;\n r = 0;\n for (var i = 0; r < 256; r++) {\n var o = r % a,\n s = t[o >>> 2] >>> 24 - o % 4 * 8 & 255;\n i = (i + n[r] + s) % 256;\n var l = n[r];\n n[r] = n[i], n[i] = l;\n }\n this._i = this._j = 0;\n },\n _doProcessBlock: function (e, t) {\n e[t] ^= r.call(this);\n },\n keySize: 8,\n ivSize: 0\n });\n function r() {\n for (var e = this._S, t = this._i, a = this._j, n = 0, r = 0; r < 4; r++) {\n a = (a + e[t = (t + 1) % 256]) % 256;\n var i = e[t];\n e[t] = e[a], e[a] = i, n |= e[(e[t] + e[a]) % 256] << 24 - 8 * r;\n }\n return this._i = t, this._j = a, n;\n }\n e.RC4 = t._createHelper(n);\n var i = a.RC4Drop = n.extend({\n cfg: n.cfg.extend({\n drop: 192\n }),\n _doReset: function () {\n n._doReset.call(this);\n for (var e = this.cfg.drop; 0 < e; e--) r.call(this);\n }\n });\n e.RC4Drop = t._createHelper(i);\n }(), ve.mode.CTRGladman = function () {\n var e = ve.lib.BlockCipherMode.extend();\n function c(e) {\n if (255 == (e >> 24 & 255)) {\n var t = e >> 16 & 255,\n a = e >> 8 & 255,\n n = 255 & e;\n 255 === t ? (t = 0, 255 === a ? (a = 0, 255 === n ? n = 0 : ++n) : ++a) : ++t, e = 0, e += t << 16, e += a << 8, e += n;\n } else e += 1 << 24;\n return e;\n }\n var t = e.Encryptor = e.extend({\n processBlock: function (e, t) {\n var a = this._cipher,\n n = a.blockSize,\n r = this._iv,\n i = this._counter;\n r && (i = this._counter = r.slice(0), this._iv = undefined), function l(e) {\n return 0 === (e[0] = c(e[0])) && (e[1] = c(e[1])), e;\n }(i);\n var o = i.slice(0);\n a.encryptBlock(o, 0);\n for (var s = 0; s < n; s++) e[t + s] ^= o[s];\n }\n });\n return e.Decryptor = t, e;\n }(), function () {\n var e = ve,\n t = e.lib.StreamCipher,\n a = e.algo,\n r = [],\n l = [],\n c = [],\n n = a.Rabbit = t.extend({\n _doReset: function () {\n for (var e = this._key.words, t = this.cfg.iv, a = 0; a < 4; a++) e[a] = 16711935 & (e[a] << 8 | e[a] >>> 24) | 4278255360 & (e[a] << 24 | e[a] >>> 8);\n var n = this._X = [e[0], e[3] << 16 | e[2] >>> 16, e[1], e[0] << 16 | e[3] >>> 16, e[2], e[1] << 16 | e[0] >>> 16, e[3], e[2] << 16 | e[1] >>> 16],\n r = this._C = [e[2] << 16 | e[2] >>> 16, 4294901760 & e[0] | 65535 & e[1], e[3] << 16 | e[3] >>> 16, 4294901760 & e[1] | 65535 & e[2], e[0] << 16 | e[0] >>> 16, 4294901760 & e[2] | 65535 & e[3], e[1] << 16 | e[1] >>> 16, 4294901760 & e[3] | 65535 & e[0]];\n for (a = this._b = 0; a < 4; a++) p.call(this);\n for (a = 0; a < 8; a++) r[a] ^= n[a + 4 & 7];\n if (t) {\n var i = t.words,\n o = i[0],\n s = i[1],\n l = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8),\n c = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8),\n d = l >>> 16 | 4294901760 & c,\n f = c << 16 | 65535 & l;\n r[0] ^= l, r[1] ^= d, r[2] ^= c, r[3] ^= f, r[4] ^= l, r[5] ^= d, r[6] ^= c, r[7] ^= f;\n for (a = 0; a < 4; a++) p.call(this);\n }\n },\n _doProcessBlock: function (e, t) {\n var a = this._X;\n p.call(this), r[0] = a[0] ^ a[5] >>> 16 ^ a[3] << 16, r[1] = a[2] ^ a[7] >>> 16 ^ a[5] << 16, r[2] = a[4] ^ a[1] >>> 16 ^ a[7] << 16, r[3] = a[6] ^ a[3] >>> 16 ^ a[1] << 16;\n for (var n = 0; n < 4; n++) r[n] = 16711935 & (r[n] << 8 | r[n] >>> 24) | 4278255360 & (r[n] << 24 | r[n] >>> 8), e[t + n] ^= r[n];\n },\n blockSize: 4,\n ivSize: 2\n });\n function p() {\n for (var e = this._X, t = this._C, a = 0; a < 8; a++) l[a] = t[a];\n t[0] = t[0] + 1295307597 + this._b | 0, t[1] = t[1] + 3545052371 + (t[0] >>> 0 < l[0] >>> 0 ? 1 : 0) | 0, t[2] = t[2] + 886263092 + (t[1] >>> 0 < l[1] >>> 0 ? 1 : 0) | 0, t[3] = t[3] + 1295307597 + (t[2] >>> 0 < l[2] >>> 0 ? 1 : 0) | 0, t[4] = t[4] + 3545052371 + (t[3] >>> 0 < l[3] >>> 0 ? 1 : 0) | 0, t[5] = t[5] + 886263092 + (t[4] >>> 0 < l[4] >>> 0 ? 1 : 0) | 0, t[6] = t[6] + 1295307597 + (t[5] >>> 0 < l[5] >>> 0 ? 1 : 0) | 0, t[7] = t[7] + 3545052371 + (t[6] >>> 0 < l[6] >>> 0 ? 1 : 0) | 0, this._b = t[7] >>> 0 < l[7] >>> 0 ? 1 : 0;\n for (a = 0; a < 8; a++) {\n var n = e[a] + t[a],\n r = 65535 & n,\n i = n >>> 16,\n o = ((r * r >>> 17) + r * i >>> 15) + i * i,\n s = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);\n c[a] = o ^ s;\n }\n e[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, e[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, e[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, e[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, e[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, e[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, e[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, e[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0;\n }\n e.Rabbit = t._createHelper(n);\n }(), ve.mode.CTR = (he = ve.lib.BlockCipherMode.extend(), me = he.Encryptor = he.extend({\n processBlock: function (e, t) {\n var a = this._cipher,\n n = a.blockSize,\n r = this._iv,\n i = this._counter;\n r && (i = this._counter = r.slice(0), this._iv = undefined);\n var o = i.slice(0);\n a.encryptBlock(o, 0), i[n - 1] = i[n - 1] + 1 | 0;\n for (var s = 0; s < n; s++) e[t + s] ^= o[s];\n }\n }), he.Decryptor = me, he), function () {\n var e = ve,\n t = e.lib.StreamCipher,\n a = e.algo,\n r = [],\n l = [],\n c = [],\n n = a.RabbitLegacy = t.extend({\n _doReset: function () {\n for (var e = this._key.words, t = this.cfg.iv, a = this._X = [e[0], e[3] << 16 | e[2] >>> 16, e[1], e[0] << 16 | e[3] >>> 16, e[2], e[1] << 16 | e[0] >>> 16, e[3], e[2] << 16 | e[1] >>> 16], n = this._C = [e[2] << 16 | e[2] >>> 16, 4294901760 & e[0] | 65535 & e[1], e[3] << 16 | e[3] >>> 16, 4294901760 & e[1] | 65535 & e[2], e[0] << 16 | e[0] >>> 16, 4294901760 & e[2] | 65535 & e[3], e[1] << 16 | e[1] >>> 16, 4294901760 & e[3] | 65535 & e[0]], r = this._b = 0; r < 4; r++) p.call(this);\n for (r = 0; r < 8; r++) n[r] ^= a[r + 4 & 7];\n if (t) {\n var i = t.words,\n o = i[0],\n s = i[1],\n l = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8),\n c = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8),\n d = l >>> 16 | 4294901760 & c,\n f = c << 16 | 65535 & l;\n n[0] ^= l, n[1] ^= d, n[2] ^= c, n[3] ^= f, n[4] ^= l, n[5] ^= d, n[6] ^= c, n[7] ^= f;\n for (r = 0; r < 4; r++) p.call(this);\n }\n },\n _doProcessBlock: function (e, t) {\n var a = this._X;\n p.call(this), r[0] = a[0] ^ a[5] >>> 16 ^ a[3] << 16, r[1] = a[2] ^ a[7] >>> 16 ^ a[5] << 16, r[2] = a[4] ^ a[1] >>> 16 ^ a[7] << 16, r[3] = a[6] ^ a[3] >>> 16 ^ a[1] << 16;\n for (var n = 0; n < 4; n++) r[n] = 16711935 & (r[n] << 8 | r[n] >>> 24) | 4278255360 & (r[n] << 24 | r[n] >>> 8), e[t + n] ^= r[n];\n },\n blockSize: 4,\n ivSize: 2\n });\n function p() {\n for (var e = this._X, t = this._C, a = 0; a < 8; a++) l[a] = t[a];\n t[0] = t[0] + 1295307597 + this._b | 0, t[1] = t[1] + 3545052371 + (t[0] >>> 0 < l[0] >>> 0 ? 1 : 0) | 0, t[2] = t[2] + 886263092 + (t[1] >>> 0 < l[1] >>> 0 ? 1 : 0) | 0, t[3] = t[3] + 1295307597 + (t[2] >>> 0 < l[2] >>> 0 ? 1 : 0) | 0, t[4] = t[4] + 3545052371 + (t[3] >>> 0 < l[3] >>> 0 ? 1 : 0) | 0, t[5] = t[5] + 886263092 + (t[4] >>> 0 < l[4] >>> 0 ? 1 : 0) | 0, t[6] = t[6] + 1295307597 + (t[5] >>> 0 < l[5] >>> 0 ? 1 : 0) | 0, t[7] = t[7] + 3545052371 + (t[6] >>> 0 < l[6] >>> 0 ? 1 : 0) | 0, this._b = t[7] >>> 0 < l[7] >>> 0 ? 1 : 0;\n for (a = 0; a < 8; a++) {\n var n = e[a] + t[a],\n r = 65535 & n,\n i = n >>> 16,\n o = ((r * r >>> 17) + r * i >>> 15) + i * i,\n s = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);\n c[a] = o ^ s;\n }\n e[0] = c[0] + (c[7] << 16 | c[7] >>> 16) + (c[6] << 16 | c[6] >>> 16) | 0, e[1] = c[1] + (c[0] << 8 | c[0] >>> 24) + c[7] | 0, e[2] = c[2] + (c[1] << 16 | c[1] >>> 16) + (c[0] << 16 | c[0] >>> 16) | 0, e[3] = c[3] + (c[2] << 8 | c[2] >>> 24) + c[1] | 0, e[4] = c[4] + (c[3] << 16 | c[3] >>> 16) + (c[2] << 16 | c[2] >>> 16) | 0, e[5] = c[5] + (c[4] << 8 | c[4] >>> 24) + c[3] | 0, e[6] = c[6] + (c[5] << 16 | c[5] >>> 16) + (c[4] << 16 | c[4] >>> 16) | 0, e[7] = c[7] + (c[6] << 8 | c[6] >>> 24) + c[5] | 0;\n }\n e.RabbitLegacy = t._createHelper(n);\n }(), ve.pad.ZeroPadding = {\n pad: function (e, t) {\n var a = 4 * t;\n e.clamp(), e.sigBytes += a - (e.sigBytes % a || a);\n },\n unpad: function (e) {\n var t = e.words,\n a = e.sigBytes - 1;\n for (a = e.sigBytes - 1; 0 <= a; a--) if (t[a >>> 2] >>> 24 - a % 4 * 8 & 255) {\n e.sigBytes = a + 1;\n break;\n }\n }\n }, {\n init: function be() {},\n cryptoJS: ve\n };\n }, Object.assign(St.DEFAULTS, {\n fontFamily: {\n \"Arial,Helvetica,sans-serif\": \"Arial\",\n \"Georgia,serif\": \"Georgia\",\n \"Impact,Charcoal,sans-serif\": \"Impact\",\n \"Tahoma,Geneva,sans-serif\": \"Tahoma\",\n \"Times New Roman,Times,serif,-webkit-standard\": \"Times New Roman\",\n \"Verdana,Geneva,sans-serif\": \"Verdana\"\n },\n fontFamilySelection: !1,\n fontFamilyDefaultSelection: \"Font Family\"\n }), St.PLUGINS.fontFamily = function (r) {\n var i = r.$;\n function o(e) {\n var t = e.replace(/(sans-serif|serif|monospace|cursive|fantasy)/gi, \"\").replace(/\"|'| /g, \"\").split(\",\");\n return i(this).grep(t, function (e) {\n return 0 < e.length;\n });\n }\n function s(e, t) {\n for (var a = 0; a < e.length; a++) for (var n = 0; n < t.length; n++) if (e[a].toLowerCase() === t[n].toLowerCase()) return [a, n];\n return null;\n }\n function a() {\n var e = o(i(r.selection.element()).css(\"font-family\")),\n t = [];\n for (var a in r.opts.fontFamily) if (r.opts.fontFamily.hasOwnProperty(a)) {\n var n = s(e, o(a));\n n && t.push([a, n]);\n }\n return 0 === t.length ? null : (t.sort(function (e, t) {\n var a = e[1][0] - t[1][0];\n return 0 === a ? e[1][1] - t[1][1] : a;\n }), t[0][0]);\n }\n return {\n apply: function t(e) {\n r.format.applyStyle(\"font-family\", e);\n },\n refreshOnShow: function n(e, t) {\n t.find(\".fr-command.fr-active\").removeClass(\"fr-active\").attr(\"aria-selected\", !1), t.find('.fr-command[data-param1=\"'.concat(a(), '\"]')).addClass(\"fr-active\").attr(\"aria-selected\", !0);\n },\n refresh: function l(e) {\n if (r.opts.fontFamilySelection) {\n var t = i(r.selection.element()).css(\"font-family\").replace(/(sans-serif|serif|monospace|cursive|fantasy)/gi, \"\").replace(/\"|'|/g, \"\").split(\",\");\n e.find(\"> span\").text(r.opts.fontFamily[a()] || t[0] || r.language.translate(r.opts.fontFamilyDefaultSelection));\n }\n }\n };\n }, St.RegisterCommand(\"fontFamily\", {\n type: \"dropdown\",\n displaySelection: function (e) {\n return e.opts.fontFamilySelection;\n },\n defaultSelection: function (e) {\n return e.opts.fontFamilyDefaultSelection;\n },\n displaySelectionWidth: 120,\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.fontFamily;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"fontFamily\" data-param1=\"'.concat(a, '\" \\n style=\"font-family: ').concat(a, '\" title=\"').concat(t[a], '\">').concat(t[a], \"</a></li>\"));\n return e += \"</ul>\";\n },\n title: \"Font Family\",\n callback: function (e, t) {\n this.fontFamily.apply(t);\n },\n refresh: function (e) {\n this.fontFamily.refresh(e);\n },\n refreshOnShow: function (e, t) {\n this.fontFamily.refreshOnShow(e, t);\n },\n plugin: \"fontFamily\"\n }), St.DefineIcon(\"fontFamily\", {\n NAME: \"font\",\n SVG_KEY: \"fontFamily\"\n }), Object.assign(St.DEFAULTS, {\n fontSize: [\"8\", \"9\", \"10\", \"11\", \"12\", \"14\", \"18\", \"24\", \"30\", \"36\", \"48\", \"60\", \"72\", \"96\"],\n fontSizeSelection: !1,\n fontSizeDefaultSelection: \"Font Size\",\n fontSizeUnit: \"px\"\n }), St.PLUGINS.fontSize = function (n) {\n var r = n.$;\n return {\n apply: function t(e) {\n n.format.applyStyle(\"font-size\", e);\n },\n refreshOnShow: function i(e, t) {\n var a = r(n.selection.element()).css(\"font-size\");\n \"pt\" === n.opts.fontSizeUnit && (a = \"\".concat(Math.round(72 * parseFloat(a, 10) / 96), \"pt\")), t.find(\".fr-command.fr-active\").removeClass(\"fr-active\").attr(\"aria-selected\", !1), t.find('.fr-command[data-param1=\"'.concat(a, '\"]')).addClass(\"fr-active\").attr(\"aria-selected\", !0);\n },\n refresh: function a(e) {\n if (n.opts.fontSizeSelection) {\n var t = n.helpers.getPX(r(n.selection.element()).css(\"font-size\"));\n \"pt\" === n.opts.fontSizeUnit && (t = \"\".concat(Math.round(72 * parseFloat(t, 10) / 96), \"pt\")), e.find(\"> span\").text(t);\n }\n }\n };\n }, St.RegisterCommand(\"fontSize\", {\n type: \"dropdown\",\n title: \"Font Size\",\n displaySelection: function (e) {\n return e.opts.fontSizeSelection;\n },\n displaySelectionWidth: 30,\n defaultSelection: function (e) {\n return e.opts.fontSizeDefaultSelection;\n },\n html: function () {\n for (var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">', t = this.opts.fontSize, a = 0; a < t.length; a++) {\n var n = t[a];\n e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"fontSize\" data-param1=\"'.concat(n).concat(this.opts.fontSizeUnit, '\" title=\"').concat(n, '\">').concat(n, \"</a></li>\");\n }\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.fontSize.apply(t);\n },\n refresh: function (e) {\n this.fontSize.refresh(e);\n },\n refreshOnShow: function (e, t) {\n this.fontSize.refreshOnShow(e, t);\n },\n plugin: \"fontSize\"\n }), St.DefineIcon(\"fontSize\", {\n NAME: \"text-height\",\n SVG_KEY: \"fontSize\"\n }), Object.assign(St.POPUP_TEMPLATES, {\n \"forms.edit\": \"[_BUTTONS_]\",\n \"forms.update\": \"[_BUTTONS_][_TEXT_LAYER_]\"\n }), Object.assign(St.DEFAULTS, {\n formEditButtons: [\"inputStyle\", \"inputEdit\"],\n formStyles: {\n \"fr-rounded\": \"Rounded\",\n \"fr-large\": \"Large\"\n },\n formMultipleStyles: !0,\n formUpdateButtons: [\"inputBack\", \"|\"]\n }), St.PLUGINS.forms = function (o) {\n var s,\n l = o.$;\n function t(e) {\n o.selection.clear(), l(this).data(\"mousedown\", !0);\n }\n function a(e) {\n l(this).data(\"mousedown\") && (e.stopPropagation(), l(this).removeData(\"mousedown\"), d(s = this)), e.preventDefault();\n }\n function n() {\n o.$el.find(\"input, textarea, button\").removeData(\"mousedown\");\n }\n function r() {\n l(this).removeData(\"mousedown\");\n }\n function c() {\n return s || null;\n }\n function d(e) {\n if (-1 == [\"checkbox\", \"radio\"].indexOf(e.type)) {\n var t = o.popups.get(\"forms.edit\");\n t || (t = function i() {\n var e = \"\";\n 0 < o.opts.formEditButtons.length && (e = '<div class=\"fr-buttons\">'.concat(o.button.buildList(o.opts.formEditButtons), \"</div>\"));\n var t = {\n buttons: e\n },\n a = o.popups.create(\"forms.edit\", t);\n return o.$wp && o.events.$on(o.$wp, \"scroll.link-edit\", function () {\n c() && o.popups.isVisible(\"forms.edit\") && d(c());\n }), a;\n }());\n var a = l(s = e);\n o.popups.refresh(\"forms.edit\"), o.popups.setContainer(\"forms.edit\", o.$sc);\n var n = a.offset().left + a.outerWidth() / 2,\n r = a.offset().top + a.outerHeight();\n o.popups.show(\"forms.edit\", n, r, a.outerHeight());\n }\n }\n function i() {\n var e = o.popups.get(\"forms.update\"),\n t = c();\n if (t) {\n var a = l(t);\n a.is(\"button\") ? e.find('input[type=\"text\"][name=\"text\"]').val(a.text()) : a.is(\"input[type=button]\") || a.is(\"input[type=submit]\") || a.is(\"input[type=reset]\") ? e.find('input[type=\"text\"][name=\"text\"]').val(a.val()) : e.find('input[type=\"text\"][name=\"text\"]').val(a.attr(\"placeholder\"));\n }\n e.find('input[type=\"text\"][name=\"text\"]').trigger(\"change\");\n }\n function f() {\n s = null;\n }\n function p(e) {\n if (e) return o.popups.onRefresh(\"forms.update\", i), o.popups.onHide(\"forms.update\", f), !0;\n var t = \"\";\n 1 <= o.opts.formUpdateButtons.length && (t = '<div class=\"fr-buttons\">'.concat(o.button.buildList(o.opts.formUpdateButtons), \"</div>\"));\n var a = 0,\n n = {\n buttons: t,\n text_layer: '<div class=\"fr-forms-text-layer fr-layer fr-active\"> \\n <div class=\"fr-input-line\"><input name=\"text\" type=\"text\" placeholder=\"Text\" tabIndex=\" '.concat(++a, ' \"></div>\\n <div class=\"fr-action-buttons\"><button class=\"fr-command fr-submit\" data-cmd=\"updateInput\" href=\"#\" tabIndex=\"').concat(2, '\" type=\"button\">').concat(o.language.translate(\"Update\"), \"</button></div></div>\")\n };\n return o.popups.create(\"forms.update\", n);\n }\n return {\n _init: function u() {\n !function e() {\n o.events.$on(o.$el, o._mousedown, \"input, textarea, button\", t), o.events.$on(o.$el, o._mouseup, \"input, textarea, button\", a), o.events.$on(o.$el, \"touchmove\", \"input, textarea, button\", r), o.events.$on(o.$el, o._mouseup, n), o.events.$on(o.$win, o._mouseup, n), p(!0);\n }(), o.events.$on(o.$el, \"submit\", \"form\", function (e) {\n return e.preventDefault(), !1;\n });\n },\n updateInput: function g() {\n var e = o.popups.get(\"forms.update\"),\n t = c();\n if (t) {\n var a = l(t),\n n = e.find('input[type=\"text\"][name=\"text\"]').val() || \"\";\n a.is(\"button\") ? n.length ? a.text(n) : a.text(\"\\u200b\") : -1 != [\"button\", \"submit\", \"reset\"].indexOf(t.type) ? a.attr(\"value\", n) : a.attr(\"placeholder\", n), o.popups.hide(\"forms.update\"), d(t);\n }\n },\n getInput: c,\n applyStyle: function h(e, t, a) {\n void 0 === t && (t = o.opts.formStyles), void 0 === a && (a = o.opts.formMultipleStyles);\n var n = c();\n if (!n) return !1;\n if (!a) {\n var r = Object.keys(t);\n r.splice(r.indexOf(e), 1), l(n).removeClass(r.join(\" \"));\n }\n l(n).toggleClass(e);\n },\n showUpdatePopup: function m() {\n var e = c();\n if (e) {\n var t = l(e),\n a = o.popups.get(\"forms.update\");\n a || (a = p()), o.popups.isVisible(\"forms.update\") || o.popups.refresh(\"forms.update\"), o.popups.setContainer(\"forms.update\", o.$sc);\n var n = t.offset().left + t.outerWidth() / 2,\n r = t.offset().top + t.outerHeight();\n o.popups.show(\"forms.update\", n, r, t.outerHeight());\n }\n },\n showEditPopup: d,\n back: function v() {\n o.events.disableBlur(), o.selection.restore(), o.events.enableBlur();\n var e = c();\n e && o.$wp && (\"BUTTON\" === e.tagName && o.selection.restore(), d(e));\n }\n };\n }, St.RegisterCommand(\"updateInput\", {\n undo: !1,\n focus: !1,\n title: \"Update\",\n callback: function () {\n this.forms.updateInput();\n }\n }), St.DefineIcon(\"inputStyle\", {\n NAME: \"magic\",\n SVG_KEY: \"inlineStyle\"\n }), St.RegisterCommand(\"inputStyle\", {\n title: \"Style\",\n type: \"dropdown\",\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\">',\n t = this.opts.formStyles;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li><a class=\"fr-command\" tabIndex=\"-1\" data-cmd=\"inputStyle\" data-param1=\"'.concat(a, '\">').concat(this.language.translate(t[a]), \"</a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n var a = this.forms.getInput();\n a && (this.forms.applyStyle(t), this.forms.showEditPopup(a));\n },\n refreshOnShow: function (e, t) {\n var a = this.$,\n n = this.forms.getInput();\n if (n) {\n var r = a(n);\n t.find(\".fr-command\").each(function () {\n var e = a(this).data(\"param1\");\n a(this).toggleClass(\"fr-active\", r.hasClass(e));\n });\n }\n }\n }), St.DefineIcon(\"inputEdit\", {\n NAME: \"edit\",\n SVG_KEY: \"edit\"\n }), St.RegisterCommand(\"inputEdit\", {\n title: \"Edit Button\",\n undo: !1,\n refreshAfterCallback: !1,\n callback: function () {\n this.forms.showUpdatePopup();\n }\n }), St.DefineIcon(\"inputBack\", {\n NAME: \"arrow-left\",\n SVG_KEY: \"back\"\n }), St.RegisterCommand(\"inputBack\", {\n title: \"Back\",\n undo: !1,\n focus: !1,\n back: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.forms.back();\n }\n }), St.RegisterCommand(\"updateInput\", {\n undo: !1,\n focus: !1,\n title: \"Update\",\n callback: function () {\n this.forms.updateInput();\n }\n }), St.PLUGINS.fullscreen = function (r) {\n var t,\n a,\n n,\n i,\n o = r.$,\n s = function s() {\n return r.$box.hasClass(\"fr-fullscreen\");\n };\n function l() {\n if (r.helpers.isIOS() && r.core.hasFocus()) return r.$el.blur(), setTimeout(d, 250), !1;\n t = r.helpers.scrollTop(), r.opts.iframe && r.markdown && r.markdown.isEnabled() && (r.$box = r.$oel), r.$box.toggleClass(\"fr-fullscreen\"), o(\"body\").first().toggleClass(\"fr-fullscreen\"), r.helpers.isMobile() && (r.opts.toolbarBottom ? r.$tb[0].removeAttribute(\"style\") : (r.$tb.data(\"parent\", r.$tb.parent()), r.$box.prepend(r.$tb), r.$tb.data(\"sticky-dummy\") && r.$tb.after(r.$tb.data(\"sticky-dummy\")))), a = r.opts.height, n = r.opts.heightMax, i = r.opts.zIndex, r.opts.height = r.o_win.innerHeight - (r.opts.toolbarInline ? 0 : r.$tb.outerHeight() + (r.$second_tb ? r.$second_tb.outerHeight() : 0)), r.opts.zIndex = 2147483641, r.opts.heightMax = null, r.size.refresh(), r.opts.toolbarInline && r.toolbar.showInline();\n for (var e = r.$box.parent(); !e.first().is(\"body\");) e.addClass(\"fr-fullscreen-wrapper\"), e = e.parent();\n r.opts.toolbarContainer && r.$box.prepend(r.$tb), r.events.trigger(\"charCounter.update\"), r.events.trigger(\"codeView.update\"), r.$win.trigger(\"scroll\");\n }\n function c() {\n if (r.helpers.isIOS() && r.core.hasFocus()) return r.$el.blur(), setTimeout(d, 250), !1;\n r.$box.toggleClass(\"fr-fullscreen\"), o(\"body\").first().toggleClass(\"fr-fullscreen\"), r.$tb.data(\"parent\") && r.$tb.data(\"parent\").prepend(r.$tb), r.$tb.data(\"sticky-dummy\") && r.$tb.after(r.$tb.data(\"sticky-dummy\")), r.opts.height = a, r.opts.heightMax = n, r.opts.zIndex = i, r.size.refresh(), r.o_win.scroll(0, t), r.opts.toolbarInline && r.toolbar.showInline(), r.events.trigger(\"charCounter.update\"), r.opts.toolbarSticky && r.opts.toolbarStickyOffset && (r.opts.toolbarBottom ? r.$tb.css(\"bottom\", r.opts.toolbarStickyOffset).data(\"bottom\", r.opts.toolbarStickyOffset) : r.$tb.css(\"top\", r.opts.toolbarStickyOffset).data(\"top\", r.opts.toolbarStickyOffset));\n for (var e = r.$box.parent(); !e.first().is(\"body\");) e.removeClass(\"fr-fullscreen-wrapper\"), e = e.parent();\n r.opts.toolbarContainer && o(r.opts.toolbarContainer).append(r.$tb), o(r.o_win).trigger(\"scroll\"), r.events.trigger(\"codeView.update\");\n }\n function d() {\n s() ? c() : l(), f(r.$tb.find('.fr-command[data-cmd=\"fullscreen\"]'));\n var e = r.$tb.find('.fr-command[data-cmd=\"moreText\"]'),\n t = r.$tb.find('.fr-command[data-cmd=\"moreParagraph\"]'),\n a = r.$tb.find('.fr-command[data-cmd=\"moreRich\"]'),\n n = r.$tb.find('.fr-command[data-cmd=\"moreMisc\"]');\n e.length && r.refresh.moreText(e), t.length && r.refresh.moreParagraph(t), a.length && r.refresh.moreRich(a), n.length && r.refresh.moreMisc(n);\n }\n function f(e) {\n var t = s();\n e.toggleClass(\"fr-active\", t).attr(\"aria-pressed\", t), e.find(\"> *\").not(\".fr-sr-only\").replaceWith(t ? r.icon.create(\"fullscreenCompress\") : r.icon.create(\"fullscreen\"));\n }\n return {\n _init: function e() {\n if (!r.$wp) return !1;\n r.events.$on(o(r.o_win), \"resize\", function () {\n s() && (c(), l());\n }), r.events.on(\"toolbar.hide\", function () {\n if (s() && r.helpers.isMobile()) return !1;\n }), r.events.on(\"position.refresh\", function () {\n if (r.helpers.isIOS()) return !s();\n }), r.events.on(\"destroy\", function () {\n s() && c();\n }, !0);\n },\n toggle: d,\n refresh: f,\n isActive: s\n };\n }, St.RegisterCommand(\"fullscreen\", {\n title: \"Fullscreen\",\n undo: !1,\n focus: !1,\n accessibilityFocus: !0,\n forcedRefresh: !0,\n toggle: !0,\n callback: function () {\n this.fullscreen.toggle();\n },\n refresh: function (e) {\n this.fullscreen.refresh(e);\n },\n plugin: \"fullscreen\"\n }), St.DefineIcon(\"fullscreen\", {\n NAME: \"expand\",\n SVG_KEY: \"fullscreen\"\n }), St.DefineIcon(\"fullscreenCompress\", {\n NAME: \"compress\",\n SVG_KEY: \"exitFullscreen\"\n }), Object.assign(St.DEFAULTS, {\n helpSets: [{\n title: \"Inline Editor\",\n commands: [{\n val: \"OSkeyE\",\n desc: \"Show the editor\"\n }]\n }, {\n title: \"Common actions\",\n commands: [{\n val: \"OSkeyC\",\n desc: \"Copy\"\n }, {\n val: \"OSkeyX\",\n desc: \"Cut\"\n }, {\n val: \"OSkeyV\",\n desc: \"Paste\"\n }, {\n val: \"OSkeyZ\",\n desc: \"Undo\"\n }, {\n val: \"OSkeyShift+Z\",\n desc: \"Redo\"\n }, {\n val: \"OSkeyK\",\n desc: \"Insert Link\"\n }, {\n val: \"OSkeyP\",\n desc: \"Insert Image\"\n }]\n }, {\n title: \"Basic Formatting\",\n commands: [{\n val: \"OSkeyA\",\n desc: \"Select All\"\n }, {\n val: \"OSkeyB\",\n desc: \"Bold\"\n }, {\n val: \"OSkeyI\",\n desc: \"Italic\"\n }, {\n val: \"OSkeyU\",\n desc: \"Underline\"\n }, {\n val: \"OSkeyS\",\n desc: \"Strikethrough\"\n }, {\n val: \"OSkey]\",\n desc: \"Increase Indent\"\n }, {\n val: \"OSkey[\",\n desc: \"Decrease Indent\"\n }]\n }, {\n title: \"Quote\",\n commands: [{\n val: \"OSkey'\",\n desc: \"Increase quote level\"\n }, {\n val: \"OSkeyShift+'\",\n desc: \"Decrease quote level\"\n }]\n }, {\n title: \"Image / Video\",\n commands: [{\n val: \"OSkey+\",\n desc: \"Resize larger\"\n }, {\n val: \"OSkey-\",\n desc: \"Resize smaller\"\n }]\n }, {\n title: \"Table\",\n commands: [{\n val: \"Alt+Space\",\n desc: \"Select table cell\"\n }, {\n val: \"Shift+Left/Right arrow\",\n desc: \"Extend selection one cell\"\n }, {\n val: \"Shift+Up/Down arrow\",\n desc: \"Extend selection one row\"\n }]\n }, {\n title: \"Navigation\",\n commands: [{\n val: \"OSkey/\",\n desc: \"Shortcuts\"\n }, {\n val: \"Alt+F10\",\n desc: \"Focus popup / toolbar\"\n }, {\n val: \"Esc\",\n desc: \"Return focus to previous position\"\n }]\n }]\n }), St.PLUGINS.help = function (s) {\n var n,\n r = s.$,\n i = \"help\";\n return {\n _init: function e() {},\n show: function l() {\n if (!n) {\n var e = \"<h4>\".concat(s.language.translate(\"Shortcuts\"), \"</h4>\"),\n t = function o() {\n for (var e = '<div class=\"fr-help-modal\">', t = 0; t < s.opts.helpSets.length; t++) {\n var a = s.opts.helpSets[t],\n n = \"<table>\";\n n += \"<thead><tr><th>\".concat(s.language.translate(a.title), \"</th></tr></thead>\"), n += \"<tbody>\";\n for (var r = 0; r < a.commands.length; r++) {\n var i = a.commands[r];\n n += \"<tr>\", n += \"<td>\".concat(s.language.translate(i.desc), \"</td>\"), n += \"<td>\".concat(i.val.replace(\"OSkey\", s.helpers.isMac() ? \"⌘\" : \"Ctrl+\"), \"</td>\"), n += \"</tr>\";\n }\n e += n += \"</tbody></table>\";\n }\n return e += \"</div>\";\n }(),\n a = s.modals.create(i, e, t);\n n = a.$modal, s.events.$on(r(s.o_win), \"resize\", function () {\n s.modals.resize(i);\n });\n }\n s.modals.show(i), s.modals.resize(i);\n },\n hide: function t() {\n s.modals.hide(i);\n }\n };\n }, St.DefineIcon(\"help\", {\n NAME: \"question\",\n SVG_KEY: \"help\"\n }), St.RegisterShortcut(St.KEYCODE.SLASH, \"help\", null, \"/\"), St.RegisterCommand(\"help\", {\n title: \"Help\",\n icon: \"help\",\n undo: !1,\n focus: !1,\n modal: !0,\n callback: function () {\n this.help.show();\n },\n plugin: \"help\",\n showOnMobile: !1\n }), Object.assign(St.POPUP_TEMPLATES, {\n \"image.insert\": \"[_BUTTONS_][_UPLOAD_LAYER_][_BY_URL_LAYER_][_PROGRESS_BAR_]\",\n \"image.edit\": \"[_BUTTONS_]\",\n \"image.alt\": \"[_BUTTONS_][_ALT_LAYER_]\",\n \"image.size\": \"[_BUTTONS_][_SIZE_LAYER_]\"\n }), Object.assign(St.DEFAULTS, {\n imageInsertButtons: [\"imageBack\", \"|\", \"imageUpload\", \"imageByURL\"],\n imageEditButtons: [\"imageReplace\", \"imageAlign\", \"imageCaption\", \"imageRemove\", \"imageLink\", \"linkOpen\", \"linkEdit\", \"linkRemove\", \"-\", \"imageDisplay\", \"imageStyle\", \"imageAlt\", \"imageSize\"],\n imageAltButtons: [\"imageBack\", \"|\"],\n imageSizeButtons: [\"imageBack\", \"|\"],\n imageUpload: !0,\n imageUploadURL: null,\n imageCORSProxy: \"https://cors-anywhere.froala.com\",\n imageUploadRemoteUrls: !0,\n imageUploadParam: \"file\",\n imageUploadParams: {},\n imageUploadToS3: !1,\n imageUploadToAzure: !1,\n imageUploadMethod: \"POST\",\n imageMaxSize: 10485760,\n imageAllowedTypes: [\"jpeg\", \"jpg\", \"png\", \"gif\", \"webp\"],\n imageResize: !0,\n imageResizeWithPercent: !1,\n imageRoundPercent: !1,\n imageDefaultWidth: 300,\n imageDefaultAlign: \"center\",\n imageDefaultDisplay: \"block\",\n imageSplitHTML: !1,\n imageStyles: {\n \"fr-rounded\": \"Rounded\",\n \"fr-bordered\": \"Bordered\",\n \"fr-shadow\": \"Shadow\"\n },\n imageMove: !0,\n imageMultipleStyles: !0,\n imageTextNear: !0,\n imagePaste: !0,\n imagePasteProcess: !1,\n imageMinWidth: 16,\n imageOutputSize: !1,\n imageDefaultMargin: 5,\n imageAddNewLine: !1\n }), St.IMAGE_ALLOW_REGEX = /\\.(gif|jpe?g|tiff?|png|webp|bmp)$/i, St.PLUGINS.image = function (w) {\n var y,\n c,\n d,\n f,\n s,\n a,\n A = w.$,\n C = \"https://i.froala.com/upload\",\n t = !1,\n n = 1,\n p = 2,\n u = 3,\n g = 4,\n T = 5,\n k = 6,\n r = {};\n function h() {\n var e = w.popups.get(\"image.insert\").find(\".fr-image-by-url-layer input\");\n e.val(\"\"), y && e.val(y.attr(\"src\")), e.trigger(\"change\");\n }\n function o(e) {\n return window.pageYOffset + e.get(0).getBoundingClientRect().top;\n }\n function i() {\n var e = w.popups.get(\"image.edit\");\n if (e || (e = O()), e) {\n var t = y;\n w.popups.setContainer(\"image.edit\", w.$wp || w.$sc), w.popups.refresh(\"image.edit\");\n var a = t.offset().left + t.outerWidth() / 2,\n n = t && o(t),\n r = w.$wp && o(w.$wp);\n r || (r = n);\n var i = 0;\n w.opts.iframe ? ((i = w.$wp.scrollTop() + e.outerHeight()) < t.get(0).getBoundingClientRect().top && (i = t.get(0).getBoundingClientRect().top), i > t.get(0).getBoundingClientRect().top + t.height() && (i = t.get(0).getBoundingClientRect().top + t.height())) : i = r < n ? n : w.$wp && n + t.height() < r + w.$wp.height() ? n + t.height() : r + e.outerHeight(), y.hasClass(\"fr-uploading\") ? F() : w.popups.show(\"image.edit\", a, i, 1, !0);\n }\n }\n function m() {\n M();\n }\n function l(e) {\n 0 < e.parents(\".fr-img-caption\").length && (e = e.parents(\".fr-img-caption\").first());\n var t = e.hasClass(\"fr-dib\") ? \"block\" : e.hasClass(\"fr-dii\") ? \"inline\" : null,\n a = e.hasClass(\"fr-fil\") ? \"left\" : e.hasClass(\"fr-fir\") ? \"right\" : ve(e);\n me(e, t, a), e.removeClass(\"fr-dib fr-dii fr-fir fr-fil\");\n }\n function v() {\n for (var e, t = \"IMG\" == w.el.tagName ? [w.el] : w.el.querySelectorAll(\"img\"), a = 0; a < t.length; a++) {\n var n = A(t[a]);\n !w.opts.htmlUntouched && w.opts.useClasses ? ((w.opts.imageDefaultAlign || w.opts.imageDefaultDisplay) && (0 < (e = n).parents(\".fr-img-caption\").length && (e = e.parents(\".fr-img-caption\").first()), e.hasClass(\"fr-dii\") || e.hasClass(\"fr-dib\") || (e.addClass(\"fr-fi\".concat(ve(e)[0])), e.addClass(\"fr-di\".concat(be(e)[0])), e.css(\"margin\", \"\"), e.css(\"float\", \"\"), e.css(\"display\", \"\"), e.css(\"z-index\", \"\"), e.css(\"position\", \"\"), e.css(\"overflow\", \"\"), e.css(\"vertical-align\", \"\"))), w.opts.imageTextNear || (0 < n.parents(\".fr-img-caption\").length ? n.parents(\".fr-img-caption\").first().removeClass(\"fr-dii\").addClass(\"fr-dib\") : n.removeClass(\"fr-dii\").addClass(\"fr-dib\"))) : w.opts.htmlUntouched || w.opts.useClasses || (w.opts.imageDefaultAlign || w.opts.imageDefaultDisplay) && l(n), w.opts.iframe && n.on(\"load\", w.size.syncIframe);\n }\n }\n function b(e) {\n void 0 === e && (e = !0);\n var t,\n a = Array.prototype.slice.call(w.el.querySelectorAll(\"img\")),\n n = [];\n for (t = 0; t < a.length; t++) if (n.push(a[t].getAttribute(\"src\")), A(a[t]).toggleClass(\"fr-draggable\", w.opts.imageMove), \"\" === a[t].getAttribute(\"class\") && a[t].removeAttribute(\"class\"), \"\" === a[t].getAttribute(\"style\") && a[t].removeAttribute(\"style\"), a[t].parentNode && a[t].parentNode.parentNode && w.node.hasClass(a[t].parentNode.parentNode, \"fr-img-caption\")) {\n var r = a[t].parentNode.parentNode;\n w.browser.mozilla || r.setAttribute(\"contenteditable\", !1), r.setAttribute(\"draggable\", !1), r.classList.add(\"fr-draggable\");\n var i = a[t].nextSibling;\n i && !w.browser.mozilla && i.setAttribute(\"contenteditable\", !0);\n }\n if (s) for (t = 0; t < s.length; t++) n.indexOf(s[t].getAttribute(\"src\")) < 0 && w.events.trigger(\"image.removed\", [A(s[t])]);\n if (s && e) {\n var o = [];\n for (t = 0; t < s.length; t++) o.push(s[t].getAttribute(\"src\"));\n for (t = 0; t < a.length; t++) o.indexOf(a[t].getAttribute(\"src\")) < 0 && w.events.trigger(\"image.loaded\", [A(a[t])]);\n }\n s = a;\n }\n function S() {\n if (c || function o() {\n var e;\n w.shared.$image_resizer ? (c = w.shared.$image_resizer, f = w.shared.$img_overlay, w.events.on(\"destroy\", function () {\n A(\"body\").first().append(c.removeClass(\"fr-active\"));\n }, !0)) : (w.shared.$image_resizer = A(document.createElement(\"div\")).attr(\"class\", \"fr-image-resizer\"), c = w.shared.$image_resizer, w.events.$on(c, \"mousedown\", function (e) {\n e.stopPropagation();\n }, !0), w.opts.imageResize && (c.append(E(\"nw\") + E(\"ne\") + E(\"sw\") + E(\"se\")), w.shared.$img_overlay = A(document.createElement(\"div\")).attr(\"class\", \"fr-image-overlay\"), f = w.shared.$img_overlay, e = c.get(0).ownerDocument, A(e).find(\"body\").first().append(f)));\n w.events.on(\"shared.destroy\", function () {\n c.html(\"\").removeData().remove(), c = null, w.opts.imageResize && (f.remove(), f = null);\n }, !0), w.helpers.isMobile() || w.events.$on(A(w.o_win), \"resize\", function () {\n y && !y.hasClass(\"fr-uploading\") ? pe(!0) : y && (S(), Ee(), F(!1));\n });\n if (w.opts.imageResize) {\n e = c.get(0).ownerDocument, w.events.$on(c, w._mousedown, \".fr-handler\", R), w.events.$on(A(e), w._mousemove, L), w.events.$on(A(e.defaultView || e.parentWindow), w._mouseup, x), w.events.$on(f, \"mouseleave\", x);\n var n = 1,\n r = null,\n i = 0;\n w.events.on(\"keydown\", function (e) {\n if (y) {\n var t = -1 != navigator.userAgent.indexOf(\"Mac OS X\") ? e.metaKey : e.ctrlKey,\n a = e.which;\n (a !== r || 200 < e.timeStamp - i) && (n = 1), (a == St.KEYCODE.EQUALS || w.browser.mozilla && a == St.KEYCODE.FF_EQUALS) && t && !e.altKey ? n = te.call(this, e, 1, 1, n) : (a == St.KEYCODE.HYPHEN || w.browser.mozilla && a == St.KEYCODE.FF_HYPHEN) && t && !e.altKey ? n = te.call(this, e, 2, -1, n) : w.keys.ctrlKey(e) || a != St.KEYCODE.ENTER || (y.before(\"<br>\"), P(y)), r = a, i = e.timeStamp;\n }\n }, !0), w.events.on(\"keyup\", function () {\n n = 1;\n });\n }\n }(), !y) return !1;\n var e = w.$wp || w.$sc;\n e.append(c), c.data(\"instance\", w);\n var t = e.scrollTop() - (\"static\" != e.css(\"position\") ? e.offset().top : 0),\n a = e.scrollLeft() - (\"static\" != e.css(\"position\") ? e.offset().left : 0);\n a -= w.helpers.getPX(e.css(\"border-left-width\")), t -= w.helpers.getPX(e.css(\"border-top-width\")), w.$el.is(\"img\") && w.$sc.is(\"body\") && (a = t = 0);\n var n = ye();\n Ae() && (n = n.find(\".fr-img-wrap\"));\n var r = 0,\n i = 0;\n w.opts.iframe && (r = w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-top\")), i = w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-left\"))), c.css(\"top\", (w.opts.iframe ? n.offset().top + r : n.offset().top + t) - 1).css(\"left\", (w.opts.iframe ? n.offset().left + i : n.offset().left + a) - 1).css(\"width\", n.get(0).getBoundingClientRect().width).css(\"height\", n.get(0).getBoundingClientRect().height).addClass(\"fr-active\");\n }\n function E(e) {\n return '<div class=\"fr-handler fr-h'.concat(e, '\"></div>');\n }\n function _(e) {\n Ae() && y.parents(\".fr-img-caption\").css(\"width\", e), y.css(\"width\", e);\n }\n function R(e) {\n if (!w.core.sameInstance(c)) return !0;\n if (e.preventDefault(), e.stopPropagation(), w.$el.find(\"img.fr-error\").left) return !1;\n w.undo.canDo() || w.undo.saveStep();\n var t = e.pageX || e.originalEvent.touches[0].pageX;\n if (\"mousedown\" == e.type) {\n var a = w.$oel.get(0),\n n = a.ownerDocument,\n r = n.defaultView || n.parentWindow,\n i = !1;\n try {\n i = r.location != r.parent.location && !(r.$ && r.$.FE);\n } catch (l) {}\n i && r.frameElement && (t += w.helpers.getPX(A(a).offset().left) + r.frameElement.clientLeft);\n }\n (d = A(this)).data(\"start-x\", t), d.data(\"start-width\", y.width()), d.data(\"start-height\", y.height());\n var o = y.width();\n if (w.opts.imageResizeWithPercent) {\n var s = y.parentsUntil(w.$el, w.html.blockTagsQuery()).get(0) || w.el;\n o = (o / A(s).outerWidth() * 100).toFixed(2) + \"%\";\n }\n _(o), f.show(), w.popups.hideAll(), he();\n }\n function L(e) {\n if (!w.core.sameInstance(c)) return !0;\n var t;\n if (d && y) {\n if (e.preventDefault(), w.$el.find(\"img.fr-error\").left) return !1;\n var a = e.pageX || (e.originalEvent.touches ? e.originalEvent.touches[0].pageX : null);\n if (!a) return !1;\n var n = a - d.data(\"start-x\"),\n r = d.data(\"start-width\");\n if ((d.hasClass(\"fr-hnw\") || d.hasClass(\"fr-hsw\")) && (n = 0 - n), w.opts.imageResizeWithPercent) {\n var i = y.parentsUntil(w.$el, w.html.blockTagsQuery()).get(0) || w.el;\n r = ((r + n) / A(i).outerWidth() * 100).toFixed(2), w.opts.imageRoundPercent && (r = Math.round(r)), _(\"\".concat(r, \"%\")), (t = Ae() ? (w.helpers.getPX(y.parents(\".fr-img-caption\").css(\"width\")) / A(i).outerWidth() * 100).toFixed(2) : (w.helpers.getPX(y.css(\"width\")) / A(i).outerWidth() * 100).toFixed(2)) === r || w.opts.imageRoundPercent || _(\"\".concat(t, \"%\")), y.css(\"height\", \"\").removeAttr(\"height\");\n } else r + n >= w.opts.imageMinWidth && (_(r + n), t = Ae() ? w.helpers.getPX(y.parents(\".fr-img-caption\").css(\"width\")) : w.helpers.getPX(y.css(\"width\"))), t !== r + n && _(t), ((y.attr(\"style\") || \"\").match(/(^height:)|(; *height:)/) || y.attr(\"height\")) && (y.css(\"height\", d.data(\"start-height\") * y.width() / d.data(\"start-width\")), y.removeAttr(\"height\"));\n S(), w.events.trigger(\"image.resize\", [we()]);\n }\n }\n function x(e) {\n if (!w.core.sameInstance(c)) return !0;\n if (d && y) {\n if (e && e.stopPropagation(), w.$el.find(\"img.fr-error\").left) return !1;\n d = null, f.hide(), S(), i(), w.undo.saveStep(), w.events.trigger(\"image.resizeEnd\", [we()]);\n } else c.removeClass(\"fr-active\");\n }\n function I(e, t, a) {\n w.edit.on(), y && y.addClass(\"fr-error\"), r[e] ? D(w.language.translate(r[e])) : D(w.language.translate(\"Something went wrong. Please try again.\")), !y && a && ae(a), w.events.trigger(\"image.error\", [{\n code: e,\n message: r[e]\n }, t, a]);\n }\n function O(e) {\n if (e) return w.$wp && w.events.$on(w.$wp, \"scroll.image-edit\", function () {\n y && w.popups.isVisible(\"image.edit\") && (w.events.disableBlur(), i());\n }), !0;\n var t = \"\";\n if (0 < w.opts.imageEditButtons.length) {\n var a = {\n buttons: t += '<div class=\"fr-buttons\">\\n '.concat(w.button.buildList(w.opts.imageEditButtons), \"\\n </div>\")\n };\n return w.popups.create(\"image.edit\", a);\n }\n return !1;\n }\n function F(e) {\n var t = w.popups.get(\"image.insert\");\n if (t || (t = j()), t.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"), t.find(\".fr-image-progress-bar-layer\").addClass(\"fr-active\"), t.find(\".fr-buttons\").hide(), y) {\n var a = ye();\n w.popups.setContainer(\"image.insert\", w.$sc);\n var n = a.offset().left,\n r = a.offset().top + a.height();\n w.popups.show(\"image.insert\", n, r, a.outerHeight());\n }\n void 0 === e && N(w.language.translate(\"Uploading\"), 0);\n }\n function M(e) {\n var t = w.popups.get(\"image.insert\");\n if (t && (t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"), t.find(\".fr-image-progress-bar-layer\").removeClass(\"fr-active\"), t.find(\".fr-buttons\").show(), e || w.$el.find(\"img.fr-error\").length)) {\n if (w.events.focus(), w.$el.find(\"img.fr-error\").length && (w.$el.find(\"img.fr-error\").remove(), w.undo.saveStep(), w.undo.run(), w.undo.dropRedo()), !w.$wp && y) {\n var a = y;\n pe(!0), w.selection.setAfter(a.get(0)), w.selection.restore();\n }\n w.popups.hide(\"image.insert\");\n }\n }\n function N(e, t) {\n var a = w.popups.get(\"image.insert\");\n if (a) {\n var n = a.find(\".fr-image-progress-bar-layer\");\n n.find(\"h3\").text(e + (t ? \" \".concat(t, \"%\") : \"\")), n.removeClass(\"fr-error\"), t ? (n.find(\"div\").removeClass(\"fr-indeterminate\"), n.find(\"div > span\").css(\"width\", \"\".concat(t, \"%\"))) : n.find(\"div\").addClass(\"fr-indeterminate\");\n }\n }\n function D(e) {\n F();\n var t = w.popups.get(\"image.insert\").find(\".fr-image-progress-bar-layer\");\n t.addClass(\"fr-error\");\n var a = t.find(\"h3\");\n a.text(e), w.events.disableBlur(), a.focus();\n }\n function P(e) {\n fe.call(e.get(0));\n }\n function B() {\n var e = A(this);\n w.popups.hide(\"image.insert\"), e.removeClass(\"fr-uploading\"), e.next().is(\"br\") && e.next().remove(), P(e), w.events.trigger(\"image.loaded\", [e]);\n }\n function U(o, e, s, l, c) {\n l && \"string\" == typeof l && (l = w.$(l)), w.edit.off(), N(w.language.translate(\"Loading image\")), e && (o = w.helpers.sanitizeURL(o));\n var t = new Image();\n t.onload = function () {\n var e, t;\n if (l) {\n w.undo.canDo() || l.hasClass(\"fr-uploading\") || w.undo.saveStep();\n var a = l.data(\"fr-old-src\");\n l.data(\"fr-image-pasted\") && (a = null), w.$wp ? ((e = l.clone().removeData(\"fr-old-src\").removeClass(\"fr-uploading\").removeAttr(\"data-fr-image-pasted\")).off(\"load\"), a && l.attr(\"src\", a), !w.opts.trackChangesEnabled || l[0].parentNode && \"SPAN\" === l[0].parentNode.tagName && l[0].parentNode.hasAttribute(\"data-tracking\") || w.track_changes.replaceSpecialItem(l), l.replaceWith(e)) : e = l;\n for (var n = e.get(0).attributes, r = 0; r < n.length; r++) {\n var i = n[r];\n 0 === i.nodeName.indexOf(\"data-\") ? e.removeAttr(i.nodeName) : s && s.hasOwnProperty(i.nodeName) && e.removeAttr(i.nodeName);\n }\n if (void 0 !== s) for (t in s) s.hasOwnProperty(t) && \"link\" != t && e.attr(\"\".concat(t), s[t]);\n e.on(\"load\", B), e.attr(\"src\", o), w.edit.on(), b(!1), l[0].src != o && w.selection.restore(), w.undo.saveStep(), w.events.disableBlur(), w.$el.blur(), w.events.trigger(a ? \"image.replaced\" : \"image.inserted\", [e, c]);\n } else (e = K(o, s, B)) && (b(!1), w.undo.saveStep(), w.events.disableBlur(), w.$el.blur(), w.events.trigger(\"image.inserted\", [e, c]));\n }, t.onerror = function () {\n I(n);\n }, F(w.language.translate(\"Loading image\")), t.src = o;\n }\n function $(e, t, a) {\n N(w.language.translate(\"Loading image\"));\n var n = this.status,\n r = this.response,\n i = this.responseXML,\n o = this.responseText;\n try {\n if (w.opts.imageUploadToS3 || w.opts.imageUploadToAzure) {\n if (201 == n) {\n var s;\n if (w.opts.imageUploadToAzure) {\n if (!1 === w.events.trigger(\"image.uploadedToAzure\", [this.responseURL, a, r], !0)) return w.edit.on(), !1;\n s = t;\n } else s = function c(e) {\n try {\n var t = A(e).find(\"Location\").text(),\n a = A(e).find(\"Key\").text();\n return !1 === w.events.trigger(\"image.uploadedToS3\", [t, a, e], !0) ? (w.edit.on(), !1) : t;\n } catch (n) {\n return I(g, e), !1;\n }\n }(i);\n s && U(s, !1, [], e, r || i);\n } else I(g, r || i, e);\n } else if (200 <= n && n < 300) {\n var l = function d(e) {\n try {\n if (!1 === w.events.trigger(\"image.uploaded\", [e], !0)) return w.edit.on(), !1;\n var t = JSON.parse(e);\n return t.link ? t : (I(p, e), !1);\n } catch (a) {\n return I(g, e), !1;\n }\n }(o);\n l && U(l.link, !1, l, e, r || o);\n } else I(u, r || o, e);\n } catch (f) {\n I(g, r || o, e);\n }\n }\n function H() {\n I(g, this.response || this.responseText || this.responseXML);\n }\n function z(e) {\n if (e.lengthComputable) {\n var t = e.loaded / e.total * 100 | 0;\n N(w.language.translate(\"Uploading\"), t);\n }\n }\n function K(e, t, a) {\n var n,\n r = A(document.createElement(\"img\")).attr(\"src\", e);\n if (t && void 0 !== t) for (n in t) t.hasOwnProperty(n) && \"link\" != n && (\" data-\".concat(n, '=\"').concat(t[n], '\"'), r.attr(\"\".concat(n), t[n]));\n var i = w.opts.imageDefaultWidth;\n i && \"auto\" != i && (i = w.opts.imageResizeWithPercent ? \"100%\" : \"\".concat(i, \"px\")), r.attr(\"style\", i ? \"width: \".concat(i, \";\") : \"\"), me(r, w.opts.imageDefaultDisplay, w.opts.imageDefaultAlign), r.on(\"load\", a), r.on(\"error\", a), w.edit.on(), w.events.focus(!0), w.selection.restore(), w.undo.saveStep(), w.opts.imageSplitHTML ? w.markers.split() : w.markers.insert(), w.html.wrap();\n var o = w.$el.find(\".fr-marker\");\n if (o.length) (o.parent().is(\"hr\") || o.parent().is(\"IMG\")) && o.parent().after(o), w.node.isLastSibling(o) && o.parent().hasClass(\"fr-deletable\") && o.insertAfter(o.parent()), o.replaceWith(r);else {\n if (w.opts.trackChangesEnabled) return M(!0), !1;\n w.$el.append(r);\n }\n return w.selection.clear(), r;\n }\n function W() {\n w.edit.on(), M(!0);\n }\n function G(e, t) {\n if (void 0 !== e && 0 < e.length) {\n if (!1 === w.events.trigger(\"image.beforeUpload\", [e, t])) return !1;\n var a,\n n = e[0];\n if (!(null !== w.opts.imageUploadURL && w.opts.imageUploadURL != C || w.opts.imageUploadToS3 || w.opts.imageUploadToAzure)) return function E(r, i) {\n var o = new FileReader();\n o.onload = function () {\n var e = o.result;\n if (o.result.indexOf(\"svg+xml\") < 0) {\n for (var t = atob(o.result.split(\",\")[1]), a = [], n = 0; n < t.length; n++) a.push(t.charCodeAt(n));\n e = window.URL.createObjectURL(new Blob([new Uint8Array(a)], {\n type: r.type\n })), i && i.data(\"fr-old-src\", i.attr(\"src\")), w.image.insert(e, !1, null, i);\n } else w.image.insert(e, null, null, w.image.get());\n }, F(), o.readAsDataURL(r);\n }(n, t || y), !1;\n if (n.name || (n.name = new Date().getTime() + \".\" + (n.type || \"image/jpeg\").replace(/image\\//g, \"\")), n.size > w.opts.imageMaxSize) return I(T), !1;\n if (w.opts.imageAllowedTypes.indexOf(n.type.replace(/image\\//g, \"\")) < 0) return I(k), !1;\n if (w.drag_support.formdata && (a = w.drag_support.formdata ? new FormData() : null), a) {\n var r;\n if (!1 !== w.opts.imageUploadToS3) for (r in a.append(\"key\", w.opts.imageUploadToS3.keyStart + new Date().getTime() + \"-\" + (n.name || \"untitled\")), a.append(\"success_action_status\", \"201\"), a.append(\"X-Requested-With\", \"xhr\"), a.append(\"Content-Type\", n.type), w.opts.imageUploadToS3.params) w.opts.imageUploadToS3.params.hasOwnProperty(r) && a.append(r, w.opts.imageUploadToS3.params[r]);\n for (r in w.opts.imageUploadParams) w.opts.imageUploadParams.hasOwnProperty(r) && a.append(r, w.opts.imageUploadParams[r]);\n a.append(w.opts.imageUploadParam, n, n.name);\n var i,\n o,\n s = w.opts.imageUploadURL,\n l = w.opts.imageUploadMethod;\n w.opts.imageUploadToS3 && (s = w.opts.imageUploadToS3.uploadURL ? w.opts.imageUploadToS3.uploadURL : \"https://\".concat(w.opts.imageUploadToS3.region, \".amazonaws.com/\").concat(w.opts.imageUploadToS3.bucket)), w.opts.imageUploadToAzure && (i = s = w.opts.imageUploadToAzure.uploadURL ? \"\".concat(w.opts.imageUploadToAzure.uploadURL, \"/\").concat(n.name) : encodeURI(\"https://\".concat(w.opts.imageUploadToAzure.account, \".blob.core.windows.net/\").concat(w.opts.imageUploadToAzure.container, \"/\").concat(n.name)), w.opts.imageUploadToAzure.SASToken && (s += w.opts.imageUploadToAzure.SASToken), l = \"PUT\");\n var c = w.core.getXHR(s, l);\n if (w.opts.imageUploadToAzure) {\n var d = new Date().toUTCString();\n if (!w.opts.imageUploadToAzure.SASToken && w.opts.imageUploadToAzure.accessKey) {\n var f = w.opts.imageUploadToAzure.account,\n p = w.opts.imageUploadToAzure.container;\n if (w.opts.imageUploadToAzure.uploadURL) {\n var u = w.opts.imageUploadToAzure.uploadURL.split(\"/\");\n p = u.pop(), f = u.pop().split(\".\")[0];\n }\n var g = \"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(d, \"\\nx-ms-version:2019-07-07\"),\n h = encodeURI(\"/\" + f + \"/\" + p + \"/\" + n.name),\n m = l + \"\\n\\n\\n\" + n.size + \"\\n\\n\" + n.type + \"\\n\\n\\n\\n\\n\\n\\n\" + g + \"\\n\" + h,\n v = w.cryptoJSPlugin.cryptoJS.HmacSHA256(m, w.cryptoJSPlugin.cryptoJS.enc.Base64.parse(w.opts.imageUploadToAzure.accessKey)).toString(w.cryptoJSPlugin.cryptoJS.enc.Base64),\n b = \"SharedKey \" + f + \":\" + v;\n o = v, c.setRequestHeader(\"Authorization\", b);\n }\n for (r in c.setRequestHeader(\"x-ms-version\", \"2019-07-07\"), c.setRequestHeader(\"x-ms-date\", d), c.setRequestHeader(\"Content-Type\", n.type), c.setRequestHeader(\"x-ms-blob-type\", \"BlockBlob\"), w.opts.imageUploadParams) w.opts.imageUploadParams.hasOwnProperty(r) && c.setRequestHeader(r, w.opts.imageUploadParams[r]);\n for (r in w.opts.imageUploadToAzure.params) w.opts.imageUploadToAzure.params.hasOwnProperty(r) && c.setRequestHeader(r, w.opts.imageUploadToAzure.params[r]);\n }\n !function _(t, a, n, r, i, o) {\n function s() {\n var e = A(this);\n e.off(\"load\"), e.addClass(\"fr-uploading\"), e.next().is(\"br\") && e.next().remove(), w.placeholder.refresh(), P(e), S(), F(), w.edit.off(), t.onload = function () {\n $.call(t, e, i, o);\n }, t.onerror = H, t.upload.onprogress = z, t.onabort = W, A(e.off(\"abortUpload\")).on(\"abortUpload\", function () {\n 4 != t.readyState && (t.abort(), r ? (r.attr(\"src\", r.data(\"fr-old-src\")), r.removeClass(\"fr-uploading\")) : e.remove(), pe(!0));\n }), t.send(w.opts.imageUploadToAzure ? n : a);\n }\n var l = new FileReader();\n l.onload = function () {\n var e = l.result;\n if (l.result.indexOf(\"svg+xml\") < 0) {\n for (var t = atob(l.result.split(\",\")[1]), a = [], n = 0; n < t.length; n++) a.push(t.charCodeAt(n));\n e = window.URL.createObjectURL(new Blob([new Uint8Array(a)], {\n type: \"image/jpeg\"\n }));\n }\n r ? (r.on(\"load\", s), r.on(\"error\", function () {\n s(), A(this).off(\"error\");\n }), w.edit.on(), w.undo.saveStep(), r.data(\"fr-old-src\", r.attr(\"src\")), r.attr(\"src\", e)) : K(e, null, s);\n }, l.readAsDataURL(n);\n }(c, a, n, t || y, i, o);\n }\n }\n }\n function V(e) {\n if (e.is(\"img\") && 0 < e.parents(\".fr-img-caption\").length) return e.parents(\".fr-img-caption\");\n }\n function Y(e) {\n var t = e.originalEvent.dataTransfer;\n if (t && t.files && t.files.length) {\n var a = t.files[0];\n if (a && a.type && -1 !== a.type.indexOf(\"image\") && 0 <= w.opts.imageAllowedTypes.indexOf(a.type.replace(/image\\//g, \"\"))) {\n if (!w.opts.imageUpload) return e.preventDefault(), e.stopPropagation(), !1;\n w.markers.remove(), w.markers.insertAtPoint(e.originalEvent), w.$el.find(\".fr-marker\").replaceWith(St.MARKERS), 0 === w.$el.find(\".fr-marker\").length && w.selection.setAtEnd(w.el), w.popups.hideAll();\n var n = w.popups.get(\"image.insert\");\n n || (n = j()), w.popups.setContainer(\"image.insert\", w.$sc);\n var r = e.originalEvent.pageX,\n i = e.originalEvent.pageY;\n if (w.opts.iframe) {\n var o = w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-top\")),\n s = w.helpers.getPX(w.$wp.find(\".fr-iframe\").css(\"padding-left\"));\n i += w.$iframe.offset().top + o, r += w.$iframe.offset().left + s;\n }\n return w.popups.show(\"image.insert\", r, i), F(), 0 <= w.opts.imageAllowedTypes.indexOf(a.type.replace(/image\\//g, \"\")) ? (pe(!0), G(t.files)) : I(k), e.preventDefault(), e.stopPropagation(), !1;\n }\n }\n }\n function j(e) {\n if (e) return w.popups.onRefresh(\"image.insert\", h), w.popups.onHide(\"image.insert\", m), !0;\n var t,\n a,\n n = \"\";\n w.opts.imageUpload || -1 === w.opts.imageInsertButtons.indexOf(\"imageUpload\") || w.opts.imageInsertButtons.splice(w.opts.imageInsertButtons.indexOf(\"imageUpload\"), 1);\n var r = w.button.buildList(w.opts.imageInsertButtons);\n \"\" !== r && (n = '<div class=\"fr-buttons fr-tabs\">'.concat(r, \"</div>\"));\n var i = w.opts.imageInsertButtons.indexOf(\"imageUpload\"),\n o = w.opts.imageInsertButtons.indexOf(\"imageByURL\"),\n s = \"\";\n 0 <= i && (t = \" fr-active\", 0 <= o && o < i && (t = \"\"), s = '<div class=\"fr-image-upload-layer'.concat(t, ' fr-layer\" id=\"fr-image-upload-layer-').concat(w.id, '\"><strong>').concat(w.language.translate(\"Drop image\"), \"</strong><br>(\").concat(w.language.translate(\"or click\"), ')<div class=\"fr-form\"><input type=\"file\" accept=\"image/').concat(w.opts.imageAllowedTypes.join(\", image/\").toLowerCase(), '\" tabIndex=\"-1\" aria-labelledby=\"fr-image-upload-layer-').concat(w.id, '\" role=\"button\"></div></div>'));\n var l = \"\";\n 0 <= o && (t = \" fr-active\", 0 <= i && i < o && (t = \"\"), l = '<div class=\"fr-image-by-url-layer'.concat(t, ' fr-layer\" id=\"fr-image-by-url-layer-').concat(w.id, '\"><div class=\"fr-input-line\"><input id=\"fr-image-by-url-layer-text-').concat(w.id, '\" type=\"text\" placeholder=\"http://\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageInsertByURL\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Insert\"), \"</button></div></div>\"));\n var c = {\n buttons: n,\n upload_layer: s,\n by_url_layer: l,\n progress_bar: '<div class=\"fr-image-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"imageDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'\n };\n return 1 <= w.opts.imageInsertButtons.length && (a = w.popups.create(\"image.insert\", c)), w.$wp && w.events.$on(w.$wp, \"scroll\", function () {\n y && w.popups.isVisible(\"image.insert\") && Ee();\n }), function d(n) {\n w.events.$on(n, \"dragover dragenter\", \".fr-image-upload-layer\", function (e) {\n return A(this).addClass(\"fr-drop\"), (w.browser.msie || w.browser.edge) && e.preventDefault(), !1;\n }, !0), w.events.$on(n, \"dragleave dragend\", \".fr-image-upload-layer\", function (e) {\n return A(this).removeClass(\"fr-drop\"), (w.browser.msie || w.browser.edge) && e.preventDefault(), !1;\n }, !0), w.events.$on(n, \"drop\", \".fr-image-upload-layer\", function (e) {\n e.preventDefault(), e.stopPropagation(), A(this).removeClass(\"fr-drop\");\n var t = e.originalEvent.dataTransfer;\n if (t && t.files) {\n var a = n.data(\"instance\") || w;\n a.events.disableBlur(), a.image.upload(t.files), a.events.enableBlur();\n }\n }, !0), w.helpers.isIOS() && w.events.$on(n, \"touchstart\", '.fr-image-upload-layer input[type=\"file\"]', function () {\n A(this).trigger(\"click\");\n }, !0), w.events.$on(n, \"change\", '.fr-image-upload-layer input[type=\"file\"]', function () {\n if (this.files) {\n var e = n.data(\"instance\") || w;\n e.events.disableBlur(), n.find(\"input:focus\").blur(), e.events.enableBlur(), e.image.upload(this.files, y);\n }\n A(this).val(\"\");\n }, !0);\n }(a), a;\n }\n function q() {\n y && w.popups.get(\"image.alt\").find(\"input\").val(y.attr(\"alt\") || \"\").trigger(\"change\");\n }\n function X() {\n var e = w.popups.get(\"image.alt\");\n e || (e = Z()), M(), w.popups.refresh(\"image.alt\"), w.popups.setContainer(\"image.alt\", w.$sc);\n var t = ye(),\n a = t.outerWidth() / 2;\n Ae() && (t = t.find(\".fr-img-wrap\"), a = y.outerWidth() / 2);\n var n = t.offset().left + a,\n r = t.offset().top + t.outerHeight(),\n i = t.outerHeight();\n w.opts.iframe && Ae() && (i = y ? y.outerHeight() : 0), w.popups.show(\"image.alt\", n, r, i, !0);\n }\n function Z(e) {\n if (e) return w.popups.onRefresh(\"image.alt\", q), !0;\n var t = {\n buttons: '<div class=\"fr-buttons fr-tabs\">'.concat(w.button.buildList(w.opts.imageAltButtons), \"</div>\"),\n alt_layer: '<div class=\"fr-image-alt-layer fr-layer fr-active\" id=\"fr-image-alt-layer-'.concat(w.id, '\"><div class=\"fr-input-line\"><input id=\"fr-image-alt-layer-text-').concat(w.id, '\" type=\"text\" placeholder=\"').concat(w.language.translate(\"Alternative Text\"), '\" tabIndex=\"1\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetAlt\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Update\"), \"</button></div></div>\")\n },\n a = w.popups.create(\"image.alt\", t);\n return w.$wp && w.events.$on(w.$wp, \"scroll.image-alt\", function () {\n y && w.popups.isVisible(\"image.alt\") && X();\n }), a;\n }\n function Q() {\n var e = w.popups.get(\"image.size\"),\n t = y.get(0).style.height ? y.get(0).style.height : \"auto\",\n a = y.get(0).style.width ? y.get(0).style.width : \"auto\";\n if (y) if (Ae()) {\n var n = y.parent();\n n.get(0).style.width || (n = y.parent().parent()), e.find('input[name=\"width\"]').val(a).trigger(\"change\"), e.find('input[name=\"height\"]').val(t).trigger(\"change\");\n } else e.find('input[name=\"width\"]').val(a).trigger(\"change\"), e.find('input[name=\"height\"]').val(t).trigger(\"change\");\n }\n function J() {\n var e = w.popups.get(\"image.size\");\n e || (e = ee()), M(), w.popups.refresh(\"image.size\"), w.popups.setContainer(\"image.size\", w.$sc);\n var t = ye(),\n a = t.outerWidth() / 2;\n Ae() && (t = t.find(\".fr-img-wrap\"), a = y.outerWidth() / 2);\n var n = t.outerHeight();\n w.opts.iframe && Ae() && (n = y ? y.outerHeight() : 0);\n var r = t.offset().left + a,\n i = t.offset().top + t.outerHeight();\n w.popups.show(\"image.size\", r, i, n, !0);\n }\n function ee(e) {\n if (e) return w.popups.onRefresh(\"image.size\", Q), !0;\n var t = {\n buttons: '<div class=\"fr-buttons fr-tabs\">'.concat(w.button.buildList(w.opts.imageSizeButtons), \"</div>\"),\n size_layer: '<div class=\"fr-image-size-layer fr-layer fr-active\" id=\"fr-image-size-layer-'.concat(w.id, '\"><div class=\"fr-image-group\"><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-width-\\'').concat(w.id, '\" type=\"text\" name=\"width\" placeholder=\"').concat(w.language.translate(\"Width\"), '\" tabIndex=\"1\"></div><div class=\"fr-input-line\"><input id=\"fr-image-size-layer-height').concat(w.id, '\" type=\"text\" name=\"height\" placeholder=\"').concat(w.language.translate(\"Height\"), '\" tabIndex=\"1\"></div></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"imageSetSize\" tabIndex=\"2\" role=\"button\">').concat(w.language.translate(\"Update\"), \"</button></div></div>\")\n },\n a = w.popups.create(\"image.size\", t);\n return w.$wp && w.events.$on(w.$wp, \"scroll.image-size\", function () {\n y && w.popups.isVisible(\"image.size\") && J();\n }), a;\n }\n function te(e, t, a, n) {\n return e.pageX = t, R.call(this, e), e.pageX = e.pageX + a * Math.floor(Math.pow(1.1, n)), L.call(this, e), x.call(this, e), ++n;\n }\n function ae(e) {\n if (e = e || ye(), w.opts.trackChangesEnabled && !w.helpers.isMobile() && (!e[0].parentNode || \"SPAN\" !== e[0].parentNode.tagName || !e[0].parentNode.hasAttribute(\"data-tracking\"))) return w.track_changes.removeSpecialItem(e), w.popups.hideAll(), void pe(!0);\n e && !1 !== w.events.trigger(\"image.beforeRemove\", [e]) && (w.popups.hideAll(), _e(), pe(!0), w.undo.canDo() || w.undo.saveStep(), e.get(0) == w.el ? e.removeAttr(\"src\") : (e.get(0).parentNode && \"A\" == e.get(0).parentNode.tagName ? (w.selection.setBefore(e.get(0).parentNode) || w.selection.setAfter(e.get(0).parentNode) || e.parent().after(St.MARKERS), A(e.get(0).parentNode).remove()) : (w.selection.setBefore(e.get(0)) || w.selection.setAfter(e.get(0)) || e.after(St.MARKERS), e.remove()), w.html.fillEmptyBlocks(), w.selection.restore()), w.undo.saveStep());\n }\n function ne(e) {\n var t = e.which,\n a = document.getElementsByClassName(\"fs-transforms-container\"),\n n = !1;\n if (a && a.length) {\n var r,\n i = $e(a);\n try {\n for (i.s(); !(r = i.n()).done;) {\n var o = r.value;\n o.childNodes && o.childNodes.length && (n = !0);\n }\n } catch (c) {\n i.e(c);\n } finally {\n i.f();\n }\n }\n if (n && (y = null), y && (t == St.KEYCODE.BACKSPACE || t == St.KEYCODE.DELETE)) return e.preventDefault(), e.stopPropagation(), ae(), !1;\n if (y && t == St.KEYCODE.ESC) {\n var s = y;\n return pe(!0), w.selection.setAfter(s.get(0)), w.selection.restore(), e.preventDefault(), !1;\n }\n if (!y || t != St.KEYCODE.ARROW_LEFT && t != St.KEYCODE.ARROW_RIGHT) return y && t === St.KEYCODE.TAB ? (e.preventDefault(), e.stopPropagation(), pe(!0), !1) : y && t != St.KEYCODE.F10 && !w.keys.isBrowserAction(e) ? (e.preventDefault(), e.stopPropagation(), !1) : void 0;\n var l = y.get(0);\n return pe(!0), t == St.KEYCODE.ARROW_LEFT ? w.selection.setBefore(l) : w.selection.setAfter(l), w.selection.restore(), e.preventDefault(), !1;\n }\n function re(e) {\n if (e && \"IMG\" == e.tagName) {\n if (w.node.hasClass(e, \"fr-uploading\") || w.node.hasClass(e, \"fr-error\") ? e.parentNode.removeChild(e) : w.node.hasClass(e, \"fr-draggable\") && e.classList.remove(\"fr-draggable\"), e.parentNode && e.parentNode.parentNode && w.node.hasClass(e.parentNode.parentNode, \"fr-img-caption\")) {\n var t = e.parentNode.parentNode;\n t.removeAttribute(\"contenteditable\"), t.removeAttribute(\"draggable\"), t.classList.remove(\"fr-draggable\");\n var a = e.nextSibling;\n a && a.removeAttribute(\"contenteditable\");\n }\n } else if (e && e.nodeType == Node.ELEMENT_NODE) for (var n = e.querySelectorAll(\"img.fr-uploading, img.fr-error, img.fr-draggable\"), r = 0; r < n.length; r++) re(n[r]);\n }\n function ie(e) {\n if (!1 === w.events.trigger(\"image.beforePasteUpload\", [e])) return A(e).removeAttr(\"data-fr-image-pasted\"), !1;\n y = A(e), S(), i(), F(), y.on(\"load\", function () {\n var t = [];\n S(), A(w.popups.get(\"image.insert\").get(0)).find(\"div.fr-active.fr-error\").length < 1 && F(), A(this).data(\"events\").filter(function (e) {\n \"load\" === e[0] && t.push(e);\n }), t.length <= 1 && A(this).off(\"load\");\n });\n for (var t = A(e).attr(\"src\").split(\",\"), a = atob(t[1]), n = [], r = 0; r < a.length; r++) n.push(a.charCodeAt(r));\n G([w.browser.safari && !w.opts.imageUploadURL ? new Blob([new Uint8Array(n)], {\n type: t[0].replace(/data\\:/g, \"\")\n }) : new Blob([new Uint8Array(n)], {\n type: t[0].replace(/data\\:/g, \"\").replace(/;base64/g, \"\")\n })], y);\n }\n function oe() {\n w.opts.imagePaste ? w.$el.find(\"img[data-fr-image-pasted]\").each(function (e, a) {\n if (w.opts.imagePasteProcess) {\n var t = w.opts.imageDefaultWidth;\n t && \"auto\" != t && (t += w.opts.imageResizeWithPercent ? \"%\" : \"px\"), A(a).css(\"width\", t).removeClass(\"fr-dii fr-dib fr-fir fr-fil\"), me(A(a), w.opts.imageDefaultDisplay, w.opts.imageDefaultAlign);\n }\n if (0 === a.src.indexOf(\"data:\")) ie(a);else if (0 === a.src.indexOf(\"blob:\") || 0 === a.src.indexOf(\"http\") && w.opts.imageUploadRemoteUrls && w.opts.imageCORSProxy) {\n var n = new Image();\n n.crossOrigin = \"Anonymous\", n.onload = function () {\n var e = w.o_doc.createElement(\"CANVAS\"),\n t = e.getContext(\"2d\");\n e.height = this.naturalHeight, e.width = this.naturalWidth, t.drawImage(this, 0, 0), setTimeout(function () {\n ie(a);\n }, 0), a.src = e.toDataURL(St.IMAGE_TYPE);\n }, w.browser.msie && St.IMAGE_ALLOW_REGEX.test(a.src) && (St.IMAGE_TYPE = \"image/\" + a.src.split(St.IMAGE_ALLOW_REGEX)[1]), n.src = (0 === a.src.indexOf(\"blob:\") ? \"\" : \"\".concat(w.opts.imageCORSProxy, \"/\")) + a.src, 0 !== a.src.indexOf(\"blob:\") && w.undo.saveStep();\n } else 0 !== a.src.indexOf(\"http\") || 0 === a.src.indexOf(\"https://mail.google.com/mail\") ? (w.selection.save(), A(a).remove(), w.selection.restore()) : A(a).removeAttr(\"data-fr-image-pasted\");\n }) : w.$el.find(\"img[data-fr-image-pasted]\").remove();\n }\n function se(e) {\n var t = e.target.result,\n a = w.opts.imageDefaultWidth;\n a && \"auto\" != a && (a += w.opts.imageResizeWithPercent ? \"%\" : \"px\"), w.undo.saveStep(), w.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(t, '\"').concat(a ? ' style=\"width: '.concat(a, ';\"') : \"\", \">\"));\n var n = w.$el.find('img[data-fr-image-pasted=\"true\"]');\n n && me(n, w.opts.imageDefaultDisplay, w.opts.imageDefaultAlign), w.events.trigger(\"paste.after\");\n }\n function le(e, t) {\n var a = new FileReader();\n a.onload = function n(e) {\n var t = w.opts.imageDefaultWidth;\n t && \"auto\" != t && (t += w.opts.imageResizeWithPercent ? \"%\" : \"px\"), w.html.insert('<img data-fr-image-pasted=\"true\" src=\"'.concat(e, '\"').concat(t ? ' style=\"width: '.concat(t, ';\"') : \"\", \">\"));\n var a = w.$el.find('img[data-fr-image-pasted=\"true\"]');\n a && me(a, w.opts.imageDefaultDisplay, w.opts.imageDefaultAlign), w.events.trigger(\"paste.after\");\n }(t), a.readAsDataURL(e, t);\n }\n function ce(e, t) {\n var a = t || e && e.clipboardData;\n if (a && a.items) {\n var n = (a || window.clipboardData).getData(\"text/html\") || \"\";\n w.browser.mozilla && (\"\" === n || /<!--StartFragment-->([ ])<!--EndFragment-->/.test(n)) && (n = w.win.localStorage.getItem(\"fr-copied-html\"));\n var r = new DOMParser().parseFromString(n, \"text/html\").querySelector(\"img\");\n if (r && !w.opts.imageUploadURL) {\n if (!r) return !1;\n var i = r.src,\n o = null;\n if (a.types && -1 != [].indexOf.call(a.types, \"text/rtf\") || a.getData(\"text/rtf\")) o = a.items[0].getAsFile();else for (var s = 0; s < a.items.length; s++) if (o = a.items[s].getAsFile()) {\n St.IMAGE_TYPE = o.type;\n break;\n }\n if (o) return le(o, i), !1;\n } else {\n var l = null;\n if (a.types && -1 != [].indexOf.call(a.types, \"text/rtf\") || a.getData(\"text/rtf\")) l = a.items[0].getAsFile();else for (var c = 0; c < a.items.length && !(l = a.items[c].getAsFile()); c++);\n if (l) return function d(e) {\n var t = new FileReader();\n t.onload = se, t.readAsDataURL(e);\n }(l), !1;\n }\n }\n }\n function de(e) {\n return e = e.replace(/<img /gi, '<img data-fr-image-pasted=\"true\" ');\n }\n function fe(e) {\n if (\"false\" == A(this).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\")) return !0;\n if (e && \"touchend\" == e.type && a) return !0;\n if (e && w.edit.isDisabled()) return e.stopPropagation(), e.preventDefault(), !1;\n for (var t = 0; t < St.INSTANCES.length; t++) St.INSTANCES[t] != w && St.INSTANCES[t].events.trigger(\"image.hideResizer\");\n w.toolbar.disable(), e && (e.stopPropagation(), e.preventDefault()), w.helpers.isMobile() && (w.events.disableBlur(), w.$el.blur(), w.events.enableBlur()), w.opts.iframe && w.size.syncIframe(), y = A(this), _e(), S(), i(), w.browser.msie ? (w.popups.areVisible() && w.events.disableBlur(), w.win.getSelection && (w.win.getSelection().removeAllRanges(), w.win.getSelection().addRange(w.doc.createRange()))) : w.selection.clear(), w.helpers.isIOS() && (w.events.disableBlur(), w.$el.blur()), w.button.bulkRefresh(), w.events.trigger(\"video.hideResizer\");\n }\n function pe(e) {\n y && (function t() {\n return ue;\n }() || !0 === e) && (w.toolbar.enable(), c.removeClass(\"fr-active\"), w.popups.hideAll(), y = null, he(), d = null, f && f.hide());\n }\n r[n] = \"Image cannot be loaded from the passed link.\", r[p] = \"No link in upload response.\", r[u] = \"Error during file upload.\", r[g] = \"Parsing response failed.\", r[T] = \"File is too large.\", r[k] = \"Image file type is invalid.\", r[7] = \"Files can be uploaded only to same domain in IE 8 and IE 9.\";\n var ue = !(r[8] = \"Image file is corrupted.\");\n function ge() {\n ue = !0;\n }\n function he() {\n ue = !1;\n }\n function me(e, t, a) {\n if (!w.opts.htmlUntouched && w.opts.useClasses) e.removeClass(\"fr-fil fr-fir fr-dib fr-dii\"), a && e.addClass(\"fr-fi\".concat(a[0])), t && e.addClass(\"fr-di\".concat(t[0]));else if (\"inline\" == t) {\n if (e.css({\n display: \"inline-block\",\n verticalAlign: \"bottom\",\n margin: w.opts.imageDefaultMargin\n }), \"center\" == a) e.css({\n \"float\": \"none\",\n marginBottom: \"\",\n marginTop: \"\",\n maxWidth: \"calc(100% - \".concat(2 * w.opts.imageDefaultMargin, \"px)\"),\n textAlign: \"center\"\n });else if (\"left\" == a) {\n var n = \"0px\",\n r = e.parent(\"span.fr-img-caption\").get(0);\n r || (r = e.parent().get(0)), r && \"li\" === r.tagName.toLowerCase() ? n = \"20px\" : r && \"p\" === r.tagName.toLowerCase() && (n = \"15px\"), e.css({\n \"float\": \"left\",\n marginLeft: 0,\n maxWidth: \"calc(100% - \".concat(w.opts.imageDefaultMargin, \"px)\"),\n textAlign: \"left\",\n marginRight: n\n });\n } else e.css({\n \"float\": \"right\",\n marginRight: 0,\n maxWidth: \"calc(100% - \".concat(w.opts.imageDefaultMargin, \"px)\"),\n textAlign: \"right\"\n });\n } else \"block\" == t && (e.css({\n display: \"block\",\n \"float\": \"none\",\n verticalAlign: \"top\",\n margin: \"\".concat(w.opts.imageDefaultMargin, \"px auto\"),\n textAlign: \"center\"\n }), \"left\" == a ? e.css({\n marginLeft: 0,\n textAlign: \"left\"\n }) : \"right\" == a && e.css({\n marginRight: 0,\n textAlign: \"right\"\n }));\n }\n function ve(e) {\n if (void 0 === e && (e = ye()), e) {\n if (e.hasClass(\"fr-fil\")) return \"left\";\n if (e.hasClass(\"fr-fir\")) return \"right\";\n if (e.hasClass(\"fr-dib\") || e.hasClass(\"fr-dii\")) return \"center\";\n var t = e.css(\"float\");\n if (e.css(\"float\", \"none\"), \"block\" == e.css(\"display\")) {\n if (e.css(\"float\", \"\"), e.css(\"float\") != t && e.css(\"float\", t), 0 === parseInt(e.css(\"margin-left\"), 10)) return \"left\";\n if (0 === parseInt(e.css(\"margin-right\"), 10)) return \"right\";\n } else {\n if (e.css(\"float\", \"\"), e.css(\"float\") != t && e.css(\"float\", t), \"left\" == e.css(\"float\")) return \"left\";\n if (\"right\" == e.css(\"float\")) return \"right\";\n }\n }\n return \"center\";\n }\n function be(e) {\n void 0 === e && (e = ye());\n var t = e.css(\"float\");\n return e.css(\"float\", \"none\"), \"block\" == e.css(\"display\") ? (e.css(\"float\", \"\"), e.css(\"float\") != t && e.css(\"float\", t), \"block\") : (e.css(\"float\", \"\"), e.css(\"float\") != t && e.css(\"float\", t), \"inline\");\n }\n function Ee() {\n var e = w.popups.get(\"image.insert\");\n e || (e = j()), w.popups.isVisible(\"image.insert\") || (M(), w.popups.refresh(\"image.insert\"), w.popups.setContainer(\"image.insert\", w.$sc));\n var t = ye(),\n a = t && t.outerWidth() / 2;\n Ae() && (t = t.find(\".fr-img-wrap\"), a = y.outerWidth() / 2);\n var n,\n r = t.offset().left + a,\n i = t.outerHeight(!0);\n w.opts.iframe && Ae() && (i = y ? y.outerHeight() : 0), n = 0 < w.$el.find(\"img[data-fr-image-pasted]\").length ? w.$wp.offset().top - w.helpers.scrollTop() + w.$wp.height() : t.offset().top + t.outerHeight(), w.popups.show(\"image.insert\", r, n, i, !0);\n }\n function _e() {\n if (y) {\n w.events.disableBlur(), w.selection.clear();\n var e = w.doc.createRange();\n e.selectNode(y.get(0)), w.browser.msie && e.collapse(!0), w.selection.get().addRange(e), w.events.enableBlur();\n }\n }\n function we() {\n return y;\n }\n function ye() {\n return Ae() ? y.parents(\".fr-img-caption\").first() : y;\n }\n function Ae() {\n return !!y && 0 < y.parents(\".fr-img-caption\").length;\n }\n function Ce(e) {\n for (var t = document.createDocumentFragment(); e.firstChild;) {\n var a = e.removeChild(e.firstChild);\n t.appendChild(a);\n }\n e.parentNode.replaceChild(t, e);\n }\n return {\n _init: function Te() {\n var i;\n (function e() {\n w.events.$on(w.$el, w._mousedown, \"IMG\" == w.el.tagName ? null : 'img:not([contenteditable=\"false\"])', function (e) {\n if (\"false\" == A(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\")) return !0;\n w.helpers.isMobile() || w.selection.clear(), t = !0, w.popups.areVisible() && w.events.disableBlur(), w.browser.msie && (w.events.disableBlur(), w.$el.attr(\"contenteditable\", !1)), w.draggable || \"touchstart\" == e.type || e.preventDefault(), e.stopPropagation();\n }), w.events.$on(w.$el, w._mousedown, \".fr-img-caption .fr-inner\", function (e) {\n w.core.hasFocus() || w.events.focus(), e.stopPropagation();\n }), w.events.$on(w.$el, \"paste\", \".fr-img-caption .fr-inner\", function (e) {\n !0 === w.opts.toolbarInline && (w.toolbar.hide(), e.stopPropagation());\n }), w.events.$on(w.$el, w._mousedown, 'img:not([contenteditable=\"false\"])', function (e) {\n var t = this;\n w.browser.mozilla && 3 == e.which && (A(this).attr(\"contenteditable\", !1), setTimeout(function () {\n A(t).removeAttr(\"contenteditable\");\n }, 200));\n }), w.events.$on(w.$el, w._mouseup, \"IMG\" == w.el.tagName ? null : 'img:not([contenteditable=\"false\"])', function (e) {\n if (\"false\" == A(this).parents(\"contenteditable\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\")) return !0;\n t && (t = !1, e.stopPropagation(), w.browser.msie && (w.$el.attr(\"contenteditable\", !0), w.events.enableBlur()));\n }), w.events.on(\"keyup\", function (e) {\n if (e.shiftKey && \"\" === w.selection.text().replace(/\\n/g, \"\") && w.keys.isArrow(e.which)) {\n var t = w.selection.element(),\n a = w.selection.endElement();\n t && \"IMG\" == t.tagName ? P(A(t)) : a && \"IMG\" == a.tagName && P(A(a));\n }\n }, !0), w.events.on(\"drop\", Y), w.events.on(\"element.beforeDrop\", V), w.events.on(\"mousedown window.mousedown\", ge), w.events.on(\"window.touchmove\", he), w.events.on(\"mouseup window.mouseup\", function () {\n if (y && !w.helpers.isMobile()) return pe(), !1;\n he();\n }), w.events.on(\"touchstart touchend\", function () {\n if (y && w.helpers.isMobile()) return pe(), !1;\n he();\n }), w.events.on(\"commands.mousedown\", function (e) {\n 0 < e.parents(\".fr-toolbar\").length && pe();\n }), w.events.on(\"image.resizeEnd\", function () {\n w.opts.iframe && w.size.syncIframe();\n }), w.events.on(\"blur image.hideResizer commands.undo commands.redo element.dropped\", function () {\n pe(!(t = !1));\n }), w.events.on(\"modals.hide\", function () {\n y && (_e(), w.selection.clear());\n }), w.events.on(\"image.resizeEnd\", function () {\n w.win.getSelection && P(y);\n }), w.events.on(\"filestack-init\", function () {\n j();\n }), w.events.on(\"filestack-init-edit\", function () {\n for (var e = w.$(\".fr-popup\"), t = e.length - 1; 0 <= t; t--) e[t].parentElement.removeChild(e[t]);\n O();\n }), w.opts.imageAddNewLine && w.events.on(\"image.inserted\", function (e) {\n var t = e.get(0);\n for (t.nextSibling && \"BR\" === t.nextSibling.tagName && (t = t.nextSibling); t && !w.node.isElement(t);) t = w.node.isLastSibling(t) ? t.parentNode : null;\n w.node.isElement(t) && (w.opts.enter === St.ENTER_BR ? e.after(\"<br>\") : A(w.node.blockParent(e.get(0))).after(\"<\".concat(w.html.defaultTag(), \"><br></\").concat(w.html.defaultTag(), \">\")));\n });\n })(), \"IMG\" == w.el.tagName && w.$el.addClass(\"fr-view\"), w.events.$on(w.$el, w.helpers.isMobile() && !w.helpers.isWindowsPhone() ? \"touchend\" : \"click\", \"IMG\" == w.el.tagName ? null : 'img:not([contenteditable=\"false\"])', fe), w.helpers.isMobile() && (w.events.$on(w.$el, \"touchstart\", \"IMG\" == w.el.tagName ? null : 'img:not([contenteditable=\"false\"])', function () {\n a = !1;\n }), w.events.$on(w.$el, \"touchmove\", function () {\n a = !0;\n })), w.$wp ? (w.events.on(\"window.keydown keydown\", ne, !0), w.events.on(\"keyup\", function (e) {\n if (y && e.which == St.KEYCODE.ENTER) return !1;\n }, !0), w.events.$on(w.$el, \"keydown\", function () {\n var e = w.selection.element();\n (e.nodeType === Node.TEXT_NODE || \"BR\" == e.tagName && w.node.isLastSibling(e)) && (e = e.parentNode), w.node.hasClass(e, \"fr-inner\") || (w.node.hasClass(e, \"fr-img-caption\") || (e = A(e).parents(\".fr-img-caption\").get(0)), w.node.hasClass(e, \"fr-img-caption\") && (w.opts.trackChangesEnabled || A(e).after(St.INVISIBLE_SPACE + St.MARKERS), w.selection.restore()));\n })) : w.events.$on(w.$win, \"keydown\", ne), w.events.on(\"toolbar.esc\", function () {\n if (y) {\n if (w.$wp) w.events.disableBlur(), w.events.focus();else {\n var e = y;\n pe(!0), w.selection.setAfter(e.get(0)), w.selection.restore();\n }\n return !1;\n }\n }, !0), w.events.on(\"toolbar.focusEditor\", function () {\n if (y) return !1;\n }, !0), w.events.on(\"window.cut window.copy\", function (e) {\n if (y && w.popups.isVisible(\"image.edit\") && !w.popups.get(\"image.edit\").find(\":focus\").length) {\n var t = ye();\n Ae() ? (t.before(St.START_MARKER), t.after(St.END_MARKER), w.selection.restore(), w.paste.saveCopiedText(t.get(0).outerHTML, t.text())) : (_e(), w.paste.saveCopiedText(y.get(0).outerHTML, y.attr(\"alt\"))), \"copy\" == e.type ? setTimeout(function () {\n P(y);\n }) : (pe(!0), w.undo.saveStep(), setTimeout(function () {\n w.undo.saveStep();\n }, 0));\n }\n }, !0), w.browser.msie && w.events.on(\"keydown\", function (e) {\n if (!w.selection.isCollapsed() || !y) return !0;\n var t = e.which;\n t == St.KEYCODE.C && w.keys.ctrlKey(e) ? w.events.trigger(\"window.copy\") : t == St.KEYCODE.X && w.keys.ctrlKey(e) && w.events.trigger(\"window.cut\");\n }), w.events.$on(A(w.o_win), \"keydown\", function (e) {\n if (w.opts.pluginsEnabled.includes(\"filestack\") && w.opts.iframe) {\n var t = document.getElementsByClassName(\"fs-transforms-container\"),\n a = !1;\n if (t && t.length) {\n var n,\n r = $e(t);\n try {\n for (r.s(); !(n = r.n()).done;) {\n var i = n.value;\n i.childNodes && i.childNodes.length && (a = !0);\n }\n } catch (s) {\n r.e(s);\n } finally {\n r.f();\n }\n }\n a && (y = null);\n }\n var o = e.which;\n if (y && o == St.KEYCODE.BACKSPACE) return e.preventDefault(), !1;\n }), w.events.$on(w.$win, \"keydown\", function (e) {\n var t = e.which;\n y && y.hasClass(\"fr-uploading\") && t == St.KEYCODE.ESC && y.trigger(\"abortUpload\");\n }), w.events.on(\"destroy\", function () {\n y && y.hasClass(\"fr-uploading\") && y.trigger(\"abortUpload\");\n }), w.events.on(\"paste.before\", ce), w.events.on(\"paste.beforeCleanup\", de), w.events.on(\"paste.after\", oe), w.events.on(\"html.set\", v), w.events.on(\"html.inserted\", v), v(), w.events.on(\"destroy\", function () {\n s = [];\n }), w.events.on(\"html.processGet\", re), w.opts.imageOutputSize && w.events.on(\"html.beforeGet\", function () {\n i = w.el.querySelectorAll(\"img\");\n for (var e = 0; e < i.length; e++) {\n var t = parseFloat(A(i[e]).css(\"padding-left\")) + parseFloat(A(i[e]).css(\"padding-right\")),\n a = A(i[e]).width() - t,\n n = i[e].style.width || a,\n r = i[e].style.height || A(i[e]).height();\n n && i[e].setAttribute(\"width\", \"\".concat(n).replace(/px/, \"\")), r && i[e].setAttribute(\"height\", \"\".concat(r).replace(/px/, \"\"));\n }\n }), w.opts.iframe && w.events.on(\"image.loaded\", w.size.syncIframe), w.$wp && (b(), w.events.on(\"contentChanged\", b)), w.events.$on(A(w.o_win), \"orientationchange.image\", function () {\n setTimeout(function () {\n y && P(y);\n }, 100);\n }), O(!0), j(!0), ee(!0), Z(!0), w.events.on(\"node.remove\", function (e) {\n if (\"IMG\" == e.get(0).tagName) return ae(e), !1;\n });\n },\n showInsertPopup: function ke() {\n var e = w.$tb.find('.fr-command[data-cmd=\"insertImage\"]'),\n t = w.popups.get(\"image.insert\");\n if (t || (t = j()), M(), !t.hasClass(\"fr-active\")) if (w.popups.refresh(\"image.insert\"), w.popups.setContainer(\"image.insert\", w.$tb), e.isVisible()) {\n var a = w.button.getPosition(e),\n n = a.left,\n r = a.top;\n w.popups.show(\"image.insert\", n, r, e.outerHeight());\n } else w.position.forSelection(t), w.popups.show(\"image.insert\");\n },\n showLayer: function Se(e) {\n var t,\n a,\n n = w.popups.get(\"image.insert\");\n if (y || w.opts.toolbarInline) {\n if (y) {\n var r = ye(),\n i = 0;\n Ae() && (r = r.find(\".fr-img-wrap\"), i = y.outerWidth() / 2), a = r.offset().top + r.outerHeight(), t = r.offset().left + i;\n }\n } else {\n var o = w.$tb.find('.fr-command[data-cmd=\"insertImage\"]');\n t = o.offset().left, a = o.offset().top + (w.opts.toolbarBottom ? 10 : o.outerHeight() - 10);\n }\n !y && w.opts.toolbarInline && (a = n.offset().top - w.helpers.getPX(n.css(\"margin-top\")), n.hasClass(\"fr-above\") && (a += n.outerHeight())), n.find(\".fr-layer\").removeClass(\"fr-active\"), n.find(\".fr-\".concat(e, \"-layer\")).addClass(\"fr-active\"), w.popups.show(\"image.insert\", t, a, y ? y.outerHeight() : 0, Ae()), w.accessibility.focusPopup(n);\n },\n refreshUploadButton: function Re(e) {\n var t = w.popups.get(\"image.insert\");\n t && t.find(\".fr-image-upload-layer\").hasClass(\"fr-active\") && e.addClass(\"fr-active\").attr(\"aria-pressed\", !0);\n },\n refreshByURLButton: function Le(e) {\n var t = w.popups.get(\"image.insert\");\n t && t.find(\".fr-image-by-url-layer\").hasClass(\"fr-active\") && e.addClass(\"fr-active\").attr(\"aria-pressed\", !0);\n },\n upload: G,\n insertByURL: function xe() {\n var e = w.popups.get(\"image.insert\").find(\".fr-image-by-url-layer input\");\n if (0 < e.val().length) {\n F(), N(w.language.translate(\"Loading image\"));\n var t = e.val().trim();\n if (w.opts.imageUploadRemoteUrls && w.opts.imageCORSProxy && w.opts.imageUpload) {\n var a = new XMLHttpRequest();\n a.onload = function () {\n 200 == this.status ? G([new Blob([this.response], {\n type: this.response.type || \"image/png\"\n })], y) : I(n);\n }, a.onerror = function () {\n U(t, !0, [], y);\n }, a.open(\"GET\", \"\".concat(w.opts.imageCORSProxy, \"/\").concat(t), !0), a.responseType = \"blob\", a.send();\n } else U(t, !0, [], y);\n e.val(\"\"), e.blur();\n }\n },\n align: function Ie(e) {\n var t = ye();\n t.removeClass(\"fr-fir fr-fil\"), !w.opts.htmlUntouched && w.opts.useClasses ? \"left\" == e ? t.addClass(\"fr-fil\") : \"right\" == e && t.addClass(\"fr-fir\") : me(t, be(), e), _e(), S(), i(), w.selection.clear();\n },\n refreshAlign: function Oe(e) {\n y && e.find(\"> *\").first().replaceWith(w.icon.create(\"image-align-\".concat(ve())));\n },\n refreshAlignOnShow: function Fe(e, t) {\n y && t.find('.fr-command[data-param1=\"'.concat(ve(), '\"]')).addClass(\"fr-active\").attr(\"aria-selected\", !0);\n },\n display: function Me(e) {\n var t = ye();\n t.removeClass(\"fr-dii fr-dib\"), !w.opts.htmlUntouched && w.opts.useClasses ? \"inline\" == e ? t.addClass(\"fr-dii\") : \"block\" == e && t.addClass(\"fr-dib\") : me(t, e, ve()), _e(), S(), i(), w.selection.clear();\n },\n refreshDisplayOnShow: function Ne(e, t) {\n y && t.find('.fr-command[data-param1=\"'.concat(be(), '\"]')).addClass(\"fr-active\").attr(\"aria-selected\", !0);\n },\n replace: Ee,\n back: function e() {\n y ? (w.events.disableBlur(), A(\".fr-popup input:focus\").blur(), P(y)) : (w.events.disableBlur(), w.selection.restore(), w.events.enableBlur(), w.popups.hide(\"image.insert\"), w.toolbar.showInline());\n },\n get: we,\n getEl: ye,\n insert: U,\n showProgressBar: F,\n remove: ae,\n hideProgressBar: M,\n applyStyle: function De(e, t, a) {\n if (void 0 === t && (t = w.opts.imageStyles), void 0 === a && (a = w.opts.imageMultipleStyles), !y) return !1;\n var n = ye();\n if (!a) {\n var r = Object.keys(t);\n r.splice(r.indexOf(e), 1), n.removeClass(r.join(\" \"));\n }\n \"object\" == Rt(t[e]) ? (n.removeAttr(\"style\"), n.css(t[e].style)) : (n.toggleClass(e), Ae() && y.hasClass(e) && y.removeClass(e)), P(y);\n },\n showAltPopup: X,\n showSizePopup: J,\n setAlt: function Pe(e) {\n if (y) {\n var t = w.popups.get(\"image.alt\");\n y.attr(\"alt\", e || t.find(\"input\").val() || \"\"), t.find(\"input:focus\").blur(), P(y);\n }\n },\n setSize: function Be(e, t) {\n if (y) {\n var a = w.popups.get(\"image.size\");\n e = e || a.find('input[name=\"width\"]').val() || \"\", t = t || a.find('input[name=\"height\"]').val() || \"\";\n var n = /^[\\d]+((px)|%)*$/g;\n y.removeAttr(\"width\").removeAttr(\"height\"), e.match(n) ? y.css(\"width\", e) : y.css(\"width\", \"\"), t.match(n) ? y.css(\"height\", t) : y.css(\"height\", \"\"), Ae() && (y.parents(\".fr-img-caption\").removeAttr(\"width\").removeAttr(\"height\"), e.match(n) ? y.parents(\".fr-img-caption\").css(\"width\", e) : y.parents(\".fr-img-caption\").css(\"width\", \"\"), t.match(n) ? y.parents(\".fr-img-caption\").css(\"height\", t) : y.parents(\".fr-img-caption\").css(\"height\", \"\")), a && a.find(\"input:focus\").blur(), P(y);\n }\n },\n toggleCaption: function Ue() {\n var e,\n t = w.$el.get(0);\n if (y && !Ae()) {\n (e = y).parent().is(\"a\") && (e = y.parent());\n var a,\n n,\n r = y.parents(\"ul\") && 0 < y.parents(\"ul\").length ? y.parents(\"ul\") : y.parents(\"ol\") && 0 < y.parents(\"ol\").length ? y.parents(\"ol\") : [];\n if (0 < r.length) {\n var i = r.find(\"li\").length,\n o = y.parents(\"li\"),\n s = document.createElement(\"li\");\n i - 1 === o.index() && (r.append(s), s.innerHTML = \" \");\n }\n e.attr(\"style\") ? n = -1 < (a = e.attr(\"style\").split(\":\")).indexOf(\"width\") ? a[a.indexOf(\"width\") + 1].replace(\";\", \"\") : \"\" : e.attr(\"width\") && (n = e.attr(\"width\"));\n var l = w.opts.imageResizeWithPercent ? (-1 < n.indexOf(\"px\") ? null : n) || \"100%\" : y.width() + \"px\";\n e.wrap('<div class=\"fr-img-space-wrap\"><span ' + (w.browser.mozilla ? \"\" : 'contenteditable=\"false\"') + 'class=\"fr-img-caption ' + y.attr(\"class\") + '\" style=\"' + (w.opts.useClasses ? \"\" : e.attr(\"style\")) + '\" draggable=\"false\"></span></div>'), e.wrap('<span class=\"fr-img-wrap\"></span>'), y.after('<span class=\"fr-inner\"'.concat(w.browser.mozilla ? \"\" : ' contenteditable=\"true\"', \">\").concat(St.START_MARKER).concat(w.language.translate(\"Image Caption\")).concat(St.END_MARKER, \"</span>\")), y.parents(\".fr-img-caption\").css(\"width\", l);\n var c = y.parents(\".fr-img-space-wrap\").length;\n 1 == c ? Ce(t.querySelector(\".fr-img-space-wrap\")) : 1 < c && (Ce(t.querySelector(\".fr-img-space-wrap\")), Ce(t.querySelector(\".fr-img-space-wrap2\"))), pe(!0), w.selection.restore();\n } else {\n if (e = ye(), y.insertBefore(e), null !== e[0].querySelector(\"a\")) {\n for (var d, f = e[0].querySelector(\"a\"), p = document.createElement(\"a\"), u = 0, g = f.attributes, h = g.length; u < h; u++) d = g[u], p.setAttribute(d.nodeName, d.nodeValue);\n y.wrap(p);\n }\n y.attr(\"class\", e.attr(\"class\").replace(\"fr-img-caption\", \"\")).attr(\"style\", e.attr(\"style\")), e.remove();\n var m = y.parents(\".fr-img-space-wrap\").length;\n 1 == m ? Ce(t.querySelector(\".fr-img-space-wrap\")) : 1 < m && (Ce(t.querySelector(\".fr-img-space-wrap\")), Ce(t.querySelector(\".fr-img-space-wrap2\"))), P(y);\n }\n },\n hasCaption: Ae,\n exitEdit: pe,\n edit: P\n };\n }, St.DefineIcon(\"insertImage\", {\n NAME: \"image\",\n SVG_KEY: \"insertImage\"\n }), St.RegisterShortcut(St.KEYCODE.P, \"insertImage\", null, \"P\"), St.RegisterCommand(\"insertImage\", {\n title: \"Insert Image\",\n undo: !1,\n focus: !0,\n refreshAfterCallback: !1,\n popup: !0,\n callback: function () {\n this.popups.isVisible(\"image.insert\") ? (this.$el.find(\".fr-marker\").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"image.insert\")) : this.image.showInsertPopup();\n },\n plugin: \"image\"\n }), St.DefineIcon(\"imageUpload\", {\n NAME: \"upload\",\n SVG_KEY: \"upload\"\n }), St.RegisterCommand(\"imageUpload\", {\n title: \"Upload Image\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.image.showLayer(\"image-upload\");\n },\n refresh: function (e) {\n this.image.refreshUploadButton(e);\n }\n }), St.DefineIcon(\"imageByURL\", {\n NAME: \"link\",\n SVG_KEY: \"insertLink\"\n }), St.RegisterCommand(\"imageByURL\", {\n title: \"By URL\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.image.showLayer(\"image-by-url\");\n },\n refresh: function (e) {\n this.image.refreshByURLButton(e);\n }\n }), St.RegisterCommand(\"imageInsertByURL\", {\n title: \"Insert Image\",\n undo: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.image.insertByURL();\n },\n refresh: function (e) {\n this.image.get() ? e.text(this.language.translate(\"Replace\")) : e.text(this.language.translate(\"Insert\"));\n }\n }), St.DefineIcon(\"imageDisplay\", {\n NAME: \"star\",\n SVG_KEY: \"imageDisplay\"\n }), St.RegisterCommand(\"imageDisplay\", {\n title: \"Display\",\n type: \"dropdown\",\n options: {\n inline: \"Inline\",\n block: \"Break Text\"\n },\n callback: function (e, t) {\n this.image.display(t);\n },\n refresh: function (e) {\n this.opts.imageTextNear || e.addClass(\"fr-hidden\");\n },\n refreshOnShow: function (e, t) {\n this.image.refreshDisplayOnShow(e, t);\n }\n }), St.DefineIcon(\"image-align\", {\n NAME: \"align-left\",\n SVG_KEY: \"alignLeft\"\n }), St.DefineIcon(\"image-align-left\", {\n NAME: \"align-left\",\n SVG_KEY: \"alignLeft\"\n }), St.DefineIcon(\"image-align-right\", {\n NAME: \"align-right\",\n SVG_KEY: \"alignRight\"\n }), St.DefineIcon(\"image-align-center\", {\n NAME: \"align-justify\",\n SVG_KEY: \"alignCenter\"\n }), St.DefineIcon(\"imageAlign\", {\n NAME: \"align-justify\",\n SVG_KEY: \"alignJustify\"\n }), St.RegisterCommand(\"imageAlign\", {\n type: \"dropdown\",\n title: \"Align\",\n options: {\n left: \"Align Left\",\n center: \"None\",\n right: \"Align Right\"\n },\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = St.COMMANDS.imageAlign.options;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"imageAlign\" data-param1=\"'.concat(a, '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.icon.create(\"image-align-\".concat(a)), '<span class=\"fr-sr-only\">').concat(this.language.translate(t[a]), \"</span></a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.image.align(t);\n },\n refresh: function (e) {\n this.image.refreshAlign(e);\n },\n refreshOnShow: function (e, t) {\n this.image.refreshAlignOnShow(e, t);\n }\n }), St.DefineIcon(\"imageReplace\", {\n NAME: \"exchange\",\n FA5NAME: \"exchange-alt\",\n SVG_KEY: \"replaceImage\"\n }), St.RegisterCommand(\"imageReplace\", {\n title: \"Replace\",\n undo: !1,\n focus: !1,\n popup: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.image.replace();\n }\n }), St.DefineIcon(\"imageRemove\", {\n NAME: \"trash\",\n SVG_KEY: \"remove\"\n }), St.RegisterCommand(\"imageRemove\", {\n title: \"Remove\",\n callback: function () {\n this.image.remove();\n }\n }), St.DefineIcon(\"imageBack\", {\n NAME: \"arrow-left\",\n SVG_KEY: \"back\"\n }), St.RegisterCommand(\"imageBack\", {\n title: \"Back\",\n undo: !1,\n focus: !1,\n back: !0,\n callback: function () {\n this.image.back();\n },\n refresh: function (e) {\n this.$;\n this.image.get() || this.opts.toolbarInline ? (e.removeClass(\"fr-hidden\"), e.next(\".fr-separator\").removeClass(\"fr-hidden\")) : (e.addClass(\"fr-hidden\"), e.next(\".fr-separator\").addClass(\"fr-hidden\"));\n }\n }), St.RegisterCommand(\"imageDismissError\", {\n title: \"OK\",\n undo: !1,\n callback: function () {\n this.image.hideProgressBar(!0);\n }\n }), St.DefineIcon(\"imageStyle\", {\n NAME: \"magic\",\n SVG_KEY: \"imageClass\"\n }), St.RegisterCommand(\"imageStyle\", {\n title: \"Style\",\n type: \"dropdown\",\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.imageStyles;\n for (var a in t) if (t.hasOwnProperty(a)) {\n var n = t[a];\n \"object\" == Rt(n) && (n = n.title), e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"imageStyle\" data-param1=\"'.concat(a, '\">').concat(this.language.translate(n), \"</a></li>\");\n }\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.image.applyStyle(t);\n },\n refreshOnShow: function (e, t) {\n var a = this.$,\n n = this.image.getEl();\n n && t.find(\".fr-command\").each(function () {\n var e = a(this).data(\"param1\"),\n t = n.hasClass(e);\n a(this).toggleClass(\"fr-active\", t).attr(\"aria-selected\", t);\n });\n }\n }), St.DefineIcon(\"imageAlt\", {\n NAME: \"info\",\n SVG_KEY: \"imageAltText\"\n }), St.RegisterCommand(\"imageAlt\", {\n undo: !1,\n focus: !1,\n popup: !0,\n title: \"Alternative Text\",\n callback: function () {\n this.image.showAltPopup();\n }\n }), St.RegisterCommand(\"imageSetAlt\", {\n undo: !0,\n focus: !1,\n title: \"Update\",\n refreshAfterCallback: !1,\n callback: function () {\n this.image.setAlt();\n }\n }), St.DefineIcon(\"imageSize\", {\n NAME: \"arrows-alt\",\n SVG_KEY: \"imageSize\"\n }), St.RegisterCommand(\"imageSize\", {\n undo: !1,\n focus: !1,\n popup: !0,\n title: \"Change Size\",\n callback: function () {\n this.image.showSizePopup();\n }\n }), St.RegisterCommand(\"imageSetSize\", {\n undo: !0,\n focus: !1,\n title: \"Update\",\n refreshAfterCallback: !1,\n callback: function () {\n this.image.setSize();\n }\n }), St.DefineIcon(\"imageCaption\", {\n NAME: \"commenting\",\n FA5NAME: \"comment-alt\",\n SVG_KEY: \"imageCaption\"\n }), St.RegisterCommand(\"imageCaption\", {\n undo: !0,\n focus: !1,\n title: \"Image Caption\",\n refreshAfterCallback: !0,\n callback: function () {\n this.image.toggleCaption();\n },\n refresh: function (e) {\n this.image.get() && e.toggleClass(\"fr-active\", this.image.hasCaption());\n }\n }), Object.assign(St.DEFAULTS, {\n imageManagerLoadURL: \"https://i.froala.com/load-files\",\n imageManagerLoadMethod: \"get\",\n imageManagerLoadParams: {},\n imageManagerPreloader: null,\n imageManagerDeleteURL: \"\",\n imageManagerDeleteMethod: \"post\",\n imageManagerDeleteParams: {},\n imageManagerPageSize: 12,\n imageManagerScrollOffset: 20,\n imageManagerToggleTags: !0\n }), St.PLUGINS.imageManager = function (s) {\n var l,\n c,\n i,\n o,\n d,\n f,\n p,\n u,\n g,\n h,\n m,\n v = s.$,\n b = \"image_manager\",\n e = 10,\n E = 11,\n _ = 12,\n w = 13,\n y = 14,\n A = 15,\n a = 21,\n n = 22,\n r = {};\n function C() {\n var e = v(window).outerWidth();\n return e < 768 ? 2 : e < 1200 ? 3 : 4;\n }\n function T() {\n d.empty();\n for (var e = 0; e < m; e++) d.append('<div class=\"fr-list-column\"></div>');\n }\n function k() {\n if (g < p.length && i[0].scrollTop >= i[0].scrollHeight - s.opts.imageManagerScrollOffset - i.outerHeight()) {\n u++;\n for (var e = s.opts.imageManagerPageSize * (u - 1); e < Math.min(p.length, s.opts.imageManagerPageSize * u); e++) t(p[e]);\n }\n }\n function t(r) {\n var i = new Image(),\n o = v(document.createElement(\"div\")).attr(\"class\", \"fr-image-container fr-empty fr-image-\" + h++).attr(\"data-loading\", s.language.translate(\"Loading\") + \"..\").attr(\"data-deleting\", s.language.translate(\"Deleting\") + \"..\");\n x(!1), i.onload = function () {\n o.height(Math.floor(o.width() / i.width * i.height));\n var a = v(document.createElement(\"img\"));\n if (r.thumb) a.attr(\"src\", r.thumb);else {\n if (M(y, r), !r.url) return M(A, r), !1;\n a.attr(\"src\", r.url);\n }\n if (r.url && a.attr(\"data-url\", r.url), r.tag) if (c.find(\".fr-modal-more.fr-not-available\").removeClass(\"fr-not-available\"), c.find(\".fr-modal-tags\").show(), 0 <= r.tag.indexOf(\",\")) {\n for (var e = r.tag.split(\",\"), t = 0; t < e.length; t++) e[t] = e[t].trim(), 0 === f.find('a[title=\"'.concat(e[t], '\"]')).length && f.append('<a role=\"button\" title=\"'.concat(e[t], '\">').concat(e[t], \"</a>\"));\n a.attr(\"data-tag\", e.join());\n } else 0 === f.find('a[title=\"'.concat(r.tag.trim(), '\"]')).length && f.append('<a role=\"button\" title=\"'.concat(r.tag.trim(), '\">').concat(r.tag.trim(), \"</a>\")), a.attr(\"data-tag\", r.tag.trim());\n for (var n in r.name && a.attr(\"alt\", r.name), r) r.hasOwnProperty(n) && \"thumb\" !== n && \"url\" !== n && \"tag\" !== n && a.attr(\"data-\".concat(n), r[n]);\n o.append(a).append(v(s.icon.create(\"imageManagerDelete\")).addClass(\"fr-delete-img\").attr(\"title\", s.language.translate(\"Delete\"))).append(v(s.icon.create(\"imageManagerInsert\")).addClass(\"fr-insert-img\").attr(\"title\", s.language.translate(\"Insert\"))), f.find(\".fr-selected-tag\").each(function (e, t) {\n B(a, t.text) || o.hide();\n }), a.on(\"load\", function () {\n o.removeClass(\"fr-empty\"), o.height(\"auto\"), g++, L(R(parseInt(a.parent().attr(\"class\").match(/fr-image-(\\d+)/)[1], 10) + 1)), x(!1), g % s.opts.imageManagerPageSize == 0 && k();\n }), s.events.trigger(\"imageManager.imageLoaded\", [a]);\n }, i.onerror = function () {\n g++, o.remove(), L(R(parseInt(o.attr(\"class\").match(/fr-image-(\\d+)/)[1], 10) + 1)), M(e, r), g % s.opts.imageManagerPageSize == 0 && k();\n }, i.src = r.thumb || r.url, S().append(o);\n }\n function S() {\n var n, r;\n return d.find(\".fr-list-column\").each(function (e, t) {\n var a = v(t);\n 0 === e ? (r = a.outerHeight(), n = a) : a.outerHeight() < r && (r = a.outerHeight(), n = a);\n }), n;\n }\n function R(e) {\n e === undefined && (e = 0);\n for (var t = [], a = h - 1; e <= a; a--) {\n var n = d.find(\".fr-image-\".concat(a));\n n.length && (t.push(n), v(document.createElement(\"div\")).attr(\"id\", \"fr-image-hidden-container\").append(n), d.find(\".fr-image-\".concat(a)).remove());\n }\n return t;\n }\n function L(e) {\n for (var t = e.length - 1; 0 <= t; t--) S().append(e[t]);\n }\n function x(e) {\n if (e === undefined && (e = !0), !l.isVisible()) return !0;\n var t = C();\n if (t !== m) {\n m = t;\n var a = R();\n T(), L(a);\n }\n s.modals.resize(b), e && k();\n }\n function I(e) {\n for (var t, a = e[0].attributes, n = a.length, r = {}; n--;) a[n] && \"src\" !== (t = a[n].name) && (r[t] = a[n].value);\n return r;\n }\n function O(e) {\n var t = v(e.currentTarget).siblings(\"img\"),\n a = l.data(\"instance\") || s,\n n = l.data(\"current-image\");\n if (s.modals.hide(b), a.image.showProgressBar(), n) n.data(\"fr-old-src\", n.attr(\"src\")), n.trigger(\"click\");else {\n a.events.focus(!0), a.selection.restore();\n var r = a.position.getBoundingRect(),\n i = r.left + r.width / 2 + v(s.doc).scrollLeft(),\n o = r.top + r.height + v(s.doc).scrollTop();\n a.popups.setContainer(\"image.insert\", s.$sc), a.popups.show(\"image.insert\", i, o);\n }\n a.image.insert(t.data(\"url\"), !1, I(t), n);\n }\n function F(e) {\n var i = v(e.currentTarget).siblings(\"img\"),\n t = s.language.translate(\"Are you sure? Image will be deleted.\");\n confirm(t) && (s.opts.imageManagerDeleteURL ? !1 !== s.events.trigger(\"imageManager.beforeDeleteImage\", [i]) && (i.parent().addClass(\"fr-image-deleting\"), v(this).ajax({\n method: s.opts.imageManagerDeleteMethod,\n url: s.opts.imageManagerDeleteURL,\n data: Object.assign(Object.assign({\n src: i.attr(\"src\")\n }, I(i)), s.opts.imageManagerDeleteParams),\n crossDomain: s.opts.requestWithCORS,\n withCredentials: s.opts.requestWithCredentials,\n headers: s.opts.requestHeaders,\n done: function (e, t, a) {\n s.events.trigger(\"imageManager.imageDeleted\", [e]);\n var n = R(parseInt(i.parent().attr(\"class\").match(/fr-image-(\\d+)/)[1], 10) + 1);\n i.parent().remove(), L(n), function r() {\n l.find(\"#fr-modal-tags > a\").each(function () {\n 0 === l.find('#fr-image-list [data-tag*=\"'.concat(v(this).text(), '\"]')).length && v(this).removeClass(\"fr-selected-tag\").hide();\n }), D();\n }(), x(!0);\n },\n fail: function (e) {\n M(a, e.response || e.responseText);\n }\n })) : M(n));\n }\n function M(e, t) {\n 10 <= e && e < 20 ? o.hide() : 20 <= e && e < 30 && v(\".fr-image-deleting\").removeClass(\"fr-image-deleting\"), s.events.trigger(\"imageManager.error\", [{\n code: e,\n message: r[e]\n }, t]);\n }\n function N() {\n var e = c.find(\".fr-modal-head-line\").outerHeight(),\n t = f.outerHeight();\n c.toggleClass(\"fr-show-tags\"), c.hasClass(\"fr-show-tags\") ? (c.css(\"height\", e + t), i.css(\"marginTop\", e + t), f.find(\"a\").css(\"opacity\", 1)) : (c.css(\"height\", e), i.css(\"marginTop\", e), f.find(\"a\").css(\"opacity\", 0));\n }\n function D() {\n var e = f.find(\".fr-selected-tag\");\n 0 < e.length ? (d.find(\"img\").parents().show(), e.each(function (e, n) {\n d.find(\"img\").each(function (e, t) {\n var a = v(t);\n B(a, n.text) || a.parent().hide();\n });\n })) : d.find(\"img\").parents().show(), L(R()), k();\n }\n function P(e) {\n e.preventDefault();\n var t = v(e.currentTarget);\n t.toggleClass(\"fr-selected-tag\"), s.opts.imageManagerToggleTags && t.siblings(\"a\").removeClass(\"fr-selected-tag\"), D();\n }\n function B(e, t) {\n for (var a = (e.attr(\"data-tag\") || \"\").split(\",\"), n = 0; n < a.length; n++) if (a[n] === t) return !0;\n return !1;\n }\n return r[e] = \"Image cannot be loaded from the passed link.\", r[E] = \"Error during load images request.\", r[_] = \"Missing imageManagerLoadURL option.\", r[w] = \"Parsing load response failed.\", r[y] = \"Missing image thumb.\", r[A] = \"Missing image URL.\", r[a] = \"Error during delete image request.\", r[n] = \"Missing imageManagerDeleteURL option.\", {\n require: [\"image\"],\n _init: function U() {\n if (!s.$wp && \"IMG\" !== s.el.tagName) return !1;\n },\n show: function $() {\n if (!l) {\n var e,\n t = '<button class=\"fr-command fr-btn fr-modal-more fr-not-available\" id=\"fr-modal-more-'.concat(s.sid, '\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"\"><path d=\"').concat(St.SVG.tags, '\"/></svg></button><h4 data-text=\"true\">').concat(s.language.translate(\"Manage Images\"), '</h4></div>\\n <div class=\"fr-modal-tags\" id=\"fr-modal-tags\">');\n e = s.opts.imageManagerPreloader ? '<img class=\"fr-preloader\" id=\"fr-preloader\" alt=\"'.concat(s.language.translate(\"Loading\"), '..\" src=\"').concat(s.opts.imageManagerPreloader, '\" style=\"display: none;\">') : '<span class=\"fr-preloader\" id=\"fr-preloader\" style=\"display: none;\">'.concat(s.language.translate(\"Loading\"), \"</span>\"), e += '<div class=\"fr-image-list\" id=\"fr-image-list\"></div>';\n var a = s.modals.create(b, t, e);\n l = a.$modal, c = a.$head, i = a.$body;\n }\n l.data(\"current-image\", s.image.get()), s.modals.show(b), o || function n() {\n o = l.find(\"#fr-preloader\"), d = l.find(\"#fr-image-list\"), f = l.find(\"#fr-modal-tags\"), m = C(), T(), c.css(\"height\", c.find(\".fr-modal-head-line\").outerHeight()), s.events.$on(v(s.o_win), \"resize\", function () {\n x(!!p);\n }), s.events.bindClick(d, \".fr-insert-img\", O), s.events.bindClick(d, \".fr-delete-img\", F), s.helpers.isMobile() && (s.events.bindClick(d, \"div.fr-image-container\", function (e) {\n l.find(\".fr-mobile-selected\").removeClass(\"fr-mobile-selected\"), v(e.currentTarget).addClass(\"fr-mobile-selected\");\n }), l.on(s._mousedown, function () {\n l.find(\".fr-mobile-selected\").removeClass(\"fr-mobile-selected\");\n })), l.on(s._mousedown + \" \" + s._mouseup, function (e) {\n e.stopPropagation();\n }), l.on(s._mousedown, \"*\", function () {\n s.events.disableBlur();\n }), i.on(\"scroll\", k), s.events.bindClick(l, \"button#fr-modal-more-\".concat(s.sid), N), s.events.bindClick(f, \"a\", P);\n }(), function r() {\n o.show(), d.find(\".fr-list-column\").empty(), s.opts.imageManagerLoadURL ? v(this).ajax({\n url: s.opts.imageManagerLoadURL,\n method: s.opts.imageManagerLoadMethod,\n data: s.opts.imageManagerLoadParams,\n crossDomain: s.opts.requestWithCORS,\n withCredentials: s.opts.requestWithCredentials,\n headers: s.opts.requestHeaders,\n done: function (e, t, a) {\n s.events.trigger(\"imageManager.imagesLoaded\", [e]), function n(e, t) {\n try {\n d.find(\".fr-list-column\").empty(), h = g = u = 0, p = JSON.parse(e), k();\n } catch (a) {\n M(w, t);\n }\n }(e, a.response), o.hide();\n },\n fail: function (e) {\n M(E, e.response || e.responseText);\n }\n }) : M(_);\n }();\n },\n hide: function H() {\n s.modals.hide(b);\n }\n };\n }, !St.PLUGINS.image) throw new Error(\"Image manager plugin requires image plugin.\");\n function n(e) {\n var t = {\n omitExtraWLInCodeBlocks: {\n defaultValue: !1,\n describe: \"Omit the default extra whiteline added to code blocks\",\n type: \"boolean\"\n },\n noHeaderId: {\n defaultValue: !1,\n describe: \"Turn on/off generated header id\",\n type: \"boolean\"\n },\n prefixHeaderId: {\n defaultValue: !1,\n describe: \"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix\",\n type: \"string\"\n },\n rawPrefixHeaderId: {\n defaultValue: !1,\n describe: 'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the \" char is used in the prefix)',\n type: \"boolean\"\n },\n ghCompatibleHeaderId: {\n defaultValue: !1,\n describe: \"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)\",\n type: \"boolean\"\n },\n rawHeaderId: {\n defaultValue: !1,\n describe: \"Remove only spaces, ' and \\\" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids\",\n type: \"boolean\"\n },\n headerLevelStart: {\n defaultValue: !1,\n describe: \"The header blocks level start\",\n type: \"integer\"\n },\n parseImgDimensions: {\n defaultValue: !1,\n describe: \"Turn on/off image dimension parsing\",\n type: \"boolean\"\n },\n simplifiedAutoLink: {\n defaultValue: !1,\n describe: \"Turn on/off GFM autolink style\",\n type: \"boolean\"\n },\n excludeTrailingPunctuationFromURLs: {\n defaultValue: !1,\n describe: \"Excludes trailing punctuation from links generated with autoLinking\",\n type: \"boolean\"\n },\n literalMidWordUnderscores: {\n defaultValue: !1,\n describe: \"Parse midword underscores as literal underscores\",\n type: \"boolean\"\n },\n literalMidWordAsterisks: {\n defaultValue: !1,\n describe: \"Parse midword asterisks as literal asterisks\",\n type: \"boolean\"\n },\n strikethrough: {\n defaultValue: !1,\n describe: \"Turn on/off strikethrough support\",\n type: \"boolean\"\n },\n tables: {\n defaultValue: !1,\n describe: \"Turn on/off tables support\",\n type: \"boolean\"\n },\n tablesHeaderId: {\n defaultValue: !1,\n describe: \"Add an id to table headers\",\n type: \"boolean\"\n },\n ghCodeBlocks: {\n defaultValue: !0,\n describe: \"Turn on/off GFM fenced code blocks support\",\n type: \"boolean\"\n },\n tasklists: {\n defaultValue: !1,\n describe: \"Turn on/off GFM tasklist support\",\n type: \"boolean\"\n },\n smoothLivePreview: {\n defaultValue: !1,\n describe: \"Prevents weird effects in live previews due to incomplete input\",\n type: \"boolean\"\n },\n smartIndentationFix: {\n defaultValue: !1,\n description: \"Tries to smartly fix indentation in es6 strings\",\n type: \"boolean\"\n },\n disableForced4SpacesIndentedSublists: {\n defaultValue: !1,\n description: \"Disables the requirement of indenting nested sublists by 4 spaces\",\n type: \"boolean\"\n },\n simpleLineBreaks: {\n defaultValue: !1,\n description: \"Parses simple line breaks as <br> (GFM Style)\",\n type: \"boolean\"\n },\n requireSpaceBeforeHeadingText: {\n defaultValue: !1,\n description: \"Makes adding a space between `#` and the header text mandatory (GFM Style)\",\n type: \"boolean\"\n },\n ghMentions: {\n defaultValue: !1,\n description: \"Enables github @mentions\",\n type: \"boolean\"\n },\n ghMentionsLink: {\n defaultValue: \"https://github.com/{u}\",\n description: \"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.\",\n type: \"string\"\n },\n encodeEmails: {\n defaultValue: !0,\n description: \"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities\",\n type: \"boolean\"\n },\n openLinksInNewWindow: {\n defaultValue: !1,\n description: \"Open all links in new windows\",\n type: \"boolean\"\n },\n backslashEscapesHTMLTags: {\n defaultValue: !1,\n description: \"Support for HTML Tag escaping. ex: <div>foo</div>\",\n type: \"boolean\"\n },\n emoji: {\n defaultValue: !1,\n description: \"Enable emoji support. Ex: `this is a :smile: emoji`\",\n type: \"boolean\"\n },\n underline: {\n defaultValue: !1,\n description: \"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`\",\n type: \"boolean\"\n },\n completeHTMLDocument: {\n defaultValue: !1,\n description: \"Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags\",\n type: \"boolean\"\n },\n metadata: {\n defaultValue: !1,\n description: \"Enable support for document metadata (defined at the top of the document between `\\xab\\xab\\xab` and `\\xbb\\xbb\\xbb` or between `---` and `---`).\",\n type: \"boolean\"\n },\n splitAdjacentBlockquotes: {\n defaultValue: !1,\n description: \"Split adjacent blockquote blocks\",\n type: \"boolean\"\n }\n };\n if (!1 === e) return JSON.parse(JSON.stringify(t));\n var a = {};\n for (var n in t) t.hasOwnProperty(n) && (a[n] = t[n].defaultValue);\n return a;\n }\n St.DEFAULTS.imageInsertButtons.push(\"imageManager\"), St.RegisterCommand(\"imageManager\", {\n title: \"Browse\",\n undo: !1,\n focus: !1,\n modal: !0,\n callback: function () {\n this.imageManager.show();\n },\n plugin: \"imageManager\"\n }), St.DefineIcon(\"imageManager\", {\n NAME: \"folder\",\n SVG_KEY: \"imageManager\"\n }), St.DefineIcon(\"imageManagerInsert\", {\n NAME: \"plus\",\n SVG_KEY: \"add\"\n }), St.DefineIcon(\"imageManagerDelete\", {\n NAME: \"trash\",\n SVG_KEY: \"remove\"\n }), Object.assign(St.DEFAULTS, {\n inlineClasses: {\n \"fr-class-code\": \"Code\",\n \"fr-class-highlighted\": \"Highlighted\",\n \"fr-class-transparency\": \"Transparent\"\n }\n }), St.PLUGINS.inlineClass = function (a) {\n var n = a.$;\n return {\n apply: function t(e) {\n a.format.toggle(\"span\", {\n \"class\": e\n });\n },\n refreshOnShow: function r(e, t) {\n t.find(\".fr-command\").each(function () {\n var e = n(this).data(\"param1\"),\n t = a.format.is(\"span\", {\n \"class\": e\n });\n n(this).toggleClass(\"fr-active\", t).attr(\"aria-selected\", t);\n });\n }\n };\n }, St.RegisterCommand(\"inlineClass\", {\n type: \"dropdown\",\n title: \"Inline Class\",\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.inlineClasses;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"inlineClass\" data-param1=\"'.concat(a, '\" title=\"').concat(t[a], '\">').concat(t[a], \"</a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.inlineClass.apply(t);\n },\n refreshOnShow: function (e, t) {\n this.inlineClass.refreshOnShow(e, t);\n },\n plugin: \"inlineClass\"\n }), St.DefineIcon(\"inlineClass\", {\n NAME: \"tag\",\n SVG_KEY: \"inlineClass\"\n }), Object.assign(St.DEFAULTS, {\n inlineStyles: {\n \"Big Red\": \"font-size: 20px; color: red;\",\n \"Small Blue\": \"font-size: 14px; color: blue;\"\n }\n }), St.PLUGINS.inlineStyle = function (r) {\n return {\n apply: function i(e) {\n for (var t = e.split(\";\"), a = 0; a < t.length; a++) {\n var n = t[a].split(\":\");\n t[a].length && 2 == n.length && r.format.applyStyle(n[0].trim(), n[1].trim());\n }\n }\n };\n }, St.RegisterCommand(\"inlineStyle\", {\n type: \"dropdown\",\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.inlineStyles;\n for (var a in t) if (t.hasOwnProperty(a)) {\n var n = t[a] + (-1 === t[a].indexOf(\"display:block;\") ? \" display:block;\" : \"\");\n e += '<li role=\"presentation\"><span style=\"'.concat(n, '\" role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"inlineStyle\" data-param1=\"').concat(t[a], '\" title=\"').concat(this.language.translate(a), '\">').concat(this.language.translate(a), \"</a></span></li>\");\n }\n return e += \"</ul>\";\n },\n title: \"Inline Style\",\n callback: function (e, t) {\n this.inlineStyle.apply(t);\n },\n plugin: \"inlineStyle\"\n }), St.DefineIcon(\"inlineStyle\", {\n NAME: \"paint-brush\",\n SVG_KEY: \"inlineStyle\"\n }), Object.assign(St.DEFAULTS, {\n lineBreakerTags: [\"table\", \"hr\", \"form\", \"dl\", \"span.fr-video\", \".fr-embedly\", \"img\"],\n lineBreakerOffset: 15,\n lineBreakerHorizontalOffset: 10\n }), St.PLUGINS.lineBreaker = function (g) {\n var h,\n t,\n r,\n m = g.$;\n function l(e, t) {\n var a, n, r, i, o, s, l, c;\n if (null == e) o = (i = t.parent()).offset().top, a = (l = t.offset().top) - Math.min((l - o) / 2, g.opts.lineBreakerOffset), r = i.outerWidth(), n = i.offset().left;else if (null == t) (s = (i = e.parent()).offset().top + i.outerHeight()) < (c = e.offset().top + e.outerHeight()) && (s = (i = m(i).parent()).offset().top + i.outerHeight()), a = c + Math.min(Math.abs(s - c) / 2, g.opts.lineBreakerOffset), r = i.outerWidth(), n = i.offset().left;else {\n i = e.parent();\n var d = e.offset().top + e.height(),\n f = t.offset().top;\n if (f < d) return !1;\n a = (d + f) / 2, r = i.outerWidth(), n = i.offset().left;\n }\n if (g.opts.iframe) {\n var p = g.helpers.getPX(g.$wp.find(\".fr-iframe\").css(\"padding-top\")),\n u = g.helpers.getPX(g.$wp.find(\".fr-iframe\").css(\"padding-left\"));\n n += g.$iframe.offset().left - g.helpers.scrollLeft() + u, a += g.$iframe.offset().top - g.helpers.scrollTop() + p;\n }\n g.$box.append(h), h.css(\"top\", a - g.win.pageYOffset), h.css(\"left\", n - g.win.pageXOffset), h.css(\"width\", r), h.data(\"tag1\", e), h.data(\"tag2\", t), h.addClass(\"fr-visible\").data(\"instance\", g);\n }\n function c(e) {\n if (e) {\n var t = m(e);\n if (0 === g.$el.find(t).length) return null;\n if (e.nodeType != Node.TEXT_NODE && t.is(g.opts.lineBreakerTags.join(\",\"))) return t;\n if (0 < t.parents(g.opts.lineBreakerTags.join(\",\")).length) return e = t.parents(g.opts.lineBreakerTags.join(\",\")).get(0), 0 !== g.$el.find(m(e)).length && m(e).is(g.opts.lineBreakerTags.join(\",\")) ? m(e) : null;\n }\n return null;\n }\n function i(e, t) {\n var a = g.doc.elementFromPoint(e, t);\n return a && !m(a).closest(\".fr-line-breaker\").length && !g.node.isElement(a) && a != g.$wp.get(0) && function n(e) {\n if (\"undefined\" != typeof e.inFroalaWrapper) return e.inFroalaWrapper;\n for (var t = e; e.parentNode && e.parentNode !== g.$wp.get(0);) e = e.parentNode;\n return t.inFroalaWrapper = e.parentNode == g.$wp.get(0), t.inFroalaWrapper;\n }(a) ? a : null;\n }\n function o(e, t, a) {\n for (var n = a, r = null; n <= g.opts.lineBreakerOffset && !r;) (r = i(e, t - n)) || (r = i(e, t + n)), n += a;\n return r;\n }\n function d(e, t, a) {\n for (var n = null, r = 100; !n && e > g.$box.offset().left && e < g.$box.offset().left + g.$box.outerWidth() && 0 < r;) (n = i(e, t)) || (n = o(e, t, 5)), \"left\" == a ? e -= g.opts.lineBreakerHorizontalOffset : e += g.opts.lineBreakerHorizontalOffset, r -= g.opts.lineBreakerHorizontalOffset;\n return n;\n }\n function a(e) {\n var t = r = null,\n a = null,\n n = g.doc.elementFromPoint(e.pageX - g.win.pageXOffset, e.pageY - g.win.pageYOffset);\n (t = n && (\"HTML\" == n.tagName || \"BODY\" == n.tagName || g.node.isElement(n) || 0 <= (n.getAttribute(\"class\") || \"\").indexOf(\"fr-line-breaker\")) ? ((a = o(e.pageX - g.win.pageXOffset, e.pageY - g.win.pageYOffset, 1)) || (a = d(e.pageX - g.win.pageXOffset - g.opts.lineBreakerHorizontalOffset, e.pageY - g.win.pageYOffset, \"left\")), a || (a = d(e.pageX - g.win.pageXOffset + g.opts.lineBreakerHorizontalOffset, e.pageY - g.win.pageYOffset, \"right\")), c(a)) : c(n)) ? function s(e, t) {\n var a,\n n,\n r = e.offset().top,\n i = e.offset().top + e.outerHeight();\n if (Math.abs(i - t) <= g.opts.lineBreakerOffset || Math.abs(t - r) <= g.opts.lineBreakerOffset) if (Math.abs(i - t) < Math.abs(t - r)) {\n var o = null;\n for ((n = e.get(0)).nextSibling && (o = n.nextSibling.offsetParent ? n.nextSibling : null); o && o.nodeType == Node.TEXT_NODE && 0 === o.textContent.length;) o = o.nextSibling;\n if (!o) return l(e, null), !0;\n if (a = c(o)) return l(e, a), !0;\n } else {\n if (!(n = e.get(0)).previousSibling) return l(null, e), !0;\n if (a = c(n.previousSibling)) return l(a, e), !0;\n }\n h.removeClass(\"fr-visible\").removeData(\"instance\");\n }(t, e.pageY) : g.core.sameInstance(h) && h.removeClass(\"fr-visible\").removeData(\"instance\");\n }\n function n(e) {\n return !(h.hasClass(\"fr-visible\") && !g.core.sameInstance(h)) && (g.popups.areVisible() || g.el.querySelector(\".fr-selected-cell\") ? (h.removeClass(\"fr-visible\"), !0) : void (!1 !== t || g.edit.isDisabled() || (r && clearTimeout(r), r = setTimeout(a, 30, e))));\n }\n function s() {\n r && clearTimeout(r), h && h.hasClass(\"fr-visible\") && h.removeClass(\"fr-visible\").removeData(\"instance\");\n }\n var f = function f() {\n t = !0, s();\n },\n p = function p() {\n t = !1;\n };\n function u(e) {\n e.preventDefault();\n var t = h.data(\"instance\") || g;\n h.removeClass(\"fr-visible\").removeData(\"instance\");\n var a = h.data(\"tag1\"),\n n = h.data(\"tag2\"),\n r = g.html.defaultTag();\n if (null == a) {\n if (g.opts.keepTextFormatOnTable && n.children().get(0) != undefined && \"TBODY\" == n.children().get(0).tagName) {\n var i = n.find(\"span\"),\n o = null != i[i.length - 1] ? i[i.length - 1].getAttribute(\"style\") : null,\n s = null != o ? \"<\" + i[i.length - 1].nodeName.toLowerCase() + ' style=\"' + o + '\">' : \"<\" + n.parent().get(0).nodeName.toLowerCase() + \">\",\n l = null != o ? \"</\" + i[i.length - 1].nodeName.toLowerCase() + \">\" : \"</\" + n.parent().get(0).nodeName.toLowerCase() + \">\";\n r ? n.before(\"<\".concat(r, \">\").concat(s).concat(St.MARKERS, \"<br>\").concat(l, \"</\").concat(r, \">\")) : n.before(\"\".concat(s).concat(St.MARKERS, \"<br>\").concat(l));\n } else r && \"TD\" != n.parent().get(0).tagName && 0 === n.parents(r).length ? n.before(\"<\".concat(r, \">\").concat(St.MARKERS, \"<br></\").concat(r, \">\")) : n.before(\"\".concat(St.MARKERS, \"<br>\"));\n } else if (g.opts.keepTextFormatOnTable && a.children().get(0) != undefined && \"TBODY\" == a.children().get(0).tagName) {\n var c = a.find(\"span\"),\n d = null != c[c.length - 1] ? c[c.length - 1].getAttribute(\"style\") : null,\n f = null != d ? \"<\" + c[c.length - 1].nodeName.toLowerCase() + ' style=\"' + d + '\">' : \"<\" + a.parent().get(0).nodeName.toLowerCase() + \">\",\n p = null != d ? \"</\" + c[c.length - 1].nodeName.toLowerCase() + \">\" : \"</\" + a.parent().get(0).nodeName.toLowerCase() + \">\";\n r ? a.after(\"<\".concat(r, \">\").concat(f).concat(St.MARKERS, \"<br>\").concat(p, \"</\").concat(r, \">\")) : a.after(\"\".concat(f).concat(St.MARKERS, \"<br>\").concat(p));\n } else r && \"TD\" != a.parent().get(0).tagName && 0 === a.parents(r).length ? a.after(\"<\".concat(r, \">\").concat(St.MARKERS, \"<br></\").concat(r, \">\")) : a.after(\"\".concat(St.MARKERS, \"<br>\"));\n t.selection.restore(), g.toolbar.enable();\n }\n return {\n _init: function v() {\n if (!g.$wp) return !1;\n !function e() {\n g.shared.$line_breaker || (g.shared.$line_breaker = m(document.createElement(\"div\")).attr(\"class\", \"fr-line-breaker\").html('<a class=\"fr-floating-btn\" role=\"button\" tabIndex=\"-1\" title=\"'.concat(g.language.translate(\"Break\"), '\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><rect x=\"17\" y=\"7\" width=\"2\" height=\"8\"/><rect x=\"10\" y=\"13\" width=\"7\" height=\"2\"/><path d=\"M10.000,10.000 L10.000,18.013 L5.000,14.031 L10.000,10.000 Z\"/></svg></a>'))), h = g.shared.$line_breaker, g.events.on(\"shared.destroy\", function () {\n h.html(\"\").removeData().remove(), h = null;\n }, !0), g.events.on(\"destroy\", function () {\n h.removeData(\"instance\").removeClass(\"fr-visible\"), m(\"body\").first().append(h), clearTimeout(r);\n }, !0), g.events.$on(h, \"mousemove\", function (e) {\n e.stopPropagation();\n }, !0), g.events.bindClick(h, \"a\", u);\n }(), t = !1, g.events.$on(g.$win, \"mousemove\", n), g.events.$on(m(g.win), \"scroll\", s), g.events.on(\"popups.show.table.edit\", s), g.events.on(\"commands.after\", s), g.events.$on(m(g.win), \"mousedown\", f), g.events.$on(m(g.win), \"mouseup\", p);\n }\n };\n }, Object.assign(St.DEFAULTS, {\n lineHeights: {\n Default: \"\",\n Single: \"1\",\n 1.15: \"1.15\",\n 1.5: \"1.5\",\n Double: \"2\"\n }\n }), St.PLUGINS.lineHeight = function (n) {\n var s = n.$;\n return {\n _init: function e() {},\n apply: function r(e) {\n n.selection.save(), n.html.wrap(!0, !0, !0, !0), n.selection.restore();\n var t = n.selection.blocks();\n t.length && s(t[0]).parent().is(\"td\") && n.format.applyStyle(\"line-height\", e.toString()), n.selection.save();\n for (var a = 0; a < t.length; a++) s(t[a]).css(\"line-height\", e), n.opts.enter !== St.ENTER_BR || t.length && s(t[0]).parent().is(\"td\") || (s(t[a]).hasClass(\"fr-temp-div\") && s(t[a]).removeClass(\"fr-temp-div\"), \"\" === s(t[a]).attr(\"class\") && s(t[a]).removeAttr(\"class\")), \"\" === s(t[a]).attr(\"style\") && s(t[a]).removeAttr(\"style\");\n n.html.unwrap(), n.selection.restore();\n },\n refreshOnShow: function i(e, t) {\n var a = n.selection.blocks();\n if (a.length) {\n var o = s(a[0]);\n t.find(\".fr-command\").each(function () {\n var e = s(this).data(\"param1\"),\n t = o.attr(\"style\"),\n a = 0 <= (t || \"\").indexOf(\"line-height: \" + e + \";\");\n if (t) {\n var n = t.substring(t.indexOf(\"line-height\")),\n r = n.substr(0, n.indexOf(\";\")),\n i = r && r.split(\":\")[1];\n i && i.length || \"Default\" !== o.text() || (a = !0);\n }\n t && -1 !== t.indexOf(\"line-height\") || \"\" !== e || (a = !0), s(this).toggleClass(\"fr-active\", a).attr(\"aria-selected\", a);\n });\n }\n }\n };\n }, St.RegisterCommand(\"lineHeight\", {\n type: \"dropdown\",\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.lineHeights;\n if (t instanceof Array) for (var a = 0; a < t.length; a++) e += '<li role=\"presentation\"><a class=\"fr-command '.concat(t[a].label, '\" tabIndex=\"-1\" role=\"option\" data-cmd=\"lineHeight\" data-param1=\"').concat(t[a].value, '\" title=\"').concat(this.language.translate(t[a].label), '\">').concat(this.language.translate(t[a].label), \"</a></li>\");else if (t instanceof Object) for (var n in t) t.hasOwnProperty(n) && (e += '<li role=\"presentation\"><a class=\"fr-command '.concat(n, '\" tabIndex=\"-1\" role=\"option\" data-cmd=\"lineHeight\" data-param1=\"').concat(t[n], '\" title=\"').concat(this.language.translate(n), '\">').concat(this.language.translate(n), \"</a></li>\"));\n return e += \"</ul>\";\n },\n title: \"Line Height\",\n callback: function (e, t) {\n this.lineHeight.apply(t);\n },\n refreshOnShow: function (e, t) {\n this.lineHeight.refreshOnShow(e, t);\n },\n plugin: \"lineHeight\"\n }), St.DefineIcon(\"lineHeight\", {\n NAME: \"arrows-v\",\n FA5NAME: \"arrows-alt-v\",\n SVG_KEY: \"lineHeight\"\n }), Object.assign(St.POPUP_TEMPLATES, {\n \"link.edit\": \"[_BUTTONS_]\",\n \"link.insert\": \"[_BUTTONS_][_INPUT_LAYER_]\"\n }), Object.assign(St.DEFAULTS, {\n linkEditButtons: [\"linkOpen\", \"linkStyle\", \"linkEdit\", \"linkRemove\"],\n linkInsertButtons: [\"linkBack\", \"|\", \"linkList\"],\n linkAttributes: {},\n linkAutoPrefix: \"http://\",\n linkStyles: {\n \"fr-green\": \"Green\",\n \"fr-strong\": \"Thick\"\n },\n linkMultipleStyles: !0,\n linkConvertEmailAddress: !0,\n linkAlwaysBlank: !1,\n linkAlwaysNoFollow: !1,\n linkNoOpener: !0,\n linkNoReferrer: !0,\n linkList: [{\n text: \"Froala\",\n href: \"https://froala.com\",\n target: \"_blank\"\n }, {\n text: \"Google\",\n href: \"https://google.com\",\n target: \"_blank\"\n }, {\n displayText: \"Facebook\",\n href: \"https://facebook.com\"\n }],\n linkText: !0\n }), St.PLUGINS.link = function (m) {\n var v = m.$;\n function b() {\n var e = m.image ? m.image.get() : null;\n if (e || !m.$wp) return \"A\" == m.el.tagName ? m.el : e && e.get(0).parentNode && \"A\" == e.get(0).parentNode.tagName ? e.get(0).parentNode : void 0;\n var t = m.selection.ranges(0).commonAncestorContainer;\n try {\n t && (t.contains && t.contains(m.el) || !m.el.contains(t) || m.el == t) && (t = null);\n } catch (o) {\n t = null;\n }\n if (t && \"A\" === t.tagName) return t;\n var a,\n n,\n r = m.selection.element(),\n i = m.selection.endElement();\n \"A\" == r.tagName || m.node.isElement(r) || (r = m.opts.iframe && null !== (a = m.markdown) && void 0 !== a && a.isEnabled() ? null : v(r).parentsUntil(m.$el, \"a\").first().get(0));\n \"A\" == i.tagName || m.node.isElement(i) || (i = m.opts.iframe && null !== (n = m.markdown) && void 0 !== n && n.isEnabled() ? null : v(i).parentsUntil(m.$el, \"a\").first().get(0));\n try {\n i && (i.contains && i.contains(m.el) || !m.el.contains(i) || m.el == i) && (i = null);\n } catch (o) {\n i = null;\n }\n try {\n r && (r.contains && r.contains(m.el) || !m.el.contains(r) || m.el == r) && (r = null);\n } catch (o) {\n r = null;\n }\n return i && i == r && \"A\" == i.tagName ? (m.browser.msie || m.helpers.isMobile()) && (m.selection.info(r).atEnd || m.selection.info(r).atStart) ? null : r : null;\n }\n function E() {\n var e,\n t,\n a,\n n,\n r = m.image ? m.image.get() : null,\n i = [];\n if (r) \"A\" == r.get(0).parentNode.tagName && i.push(r.get(0).parentNode);else if (m.win.getSelection) {\n var o = m.win.getSelection();\n if (o.getRangeAt && o.rangeCount) {\n n = m.doc.createRange();\n for (var s = 0; s < o.rangeCount; ++s) if ((t = (e = o.getRangeAt(s)).commonAncestorContainer) && 1 != t.nodeType && (t = t.parentNode), t && \"a\" == t.nodeName.toLowerCase()) i.push(t);else {\n a = t.getElementsByTagName(\"a\");\n for (var l = 0; l < a.length; ++l) n.selectNodeContents(a[l]), n.compareBoundaryPoints(e.END_TO_START, e) < 1 && -1 < n.compareBoundaryPoints(e.START_TO_END, e) && i.push(a[l]);\n }\n }\n } else if (m.doc.selection && \"Control\" != m.doc.selection.type) if (\"a\" == (t = (e = m.doc.selection.createRange()).parentElement()).nodeName.toLowerCase()) i.push(t);else {\n a = t.getElementsByTagName(\"a\"), n = m.doc.body.createTextRange();\n for (var c = 0; c < a.length; ++c) n.moveToElementText(a[c]), -1 < n.compareEndPoints(\"StartToEnd\", e) && n.compareEndPoints(\"EndToStart\", e) < 1 && i.push(a[c]);\n }\n return i;\n }\n function _(r) {\n if (m.core.hasFocus() || m.opts.iframe && (!document.hasFocus || document.hasFocus())) {\n if (i(), r && \"keyup\" === r.type && (r.altKey || r.which == St.KEYCODE.ALT)) return !0;\n setTimeout(function () {\n if (!r || r && (1 == r.which || \"mouseup\" != r.type)) {\n var e = b(),\n t = m.image ? m.image.get() : null;\n if (e && !t) {\n if (m.image) {\n var a = m.node.contents(e);\n if (1 == a.length && \"IMG\" == a[0].tagName) {\n var n = m.selection.ranges(0);\n return 0 === n.startOffset && 0 === n.endOffset ? v(e).before(St.INVISIBLE_SPACE + St.MARKERS) : v(e).after(St.INVISIBLE_SPACE + St.MARKERS), m.selection.restore(), !1;\n }\n }\n r && r.stopPropagation(), o(e);\n }\n }\n }, m.helpers.isIOS() ? 100 : 0);\n }\n }\n function o(e) {\n var t = m.popups.get(\"link.edit\");\n t || (t = function i() {\n var e = \"\";\n 1 <= m.opts.linkEditButtons.length && (\"A\" == m.el.tagName && 0 <= m.opts.linkEditButtons.indexOf(\"linkRemove\") && m.opts.linkEditButtons.splice(m.opts.linkEditButtons.indexOf(\"linkRemove\"), 1), e = '<div class=\"fr-buttons\">'.concat(m.button.buildList(m.opts.linkEditButtons), \"</div>\"));\n var t = {\n buttons: e\n },\n a = m.popups.create(\"link.edit\", t);\n m.$wp && m.events.$on(m.$wp, \"scroll.link-edit\", function () {\n b() && m.popups.isVisible(\"link.edit\") && o(b());\n });\n return a;\n }());\n var a = v(e);\n m.popups.isVisible(\"link.edit\") || m.popups.refresh(\"link.edit\"), m.popups.setContainer(\"link.edit\", m.$sc);\n var n = a.offset().left + a.outerWidth() / 2,\n r = a.offset().top + a.outerHeight();\n m.popups.show(\"link.edit\", n, r, a.outerHeight(), !0);\n }\n function i() {\n m.popups.hide(\"link.edit\");\n }\n function l() {\n var e = m.popups.get(\"link.insert\"),\n t = b();\n if (t) {\n var a,\n n,\n r = v(t),\n i = e.find('input.fr-link-attr[type=\"text\"]'),\n o = e.find('input.fr-link-attr[type=\"checkbox\"]');\n for (a = 0; a < i.length; a++) {\n var s = (n = v(i[a])).attr(\"name\") || \"\",\n l = \"href\" === s ? decodeURI(r.attr(s)) : r.attr(s);\n n.val(l);\n }\n for (o.attr(\"checked\", !1), a = 0; a < o.length; a++) n = v(o[a]), r.attr(n.attr(\"name\")) == n.data(\"checked\") && n.attr(\"checked\", !0);\n e.find('input.fr-link-attr[type=\"text\"][name=\"text\"]').val(r.text());\n } else e.find('input.fr-link-attr[type=\"text\"]').val(\"\"), e.find('input.fr-link-attr[type=\"checkbox\"]').attr(\"checked\", !1), e.find('input.fr-link-attr[type=\"text\"][name=\"text\"]').val(m.selection.text());\n e.find(\"input.fr-link-attr\").trigger(\"change\"), (m.image ? m.image.get() : null) ? e.find('.fr-link-attr[name=\"text\"]').parent().hide() : e.find('.fr-link-attr[name=\"text\"]').parent().show();\n }\n function s(e) {\n if (e) return m.popups.onRefresh(\"link.insert\", l), !0;\n var t = \"\";\n 1 <= m.opts.linkInsertButtons.length && (t = '<div class=\"fr-buttons fr-tabs\">'.concat(m.button.buildList(m.opts.linkInsertButtons), \"</div>\"));\n var a = \"\",\n n = 0;\n for (var r in a = '<div class=\"fr-link-insert-layer fr-layer fr-active\" id=\"fr-link-insert-layer-'.concat(m.id, '\">'), a += '<div class=\"fr-input-line\"><input id=\"fr-link-insert-layer-url-'.concat(m.id, '\" name=\"href\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(m.language.translate(\"URL\"), '\" tabIndex=\"').concat(++n, '\"></div>'), m.opts.linkText && (a += '<div class=\"fr-input-line\"><input id=\"fr-link-insert-layer-text-'.concat(m.id, '\" name=\"text\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(m.language.translate(\"Text\"), '\" tabIndex=\"').concat(++n, '\"></div>')), m.opts.linkAttributes) if (m.opts.linkAttributes.hasOwnProperty(r)) {\n var i = m.opts.linkAttributes[r];\n a += '<div class=\"fr-input-line\"><input name=\"'.concat(r, '\" type=\"text\" class=\"fr-link-attr\" placeholder=\"').concat(m.language.translate(i), '\" tabIndex=\"').concat(++n, '\"></div>');\n }\n m.opts.linkAlwaysBlank || (a += '<div class=\"fr-checkbox-line\"><span class=\"fr-checkbox\"><input name=\"target\" class=\"fr-link-attr\" data-checked=\"_blank\" type=\"checkbox\" id=\"fr-link-target-'.concat(m.id, '\" tabIndex=\"').concat(++n, '\"><span>').concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>', '</span></span><label id=\"fr-label-target-').concat(m.id, '\">').concat(m.language.translate(\"Open in new tab\"), \"</label></div>\"));\n var o = {\n buttons: t,\n input_layer: a += '<div class=\"fr-action-buttons\"><button class=\"fr-command fr-submit\" role=\"button\" data-cmd=\"linkInsert\" href=\"#\" tabIndex=\"'.concat(++n, '\" type=\"button\">').concat(m.language.translate(\"Insert\"), \"</button></div></div>\")\n },\n s = m.popups.create(\"link.insert\", o);\n return m.$wp && m.events.$on(m.$wp, \"scroll.link-insert\", function () {\n (m.image ? m.image.get() : null) && m.popups.isVisible(\"link.insert\") && f(), m.popups.isVisible(\"link.insert\") && d();\n }), s;\n }\n function c(e, t, a) {\n if (m.opts.trackChangesEnabled) {\n if (m.edit.on(), m.events.focus(!0), m.undo.saveStep(), m.markers.insert(), m.html.wrap(), !m.$el.find(\".fr-marker\").length) return void m.popups.hide(\"link.insert\");\n m.markers.remove();\n }\n if (void 0 === a && (a = {}), !1 === m.events.trigger(\"link.beforeInsert\", [e, t, a])) return !1;\n var n = m.image ? m.image.get() : null;\n n || \"A\" == m.el.tagName ? \"A\" == m.el.tagName && m.$el.focus() : (m.selection.restore(), m.popups.hide(\"link.insert\"));\n var r = e;\n m.opts.linkConvertEmailAddress && m.helpers.isEmail(e) && !/^mailto:.*/i.test(e) && (e = \"mailto:\".concat(e));\n if (\"\" === m.opts.linkAutoPrefix || new RegExp(\"^(\" + St.LinkProtocols.join(\"|\") + \"):.\", \"i\").test(e) || /^data:image.*/i.test(e) || /^(https?:|ftps?:|file:|)\\/\\//i.test(e) || /^([A-Za-z]:(\\\\){1,2}|[A-Za-z]:((\\\\){1,2}[^\\\\]+)+)(\\\\)?$/i.test(e) || [\"/\", \"{\", \"[\", \"#\", \"(\", \".\", '\"', \"\\\\\"].indexOf((e || \"\")[0]) < 0 && (e = m.opts.linkAutoPrefix + e), e = m.helpers.sanitizeURL(e), e = encodeURI(e), m.opts.linkAlwaysBlank && (a.target = \"_blank\"), m.opts.linkAlwaysNoFollow && (a.rel = \"nofollow\"), m.helpers.isEmail(r) && (a.target = null, a.rel = null), \"_blank\" == a.target ? (m.opts.linkNoOpener && (a.rel ? a.rel += \" noopener\" : a.rel = \"noopener\"), m.opts.linkNoReferrer && (a.rel ? a.rel += \" noreferrer\" : a.rel = \"noreferrer\")) : null == a.target && (a.rel ? a.rel = a.rel.replace(/noopener/, \"\").replace(/noreferrer/, \"\") : a.rel = null), t = t || \"\", e === m.opts.linkAutoPrefix) return m.popups.get(\"link.insert\").find('input[name=\"href\"]').addClass(\"fr-error\"), m.events.trigger(\"link.bad\", [r]), !1;\n var i,\n o = b();\n if (o) {\n if ((i = v(o)).attr(\"href\", e), 0 < t.length && i.text() != t && !n) {\n if (m.opts.trackChangesEnabled) {\n var s = v(i.get(0).outerHTML);\n s.insertBefore(i.parent());\n var l = m.track_changes.wrapLinkInTracking(s, m.track_changes.getPendingChanges().length - 1),\n c = m.track_changes.wrapInDelete(l);\n i.parent().append(c);\n }\n for (var d = i.get(0); 1 === d.childNodes.length && d.childNodes[0].nodeType == Node.ELEMENT_NODE;) d = d.childNodes[0];\n v(d).text(t);\n }\n for (var f in n || i.prepend(St.START_MARKER).append(St.END_MARKER), a) a[f] ? i.attr(f, a[f]) : i.removeAttr(f);\n n || m.selection.restore();\n } else {\n n ? (n.wrap('<a href=\"'.concat(e, '\"></a>')), m.image.hasCaption() && n.parent().append(n.parents(\".fr-img-caption\").find(\".fr-inner\"))) : (m.format.remove(\"a\"), m.selection.isCollapsed() ? (t = 0 === t.length ? r : t, m.html.insert('<a href=\"'.concat(e, '\">').concat(St.START_MARKER).concat(t.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\")).concat(St.END_MARKER, \"</a>\")), m.selection.restore()) : 0 < t.length && t != m.selection.text().replace(/\\n/g, \"\") ? (m.selection.remove(), m.html.insert('<a href=\"'.concat(e, '\">').concat(St.START_MARKER).concat(t.replace(/&/g, \"&\")).concat(St.END_MARKER, \"</a>\")), m.selection.restore()) : (!function h() {\n if (!m.selection.isCollapsed()) {\n m.selection.save();\n for (var e = m.$el.find(\".fr-marker\").addClass(\"fr-unprocessed\").toArray(); e.length;) {\n var t = v(e.pop());\n t.removeClass(\"fr-unprocessed\");\n var a = m.node.deepestParent(t.get(0));\n if (a) {\n for (var n = t.get(0), r = \"\", i = \"\"; n = n.parentNode, m.node.isBlock(n) || (r += m.node.closeTagString(n), i = m.node.openTagString(n) + i), n != a;);\n var o = m.node.openTagString(t.get(0)) + t.html() + m.node.closeTagString(t.get(0));\n t.replaceWith('<span id=\"fr-break\"></span>');\n var s = a.outerHTML;\n s = (s = s.replace(/<span id=\"fr-break\"><\\/span>/g, r + o + i)).replace(i + r, \"\"), a.outerHTML = s;\n }\n e = m.$el.find(\".fr-marker.fr-unprocessed\").toArray();\n }\n m.html.cleanEmptyTags(), m.selection.restore();\n }\n }(), m.format.apply(\"a\", {\n href: e\n })));\n for (var p = E(), u = 0; u < p.length; u++) (i = v(p[u])).attr(a), i.removeAttr(\"_moz_dirty\");\n 1 == p.length && m.$wp && !n && (v(p[0]).prepend(St.START_MARKER).append(St.END_MARKER), m.selection.restore());\n }\n if (n) {\n var g = m.popups.get(\"link.insert\");\n g && g.find(\"input:focus\").blur(), m.image.edit(n);\n } else _();\n }\n function d() {\n i();\n var e = b();\n if (e) {\n var t = m.popups.get(\"link.insert\");\n t || (t = s()), m.popups.isVisible(\"link.insert\") || (m.popups.refresh(\"link.insert\"), m.selection.save(), m.helpers.isMobile() && (m.events.disableBlur(), m.$el.blur(), m.events.enableBlur())), m.popups.setContainer(\"link.insert\", m.$sc);\n var a = (m.image ? m.image.get() : null) || v(e),\n n = a.offset().left + a.outerWidth() / 2,\n r = a.offset().top + a.outerHeight();\n m.popups.show(\"link.insert\", n, r, a.outerHeight(), !0);\n }\n }\n function f() {\n var e = m.image ? m.image.getEl() : null;\n if (e) {\n var t = m.popups.get(\"link.insert\"),\n a = e.outerWidth() / 2;\n m.image.hasCaption() && (e = e.find(\".fr-img-wrap\"), v(e) && v(e).find(\"img\") && (a = v(e).find(\"img\").outerWidth() / 2)), t || (t = s()), l(), m.popups.setContainer(\"link.insert\", m.$sc);\n var n = e.offset().left + a,\n r = e.offset().top + e.outerHeight(),\n i = e.outerHeight();\n m.opts.iframe && m.image.hasCaption() && v(e) && v(e).find(\"img\") && (i = v(e).find(\"img\").outerHeight()), m.popups.show(\"link.insert\", n, r, i, !0);\n }\n }\n return {\n _init: function e() {\n m.events.on(\"keyup\", function (e) {\n e.which != St.KEYCODE.ESC && _(e);\n }), m.events.on(\"window.mouseup\", _), m.events.$on(m.$el, \"click\", \"a\", function (e) {\n m.edit.isDisabled() && e.preventDefault();\n }), m.helpers.isMobile() && m.events.$on(m.$doc, \"selectionchange\", _), s(!0), \"A\" == m.el.tagName && m.$el.addClass(\"fr-view\"), m.events.on(\"toolbar.esc\", function () {\n if (m.popups.isVisible(\"link.edit\")) return m.events.disableBlur(), m.events.focus(), !1;\n }, !0);\n },\n remove: function n() {\n var e = b(),\n t = m.image ? m.image.get() : null;\n if (!1 === m.events.trigger(\"link.beforeRemove\", [e])) return !1;\n if (t && e) {\n if (m.image.hasCaption()) {\n t.addClass(\"img-link-caption\"), v(e).replaceWith(v(e).html());\n var a = document.querySelectorAll(\"img.img-link-caption\");\n m.image.edit(v(a[0])), v(a[0]).removeClass(\"img-link-caption\");\n } else t.unwrap(), m.image.edit(t);\n } else e && (m.selection.save(), v(e).replaceWith(v(e).html()), m.selection.restore(), i());\n },\n showInsertPopup: function p() {\n var e = m.$tb.find('.fr-command[data-cmd=\"insertLink\"]'),\n t = m.popups.get(\"link.insert\");\n if (t || (t = s()), !t.hasClass(\"fr-active\")) if (m.popups.refresh(\"link.insert\"), m.popups.setContainer(\"link.insert\", m.$tb || m.$sc), e.isVisible()) {\n var a = m.button.getPosition(e),\n n = a.left,\n r = a.top;\n m.popups.show(\"link.insert\", n, r, e.outerHeight());\n } else m.position.forSelection(t), m.popups.show(\"link.insert\");\n },\n usePredefined: function u(e) {\n var t,\n a,\n n = m.opts.linkList[e],\n r = m.popups.get(\"link.insert\"),\n i = r.find('input.fr-link-attr[type=\"text\"]'),\n o = r.find('input.fr-link-attr[type=\"checkbox\"]');\n for (n.rel && (r.rel = n.rel), a = 0; a < i.length; a++) n[(t = v(i[a])).attr(\"name\")] ? (t.val(n[t.attr(\"name\")]), t.toggleClass(\"fr-not-empty\", !0)) : \"text\" != t.attr(\"name\") && t.val(\"\");\n for (a = 0; a < o.length; a++) (t = v(o[a])).attr(\"checked\", t.data(\"checked\") == n[t.attr(\"name\")]);\n m.accessibility.focusPopup(r);\n },\n insertCallback: function g() {\n var e,\n t,\n a = m.popups.get(\"link.insert\"),\n n = a.find('input.fr-link-attr[type=\"text\"]'),\n r = a.find('input.fr-link-attr[type=\"checkbox\"]'),\n i = (n.filter('[name=\"href\"]').val() || \"\").trim(),\n o = m.opts.linkText ? n.filter('[name=\"text\"]').val() : \"\",\n s = {};\n for (t = 0; t < n.length; t++) e = v(n[t]), [\"href\", \"text\"].indexOf(e.attr(\"name\")) < 0 && (s[e.attr(\"name\")] = e.val());\n for (t = 0; t < r.length; t++) (e = v(r[t])).is(\":checked\") ? s[e.attr(\"name\")] = e.data(\"checked\") : s[e.attr(\"name\")] = e.data(\"unchecked\") || null;\n a.rel && (s.rel = a.rel);\n var l = m.helpers.scrollTop();\n c(i, o, s), v(m.o_win).scrollTop(l);\n },\n insert: c,\n update: d,\n get: b,\n allSelected: E,\n back: function t() {\n m.image && m.image.get() ? m.image.back() : (m.events.disableBlur(), m.selection.restore(), m.events.enableBlur(), b() && m.$wp ? (m.selection.restore(), i(), _()) : \"A\" == m.el.tagName ? (m.$el.focus(), _()) : (m.popups.hide(\"link.insert\"), m.toolbar.showInline()));\n },\n imageLink: f,\n applyStyle: function h(e, t, a) {\n void 0 === a && (a = m.opts.linkMultipleStyles), void 0 === t && (t = m.opts.linkStyles);\n var n = b();\n if (!n) return !1;\n if (!a) {\n var r = Object.keys(t);\n r.splice(r.indexOf(e), 1), v(n).removeClass(r.join(\" \"));\n }\n v(n).toggleClass(e), _();\n }\n };\n }, St.DefineIcon(\"insertLink\", {\n NAME: \"link\",\n SVG_KEY: \"insertLink\"\n }), St.RegisterShortcut(St.KEYCODE.K, \"insertLink\", null, \"K\"), St.RegisterCommand(\"insertLink\", {\n title: \"Insert Link\",\n undo: !1,\n focus: !0,\n refreshOnCallback: !1,\n popup: !0,\n callback: function () {\n this.popups.isVisible(\"link.insert\") ? (this.$el.find(\".fr-marker\").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"link.insert\")) : this.link.showInsertPopup();\n },\n plugin: \"link\"\n }), St.DefineIcon(\"linkOpen\", {\n NAME: \"external-link\",\n FA5NAME: \"external-link-alt\",\n SVG_KEY: \"openLink\"\n }), St.RegisterCommand(\"linkOpen\", {\n title: \"Open Link\",\n undo: !1,\n refresh: function (e) {\n this.link.get() ? e.removeClass(\"fr-hidden\") : e.addClass(\"fr-hidden\");\n },\n callback: function () {\n var e = this.link.get();\n e && (-1 !== e.href.indexOf(\"mailto:\") ? this.o_win.open(e.href).close() : (e.target || (e.target = \"_self\"), this.browser.msie || this.browser.edge ? this.o_win.open(e.href, e.target) : this.o_win.open(e.href, e.target, \"noopener\")), this.popups.hide(\"link.edit\"));\n },\n plugin: \"link\"\n }), St.DefineIcon(\"linkEdit\", {\n NAME: \"edit\",\n SVG_KEY: \"edit\"\n }), St.RegisterCommand(\"linkEdit\", {\n title: \"Edit Link\",\n undo: !1,\n refreshAfterCallback: !1,\n popup: !0,\n callback: function () {\n this.link.update();\n },\n refresh: function (e) {\n this.link.get() ? e.removeClass(\"fr-hidden\") : e.addClass(\"fr-hidden\");\n },\n plugin: \"link\"\n }), St.DefineIcon(\"linkRemove\", {\n NAME: \"unlink\",\n SVG_KEY: \"unlink\"\n }), St.RegisterCommand(\"linkRemove\", {\n title: \"Unlink\",\n callback: function () {\n this.link.remove();\n },\n refresh: function (e) {\n this.link.get() ? e.removeClass(\"fr-hidden\") : e.addClass(\"fr-hidden\");\n },\n plugin: \"link\"\n }), St.DefineIcon(\"linkBack\", {\n NAME: \"arrow-left\",\n SVG_KEY: \"back\"\n }), St.RegisterCommand(\"linkBack\", {\n title: \"Back\",\n undo: !1,\n focus: !1,\n back: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.link.back();\n },\n refresh: function (e) {\n var t = this.link.get() && this.doc.hasFocus();\n (this.image ? this.image.get() : null) || t || this.opts.toolbarInline ? (e.removeClass(\"fr-hidden\"), e.next(\".fr-separator\").removeClass(\"fr-hidden\")) : (e.addClass(\"fr-hidden\"), e.next(\".fr-separator\").addClass(\"fr-hidden\"));\n },\n plugin: \"link\"\n }), St.DefineIcon(\"linkList\", {\n NAME: \"search\",\n SVG_KEY: \"search\"\n }), St.RegisterCommand(\"linkList\", {\n title: \"Choose Link\",\n type: \"dropdown\",\n focus: !1,\n undo: !1,\n refreshAfterCallback: !1,\n html: function () {\n for (var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">', t = this.opts.linkList, a = 0; a < t.length; a++) e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"linkList\" data-param1=\"'.concat(a, '\">').concat(t[a].displayText || t[a].text, \"</a></li>\");\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.link.usePredefined(t);\n },\n plugin: \"link\"\n }), St.RegisterCommand(\"linkInsert\", {\n focus: !1,\n refreshAfterCallback: !1,\n callback: function () {\n this.link.insertCallback();\n },\n refresh: function (e) {\n this.link.get() ? e.text(this.language.translate(\"Update\")) : e.text(this.language.translate(\"Insert\"));\n },\n plugin: \"link\"\n }), St.DefineIcon(\"imageLink\", {\n NAME: \"link\",\n SVG_KEY: \"insertLink\"\n }), St.RegisterCommand(\"imageLink\", {\n title: \"Insert Link\",\n undo: !1,\n focus: !1,\n popup: !0,\n callback: function () {\n this.link.imageLink();\n },\n refresh: function (e) {\n var t;\n this.link.get() ? ((t = e.prev()).hasClass(\"fr-separator\") && t.removeClass(\"fr-hidden\"), e.addClass(\"fr-hidden\")) : ((t = e.prev()).hasClass(\"fr-separator\") && t.addClass(\"fr-hidden\"), e.removeClass(\"fr-hidden\"));\n },\n plugin: \"link\"\n }), St.DefineIcon(\"linkStyle\", {\n NAME: \"magic\",\n SVG_KEY: \"linkStyles\"\n }), St.RegisterCommand(\"linkStyle\", {\n title: \"Style\",\n type: \"dropdown\",\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.linkStyles;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"linkStyle\" data-param1=\"'.concat(a, '\">').concat(this.language.translate(t[a]), \"</a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.link.applyStyle(t);\n },\n refreshOnShow: function (e, t) {\n var a = this.$,\n n = this.link.get();\n if (n) {\n var r = a(n);\n t.find(\".fr-command\").each(function () {\n var e = a(this).data(\"param1\"),\n t = r.hasClass(e);\n a(this).toggleClass(\"fr-active\", t).attr(\"aria-selected\", t);\n });\n }\n },\n refresh: function (e) {\n this.link.get() ? e.removeClass(\"fr-hidden\") : e.addClass(\"fr-hidden\");\n },\n plugin: \"link\"\n }), Object.assign(St.DEFAULTS, {\n listAdvancedTypes: !0\n }), St.PLUGINS.lists = function (g) {\n var h = g.$;\n function m(e) {\n return '<span class=\"fr-open-'.concat(e.toLowerCase(), '\"></span>');\n }\n function v(e) {\n return '<span class=\"fr-close-'.concat(e.toLowerCase(), '\"></span>');\n }\n function c(e, t) {\n !function c(e, t) {\n for (var a = [], n = 0; n < e.length; n++) {\n var r = e[n].parentNode;\n \"LI\" == e[n].tagName && r.tagName != t && a.indexOf(r) < 0 && a.push(r);\n }\n for (var i = a.length - 1; 0 <= i; i--) {\n var o = h(a[i]);\n o.replaceWith(\"<\".concat(t.toLowerCase(), \" \").concat(g.node.attributes(o.get(0)), \">\").concat(o.html(), \"</\").concat(t.toLowerCase(), \">\"));\n }\n }(e, t);\n var a,\n n = g.html.defaultTag(),\n r = null;\n e.length && (a = \"rtl\" == g.opts.direction || \"rtl\" == h(e[0]).css(\"direction\") ? \"margin-right\" : \"margin-left\");\n for (var i = 0; i < e.length; i++) if (\"TD\" != e[i].tagName && \"TH\" != e[i].tagName && \"LI\" != e[i].tagName) {\n var o = g.helpers.getPX(h(e[i]).css(a)) || 0;\n (e[i].style.marginLeft = null) === r && (r = o);\n var s = 0 < r ? \"<\".concat(t, ' style=\"').concat(a, \": \").concat(r, 'px \">') : \"<\".concat(t, \">\"),\n l = \"</\".concat(t, \">\");\n for (o -= r; 0 < o / g.opts.indentMargin;) s += \"</\".concat(t, \">\"), l += l, o -= g.opts.indentMargin;\n n && e[i].tagName.toLowerCase() == n ? h(e[i]).replaceWith(\"\".concat(s, \"<li\").concat(g.node.attributes(e[i]), \">\").concat(h(e[i]).html(), \"</li>\").concat(l)) : h(e[i]).wrap(\"\".concat(s, \"<li></li>\").concat(l));\n }\n g.clean.lists();\n }\n function d(e) {\n var t,\n a,\n n = [];\n for (t = e.length - 1; 0 <= t; t--) for (a = t - 1; 0 <= a; a--) {\n if (h(e[a]).find(e[t]).length || e[a] == e[t]) {\n h(e[t]).addClass(\"fr-removed-block-\".concat(t)), n.push(t), e.splice(t, 1);\n break;\n }\n if (h(e[a]).contains(e[t])) {\n h(e[a]).addClass(\"fr-removed-block-\".concat(a)), n.push(a), e.splice(a, 1);\n break;\n }\n }\n var r = [],\n i = !1;\n for (t = 0; t < e.length; t++) {\n var o = h(e[t]),\n s = e[t].parentNode,\n l = o.attr(\"class\");\n if (o.is(\":first-child\") && (i = !0, h(s.parentNode).removeAttr(\"start\")), o.before(v(s.tagName)), \"LI\" == s.parentNode.tagName) {\n if (o.is(\":last-child\")) {\n var c = o.find(\"> ul, > ol\").last();\n c.length && c.wrap(\"<\".concat(s.tagName, \">\"));\n }\n o.before(v(\"LI\")), o.after(m(\"LI\"));\n } else if (\"OL\" == s.parentNode.tagName) i || (o.before(v(\"OL\")), o.after(m(\"OL\")));else if (\"UL\" == s.parentNode.tagName) i || (o.before(v(\"UL\")), o.after(m(\"UL\")));else {\n var d = \"\";\n l && (d += ' class=\"'.concat(l, '\"'));\n var f = \"rtl\" == g.opts.direction || \"rtl\" == o.css(\"direction\") ? \"margin-right\" : \"margin-left\";\n g.helpers.getPX(h(s).css(f)) && 0 <= (h(s).attr(\"style\") || \"\").indexOf(\"\".concat(f, \":\")) && (d += ' style=\"'.concat(f, \":\").concat(g.helpers.getPX(h(s).css(f)), 'px;\"')), g.html.defaultTag() && 0 === o.find(g.html.blockTagsQuery()).length && o.wrapInner(g.html.defaultTag() + d), g.node.isEmpty(o.get(0), !0) || 0 !== o.find(g.html.blockTagsQuery()).length || (\"DIV\" == s.parentNode.tagName && g.html.defaultTag() ? (o.prepend(m(g.html.defaultTag())), o.append(v(g.html.defaultTag()))) : o.append(\"<br>\")), o.append(m(\"LI\")), o.prepend(v(\"LI\"));\n }\n o.after(m(s.tagName)), \"LI\" == s.parentNode.tagName && (s = s.parentNode.parentNode), r.indexOf(s) < 0 && r.push(s);\n }\n for (t = 0; t < r.length; t++) {\n var p = h(r[t]),\n u = p.html();\n u = (u = u.replace(/<span class=\"fr-close-([a-z]*)\"><\\/span>/g, \"</$1>\")).replace(/<span class=\"fr-open-([a-z]*)\"><\\/span>/g, \"<$1>\"), p.replaceWith(g.node.openTagString(p.get(0)) + u + g.node.closeTagString(p.get(0)));\n }\n return g.$el.find(\"li:empty\").remove(), g.$el.find(\"ul:empty, ol:empty\").remove(), g.clean.lists(), g.$el.find(\"ul:empty, ol:empty\").remove(), g.html.wrap(), n;\n }\n function u(e, t) {\n var a = h(document.createElement(\"li\"));\n if (e.childNodes.length) for (var n = e.childNodes[0].attributes, r = 0; r < n.length; r++) {\n var i = n[r];\n \"style\" === i.name && (a[0].style.cssText += i.value);\n }\n h(e).prepend(a), h(e).removeAttr(\"start\");\n for (var o = g.node.contents(t)[0]; o && !g.node.isList(o);) {\n var s = o.nextSibling;\n a.append(o), o = s;\n }\n }\n function e(e) {\n if (\"indent\" == e || \"outdent\" == e) {\n var t = !1,\n a = g.selection.blocks(!1, !0),\n n = [],\n r = a[0].previousSibling || a[0].parentElement;\n if (\"outdent\" == e) {\n if (\"UL\" != a[0].parentNode.tagName && \"UL\" != r.parentNode.tagName && \"OL\" != r.parentNode.tagName && \"LI\" != r.parentNode.tagName) return;\n if (!a[0].previousSibling && \"none\" == r.parentNode.style.listStyleType) return void function o(e) {\n for (g.selection.save(); 0 < e.childNodes.length;) e.parentNode.parentNode.append(e.childNodes[0]);\n g.clean.lists(), g.selection.restore();\n }(r);\n } else {\n if (\"UL\" != a[0].parentElement.tagName && \"OL\" != a[0].parentElement.tagName && \"LI\" != a[0].parentElement.tagName) return;\n if (g.node.isBlock(a[0]) && \"LI\" !== a[0].tagName && 0 < h(a[0]).parentsUntil(g.$el, \"LI\").length && (a[0] = a[0].parentElement, r = a[0].parentElement), !a[0].previousSibling || \"LI\" != a[0].previousSibling.tagName) {\n if (0 == h(a[0]).parents(\"li\").length) return void function s(e) {\n g.selection.save();\n var t = \"OL\" == e.tagName ? document.createElement(\"ol\") : document.createElement(\"ul\");\n for (h(t).css(\"list-style-type\", h(e).css(\"list-style-type\")); 0 < e.childNodes.length;) t.append(e.childNodes[0]);\n var a = document.createElement(\"li\");\n t.append(a), e.append(t), g.clean.lists(), g.selection.restore();\n }(r);\n t = !0;\n }\n }\n for (var i = 0; i < a.length; i++) \"LI\" == a[i].tagName ? (t = !0, n.push(a[i])) : \"LI\" == a[i].parentNode.tagName && n.indexOf(a[i].parentNode) < 0 && (t = !0, n.push(a[i].parentNode));\n t && (\"indent\" == e ? function p(e) {\n g.selection.save();\n for (var t = !1, a = 0; a < e.length; a++) {\n var n = e[a].previousSibling;\n if (n && \"LI\" == n.tagName && !t) {\n var r = h(e[a]).find(\"> ul, > ol\").last().get(0);\n if (r) u(r, e[a]), h(n).append(h(r)), h(e[a]).remove();else {\n var i = h(n).find(\"> ul, > ol\").last().get(0);\n if (i) h(i).append(h(e[a]));else {\n var o = h(\"<\".concat(e[a].parentNode.tagName, \">\"));\n h(n).append(o), o.append(h(e[a]));\n }\n }\n } else if (!n || \"OL\" != n.tagName && \"UL\" != n.tagName) {\n var s = e[a].parentNode;\n if (t = !0, \"UL\" == s.tagName || \"OL\" == s.tagName) {\n var l = h(e[a]).find(\"> ol, > ul\"),\n c = null == e[a].previousSibling;\n if (l.length) {\n var d = l.first().get(0);\n u(d, e[a]), c ? h(s).prepend(h(d)) : h(s).append(h(d)), h(e[a]).remove();\n } else h(e[a]).wrap(\"<\".concat(s.tagName, \">\"));\n c && 0 < h(s).find(\"> li\").length && h(s).attr(\"start\", \"2\");\n }\n } else {\n var f = h(e[a]).find(\"> ol, > ul\").first().get(0);\n f ? (u(f, e[a]), h(n).append(h(f).children()), h(e[a]).remove(), h(f).remove()) : h(n).append(h(e[a]));\n }\n }\n g.clean.lists(), g.selection.restore();\n }(n) : function l(e) {\n g.selection.save();\n var t = [];\n do {\n t = d(e), e = [];\n for (var a = 0; a < t.length; a++) {\n var n = g.$el.find(\".fr-removed-block-\".concat(t[a])).first().get(0);\n h(n).removeClass(\"fr-removed-block-\".concat(t[a])), \"\" == h(n).attr(\"class\") && h(n).removeAttr(\"class\"), e.push(n);\n }\n } while (0 < t.length);\n g.selection.restore();\n }(n));\n }\n }\n return {\n _init: function t() {\n g.events.on(\"commands.after\", e), g.events.on(\"keydown\", function (e) {\n if (e.which == St.KEYCODE.TAB) {\n for (var t = g.selection.blocks(), a = [], n = 0; n < t.length; n++) \"LI\" == t[n].tagName ? a.push(t[n]) : \"LI\" == t[n].parentNode.tagName && a.push(t[n].parentNode);\n if (1 <= a.length || a.length && (g.selection.info(a[0]).atStart || g.node.isEmpty(a[0]))) return e.preventDefault(), e.stopPropagation(), e.shiftKey ? g.commands.outdent() : g.commands.indent(), !1;\n }\n }, !0);\n },\n format: function f(e, t) {\n var a,\n n,\n r = 1 < (n = g.selection.blocks(!0)).length && n[n.length - 1],\n i = g.selection.ranges();\n if (r && i.length && g.node.isEmpty(r) && !i[0].endOffset && i[0].setEndAfter(r.firstChild, 1), g.html.syncInputs(), g.selection.save(), g.browser.safari && g.helpers.getSafariVersion() < 17) {\n var o = g.selection.ranges();\n if (i && i[0].endContainer && o && o[0].endContainer && !i[0].endContainer.isSameNode(o[0].endContainer) && i[0].endContainer.previousSibling && i[0].endContainer.previousSibling.isSameNode(o[0].endContainer)) {\n var s = h(o[0].endContainer).find('.fr-marker[data-type=\"false\"]');\n h(i[0].endContainer).append(s[0]);\n }\n }\n for (g.html.wrap(!0, !0, !0, !0), g.selection.restore(), n = g.selection.blocks(!0), a = 0; a < n.length; a++) \"LI\" != n[a].tagName && \"LI\" == n[a].parentNode.tagName && (n[a] = n[a].parentNode);\n if (g.selection.save(), function l(e, t) {\n for (var a = !0, n = 0; n < e.length; n++) {\n if (\"LI\" != e[n].tagName) return !1;\n e[n].parentNode.tagName != t && (a = !1);\n }\n return a;\n }(n, e) ? t || d(n) : c(n, e), g.html.unwrap(), g.selection.restore(), t = t || \"default\") {\n for (n = g.selection.blocks(), a = 0; a < n.length; a++) \"LI\" != n[a].tagName && \"LI\" == n[a].parentNode.tagName && (n[a] = n[a].parentNode);\n for (a = 0; a < n.length; a++) \"LI\" == n[a].tagName && (h(n[a].parentNode).css(\"list-style-type\", \"default\" === t ? \"\" : t), 0 === (h(n[a].parentNode).attr(\"style\") || \"\").length && h(n[a].parentNode).removeAttr(\"style\"));\n }\n },\n refresh: function r(e, t) {\n var a = h(g.selection.element());\n if (a.get(0) != g.el) {\n var n = a.get(0);\n (n = \"LI\" != n.tagName && n.firstElementChild && \"LI\" != n.firstElementChild.tagName ? a.parents(\"li\").get(0) : \"LI\" == n.tagName || n.firstElementChild ? n.firstElementChild && \"LI\" == n.firstElementChild.tagName ? a.get(0).firstChild : a.get(0) : a.parents(\"li\").get(0)) && n.parentNode.tagName == t && g.el.contains(n.parentNode) && e.addClass(\"fr-active\");\n }\n }\n };\n }, St.DefineIcon(\"formatOLSimple\", {\n NAME: \"list-ol\",\n SVG_KEY: \"orderedList\"\n }), St.RegisterCommand(\"formatOLSimple\", {\n title: \"Ordered List\",\n type: \"button\",\n options: {\n \"default\": \"Default\",\n circle: \"Circle\",\n disc: \"Disc\",\n square: \"Square\"\n },\n refresh: function (e) {\n this.lists.refresh(e, \"OL\");\n },\n callback: function (e, t) {\n this.lists.format(\"OL\", t);\n },\n plugin: \"lists\"\n }), St.RegisterCommand(\"formatUL\", {\n title: \"Unordered List\",\n type: \"button\",\n hasOptions: function () {\n return this.opts.listAdvancedTypes;\n },\n options: {\n \"default\": \"Default\",\n circle: \"Circle\",\n disc: \"Disc\",\n square: \"Square\"\n },\n refresh: function (e) {\n this.lists.refresh(e, \"UL\");\n },\n callback: function (e, t) {\n this.lists.format(\"UL\", t);\n },\n plugin: \"lists\"\n }), St.RegisterCommand(\"formatOL\", {\n title: \"Ordered List\",\n hasOptions: function () {\n return this.opts.listAdvancedTypes;\n },\n options: {\n \"default\": \"Default\",\n \"lower-alpha\": \"Lower Alpha\",\n \"lower-greek\": \"Lower Greek\",\n \"lower-roman\": \"Lower Roman\",\n \"upper-alpha\": \"Upper Alpha\",\n \"upper-roman\": \"Upper Roman\"\n },\n refresh: function (e) {\n this.lists.refresh(e, \"OL\");\n },\n callback: function (e, t) {\n this.lists.format(\"OL\", t);\n },\n plugin: \"lists\"\n }), St.DefineIcon(\"formatUL\", {\n NAME: \"list-ul\",\n SVG_KEY: \"unorderedList\"\n }), St.DefineIcon(\"formatOL\", {\n NAME: \"list-ol\",\n SVG_KEY: \"orderedList\"\n }), Object.assign(St.DEFAULTS, {\n paragraphFormat: {\n N: \"Normal\",\n H1: \"Heading 1\",\n H2: \"Heading 2\",\n H3: \"Heading 3\",\n H4: \"Heading 4\",\n PRE: \"Code\"\n },\n paragraphFormatSelection: !1,\n paragraphDefaultSelection: \"Paragraph Format\"\n }), St.PLUGINS.paragraphFormat = function (u) {\n var g = u.$;\n function h(e, t) {\n var a = u.html.defaultTag();\n if (t && t.toLowerCase() != a) if (0 < e.find(\"ul, ol\").length) {\n var n = g(\"<\" + t + \">\");\n e.prepend(n);\n for (var r = u.node.contents(e.get(0))[0]; r && [\"UL\", \"OL\"].indexOf(r.tagName) < 0;) {\n var i = r.nextSibling;\n n.append(r), r = i;\n }\n } else e.html(\"<\" + t + \">\" + e.html() + \"</\" + t + \">\");\n }\n return {\n apply: function m(e) {\n \"N\" == e && (e = u.html.defaultTag()), u.selection.save(), u.html.wrap(!0, !0, !u.opts.paragraphFormat.BLOCKQUOTE, !0, !0), u.selection.restore();\n var t,\n a,\n n,\n r,\n i,\n o,\n s,\n l,\n c = u.selection.blocks();\n u.selection.save(), u.$el.find(\"pre\").attr(\"skip\", !0);\n for (var d = 0; d < c.length; d++) if (c[d].tagName != e && !u.node.isList(c[d])) {\n var f = g(c[d]);\n if (\"LI\" == c[d].tagName) h(f, e);else if (\"LI\" == c[d].parentNode.tagName && c[d]) o = f, s = e, l = u.html.defaultTag(), s && s.toLowerCase() != l || (s = 'div class=\"fr-temp-div\"'), o.replaceWith(g(\"<\" + s + \">\").html(o.html()));else if (0 <= [\"TD\", \"TH\"].indexOf(c[d].parentNode.tagName)) n = f, r = e, i = u.html.defaultTag(), r || (r = 'div class=\"fr-temp-div\"' + (u.node.isEmpty(n.get(0), !0) ? ' data-empty=\"true\"' : \"\")), r.toLowerCase() == i ? (u.node.isEmpty(n.get(0), !0) || n.append(\"<br/>\"), n.replaceWith(n.html())) : n.replaceWith(g(\"<\" + r + \">\").html(n.html()));else {\n if (\"PRE\" === e && null === f[0].nextSibling) {\n var p = g(\"<br>\");\n f[0].after(p[0]);\n }\n t = f, (a = e) || (a = 'div class=\"fr-temp-div\"' + (u.node.isEmpty(t.get(0), !0) ? ' data-empty=\"true\"' : \"\")), (\"H1\" == a || \"H2\" == a || \"H3\" == a || \"H4\" == a || \"H5\" == a) && -1 < u.node.attributes(t.get(0)).indexOf(\"font-size:\") ? t.replaceWith(g(\"<\" + a + \" \" + u.node.attributes(t.get(0)).replace(/font-size:[0-9]+px;?/, \"\") + \">\").html(t.html()).removeAttr(\"data-empty\")) : t.replaceWith(g(\"<\" + a + \" \" + u.node.attributes(t.get(0)) + \">\").html(t.html()).removeAttr(\"data-empty\"));\n }\n }\n u.$el.find('pre:not([skip=\"true\"]) + pre:not([skip=\"true\"])').each(function () {\n g(this).prev().append(\"<br>\" + g(this).html()), g(this).remove();\n }), u.$el.find(\"pre\").removeAttr(\"skip\"), u.html.unwrap(), u.selection.restore();\n },\n refreshOnShow: function o(e, t) {\n var a = u.selection.blocks();\n if (a.length) {\n var n = a[0],\n r = \"N\",\n i = u.html.defaultTag();\n n.tagName.toLowerCase() != i && n != u.el && (r = n.tagName), t.find('.fr-command[data-param1=\"' + r + '\"]').addClass(\"fr-active\").attr(\"aria-selected\", !0);\n } else t.find('.fr-command[data-param1=\"N\"]').addClass(\"fr-active\").attr(\"aria-selected\", !0);\n },\n refresh: function i(e) {\n if (u.opts.paragraphFormatSelection) {\n var t = u.selection.blocks();\n if (t.length) {\n var a = t[0],\n n = \"N\",\n r = u.html.defaultTag();\n a.tagName.toLowerCase() != r && a != u.el && (n = a.tagName), 0 <= [\"LI\", \"TD\", \"TH\"].indexOf(n) && (n = \"N\"), e.find(\">span\").text(u.language.translate(u.opts.paragraphFormat[n]));\n } else e.find(\">span\").text(u.language.translate(u.opts.paragraphFormat.N));\n }\n }\n };\n }, St.RegisterCommand(\"paragraphFormat\", {\n type: \"dropdown\",\n displaySelection: function (e) {\n return e.opts.paragraphFormatSelection;\n },\n defaultSelection: function (e) {\n return e.language.translate(e.opts.paragraphDefaultSelection);\n },\n displaySelectionWidth: 80,\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.paragraphFormat;\n for (var a in t) if (t.hasOwnProperty(a)) {\n var n = this.shortcuts.get(\"paragraphFormat.\" + a);\n n = n ? '<span class=\"fr-shortcut\">' + n + \"</span>\" : \"\", e += '<li role=\"presentation\"><' + (\"N\" == a ? this.html.defaultTag() || \"DIV\" : a) + ' style=\"padding: 0 !important; margin: 0 !important; border: 0 !important; background-color: transparent !important; ' + (\"PRE\" == a || \"N\" == a ? \"font-size: 15px\" : \"font-weight: bold !important; \") + (\"H1\" == a ? \"font-size: 2em !important; \" : \"\") + (\"H2\" == a ? \"font-size: 1.5em !important; \" : \"\") + (\"H3\" == a ? \"font-size: 1.17em !important; \" : \"\") + (\"H4\" == a ? \"font-size: 15px !important;\" : \"\") + '\" role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"paragraphFormat\" data-param1=\"' + a + '\" title=\"' + this.language.translate(t[a]) + '\">' + this.language.translate(t[a]) + \"</a></\" + (\"N\" == a ? this.html.defaultTag() || \"DIV\" : a) + \"></li>\";\n }\n return e += \"</ul>\";\n },\n title: \"Paragraph Format\",\n callback: function (e, t) {\n this.paragraphFormat.apply(t);\n },\n refresh: function (e) {\n this.paragraphFormat.refresh(e);\n },\n refreshOnShow: function (e, t) {\n this.paragraphFormat.refreshOnShow(e, t);\n },\n plugin: \"paragraphFormat\"\n }), St.DefineIcon(\"paragraphFormat\", {\n NAME: \"paragraph\",\n SVG_KEY: \"paragraphFormat\"\n }), Object.assign(St.DEFAULTS, {\n paragraphStyles: {\n \"fr-text-gray\": \"Gray\",\n \"fr-text-bordered\": \"Bordered\",\n \"fr-text-spaced\": \"Spaced\",\n \"fr-text-uppercase\": \"Uppercase\"\n },\n paragraphMultipleStyles: !0\n }), St.PLUGINS.paragraphStyle = function (l) {\n var c = l.$;\n return {\n _init: function e() {},\n apply: function d(e, t, a) {\n void 0 === t && (t = l.opts.paragraphStyles), void 0 === a && (a = l.opts.paragraphMultipleStyles);\n var n = \"\";\n a || ((n = Object.keys(t)).splice(n.indexOf(e), 1), n = n.join(\" \")), l.selection.save(), l.html.wrap(!0, !0, !0, !0), l.selection.restore();\n var r = l.selection.blocks();\n l.selection.save();\n for (var i = c(r[0]).hasClass(e), o = 0; o < r.length; o++) c(r[o]).removeClass(n).toggleClass(e, !i), c(r[o]).hasClass(\"fr-temp-div\") && c(r[o]).removeClass(\"fr-temp-div\"), \"\" === c(r[o]).attr(\"class\") && c(r[o]).removeAttr(\"class\");\n if (1 === r.length && \"fr-text-bordered\" === e && null === r[0].nextSibling) {\n var s = c(\"<br>\");\n r[0].after(s[0]);\n }\n l.html.unwrap(), l.selection.restore();\n },\n refreshOnShow: function r(e, t) {\n var a = l.selection.blocks();\n if (a.length) {\n var n = c(a[0]);\n t.find(\".fr-command\").each(function () {\n var e = c(this).data(\"param1\"),\n t = n.hasClass(e);\n c(this).toggleClass(\"fr-active\", t).attr(\"aria-selected\", t);\n });\n }\n }\n };\n }, St.RegisterCommand(\"paragraphStyle\", {\n type: \"dropdown\",\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.paragraphStyles;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command '.concat(a, '\" tabIndex=\"-1\" role=\"option\" data-cmd=\"paragraphStyle\" data-param1=\"').concat(a, '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.language.translate(t[a]), \"</a></li>\"));\n return e += \"</ul>\";\n },\n title: \"Paragraph Style\",\n callback: function (e, t) {\n this.paragraphStyle.apply(t);\n },\n refreshOnShow: function (e, t) {\n this.paragraphStyle.refreshOnShow(e, t);\n },\n plugin: \"paragraphStyle\"\n }), St.DefineIcon(\"paragraphStyle\", {\n NAME: \"magic\",\n SVG_KEY: \"paragraphStyle\"\n }), Object.assign(St.DEFAULTS, {\n html2pdf: window.html2pdf\n }), St.PLUGINS.print = function (l) {\n return {\n run: function e() {\n !function s(e) {\n var t = l.html.get(),\n a = null;\n l.shared.print_iframe ? a = l.shared.print_iframe : ((a = document.createElement(\"iframe\")).name = \"fr-print\", a.style.position = \"fixed\", a.style.top = \"0\", a.style.left = \"-9999px\", a.style.height = \"100%\", a.style.width = \"0\", a.style.overflow = \"hidden\", a.style[\"z-index\"] = \"2147483647\", a.style.tabIndex = \"-1\", l.events.on(\"shared.destroy\", function () {\n a.remove();\n }), l.shared.print_iframe = a);\n try {\n document.body.removeChild(a);\n } catch (o) {}\n document.body.appendChild(a);\n var n = function () {\n e(), a.removeEventListener(\"load\", n);\n };\n a.addEventListener(\"load\", n);\n var r = a.contentWindow;\n r.document.open(), r.document.write(\"<!DOCTYPE html><html \" + (l.opts.documentReady ? 'style=\"margin: 0; padding: 0;\"' : \"\") + \"><head><title>\" + document.title + \"</title>\"), Array.prototype.forEach.call(document.querySelectorAll(\"style\"), function (e) {\n e = e.cloneNode(!0), r.document.write(e.outerHTML);\n });\n var i = document.querySelectorAll(\"link[rel=stylesheet]\");\n Array.prototype.forEach.call(i, function (e) {\n var t = document.createElement(\"link\");\n t.rel = e.rel, t.href = e.href, t.media = \"print\", t.type = \"text/css\", t.media = \"all\", r.document.write(t.outerHTML);\n }), r.document.write('</head><body style=\"height:auto;text-align: ' + (\"rtl\" == l.opts.direction ? \"right\" : \"left\") + \"; direction: \" + l.opts.direction + \"; \" + (l.opts.documentReady ? \" padding: 2cm; width: 17cm; margin: 0;\" : \"\") + '\"><div class=\"fr-view\">'), r.document.write(t), r.document.write(\"</div></body></html>\"), r.document.close();\n }(function () {\n setTimeout(function () {\n l.events.disableBlur(), window.frames[\"fr-print\"].focus(), window.frames[\"fr-print\"].print(), l.$win.get(0).focus(), l.events.disableBlur(), l.events.focus();\n }, 0);\n });\n },\n toPDF: function t() {\n l.opts.html2pdf && (l.$el.css(\"text-align\", \"left\"), l.opts.html2pdf().set({\n margin: [10, 20],\n html2canvas: {\n useCORS: !0\n }\n }).from(l.el).save(), setTimeout(function () {\n l.$el.css(\"text-align\", \"\");\n }, 100));\n }\n };\n }, St.DefineIcon(\"print\", {\n NAME: \"print\",\n SVG_KEY: \"print\"\n }), St.RegisterCommand(\"print\", {\n title: \"Print\",\n undo: !1,\n focus: !1,\n plugin: \"print\",\n callback: function () {\n this.print.run();\n }\n }), St.DefineIcon(\"getPDF\", {\n NAME: \"file-pdf-o\",\n FA5NAME: \"file-pdf\",\n SVG_KEY: \"pdfExport\"\n }), St.RegisterCommand(\"getPDF\", {\n title: \"Download PDF\",\n type: \"button\",\n focus: !1,\n undo: !1,\n callback: function () {\n this.print.toPDF();\n }\n }), Object.assign(St.DEFAULTS, {\n quickInsertButtons: [\"image\", \"video\", \"embedly\", \"table\", \"ul\", \"ol\", \"hr\"],\n quickInsertTags: [\"p\", \"div\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"pre\", \"blockquote\"],\n quickInsertEnabled: !0\n }), St.QUICK_INSERT_BUTTONS = {}, St.DefineIcon(\"quickInsert\", {\n SVG_KEY: \"add\",\n template: \"svg\"\n }), St.RegisterQuickInsertButton = function (e, t) {\n St.QUICK_INSERT_BUTTONS[e] = Object.assign({\n undo: !0\n }, t);\n }, St.RegisterQuickInsertButton(\"image\", {\n icon: \"insertImage\",\n requiredPlugin: \"image\",\n title: \"Insert Image\",\n undo: !1,\n callback: function () {\n var e = this,\n t = e.$;\n e.shared.$qi_image_input || (e.shared.$qi_image_input = t(document.createElement(\"input\")).attr(\"accept\", \"image/\" + e.opts.imageAllowedTypes.join(\", image/\").toLowerCase()).attr(\"name\", \"quickInsertImage\".concat(this.id)).attr(\"style\", \"display: none;\").attr(\"type\", \"file\"), t(\"body\").first().append(e.shared.$qi_image_input), e.events.$on(e.shared.$qi_image_input, \"change\", function () {\n var e = t(this).data(\"inst\");\n this.files && (e.quickInsert.hide(), e.image.upload(this.files)), t(this).val(\"\");\n }, !0)), e.$qi_image_input = e.shared.$qi_image_input, e.helpers.isMobile() && e.selection.save(), e.events.disableBlur(), e.$qi_image_input.data(\"inst\", e)[0].click();\n }\n }), St.RegisterQuickInsertButton(\"video\", {\n icon: \"insertVideo\",\n requiredPlugin: \"video\",\n title: \"Insert Video\",\n undo: !1,\n callback: function () {\n var e = prompt(this.language.translate(\"Paste the URL of the video you want to insert.\"));\n e && this.video.insertByURL(e);\n }\n }), St.RegisterQuickInsertButton(\"embedly\", {\n icon: \"embedly\",\n requiredPlugin: \"embedly\",\n title: \"Embed URL\",\n undo: !1,\n callback: function () {\n var e = prompt(this.language.translate(\"Paste the URL of any web content you want to insert.\"));\n e && this.embedly.add(e);\n }\n }), St.RegisterQuickInsertButton(\"table\", {\n icon: \"insertTable\",\n requiredPlugin: \"table\",\n title: \"Insert Table\",\n callback: function () {\n this.table.insert(2, 2);\n }\n }), St.RegisterQuickInsertButton(\"ol\", {\n icon: \"formatOL\",\n requiredPlugin: \"lists\",\n title: \"Ordered List\",\n callback: function () {\n this.lists.format(\"OL\");\n }\n }), St.RegisterQuickInsertButton(\"ul\", {\n icon: \"formatUL\",\n requiredPlugin: \"lists\",\n title: \"Unordered List\",\n callback: function () {\n this.lists.format(\"UL\");\n }\n }), St.RegisterQuickInsertButton(\"hr\", {\n icon: \"insertHR\",\n title: \"Insert Horizontal Line\",\n callback: function () {\n this.commands.insertHR();\n }\n }), St.PLUGINS.quickInsert = function (o) {\n var s,\n l,\n c = o.$,\n d = !1;\n function a(e) {\n var t, a, n;\n (t = e.offset().top - o.$box.offset().top, a = (o.$iframe && o.$iframe.offset().left || 0) + e.offset().left - e.position().left - 4 < s.outerWidth() ? e.offset().left + s.outerWidth() : 0 - s.outerWidth(), o.opts.enter != St.ENTER_BR) ? n = (s.outerHeight() - e.outerHeight()) / 2 : (c(document.createElement(\"span\")).html(St.INVISIBLE_SPACE).insertAfter(e), n = (s.outerHeight() - e.next().outerHeight()) / 2, e.next().remove());\n if (o.opts.iframe) {\n var r = o.helpers.getPX(o.$wp.find(\".fr-iframe\").css(\"padding-top\"));\n t += o.$iframe.offset().top + r;\n }\n s.hasClass(\"fr-on\") && 0 <= t && l.css(\"top\", t - n), 0 <= t && t - Math.abs(n) <= o.$box.outerHeight() - e.outerHeight() ? (s.hasClass(\"fr-hidden\") && (s.hasClass(\"fr-on\") && f(), s.removeClass(\"fr-hidden\")), s.css(\"top\", t - n)) : s.hasClass(\"fr-visible\") && !o.opts.toolbarInline && (s.addClass(\"fr-hidden\"), p()), s.css(\"left\", a);\n }\n function r(e) {\n o.markdown && o.markdown.isEnabled() || (s || function t() {\n o.shared.$quick_insert || (o.shared.$quick_insert = c(document.createElement(\"div\")).attr(\"class\", \"fr-quick-insert\").html('<a class=\"fr-floating-btn\" role=\"button\" tabIndex=\"-1\" title=\"'.concat(o.language.translate(\"Quick Insert\"), '\">').concat(o.icon.create(\"quickInsert\"), \"</a>\")));\n s = o.shared.$quick_insert, o.tooltip.bind(o.$box, \".fr-quick-insert > a.fr-floating-btn\"), o.events.on(\"destroy\", function () {\n c(\"body\").first().append(s.removeClass(\"fr-on\")), l && (p(), c(\"body\").first().append(l.css(\"left\", -9999).css(\"top\", -9999)));\n }, !0), o.events.on(\"shared.destroy\", function () {\n s.html(\"\").removeData().remove(), s = null, l && (l.html(\"\").removeData().remove(), l = null);\n }, !0), o.events.on(\"commands.before\", i), o.events.on(\"commands.after\", function () {\n o.popups.areVisible() || n();\n }), o.events.bindClick(o.$box, \".fr-quick-insert > a\", f), o.events.bindClick(o.$box, \".fr-qi-helper > a.fr-btn\", function (e) {\n var t = c(e.currentTarget).data(\"cmd\");\n if (!1 === o.events.trigger(\"quickInsert.commands.before\", [t])) return !1;\n St.QUICK_INSERT_BUTTONS[t].callback.apply(o, [e.currentTarget]), St.QUICK_INSERT_BUTTONS[t].undo && o.undo.saveStep(), o.events.trigger(\"quickInsert.commands.after\", [t]), o.quickInsert.hide();\n }), o.events.$on(o.$wp, \"scroll\", u), o.events.$on(o.$tb, \"transitionend\", \".fr-more-toolbar\", u);\n }(), s.hasClass(\"fr-on\") && p(), o.$box.append(s), a(e), s.data(\"tag\", e), s.addClass(\"fr-visible\"));\n }\n function n() {\n if (o.core.hasFocus()) {\n var e = o.selection.element();\n if (o.opts.enter == St.ENTER_BR || o.node.isBlock(e) || (e = o.node.blockParent(e)), o.opts.enter == St.ENTER_BR && !o.node.isBlock(e)) {\n var t = o.node.deepestParent(e);\n t && (e = t);\n }\n var a = function a() {\n return o.opts.enter != St.ENTER_BR && o.node.isEmpty(e) && 0 <= o.opts.quickInsertTags.indexOf(e.tagName.toLowerCase());\n },\n n = function n() {\n return o.opts.enter == St.ENTER_BR && (\"BR\" == e.tagName && (!e.previousSibling || \"BR\" == e.previousSibling.tagName || o.node.isBlock(e.previousSibling)) || o.node.isEmpty(e) && (!e.previousSibling || \"BR\" == e.previousSibling.tagName || o.node.isBlock(e.previousSibling)) && (!e.nextSibling || \"BR\" == e.nextSibling.tagName || o.node.isBlock(e.nextSibling)));\n };\n e && (a() || n()) ? s && s.data(\"tag\").is(c(e)) && s.hasClass(\"fr-on\") ? p() : o.selection.isCollapsed() && r(c(e)) : i();\n }\n }\n function i() {\n s && !d && (s.hasClass(\"fr-on\") && p(), s.removeClass(\"fr-visible fr-on\"), s.css(\"left\", -9999).css(\"top\", -9999));\n }\n function f(e) {\n if (e && e.preventDefault(), s.hasClass(\"fr-on\") && !s.hasClass(\"fr-hidden\")) p();else {\n if (!o.shared.$qi_helper) {\n for (var t = o.opts.quickInsertButtons, a = '<div class=\"fr-qi-helper\">', n = 0, r = 0; r < t.length; r++) {\n var i = St.QUICK_INSERT_BUTTONS[t[r]];\n i && (!i.requiredPlugin || St.PLUGINS[i.requiredPlugin] && 0 <= o.opts.pluginsEnabled.indexOf(i.requiredPlugin)) && (a += '<a class=\"fr-btn fr-floating-btn\" role=\"button\" title=\"'.concat(o.language.translate(i.title), '\" tabIndex=\"-1\" data-cmd=\"').concat(t[r], '\" style=\"transition-delay: ').concat(.025 * n++, 's;\">').concat(o.icon.create(i.icon), \"</a>\"));\n }\n a += \"</div>\", o.shared.$qi_helper = c(a), o.tooltip.bind(o.shared.$qi_helper, \"a.fr-btn\"), o.events.$on(o.shared.$qi_helper, \"mousedown\", function (e) {\n e.preventDefault();\n }, !0);\n }\n l = o.shared.$qi_helper, o.$box.append(l), d = !0, setTimeout(function () {\n d = !1, l.css(\"top\", parseFloat(s.css(\"top\"))), l.css(\"left\", parseFloat(s.css(\"left\")) + s.outerWidth()), l.find(\"a\").addClass(\"fr-size-1\"), s.addClass(\"fr-on\");\n }, 10);\n }\n }\n function p() {\n var t = o.$box.find(\".fr-qi-helper\");\n if (t.length) {\n for (var a = t.find(\"a\"), e = 0; e < a.length; e++) !function (e) {\n setTimeout(function () {\n t.children().eq(a.length - 1 - e).removeClass(\"fr-size-1\");\n }, 25 * e);\n }(e);\n setTimeout(function () {\n t.css(\"left\", -9999), s && !s.hasClass(\"fr-hidden\") && s.removeClass(\"fr-on\");\n }, 25 * e);\n }\n }\n function u() {\n s.hasClass(\"fr-visible\") && a(s.data(\"tag\"));\n }\n return {\n _init: function e() {\n if (!o.$wp || !o.opts.quickInsertEnabled) return !1;\n o.popups.onShow(\"image.edit\", i), o.events.on(\"mouseup\", n), o.helpers.isMobile() && o.events.$on(c(o.o_doc), \"selectionchange\", n), o.events.on(\"blur\", i), o.events.on(\"keyup\", n), o.events.on(\"keydown\", function () {\n setTimeout(function () {\n n();\n }, 0);\n });\n },\n hide: i\n };\n }, St.PLUGINS.quote = function (i) {\n var o = i.$;\n function s(e) {\n for (; e.parentNode && e.parentNode != i.el;) e = e.parentNode;\n return e;\n }\n return {\n apply: function t(e) {\n i.selection.save(), i.html.wrap(!0, !0, !0, !0), i.selection.restore(), \"increase\" == e ? function n() {\n var e,\n t = i.selection.blocks();\n for (e = 0; e < t.length; e++) t[e] = s(t[e]);\n i.selection.save();\n var a = o(document.createElement(\"blockquote\"));\n for (a.insertBefore(t[0]), e = 0; e < t.length; e++) a.append(t[e]);\n i.opts.trackChangesEnabled && i.track_changes.addQuote(a), i.html.unwrap(), i.selection.restore();\n }() : \"decrease\" == e && function r() {\n var e,\n t = i.opts.trackChangesEnabled,\n a = i.selection.blocks();\n for (e = 0; e < a.length; e++) \"BLOCKQUOTE\" != a[e].tagName && (a[e] = t && o(a[e]).parentsUntil(i.$el, \"[data-track-id^=pending]\").get(0) || o(a[e]).parentsUntil(i.$el, \"BLOCKQUOTE\").get(0));\n for (i.selection.save(), e = 0; e < a.length; e++) a[e] && (t ? i.track_changes.removeQuote(o(a[e]), e) : o(a[e]).replaceWith(a[e].innerHTML));\n i.html.unwrap(), i.selection.restore();\n }();\n }\n };\n }, St.RegisterShortcut(St.KEYCODE.SINGLE_QUOTE, \"quote\", \"increase\", \"'\"), St.RegisterShortcut(St.KEYCODE.SINGLE_QUOTE, \"quote\", \"decrease\", \"'\", !0), St.RegisterCommand(\"quote\", {\n title: \"Quote\",\n type: \"dropdown\",\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = {\n increase: \"Increase\",\n decrease: \"Decrease\"\n };\n for (var a in t) if (t.hasOwnProperty(a)) {\n var n = this.shortcuts.get(\"quote.\".concat(a));\n e += '<li role=\"presentation\"><a class=\"fr-command fr-active '.concat(a, '\" tabIndex=\"-1\" role=\"option\" data-cmd=\"quote\" data-param1=\"').concat(a, '\" title=\"').concat(t[a], '\">').concat(this.language.translate(t[a])).concat(n ? '<span class=\"fr-shortcut\">'.concat(n, \"</span>\") : \"\", \"</a></li>\");\n }\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.quote.apply(t);\n },\n plugin: \"quote\"\n }), St.DefineIcon(\"quote\", {\n NAME: \"quote-left\",\n SVG_KEY: \"blockquote\"\n }), Object.assign(St.DEFAULTS, {\n saveInterval: 1e4,\n saveURL: null,\n saveParams: {},\n saveParam: \"body\",\n saveMethod: \"POST\"\n }), St.PLUGINS.save = function (s) {\n var l = s.$,\n n = null,\n c = null,\n t = !1,\n d = 1,\n f = 2,\n a = {};\n function p(e, t) {\n s.events.trigger(\"save.error\", [{\n code: e,\n message: a[e]\n }, t]);\n }\n function r(e) {\n void 0 === e && (e = s.html.get());\n var n = e,\n t = s.events.trigger(\"save.before\", [e]);\n if (!1 === t) return !1;\n if (\"string\" == typeof t && (e = t), s.opts.saveURL) {\n var a = {};\n for (var r in s.opts.saveParams) if (s.opts.saveParams.hasOwnProperty(r)) {\n var i = s.opts.saveParams[r];\n a[r] = \"function\" == typeof i ? i.call(this) : i;\n }\n var o = {};\n o[s.opts.saveParam] = e, l(this).ajax({\n method: s.opts.saveMethod,\n url: s.opts.saveURL,\n data: Object.assign(o, a),\n crossDomain: s.opts.requestWithCORS,\n withCredentials: s.opts.requestWithCredentials,\n headers: s.opts.requestHeaders,\n done: function (e, t, a) {\n c = n, s.events.trigger(\"save.after\", [e]);\n },\n fail: function (e) {\n p(f, e.response || e.responseText);\n }\n });\n } else p(d);\n }\n function i() {\n clearTimeout(n), n = setTimeout(function () {\n var e = s.html.get();\n (c != e || t) && (t = !1, r(c = e));\n }, 0);\n }\n return a[d] = \"Missing saveURL option.\", a[f] = \"Something went wrong during save.\", {\n _init: function o() {\n if (s.opts.letteringClass) for (var e = s.opts.letteringClass, t = s.$el.find(\".\".concat(e)).length, a = 0; a < t; a++) s.$el.find(\".\".concat(e))[a].innerHTML = s.$el.find(\".\".concat(e))[a].innerText.replace(/([\\w'-]+|[?.\",])/g, \"<span class = 'fr-word-select'>$1</span>\");\n s.opts.saveInterval && (c = s.html.get(), s.events.on(\"contentChanged\", function () {\n setTimeout(i, s.opts.saveInterval);\n }), s.events.on(\"keydown destroy\", function () {\n clearTimeout(n);\n }));\n },\n save: r,\n reset: function e() {\n i(), t = !1;\n },\n force: function u() {\n t = !0;\n }\n };\n }, St.DefineIcon(\"save\", {\n NAME: \"floppy-o\",\n FA5NAME: \"save\"\n }), St.RegisterCommand(\"save\", {\n title: \"Save\",\n undo: !1,\n focus: !1,\n refreshAfterCallback: !1,\n callback: function () {\n this.save.save();\n },\n plugin: \"save\"\n }), Object.assign(St.DEFAULTS, {\n specialCharactersSets: [{\n title: \"Latin\",\n \"char\": \"¡\",\n list: [{\n \"char\": \"¡\",\n desc: \"INVERTED EXCLAMATION MARK\"\n }, {\n \"char\": \"¢\",\n desc: \"CENT SIGN\"\n }, {\n \"char\": \"£\",\n desc: \"POUND SIGN\"\n }, {\n \"char\": \"¤\",\n desc: \"CURRENCY SIGN\"\n }, {\n \"char\": \"¥\",\n desc: \"YEN SIGN\"\n }, {\n \"char\": \"¦\",\n desc: \"BROKEN BAR\"\n }, {\n \"char\": \"§\",\n desc: \"SECTION SIGN\"\n }, {\n \"char\": \"¨\",\n desc: \"DIAERESIS\"\n }, {\n \"char\": \"©\",\n desc: \"COPYRIGHT SIGN\"\n }, {\n \"char\": \"™\",\n desc: \"TRADEMARK SIGN\"\n }, {\n \"char\": \"ª\",\n desc: \"FEMININE ORDINAL INDICATOR\"\n }, {\n \"char\": \"«\",\n desc: \"LEFT-POINTING DOUBLE ANGLE QUOTATION MARK\"\n }, {\n \"char\": \"¬\",\n desc: \"NOT SIGN\"\n }, {\n \"char\": \"®\",\n desc: \"REGISTERED SIGN\"\n }, {\n \"char\": \"¯\",\n desc: \"MACRON\"\n }, {\n \"char\": \"°\",\n desc: \"DEGREE SIGN\"\n }, {\n \"char\": \"±\",\n desc: \"PLUS-MINUS SIGN\"\n }, {\n \"char\": \"²\",\n desc: \"SUPERSCRIPT TWO\"\n }, {\n \"char\": \"³\",\n desc: \"SUPERSCRIPT THREE\"\n }, {\n \"char\": \"´\",\n desc: \"ACUTE ACCENT\"\n }, {\n \"char\": \"µ\",\n desc: \"MICRO SIGN\"\n }, {\n \"char\": \"¶\",\n desc: \"PILCROW SIGN\"\n }, {\n \"char\": \"·\",\n desc: \"MIDDLE DOT\"\n }, {\n \"char\": \"¸\",\n desc: \"CEDILLA\"\n }, {\n \"char\": \"¹\",\n desc: \"SUPERSCRIPT ONE\"\n }, {\n \"char\": \"º\",\n desc: \"MASCULINE ORDINAL INDICATOR\"\n }, {\n \"char\": \"»\",\n desc: \"RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK\"\n }, {\n \"char\": \"¼\",\n desc: \"VULGAR FRACTION ONE QUARTER\"\n }, {\n \"char\": \"½\",\n desc: \"VULGAR FRACTION ONE HALF\"\n }, {\n \"char\": \"¾\",\n desc: \"VULGAR FRACTION THREE QUARTERS\"\n }, {\n \"char\": \"¿\",\n desc: \"INVERTED QUESTION MARK\"\n }, {\n \"char\": \"À\",\n desc: \"LATIN CAPITAL LETTER A WITH GRAVE\"\n }, {\n \"char\": \"Á\",\n desc: \"LATIN CAPITAL LETTER A WITH ACUTE\"\n }, {\n \"char\": \"Â\",\n desc: \"LATIN CAPITAL LETTER A WITH CIRCUMFLEX\"\n }, {\n \"char\": \"Ã\",\n desc: \"LATIN CAPITAL LETTER A WITH TILDE\"\n }, {\n \"char\": \"Ä\",\n desc: \"LATIN CAPITAL LETTER A WITH DIAERESIS \"\n }, {\n \"char\": \"Å\",\n desc: \"LATIN CAPITAL LETTER A WITH RING ABOVE\"\n }, {\n \"char\": \"Æ\",\n desc: \"LATIN CAPITAL LETTER AE\"\n }, {\n \"char\": \"Ç\",\n desc: \"LATIN CAPITAL LETTER C WITH CEDILLA\"\n }, {\n \"char\": \"È\",\n desc: \"LATIN CAPITAL LETTER E WITH GRAVE\"\n }, {\n \"char\": \"É\",\n desc: \"LATIN CAPITAL LETTER E WITH ACUTE\"\n }, {\n \"char\": \"Ê\",\n desc: \"LATIN CAPITAL LETTER E WITH CIRCUMFLEX\"\n }, {\n \"char\": \"Ë\",\n desc: \"LATIN CAPITAL LETTER E WITH DIAERESIS\"\n }, {\n \"char\": \"Ì\",\n desc: \"LATIN CAPITAL LETTER I WITH GRAVE\"\n }, {\n \"char\": \"Í\",\n desc: \"LATIN CAPITAL LETTER I WITH ACUTE\"\n }, {\n \"char\": \"Î\",\n desc: \"LATIN CAPITAL LETTER I WITH CIRCUMFLEX\"\n }, {\n \"char\": \"Ï\",\n desc: \"LATIN CAPITAL LETTER I WITH DIAERESIS\"\n }, {\n \"char\": \"Ð\",\n desc: \"LATIN CAPITAL LETTER ETH\"\n }, {\n \"char\": \"Ñ\",\n desc: \"LATIN CAPITAL LETTER N WITH TILDE\"\n }, {\n \"char\": \"Ò\",\n desc: \"LATIN CAPITAL LETTER O WITH GRAVE\"\n }, {\n \"char\": \"Ó\",\n desc: \"LATIN CAPITAL LETTER O WITH ACUTE\"\n }, {\n \"char\": \"Ô\",\n desc: \"LATIN CAPITAL LETTER O WITH CIRCUMFLEX\"\n }, {\n \"char\": \"Õ\",\n desc: \"LATIN CAPITAL LETTER O WITH TILDE\"\n }, {\n \"char\": \"Ö\",\n desc: \"LATIN CAPITAL LETTER O WITH DIAERESIS\"\n }, {\n \"char\": \"×\",\n desc: \"MULTIPLICATION SIGN\"\n }, {\n \"char\": \"Ø\",\n desc: \"LATIN CAPITAL LETTER O WITH STROKE\"\n }, {\n \"char\": \"Ù\",\n desc: \"LATIN CAPITAL LETTER U WITH GRAVE\"\n }, {\n \"char\": \"Ú\",\n desc: \"LATIN CAPITAL LETTER U WITH ACUTE\"\n }, {\n \"char\": \"Û\",\n desc: \"LATIN CAPITAL LETTER U WITH CIRCUMFLEX\"\n }, {\n \"char\": \"Ü\",\n desc: \"LATIN CAPITAL LETTER U WITH DIAERESIS\"\n }, {\n \"char\": \"Ý\",\n desc: \"LATIN CAPITAL LETTER Y WITH ACUTE\"\n }, {\n \"char\": \"Þ\",\n desc: \"LATIN CAPITAL LETTER THORN\"\n }, {\n \"char\": \"ß\",\n desc: \"LATIN SMALL LETTER SHARP S\"\n }, {\n \"char\": \"à\",\n desc: \"LATIN SMALL LETTER A WITH GRAVE\"\n }, {\n \"char\": \"á\",\n desc: \"LATIN SMALL LETTER A WITH ACUTE \"\n }, {\n \"char\": \"â\",\n desc: \"LATIN SMALL LETTER A WITH CIRCUMFLEX\"\n }, {\n \"char\": \"ã\",\n desc: \"LATIN SMALL LETTER A WITH TILDE\"\n }, {\n \"char\": \"ä\",\n desc: \"LATIN SMALL LETTER A WITH DIAERESIS\"\n }, {\n \"char\": \"å\",\n desc: \"LATIN SMALL LETTER A WITH RING ABOVE\"\n }, {\n \"char\": \"æ\",\n desc: \"LATIN SMALL LETTER AE\"\n }, {\n \"char\": \"ç\",\n desc: \"LATIN SMALL LETTER C WITH CEDILLA\"\n }, {\n \"char\": \"è\",\n desc: \"LATIN SMALL LETTER E WITH GRAVE\"\n }, {\n \"char\": \"é\",\n desc: \"LATIN SMALL LETTER E WITH ACUTE\"\n }, {\n \"char\": \"ê\",\n desc: \"LATIN SMALL LETTER E WITH CIRCUMFLEX\"\n }, {\n \"char\": \"ë\",\n desc: \"LATIN SMALL LETTER E WITH DIAERESIS\"\n }, {\n \"char\": \"ì\",\n desc: \"LATIN SMALL LETTER I WITH GRAVE\"\n }, {\n \"char\": \"í\",\n desc: \"LATIN SMALL LETTER I WITH ACUTE\"\n }, {\n \"char\": \"î\",\n desc: \"LATIN SMALL LETTER I WITH CIRCUMFLEX\"\n }, {\n \"char\": \"ï\",\n desc: \"LATIN SMALL LETTER I WITH DIAERESIS\"\n }, {\n \"char\": \"ð\",\n desc: \"LATIN SMALL LETTER ETH\"\n }, {\n \"char\": \"ñ\",\n desc: \"LATIN SMALL LETTER N WITH TILDE\"\n }, {\n \"char\": \"ò\",\n desc: \"LATIN SMALL LETTER O WITH GRAVE\"\n }, {\n \"char\": \"ó\",\n desc: \"LATIN SMALL LETTER O WITH ACUTE\"\n }, {\n \"char\": \"ô\",\n desc: \"LATIN SMALL LETTER O WITH CIRCUMFLEX\"\n }, {\n \"char\": \"õ\",\n desc: \"LATIN SMALL LETTER O WITH TILDE\"\n }, {\n \"char\": \"ö\",\n desc: \"LATIN SMALL LETTER O WITH DIAERESIS\"\n }, {\n \"char\": \"÷\",\n desc: \"DIVISION SIGN\"\n }, {\n \"char\": \"ø\",\n desc: \"LATIN SMALL LETTER O WITH STROKE\"\n }, {\n \"char\": \"ù\",\n desc: \"LATIN SMALL LETTER U WITH GRAVE\"\n }, {\n \"char\": \"ú\",\n desc: \"LATIN SMALL LETTER U WITH ACUTE\"\n }, {\n \"char\": \"û\",\n desc: \"LATIN SMALL LETTER U WITH CIRCUMFLEX\"\n }, {\n \"char\": \"ü\",\n desc: \"LATIN SMALL LETTER U WITH DIAERESIS\"\n }, {\n \"char\": \"ý\",\n desc: \"LATIN SMALL LETTER Y WITH ACUTE\"\n }, {\n \"char\": \"þ\",\n desc: \"LATIN SMALL LETTER THORN\"\n }, {\n \"char\": \"ÿ\",\n desc: \"LATIN SMALL LETTER Y WITH DIAERESIS\"\n }]\n }, {\n title: \"Greek\",\n \"char\": \"Α\",\n list: [{\n \"char\": \"Α\",\n desc: \"GREEK CAPITAL LETTER ALPHA\"\n }, {\n \"char\": \"Β\",\n desc: \"GREEK CAPITAL LETTER BETA\"\n }, {\n \"char\": \"Γ\",\n desc: \"GREEK CAPITAL LETTER GAMMA\"\n }, {\n \"char\": \"Δ\",\n desc: \"GREEK CAPITAL LETTER DELTA\"\n }, {\n \"char\": \"Ε\",\n desc: \"GREEK CAPITAL LETTER EPSILON\"\n }, {\n \"char\": \"Ζ\",\n desc: \"GREEK CAPITAL LETTER ZETA\"\n }, {\n \"char\": \"Η\",\n desc: \"GREEK CAPITAL LETTER ETA\"\n }, {\n \"char\": \"Θ\",\n desc: \"GREEK CAPITAL LETTER THETA\"\n }, {\n \"char\": \"Ι\",\n desc: \"GREEK CAPITAL LETTER IOTA\"\n }, {\n \"char\": \"Κ\",\n desc: \"GREEK CAPITAL LETTER KAPPA\"\n }, {\n \"char\": \"Λ\",\n desc: \"GREEK CAPITAL LETTER LAMBDA\"\n }, {\n \"char\": \"Μ\",\n desc: \"GREEK CAPITAL LETTER MU\"\n }, {\n \"char\": \"Ν\",\n desc: \"GREEK CAPITAL LETTER NU\"\n }, {\n \"char\": \"Ξ\",\n desc: \"GREEK CAPITAL LETTER XI\"\n }, {\n \"char\": \"Ο\",\n desc: \"GREEK CAPITAL LETTER OMICRON\"\n }, {\n \"char\": \"Π\",\n desc: \"GREEK CAPITAL LETTER PI\"\n }, {\n \"char\": \"Ρ\",\n desc: \"GREEK CAPITAL LETTER RHO\"\n }, {\n \"char\": \"Σ\",\n desc: \"GREEK CAPITAL LETTER SIGMA\"\n }, {\n \"char\": \"Τ\",\n desc: \"GREEK CAPITAL LETTER TAU\"\n }, {\n \"char\": \"Υ\",\n desc: \"GREEK CAPITAL LETTER UPSILON\"\n }, {\n \"char\": \"Φ\",\n desc: \"GREEK CAPITAL LETTER PHI\"\n }, {\n \"char\": \"Χ\",\n desc: \"GREEK CAPITAL LETTER CHI\"\n }, {\n \"char\": \"Ψ\",\n desc: \"GREEK CAPITAL LETTER PSI\"\n }, {\n \"char\": \"Ω\",\n desc: \"GREEK CAPITAL LETTER OMEGA\"\n }, {\n \"char\": \"α\",\n desc: \"GREEK SMALL LETTER ALPHA\"\n }, {\n \"char\": \"β\",\n desc: \"GREEK SMALL LETTER BETA\"\n }, {\n \"char\": \"γ\",\n desc: \"GREEK SMALL LETTER GAMMA\"\n }, {\n \"char\": \"δ\",\n desc: \"GREEK SMALL LETTER DELTA\"\n }, {\n \"char\": \"ε\",\n desc: \"GREEK SMALL LETTER EPSILON\"\n }, {\n \"char\": \"ζ\",\n desc: \"GREEK SMALL LETTER ZETA\"\n }, {\n \"char\": \"η\",\n desc: \"GREEK SMALL LETTER ETA\"\n }, {\n \"char\": \"θ\",\n desc: \"GREEK SMALL LETTER THETA\"\n }, {\n \"char\": \"ι\",\n desc: \"GREEK SMALL LETTER IOTA\"\n }, {\n \"char\": \"κ\",\n desc: \"GREEK SMALL LETTER KAPPA\"\n }, {\n \"char\": \"λ\",\n desc: \"GREEK SMALL LETTER LAMBDA\"\n }, {\n \"char\": \"μ\",\n desc: \"GREEK SMALL LETTER MU\"\n }, {\n \"char\": \"ν\",\n desc: \"GREEK SMALL LETTER NU\"\n }, {\n \"char\": \"ξ\",\n desc: \"GREEK SMALL LETTER XI\"\n }, {\n \"char\": \"ο\",\n desc: \"GREEK SMALL LETTER OMICRON\"\n }, {\n \"char\": \"π\",\n desc: \"GREEK SMALL LETTER PI\"\n }, {\n \"char\": \"ρ\",\n desc: \"GREEK SMALL LETTER RHO\"\n }, {\n \"char\": \"ς\",\n desc: \"GREEK SMALL LETTER FINAL SIGMA\"\n }, {\n \"char\": \"σ\",\n desc: \"GREEK SMALL LETTER SIGMA\"\n }, {\n \"char\": \"τ\",\n desc: \"GREEK SMALL LETTER TAU\"\n }, {\n \"char\": \"υ\",\n desc: \"GREEK SMALL LETTER UPSILON\"\n }, {\n \"char\": \"φ\",\n desc: \"GREEK SMALL LETTER PHI\"\n }, {\n \"char\": \"χ\",\n desc: \"GREEK SMALL LETTER CHI\"\n }, {\n \"char\": \"ψ\",\n desc: \"GREEK SMALL LETTER PSI\"\n }, {\n \"char\": \"ω\",\n desc: \"GREEK SMALL LETTER OMEGA\"\n }, {\n \"char\": \"ϑ\",\n desc: \"GREEK THETA SYMBOL\"\n }, {\n \"char\": \"ϒ\",\n desc: \"GREEK UPSILON WITH HOOK SYMBOL\"\n }, {\n \"char\": \"ϕ\",\n desc: \"GREEK PHI SYMBOL\"\n }, {\n \"char\": \"ϖ\",\n desc: \"GREEK PI SYMBOL\"\n }, {\n \"char\": \"Ϝ\",\n desc: \"GREEK LETTER DIGAMMA\"\n }, {\n \"char\": \"ϝ\",\n desc: \"GREEK SMALL LETTER DIGAMMA\"\n }, {\n \"char\": \"ϰ\",\n desc: \"GREEK KAPPA SYMBOL\"\n }, {\n \"char\": \"ϱ\",\n desc: \"GREEK RHO SYMBOL\"\n }, {\n \"char\": \"ϵ\",\n desc: \"GREEK LUNATE EPSILON SYMBOL\"\n }, {\n \"char\": \"϶\",\n desc: \"GREEK REVERSED LUNATE EPSILON SYMBOL\"\n }]\n }, {\n title: \"Cyrillic\",\n \"char\": \"Ѐ\",\n list: [{\n \"char\": \"Ѐ\",\n desc: \"CYRILLIC CAPITAL LETTER IE WITH GRAVE\"\n }, {\n \"char\": \"Ё\",\n desc: \"CYRILLIC CAPITAL LETTER IO\"\n }, {\n \"char\": \"Ђ\",\n desc: \"CYRILLIC CAPITAL LETTER DJE\"\n }, {\n \"char\": \"Ѓ\",\n desc: \"CYRILLIC CAPITAL LETTER GJE\"\n }, {\n \"char\": \"Є\",\n desc: \"CYRILLIC CAPITAL LETTER UKRAINIAN IE\"\n }, {\n \"char\": \"Ѕ\",\n desc: \"CYRILLIC CAPITAL LETTER DZE\"\n }, {\n \"char\": \"І\",\n desc: \"CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I\"\n }, {\n \"char\": \"Ї\",\n desc: \"CYRILLIC CAPITAL LETTER YI\"\n }, {\n \"char\": \"Ј\",\n desc: \"CYRILLIC CAPITAL LETTER JE\"\n }, {\n \"char\": \"Љ\",\n desc: \"CYRILLIC CAPITAL LETTER LJE\"\n }, {\n \"char\": \"Њ\",\n desc: \"CYRILLIC CAPITAL LETTER NJE\"\n }, {\n \"char\": \"Ћ\",\n desc: \"CYRILLIC CAPITAL LETTER TSHE\"\n }, {\n \"char\": \"Ќ\",\n desc: \"CYRILLIC CAPITAL LETTER KJE\"\n }, {\n \"char\": \"Ѝ\",\n desc: \"CYRILLIC CAPITAL LETTER I WITH GRAVE\"\n }, {\n \"char\": \"Ў\",\n desc: \"CYRILLIC CAPITAL LETTER SHORT U\"\n }, {\n \"char\": \"Џ\",\n desc: \"CYRILLIC CAPITAL LETTER DZHE\"\n }, {\n \"char\": \"А\",\n desc: \"CYRILLIC CAPITAL LETTER A\"\n }, {\n \"char\": \"Б\",\n desc: \"CYRILLIC CAPITAL LETTER BE\"\n }, {\n \"char\": \"В\",\n desc: \"CYRILLIC CAPITAL LETTER VE\"\n }, {\n \"char\": \"Г\",\n desc: \"CYRILLIC CAPITAL LETTER GHE\"\n }, {\n \"char\": \"Д\",\n desc: \"CYRILLIC CAPITAL LETTER DE\"\n }, {\n \"char\": \"Е\",\n desc: \"CYRILLIC CAPITAL LETTER IE\"\n }, {\n \"char\": \"Ж\",\n desc: \"CYRILLIC CAPITAL LETTER ZHE\"\n }, {\n \"char\": \"З\",\n desc: \"CYRILLIC CAPITAL LETTER ZE\"\n }, {\n \"char\": \"И\",\n desc: \"CYRILLIC CAPITAL LETTER I\"\n }, {\n \"char\": \"Й\",\n desc: \"CYRILLIC CAPITAL LETTER SHORT I\"\n }, {\n \"char\": \"К\",\n desc: \"CYRILLIC CAPITAL LETTER KA\"\n }, {\n \"char\": \"Л\",\n desc: \"CYRILLIC CAPITAL LETTER EL\"\n }, {\n \"char\": \"М\",\n desc: \"CYRILLIC CAPITAL LETTER EM\"\n }, {\n \"char\": \"Н\",\n desc: \"CYRILLIC CAPITAL LETTER EN\"\n }, {\n \"char\": \"О\",\n desc: \"CYRILLIC CAPITAL LETTER O\"\n }, {\n \"char\": \"П\",\n desc: \"CYRILLIC CAPITAL LETTER PE\"\n }, {\n \"char\": \"Р\",\n desc: \"CYRILLIC CAPITAL LETTER ER\"\n }, {\n \"char\": \"С\",\n desc: \"CYRILLIC CAPITAL LETTER ES\"\n }, {\n \"char\": \"Т\",\n desc: \"CYRILLIC CAPITAL LETTER TE\"\n }, {\n \"char\": \"У\",\n desc: \"CYRILLIC CAPITAL LETTER U\"\n }, {\n \"char\": \"Ф\",\n desc: \"CYRILLIC CAPITAL LETTER EF\"\n }, {\n \"char\": \"Х\",\n desc: \"CYRILLIC CAPITAL LETTER HA\"\n }, {\n \"char\": \"Ц\",\n desc: \"CYRILLIC CAPITAL LETTER TSE\"\n }, {\n \"char\": \"Ч\",\n desc: \"CYRILLIC CAPITAL LETTER CHE\"\n }, {\n \"char\": \"Ш\",\n desc: \"CYRILLIC CAPITAL LETTER SHA\"\n }, {\n \"char\": \"Щ\",\n desc: \"CYRILLIC CAPITAL LETTER SHCHA\"\n }, {\n \"char\": \"Ъ\",\n desc: \"CYRILLIC CAPITAL LETTER HARD SIGN\"\n }, {\n \"char\": \"Ы\",\n desc: \"CYRILLIC CAPITAL LETTER YERU\"\n }, {\n \"char\": \"Ь\",\n desc: \"CYRILLIC CAPITAL LETTER SOFT SIGN\"\n }, {\n \"char\": \"Э\",\n desc: \"CYRILLIC CAPITAL LETTER E\"\n }, {\n \"char\": \"Ю\",\n desc: \"CYRILLIC CAPITAL LETTER YU\"\n }, {\n \"char\": \"Я\",\n desc: \"CYRILLIC CAPITAL LETTER YA\"\n }, {\n \"char\": \"а\",\n desc: \"CYRILLIC SMALL LETTER A\"\n }, {\n \"char\": \"б\",\n desc: \"CYRILLIC SMALL LETTER BE\"\n }, {\n \"char\": \"в\",\n desc: \"CYRILLIC SMALL LETTER VE\"\n }, {\n \"char\": \"г\",\n desc: \"CYRILLIC SMALL LETTER GHE\"\n }, {\n \"char\": \"д\",\n desc: \"CYRILLIC SMALL LETTER DE\"\n }, {\n \"char\": \"е\",\n desc: \"CYRILLIC SMALL LETTER IE\"\n }, {\n \"char\": \"ж\",\n desc: \"CYRILLIC SMALL LETTER ZHE\"\n }, {\n \"char\": \"з\",\n desc: \"CYRILLIC SMALL LETTER ZE\"\n }, {\n \"char\": \"и\",\n desc: \"CYRILLIC SMALL LETTER I\"\n }, {\n \"char\": \"й\",\n desc: \"CYRILLIC SMALL LETTER SHORT I\"\n }, {\n \"char\": \"к\",\n desc: \"CYRILLIC SMALL LETTER KA\"\n }, {\n \"char\": \"л\",\n desc: \"CYRILLIC SMALL LETTER EL\"\n }, {\n \"char\": \"м\",\n desc: \"CYRILLIC SMALL LETTER EM\"\n }, {\n \"char\": \"н\",\n desc: \"CYRILLIC SMALL LETTER EN\"\n }, {\n \"char\": \"о\",\n desc: \"CYRILLIC SMALL LETTER O\"\n }, {\n \"char\": \"п\",\n desc: \"CYRILLIC SMALL LETTER PE\"\n }, {\n \"char\": \"р\",\n desc: \"CYRILLIC SMALL LETTER ER\"\n }, {\n \"char\": \"с\",\n desc: \"CYRILLIC SMALL LETTER ES\"\n }, {\n \"char\": \"т\",\n desc: \"CYRILLIC SMALL LETTER TE\"\n }, {\n \"char\": \"у\",\n desc: \"CYRILLIC SMALL LETTER U\"\n }, {\n \"char\": \"ф\",\n desc: \"CYRILLIC SMALL LETTER EF\"\n }, {\n \"char\": \"х\",\n desc: \"CYRILLIC SMALL LETTER HA\"\n }, {\n \"char\": \"ц\",\n desc: \"CYRILLIC SMALL LETTER TSE\"\n }, {\n \"char\": \"ч\",\n desc: \"CYRILLIC SMALL LETTER CHE\"\n }, {\n \"char\": \"ш\",\n desc: \"CYRILLIC SMALL LETTER SHA\"\n }, {\n \"char\": \"щ\",\n desc: \"CYRILLIC SMALL LETTER SHCHA\"\n }, {\n \"char\": \"ъ\",\n desc: \"CYRILLIC SMALL LETTER HARD SIGN\"\n }, {\n \"char\": \"ы\",\n desc: \"CYRILLIC SMALL LETTER YERU\"\n }, {\n \"char\": \"ь\",\n desc: \"CYRILLIC SMALL LETTER SOFT SIGN\"\n }, {\n \"char\": \"э\",\n desc: \"CYRILLIC SMALL LETTER E\"\n }, {\n \"char\": \"ю\",\n desc: \"CYRILLIC SMALL LETTER YU\"\n }, {\n \"char\": \"я\",\n desc: \"CYRILLIC SMALL LETTER YA\"\n }, {\n \"char\": \"ѐ\",\n desc: \"CYRILLIC SMALL LETTER IE WITH GRAVE\"\n }, {\n \"char\": \"ё\",\n desc: \"CYRILLIC SMALL LETTER IO\"\n }, {\n \"char\": \"ђ\",\n desc: \"CYRILLIC SMALL LETTER DJE\"\n }, {\n \"char\": \"ѓ\",\n desc: \"CYRILLIC SMALL LETTER GJE\"\n }, {\n \"char\": \"є\",\n desc: \"CYRILLIC SMALL LETTER UKRAINIAN IE\"\n }, {\n \"char\": \"ѕ\",\n desc: \"CYRILLIC SMALL LETTER DZE\"\n }, {\n \"char\": \"і\",\n desc: \"CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I\"\n }, {\n \"char\": \"ї\",\n desc: \"CYRILLIC SMALL LETTER YI\"\n }, {\n \"char\": \"ј\",\n desc: \"CYRILLIC SMALL LETTER JE\"\n }, {\n \"char\": \"љ\",\n desc: \"CYRILLIC SMALL LETTER LJE\"\n }, {\n \"char\": \"њ\",\n desc: \"CYRILLIC SMALL LETTER NJE\"\n }, {\n \"char\": \"ћ\",\n desc: \"CYRILLIC SMALL LETTER TSHE\"\n }, {\n \"char\": \"ќ\",\n desc: \"CYRILLIC SMALL LETTER KJE\"\n }, {\n \"char\": \"ѝ\",\n desc: \"CYRILLIC SMALL LETTER I WITH GRAVE\"\n }, {\n \"char\": \"ў\",\n desc: \"CYRILLIC SMALL LETTER SHORT U\"\n }, {\n \"char\": \"џ\",\n desc: \"CYRILLIC SMALL LETTER DZHE\"\n }]\n }, {\n title: \"Punctuation\",\n \"char\": \"–\",\n list: [{\n \"char\": \"–\",\n desc: \"EN DASH\"\n }, {\n \"char\": \"—\",\n desc: \"EM DASH\"\n }, {\n \"char\": \"‘\",\n desc: \"LEFT SINGLE QUOTATION MARK\"\n }, {\n \"char\": \"’\",\n desc: \"RIGHT SINGLE QUOTATION MARK\"\n }, {\n \"char\": \"‚\",\n desc: \"SINGLE LOW-9 QUOTATION MARK\"\n }, {\n \"char\": \"“\",\n desc: \"LEFT DOUBLE QUOTATION MARK\"\n }, {\n \"char\": \"”\",\n desc: \"RIGHT DOUBLE QUOTATION MARK\"\n }, {\n \"char\": \"„\",\n desc: \"DOUBLE LOW-9 QUOTATION MARK\"\n }, {\n \"char\": \"†\",\n desc: \"DAGGER\"\n }, {\n \"char\": \"‡\",\n desc: \"DOUBLE DAGGER\"\n }, {\n \"char\": \"•\",\n desc: \"BULLET\"\n }, {\n \"char\": \"…\",\n desc: \"HORIZONTAL ELLIPSIS\"\n }, {\n \"char\": \"‰\",\n desc: \"PER MILLE SIGN\"\n }, {\n \"char\": \"′\",\n desc: \"PRIME\"\n }, {\n \"char\": \"″\",\n desc: \"DOUBLE PRIME\"\n }, {\n \"char\": \"‹\",\n desc: \"SINGLE LEFT-POINTING ANGLE QUOTATION MARK\"\n }, {\n \"char\": \"›\",\n desc: \"SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\"\n }, {\n \"char\": \"‾\",\n desc: \"OVERLINE\"\n }, {\n \"char\": \"⁄\",\n desc: \"FRACTION SLASH\"\n }]\n }, {\n title: \"Currency\",\n \"char\": \"₠\",\n list: [{\n \"char\": \"₠\",\n desc: \"EURO-CURRENCY SIGN\"\n }, {\n \"char\": \"₡\",\n desc: \"COLON SIGN\"\n }, {\n \"char\": \"₢\",\n desc: \"CRUZEIRO SIGN\"\n }, {\n \"char\": \"₣\",\n desc: \"FRENCH FRANC SIGN\"\n }, {\n \"char\": \"₤\",\n desc: \"LIRA SIGN\"\n }, {\n \"char\": \"₥\",\n desc: \"MILL SIGN\"\n }, {\n \"char\": \"₦\",\n desc: \"NAIRA SIGN\"\n }, {\n \"char\": \"₧\",\n desc: \"PESETA SIGN\"\n }, {\n \"char\": \"₨\",\n desc: \"RUPEE SIGN\"\n }, {\n \"char\": \"₩\",\n desc: \"WON SIGN\"\n }, {\n \"char\": \"₪\",\n desc: \"NEW SHEQEL SIGN\"\n }, {\n \"char\": \"₫\",\n desc: \"DONG SIGN\"\n }, {\n \"char\": \"€\",\n desc: \"EURO SIGN\"\n }, {\n \"char\": \"₭\",\n desc: \"KIP SIGN\"\n }, {\n \"char\": \"₮\",\n desc: \"TUGRIK SIGN\"\n }, {\n \"char\": \"₯\",\n desc: \"DRACHMA SIGN\"\n }, {\n \"char\": \"₰\",\n desc: \"GERMAN PENNY SYMBOL\"\n }, {\n \"char\": \"₱\",\n desc: \"PESO SIGN\"\n }, {\n \"char\": \"₲\",\n desc: \"GUARANI SIGN\"\n }, {\n \"char\": \"₳\",\n desc: \"AUSTRAL SIGN\"\n }, {\n \"char\": \"₴\",\n desc: \"HRYVNIA SIGN\"\n }, {\n \"char\": \"₵\",\n desc: \"CEDI SIGN\"\n }, {\n \"char\": \"₶\",\n desc: \"LIVRE TOURNOIS SIGN\"\n }, {\n \"char\": \"₷\",\n desc: \"SPESMILO SIGN\"\n }, {\n \"char\": \"₸\",\n desc: \"TENGE SIGN\"\n }, {\n \"char\": \"₹\",\n desc: \"INDIAN RUPEE SIGN\"\n }]\n }, {\n title: \"Arrows\",\n \"char\": \"←\",\n list: [{\n \"char\": \"←\",\n desc: \"LEFTWARDS ARROW\"\n }, {\n \"char\": \"↑\",\n desc: \"UPWARDS ARROW\"\n }, {\n \"char\": \"→\",\n desc: \"RIGHTWARDS ARROW\"\n }, {\n \"char\": \"↓\",\n desc: \"DOWNWARDS ARROW\"\n }, {\n \"char\": \"↔\",\n desc: \"LEFT RIGHT ARROW\"\n }, {\n \"char\": \"↕\",\n desc: \"UP DOWN ARROW\"\n }, {\n \"char\": \"↖\",\n desc: \"NORTH WEST ARROW\"\n }, {\n \"char\": \"↗\",\n desc: \"NORTH EAST ARROW\"\n }, {\n \"char\": \"↘\",\n desc: \"SOUTH EAST ARROW\"\n }, {\n \"char\": \"↙\",\n desc: \"SOUTH WEST ARROW\"\n }, {\n \"char\": \"↚\",\n desc: \"LEFTWARDS ARROW WITH STROKE\"\n }, {\n \"char\": \"↛\",\n desc: \"RIGHTWARDS ARROW WITH STROKE\"\n }, {\n \"char\": \"↜\",\n desc: \"LEFTWARDS WAVE ARROW\"\n }, {\n \"char\": \"↝\",\n desc: \"RIGHTWARDS WAVE ARROW\"\n }, {\n \"char\": \"↞\",\n desc: \"LEFTWARDS TWO HEADED ARROW\"\n }, {\n \"char\": \"↟\",\n desc: \"UPWARDS TWO HEADED ARROW\"\n }, {\n \"char\": \"↠\",\n desc: \"RIGHTWARDS TWO HEADED ARROW\"\n }, {\n \"char\": \"↡\",\n desc: \"DOWNWARDS TWO HEADED ARROW\"\n }, {\n \"char\": \"↢\",\n desc: \"LEFTWARDS ARROW WITH TAIL\"\n }, {\n \"char\": \"↣\",\n desc: \"RIGHTWARDS ARROW WITH TAIL\"\n }, {\n \"char\": \"↤\",\n desc: \"LEFTWARDS ARROW FROM BAR\"\n }, {\n \"char\": \"↥\",\n desc: \"UPWARDS ARROW FROM BAR\"\n }, {\n \"char\": \"↦\",\n desc: \"RIGHTWARDS ARROW FROM BAR\"\n }, {\n \"char\": \"↧\",\n desc: \"DOWNWARDS ARROW FROM BAR\"\n }, {\n \"char\": \"↨\",\n desc: \"UP DOWN ARROW WITH BASE\"\n }, {\n \"char\": \"↩\",\n desc: \"LEFTWARDS ARROW WITH HOOK\"\n }, {\n \"char\": \"↪\",\n desc: \"RIGHTWARDS ARROW WITH HOOK\"\n }, {\n \"char\": \"↫\",\n desc: \"LEFTWARDS ARROW WITH LOOP\"\n }, {\n \"char\": \"↬\",\n desc: \"RIGHTWARDS ARROW WITH LOOP\"\n }, {\n \"char\": \"↭\",\n desc: \"LEFT RIGHT WAVE ARROW\"\n }, {\n \"char\": \"↮\",\n desc: \"LEFT RIGHT ARROW WITH STROKE\"\n }, {\n \"char\": \"↯\",\n desc: \"DOWNWARDS ZIGZAG ARROW\"\n }, {\n \"char\": \"↰\",\n desc: \"UPWARDS ARROW WITH TIP LEFTWARDS\"\n }, {\n \"char\": \"↱\",\n desc: \"UPWARDS ARROW WITH TIP RIGHTWARDS\"\n }, {\n \"char\": \"↲\",\n desc: \"DOWNWARDS ARROW WITH TIP LEFTWARDS\"\n }, {\n \"char\": \"↳\",\n desc: \"DOWNWARDS ARROW WITH TIP RIGHTWARDS\"\n }, {\n \"char\": \"↴\",\n desc: \"RIGHTWARDS ARROW WITH CORNER DOWNWARDS\"\n }, {\n \"char\": \"↵\",\n desc: \"DOWNWARDS ARROW WITH CORNER LEFTWARDS\"\n }, {\n \"char\": \"↶\",\n desc: \"ANTICLOCKWISE TOP SEMICIRCLE ARROW\"\n }, {\n \"char\": \"↷\",\n desc: \"CLOCKWISE TOP SEMICIRCLE ARROW\"\n }, {\n \"char\": \"↸\",\n desc: \"NORTH WEST ARROW TO LONG BAR\"\n }, {\n \"char\": \"↹\",\n desc: \"LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR\"\n }, {\n \"char\": \"↺\",\n desc: \"ANTICLOCKWISE OPEN CIRCLE ARROW\"\n }, {\n \"char\": \"↻\",\n desc: \"CLOCKWISE OPEN CIRCLE ARROW\"\n }, {\n \"char\": \"↼\",\n desc: \"LEFTWARDS HARPOON WITH BARB UPWARDS\"\n }, {\n \"char\": \"↽\",\n desc: \"LEFTWARDS HARPOON WITH BARB DOWNWARDS\"\n }, {\n \"char\": \"↾\",\n desc: \"UPWARDS HARPOON WITH BARB RIGHTWARDS\"\n }, {\n \"char\": \"↿\",\n desc: \"UPWARDS HARPOON WITH BARB LEFTWARDS\"\n }, {\n \"char\": \"⇀\",\n desc: \"RIGHTWARDS HARPOON WITH BARB UPWARDS\"\n }, {\n \"char\": \"⇁\",\n desc: \"RIGHTWARDS HARPOON WITH BARB DOWNWARDS\"\n }, {\n \"char\": \"⇂\",\n desc: \"DOWNWARDS HARPOON WITH BARB RIGHTWARDS\"\n }, {\n \"char\": \"⇃\",\n desc: \"DOWNWARDS HARPOON WITH BARB LEFTWARDS\"\n }, {\n \"char\": \"⇄\",\n desc: \"RIGHTWARDS ARROW OVER LEFTWARDS ARROW\"\n }, {\n \"char\": \"⇅\",\n desc: \"UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW\"\n }, {\n \"char\": \"⇆\",\n desc: \"LEFTWARDS ARROW OVER RIGHTWARDS ARROW\"\n }, {\n \"char\": \"⇇\",\n desc: \"LEFTWARDS PAIRED ARROWS\"\n }, {\n \"char\": \"⇈\",\n desc: \"UPWARDS PAIRED ARROWS\"\n }, {\n \"char\": \"⇉\",\n desc: \"RIGHTWARDS PAIRED ARROWS\"\n }, {\n \"char\": \"⇊\",\n desc: \"DOWNWARDS PAIRED ARROWS\"\n }, {\n \"char\": \"⇋\",\n desc: \"LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON\"\n }, {\n \"char\": \"⇌\",\n desc: \"RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON\"\n }, {\n \"char\": \"⇍\",\n desc: \"LEFTWARDS DOUBLE ARROW WITH STROKE\"\n }, {\n \"char\": \"⇎\",\n desc: \"LEFT RIGHT DOUBLE ARROW WITH STROKE\"\n }, {\n \"char\": \"⇏\",\n desc: \"RIGHTWARDS DOUBLE ARROW WITH STROKE\"\n }, {\n \"char\": \"⇐\",\n desc: \"LEFTWARDS DOUBLE ARROW\"\n }, {\n \"char\": \"⇑\",\n desc: \"UPWARDS DOUBLE ARROW\"\n }, {\n \"char\": \"⇒\",\n desc: \"RIGHTWARDS DOUBLE ARROW\"\n }, {\n \"char\": \"⇓\",\n desc: \"DOWNWARDS DOUBLE ARROW\"\n }, {\n \"char\": \"⇔\",\n desc: \"LEFT RIGHT DOUBLE ARROW\"\n }, {\n \"char\": \"⇕\",\n desc: \"UP DOWN DOUBLE ARROW\"\n }, {\n \"char\": \"⇖\",\n desc: \"NORTH WEST DOUBLE ARROW\"\n }, {\n \"char\": \"⇗\",\n desc: \"NORTH EAST DOUBLE ARROW\"\n }, {\n \"char\": \"⇘\",\n desc: \"SOUTH EAST DOUBLE ARROW\"\n }, {\n \"char\": \"⇙\",\n desc: \"SOUTH WEST DOUBLE ARROW\"\n }, {\n \"char\": \"⇚\",\n desc: \"LEFTWARDS TRIPLE ARROW\"\n }, {\n \"char\": \"⇛\",\n desc: \"RIGHTWARDS TRIPLE ARROW\"\n }, {\n \"char\": \"⇜\",\n desc: \"LEFTWARDS SQUIGGLE ARROW\"\n }, {\n \"char\": \"⇝\",\n desc: \"RIGHTWARDS SQUIGGLE ARROW\"\n }, {\n \"char\": \"⇞\",\n desc: \"UPWARDS ARROW WITH DOUBLE STROKE\"\n }, {\n \"char\": \"⇟\",\n desc: \"DOWNWARDS ARROW WITH DOUBLE STROKE\"\n }, {\n \"char\": \"⇠\",\n desc: \"LEFTWARDS DASHED ARROW\"\n }, {\n \"char\": \"⇡\",\n desc: \"UPWARDS DASHED ARROW\"\n }, {\n \"char\": \"⇢\",\n desc: \"RIGHTWARDS DASHED ARROW\"\n }, {\n \"char\": \"⇣\",\n desc: \"DOWNWARDS DASHED ARROW\"\n }, {\n \"char\": \"⇤\",\n desc: \"LEFTWARDS ARROW TO BAR\"\n }, {\n \"char\": \"⇥\",\n desc: \"RIGHTWARDS ARROW TO BAR\"\n }, {\n \"char\": \"⇦\",\n desc: \"LEFTWARDS WHITE ARROW\"\n }, {\n \"char\": \"⇧\",\n desc: \"UPWARDS WHITE ARROW\"\n }, {\n \"char\": \"⇨\",\n desc: \"RIGHTWARDS WHITE ARROW\"\n }, {\n \"char\": \"⇩\",\n desc: \"DOWNWARDS WHITE ARROW\"\n }, {\n \"char\": \"⇪\",\n desc: \"UPWARDS WHITE ARROW FROM BAR\"\n }, {\n \"char\": \"⇫\",\n desc: \"UPWARDS WHITE ARROW ON PEDESTAL\"\n }, {\n \"char\": \"⇬\",\n desc: \"UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR\"\n }, {\n \"char\": \"⇭\",\n desc: \"UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR\"\n }, {\n \"char\": \"⇮\",\n desc: \"UPWARDS WHITE DOUBLE ARROW\"\n }, {\n \"char\": \"⇯\",\n desc: \"UPWARDS WHITE DOUBLE ARROW ON PEDESTAL\"\n }, {\n \"char\": \"⇰\",\n desc: \"RIGHTWARDS WHITE ARROW FROM WALL\"\n }, {\n \"char\": \"⇱\",\n desc: \"NORTH WEST ARROW TO CORNER\"\n }, {\n \"char\": \"⇲\",\n desc: \"SOUTH EAST ARROW TO CORNER\"\n }, {\n \"char\": \"⇳\",\n desc: \"UP DOWN WHITE ARROW\"\n }, {\n \"char\": \"⇴\",\n desc: \"RIGHT ARROW WITH SMALL CIRCLE\"\n }, {\n \"char\": \"⇵\",\n desc: \"DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW\"\n }, {\n \"char\": \"⇶\",\n desc: \"THREE RIGHTWARDS ARROWS\"\n }, {\n \"char\": \"⇷\",\n desc: \"LEFTWARDS ARROW WITH VERTICAL STROKE\"\n }, {\n \"char\": \"⇸\",\n desc: \"RIGHTWARDS ARROW WITH VERTICAL STROKE\"\n }, {\n \"char\": \"⇹\",\n desc: \"LEFT RIGHT ARROW WITH VERTICAL STROKE\"\n }, {\n \"char\": \"⇺\",\n desc: \"LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE\"\n }, {\n \"char\": \"⇻\",\n desc: \"RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE\"\n }, {\n \"char\": \"⇼\",\n desc: \"LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE\"\n }, {\n \"char\": \"⇽\",\n desc: \"LEFTWARDS OPEN-HEADED ARROW\"\n }, {\n \"char\": \"⇾\",\n desc: \"RIGHTWARDS OPEN-HEADED ARROW\"\n }, {\n \"char\": \"⇿\",\n desc: \"LEFT RIGHT OPEN-HEADED ARROW\"\n }]\n }, {\n title: \"Math\",\n \"char\": \"∀\",\n list: [{\n \"char\": \"∀\",\n desc: \"FOR ALL\"\n }, {\n \"char\": \"∂\",\n desc: \"PARTIAL DIFFERENTIAL\"\n }, {\n \"char\": \"∃\",\n desc: \"THERE EXISTS\"\n }, {\n \"char\": \"∅\",\n desc: \"EMPTY SET\"\n }, {\n \"char\": \"∇\",\n desc: \"NABLA\"\n }, {\n \"char\": \"∈\",\n desc: \"ELEMENT OF\"\n }, {\n \"char\": \"∉\",\n desc: \"NOT AN ELEMENT OF\"\n }, {\n \"char\": \"∋\",\n desc: \"CONTAINS AS MEMBER\"\n }, {\n \"char\": \"∏\",\n desc: \"N-ARY PRODUCT\"\n }, {\n \"char\": \"∑\",\n desc: \"N-ARY SUMMATION\"\n }, {\n \"char\": \"−\",\n desc: \"MINUS SIGN\"\n }, {\n \"char\": \"∗\",\n desc: \"ASTERISK OPERATOR\"\n }, {\n \"char\": \"√\",\n desc: \"SQUARE ROOT\"\n }, {\n \"char\": \"∝\",\n desc: \"PROPORTIONAL TO\"\n }, {\n \"char\": \"∞\",\n desc: \"INFINITY\"\n }, {\n \"char\": \"∠\",\n desc: \"ANGLE\"\n }, {\n \"char\": \"∧\",\n desc: \"LOGICAL AND\"\n }, {\n \"char\": \"∨\",\n desc: \"LOGICAL OR\"\n }, {\n \"char\": \"∩\",\n desc: \"INTERSECTION\"\n }, {\n \"char\": \"∪\",\n desc: \"UNION\"\n }, {\n \"char\": \"∫\",\n desc: \"INTEGRAL\"\n }, {\n \"char\": \"∴\",\n desc: \"THEREFORE\"\n }, {\n \"char\": \"∼\",\n desc: \"TILDE OPERATOR\"\n }, {\n \"char\": \"≅\",\n desc: \"APPROXIMATELY EQUAL TO\"\n }, {\n \"char\": \"≈\",\n desc: \"ALMOST EQUAL TO\"\n }, {\n \"char\": \"≠\",\n desc: \"NOT EQUAL TO\"\n }, {\n \"char\": \"≡\",\n desc: \"IDENTICAL TO\"\n }, {\n \"char\": \"≤\",\n desc: \"LESS-THAN OR EQUAL TO\"\n }, {\n \"char\": \"≥\",\n desc: \"GREATER-THAN OR EQUAL TO\"\n }, {\n \"char\": \"⊂\",\n desc: \"SUBSET OF\"\n }, {\n \"char\": \"⊃\",\n desc: \"SUPERSET OF\"\n }, {\n \"char\": \"⊄\",\n desc: \"NOT A SUBSET OF\"\n }, {\n \"char\": \"⊆\",\n desc: \"SUBSET OF OR EQUAL TO\"\n }, {\n \"char\": \"⊇\",\n desc: \"SUPERSET OF OR EQUAL TO\"\n }, {\n \"char\": \"⊕\",\n desc: \"CIRCLED PLUS\"\n }, {\n \"char\": \"⊗\",\n desc: \"CIRCLED TIMES\"\n }, {\n \"char\": \"⊥\",\n desc: \"UP TACK\"\n }]\n }, {\n title: \"Misc\",\n \"char\": \"♠\",\n list: [{\n \"char\": \"♠\",\n desc: \"BLACK SPADE SUIT\"\n }, {\n \"char\": \"♣\",\n desc: \"BLACK CLUB SUIT\"\n }, {\n \"char\": \"♥\",\n desc: \"BLACK HEART SUIT\"\n }, {\n \"char\": \"♦\",\n desc: \"BLACK DIAMOND SUIT\"\n }, {\n \"char\": \"♩\",\n desc: \"QUARTER NOTE\"\n }, {\n \"char\": \"♪\",\n desc: \"EIGHTH NOTE\"\n }, {\n \"char\": \"♫\",\n desc: \"BEAMED EIGHTH NOTES\"\n }, {\n \"char\": \"♬\",\n desc: \"BEAMED SIXTEENTH NOTES\"\n }, {\n \"char\": \"♭\",\n desc: \"MUSIC FLAT SIGN\"\n }, {\n \"char\": \"♮\",\n desc: \"MUSIC NATURAL SIGN\"\n }, {\n \"char\": \"☀\",\n desc: \"BLACK SUN WITH RAYS\"\n }, {\n \"char\": \"☁\",\n desc: \"CLOUD\"\n }, {\n \"char\": \"☂\",\n desc: \"UMBRELLA\"\n }, {\n \"char\": \"☃\",\n desc: \"SNOWMAN\"\n }, {\n \"char\": \"☕\",\n desc: \"HOT BEVERAGE\"\n }, {\n \"char\": \"☘\",\n desc: \"SHAMROCK\"\n }, {\n \"char\": \"☯\",\n desc: \"YIN YANG\"\n }, {\n \"char\": \"✔\",\n desc: \"HEAVY CHECK MARK\"\n }, {\n \"char\": \"✖\",\n desc: \"HEAVY MULTIPLICATION X\"\n }, {\n \"char\": \"❄\",\n desc: \"SNOWFLAKE\"\n }, {\n \"char\": \"❛\",\n desc: \"HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT\"\n }, {\n \"char\": \"❜\",\n desc: \"HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT\"\n }, {\n \"char\": \"❝\",\n desc: \"HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT\"\n }, {\n \"char\": \"❞\",\n desc: \"HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT\"\n }, {\n \"char\": \"❤\",\n desc: \"HEAVY BLACK HEART\"\n }]\n }],\n specialCharButtons: [\"specialCharBack\", \"|\"]\n }), Object.assign(St.POPUP_TEMPLATES, {\n specialCharacters: \"[_BUTTONS_][_CUSTOM_LAYER_]\"\n }), St.PLUGINS.specialCharacters = function (E) {\n var _ = E.$,\n e = E.opts.specialCharactersSets,\n r = E.opts.specialCharactersSets[0],\n o = \"\";\n function s() {\n return '\\n <div class=\"fr-buttons fr-tabs fr-tabs-scroll\">\\n '.concat(function t(e, a) {\n var n = \"\";\n return e.forEach(function (e) {\n var t = {\n elementClass: e.title === a.title ? \"fr-active fr-active-tab\" : \"\",\n title: e.title,\n dataParam1: e.title,\n desc: e[\"char\"]\n };\n n += '<button class=\"fr-command fr-btn fr-special-character-category '.concat(t.elementClass, '\" title=\"').concat(t.title, '\" data-cmd=\"setSpecialCharacterCategory\" data-param1=\"').concat(t.dataParam1, '\"><span>').concat(t.desc, \"</span></button>\");\n }), n;\n }(e, r), '\\n </div>\\n <div class=\"fr-icon-container fr-sc-container\" style=\"outline: none;\">\\n ').concat(function n(e) {\n var a = \"\";\n return e.list.forEach(function (e) {\n var t = {\n dataParam1: e[\"char\"],\n title: e.desc,\n splCharValue: e[\"char\"]\n };\n a += '<span class=\"fr-command fr-special-character fr-icon\" role=\"button\" \\n data-cmd=\"insertSpecialCharacter\" data-param1=\"'.concat(t.dataParam1, '\" tabindex=\"0\"\\n title=\"').concat(t.title, '\">').concat(t.splCharValue, \"</span>\");\n }), a;\n }(r), \"\\n </div>\");\n }\n return {\n setSpecialCharacterCategory: function n(t) {\n r = e.filter(function (e) {\n return e.title === t;\n })[0], function a() {\n E.popups.get(\"specialCharacters\").html(o + s());\n var e = E.popups.get(\"specialCharacters\").children().not(\".fr-buttons\");\n E.accessibility.registerPopup(\"specialCharacters\"), E.accessibility.focusContent(e);\n }();\n },\n showSpecialCharsPopup: function l() {\n var e = E.popups.get(\"specialCharacters\");\n if (e || (e = function i() {\n E.opts.toolbarInline && 0 < E.opts.specialCharButtons.length && (o = '<div class=\"fr-buttons fr-tabs\">'.concat(E.button.buildList(E.opts.specialCharButtons), \"</div>\"));\n var e = {\n buttons: o,\n custom_layer: s()\n },\n t = E.popups.create(\"specialCharacters\", e);\n return function a(b) {\n E.events.on(\"popup.tab\", function (e) {\n var t = _(e.currentTarget);\n if (!E.popups.isVisible(\"specialCharacters\") || !t.is(\"span, a\")) return !0;\n var a,\n n,\n r,\n i = e.which,\n o = window.getComputedStyle(b.find(\".fr-icon-container\")[0]),\n s = o.getPropertyValue(\"grid-template-columns\").split(\" \").length;\n if (St.KEYCODE.TAB == i) {\n var l = b.find(\"span.fr-special-character\");\n if (t.is(l.first()) && e.shiftKey || t.is(l.last()) && !e.shiftKey) {\n var c = b.find(\".fr-buttons\");\n a = !E.accessibility.focusToolbar(c, !!e.shiftKey);\n }\n if (!1 !== a) {\n var d = b.find(\"span.fr-special-character\");\n d.add(b.find(\"button.fr-btn\")), n = d.index(t), n = e.shiftKey ? ((n - 1) % d.length + d.length) % d.length : (n + 1) % d.length, r = d.get(n), E.events.disableBlur(), r.focus(), a = !1;\n }\n } else if (St.KEYCODE.ARROW_UP == i || St.KEYCODE.ARROW_DOWN == i || St.KEYCODE.ARROW_LEFT == i || St.KEYCODE.ARROW_RIGHT == i) {\n if (t.is(\"span.fr-icon\")) {\n var f = t.parent().find(\"span.fr-icon\");\n n = f.index(t);\n var p = s,\n u = Math.ceil(f.length / p),\n g = n % p,\n h = Math.floor(n / p),\n m = h * p + g,\n v = u * p;\n St.KEYCODE.ARROW_UP == i ? m = ((m - p) % v + v) % v : St.KEYCODE.ARROW_DOWN == i ? m = (m + p) % v : St.KEYCODE.ARROW_LEFT == i ? m = ((m - 1) % v + v) % v : St.KEYCODE.ARROW_RIGHT == i && (m = (m + 1) % v), r = _(f.get(m)), E.events.disableBlur(), r.focus(), a = !1;\n }\n } else St.KEYCODE.ENTER == i && (t.is(\"a\") ? t[0].click() : E.button.exec(t), a = !1);\n return !1 === a && (e.preventDefault(), e.stopPropagation()), a;\n }, !0);\n }(t), t;\n }()), !e.hasClass(\"fr-active\")) {\n E.popups.refresh(\"specialCharacters\"), E.popups.setContainer(\"specialCharacters\", E.$tb);\n var t = E.$tb.find('.fr-command[data-cmd=\"specialCharacters\"]'),\n a = E.button.getPosition(t),\n n = a.left,\n r = a.top;\n E.popups.show(\"specialCharacters\", n, r, outerHeight);\n }\n },\n back: function t() {\n E.popups.hide(\"specialCharacters\"), E.toolbar.showInline();\n }\n };\n }, St.DefineIcon(\"specialCharacters\", {\n NAME: \"dollar-sign\",\n SVG_KEY: \"symbols\"\n }), St.RegisterCommand(\"specialCharacters\", {\n title: \"Special Characters\",\n icon: \"specialCharacters\",\n undo: !1,\n focus: !1,\n popup: !0,\n refreshAfterCallback: !1,\n plugin: \"specialCharacters\",\n showOnMobile: !0,\n callback: function () {\n this.popups.isVisible(\"specialCharacters\") ? (this.$el.find(\".fr-marker\") && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"specialCharacters\")) : this.specialCharacters.showSpecialCharsPopup();\n }\n }), St.RegisterCommand(\"insertSpecialCharacter\", {\n callback: function (e, t) {\n this.undo.saveStep(), this.html.insert(t), this.undo.saveStep(), this.popups.hide(\"specialCharacters\");\n }\n }), St.RegisterCommand(\"setSpecialCharacterCategory\", {\n undo: !1,\n focus: !1,\n callback: function (e, t) {\n this.specialCharacters.setSpecialCharacterCategory(t);\n }\n }), St.DefineIcon(\"specialCharBack\", {\n NAME: \"arrow-left\",\n SVG_KEY: \"back\"\n }), St.RegisterCommand(\"specialCharBack\", {\n title: \"Back\",\n undo: !1,\n focus: !1,\n back: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.specialCharacters.back();\n }\n }), Object.assign(St.POPUP_TEMPLATES, {\n \"table.insert\": \"[_BUTTONS_][_ROWS_COLUMNS_]\",\n \"table.edit\": \"[_BUTTONS_]\",\n \"table.colors\": \"[_BUTTONS_][_COLORS_][_CUSTOM_COLOR_]\"\n }), Object.assign(St.DEFAULTS, {\n tableInsertMaxSize: 10,\n tableEditButtons: [\"tableHeader\", \"tableFooter\", \"tableRemove\", \"tableRows\", \"tableColumns\", \"tableStyle\", \"-\", \"tableCells\", \"tableCellBackground\", \"tableCellVerticalAlign\", \"tableCellHorizontalAlign\", \"tableCellStyle\"],\n tableInsertButtons: [\"tableBack\", \"|\"],\n tableResizer: !0,\n tableDefaultWidth: \"100%\",\n tableResizerOffset: 5,\n tableResizingLimit: 30,\n tableColorsButtons: [\"tableBack\", \"|\"],\n tableColors: [\"#61BD6D\", \"#1ABC9C\", \"#54ACD2\", \"#2C82C9\", \"#9365B8\", \"#475577\", \"#CCCCCC\", \"#41A85F\", \"#00A885\", \"#3D8EB9\", \"#2969B0\", \"#553982\", \"#28324E\", \"#000000\", \"#F7DA64\", \"#FBA026\", \"#EB6B56\", \"#E25041\", \"#A38F84\", \"#EFEFEF\", \"#FFFFFF\", \"#FAC51C\", \"#F37934\", \"#D14841\", \"#B8312F\", \"#7C706B\", \"#D1D5D8\", \"REMOVE\"],\n tableColorsStep: 7,\n tableCellStyles: {\n \"fr-highlighted\": \"Highlighted\",\n \"fr-thick\": \"Thick\"\n },\n tableStyles: {\n \"fr-dashed-borders\": \"Dashed Borders\",\n \"fr-alternate-rows\": \"Alternate Rows\"\n },\n tableCellMultipleStyles: !0,\n tableMultipleStyles: !0,\n tableInsertHelper: !0,\n keepTextFormatOnTable: !1,\n tableInsertHelperOffset: 15\n }), St.PLUGINS.table = function (C) {\n var T,\n c,\n r,\n i,\n n,\n s,\n y,\n k = C.$,\n l = {};\n function h() {\n var e = R();\n if (e) {\n var t = C.popups.get(\"table.edit\");\n if (t || (t = u()), t) {\n C.popups.setContainer(\"table.edit\", C.$sc);\n var a = N(e),\n n = a.left + (a.right - a.left) / 2,\n r = a.bottom;\n C.popups.show(\"table.edit\", n, r, a.bottom - a.top, !0), C.edit.isDisabled() && (C.$el.removeClass(\"fr-no-selection\"), C.edit.on(), C.button.bulkRefresh(), C.selection.setAtEnd(C.$el.find(\".fr-selected-cell\").last().get(0)), C.selection.restore());\n }\n }\n }\n function d() {\n var e = R();\n if (e) {\n var t = C.popups.get(\"table.colors\");\n t || (t = function o() {\n var e = \"\";\n 0 < C.opts.tableColorsButtons.length && (e = '<div class=\"fr-buttons fr-tabs\">'.concat(C.button.buildList(C.opts.tableColorsButtons), \"</div>\"));\n var t = \"\";\n C.opts.colorsHEXInput && (t = '<div class=\"fr-color-hex-layer fr-table-colors-hex-layer fr-active fr-layer\" id=\"fr-table-colors-hex-layer-'.concat(C.id, '\"><div class=\"fr-input-line\"><input maxlength=\"7\" id=\"fr-table-colors-hex-layer-text-').concat(C.id, '\" type=\"text\" placeholder=\"').concat(C.language.translate(\"HEX Color\"), '\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"tableCellBackgroundCustomColor\" tabIndex=\"2\" role=\"button\">').concat(C.language.translate(\"OK\"), \"</button></div></div>\"));\n var a = {\n buttons: e,\n colors: function r() {\n for (var e = '<div class=\"fr-color-set fr-table-colors\">', t = 0; t < C.opts.tableColors.length; t++) 0 !== t && t % C.opts.tableColorsStep == 0 && (e += \"<br>\"), \"REMOVE\" != C.opts.tableColors[t] ? e += '<span class=\"fr-command\" style=\"background: '.concat(C.opts.tableColors[t], ';\" tabIndex=\"-1\" role=\"button\" data-cmd=\"tableCellBackgroundColor\" data-param1=\"').concat(C.opts.tableColors[t], '\"><span class=\"fr-sr-only\">').concat(C.language.translate(\"Color\"), \" \").concat(C.opts.tableColors[t], \" </span></span>\") : e += '<span class=\"fr-command\" data-cmd=\"tableCellBackgroundColor\" tabIndex=\"-1\" role=\"button\" data-param1=\"REMOVE\" title=\"'.concat(C.language.translate(\"Clear Formatting\"), '\">').concat(C.icon.create(\"tableColorRemove\"), '<span class=\"fr-sr-only\">').concat(C.language.translate(\"Clear Formatting\"), \"</span></span>\");\n return e += \"</div>\";\n }(),\n custom_color: t\n },\n n = C.popups.create(\"table.colors\", a);\n return C.events.$on(C.$wp, \"scroll.table-colors\", function () {\n C.popups.isVisible(\"table.colors\") && d();\n }), function i(g) {\n C.events.on(\"popup.tab\", function (e) {\n var t = k(e.currentTarget);\n if (!C.popups.isVisible(\"table.colors\") || !t.is(\"span\")) return !0;\n var a = e.which,\n n = !0;\n if (St.KEYCODE.TAB == a) {\n var r = g.find(\".fr-buttons\");\n n = !C.accessibility.focusToolbar(r, !!e.shiftKey);\n } else if (St.KEYCODE.ARROW_UP == a || St.KEYCODE.ARROW_DOWN == a || St.KEYCODE.ARROW_LEFT == a || St.KEYCODE.ARROW_RIGHT == a) {\n var i = t.parent().find(\"span.fr-command\"),\n o = i.index(t),\n s = C.opts.colorsStep,\n l = Math.floor(i.length / s),\n c = o % s,\n d = Math.floor(o / s),\n f = d * s + c,\n p = l * s;\n St.KEYCODE.ARROW_UP == a ? f = ((f - s) % p + p) % p : St.KEYCODE.ARROW_DOWN == a ? f = (f + s) % p : St.KEYCODE.ARROW_LEFT == a ? f = ((f - 1) % p + p) % p : St.KEYCODE.ARROW_RIGHT == a && (f = (f + 1) % p);\n var u = k(i.get(f));\n C.events.disableBlur(), u.focus(), n = !1;\n } else St.KEYCODE.ENTER == a && (C.button.exec(t), n = !1);\n return !1 === n && (e.preventDefault(), e.stopPropagation()), n;\n }, !0);\n }(n), n;\n }()), C.popups.setContainer(\"table.colors\", C.$sc);\n var a = N(e),\n n = (a.left + a.right) / 2,\n r = a.bottom;\n !function i() {\n var e = C.popups.get(\"table.colors\"),\n t = C.$el.find(\".fr-selected-cell\").first(),\n a = C.helpers.RGBToHex(t.css(\"background-color\")),\n n = e.find(\".fr-table-colors-hex-layer input\");\n e.find(\".fr-selected-color\").removeClass(\"fr-selected-color fr-active-item\"), e.find('span[data-param1=\"'.concat(a, '\"]')).addClass(\"fr-selected-color fr-active-item\"), n.val(a).trigger(\"change\");\n }(), C.popups.show(\"table.colors\", n, r, a.bottom - a.top, !0);\n }\n }\n function o() {\n 0 === oe().length && C.toolbar.enable();\n }\n function f(e) {\n if (e) return C.popups.onHide(\"table.insert\", function () {\n C.popups.get(\"table.insert\").find('.fr-table-size .fr-select-table-size > span[data-row=\"1\"][data-col=\"1\"]').trigger(\"mouseover\");\n }), !0;\n var t = \"\";\n 0 < C.opts.tableInsertButtons.length && (t = '<div class=\"fr-buttons fr-tabs\">'.concat(C.button.buildList(C.opts.tableInsertButtons), \"</div>\"));\n var a = {\n buttons: t,\n rows_columns: function i() {\n for (var e = '<div class=\"fr-table-size\"><div class=\"fr-table-size-info\">1 × 1</div><div class=\"fr-select-table-size\">', t = 1; t <= C.opts.tableInsertMaxSize; t++) {\n for (var a = 1; a <= C.opts.tableInsertMaxSize; a++) {\n var n = \"inline-block\";\n 2 < t && !C.helpers.isMobile() && (n = \"none\");\n var r = \"fr-table-cell \";\n 1 == t && 1 == a && (r += \" hover\"), e += '<span class=\"fr-command '.concat(r, '\" tabIndex=\"-1\" data-cmd=\"tableInsert\" data-row=\"').concat(t, '\" data-col=\"').concat(a, '\" data-param1=\"').concat(t, '\" data-param2=\"').concat(a, '\" style=\"display: ').concat(n, ';\" role=\"button\"><span></span><span class=\"fr-sr-only\">').concat(t, \" × \").concat(a, \" </span></span>\");\n }\n e += '<div class=\"new-line\"></div>';\n }\n return e += \"</div></div>\";\n }()\n },\n n = C.popups.create(\"table.insert\", a);\n return C.events.$on(n, \"mouseover\", \".fr-table-size .fr-select-table-size .fr-table-cell\", function (e) {\n p(k(e.currentTarget));\n }, !0), function r(e) {\n C.events.$on(e, \"focus\", \"[tabIndex]\", function (e) {\n var t = k(e.currentTarget);\n p(t);\n }), C.events.on(\"popup.tab\", function (e) {\n var t = k(e.currentTarget);\n if (!C.popups.isVisible(\"table.insert\") || !t.is(\"span, a\")) return !0;\n var a,\n n = e.which;\n if (St.KEYCODE.ARROW_UP == n || St.KEYCODE.ARROW_DOWN == n || St.KEYCODE.ARROW_LEFT == n || St.KEYCODE.ARROW_RIGHT == n) {\n if (t.is(\"span.fr-table-cell\")) {\n var r = t.parent().find(\"span.fr-table-cell\"),\n i = r.index(t),\n o = C.opts.tableInsertMaxSize,\n s = i % o,\n l = Math.floor(i / o);\n St.KEYCODE.ARROW_UP == n ? l = Math.max(0, l - 1) : St.KEYCODE.ARROW_DOWN == n ? l = Math.min(C.opts.tableInsertMaxSize - 1, l + 1) : St.KEYCODE.ARROW_LEFT == n ? s = Math.max(0, s - 1) : St.KEYCODE.ARROW_RIGHT == n && (s = Math.min(C.opts.tableInsertMaxSize - 1, s + 1));\n var c = l * o + s,\n d = k(r.get(c));\n p(d), C.events.disableBlur(), d.focus(), a = !1;\n }\n } else St.KEYCODE.ENTER == n && (C.button.exec(t), a = !1);\n return !1 === a && (e.preventDefault(), e.stopPropagation()), a;\n }, !0);\n }(n), n;\n }\n function p(e) {\n var t = e.data(\"row\");\n null !== t && (t = parseInt(t));\n var a = e.data(\"col\");\n null !== a && (a = parseInt(a));\n var n = e.parent();\n n.siblings(\".fr-table-size-info\").html(\"\".concat(t, \" × \").concat(a)), n.find(\"> span\").removeClass(\"hover fr-active-item\");\n for (var r = 1; r <= C.opts.tableInsertMaxSize; r++) for (var i = 0; i <= C.opts.tableInsertMaxSize; i++) {\n var o = n.find('> span[data-row=\"'.concat(r, '\"][data-col=\"').concat(i, '\"]'));\n r <= t && i <= a ? o.addClass(\"hover\") : r <= t + 1 || r <= 2 && !C.helpers.isMobile() ? o.css(\"display\", \"inline-block\") : 2 < r && !C.helpers.isMobile() && o.css(\"display\", \"none\");\n }\n e.addClass(\"fr-active-item\");\n }\n function u(e) {\n if (e) return C.popups.onHide(\"table.edit\", o), !0;\n if (0 < C.opts.tableEditButtons.length) {\n var t = {\n buttons: '<div class=\"fr-buttons\">'.concat(C.button.buildList(C.opts.tableEditButtons), \"</div>\")\n },\n a = C.popups.create(\"table.edit\", t);\n return C.events.$on(C.$wp, \"scroll.table-edit\", function () {\n C.popups.isVisible(\"table.edit\") && h();\n }), a;\n }\n return !1;\n }\n function e() {\n l[C.id] || (l[C.id] = k(document.createElement(\"div\")).attr(\"class\", \"fr-table-selector\").html('<a role=\"button\" tabIndex=\"-1\" title=\"'.concat(C.language.translate(\"Select Table\"), '\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"').concat(St.SVG.tableSelectorIcon, '\"/></svg></a>')));\n var i = C.language.translate(\"The content you are pasting does not contain a table.\\nPlease ensure the copied content is in table format.\");\n C.events.on(\"paste.before\", function (e, t) {\n if (C.$el.find(\"table.fr-table-selected\").length) {\n var a = t || e && e.clipboardData;\n if (a && a.items) {\n var n = (a || window.clipboardData).getData(\"text/html\") || \"\";\n if (!n || -1 === n.indexOf(\"<table\")) return alert(i), e.preventDefault(), e.stopPropagation(), !1;\n }\n }\n return !0;\n }), C.events.on(\"html.beforeInsert\", function (e) {\n var t = C.$el.find(\"table.fr-table-selected\");\n if (t.length) {\n var a = function r(e) {\n var t = C.doc.createElement(\"div\");\n t.innerHTML = e;\n for (var a = t.firstChild; a;) {\n var n = a.nextSibling;\n (a.nodeType === Node.TEXT_NODE && \"\" === a.textContent.replace(/\\u200b/g, \"\").trim() || a.nodeType === Node.COMMENT_NODE || \"SPAN\" === a.tagName && \"\" === a.textContent.replace(/\\u200b/g, \"\").trim()) && a.remove(), a = n;\n }\n return 1 === t.childNodes.length && \"TABLE\" === t.childNodes[0].tagName && t.childNodes[0];\n }(e);\n return a ? (function v(e, t) {\n for (var a = t.get(0), n = a.rows[0].cells[0], r = n && n.parentNode ? n.parentNode.rowIndex : 0, i = n ? n.cellIndex : 0, o = a.rows, s = e.rows, l = 0; l < e.rows.length; l++) {\n if (!o[r + l]) for (var c = o[o.length - 1].cells.length, d = a.insertRow(), f = 0; f < c; f++) d.insertCell();\n for (var p = o[r + l], u = 0; u < e.rows[l].cells.length; u++) {\n if (!p.cells[i + u]) for (var g = 0; g < o.length; g++) o[g].insertCell();\n var h = p.cells[i + u],\n m = s[l].cells[u];\n h.outerHTML = m.outerHTML;\n }\n }\n }(a, t), C.keys.positionCaret(), C.events.trigger(\"html.inserted\")) : alert(i), !1;\n }\n return !0;\n }), C.events.on(\"mousedown\", function () {\n X();\n }), C.events.$on(k(C.o_win), \"resize\", function () {\n var e = C.$el.find(\"table.fr-table-selected\");\n e.length ? Z(e) : X();\n }), C.events.on(\"commands.undo commands.redo commands.before\", function () {\n X();\n });\n var e = null,\n t = null;\n C.events.on(\"snapshot.before\", function () {\n t = C.$el.find(\"table.fr-table-selection-hover\"), e = C.$el.find(\"table.fr-table-selected\"), t.removeClass(\"fr-table-selection-hover\"), e.removeClass(\"fr-table-selected\");\n }), C.events.on(\"snapshot.after\", function () {\n e && e.addClass(\"fr-table-selected\"), t && t.addClass(\"fr-table-selection-hover\");\n }), C.events.$on(l[C.id], \"click\", function () {\n var e = C.$el.find(\"table.fr-table-selection-hover\");\n if (e.length) {\n C.$el.find(\"table.fr-table-selected\").removeClass(\"fr-table-selected\"), l[C.id].addClass(\"fr-table-selector-active-selected\"), e.addClass(\"fr-table-selected\"), e.removeClass(\"fr-table-selection-hover\");\n var t = C.doc.createRange();\n C.selection.get().removeAllRanges(), t.setStart(e.get(0), 0), t.setEnd(e.get(0), 0), C.selection.get().addRange(t), C.$el.focus();\n }\n }), C.events.on(\"destroy\", function () {\n X(), l[C.id] = null;\n });\n }\n function m(e) {\n var t = {\n startTag: \"\",\n closeTag: \"\"\n };\n return C.opts.keepTextFormatOnTable && (t = g(function s(e) {\n var t = new Set(),\n a = e.textContent,\n n = 0,\n r = [e.firstChild];\n for (; 0 < r.length;) {\n var i = r.pop();\n if (i && (t.has(i) || (0 === n && a !== i.textContent && (a = i.textContent, n++), t.add(i)), i.hasChildNodes())) for (var o = 0; o < i.childNodes.length;) {\n if (3 === i.childNodes[o].nodeType) return Se(t);\n if (i.childNodes[o].textContent) {\n if (0 === n && i.childNodes[o].textContent !== a) {\n a = i.childNodes[o].textContent, r.push(i.childNodes[o]), n++;\n break;\n }\n i.childNodes[o].textContent === a && r.push(i.childNodes[o]);\n }\n o++;\n }\n }\n return Se(t);\n }(e).reverse())), {\n startTag: t.startTag,\n closeTag: t.closeTag\n };\n }\n function g(e) {\n var t = \"\",\n a = \"\",\n n = [\"br\", \"#text\", \"#comment\", \"font\"];\n if (0 < e.length) for (var r = e.length - 1; 0 <= r; r--) {\n var i = e[r],\n o = C.node.isBlock(i),\n s = n.indexOf(i.nodeName.toLowerCase());\n if (!o && s < 0) {\n var l = i.style,\n c = \"\";\n if (l && l.length) {\n for (var d = 0; d < l.length; d++) c += l[d] + \": \" + l[l[d]].replace(/\"/gi, \"\") + \"; \";\n c = c.trim();\n }\n t += c ? \"<\" + i.nodeName.toLowerCase() + ' style=\"' + c + '\">' : \"<\" + i.nodeName.toLowerCase() + \">\", a = \"</\" + i.nodeName.toLowerCase() + \">\" + a;\n }\n }\n return {\n startTag: t,\n closeTag: a\n };\n }\n function v() {\n if (0 < oe().length) {\n var e = se();\n C.selection.setBefore(e.get(0)) || C.selection.setAfter(e.get(0)), C.selection.restore(), C.popups.hide(\"table.edit\"), C.opts.trackChangesEnabled ? (C.track_changes.removedTable(e), O()) : e.remove(), C.toolbar.enable();\n }\n }\n function b(e) {\n var t = se();\n if (0 < t.length) {\n if (0 < C.$el.find(\"thead .fr-selected-cell\").length && \"above\" == e || 0 < C.$el.find(\"tfoot td.fr-selected-cell\").length && \"below\" == e) return;\n var a,\n n,\n r,\n i = R(),\n o = M(i);\n if (null == o) return;\n n = \"above\" == e ? o.min_i : o.max_i;\n var s = \"<tr>\";\n for (a = 0; a < i[n].length; a++) if (\"below\" == e && n < i.length - 1 && i[n][a] == i[n + 1][a] || \"above\" == e && 0 < n && i[n][a] == i[n - 1][a]) {\n if (0 === a || 0 < a && i[n][a] != i[n][a - 1]) {\n var l = k(i[n][a]);\n l.attr(\"rowspan\", parseInt(l.attr(\"rowspan\"), 10) + 1);\n }\n } else {\n var c = k(i[n][a]);\n if (\"TH\" == c.attr(\"tagName\").toUpperCase()) s += '<th style=\"' + c.attr(\"style\") + '\" ><br></th>';else {\n var d = m(i[n][a]);\n s += '<td style=\"' + c.attr(\"style\") + '\" >' + d.startTag + \"<br>\" + d.closeTag + \"</td>\";\n }\n }\n s += \"</tr>\", r = 0 < C.$el.find(\"thead .fr-selected-cell\").length && \"below\" == e || 0 < C.$el.find(\"tfoot td.fr-selected-cell\").length && \"above\" == e ? k(t.find(\"tbody\").not(t.find(\"> table tbody\"))) : k(t.find(\"tr\").not(t.find(\"> table tr\")).get(n)), \"below\" == e ? \"TBODY\" == r.attr(\"tagName\") ? r.prepend(s) : r[0].parentNode && r[0].insertAdjacentHTML(\"afterend\", s) : \"above\" == e && (\"TBODY\" == r.attr(\"tagName\") ? r.append(s) : r.before(s), C.popups.isVisible(\"table.edit\") && h());\n }\n }\n function E(e, t, a) {\n var n,\n r,\n i,\n o,\n s,\n l = 0,\n c = R(a);\n if (e < (t = Math.min(t, c[0].length - 1))) for (r = e; r <= t; r++) if (!(e < r && c[0][r] == c[0][r - 1]) && 1 < (o = Math.min(parseInt(c[0][r].getAttribute(\"colspan\"), 10) || 1, t - e + 1)) && c[0][r] == c[0][r + 1]) for (l = o - 1, n = 1; n < c.length; n++) if (c[n][r] != c[n - 1][r]) {\n for (i = r; i < r + o; i++) if (c[n][i] !== undefined) if (1 < (s = parseInt(c[n][i].getAttribute(\"colspan\"), 10) || 1) && c[n][i] == c[n][i + 1]) i += l = Math.min(l, s - 1);else if (!(l = Math.max(0, l - 1))) break;\n if (!l) break;\n }\n l && w(c, l, \"colspan\", 0, c.length - 1, e, t);\n }\n function _(e, t, a) {\n var n,\n r,\n i,\n o,\n s,\n l = 0,\n c = R(a);\n if (e < (t = Math.min(t, c.length - 1))) for (n = e; n <= t; n++) if (!(e < n && c[n][0] == c[n - 1][0]) && c[n][0] !== undefined && 1 < (o = Math.min(parseInt(c[n][0].getAttribute(\"rowspan\"), 10) || 1, t - e + 1)) && c[n][0] == c[n + 1][0]) for (l = o - 1, r = 1; r < c[0].length; r++) if (c[n][r] != c[n][r - 1]) {\n for (i = n; i < n + o; i++) if (c[i][r] !== undefined) if (1 < (s = parseInt(c[i][r].getAttribute(\"rowspan\"), 10) || 1) && c[i][r] == c[i + 1][r]) i += l = Math.min(l, s - 1);else if (!(l = Math.max(0, l - 1))) break;\n if (!l) break;\n }\n l && w(c, l, \"rowspan\", e, t, 0, c[0].length - 1);\n }\n function w(e, t, a, n, r, i, o) {\n var s, l, c;\n for (s = n; s <= r; s++) for (l = i; l <= o; l++) n < s && e[s][l] == e[s - 1][l] || i < l && e[s][l] == e[s][l - 1] || e[s][l] !== undefined && 1 < (c = parseInt(e[s][l].getAttribute(a), 10) || 1) && (1 < c - t ? e[s][l].setAttribute(a, c - t) : e[s][l].removeAttribute(a));\n }\n function A(e, t, a, n, r) {\n _(e, t, r), E(a, n, r);\n }\n function t(e) {\n var t = C.$el.find(\".fr-selected-cell\");\n \"REMOVE\" != e ? t.css(\"background-color\", C.helpers.HEXtoRGB(e)) : t.css(\"background-color\", \"\"), h();\n }\n function S(e) {\n e.style.removeProperty(\"border\"), e.style.removeProperty(\"border-top\"), e.style.removeProperty(\"border-bottom\"), e.style.removeProperty(\"border-left\"), e.style.removeProperty(\"border-right\");\n }\n function R(e) {\n var c = [];\n if (null == (e = e || null) && 0 < oe().length && (e = se()), e) {\n if (!e.find(\"tr\").html().match(/xl[0-9]+/gi)) for (var t = e.find(\"tr:empty\"), a = t.length - 1; 0 <= a; a--) k(t[a]).remove();\n e.find(\"tr\").not(e.find(\"> table tr\")).each(function (s, e) {\n var t = k(e),\n l = 0;\n t.find(\"> th, > td\").each(function (e, t) {\n for (var a = k(t), n = parseInt(a.attr(\"colspan\"), 10) || 1, r = parseInt(a.attr(\"rowspan\"), 10) || 1, i = s; i < s + r; i++) for (var o = l; o < l + n; o++) c[i] || (c[i] = []), c[i][o] ? l++ : c[i][o] = t;\n l += n;\n });\n });\n }\n return c;\n }\n function L(e, t) {\n for (var a = 0; a < t.length; a++) for (var n = 0; n < t[a].length; n++) if (t[a][n] == e) return {\n row: a,\n col: n\n };\n }\n function x(e, t, a) {\n for (var n = e + 1, r = t + 1; n < a.length;) {\n if (a[n][t] != a[e][t]) {\n n--;\n break;\n }\n n++;\n }\n for (n == a.length && n--; r < a[e].length;) {\n if (a[e][r] != a[e][t]) {\n r--;\n break;\n }\n r++;\n }\n return r == a[e].length && r--, {\n row: n,\n col: r\n };\n }\n function I() {\n C.el.querySelector(\".fr-cell-fixed\") && C.el.querySelector(\".fr-cell-fixed\").classList.remove(\"fr-cell-fixed\"), C.el.querySelector(\".fr-cell-handler\") && C.el.querySelector(\".fr-cell-handler\").classList.remove(\"fr-cell-handler\");\n }\n function O() {\n var e = C.$el.find(\".fr-selected-cell\");\n 0 < e.length && e.each(function () {\n var e = k(this);\n e.removeClass(\"fr-selected-cell\"), \"\" === e.attr(\"class\") && e.removeAttr(\"class\");\n }), I();\n }\n function F() {\n C.events.disableBlur(), C.selection.clear(), C.$el.addClass(\"fr-no-selection\"), C.$el.blur(), C.events.enableBlur();\n }\n function M(e) {\n var t = C.$el.find(\".fr-selected-cell\");\n if (0 < t.length) {\n var a,\n n = e.length,\n r = 0,\n i = e[0].length,\n o = 0;\n for (a = 0; a < t.length; a++) {\n var s = L(t[a], e),\n l = x(s.row, s.col, e);\n n = Math.min(s.row, n), r = Math.max(l.row, r), i = Math.min(s.col, i), o = Math.max(l.col, o);\n }\n return {\n min_i: n,\n max_i: r,\n min_j: i,\n max_j: o\n };\n }\n return null;\n }\n function N(e) {\n var t = M(e);\n if (null != t) {\n var a = k(e[t.min_i][t.min_j]),\n n = k(e[t.min_i][t.max_j]),\n r = k(e[t.max_i][t.min_j]);\n return {\n left: a.length && a.offset().left,\n right: n.length && n.offset().left + n.outerWidth(),\n top: a.length && a.offset().top,\n bottom: r.length && r.offset().top + r.outerHeight()\n };\n }\n }\n function D(e, t) {\n if (k(e).is(t)) O(), k(e).addClass(\"fr-selected-cell\");else {\n F(), C.edit.off();\n var a = R(),\n n = L(e, a),\n r = L(t, a);\n if (!n || !r) return;\n var i = function u(e, t, a, n, r) {\n var i,\n o,\n s,\n l,\n c = e,\n d = t,\n f = a,\n p = n;\n for (i = c; i <= d; i++) (1 < (parseInt(k(r[i][f]).attr(\"rowspan\"), 10) || 1) || 1 < (parseInt(k(r[i][f]).attr(\"colspan\"), 10) || 1)) && (l = x((s = L(r[i][f], r)).row, s.col, r), c = Math.min(s.row, c), d = Math.max(l.row, d), f = Math.min(s.col, f), p = Math.max(l.col, p)), (1 < (parseInt(k(r[i][p]).attr(\"rowspan\"), 10) || 1) || 1 < (parseInt(k(r[i][p]).attr(\"colspan\"), 10) || 1)) && (l = x((s = L(r[i][p], r)).row, s.col, r), c = Math.min(s.row, c), d = Math.max(l.row, d), f = Math.min(s.col, f), p = Math.max(l.col, p));\n for (o = f; o <= p; o++) (1 < (parseInt(k(r[c][o]).attr(\"rowspan\"), 10) || 1) || 1 < (parseInt(k(r[c][o]).attr(\"colspan\"), 10) || 1)) && (l = x((s = L(r[c][o], r)).row, s.col, r), c = Math.min(s.row, c), d = Math.max(l.row, d), f = Math.min(s.col, f), p = Math.max(l.col, p)), (1 < (parseInt(k(r[d][o]).attr(\"rowspan\"), 10) || 1) || 1 < (parseInt(k(r[d][o]).attr(\"colspan\"), 10) || 1)) && (l = x((s = L(r[d][o], r)).row, s.col, r), c = Math.min(s.row, c), d = Math.max(l.row, d), f = Math.min(s.col, f), p = Math.max(l.col, p));\n return c == e && d == t && f == a && p == n ? {\n min_i: e,\n max_i: t,\n min_j: a,\n max_j: n\n } : u(c, d, f, p, r);\n }(Math.min(n.row, r.row), Math.max(n.row, r.row), Math.min(n.col, r.col), Math.max(n.col, r.col), a);\n O(), e.classList.add(\"fr-cell-fixed\"), t.classList.add(\"fr-cell-handler\");\n for (var o = i.min_i; o <= i.max_i; o++) for (var s = i.min_j; s <= i.max_j; s++) k(e).closest(\"table\").is(k(a[o][s]).closest(\"table\")) && k(a[o][s]).addClass(\"fr-selected-cell\");\n }\n }\n function P(e) {\n var t = null,\n a = k(e.target);\n return \"TD\" == e.target.tagName || \"TH\" == e.target.tagName ? t = e.target : 0 < a.closest(\"th\", a.closest(\"thead\")[0]).length ? t = a.closest(\"th\", a.closest(\"thead\")[0]).get(0) : 0 < a.closest(\"td\", a.closest(\"tr\")[0]).length && (t = a.closest(\"td\", a.closest(\"tr\")[0]).get(0)), -1 === C.$el.html.toString().search(t) ? null : t;\n }\n function B() {\n O(), C.popups.hide(\"table.edit\");\n }\n function U(e) {\n var t = P(e);\n if (\"false\" == k(t).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\")) return !0;\n if (0 < oe().length && !t && B(), !C.edit.isDisabled() || C.popups.isVisible(\"table.edit\")) if (1 != e.which || 1 == e.which && C.helpers.isMac() && e.ctrlKey) (3 == e.which || 1 == e.which && C.helpers.isMac() && e.ctrlKey) && t && B();else if (i = !0, t) {\n 0 < oe().length && !e.shiftKey && B(), e.stopPropagation(), C.events.trigger(\"image.hideResizer\"), C.events.trigger(\"video.hideResizer\"), r = !0;\n var a = t.tagName.toLowerCase();\n e.shiftKey && 0 < C.$el.find(\"\".concat(a, \".fr-selected-cell\")).length ? k(C.$el.find(\"\".concat(a, \".fr-selected-cell\")).closest(\"table\")).is(k(t).closest(\"table\")) ? D(n, t) : F() : ((C.keys.ctrlKey(e) || e.shiftKey) && \"TD\" === e.currentTarget.tagName && (1 < oe().length || 0 === k(t).find(C.selection.element()).length && !k(t).is(C.selection.element())) && F(), n = t, 0 < C.opts.tableEditButtons.length && D(n, n));\n }\n }\n function $(e) {\n if (!C.edit.isDisabled() && C.popups.areVisible()) return !0;\n var t = P(e);\n if (1 === oe().length && null === t && (C.toolbar.enable(), O()), (1 === oe().length && t && \"TD\" !== t.tagName && \"TH\" !== t.tagName || !r && !C.$tb.is(e.target) && !C.$tb.is(k(e.target).closest(\".fr-toolbar\"))) && (C.toolbar.enable(), O()), (\"BODY\" === e.target.tagName || \"HTML\" === e.target.tagName) && !t && 0 < oe().length && C.toolbar.enable(), !(1 != e.which || 1 == e.which && C.helpers.isMac() && e.ctrlKey)) {\n if (i = !1, r) r = !1, P(e) || 1 != oe().length ? 0 < oe().length ? C.selection.isCollapsed() ? (h(), C.toolbar.enable()) : (O(), C.edit.on()) : oe().length || (C.$el.removeClass(\"fr-no-selection\"), C.edit.on()) : O();\n if (y) {\n y = !1, T.removeClass(\"fr-moving\"), C.$el.removeClass(\"fr-no-selection\"), C.edit.on();\n var a = parseFloat(T.css(\"left\")) + C.opts.tableResizerOffset + C.$wp.offset().left;\n C.opts.iframe && (a -= C.$iframe.offset().left), T.data(\"release-position\", a), T.removeData(\"max-left\"), T.removeData(\"max-right\"), function A() {\n var e = T.data(\"origin\"),\n t = T.data(\"release-position\");\n if (e !== t) {\n var a = T.data(\"first\"),\n n = T.data(\"second\"),\n r = T.data(\"table\"),\n i = r.outerWidth();\n if (C.undo.canDo() || C.undo.saveStep(), null != a && null != n) {\n var o,\n s,\n l,\n c = R(r),\n d = [],\n f = [],\n p = [],\n u = [];\n for (o = 0; o < c.length; o++) s = k(c[o][a]), l = k(c[o][n]), d[o] = s.outerWidth(), p[o] = l.outerWidth(), f[o] = d[o] / i * 100, u[o] = p[o] / i * 100;\n for (o = 0; o < c.length; o++) if (s = k(c[o][a]), l = k(c[o][n]), c[o][a] != c[o][n]) {\n var g = (f[o] * (d[o] + t - e) / d[o]).toFixed(4);\n s.css(\"width\", g + \"%\"), l.css(\"width\", (f[o] + u[o] - g).toFixed(4) + \"%\");\n }\n } else {\n var h,\n m = r.parent(),\n v = parseFloat(m.css(\"padding-left\")),\n b = parseFloat(m.css(\"padding-right\")),\n E = v + b,\n _ = i / (m.width() - E) * 100,\n w = (parseInt(r.css(\"margin-left\"), 10) || 0) / m.width() * 100,\n y = (parseInt(r.css(\"margin-right\"), 10) || 0) / m.width() * 100;\n \"rtl\" == C.opts.direction && 0 === n || \"rtl\" != C.opts.direction && 0 !== n ? (h = (i + t - e) / i * _, r.css(\"margin-right\", \"calc(100% - \".concat(Math.round(h).toFixed(4), \"% - \").concat(Math.round(w).toFixed(4), \"%)\"))) : (\"rtl\" == C.opts.direction && 0 !== n || \"rtl\" != C.opts.direction && 0 === n) && (h = (i - t + e) / i * _, r.css(\"margin-left\", \"calc(100% - \".concat(Math.round(h).toFixed(4), \"% - \").concat(Math.round(y).toFixed(4), \"%)\"))), r.css(\"width\", \"\".concat(Math.round(h).toFixed(4), \"%\"));\n }\n C.selection.restore(), C.undo.saveStep(), C.events.trigger(\"table.resized\", [r.get(0)]);\n }\n T.removeData(\"origin\"), T.removeData(\"release-position\"), T.removeData(\"first\"), T.removeData(\"second\"), T.removeData(\"table\");\n }(), G();\n }\n }\n }\n function H(e) {\n if ((!(k(e.currentTarget).is(k(e.originalEvent.relatedTarget)) || e.currentTarget.contains(e.originalEvent.relatedTarget) || e.originalEvent.relatedTarget && e.originalEvent.relatedTarget.contains(e.currentTarget)) || e.currentTarget.querySelector(\"input, textarea\")) && (C.events.$on(k(\"input, textarea\"), \"click\", le), !0 === r && 0 < C.opts.tableEditButtons.length)) {\n if (k(e.currentTarget).closest(\"table\").is(se())) {\n if (\"TBODY\" === e.currentTarget.parentElement.parentElement.tagName && \"TD\" == e.currentTarget.tagName && 0 === C.$el.find(\"th.fr-selected-cell\").length && 0 === C.$el.find(\"tfoot td.fr-selected-cell\").length) return void D(n, e.currentTarget);\n if (\"TFOOT\" === e.currentTarget.parentElement.parentElement.tagName && \"TD\" == e.currentTarget.tagName && 0 === C.$el.find(\"tbody td.fr-selected-cell\").length) return void D(n, e.currentTarget);\n if (\"TH\" == e.currentTarget.tagName && 0 === C.$el.find(\"td.fr-selected-cell\").length) return void D(n, e.currentTarget);\n }\n \"TD\" !== e.currentTarget.tagName && \"TH\" !== e.currentTarget.tagName && F();\n }\n }\n function z(e, t, a, n) {\n for (var r, i = t; i != C.el && \"TD\" != i.tagName && \"TH\" != i.tagName && (\"up\" == n ? r = i.previousElementSibling : \"down\" == n && (r = i.nextElementSibling), !r);) i = i.parentNode;\n \"TD\" == i.tagName || \"TH\" == i.tagName ? function o(e, t) {\n for (var a = e; a && \"TABLE\" != a.tagName && a.parentNode != C.el;) a = a.parentNode;\n if (a && \"TABLE\" == a.tagName) {\n var n = R(k(a));\n \"up\" == t ? K(L(e, n), a, n) : \"down\" == t && W(L(e, n), a, n);\n }\n }(i, n) : r && (\"up\" == n && C.selection.setAtEnd(r), \"down\" == n && C.selection.setAtStart(r));\n }\n function K(e, t, a) {\n 0 < k(\".tribute-container\").length && \"none\" != k(\".tribute-container\").css(\"display\") || (0 < e.row ? C.selection.setAtEnd(a[e.row - 1][e.col]) : z(0, t, 0, \"up\"));\n }\n function W(e, t, a) {\n if (!(0 < k(\".tribute-container\").length && \"none\" != k(\".tribute-container\").css(\"display\"))) {\n var n = parseInt(a[e.row][e.col].getAttribute(\"rowspan\"), 10) || 1;\n e.row < a.length - n ? C.selection.setAtStart(a[e.row + n][e.col]) : z(0, t, 0, \"down\");\n }\n }\n function G() {\n T && (T.find(\"div\").css(\"opacity\", 0), T.css(\"top\", 0), T.css(\"left\", 0), T.css(\"height\", 0), T.find(\"div\").css(\"height\", 0), T.hide());\n }\n function V() {\n c && c.removeClass(\"fr-visible\").css(\"left\", \"-9999px\");\n }\n function a(e, t) {\n var a,\n n = k(t);\n n && (a = n.closest(\"table\"));\n var r = a.parent();\n if (t && \"TD\" != t.tagName && \"TH\" != t.tagName && (0 < n.closest(\"td\").length ? t = n.closest(\"td\") : 0 < n.closest(\"th\").length && (t = n.closest(\"th\"))), !t || \"TD\" != t.tagName && \"TH\" != t.tagName) T && n.get(0) != T.get(0) && n.parent().get(0) != T.get(0) && C.core.sameInstance(T) && G();else {\n if (n = k(t), 0 === C.$el.find(n).length) return !1;\n var i = n.offset().left - 1,\n o = i + n.outerWidth();\n if (Math.abs(e.pageX - i) <= C.opts.tableResizerOffset || Math.abs(o - e.pageX) <= C.opts.tableResizerOffset) {\n var s,\n l,\n c,\n d,\n f,\n p = R(a),\n u = L(t, p),\n g = x(u.row, u.col, p),\n h = a.offset().top,\n m = a.outerHeight() - 1;\n \"rtl\" != C.opts.direction ? e.pageX - i <= C.opts.tableResizerOffset ? (c = i, 0 < u.col ? (d = i - ee(u.col - 1, p) + C.opts.tableResizingLimit, f = i + ee(u.col, p) - C.opts.tableResizingLimit, s = u.col - 1, l = u.col) : (s = null, l = 0, d = a.offset().left - 1 - parseInt(a.css(\"margin-left\"), 10), f = a.offset().left - 1 + a.width() - p[0].length * C.opts.tableResizingLimit)) : o - e.pageX <= C.opts.tableResizerOffset && (c = o, g.col < p[g.row].length && p[g.row][g.col + 1] ? (d = o - ee(g.col, p) + C.opts.tableResizingLimit, f = o + ee(g.col + 1, p) - C.opts.tableResizingLimit, s = g.col, l = g.col + 1) : (s = g.col, l = null, d = a.offset().left - 1 + p[0].length * C.opts.tableResizingLimit, f = r.offset().left - 1 + r.width() + parseFloat(r.css(\"padding-left\")))) : o - e.pageX <= C.opts.tableResizerOffset ? (c = o, 0 < u.col ? (d = o - ee(u.col, p) + C.opts.tableResizingLimit, f = o + ee(u.col - 1, p) - C.opts.tableResizingLimit, s = u.col, l = u.col - 1) : (s = null, l = 0, d = a.offset().left + p[0].length * C.opts.tableResizingLimit, f = r.offset().left - 1 + r.width() + parseFloat(r.css(\"padding-left\")))) : e.pageX - i <= C.opts.tableResizerOffset && (c = i, g.col < p[g.row].length && p[g.row][g.col + 1] ? (d = i - ee(g.col + 1, p) + C.opts.tableResizingLimit, f = i + ee(g.col, p) - C.opts.tableResizingLimit, s = g.col + 1, l = g.col) : (s = g.col, l = null, d = r.offset().left + parseFloat(r.css(\"padding-left\")), f = a.offset().left - 1 + a.width() - p[0].length * C.opts.tableResizingLimit)), T || function w() {\n C.shared.$table_resizer || (C.shared.$table_resizer = k(document.createElement(\"div\")).attr(\"class\", \"fr-table-resizer\").html(\"<div></div>\")), T = C.shared.$table_resizer, C.events.$on(T, \"mousedown\", function (e) {\n return !C.core.sameInstance(T) || (0 < oe().length && B(), 1 == e.which ? (C.selection.save(), y = !0, T.addClass(\"fr-moving\"), F(), C.edit.off(), T.find(\"div\").css(\"opacity\", 1), !1) : void 0);\n }), C.events.$on(T, \"mousemove\", function (e) {\n if (!C.core.sameInstance(T)) return !0;\n y && (C.opts.iframe && (e.pageX -= C.$iframe.offset().left), ae(e));\n }), C.events.on(\"shared.destroy\", function () {\n T.html(\"\").removeData().remove(), T = null;\n }, !0), C.events.on(\"destroy\", function () {\n C.$el.find(\".fr-selected-cell\").removeClass(\"fr-selected-cell\"), k(\"body\").first().append(T.hide());\n }, !0);\n }(), T.data(\"table\", a), T.data(\"first\", s), T.data(\"second\", l), T.data(\"instance\", C), C.$wp.append(T);\n var v = c - C.win.pageXOffset - C.opts.tableResizerOffset - C.$wp.offset().left,\n b = h - C.$wp.offset().top + C.$wp.scrollTop();\n if (C.opts.iframe) {\n var E = C.helpers.getPX(C.$wp.find(\".fr-iframe\").css(\"padding-top\")),\n _ = C.helpers.getPX(C.$wp.find(\".fr-iframe\").css(\"padding-left\"));\n v += C.$iframe.offset().left + _, b += C.$iframe.offset().top + E, d += C.$iframe.offset().left, f += C.$iframe.offset().left;\n }\n T.data(\"max-left\", d), T.data(\"max-right\", f), T.data(\"origin\", c - C.win.pageXOffset), T.css(\"top\", b), T.css(\"left\", v), T.css(\"height\", m), T.find(\"div\").css(\"height\", m), T.css(\"padding-left\", C.opts.tableResizerOffset), T.css(\"padding-right\", C.opts.tableResizerOffset), T.show();\n } else C.core.sameInstance(T) && G();\n }\n }\n function Y(e, t) {\n if (C.$box.find(\".fr-line-breaker\").isVisible()) return !1;\n c || re(), C.$box.append(c), c.data(\"instance\", C);\n var a,\n n = k(t).find(\"tr\").first(),\n r = e.pageX,\n i = 0,\n o = 0;\n if (C.opts.iframe) {\n var s = C.helpers.getPX(C.$wp.find(\".fr-iframe\").css(\"padding-top\")),\n l = C.helpers.getPX(C.$wp.find(\".fr-iframe\").css(\"padding-left\"));\n i += C.$iframe.offset().left - C.helpers.scrollLeft() + l, o += C.$iframe.offset().top - C.helpers.scrollTop() + s;\n }\n n.find(\"th, td\").each(function () {\n var e = k(this);\n return e.offset().left <= r && r < e.offset().left + e.outerWidth() / 2 ? (a = parseInt(c.find(\"a\").css(\"width\"), 10), c.css(\"top\", o + e.offset().top - C.$box.offset().top - a - 5), c.css(\"left\", i + e.offset().left - C.$box.offset().left - a / 2), c.data(\"selected-cell\", e), c.data(\"position\", \"before\"), c.addClass(\"fr-visible\"), !1) : e.offset().left + e.outerWidth() / 2 <= r && r < e.offset().left + e.outerWidth() ? (a = parseInt(c.find(\"a\").css(\"width\"), 10), c.css(\"top\", o + e.offset().top - C.$box.offset().top - a - 5), c.css(\"left\", i + e.offset().left - C.$box.offset().left + e.outerWidth() - a / 2), c.data(\"selected-cell\", e), c.data(\"position\", \"after\"), c.addClass(\"fr-visible\"), !1) : void 0;\n });\n }\n function j(e, t) {\n if (C.$box.find(\".fr-line-breaker\").isVisible()) return !1;\n c || re(), C.$box.append(c), c.data(\"instance\", C);\n var a,\n n = k(t),\n r = e.pageY,\n i = 0,\n o = 0;\n if (C.opts.iframe) {\n var s = C.helpers.getPX(C.$wp.find(\".fr-iframe\").css(\"padding-top\")),\n l = C.helpers.getPX(C.$wp.find(\".fr-iframe\").css(\"padding-left\"));\n i += C.$iframe.offset().left - C.helpers.scrollLeft() + l, o += C.$iframe.offset().top - C.helpers.scrollTop() + s;\n }\n n.find(\"tr\").each(function () {\n var e = k(this);\n a = parseInt(c.find(\"a\").css(\"width\"), 10);\n var t = i + e.offset().left - C.$box.offset().left;\n return t = 0 !== C.$box.offset().left ? t - a - 5 : t + a - 5, e.offset().top <= r && r < e.offset().top + e.outerHeight() / 2 ? (c.css(\"top\", o + e.offset().top - C.$box.offset().top - a / 2), c.css(\"left\", t), c.data(\"selected-cell\", e.find(\"td\").first()), c.data(\"position\", \"above\"), c.addClass(\"fr-visible\"), !1) : e.offset().top + e.outerHeight() / 2 <= r && r < e.offset().top + e.outerHeight() ? (c.css(\"top\", o + e.offset().top - C.$box.offset().top + e.outerHeight() - a / 2), c.css(\"left\", t), c.data(\"selected-cell\", e.find(\"td\").first()), c.data(\"position\", \"below\"), c.addClass(\"fr-visible\"), !1) : void 0;\n });\n }\n function q() {\n l[C.id] && (l[C.id].css(\"top\", -9999), l[C.id].css(\"left\", -9999), l[C.id].removeClass(\"fr-table-selector-active-selected\"), l[C.id].removeClass(\"fr-table-selector-active\"), l[C.id].addClass(\"fr-table-selector-inactive\"), C.$el.find(\"table.fr-table-selection-hover\").removeClass(\"fr-table-selection-hover\"));\n }\n function X() {\n var e = C.$el.find(\"table.fr-table-selected\");\n e.removeClass(\"fr-table-selected\"), e.removeClass(\"fr-table-selection-hover\"), q();\n }\n function Z(e) {\n C.$box.append(l[C.id]), l[C.id].data(\"instance\", C);\n var t = e.offset().left - C.$box.offset().left + 16,\n a = e.offset().top - C.$box.offset().top - l[C.id].outerHeight();\n if (C.opts.iframe) {\n var n = C.helpers.getPX(C.$wp.find(\".fr-iframe\").css(\"padding-top\")),\n r = C.helpers.getPX(C.$wp.find(\".fr-iframe\").css(\"padding-left\"));\n t += C.$iframe.offset().left - C.helpers.scrollLeft() + r, a += C.$iframe.offset().top - C.helpers.scrollTop() + n;\n }\n l[C.id].css(\"top\", a), l[C.id].css(\"left\", t);\n }\n function Q(e) {\n s = null;\n var t = C.doc.elementFromPoint(e.pageX - C.win.pageXOffset, e.pageY - C.win.pageYOffset);\n C.opts.tableResizer && (!C.popups.areVisible() || C.popups.areVisible() && C.popups.isVisible(\"table.edit\")) && a(e, t), !C.opts.tableInsertHelper || C.popups.areVisible() || C.$tb.hasClass(\"fr-inline\") && C.$tb.isVisible() || function i(e, t) {\n if (0 === oe().length) {\n var a, n, r;\n if (t && (\"HTML\" == t.tagName || \"BODY\" == t.tagName || C.node.isElement(t))) for (a = 1; a <= C.opts.tableInsertHelperOffset; a++) {\n if (n = C.doc.elementFromPoint(e.pageX - C.win.pageXOffset, e.pageY - C.win.pageYOffset + a), k(n).hasClass(\"fr-tooltip\")) return !0;\n if (n && (\"TH\" == n.tagName || \"TD\" == n.tagName || \"TABLE\" == n.tagName) && (k(n).parents(\".fr-wrapper\").length || C.opts.iframe) && \"false\" != k(n).closest(\"table\").attr(\"contenteditable\")) return Y(e, k(n).closest(\"table\")), !0;\n if (r = C.doc.elementFromPoint(e.pageX - C.win.pageXOffset + a, e.pageY - C.win.pageYOffset), k(r).hasClass(\"fr-tooltip\")) return !0;\n if (r && (\"TH\" == r.tagName || \"TD\" == r.tagName || \"TABLE\" == r.tagName) && (k(r).parents(\".fr-wrapper\").length || C.opts.iframe) && \"false\" != k(r).closest(\"table\").attr(\"contenteditable\")) return j(e, k(r).closest(\"table\")), !0;\n }\n C.core.sameInstance(c) && V();\n }\n }(e, t), function o(e, t) {\n var a = k(t),\n n = C.$el.find(\"table.fr-table-selection-hover\"),\n r = C.$el.find(\"table.fr-table-selected\");\n if (C.node.isElement(t) || C.node.isElement(a.parents(\".fr-view\").first().get(0)) || C.core.sameInstance(a) || C.core.sameInstance(a.parents(\"div.fr-table-selector\"))) {\n if (!a.parents(\".fr-table-selector\").length) {\n var i = a ? a.closest(\"table\") : null;\n i.length ? (Z(i), l[C.id].addClass(\"fr-table-selector-active\"), l[C.id].removeClass(\"fr-table-selector-inactive\"), n.removeClass(\"fr-table-selection-hover\"), r.length && l[C.id].toggleClass(\"fr-table-selector-active-selected\", r.get(0) === i.get(0)), i.addClass(\"fr-table-selection-hover\")) : n.length && Math.abs(n.offset().top - e.pageY) < 16 || l[C.id].hasClass(\"fr-table-selector-inactive\") || q();\n }\n } else r.length || q();\n }(e, t);\n }\n function J() {\n if (y) {\n var e = T.data(\"table\").offset().top - C.win.pageYOffset;\n if (C.opts.iframe) {\n var t = C.helpers.getPX(C.$wp.find(\".fr-iframe\").css(\"padding-top\"));\n e += C.$iframe.offset().top - C.helpers.scrollTop() + t;\n }\n T.css(\"top\", e);\n }\n }\n function ee(e, t) {\n var a,\n n = k(t[0][e]).outerWidth();\n for (a = 1; a < t.length; a++) n = Math.min(n, k(t[a][e]).outerWidth());\n return n;\n }\n function te(e, t, a) {\n var n,\n r = 0;\n for (n = e; n <= t; n++) r += ee(n, a);\n return r;\n }\n function ae(e) {\n if (1 < oe().length && i && F(), !1 === i && !1 === r && !1 === y) s && clearTimeout(s), C.edit.isDisabled() && !C.popups.isVisible(\"table.edit\") || (s = setTimeout(Q, 30, e));else if (y) {\n var t = e.pageX - C.win.pageXOffset;\n C.opts.iframe && (t += C.$iframe.offset().left);\n var a = T.data(\"max-left\"),\n n = T.data(\"max-right\");\n a <= t && t <= n ? T.css(\"left\", t - C.opts.tableResizerOffset - C.$wp.offset().left) : t < a && parseFloat(T.css(\"left\"), 10) > a - C.opts.tableResizerOffset ? T.css(\"left\", a - C.opts.tableResizerOffset - C.$wp.offset().left) : n < t && parseFloat(T.css(\"left\"), 10) < n - C.opts.tableResizerOffset && T.css(\"left\", n - C.opts.tableResizerOffset - C.$wp.offset().left);\n } else i && V();\n }\n function ne(e) {\n C.node.isEmpty(e.get(0)) ? C.opts.keepTextFormatOnTable && C.browser.mozilla ? e.append(St.MARKERS) : e.prepend(St.MARKERS) : e.prepend(St.START_MARKER).append(St.END_MARKER);\n }\n function re() {\n C.shared.$ti_helper || (C.shared.$ti_helper = k(document.createElement(\"div\")).attr(\"class\", \"fr-insert-helper\").html('<a class=\"fr-floating-btn\" role=\"button\" tabIndex=\"-1\" title=\"'.concat(C.language.translate(\"Insert\"), '\"><svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z\"/></svg></a>')), C.events.bindClick(C.shared.$ti_helper, \"a\", function () {\n var e = c.data(\"selected-cell\"),\n t = c.data(\"position\"),\n a = c.data(\"instance\") || C;\n \"before\" == t ? (C.undo.saveStep(), e.addClass(\"fr-selected-cell\"), a.table.insertColumn(t), e.removeClass(\"fr-selected-cell\"), C.undo.saveStep()) : \"after\" == t ? (C.undo.saveStep(), e.addClass(\"fr-selected-cell\"), a.table.insertColumn(t), e.removeClass(\"fr-selected-cell\"), C.undo.saveStep()) : \"above\" == t ? (C.undo.saveStep(), e.addClass(\"fr-selected-cell\"), a.table.insertRow(t), e.removeClass(\"fr-selected-cell\"), C.undo.saveStep()) : \"below\" == t && (C.undo.saveStep(), e.addClass(\"fr-selected-cell\"), a.table.insertRow(t), e.removeClass(\"fr-selected-cell\"), C.undo.saveStep()), V();\n }), C.events.on(\"shared.destroy\", function () {\n C.shared.$ti_helper.html(\"\").removeData().remove(), C.shared.$ti_helper = null;\n }, !0), C.events.$on(C.shared.$ti_helper, \"mousemove\", function (e) {\n e.stopPropagation();\n }, !0), C.events.$on(k(C.o_win), \"scroll\", function () {\n V();\n }, !0), C.events.$on(C.$wp, \"scroll\", function () {\n V();\n }, !0)), c = C.shared.$ti_helper, C.events.on(\"destroy\", function () {\n c = null;\n }), C.tooltip.bind(C.$box, \".fr-insert-helper > a.fr-floating-btn\");\n }\n function ie() {\n n = null, clearTimeout(s);\n }\n function oe() {\n return C.el.querySelectorAll(\".fr-selected-cell\");\n }\n function se() {\n var e = oe();\n if (e.length) {\n for (var t = e[0]; t && \"TABLE\" != t.tagName && t.parentNode != C.el;) t = t.parentNode;\n return t && \"TABLE\" == t.tagName ? k(t) : k([]);\n }\n return k([]);\n }\n function le() {\n r = !1;\n }\n return {\n _init: function ce() {\n if (!C.$wp) return !1;\n if (C.helpers.isMobile() && (C.events.$on(C.$el, \"mousedown\", U), C.events.$on(C.$win, \"mouseup\", $)), !C.helpers.isMobile()) {\n y = r = i = !1, C.events.$on(C.$el, \"mousedown\", U), C.popups.onShow(\"image.edit\", function () {\n O(), r = i = !1;\n }), C.popups.onShow(\"link.edit\", function () {\n O(), r = i = !1;\n }), C.events.on(\"commands.mousedown\", function (e) {\n 0 < e.parents(\".fr-toolbar\").length && O();\n }), C.events.$on(C.$el, \"mouseover\", \"th, td\", H), C.events.$on(C.$win, \"mouseup\", $), C.opts.iframe && C.events.$on(k(C.o_win), \"mouseup\", $), C.events.$on(C.$win, \"mousemove\", ae), C.events.$on(k(C.o_win), \"scroll\", J), C.events.on(\"contentChanged\", function () {\n 0 < oe().length && (h(), C.$el.find(\"img\").on(\"load.selected-cells\", function () {\n k(this).off(\"load.selected-cells\"), 0 < oe().length && h();\n }));\n }), C.events.$on(k(C.o_win), \"resize\", function () {\n O();\n }), C.events.on(\"toolbar.esc\", function () {\n if (0 < oe().length) return C.events.disableBlur(), C.events.focus(), !1;\n }, !0), C.events.$on(k(C.o_win), \"keydown\", function () {\n i && r && (r = i = !1, C.$el.removeClass(\"fr-no-selection\"), C.edit.on(), C.selection.setAtEnd(C.$el.find(\".fr-selected-cell\").last().get(0)), C.selection.restore(), O());\n }), C.events.$on(C.$el, \"keydown\", function (e) {\n e.shiftKey ? !1 === function o(e) {\n var t = oe();\n if (null != t && 0 < t.length) {\n var a,\n n = R(),\n r = e.which,\n i = L(1 == t.length ? a = t[0] : (a = C.el.querySelector(\".fr-cell-fixed\"), C.el.querySelector(\".fr-cell-handler\")), n);\n if (St.KEYCODE.ARROW_RIGHT == r) {\n if (i.col < n[0].length - 1) return D(a, n[i.row][i.col + 1]), !1;\n } else if (St.KEYCODE.ARROW_DOWN == r) {\n if (i.row < n.length - 1) return D(a, n[i.row + 1][i.col]), !1;\n } else if (St.KEYCODE.ARROW_LEFT == r) {\n if (0 < i.col) return D(a, n[i.row][i.col - 1]), !1;\n } else if (St.KEYCODE.ARROW_UP == r && 0 < i.row) return D(a, n[i.row - 1][i.col]), !1;\n }\n }(e) && setTimeout(function () {\n h();\n }, 0) : function s(e) {\n var t = e.which,\n a = C.selection.blocks();\n if (a.length && (\"P\" !== (a = a[0]).tagName && \"DIV\" !== a.tagName || (a = a.parentNode), \"TD\" == a.tagName || \"TH\" == a.tagName)) {\n for (var n = a; n && \"TABLE\" != n.tagName && n.parentNode != C.el;) n = n.parentNode;\n if (n && \"TABLE\" == n.tagName && (St.KEYCODE.ARROW_LEFT == t || St.KEYCODE.ARROW_UP == t || St.KEYCODE.ARROW_RIGHT == t || St.KEYCODE.ARROW_DOWN == t) && (0 < oe().length && B(), C.browser.webkit && (St.KEYCODE.ARROW_UP == t || St.KEYCODE.ARROW_DOWN == t))) {\n var r = C.selection.ranges(0).startContainer;\n if (r.nodeType == Node.TEXT_NODE && (St.KEYCODE.ARROW_UP == t && (r.previousSibling && \"BR\" !== r.previousSibling.tagName || r.previousSibling && \"BR\" === r.previousSibling.tagName && r.previousSibling.previousSibling) || St.KEYCODE.ARROW_DOWN == t && (r.nextSibling && \"BR\" !== r.nextSibling.tagName || r.nextSibling && \"BR\" === r.nextSibling.tagName && r.nextSibling.nextSibling))) return;\n e.preventDefault(), e.stopPropagation();\n var i = R(k(n)),\n o = L(a, i);\n return St.KEYCODE.ARROW_UP == t ? K(o, n, i) : St.KEYCODE.ARROW_DOWN == t && W(o, n, i), C.selection.restore(), !1;\n }\n }\n }(e);\n }), C.events.on(\"keydown\", function (e) {\n if (!1 === function n(e) {\n if (e.which == St.KEYCODE.TAB) {\n var t;\n if (0 < oe().length) t = C.$el.find(\".fr-selected-cell\").last();else {\n var a = C.selection.element();\n \"TD\" == a.tagName || \"TH\" == a.tagName ? t = k(a) : a != C.el && (0 < k(a).parentsUntil(C.$el, \"td\").length ? t = k(a).parents(\"td\").first() : 0 < k(a).parentsUntil(C.$el, \"th\").length && (t = k(a).parents(\"th\").first()));\n }\n if (t) return e.preventDefault(), !!(0 === C.selection.get().focusOffset && 0 < k(C.selection.element()).parentsUntil(C.$el, \"ol, ul\").length && (0 < k(C.selection.element()).closest(\"li\").prev().length || k(C.selection.element()).is(\"li\") && 0 < k(C.selection.element()).prev().length)) || (B(), e.shiftKey ? 0 < t.prev().length ? ne(t.prev()) : 0 < t.closest(\"tr\").length && 0 < t.closest(\"tr\").prev().length ? ne(t.closest(\"tr\").prev().find(\"td\").last()) : 0 < t.closest(\"tbody\").length && 0 < t.closest(\"table\").find(\"thead tr\").length && ne(t.closest(\"table\").find(\"thead tr th\").last()) : 0 < t.next().length ? ne(t.next()) : 0 < t.closest(\"tr\").length && 0 < t.closest(\"tr\").next().length ? ne(t.closest(\"tr\").next().find(\"td\").first()) : 0 < t.closest(\"thead\").length && 0 < t.closest(\"table\").find(\"tbody tr\").length ? ne(t.closest(\"table\").find(\"tbody tr td\").first()) : (t.addClass(\"fr-selected-cell\"), b(\"below\"), O(), ne(t.closest(\"tr\").next().find(\"td\").first())), C.selection.restore(), !1);\n }\n }(e)) return !1;\n if (e.which == St.KEYCODE.ESC && X(), C.$el.find(\"table.fr-table-selected\").length) {\n if (!e.ctrlKey && !e.metaKey) return e.preventDefault(), e.stopPropagation(), !1;\n \"a\" === e.key && X();\n }\n var t = oe();\n if (0 < t.length) {\n if (0 < t.length && C.keys.ctrlKey(e) && e.which == St.KEYCODE.A) return O(), C.popups.isVisible(\"table.edit\") && C.popups.hide(\"table.edit\"), t = [], !0;\n if (e.which == St.KEYCODE.ESC && C.popups.isVisible(\"table.edit\")) return O(), C.popups.hide(\"table.edit\"), e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation(), !(t = []);\n if (1 < t.length && (e.which == St.KEYCODE.BACKSPACE || e.which == St.KEYCODE.DELETE)) {\n C.undo.saveStep();\n for (var a = 0; a < t.length; a++) k(t[a]).html(\"<br>\"), a == t.length - 1 && k(t[a]).prepend(St.MARKERS);\n return C.selection.restore(), C.undo.saveStep(), !(t = []);\n }\n if (1 < t.length && e.which != St.KEYCODE.F10 && !C.keys.isBrowserAction(e)) return e.preventDefault(), !(t = []);\n } else if (!(t = []) === function r(e) {\n if (e.altKey && e.which == St.KEYCODE.SPACE) {\n var t,\n a = C.selection.element();\n if (\"TD\" == a.tagName || \"TH\" == a.tagName ? t = a : 0 < k(a).closest(\"td\").length ? t = k(a).closest(\"td\").get(0) : 0 < k(a).closest(\"th\").length && (t = k(a).closest(\"th\").get(0)), t) return e.preventDefault(), D(t, t), h(), !1;\n }\n }(e)) return !1;\n }, !0);\n var t = null,\n a = [];\n C.events.on(\"html.beforeGet\", function () {\n a = oe();\n for (var e = 0; e < a.length; e++) a[e].className = (a[e].className || \"\").replace(/fr-selected-cell/g, \"\");\n (t = C.$el.find(\"table.fr-table-selected\")) && t.length && t.removeClass(\"fr-table-selected\");\n }), C.events.on(\"html.afterGet\", function () {\n for (var e = 0; e < a.length; e++) a[e].className = (a[e].className ? a[e].className.trim() + \" \" : \"\") + \"fr-selected-cell\";\n a = [], t && t.length && t.addClass(\"fr-table-selected\");\n }), f(!0), u(!0), e();\n }\n C.events.on(\"destroy\", ie);\n },\n insert: function de(e, t) {\n var a,\n n,\n r = function c() {\n var e = {\n startTag: \"\",\n closeTag: \"\"\n };\n if (C.opts.keepTextFormatOnTable) {\n var t = k(C.selection.element().firstChild).parentsUntil(C.$el);\n e = g(t);\n }\n return {\n startTag: e.startTag,\n closeTag: e.closeTag\n };\n }(),\n i = \"<table \" + (C.opts.tableDefaultWidth ? 'style=\"width: ' + C.opts.tableDefaultWidth + ';\" ' : \"\") + 'class=\"fr-inserted-table\"><tbody>',\n o = 100 / t;\n for (a = 0; a < e; a++) {\n for (i += \"<tr>\", n = 0; n < t; n++) i += \"<td\" + (C.opts.tableDefaultWidth ? ' style=\"width: ' + o.toFixed(4) + '%;\"' : \"\") + \">\" + r.startTag, 0 === a && 0 === n && (i += St.MARKERS), i += \"<br>\" + r.closeTag + \"</td>\";\n i += \"</tr>\";\n }\n if (i += \"</tbody></table>\", C.opts.trackChangesEnabled) {\n C.edit.on(), C.events.focus(!0), C.selection.restore(), C.undo.saveStep(), C.markers.insert(), C.html.wrap();\n var s = C.$el.find(\".fr-marker\");\n C.node.isLastSibling(s) && s.parent().hasClass(\"fr-deletable\") && s.insertAfter(s.parent()), s.replaceWith(i), C.selection.clear();\n } else C.html.insert(i);\n C.selection.restore();\n var l = C.$el.find(\".fr-inserted-table\");\n l.removeClass(\"fr-inserted-table\"), C.events.trigger(\"table.inserted\", [l.get(0)]);\n },\n remove: v,\n insertRow: b,\n deleteRow: function fe() {\n var e = se();\n if (0 < e.length) {\n var t,\n a,\n n,\n r = R(),\n i = M(r);\n if (null == i) return;\n if (0 === i.min_i && i.max_i == r.length - 1) v();else {\n for (t = i.max_i; t >= i.min_i; t--) {\n for (n = k(e.find(\"tr\").not(e.find(\"> table tr\")).get(t)), a = 0; a < r[t].length; a++) if (0 === a || r[t][a] != r[t][a - 1]) {\n var o = k(r[t][a]);\n if (1 < parseInt(o.attr(\"rowspan\"), 10)) {\n var s = parseInt(o.attr(\"rowspan\"), 10) - 1;\n 1 == s ? o.removeAttr(\"rowspan\") : o.attr(\"rowspan\", s);\n }\n if (t < r.length - 1 && r[t][a] == r[t + 1][a] && (0 === t || r[t][a] != r[t - 1][a])) {\n for (var l = r[t][a], c = a; 0 < c && r[t][c] == r[t][c - 1];) c--;\n 0 === c ? k(e.find(\"tr\").not(e.find(\"> table tr\")).get(t + 1)).prepend(l) : k(r[t + 1][c - 1])[0].parentNode && k(r[t + 1][c - 1])[0].insertAdjacentElement(\"afterend\", l);\n }\n }\n var d = n.parent();\n n.remove(), 0 === d.find(\"tr\").length && d.remove(), r = R(e);\n }\n A(0, r.length - 1, 0, r[0].length - 1, e), 0 < i.min_i ? C.selection.setAtEnd(r[i.min_i - 1][0]) : C.selection.setAtEnd(r[0][0]), C.selection.restore(), C.popups.hide(\"table.edit\");\n }\n }\n },\n insertColumn: function pe(d) {\n var e = se();\n if (0 < e.length) {\n var f,\n p = R(),\n t = M(p);\n f = \"before\" == d ? t.min_j : t.max_j;\n var a,\n u = 100 / p[0].length,\n g = 100 / (p[0].length + 1);\n e.find(\"th, td\").each(function () {\n (a = k(this)).data(\"old-width\", a.outerWidth() / e.outerWidth() * 100);\n }), e.find(\"tr\").not(e.find(\"> table tr\")).each(function (e) {\n for (var t, a = k(this), n = 0, r = 0; n - 1 < f;) {\n if (!(t = a.find(\"> th, > td\").get(r))) {\n t = null;\n break;\n }\n t == p[e][n] ? (n += parseInt(k(t).attr(\"colspan\"), 10) || 1, r++) : (n += parseInt(k(p[e][n]).attr(\"colspan\"), 10) || 1, \"after\" == d && (t = 0 === r ? -1 : a.find(\"> th, > td\").get(r - 1)));\n }\n var i = k(t);\n if (\"after\" == d && f < n - 1 || \"before\" == d && 0 < f && p[e][f] == p[e][f - 1]) {\n if (0 === e || 0 < e && p[e][f] != p[e - 1][f]) {\n var o = parseInt(i.attr(\"colspan\"), 10) + 1;\n i.attr(\"colspan\", o), i.css(\"width\", (i.data(\"old-width\") * g / u + g).toFixed(4) + \"%\"), i.removeData(\"old-width\");\n }\n } else {\n var s,\n l = (i.get(0) || \"\").tagName;\n if (0 < a.find(\"th\").length && \"TH\" === l) s = '<th style=\"width: '.concat(g.toFixed(4), '%;\"><br></th>');else {\n var c = m(p[e][f]);\n s = '<td style=\"'.concat(i.attr(\"style\"), \"; width: \").concat(g.toFixed(4), '%;\">') + c.startTag + \"<br>\" + c.closeTag + \"</td>\";\n }\n k(s).append(\"<br>\"), k(s).css(\"width\", \"\".concat(g.toFixed(4), \"%\")), -1 == t ? a.prepend(s) : null == t ? a.append(s) : \"before\" == d ? i.before(s) : \"after\" == d && i.after(s);\n }\n }), e.find(\"th, td\").each(function () {\n (a = k(this)).data(\"old-width\") && (a.css(\"width\", (a.data(\"old-width\") * g / u).toFixed(4) + \"%\"), a.removeData(\"old-width\"));\n }), C.popups.isVisible(\"table.edit\") && h();\n }\n },\n deleteColumn: function ue() {\n var e = se();\n if (0 < e.length) {\n var t,\n a,\n n,\n r = R(),\n i = M(r);\n if (null == i) return;\n if (0 === i.min_j && i.max_j == r[0].length - 1) v();else {\n var o = 0;\n for (t = 0; t < r.length; t++) for (a = 0; a < r[0].length; a++) (n = k(r[t][a])).hasClass(\"fr-selected-cell\") || (n.data(\"old-width\", n.outerWidth() / e.outerWidth() * 100), (a < i.min_j || a > i.max_j) && (o += n.outerWidth() / e.outerWidth() * 100));\n for (o /= r.length, a = i.max_j; a >= i.min_j; a--) for (t = 0; t < r.length; t++) if (0 === t || r[t][a] != r[t - 1][a]) if (n = k(r[t][a]), 1 < (parseInt(n.attr(\"colspan\"), 10) || 1)) {\n var s = parseInt(n.attr(\"colspan\"), 10) - 1;\n 1 == s ? n.removeAttr(\"colspan\") : n.attr(\"colspan\", s), n.css(\"width\", (100 * (n.data(\"old-width\") - ee(a, r)) / o).toFixed(4) + \"%\"), n.removeData(\"old-width\");\n } else {\n var l = k(n.parent().get(0));\n n.remove(), 0 === l.find(\"> th, > td\").length && (0 === l.prev().length || 0 === l.next().length || l.prev().find(\"> th[rowspan], > td[rowspan]\").length < l.prev().find(\"> th, > td\").length) && l.remove();\n }\n A(0, r.length - 1, 0, r[0].length - 1, e), 0 < i.min_j ? C.selection.setAtEnd(r[i.min_i][i.min_j - 1]) : C.selection.setAtEnd(r[i.min_i][0]), C.selection.restore(), C.popups.hide(\"table.edit\"), e.find(\"th, td\").each(function () {\n (n = k(this)).data(\"old-width\") && (n.css(\"width\", (100 * n.data(\"old-width\") / o).toFixed(4) + \"%\"), n.removeData(\"old-width\"));\n });\n }\n }\n },\n mergeCells: function ge() {\n if (1 < oe().length && (0 === C.$el.find(\"th.fr-selected-cell\").length || 0 === C.$el.find(\"td.fr-selected-cell\").length)) {\n I();\n var e,\n t,\n a = M(R());\n if (null == a) return;\n var n = C.$el.find(\".fr-selected-cell\"),\n r = k(n[0]),\n i = r.parent().find(\".fr-selected-cell\"),\n o = r.closest(\"table\"),\n s = r.html(),\n l = 0;\n for (e = 0; e < i.length; e++) l += k(i[e]).outerWidth();\n for (r.css(\"width\", Math.min(100, l / o.outerWidth() * 100).toFixed(4) + \"%\"), a.min_j < a.max_j && r.attr(\"colspan\", a.max_j - a.min_j + 1), a.min_i < a.max_i && r.attr(\"rowspan\", a.max_i - a.min_i + 1), e = 1; e < n.length; e++) \"<br>\" != (t = k(n[e])).html() && \"\" !== t.html() && (s += \"<br>\".concat(t.html())), t.remove();\n r.html(s), C.selection.setAtEnd(r.get(0)), C.selection.restore(), C.toolbar.enable(), _(a.min_i, a.max_i, o);\n var c = o.find(\"tr:empty\");\n for (e = c.length - 1; 0 <= e; e--) k(c[e]).remove();\n E(a.min_j, a.max_j, o), h();\n }\n },\n splitCellVertically: function he() {\n if (1 == oe().length) {\n var e = C.$el.find(\".fr-selected-cell\"),\n t = parseInt(e.attr(\"colspan\"), 10) || 1,\n a = e.parent().outerWidth(),\n n = e.outerWidth(),\n r = e.clone().html(\"<br>\"),\n i = R(),\n o = L(e.get(0), i);\n if (1 < t) {\n var s = Math.ceil(t / 2);\n n = te(o.col, o.col + s - 1, i) / a * 100;\n var l = te(o.col + s, o.col + t - 1, i) / a * 100;\n 1 < s ? e.attr(\"colspan\", s) : e.removeAttr(\"colspan\"), 1 < t - s ? r.attr(\"colspan\", t - s) : r.removeAttr(\"colspan\"), e.css(\"width\", n.toFixed(4) + \"%\"), r.css(\"width\", l.toFixed(4) + \"%\");\n } else {\n var c;\n for (c = 0; c < i.length; c++) if (0 === c || i[c][o.col] != i[c - 1][o.col]) {\n var d = k(i[c][o.col]);\n if (!d.is(e)) {\n var f = (parseInt(d.attr(\"colspan\"), 10) || 1) + 1;\n d.attr(\"colspan\", f);\n }\n }\n n = n / a * 100 / 2, e.css(\"width\", \"\".concat(n.toFixed(4), \"%\")), r.css(\"width\", \"\".concat(n.toFixed(4), \"%\"));\n }\n e[0].parentNode && e[0].insertAdjacentElement(\"afterend\", r[0]), O(), C.popups.hide(\"table.edit\");\n }\n },\n splitCellHorizontally: function me() {\n if (1 == oe().length) {\n var e = C.$el.find(\".fr-selected-cell\"),\n t = e.parent(),\n a = e.closest(\"table\"),\n n = parseInt(e.attr(\"rowspan\"), 10),\n r = R(),\n i = L(e.get(0), r),\n o = e.clone().html(\"<br>\");\n if (1 < n) {\n var s = Math.ceil(n / 2);\n 1 < s ? e.attr(\"rowspan\", s) : e.removeAttr(\"rowspan\"), 1 < n - s ? o.attr(\"rowspan\", n - s) : o.removeAttr(\"rowspan\");\n for (var l = i.row + s, c = 0 === i.col ? i.col : i.col - 1; 0 <= c && (r[l][c] == r[l][c - 1] || 0 < l && r[l][c] == r[l - 1][c]);) c--;\n -1 == c ? k(a.find(\"tr\").not(a.find(\"> table tr\")).get(l)).prepend(o) : k(r[l][c])[0].parentNode && k(r[l][c])[0].insertAdjacentElement(\"afterend\", o[0]);\n } else {\n var d,\n f = k(document.createElement(\"tr\")).append(o);\n for (d = 0; d < r[0].length; d++) if (0 === d || r[i.row][d] != r[i.row][d - 1]) {\n var p = k(r[i.row][d]);\n p.is(e) || p.attr(\"rowspan\", (parseInt(p.attr(\"rowspan\"), 10) || 1) + 1);\n }\n t[0].parentNode && t[0].insertAdjacentElement(\"afterend\", f[0]);\n }\n O(), C.popups.hide(\"table.edit\");\n }\n },\n addHeader: function ve() {\n var e = se();\n if (0 < e.length && 0 === e.find(\"> th\").length) {\n var t,\n a = \"<thead><tr>\",\n n = 0;\n for (n = e.find(\"tr\").first().find(\"> th\").length, e.find(\"tr\").first().find(\"> td\").each(function () {\n var e = k(this);\n n += parseInt(e.attr(\"colspan\"), 10) || 1;\n }), t = 0; t < n; t++) a += \"<th><br></th>\";\n a += \"</tr></thead>\", e.prepend(a), h();\n }\n },\n addFooter: function be() {\n var e = se();\n if (0 < e.length && 0 === e.find(\"tfoot\").length) {\n var t = \"<tfoot><tr>\",\n a = 0,\n n = e.find(\"thead tr\").first();\n 0 === n.length && (n = e.find(\"tbody tr\").first()), n.find(\"th, td\").each(function () {\n a += parseInt(k(this).attr(\"colspan\"), 10) || 1;\n });\n for (var r = 0; r < a; r++) t += \"<td><br></td>\";\n t += \"</tr></tfoot>\", e.append(t), h();\n }\n },\n removeHeader: function Ee() {\n var e = se(),\n t = e.find(\"> thead\");\n if (0 < (t = k(t)).length) if (0 === e.find(\"tbody tr\").length) v();else if (t.remove(), 0 < oe().length) h();else {\n C.popups.hide(\"table.edit\");\n var a = e.find(\"tbody tr\").first().find(\"td\").first().get(0);\n a && (C.selection.setAtEnd(a), C.selection.restore());\n }\n },\n removeFooter: function _e() {\n var e = se(),\n t = e.find(\"tfoot\");\n if (0 < t.length) if (0 === e.find(\"tbody tr\").length) v();else if (t.remove(), 0 < oe().length) h();else {\n C.popups.hide(\"table.edit\");\n var a = e.find(\"tbody tr\").first().find(\"td\").first().get(0);\n a && (C.selection.setAtEnd(a), C.selection.restore());\n }\n },\n setBackground: t,\n showInsertPopup: function we() {\n var e = C.$tb.find('.fr-command[data-cmd=\"insertTable\"]'),\n t = C.popups.get(\"table.insert\");\n if (t || (t = f()), !t.hasClass(\"fr-active\")) {\n C.popups.refresh(\"table.insert\"), C.popups.setContainer(\"table.insert\", C.$tb);\n var a = C.button.getPosition(e),\n n = a.left,\n r = a.top;\n C.popups.show(\"table.insert\", n, r, e.outerHeight());\n }\n },\n showEditPopup: h,\n showColorsPopup: d,\n back: function ye() {\n 0 < oe().length ? h() : (C.popups.hide(\"table.insert\"), C.toolbar.showInline());\n },\n verticalAlign: function Ae(e) {\n C.$el.find(\".fr-selected-cell\").css(\"vertical-align\", e);\n },\n horizontalAlign: function Ce(e) {\n C.$el.find(\".fr-selected-cell\").css(\"text-align\", e);\n },\n applyStyle: function Te(e, t, a, n) {\n if (0 < t.length) {\n if (C.opts.useClasses || (\"TABLE\" === t.get(0).tagName ? function i(e, t) {\n var a = e.childNodes;\n if (0 < a.length) for (var n = 0; n < a.length; n++) \"TD\" === a[n].tagName ? \"fr-dashed-borders\" === t || \"fr-highlighted\" === t || \"fr-thick\" === t ? S(a[n]) : \"fr-alternate-rows\" === t && a[n].style.removeProperty(\"background-color\") : i(a[n], t);\n }(t.get(0), e) : S(t.get(0))), !a) {\n var r = Object.keys(n);\n r.splice(r.indexOf(e), 1), t.removeClass(r.join(\" \"));\n }\n t.toggleClass(e);\n }\n },\n selectedTable: se,\n selectedCells: oe,\n customColor: function ke() {\n var e = C.popups.get(\"table.colors\").find(\".fr-table-colors-hex-layer input\");\n e.length && t(e.val());\n },\n selectCells: D\n };\n }, St.DefineIcon(\"insertTable\", {\n NAME: \"table\",\n SVG_KEY: \"insertTable\"\n }), St.RegisterCommand(\"insertTable\", {\n title: \"Insert Table\",\n undo: !1,\n focus: !0,\n refreshOnCallback: !1,\n popup: !0,\n callback: function () {\n this.popups.isVisible(\"table.insert\") ? (this.$el.find(\".fr-marker\").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"table.insert\")) : this.table.showInsertPopup();\n },\n plugin: \"table\"\n }), St.RegisterCommand(\"tableInsert\", {\n callback: function (e, t, a) {\n this.table.insert(t, a), this.popups.hide(\"table.insert\");\n }\n }), St.DefineIcon(\"tableHeader\", {\n NAME: \"header\",\n FA5NAME: \"heading\",\n SVG_KEY: \"tableHeader\"\n }), St.RegisterCommand(\"tableHeader\", {\n title: \"Table Header\",\n focus: !1,\n toggle: !0,\n callback: function () {\n this.popups.get(\"table.edit\").find('.fr-command[data-cmd=\"tableHeader\"]').hasClass(\"fr-active\") ? this.table.removeHeader() : this.table.addHeader();\n },\n refresh: function (e) {\n var t = this.table.selectedTable();\n 0 < t.length && (0 === t.find(\"> thead\").length ? e.removeClass(\"fr-active\").attr(\"aria-pressed\", !1) : e.addClass(\"fr-active\").attr(\"aria-pressed\", !0));\n }\n }), St.DefineIcon(\"tableFooter\", {\n NAME: \"table\",\n FA5NAME: \"table\",\n SVG_KEY: \"tableFooter\"\n }), St.RegisterCommand(\"tableFooter\", {\n title: \"Table Footer\",\n focus: !1,\n toggle: !0,\n callback: function () {\n this.popups.get(\"table.edit\").find('.fr-command[data-cmd=\"tableFooter\"]').hasClass(\"fr-active\") ? this.table.removeFooter() : this.table.addFooter();\n },\n refresh: function (e) {\n var t = this.table.selectedTable();\n 0 < t.length && (0 === t.find(\"tfoot\").length ? e.removeClass(\"fr-active\").attr(\"aria-pressed\", !1) : e.addClass(\"fr-active\").attr(\"aria-pressed\", !0));\n }\n }), St.DefineIcon(\"tableRows\", {\n NAME: \"bars\",\n SVG_KEY: \"row\"\n }), St.RegisterCommand(\"tableRows\", {\n type: \"dropdown\",\n focus: !1,\n title: \"Row\",\n options: {\n above: \"Insert row above\",\n below: \"Insert row below\",\n \"delete\": \"Delete row\"\n },\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = St.COMMANDS.tableRows.options;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableRows\" data-param1=\"' + a + '\" title=\"' + this.language.translate(t[a]) + '\">' + this.language.translate(t[a]) + \"</a></li>\");\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n \"above\" == t || \"below\" == t ? this.table.insertRow(t) : this.table.deleteRow();\n }\n }), St.DefineIcon(\"tableColumns\", {\n NAME: \"bars fa-rotate-90\",\n SVG_KEY: \"columns\"\n }), St.RegisterCommand(\"tableColumns\", {\n type: \"dropdown\",\n focus: !1,\n title: \"Column\",\n options: {\n before: \"Insert column before\",\n after: \"Insert column after\",\n \"delete\": \"Delete column\"\n },\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = St.COMMANDS.tableColumns.options;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableColumns\" data-param1=\"'.concat(a, '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.language.translate(t[a]), \"</a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n \"before\" == t || \"after\" == t ? this.table.insertColumn(t) : this.table.deleteColumn();\n }\n }), St.DefineIcon(\"tableCells\", {\n NAME: \"square-o\",\n FA5NAME: \"square\",\n SVG_KEY: \"cellOptions\"\n }), St.RegisterCommand(\"tableCells\", {\n type: \"dropdown\",\n focus: !1,\n title: \"Cell\",\n options: {\n merge: \"Merge cells\",\n \"vertical-split\": \"Vertical split\",\n \"horizontal-split\": \"Horizontal split\"\n },\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = St.COMMANDS.tableCells.options;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCells\" data-param1=\"'.concat(a, '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.language.translate(t[a]), \"</a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n \"merge\" == t ? this.table.mergeCells() : \"vertical-split\" == t ? this.table.splitCellVertically() : this.table.splitCellHorizontally();\n },\n refreshOnShow: function (e, t) {\n 1 < this.$el.find(\".fr-selected-cell\").length ? (t.find('a[data-param1=\"vertical-split\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\", !0), t.find('a[data-param1=\"horizontal-split\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\", !0), t.find('a[data-param1=\"merge\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\", !1)) : (t.find('a[data-param1=\"merge\"]').addClass(\"fr-disabled\").attr(\"aria-disabled\", !0), t.find('a[data-param1=\"vertical-split\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\", !1), t.find('a[data-param1=\"horizontal-split\"]').removeClass(\"fr-disabled\").attr(\"aria-disabled\", !1));\n }\n }), St.DefineIcon(\"tableRemove\", {\n NAME: \"trash\",\n SVG_KEY: \"removeTable\"\n }), St.RegisterCommand(\"tableRemove\", {\n title: \"Remove Table\",\n focus: !1,\n callback: function () {\n this.table.remove();\n }\n }), St.DefineIcon(\"tableStyle\", {\n NAME: \"paint-brush\",\n SVG_KEY: \"tableStyle\"\n }), St.RegisterCommand(\"tableStyle\", {\n title: \"Table Style\",\n type: \"dropdown\",\n focus: !1,\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.tableStyles;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableStyle\" data-param1=\"'.concat(a, '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.language.translate(t[a]), \"</a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.table.applyStyle(t, this.$el.find(\".fr-selected-cell\").closest(\"table\"), this.opts.tableMultipleStyles, this.opts.tableStyles);\n },\n refreshOnShow: function (e, t) {\n var a = this.$,\n n = this.$el.find(\".fr-selected-cell\").closest(\"table\");\n n && t.find(\".fr-command\").each(function () {\n var e = a(this).data(\"param1\"),\n t = n.hasClass(e);\n a(this).toggleClass(\"fr-active\", t).attr(\"aria-selected\", t);\n });\n }\n }), St.DefineIcon(\"tableCellBackground\", {\n NAME: \"tint\",\n SVG_KEY: \"cellBackground\"\n }), St.RegisterCommand(\"tableCellBackground\", {\n title: \"Cell Background\",\n focus: !1,\n popup: !0,\n callback: function () {\n this.table.showColorsPopup();\n }\n }), St.RegisterCommand(\"tableCellBackgroundColor\", {\n undo: !0,\n focus: !1,\n callback: function (e, t) {\n this.table.setBackground(t);\n }\n }), St.DefineIcon(\"tableBack\", {\n NAME: \"arrow-left\",\n SVG_KEY: \"back\"\n }), St.RegisterCommand(\"tableBack\", {\n title: \"Back\",\n undo: !1,\n focus: !1,\n back: !0,\n callback: function () {\n this.table.back();\n },\n refresh: function (e) {\n 0 !== this.table.selectedCells().length || this.opts.toolbarInline ? (e.removeClass(\"fr-hidden\"), e.next(\".fr-separator\").removeClass(\"fr-hidden\")) : (e.addClass(\"fr-hidden\"), e.next(\".fr-separator\").addClass(\"fr-hidden\"));\n }\n }), St.DefineIcon(\"tableCellVerticalAlign\", {\n NAME: \"arrows-v\",\n FA5NAME: \"arrows-alt-v\",\n SVG_KEY: \"verticalAlignMiddle\"\n }), St.RegisterCommand(\"tableCellVerticalAlign\", {\n type: \"dropdown\",\n focus: !1,\n title: \"Vertical Align\",\n options: {\n Top: \"Align Top\",\n Middle: \"Align Middle\",\n Bottom: \"Align Bottom\"\n },\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = St.COMMANDS.tableCellVerticalAlign.options;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellVerticalAlign\" data-param1=\"'.concat(a.toLowerCase(), '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.language.translate(a), \"</a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.table.verticalAlign(t);\n },\n refreshOnShow: function (e, t) {\n t.find('.fr-command[data-param1=\"' + this.$el.find(\".fr-selected-cell\").css(\"vertical-align\") + '\"]').addClass(\"fr-active\").attr(\"aria-selected\", !0);\n }\n }), St.DefineIcon(\"tableCellHorizontalAlign\", {\n NAME: \"align-left\",\n SVG_KEY: \"alignLeft\"\n }), St.DefineIcon(\"align-left\", {\n NAME: \"align-left\",\n SVG_KEY: \"alignLeft\"\n }), St.DefineIcon(\"align-right\", {\n NAME: \"align-right\",\n SVG_KEY: \"alignRight\"\n }), St.DefineIcon(\"align-center\", {\n NAME: \"align-center\",\n SVG_KEY: \"alignCenter\"\n }), St.DefineIcon(\"align-justify\", {\n NAME: \"align-justify\",\n SVG_KEY: \"alignJustify\"\n }), St.RegisterCommand(\"tableCellHorizontalAlign\", {\n type: \"dropdown\",\n focus: !1,\n title: \"Horizontal Align\",\n options: {\n left: \"Align Left\",\n center: \"Align Center\",\n right: \"Align Right\",\n justify: \"Align Justify\"\n },\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = St.COMMANDS.tableCellHorizontalAlign.options;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellHorizontalAlign\" data-param1=\"'.concat(a, '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.icon.create(\"align-\".concat(a)), '<span class=\"fr-sr-only\">').concat(this.language.translate(t[a]), \"</span></a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.table.horizontalAlign(t);\n },\n refresh: function (e) {\n var t = this.table.selectedCells(),\n a = this.$;\n t.length && e.find(\"> *\").first().replaceWith(this.icon.create(\"align-\".concat(this.helpers.getAlignment(a(t[0])))));\n },\n refreshOnShow: function (e, t) {\n t.find('.fr-command[data-param1=\"' + this.helpers.getAlignment(this.$el.find(\".fr-selected-cell\").first()) + '\"]').addClass(\"fr-active\").attr(\"aria-selected\", !0);\n }\n }), St.DefineIcon(\"tableCellStyle\", {\n NAME: \"magic\",\n SVG_KEY: \"cellStyle\"\n }), St.RegisterCommand(\"tableCellStyle\", {\n title: \"Cell Style\",\n type: \"dropdown\",\n focus: !1,\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = this.opts.tableCellStyles;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command\" tabIndex=\"-1\" role=\"option\" data-cmd=\"tableCellStyle\" data-param1=\"'.concat(a, '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.language.translate(t[a]), \"</a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.table.applyStyle(t, this.$el.find(\".fr-selected-cell\"), this.opts.tableCellMultipleStyles, this.opts.tableCellStyles);\n },\n refreshOnShow: function (e, t) {\n var a = this.$,\n n = this.$el.find(\".fr-selected-cell\").first();\n n && t.find(\".fr-command\").each(function () {\n var e = a(this).data(\"param1\"),\n t = n.hasClass(e);\n a(this).toggleClass(\"fr-active\", t).attr(\"aria-selected\", t);\n });\n }\n }), St.RegisterCommand(\"tableCellBackgroundCustomColor\", {\n title: \"OK\",\n undo: !0,\n callback: function () {\n this.table.customColor();\n }\n }), St.DefineIcon(\"tableColorRemove\", {\n NAME: \"eraser\",\n SVG_KEY: \"remove\"\n }), St.URLRegEx = \"(^| |\\\\u00A0)(\".concat(St.LinkRegEx, \"|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\\\.[a-z0-9+-_]{1,}))$\"), St.PLUGINS.url = function (f) {\n var p = f.$,\n i = null;\n function t(e, t, a) {\n for (var n = \"\"; a.length && \".\" == a[a.length - 1];) n += \".\", a = a.substring(0, a.length - 1);\n var r = a;\n if (f.opts.linkConvertEmailAddress) f.helpers.isEmail(r) && !/^mailto:.*/i.test(r) && (r = \"mailto:\".concat(r));else if (f.helpers.isEmail(r)) return t + a;\n return /^((http|https|ftp|ftps|mailto|tel|sms|notes|data)\\:)/i.test(r) || (r = \"//\".concat(r)), (t || \"\") + \"<a\".concat(f.opts.linkAlwaysBlank ? ' target=\"_blank\"' : \"\").concat(i ? ' rel=\"'.concat(i, '\"') : \"\", ' data-fr-linked=\"true\" href=\"').concat(r, '\">').concat(a.replace(/&/g, \"&\").replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\"), \"</a>\").concat(n);\n }\n var u = function u() {\n return new RegExp(St.URLRegEx, \"gi\");\n };\n function g(e) {\n return f.opts.linkAlwaysNoFollow && (i = \"nofollow\"), f.opts.linkAlwaysBlank && (f.opts.linkNoOpener && (i ? i += \" noopener\" : i = \"noopener\"), f.opts.linkNoReferrer && (i ? i += \" noreferrer\" : i = \"noreferrer\")), e.replace(u(), t);\n }\n function h(e) {\n var t = e.split(\" \");\n return t[t.length - 1];\n }\n function a() {\n var e = f.selection.ranges(0),\n t = e.startContainer;\n if (t.nodeType !== Node.TEXT_NODE) return !1;\n if (!t || e.startOffset !== (t.textContent || \"\").length) {\n f.markers.insert();\n var a = f.$el.find(\".fr-marker\"),\n n = t.textContent.match(/(^| |\\u00A0)(((([a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,})(\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev)))|((ftp|http|https):\\/\\/[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,})|(www\\.[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,}\\.[a-z0-9-]{2,24})|((ftp|http|https):\\/\\/[\\u0021-\\uffff]{1,}@[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_\\.]{1,}))((:[0-9]{1,5})|)(((\\/|\\?|#)[a-z\\u00a1-\\uffff0-9@?\\|!^=%&\\/~+#-\\'*-_{}]*)|())|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\.[a-z0-9+-_]{1,}))$/gi);\n if (a.remove(), !n) return !1;\n }\n if (function d(e) {\n return !!e && (\"A\" === e.tagName || !(!e.parentNode || e.parentNode == f.el) && d(e.parentNode));\n }(t)) return !1;\n if (u().test(h(t.textContent))) {\n var r,\n i = t.textContent.length;\n if (0 < i && \",\" === t.textContent.charAt(i - 1)) {\n p(t).before(g(t.textContent.substring(0, i - 1))), (r = p(t.parentNode).find(\"a[data-fr-linked]\")).removeAttr(\"data-fr-linked\"), t.textContent = \",\";\n var o = f.win.getSelection().getRangeAt(0);\n o.setStart(t, 1), o.setEnd(t, 1);\n } else p(t).before(g(t.textContent)), (r = p(t.parentNode).find(\"a[data-fr-linked]\")).removeAttr(\"data-fr-linked\"), t.parentNode.removeChild(t);\n f.events.trigger(\"url.linked\", [r.get(0)]);\n } else if (t.textContent.split(\" \").length <= 2 && t.previousSibling && \"A\" === t.previousSibling.tagName) {\n var s = t.previousSibling.innerText + t.textContent,\n l = t.textContent.length;\n if (u().test(h(s)) && \",\" !== t.textContent.charAt(l - 1)) {\n var c = new DOMParser().parseFromString(g(s), \"text/html\").body.childNodes;\n t.parentNode.replaceChild(c[0], t.previousSibling), c.length && p(t).before(c[0]), t.parentNode.removeChild(t);\n }\n }\n }\n return {\n _init: function e() {\n f.events.on(\"keypress\", function (e) {\n !f.selection.isCollapsed() || \")\" != e.key && \"(\" != e.key || a();\n }, !0), f.events.on(\"keydown\", function (e) {\n var t = e.which;\n !f.selection.isCollapsed() || t != St.KEYCODE.ENTER && t != St.KEYCODE.SPACE || a();\n }, !0), f.events.on(\"paste.beforeCleanup\", function (e) {\n if (f.helpers.isURL(e) && !f.$el[0].getAttribute(\"plainpaste\")) {\n var t = null;\n return f.opts.linkAlwaysBlank && (f.opts.linkNoOpener && (t ? t += \" noopener\" : t = \"noopener\"), f.opts.linkNoReferrer && (t ? t += \" noreferrer\" : t = \"noreferrer\")), \"<a\".concat(f.opts.linkAlwaysBlank ? ' target=\"_blank\"' : \"\").concat(t ? ' rel=\"'.concat(t, '\"') : \"\", ' href=\"').concat(e, '\" >').concat(e, \"</a>\");\n }\n if (f.$el[0].getAttribute(\"plainpaste\")) return function a(e) {\n if (\"string\" == typeof e) return (e = e.replace(/&/g, \"&\")).replace(/(?:https?|ftp|file):\\/\\/(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.]*\\)|[-A-Z0-9+&@#\\/%=~_|$?!:,.])*(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.]*\\)|[A-Z0-9+&@#\\/%=~_|$])|www\\.(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.]*\\)|[-A-Z0-9+&@#\\/%=~_|$?!:,.])*(?:\\([-A-Z0-9+&@#\\/%=~_|$?!:,.]*\\)|[A-Z0-9+&@#\\/%=~_|$])|([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\\.[a-zA-Z0-9_-]+)/gim, g);\n }(e);\n });\n }\n };\n }, Object.assign(St.POPUP_TEMPLATES, {\n \"video.insert\": \"[_BUTTONS_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_LAYER_][_PROGRESS_BAR_]\",\n \"video.edit\": \"[_BUTTONS_]\",\n \"video.size\": \"[_BUTTONS_][_SIZE_LAYER_]\"\n }), Object.assign(St.DEFAULTS, {\n videoAllowedTypes: [\"mp4\", \"webm\", \"ogg\", \"mp3\", \"mpeg\", \"url\"],\n videoAllowedProviders: [\".*\"],\n videoDefaultAlign: \"center\",\n videoDefaultDisplay: \"block\",\n videoDefaultWidth: 600,\n videoEditButtons: [\"videoReplace\", \"videoRemove\", \"videoDisplay\", \"videoAlign\", \"videoSize\", \"autoplay\"],\n videoInsertButtons: [\"videoBack\", \"|\", \"videoByURL\", \"videoEmbed\", \"videoUpload\"],\n videoMaxSize: 52428800,\n videoMove: !0,\n videoResize: !0,\n videoResponsive: !1,\n videoSizeButtons: [\"videoBack\", \"|\"],\n videoSplitHTML: !1,\n videoTextNear: !0,\n videoUpload: !0,\n videoUploadMethod: \"POST\",\n videoUploadParam: \"file\",\n videoUploadParams: {},\n videoUploadToS3: !1,\n videoUploadToAzure: !1,\n videoUploadURL: null\n }), St.VIDEO_PROVIDERS = [{\n test_regex: /^.*((youtu.be)|(youtube.com))\\/((v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))?\\/?((shorts\\/)|(v=))?([^#\\&\\?]*).*/,\n url_regex: /(?:https?:\\/\\/)?(?:www\\.)?(?:m\\.)?(?:youtube\\.com|youtu\\.be)\\/(?:watch\\?v=|embed\\/|shorts\\/)?([0-9a-zA-Z_\\-]+)(.*)?/g,\n url_text: \"https://www.youtube.com/embed/$1?$2\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}&wmode=opaque&rel=0\" frameborder=\"0\" allowfullscreen></iframe>',\n provider: \"youtube\"\n }, {\n test_regex: /^.*(?:vimeo.com)\\/(?:channels(\\/\\w+\\/)?|groups\\/*\\/videos\\/\\u200b\\d+\\/|video\\/|)(\\d+)(?:$|\\/|\\?)/,\n url_regex: /(?:https?:\\/\\/)?(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^\\/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:[a-zA-Z0-9_\\-]+)?(\\/[a-zA-Z0-9_\\-]+)?/i,\n url_text: \"https://player.vimeo.com/video/$1\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',\n provider: \"vimeo\"\n }, {\n test_regex: /^.+(dailymotion.com|dai.ly)\\/(video|hub)?\\/?([^_]+)[^#]*(#video=([^_&]+))?/,\n url_regex: /(?:https?:\\/\\/)?(?:www\\.)?(?:dailymotion\\.com|dai\\.ly)\\/(?:video|hub)?\\/?(.+)/g,\n url_text: \"https://www.dailymotion.com/embed/video/$1\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',\n provider: \"dailymotion\"\n }, {\n test_regex: /^.+(screen.yahoo.com)\\/[^_&]+/,\n url_regex: \"\",\n url_text: \"\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}?format=embed\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',\n provider: \"yahoo\"\n }, {\n test_regex: /^.+(rutube.ru)\\/[^_&]+/,\n url_regex: /(?:https?:\\/\\/)?(?:www\\.)?(?:rutube\\.ru)\\/(?:video)?\\/?(.+)/g,\n url_text: \"https://rutube.ru/play/embed/$1\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen=\"true\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" allowtransparency=\"true\"></iframe>',\n provider: \"rutube\"\n }, {\n test_regex: /^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/,\n url_regex: /^(?:.+)vidyard.com\\/(?:watch)?\\/?([^.&/]+)\\/?(?:[^_.&]+)?/g,\n url_text: \"https://play.vidyard.com/$1\",\n html: '<iframe width=\"640\" height=\"360\" src=\"{url}\" frameborder=\"0\" allowfullscreen></iframe>',\n provider: \"vidyard\"\n }], St.VIDEO_EMBED_REGEX = /^\\W*(<div[^>]*>\\s*<iframe[^>]*>.*?<\\/iframe>\\s*<\\/div>(\\s*<script[^>]*>.*?<\\/script>)?|<iframe[^>]*>.*?<\\/iframe>|<embed(.|\\n)*>)\\W*$/i, St.PLUGINS.video = function (_) {\n var s,\n d,\n f,\n w,\n n,\n a,\n y = _.$,\n A = \"https://i.froala.com/upload\",\n p = 2,\n u = 3,\n g = 4,\n C = 5,\n T = 6,\n r = {};\n function h() {\n var e = _.popups.get(\"video.insert\");\n e.find(\".fr-video-by-url-layer input\").val(\"\").trigger(\"change\");\n var t = e.find(\".fr-video-embed-layer textarea\");\n t.val(\"\").trigger(\"change\"), (t = e.find(\".fr-video-upload-layer input\")).val(\"\").trigger(\"change\");\n }\n function i() {\n var e = _.popups.get(\"video.edit\");\n if (e || (e = function o() {\n var e = \"\";\n if (0 < _.opts.videoEditButtons.length) {\n _.opts.videoResponsive && (-1 < _.opts.videoEditButtons.indexOf(\"videoSize\") && _.opts.videoEditButtons.splice(_.opts.videoEditButtons.indexOf(\"videoSize\"), 1), -1 < _.opts.videoEditButtons.indexOf(\"videoDisplay\") && _.opts.videoEditButtons.splice(_.opts.videoEditButtons.indexOf(\"videoDisplay\"), 1), -1 < _.opts.videoEditButtons.indexOf(\"videoAlign\") && _.opts.videoEditButtons.splice(_.opts.videoEditButtons.indexOf(\"videoAlign\"), 1));\n var t = {\n buttons: e += '<div class=\"fr-buttons\"> \\n '.concat(_.button.buildList(_.opts.videoEditButtons), \" \\n </div>\")\n },\n a = _.popups.create(\"video.edit\", t);\n return _.events.$on(_.$wp, \"scroll.video-edit\", function () {\n w && _.popups.isVisible(\"video.edit\") && (_.events.disableBlur(), c(w));\n }), a;\n }\n return !1;\n }()), e) {\n _.popups.setContainer(\"video.edit\", _.$sc), _.popups.refresh(\"video.edit\");\n var t = w.find(\"iframe, embed, \".concat(w.find(\"iframe, embed, audio\").get(0) ? \"audio\" : \"video\")),\n a = t.offset().left + t.outerWidth() / 2,\n n = t.offset().top + t.outerHeight(),\n r = t.get(0).src ? t.get(0).src : t.get(0).currentSrc,\n i = !(!(r = (r = r.split(\".\"))[r.length - 1]).includes(\"pdf\") && !r.includes(\"txt\"));\n t.hasClass(\"fr-file\") || i || w.find(\"audio\").get(0) ? (document.getElementById(\"autoplay-\".concat(_.id)) && (document.getElementById(\"autoplay-\".concat(_.id)).style.display = \"none\"), document.getElementById(\"videoReplace-\".concat(_.id)) && (document.getElementById(\"videoReplace-\".concat(_.id)).style.display = \"none\")) : (document.getElementById(\"autoplay-\".concat(_.id)) && (document.getElementById(\"autoplay-\".concat(_.id)).style.display = \"\"), document.getElementById(\"videoReplace-\".concat(_.id)) && (document.getElementById(\"videoReplace-\".concat(_.id)).style.display = \"\")), _.popups.show(\"video.edit\", a, n, t.outerHeight(), !0);\n }\n }\n function o(e) {\n if (e) return _.popups.onRefresh(\"video.insert\", h), _.popups.onHide(\"video.insert\", Z), !0;\n var t = \"\";\n _.opts.videoUpload || -1 === _.opts.videoInsertButtons.indexOf(\"videoUpload\") || _.opts.videoInsertButtons.splice(_.opts.videoInsertButtons.indexOf(\"videoUpload\"), 1);\n var a = _.button.buildList(_.opts.videoInsertButtons);\n \"\" !== a && (t = '<div class=\"fr-buttons\">' + a + \"</div>\");\n var n,\n r = \"\",\n i = _.opts.videoInsertButtons.indexOf(\"videoUpload\"),\n o = _.opts.videoInsertButtons.indexOf(\"videoByURL\"),\n s = _.opts.videoInsertButtons.indexOf(\"videoEmbed\");\n if (0 <= o) {\n n = \" fr-active\", (i < o && 0 <= i || s < o && 0 <= s) && (n = \"\");\n r = '<div class=\"fr-video-by-url-layer fr-layer'.concat(n, '\" id=\"fr-video-by-url-layer-').concat(_.id, '\"><div class=\"fr-input-line\"><input id=\"fr-video-by-url-layer-text-').concat(_.id, '\" type=\"text\" placeholder=\"').concat(_.language.translate(\"Paste in a video URL\"), '\" tabIndex=\"1\" aria-required=\"true\"></div><div class=\"fr-action-buttons\"><span style=\\'float:left\\'><div class=\"fr-checkbox-line fr-autoplay-margin\"><span class=\"fr-checkbox\"> <input id=\\'videoPluginAutoplay\\' data-checked=\"_blank\" type=\"checkbox\"> <span>').concat('<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"10\" height=\"10\" viewBox=\"0 0 32 32\"><path d=\"M27 4l-15 15-7-7-5 5 12 12 20-20z\" fill=\"#FFF\"></path></svg>', '</span></span> <label id=\"fr-label-target-').concat(_.id, '\">Autoplay</label></div> </span><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoInsertByURL\" tabIndex=\"2\" role=\"button\">').concat(_.language.translate(\"Insert\"), \"</button></div></div>\");\n }\n var l = \"\";\n 0 <= s && (n = \" fr-active\", (i < s && 0 <= i || o < s && 0 <= o) && (n = \"\"), l = '<div class=\"fr-video-embed-layer fr-layer'.concat(n, '\" id=\"fr-video-embed-layer-').concat(_.id, '\"><div class=\"fr-input-line\"><textarea id=\"fr-video-embed-layer-text').concat(_.id, '\" type=\"text\" placeholder=\"').concat(_.language.translate(\"Embedded Code\"), '\" tabIndex=\"1\" aria-required=\"true\" rows=\"5\"></textarea></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoInsertEmbed\" tabIndex=\"2\" role=\"button\">').concat(_.language.translate(\"Insert\"), \"</button></div></div>\"));\n var c = \"\";\n 0 <= i && (n = \" fr-active\", (s < i && 0 <= s || o < i && 0 <= o) && (n = \"\"), c = '<div class=\"fr-video-upload-layer fr-layer'.concat(n, '\" id=\"fr-video-upload-layer-').concat(_.id, '\"><strong>').concat(_.language.translate(\"Drop video\"), \"</strong><br>(\").concat(_.language.translate(\"or click\"), ')<div class=\"fr-form\"><input type=\"file\" accept=\"video/').concat(_.opts.videoAllowedTypes.join(\", video/\").toLowerCase(), '\" tabIndex=\"-1\" aria-labelledby=\"fr-video-upload-layer-').concat(_.id, '\" role=\"button\"></div></div>'));\n var d = {\n buttons: t,\n by_url_layer: r,\n embed_layer: l,\n upload_layer: c,\n progress_bar: '<div class=\"fr-video-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"videoDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>'\n },\n f = _.popups.create(\"video.insert\", d);\n return function p(n) {\n _.events.$on(n, \"dragover dragenter\", \".fr-video-upload-layer\", function () {\n return y(this).addClass(\"fr-drop\"), !1;\n }, !0), _.events.$on(n, \"dragleave dragend\", \".fr-video-upload-layer\", function () {\n return y(this).removeClass(\"fr-drop\"), !1;\n }, !0), _.events.$on(n, \"drop\", \".fr-video-upload-layer\", function (e) {\n e.preventDefault(), e.stopPropagation(), y(this).removeClass(\"fr-drop\");\n var t = e.originalEvent.dataTransfer;\n if (t && t.files) {\n var a = n.data(\"instance\") || _;\n a.events.disableBlur(), a.video.upload(t.files), a.events.enableBlur();\n }\n }, !0), _.helpers.isIOS() && _.events.$on(n, \"touchstart\", '.fr-video-upload-layer input[type=\"file\"]', function () {\n y(this).trigger(\"click\");\n }, !0);\n _.events.$on(n, \"change\", '.fr-video-upload-layer input[type=\"file\"]', function () {\n if (this.files) {\n var e = n.data(\"instance\") || _;\n e.events.disableBlur(), n.find(\"input:focus\").blur(), e.events.enableBlur(), e.video.upload(this.files);\n }\n y(this).val(\"\");\n }, !0);\n }(f), f;\n }\n function m(e) {\n _.events.focus(!0), _.selection.restore();\n var t = !1;\n if (w && (X(), t = !0), _.opts.trackChangesEnabled) {\n _.edit.on(), _.events.focus(!0), _.selection.restore(), _.undo.saveStep(), _.markers.insert(), _.html.wrap();\n var a = _.$el.find(\".fr-marker\");\n _.node.isLastSibling(a) && a.parent().hasClass(\"fr-deletable\") && a.insertAfter(a.parent()), a.replaceWith('<span contenteditable=\"false\" draggable=\"true\" class=\"fr-jiv fr-video fr-deletable\">'.concat(e, \"</span>\")), _.selection.clear();\n } else _.html.insert('<span contenteditable=\"false\" draggable=\"true\" class=\"fr-jiv fr-video fr-deletable\">'.concat(e, \"</span>\"), !1, _.opts.videoSplitHTML);\n _.popups.hide(\"video.insert\");\n var n = _.$el.find(\".fr-jiv\");\n n.removeClass(\"fr-jiv\"), n.toggleClass(\"fr-rv\", _.opts.videoResponsive), Q(n, _.opts.videoDefaultDisplay, _.opts.videoDefaultAlign), n.toggleClass(\"fr-draggable\", _.opts.videoMove), _.events.trigger(t ? \"video.replaced\" : \"video.inserted\", [n]);\n }\n function v() {\n var e = y(this);\n _.popups.hide(\"video.insert\"), e.removeClass(\"fr-uploading\"), e.parent().next().is(\"br\") && e.parent().next().remove(), c(e.parent()), _.events.trigger(\"video.loaded\", [e.parent()]);\n }\n function k(s, e, l, c, d, f) {\n _.edit.off(), b(\"Loading video\"), e && (s = _.helpers.sanitizeURL(s));\n var p = function p() {\n var e, t;\n if (c) {\n _.undo.canDo() || c.find(\"video\").hasClass(\"fr-uploading\") || _.undo.saveStep();\n var a = c.find(\"video\").data(\"fr-old-src\"),\n n = c.data(\"fr-replaced\");\n if (c.data(\"fr-replaced\", !1), 0 < c.find(\"iframe\").length) c.remove(), e = O(s, l, v);else {\n _.$wp ? ((e = c.clone(!0)).find(\"video\").removeData(\"fr-old-src\").removeClass(\"fr-uploading\"), e.find(\"video\").off(\"canplay\"), a && c.find(\"video\").attr(\"src\", a), c.replaceWith(e)) : e = c;\n for (var r = e.find(\"video\").get(0).attributes, i = 0; i < r.length; i++) {\n var o = r[i];\n 0 === o.nodeName.indexOf(\"data-\") && e.find(\"video\").removeAttr(o.nodeName);\n }\n if (void 0 !== l) for (t in l) l.hasOwnProperty(t) && \"link\" != t && e.find(\"video\").attr(\"data-\".concat(t), l[t]);\n e.find(\"video\").on(\"canplay\", v), e.find(\"video\").attr(\"src\", s);\n }\n _.edit.on(), B(), _.undo.saveStep(), _.$el.blur(), _.events.trigger(n ? \"video.replaced\" : \"video.inserted\", [e, d]);\n } else e = O(s, l, v, f), B(), _.undo.saveStep(), _.events.trigger(\"video.inserted\", [e, d]);\n };\n S(\"Loading video\"), p();\n }\n function S(e) {\n var t = _.popups.get(\"video.insert\");\n if (t || (t = o()), t.find(\".fr-layer.fr-active\").removeClass(\"fr-active\").addClass(\"fr-pactive\"), t.find(\".fr-video-progress-bar-layer\").addClass(\"fr-active\"), t.find(\".fr-buttons\").hide(), w) {\n var a = w.find(\"iframe, embed, \".concat(w.find(\"iframe, embed, audio\").get(0) ? \"audio\" : \"video\"));\n _.popups.setContainer(\"video.insert\", _.$sc);\n var n = a.offset().left,\n r = a.offset().top + a.height();\n _.popups.show(\"video.insert\", n, r, a.outerHeight());\n }\n void 0 === e && b(_.language.translate(\"Uploading\"), 0);\n }\n function l(e) {\n var t = _.popups.get(\"video.insert\");\n if (t && (t.find(\".fr-layer.fr-pactive\").addClass(\"fr-active\").removeClass(\"fr-pactive\"), t.find(\".fr-video-progress-bar-layer\").removeClass(\"fr-active\"), t.find(\".fr-buttons\").show(), e || _.$el.find(\"video.fr-error\").length)) {\n if (_.events.focus(), _.$el.find(\"video.fr-error\").length && (_.$el.find(\"video.fr-error\").parent().remove(), _.undo.saveStep(), _.undo.run(), _.undo.dropRedo()), !_.$wp && w) {\n var a = w;\n $(!0), _.selection.setAfter(a.find(\"video\").get(0)), _.selection.restore();\n }\n _.popups.hide(\"video.insert\");\n }\n }\n function b(e, t) {\n var a = _.popups.get(\"video.insert\");\n if (a) {\n var n = a.find(\".fr-video-progress-bar-layer\");\n n.find(\"h3\").text(e + (t ? \" \".concat(t, \"%\") : \"\")), n.removeClass(\"fr-error\"), t ? (n.find(\"div\").removeClass(\"fr-indeterminate\"), n.find(\"div > span\").css(\"width\", \"\".concat(t, \"%\"))) : n.find(\"div\").addClass(\"fr-indeterminate\");\n }\n }\n function E(e) {\n S();\n var t = _.popups.get(\"video.insert\").find(\".fr-video-progress-bar-layer\");\n t.addClass(\"fr-error\");\n var a = t.find(\"h3\");\n a.text(e), _.events.disableBlur(), a.focus();\n }\n function c(e) {\n t.call(e.get(0));\n }\n function R(e, t, a) {\n b(\"Loading video\");\n var n = this.status,\n r = this.response,\n i = this.responseXML,\n o = this.responseText;\n try {\n if (_.opts.videoUploadToS3 || _.opts.videoUploadToAzure) {\n if (201 == n) {\n var s;\n if (_.opts.videoUploadToAzure) {\n if (!1 === _.events.trigger(\"video.uploadedToAzure\", [this.responseURL, a, r], !0)) return _.edit.on(), !1;\n s = t;\n } else s = function c(e) {\n try {\n var t = y(e).find(\"Location\").text(),\n a = y(e).find(\"Key\").text();\n return !1 === _.events.trigger(\"video.uploadedToS3\", [t, a, e], !0) ? (_.edit.on(), !1) : t;\n } catch (n) {\n return G(g, e), !1;\n }\n }(i);\n s && k(s, !1, [], e, r || i);\n } else G(g, r || i);\n } else if (200 <= n && n < 300) {\n var l = function d(e) {\n try {\n if (!1 === _.events.trigger(\"video.uploaded\", [e], !0)) return _.edit.on(), !1;\n var t = JSON.parse(e);\n return t.link ? t : (G(p, e), !1);\n } catch (a) {\n return G(g, e), !1;\n }\n }(o);\n l && k(l.link, !1, l, e, r || o);\n } else G(u, r || o);\n } catch (f) {\n G(g, r || o);\n }\n }\n function L() {\n G(g, this.response || this.responseText || this.responseXML);\n }\n function x(e) {\n if (e.lengthComputable) {\n var t = e.loaded / e.total * 100 | 0;\n b(_.language.translate(\"Uploading\"), t);\n }\n }\n function I() {\n _.edit.on(), l(!0);\n }\n function O(e, t, a, n) {\n var r,\n i,\n o = \"\";\n if (t && void 0 !== t) for (r in t) t.hasOwnProperty(r) && \"link\" != r && (o += \" \".concat(r, '=\"').concat(t[r], '\"'));\n var s = _.opts.videoDefaultWidth;\n s && \"auto\" != s && (s = \"\".concat(s, \"px\")), _.helpers.isMobile() && _.browser.safari && (o += \" autoplay playsinline\"), (i = \"audio\" == n ? y(document.createElement(\"span\")).attr(\"contenteditable\", \"false\").attr(\"draggable\", \"true\").attr(\"class\", \"fr-video fr-dv\" + _.opts.videoDefaultDisplay[0] + (\"center\" != _.opts.videoDefaultAlign ? \" fr-fv\" + _.opts.videoDefaultAlign[0] : \"\")).html('<audio src=\"' + e + '\" ' + o + \" controls>\" + _.language.translate(\"Your browser does not support HTML5 video.\") + \"</audio>\") : y(document.createElement(\"span\")).attr(\"contenteditable\", \"false\").attr(\"draggable\", \"true\").attr(\"class\", \"fr-video fr-dv\" + _.opts.videoDefaultDisplay[0] + (\"center\" != _.opts.videoDefaultAlign ? \" fr-fv\" + _.opts.videoDefaultAlign[0] : \"\")).html('<video src=\"' + e + '\" ' + o + (s ? ' style=\"width: ' + s + ';\" ' : \"\") + \" controls>\" + _.language.translate(\"Your browser does not support HTML5 video.\") + \"</video>\")).toggleClass(\"fr-draggable\", _.opts.videoMove), _.edit.on(), _.events.focus(!0), _.selection.restore(), _.undo.saveStep(), _.opts.videoSplitHTML ? _.markers.split() : (_.cursor.enter(), _.markers.insert()), _.html.wrap();\n var l = _.$el.find(\".fr-marker\");\n return _.node.isLastSibling(l) && l.parent().hasClass(\"fr-deletable\") && l.insertAfter(l.parent()), l.replaceWith(i), _.selection.clear(), \"audio\" !== n && (i.find(\"video\").get(0).readyState > i.find(\"video\").get(0).HAVE_FUTURE_DATA || _.helpers.isIOS() ? a.call(i.find(\"video\").get(0)) : i.find(\"video\").on(\"canplaythrough load\", a)), i;\n }\n function F(e) {\n if (!_.core.sameInstance(f)) return !0;\n e.preventDefault(), e.stopPropagation();\n var t = e.pageX || (e.originalEvent.touches ? e.originalEvent.touches[0].pageX : null),\n a = e.pageY || (e.originalEvent.touches ? e.originalEvent.touches[0].pageY : null);\n if (!t || !a) return !1;\n if (\"mousedown\" == e.type) {\n var n = _.$oel.get(0).ownerDocument,\n r = n.defaultView || n.parentWindow,\n i = !1;\n try {\n i = r.location != r.parent.location && !(r.$ && r.$.FE);\n } catch (o) {}\n i && r.frameElement && (t += _.helpers.getPX(y(r.frameElement).offset().left) + r.frameElement.clientLeft, a = e.clientY + _.helpers.getPX(y(r.frameElement).offset().top) + r.frameElement.clientTop);\n }\n _.undo.canDo() || _.undo.saveStep(), (d = y(this)).data(\"start-x\", t), d.data(\"start-y\", a), s.show(), _.popups.hideAll(), z();\n }\n function M(e) {\n if (!_.core.sameInstance(f)) return !0;\n if (d) {\n e.preventDefault();\n var t = e.pageX || (e.originalEvent.touches ? e.originalEvent.touches[0].pageX : null),\n a = e.pageY || (e.originalEvent.touches ? e.originalEvent.touches[0].pageY : null);\n if (!t || !a) return !1;\n var n = d.data(\"start-x\"),\n r = d.data(\"start-y\");\n d.data(\"start-x\", t), d.data(\"start-y\", a);\n var i = t - n,\n o = a - r,\n s = w.find(\"iframe, embed, \".concat(w.find(\"iframe, embed, audio\").get(0) ? \"audio\" : \"video\")),\n l = s.width(),\n c = s.height();\n (d.hasClass(\"fr-hnw\") || d.hasClass(\"fr-hsw\")) && (i = 0 - i), (d.hasClass(\"fr-hnw\") || d.hasClass(\"fr-hne\")) && (o = 0 - o), s.css(\"width\", l + i), s.css(\"height\", c + o), s.removeAttr(\"width\"), s.removeAttr(\"height\"), U();\n }\n }\n function N(e) {\n if (!_.core.sameInstance(f)) return !0;\n d && w && (e && e.stopPropagation(), d = null, s.hide(), U(), i(), _.undo.saveStep());\n }\n function D(e) {\n return '<div class=\"fr-handler fr-h'.concat(e, '\"></div>');\n }\n function P(e, t, a, n) {\n return e.pageX = t, e.pageY = t, F.call(this, e), e.pageX = e.pageX + a * Math.floor(Math.pow(1.1, n)), e.pageY = e.pageY + a * Math.floor(Math.pow(1.1, n)), M.call(this, e), N.call(this, e), ++n;\n }\n function B() {\n var e,\n t = Array.prototype.slice.call(_.el.querySelectorAll(\"video, .fr-video > *\")),\n a = [];\n for (e = 0; e < t.length; e++) a.push(t[e].getAttribute(\"src\")), y(t[e]).toggleClass(\"fr-draggable\", _.opts.videoMove), \"\" === t[e].getAttribute(\"class\") && t[e].removeAttribute(\"class\"), \"\" === t[e].getAttribute(\"style\") && t[e].removeAttribute(\"style\");\n if (n) for (e = 0; e < n.length; e++) a.indexOf(n[e].getAttribute(\"src\")) < 0 && _.events.trigger(\"video.removed\", [y(n[e])]);\n n = t;\n }\n function U() {\n f || function o() {\n var e;\n if (_.shared.$video_resizer ? (f = _.shared.$video_resizer, s = _.shared.$vid_overlay, _.events.on(\"destroy\", function () {\n y(\"body\").first().append(f.removeClass(\"fr-active\"));\n }, !0)) : (_.shared.$video_resizer = y(document.createElement(\"div\")).attr(\"class\", \"fr-video-resizer\"), f = _.shared.$video_resizer, _.events.$on(f, \"mousedown\", function (e) {\n e.stopPropagation();\n }, !0), _.opts.videoResize && (f.append(D(\"nw\") + D(\"ne\") + D(\"sw\") + D(\"se\")), _.shared.$vid_overlay = y(document.createElement(\"div\")).attr(\"class\", \"fr-video-overlay\"), s = _.shared.$vid_overlay, e = f.get(0).ownerDocument, y(e).find(\"body\").first().append(s))), _.events.on(\"shared.destroy\", function () {\n f.html(\"\").removeData().remove(), f = null, _.opts.videoResize && (s.remove(), s = null);\n }, !0), _.helpers.isMobile() || _.events.$on(y(_.o_win), \"resize.video\", function () {\n $(!0);\n }), _.opts.videoResize) {\n e = f.get(0).ownerDocument, _.events.$on(f, _._mousedown, \".fr-handler\", F), _.events.$on(y(e), _._mousemove, M), _.events.$on(y(e.defaultView || e.parentWindow), _._mouseup, N), _.events.$on(s, \"mouseleave\", N);\n var n = 1,\n r = null,\n i = 0;\n _.events.on(\"keydown\", function (e) {\n if (w) {\n var t = -1 != navigator.userAgent.indexOf(\"Mac OS X\") ? e.metaKey : e.ctrlKey,\n a = e.which;\n (a !== r || 200 < e.timeStamp - i) && (n = 1), (a == St.KEYCODE.EQUALS || _.browser.mozilla && a == St.KEYCODE.FF_EQUALS) && t && !e.altKey ? n = P.call(this, e, 1, 1, n) : (a == St.KEYCODE.HYPHEN || _.browser.mozilla && a == St.KEYCODE.FF_HYPHEN) && t && !e.altKey && (n = P.call(this, e, 2, -1, n)), r = a, i = e.timeStamp;\n }\n }), _.events.on(\"keyup\", function () {\n n = 1;\n });\n }\n }(), (_.$wp || _.$sc).append(f), f.data(\"instance\", _);\n var e = w.find(\"iframe, embed, \".concat(w.find(\"iframe, embed, audio\").get(0) ? \"audio\" : \"video\")),\n t = 0,\n a = 0;\n _.opts.iframe && (a = _.helpers.getPX(_.$wp.find(\".fr-iframe\").css(\"padding-top\")), t = _.helpers.getPX(_.$wp.find(\".fr-iframe\").css(\"padding-left\"))), f.css(\"top\", (_.opts.iframe ? e.offset().top + a - 1 : e.offset().top - _.$wp.offset().top - 1) + _.$wp.scrollTop()).css(\"left\", (_.opts.iframe ? e.offset().left + t - 1 : e.offset().left - _.$wp.offset().left - 1) + _.$wp.scrollLeft()).css(\"width\", e.get(0).getBoundingClientRect().width).css(\"height\", e.get(0).getBoundingClientRect().height).addClass(\"fr-active\");\n }\n function t(e) {\n if (e && \"touchend\" == e.type && a) return !0;\n if (e && _.edit.isDisabled()) return e.stopPropagation(), e.preventDefault(), !1;\n if (_.edit.isDisabled()) return !1;\n for (var t = 0; t < St.INSTANCES.length; t++) St.INSTANCES[t] != _ && St.INSTANCES[t].events.trigger(\"video.hideResizer\");\n _.toolbar.disable(), _.helpers.isMobile() && (_.events.disableBlur(), _.$el.blur(), _.events.enableBlur()), _.$el.find(\".fr-video.fr-active\").removeClass(\"fr-active\"), (w = y(this)).addClass(\"fr-active\"), _.opts.iframe && _.size.syncIframe(), te(), U(), i(), _.selection.clear(), _.button.bulkRefresh(), _.events.trigger(\"image.hideResizer\");\n }\n function $(e) {\n w && (function t() {\n return _.shared.vid_exit_flag;\n }() || !0 === e) && (f.removeClass(\"fr-active\"), _.toolbar.enable(), w.removeClass(\"fr-active\"), w = null, z());\n }\n function H() {\n _.shared.vid_exit_flag = !0;\n }\n function z() {\n _.shared.vid_exit_flag = !1;\n }\n function K(e) {\n var t = e.originalEvent.dataTransfer;\n if (t && t.files && t.files.length) {\n var a = t.files[0];\n if (a && a.type && -1 !== a.type.indexOf(\"video\")) {\n if (!_.opts.videoUpload) return e.preventDefault(), e.stopPropagation(), !1;\n _.markers.remove(), _.markers.insertAtPoint(e.originalEvent), _.$el.find(\".fr-marker\").replaceWith(St.MARKERS), _.popups.hideAll();\n var n = _.popups.get(\"video.insert\");\n return n || (n = o()), _.popups.setContainer(\"video.insert\", _.$sc), _.popups.show(\"video.insert\", e.originalEvent.pageX, e.originalEvent.pageY), S(), 0 <= _.opts.videoAllowedTypes.indexOf(a.type.replace(/video\\//g, \"\")) ? W(t.files) : G(T), e.preventDefault(), e.stopPropagation(), !1;\n }\n }\n }\n function W(e) {\n if (void 0 !== e && 0 < e.length) {\n if (!1 === _.events.trigger(\"video.beforeUpload\", [e])) return !1;\n var t,\n a = e[0];\n if (!(null !== _.opts.videoUploadURL && _.opts.videoUploadURL != A || _.opts.videoUploadToS3 || _.opts.videoUploadToAzure)) return function E(n) {\n w && w.find(\"iframe\") && w.find(\"iframe\").length && X();\n var r = new FileReader();\n r.onload = function () {\n r.result;\n for (var e = atob(r.result.split(\",\")[1]), t = [], a = 0; a < e.length; a++) t.push(e.charCodeAt(a));\n k(window.URL.createObjectURL(new Blob([new Uint8Array(t)], {\n type: n.type\n })), !1, null, w);\n }, S(), r.readAsDataURL(n);\n }(a), !1;\n if (a.size > _.opts.videoMaxSize) return G(C), !1;\n if (_.opts.videoAllowedTypes.indexOf(a.type.replace(/video\\//g, \"\")) < 0) return G(T), !1;\n if (_.drag_support.formdata && (t = _.drag_support.formdata ? new FormData() : null), t) {\n var n;\n if (!1 !== _.opts.videoUploadToS3) for (n in t.append(\"key\", _.opts.videoUploadToS3.keyStart + new Date().getTime() + \"-\" + (a.name || \"untitled\")), t.append(\"success_action_status\", \"201\"), t.append(\"X-Requested-With\", \"xhr\"), t.append(\"Content-Type\", a.type), _.opts.videoUploadToS3.params) _.opts.videoUploadToS3.params.hasOwnProperty(n) && t.append(n, _.opts.videoUploadToS3.params[n]);\n for (n in _.opts.videoUploadParams) _.opts.videoUploadParams.hasOwnProperty(n) && t.append(n, _.opts.videoUploadParams[n]);\n t.append(_.opts.videoUploadParam, a);\n var r,\n i,\n o = _.opts.videoUploadURL;\n _.opts.videoUploadToS3 && (o = _.opts.videoUploadToS3.uploadURL ? _.opts.videoUploadToS3.uploadURL : \"https://\".concat(_.opts.videoUploadToS3.region, \".amazonaws.com/\").concat(_.opts.videoUploadToS3.bucket));\n var s = _.opts.videoUploadMethod;\n _.opts.videoUploadToAzure && (o = _.opts.videoUploadToAzure.uploadURL ? \"\".concat(_.opts.videoUploadToAzure.uploadURL, \"/\").concat(a.name) : encodeURI(\"https://\".concat(_.opts.videoUploadToAzure.account, \".blob.core.windows.net/\").concat(_.opts.videoUploadToAzure.container, \"/\").concat(a.name)), r = o, _.opts.videoUploadToAzure.SASToken && (o += _.opts.videoUploadToAzure.SASToken), s = \"PUT\");\n var l = _.core.getXHR(o, s);\n if (_.opts.videoUploadToAzure) {\n var c = new Date().toUTCString();\n if (!_.opts.videoUploadToAzure.SASToken && _.opts.videoUploadToAzure.accessKey) {\n var d = _.opts.videoUploadToAzure.account,\n f = _.opts.videoUploadToAzure.container;\n if (_.opts.videoUploadToAzure.uploadURL) {\n var p = _.opts.videoUploadToAzure.uploadURL.split(\"/\");\n f = p.pop(), d = p.pop().split(\".\")[0];\n }\n var u = \"x-ms-blob-type:BlockBlob\\nx-ms-date:\".concat(c, \"\\nx-ms-version:2019-07-07\"),\n g = encodeURI(\"/\" + d + \"/\" + f + \"/\" + a.name),\n h = s + \"\\n\\n\\n\" + a.size + \"\\n\\n\" + a.type + \"\\n\\n\\n\\n\\n\\n\\n\" + u + \"\\n\" + g,\n m = _.cryptoJSPlugin.cryptoJS.HmacSHA256(h, _.cryptoJSPlugin.cryptoJS.enc.Base64.parse(_.opts.videoUploadToAzure.accessKey)).toString(_.cryptoJSPlugin.cryptoJS.enc.Base64),\n v = \"SharedKey \" + d + \":\" + m;\n i = m, l.setRequestHeader(\"Authorization\", v);\n }\n for (n in l.setRequestHeader(\"x-ms-version\", \"2019-07-07\"), l.setRequestHeader(\"x-ms-date\", c), l.setRequestHeader(\"Content-Type\", a.type), l.setRequestHeader(\"x-ms-blob-type\", \"BlockBlob\"), _.opts.videoUploadParams) _.opts.videoUploadParams.hasOwnProperty(n) && l.setRequestHeader(n, _.opts.videoUploadParams[n]);\n for (n in _.opts.videoUploadToAzure.params) _.opts.videoUploadToAzure.params.hasOwnProperty(n) && l.setRequestHeader(n, _.opts.videoUploadToAzure.params[n]);\n }\n l.onload = function () {\n R.call(l, w, r, i);\n }, l.onerror = L, l.upload.onprogress = x, l.onabort = I, S(), _.events.disableBlur(), _.edit.off(), _.events.enableBlur();\n var b = _.popups.get(\"video.insert\");\n b && y(b.off(\"abortUpload\")).on(\"abortUpload\", function () {\n 4 != l.readyState && l.abort();\n }), l.send(_.opts.videoUploadToAzure ? a : t);\n }\n }\n }\n function G(e, t) {\n _.edit.on(), w && w.find(\"video\").addClass(\"fr-error\"), E(_.language.translate(\"Something went wrong. Please try again.\")), _.events.trigger(\"video.error\", [{\n code: e,\n message: r[e]\n }, t]);\n }\n function V() {\n if (w) {\n var e = _.popups.get(\"video.size\"),\n t = w.find(\"iframe, embed, \".concat(w.find(\"iframe, embed, audio\").get(0) ? \"audio\" : \"video\"));\n e.find('input[name=\"width\"]').val(t.get(0).style.width || t.attr(\"width\")).trigger(\"change\"), e.find('input[name=\"height\"]').val(t.get(0).style.height || t.attr(\"height\")).trigger(\"change\");\n }\n }\n function Y(e) {\n if (e) return _.popups.onRefresh(\"video.size\", V), !0;\n var t = {\n buttons: '<div class=\"fr-buttons fr-tabs\">'.concat(_.button.buildList(_.opts.videoSizeButtons), \"</div>\"),\n size_layer: '<div class=\"fr-video-size-layer fr-layer fr-active\" id=\"fr-video-size-layer-'.concat(_.id, '\"><div class=\"fr-video-group\"><div class=\"fr-input-line\"><input id=\"fr-video-size-layer-width-').concat(_.id, '\" type=\"text\" name=\"width\" placeholder=\"').concat(_.language.translate(\"Width\"), '\" tabIndex=\"1\"></div><div class=\"fr-input-line\"><input id=\"fr-video-size-layer-height-').concat(_.id, '\" type=\"text\" name=\"height\" placeholder=\"').concat(_.language.translate(\"Height\"), '\" tabIndex=\"1\"></div></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-submit\" data-cmd=\"videoSetSize\" tabIndex=\"2\" role=\"button\">').concat(_.language.translate(\"Update\"), \"</button></div></div>\")\n },\n a = _.popups.create(\"video.size\", t);\n return _.events.$on(_.$wp, \"scroll\", function () {\n w && _.popups.isVisible(\"video.size\") && (_.events.disableBlur(), c(w));\n }), a;\n }\n function j(e) {\n if (void 0 === e && (e = w), e) {\n if (e.hasClass(\"fr-fvl\")) return \"left\";\n if (e.hasClass(\"fr-fvr\")) return \"right\";\n if (e.hasClass(\"fr-dvb\") || e.hasClass(\"fr-dvi\")) return \"center\";\n if (\"block\" == e.css(\"display\")) {\n if (\"left\" == e.css(\"text-algin\")) return \"left\";\n if (\"right\" == e.css(\"text-align\")) return \"right\";\n } else {\n if (\"left\" == e.css(\"float\")) return \"left\";\n if (\"right\" == e.css(\"float\")) return \"right\";\n }\n }\n return \"center\";\n }\n function q(e) {\n void 0 === e && (e = w);\n var t = e.css(\"float\");\n return e.css(\"float\", \"none\"), \"block\" == e.css(\"display\") ? (e.css(\"float\", \"\"), e.css(\"float\") != t && e.css(\"float\", t), \"block\") : (e.css(\"float\", \"\"), e.css(\"float\") != t && e.css(\"float\", t), \"inline\");\n }\n function X() {\n if (w && !1 !== _.events.trigger(\"video.beforeRemove\", [w])) {\n var e = w;\n if (_.popups.hideAll(), $(!0), _.opts.trackChangesEnabled && (!e[0].parentNode || \"SPAN\" !== e[0].parentNode.tagName || !e[0].parentNode.hasAttribute(\"data-tracking\"))) return void _.track_changes.removeSpecialItem(e);\n _.selection.setBefore(e.get(0)) || _.selection.setAfter(e.get(0)), e.remove(), _.selection.restore(), _.html.fillEmptyBlocks();\n }\n }\n function Z() {\n l();\n }\n function Q(e, t, a) {\n !_.opts.htmlUntouched && _.opts.useClasses ? (e.removeClass(\"fr-fvl fr-fvr fr-dvb fr-dvi\"), e.addClass(\"fr-fv\".concat(a[0], \" fr-dv\").concat(t[0]))) : \"inline\" == t ? (e.css({\n display: \"inline-block\"\n }), \"center\" == a ? e.css({\n \"float\": \"none\"\n }) : \"left\" == a ? e.css({\n \"float\": \"left\"\n }) : e.css({\n \"float\": \"right\"\n })) : (e.css({\n display: \"block\",\n clear: \"both\"\n }), \"left\" == a ? e.css({\n textAlign: \"left\"\n }) : \"right\" == a ? e.css({\n textAlign: \"right\"\n }) : e.css({\n textAlign: \"center\"\n }));\n }\n function J() {\n var e = _.$el.find(\"video\").filter(function () {\n return 0 === y(this).parents(\"span.fr-video\").length;\n });\n if (0 != e.length) {\n e.wrap(y(document.createElement(\"span\")).attr(\"class\", \"fr-video fr-deletable\").attr(\"contenteditable\", \"false\")), _.$el.find(\"embed, iframe\").filter(function () {\n if (_.browser.safari && this.getAttribute(\"src\") && this.setAttribute(\"src\", this.src), 0 < y(this).parents(\"span.fr-video\").length) return !1;\n for (var e = y(this).attr(\"src\"), t = 0; t < St.VIDEO_PROVIDERS.length; t++) {\n var a = St.VIDEO_PROVIDERS[t];\n if (a.test_regex.test(e) && new RegExp(_.opts.videoAllowedProviders.join(\"|\")).test(a.provider)) return !0;\n }\n return !1;\n }).map(function () {\n return 0 === y(this).parents(\"object\").length ? this : y(this).parents(\"object\").get(0);\n }).wrap(y(document.createElement(\"span\")).attr(\"class\", \"fr-video\").attr(\"contenteditable\", \"false\"));\n for (var t, a, n, r, i = _.$el.find(\"span.fr-video, video\"), o = 0; o < i.length; o++) {\n var s = y(i[o]);\n !_.opts.htmlUntouched && _.opts.useClasses ? ((r = s).hasClass(\"fr-dvi\") || r.hasClass(\"fr-dvb\") || (r.addClass(\"fr-fv\".concat(j(r)[0])), r.addClass(\"fr-dv\".concat(q(r)[0]))), _.opts.videoTextNear || s.removeClass(\"fr-dvi\").addClass(\"fr-dvb\")) : _.opts.htmlUntouched || _.opts.useClasses || (void 0, a = (t = s).hasClass(\"fr-dvb\") ? \"block\" : t.hasClass(\"fr-dvi\") ? \"inline\" : null, n = t.hasClass(\"fr-fvl\") ? \"left\" : t.hasClass(\"fr-fvr\") ? \"right\" : j(t), Q(t, a, n), t.removeClass(\"fr-dvb fr-dvi fr-fvr fr-fvl\"));\n }\n i.toggleClass(\"fr-draggable\", _.opts.videoMove);\n }\n }\n function ee(e) {\n document.getElementById(\"autoplay-\".concat(_.id)).style.cssText = \"background:\".concat(e);\n }\n function te() {\n if (w) {\n _.selection.clear();\n var e = _.doc.createRange();\n e.selectNode(w.get(0)), _.selection.get().addRange(e);\n }\n }\n return r[1] = \"Video cannot be loaded from the passed link.\", r[p] = \"No link in upload response.\", r[u] = \"Error during file upload.\", r[g] = \"Parsing response failed.\", r[C] = \"File is too large.\", r[T] = \"Video file type is invalid.\", r[7] = \"Files can be uploaded only to same domain in IE 8 and IE 9.\", _.shared.vid_exit_flag = !1, {\n _init: function ae() {\n _.opts.videoResponsive && (_.opts.videoResize = !1), function e() {\n _.events.on(\"drop\", K, !0), _.events.on(\"mousedown window.mousedown\", H), _.events.on(\"window.touchmove\", z), _.events.on(\"mouseup window.mouseup\", $), _.events.on(\"commands.mousedown\", function (e) {\n 0 < e.parents(\".fr-toolbar\").length && $();\n }), _.events.on(\"video.hideResizer commands.undo commands.redo element.dropped\", function () {\n $(!0);\n }), _.events.on(\"filestack-init-video\", function () {\n o();\n });\n }(), _.helpers.isMobile() && (_.events.$on(_.$el, \"touchstart\", \"span.fr-video\", function () {\n a = !1;\n }), _.events.$on(_.$el, \"touchmove\", function () {\n a = !0;\n })), _.events.on(\"html.set\", J), J(), _.events.$on(_.$el, \"mousedown\", \"span.fr-video\", function (e) {\n e.stopPropagation(), (_.browser.msie || _.browser.edge) && (e.target.innerText || (e.target.dragDrop(), t.call(this, e)));\n }), _.events.$on(_.$el, \"click touchend\", \"span.fr-video\", function (e) {\n if (e.target.innerText.length || \"false\" == y(this).parents(\"[contenteditable]\").not(\".fr-element\").not(\".fr-img-caption\").not(\"body\").first().attr(\"contenteditable\")) return !0;\n t.call(this, e);\n }), _.events.on(\"keydown\", function (e) {\n var t = e.which;\n return !w || t != St.KEYCODE.BACKSPACE && t != St.KEYCODE.DELETE ? w && t == St.KEYCODE.ESC ? ($(!0), e.preventDefault(), !1) : w && t != St.KEYCODE.F10 && !_.keys.isBrowserAction(e) ? (e.preventDefault(), !1) : void 0 : (e.preventDefault(), X(), _.undo.saveStep(), !1);\n }, !0), _.events.on(\"toolbar.esc\", function () {\n if (w) return _.events.disableBlur(), _.events.focus(), !1;\n }, !0), _.events.on(\"toolbar.focusEditor\", function () {\n if (w) return !1;\n }, !0), _.events.on(\"keydown\", function () {\n _.$el.find(\"span.fr-video:empty\").remove();\n }), _.$wp && (B(), _.events.on(\"contentChanged\", B)), o(!0), Y(!0);\n },\n showInsertPopup: function ne() {\n var e = _.$tb.find('.fr-command[data-cmd=\"insertVideo\"]'),\n t = _.popups.get(\"video.insert\");\n if (t || (t = o()), l(), !t.hasClass(\"fr-active\")) if (_.popups.refresh(\"video.insert\"), _.popups.setContainer(\"video.insert\", _.$tb), e.isVisible()) {\n var a = _.button.getPosition(e),\n n = a.left,\n r = a.top;\n _.popups.show(\"video.insert\", n, r, e.outerHeight());\n } else _.position.forSelection(t), _.popups.show(\"video.insert\");\n },\n showLayer: function re(e) {\n var t,\n a,\n n = _.popups.get(\"video.insert\");\n if (!w && !_.opts.toolbarInline) {\n var r = _.$tb.find('.fr-command[data-cmd=\"insertVideo\"]');\n t = r.offset().left, a = r.offset().top + (_.opts.toolbarBottom ? 10 : r.outerHeight() - 10);\n }\n _.opts.toolbarInline && (a = n.offset().top - _.helpers.getPX(n.css(\"margin-top\")), n.hasClass(\"fr-above\") && (a += n.outerHeight())), n.find(\".fr-layer\").removeClass(\"fr-active\"), n.find(\".fr-\".concat(e, \"-layer\")).addClass(\"fr-active\"), _.popups.show(\"video.insert\", t, a, 0), _.accessibility.focusPopup(n);\n },\n refreshByURLButton: function ie(e) {\n var t = _.popups.get(\"video.insert\");\n t && t.find(\".fr-video-by-url-layer\").hasClass(\"fr-active\") && e.addClass(\"fr-active\").attr(\"aria-pressed\", !0);\n },\n refreshEmbedButton: function oe(e) {\n var t = _.popups.get(\"video.insert\");\n t && t.find(\".fr-video-embed-layer\").hasClass(\"fr-active\") && e.addClass(\"fr-active\").attr(\"aria-pressed\", !0);\n },\n refreshUploadButton: function se(e) {\n var t = _.popups.get(\"video.insert\");\n t && t.find(\".fr-video-upload-layer\").hasClass(\"fr-active\") && e.addClass(\"fr-active\").attr(\"aria-pressed\", !0);\n },\n upload: W,\n insertByURL: function le(e) {\n var t = !!document.getElementById(\"videoPluginAutoplay\") && document.getElementById(\"videoPluginAutoplay\").checked;\n if (void 0 === e) {\n var a = (e = (_.popups.get(\"video.insert\").find('.fr-video-by-url-layer input[type=\"text\"]').val() || \"\").trim()).match(/(https?:\\/\\/)?(www\\.)?(player\\.)?vimeo\\.com\\/?(showcase\\/)*([0-9))([a-z]*\\/)*([0-9]{6,11})[?]?.*/);\n if (a && 7 == a.length) {\n var n = a[6],\n r = e.substring(0, e.lastIndexOf(\"/\")),\n i = e.substring(e.lastIndexOf(\"/\") + 1, e.length);\n e = i.includes(\"?h=\") || i.includes(\"?v=\") || n === i ? (\"\".concat(r, \"/\").concat(i) || \"\").trim() : (\"\".concat(r, \"?h=\").concat(i) || \"\").trim();\n }\n }\n var o = null;\n if (/^http/.test(e) || (e = \"https://\".concat(e)), _.helpers.isURL(e)) for (var s = 0; s < St.VIDEO_PROVIDERS.length; s++) {\n var l = St.VIDEO_PROVIDERS[s],\n c = \"autoplay=1&mute=1\";\n if (l.html.includes(\"autoplay=1\") && document.getElementById(\"videoPluginAutoplay\").checked) l.html = l.html, document.getElementById(\"videoPluginAutoplay\").checked = !1;else if (t) {\n var d = l.html.indexOf(\"{url}\") + 5;\n l.html = [l.html.slice(0, d), c, l.html.slice(d)].join(\"\"), t = !1, document.getElementById(\"videoPluginAutoplay\").checked = !1;\n } else (l = St.VIDEO_PROVIDERS[s]).html = l.html.replace(c, \"\");\n if (l.test_regex.test(e) && new RegExp(_.opts.videoAllowedProviders.join(\"|\")).test(l.provider)) {\n o = e.replace(l.url_regex, l.url_text), o = l.html.replace(/\\{url\\}/, o);\n break;\n }\n }\n o ? m(o) : (E(_.language.translate(\"Something went wrong. Please try again.\")), _.events.trigger(\"video.linkError\", [e]));\n },\n insertEmbed: function ce(e) {\n void 0 === e && (e = _.popups.get(\"video.insert\").find(\".fr-video-embed-layer textarea\").val() || \"\"), 0 !== e.length && St.VIDEO_EMBED_REGEX.test(e) ? m(e) : (E(_.language.translate(\"Something went wrong. Please try again.\")), _.events.trigger(\"video.codeError\", [e]));\n },\n insert: m,\n align: function de(e) {\n w.removeClass(\"fr-fvr fr-fvl\"), !_.opts.htmlUntouched && _.opts.useClasses ? \"left\" == e ? w.addClass(\"fr-fvl\") : \"right\" == e && w.addClass(\"fr-fvr\") : Q(w, q(), e), te(), U(), i(), _.selection.clear();\n },\n refreshAlign: function fe(e) {\n if (!w) return !1;\n e.find(\">*\").first().replaceWith(_.icon.create(\"video-align-\".concat(j())));\n },\n refreshAlignOnShow: function pe(e, t) {\n w && t.find('.fr-command[data-param1=\"'.concat(j(), '\"]')).addClass(\"fr-active\").attr(\"aria-selected\", !0);\n },\n display: function ue(e) {\n w.removeClass(\"fr-dvi fr-dvb\"), !_.opts.htmlUntouched && _.opts.useClasses ? \"inline\" == e ? w.addClass(\"fr-dvi\") : \"block\" == e && w.addClass(\"fr-dvb\") : Q(w, e, j()), te(), U(), i(), _.selection.clear();\n },\n refreshDisplayOnShow: function ge(e, t) {\n w && t.find('.fr-command[data-param1=\"'.concat(q(), '\"]')).addClass(\"fr-active\").attr(\"aria-selected\", !0);\n },\n remove: X,\n hideProgressBar: l,\n showSizePopup: function he() {\n var e = _.popups.get(\"video.size\");\n e || (e = Y()), l(), _.popups.refresh(\"video.size\"), _.popups.setContainer(\"video.size\", _.$sc);\n var t = w.find(\"iframe, embed, \".concat(w.find(\"iframe, embed, audio\").get(0) ? \"audio\" : \"video\")),\n a = t.offset().left + t.outerWidth() / 2,\n n = t.offset().top + t.height();\n _.popups.show(\"video.size\", a, n, t.height(), !0);\n },\n replace: function me() {\n var e = _.popups.get(\"video.insert\");\n e || (e = o()), _.popups.isVisible(\"video.insert\") || (l(), _.popups.refresh(\"video.insert\"), _.popups.setContainer(\"video.insert\", _.$sc));\n var t = w.offset().left + w.outerWidth() / 2,\n a = w.offset().top + w.height();\n _.popups.show(\"video.insert\", t, a, w.outerHeight(), !0);\n },\n back: function e() {\n w ? (_.events.disableBlur(), w[0].click()) : (_.events.disableBlur(), _.selection.restore(), _.events.enableBlur(), _.popups.hide(\"video.insert\"), _.toolbar.showInline());\n },\n setSize: function ve(e, t) {\n if (w) {\n var a = _.popups.get(\"video.size\"),\n n = w.find(\"iframe, embed, \".concat(w.find(\"iframe, embed, audio\").get(0) ? \"audio\" : \"video\"));\n n.css(\"width\", e || a.find('input[name=\"width\"]').val()), n.css(\"height\", t || a.find('input[name=\"height\"]').val()), n.get(0).style.width && n.removeAttr(\"width\"), n.get(0).style.height && n.removeAttr(\"height\"), a.find(\"input:focus\").blur(), setTimeout(function () {\n w.trigger(\"click\");\n }, _.helpers.isAndroid() ? 50 : 0);\n }\n },\n get: function be() {\n return w;\n },\n showProgressBar: S,\n _editVideo: c,\n setAutoplay: function Ee() {\n var e;\n if (w.find(\"iframe, embed, audio\").get(0)) (e = w.find(\"iframe, embed, audio\")).get(0).src.includes(\"autoplay=1\") ? (ee(\"#FFFFFF\"), e.get(0).src = e.get(0).src.replace(\"&autoplay=1\", \"\")) : (ee(\"#D6D6D6\"), e.get(0).src = e.get(0).src + \"&autoplay=1\");else if ((e = w.find(\"iframe, embed, video\")).get(0).outerHTML.includes(\"autoplay\")) ee(\"#FFFFFF\"), e.get(0).outerHTML = e.get(0).outerHTML.replace(\"autoplay\", \"\");else {\n ee(\"#D6D6D6\");\n var t = e.get(0).outerHTML.indexOf(\"class\") - 1;\n e.get(0).outerHTML = [e.get(0).outerHTML.slice(0, t), \"autoplay\", e.get(0).outerHTML.slice(t)].join(\"\");\n }\n },\n insertHtmlVideo: k\n };\n }, St.RegisterCommand(\"insertVideo\", {\n title: \"Insert Video\",\n undo: !1,\n focus: !0,\n refreshAfterCallback: !1,\n popup: !0,\n callback: function () {\n this.popups.isVisible(\"video.insert\") ? (this.$el.find(\".fr-marker\").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide(\"video.insert\")) : this.video.showInsertPopup();\n },\n plugin: \"video\"\n }), St.DefineIcon(\"insertVideo\", {\n NAME: \"video-camera\",\n FA5NAME: \"camera\",\n SVG_KEY: \"insertVideo\"\n }), St.DefineIcon(\"videoByURL\", {\n NAME: \"link\",\n SVG_KEY: \"insertLink\"\n }), St.RegisterCommand(\"videoByURL\", {\n title: \"By URL\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.video.showLayer(\"video-by-url\");\n },\n refresh: function (e) {\n this.video.refreshByURLButton(e);\n }\n }), St.DefineIcon(\"videoEmbed\", {\n NAME: \"code\",\n SVG_KEY: \"codeView\"\n }), St.RegisterCommand(\"videoEmbed\", {\n title: \"Embedded Code\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.video.showLayer(\"video-embed\");\n },\n refresh: function (e) {\n this.video.refreshEmbedButton(e);\n }\n }), St.DefineIcon(\"videoUpload\", {\n NAME: \"upload\",\n SVG_KEY: \"upload\"\n }), St.RegisterCommand(\"videoUpload\", {\n title: \"Upload Video\",\n undo: !1,\n focus: !1,\n toggle: !0,\n callback: function () {\n this.video.showLayer(\"video-upload\");\n },\n refresh: function (e) {\n this.video.refreshUploadButton(e);\n }\n }), St.RegisterCommand(\"videoInsertByURL\", {\n undo: !0,\n focus: !0,\n callback: function () {\n this.video.insertByURL();\n }\n }), St.RegisterCommand(\"videoInsertEmbed\", {\n undo: !0,\n focus: !0,\n callback: function () {\n this.video.insertEmbed();\n }\n }), St.DefineIcon(\"videoDisplay\", {\n NAME: \"star\",\n SVG_KEY: \"star\"\n }), St.RegisterCommand(\"videoDisplay\", {\n title: \"Display\",\n type: \"dropdown\",\n options: {\n inline: \"Inline\",\n block: \"Break Text\"\n },\n callback: function (e, t) {\n this.video.display(t);\n },\n refresh: function (e) {\n this.opts.videoTextNear || e.addClass(\"fr-hidden\");\n },\n refreshOnShow: function (e, t) {\n this.video.refreshDisplayOnShow(e, t);\n }\n }), St.DefineIcon(\"video-align\", {\n NAME: \"align-left\",\n SVG_KEY: \"align Left\"\n }), St.DefineIcon(\"video-align-left\", {\n NAME: \"align-left\",\n SVG_KEY: \"alignLeft\"\n }), St.DefineIcon(\"video-align-right\", {\n NAME: \"align-right\",\n SVG_KEY: \"alignRight\"\n }), St.DefineIcon(\"video-align-center\", {\n NAME: \"align-justify\",\n SVG_KEY: \"alignJustify\"\n }), St.DefineIcon(\"videoAlign\", {\n NAME: \"align-center\",\n SVG_KEY: \"alignCenter\"\n }), St.RegisterCommand(\"videoAlign\", {\n type: \"dropdown\",\n title: \"Align\",\n options: {\n left: \"Align Left\",\n center: \"None\",\n right: \"Align Right\"\n },\n html: function () {\n var e = '<ul class=\"fr-dropdown-list\" role=\"presentation\">',\n t = St.COMMANDS.videoAlign.options;\n for (var a in t) t.hasOwnProperty(a) && (e += '<li role=\"presentation\"><a class=\"fr-command fr-title\" tabIndex=\"-1\" role=\"option\" data-cmd=\"videoAlign\" data-param1=\"'.concat(a, '\" title=\"').concat(this.language.translate(t[a]), '\">').concat(this.icon.create(\"video-align-\".concat(a)), '<span class=\"fr-sr-only\">').concat(this.language.translate(t[a]), \"</span></a></li>\"));\n return e += \"</ul>\";\n },\n callback: function (e, t) {\n this.video.align(t);\n },\n refresh: function (e) {\n this.video.refreshAlign(e);\n },\n refreshOnShow: function (e, t) {\n this.video.refreshAlignOnShow(e, t);\n }\n }), St.DefineIcon(\"videoReplace\", {\n NAME: \"exchange\",\n FA5NAME: \"exchange-alt\",\n SVG_KEY: \"replaceImage\"\n }), St.RegisterCommand(\"videoReplace\", {\n title: \"Replace\",\n undo: !1,\n focus: !1,\n popup: !0,\n refreshAfterCallback: !1,\n callback: function () {\n this.video.replace();\n }\n }), St.DefineIcon(\"videoRemove\", {\n NAME: \"trash\",\n SVG_KEY: \"remove\"\n }), St.RegisterCommand(\"videoRemove\", {\n title: \"Remove\",\n callback: function () {\n this.video.remove();\n }\n }), St.DefineIcon(\"autoplay\", {\n NAME: \"autoplay\",\n SVG_KEY: \"autoplay\"\n }), St.RegisterCommand(\"autoplay\", {\n undo: !1,\n focus: !1,\n popup: !0,\n title: \"Autoplay\",\n callback: function () {\n this.video.setAutoplay();\n }\n }), St.DefineIcon(\"videoSize\", {\n NAME: \"arrows-alt\",\n SVG_KEY: \"imageSize\"\n }), St.RegisterCommand(\"videoSize\", {\n undo: !1,\n focus: !1,\n popup: !0,\n title: \"Change Size\",\n callback: function () {\n this.video.showSizePopup();\n }\n }), St.DefineIcon(\"videoBack\", {\n NAME: \"arrow-left\",\n SVG_KEY: \"back\"\n }), St.RegisterCommand(\"videoBack\", {\n title: \"Back\",\n undo: !1,\n focus: !1,\n back: !0,\n callback: function () {\n this.video.back();\n },\n refresh: function (e) {\n this.video.get() || this.opts.toolbarInline ? (e.removeClass(\"fr-hidden\"), e.next().hasClass(\"fr-separator\") && e.next().removeClass(\"fr-hidden\")) : (e.addClass(\"fr-hidden\"), e.next().hasClass(\"fr-separator\") && e.next().addClass(\"fr-hidden\"));\n }\n }), St.RegisterCommand(\"videoDismissError\", {\n title: \"OK\",\n undo: !1,\n callback: function () {\n this.video.hideProgressBar(!0);\n }\n }), St.RegisterCommand(\"videoSetSize\", {\n undo: !0,\n focus: !1,\n title: \"Update\",\n refreshAfterCallback: !1,\n callback: function () {\n this.video.setSize();\n }\n }), Object.assign(St.DEFAULTS, {\n wordDeniedTags: [],\n wordDeniedAttrs: [],\n wordAllowedStyleProps: [\"font-family\", \"font-size\", \"background\", \"color\", \"width\", \"text-align\", \"vertical-align\", \"background-color\", \"padding\", \"margin\", \"height\", \"margin-top\", \"margin-left\", \"margin-right\", \"margin-bottom\", \"text-decoration\", \"font-weight\", \"font-style\", \"text-indent\", \"border\", \"border-.*\", \"line-height\", \"list-style-type\"],\n wordPasteModal: !0,\n wordPasteKeepFormatting: !0\n }), St.PLUGINS.wordPaste = function (y) {\n var o,\n r,\n A,\n M = y.$,\n s = \"word_paste\",\n g = {},\n C = !0;\n function t(e) {\n var t = y.opts.wordAllowedStyleProps;\n e || (y.opts.wordAllowedStyleProps = []), 0 === r.indexOf(\"<colgroup>\") && (r = \"<table>\" + r + \"</table>\"), r = i(r = r.replace(/<span[\\n\\r ]*style='mso-spacerun:yes'>([\\r\\n\\u00a0 ]*)<\\/span>/g, function (e, t) {\n for (var a = \"\", n = 0; n++ < t.length;) a += \" \";\n return a;\n }), y.paste.getRtfClipboard());\n var a = y.doc.createElement(\"DIV\");\n a.innerHTML = r, y.html.cleanBlankSpaces(a), r = a.innerHTML, r = (r = y.paste.cleanEmptyTagsAndDivs(r)).replace(/\\u200b/g, \"\"), function n() {\n y.modals.hide(s);\n }(), y.helpers.isMobile() && y.events.focus(), y.paste.clean(r, !0, !0), y.opts.wordAllowedStyleProps = t;\n }\n function T(e) {\n e.parentNode && e.parentNode.removeChild(e);\n }\n function h(e, t) {\n if (t(e)) for (var a = e.firstChild; a;) {\n var n = a,\n r = a.previousSibling;\n a = a.nextSibling, h(n, t), n.previousSibling || n.nextSibling || n.parentNode || !a || r === a.previousSibling || !a.parentNode ? n.previousSibling || n.nextSibling || n.parentNode || !a || a.previousSibling || a.nextSibling || a.parentNode || (r ? a = r.nextSibling ? r.nextSibling.nextSibling : null : e.firstChild && (a = e.firstChild.nextSibling)) : a = r ? r.nextSibling : e.firstChild;\n }\n }\n function N(e) {\n return M(e).hasClass(\"ListContainerWrapper\") && 0 < M(e).find(\"ol\").length;\n }\n function D(e) {\n return M(e).hasClass(\"ListContainerWrapper\") && 0 < M(e).find(\"ul\").length;\n }\n function P(e) {\n if (N(e) || D(e)) return !0;\n if (!e.getAttribute(\"style\") || !/mso-list:[\\s]*l/gi.test(e.getAttribute(\"style\").replace(/\\n/gi, \"\"))) return !1;\n try {\n if (!e.querySelector('[style=\"mso-list:Ignore\"]')) return !!(e.outerHTML && 0 <= e.outerHTML.indexOf(\"\\x3c!--[if !supportLists]--\\x3e\"));\n } catch (t) {\n return !1;\n }\n return !0;\n }\n var m = null,\n v = {};\n function B(e) {\n var t;\n if (N(e) || D(e)) t = M(e).find(\"li\").attr(\"data-aria-level\");else {\n var a,\n n,\n r = (null === (a = e.getAttribute(\"style\")) || void 0 === a ? void 0 : a.replace(/\\n/g, \"\")) || \"\",\n i = m && (null === (n = m.getAttribute(\"style\")) || void 0 === n ? void 0 : n.replace(/\\n/g, \"\")) || \"\",\n o = r.match(/mso-list:(\\s*l([0-9]+)\\s*level([0-9]+)\\s*)lfo([0-9]+)/i),\n s = i.match(/mso-list:(\\s*l([0-9]+)\\s*level([0-9]+)\\s*)lfo([0-9]+)/i);\n if (o) {\n if (v[o[1]]) return m = e, v[o[1]].toString();\n var l = s && s[2],\n c = o[2],\n d = i && v[s[1]] || 0;\n t = l && l !== c && parseFloat(m.style.marginLeft) < parseFloat(e.style.marginLeft) ? (d + parseInt(o[3])).toString() : o[3], v[o[1]] = parseInt(t);\n } else t = r.replace(/.*level([0-9]+?).*/gi, \"$1\");\n }\n return m = e, t;\n }\n function U(e, n) {\n var t = e.cloneNode(!0);\n if (-1 !== [\"H1\", \"H2\", \"H3\", \"H4\", \"H5\", \"H6\"].indexOf(e.tagName)) {\n var a = document.createElement(e.tagName.toLowerCase());\n a.setAttribute(\"style\", e.getAttribute(\"style\")), a.innerHTML = t.innerHTML, t.innerHTML = a.outerHTML;\n }\n h(t, function (e) {\n if (e.nodeType == Node.COMMENT_NODE && (y.browser.msie || y.browser.safari || y.browser.edge)) try {\n if (\"[if !supportLists]\" === e.data) {\n for (e = e.nextSibling; e && e.nodeType !== Node.COMMENT_NODE;) {\n var t = e.nextSibling;\n e.parentNode.removeChild(e), e = t;\n }\n e && e.nodeType == Node.COMMENT_NODE && e.parentNode.removeChild(e);\n }\n } catch (a) {\n return !1;\n }\n return e.nodeType === Node.ELEMENT_NODE && (\"mso-list:\\nIgnore\" === e.getAttribute(\"style\") && e.setAttribute(\"style\", \"mso-list:Ignore\"), \"mso-list:Ignore\" === e.getAttribute(\"style\") && e.parentNode.removeChild(e), e.setAttribute(\"style\", b(e)), L(e, n)), !0;\n });\n var r = N(e) ? M(e).find(\"li\").get(0).innerHTML : t.innerHTML;\n if (N(e) || D(e)) {\n r = \"\";\n for (var i = M(e).find(\"li\"), o = 0; o < i.length; o++) {\n var s = M(i.get(o).innerHTML);\n s.find(\"span\").each(function () {\n \" \" === M(this).html() && (0 < M(this).prev().text().trim().length ? M(this).remove() : M(this).html(\"​\"));\n });\n var l = i[o].style.marginLeft;\n l ? (l = parseFloat(parseFloat(l).toFixed(2)) + l.match(/[a-zA-Z]+/g)[0], r += '<li style = \"margin-left: '.concat(l, ';\">').concat(s.get(0).innerHTML, \"</li>\")) : r += \"<li >\".concat(s.get(0).innerHTML, \"</li>\");\n }\n } else {\n var c,\n d = null === (c = M(e).find(\"p\").get(0)) || void 0 === c ? void 0 : c.style.marginLeft;\n r = d ? (d = parseFloat(parseFloat(d).toFixed(2)) + d.match(/[a-zA-Z]+/g)[0], '<li style = \"margin-left: '.concat(d, ';\">').concat(r, \"</li>\")) : \"<li>\".concat(r, \"</li>\");\n }\n return r = r.replace(/<!--[\\s\\S]*?-->/gi, \"\");\n }\n function b(e) {\n var t = 1 < arguments.length && arguments[1] !== undefined ? arguments[1] : null,\n a = \"\",\n n = [\"line-height\", \"font-family\", \"font-size\", \"color\", \"background\"].concat(Se(t || [])),\n r = e.getAttribute(\"style\");\n return r && n.forEach(function (t) {\n var e = r.split(\";\").find(function (e) {\n return e.trim().includes(t + \":\");\n });\n e && (e.includes(\"mso\") && (e = e.match(new RegExp(t + \":.*(;|)\"))[0]), e.trim().startsWith(t) && (a += e + \";\"));\n }), a;\n }\n function E(e, t) {\n for (var a = document.createElement(t), n = 0; n < e.attributes.length; n++) {\n var r = e.attributes[n].name;\n \"FONT\" === e.tagName && (y.browser.msie && [\"id\", \"class\", \"style\"].indexOf(r) < 0 || !y.browser.msie && CSS.supports(r, e.getAttribute(r))) ? M(a).css(r, e.getAttribute(r)) : a.setAttribute(r, e.getAttribute(r));\n }\n return a.innerHTML = e.innerHTML, e.parentNode.replaceChild(a, e), a;\n }\n function _(e, t) {\n y.node.clearAttributes(e);\n for (var a = e.firstElementChild, n = 0, r = !1, i = null; a;) {\n if (a.firstElementChild && -1 !== a.firstElementChild.tagName.indexOf(\"W:\")) for (var o = 0; o < a.children.length; o++) \"<('[^']*'|\\\"[^\\\"]*\\\"|[^\\\"'>])*>\" == a.children[o] && (a.innerHTML += a.children[o]);\n (i = a.getAttribute(\"width\")) || (i = a.style.width), i || r || (r = !0), n += parseInt(i, 10), (!a.firstChild || a.firstChild && a.firstChild.data === St.UNICODE_NBSP) && (a.firstChild && T(a.firstChild), a.innerHTML = \"<br>\");\n for (var s = a.firstElementChild, l = 1 === a.children.length; s;) \"P\" !== s.tagName || P(s) || l && k(s), s = s.nextElementSibling;\n if (t) {\n var c = a.getAttribute(\"class\");\n if (c) {\n var d = (c = S(c)).match(/xl[0-9]+/gi);\n if (d) {\n var f = \".\" + d[0];\n t[f] && R(a, t[f]);\n }\n }\n t.td && R(a, t.td);\n }\n var p = a.getAttribute(\"style\");\n p && (p = S(p)) && \";\" !== p.slice(-1) && (p += \";\");\n var u = a.getAttribute(\"valign\");\n if (!u && p) {\n var g = p.match(/vertical-align:.+?[; \"]{1,1}/gi);\n g && (u = g[g.length - 1].replace(/vertical-align:(.+?)[; \"]{1,1}/gi, \"$1\"));\n }\n var h = null;\n if (p) {\n var m = p.match(/text-align:.+?[; \"]{1,1}/gi);\n m && (h = m[m.length - 1].replace(/text-align:(.+?)[; \"]{1,1}/gi, \"$1\")), \"general\" === h && (h = null);\n }\n var v = null;\n if (p) {\n var b = p.match(/background:.+?[; \"]{1,1}/gi);\n b && (v = b[b.length - 1].replace(/background:(.+?)[; \"]{1,1}/gi, \"$1\"));\n }\n var E = a.getAttribute(\"colspan\"),\n _ = a.getAttribute(\"rowspan\");\n E && a.setAttribute(\"colspan\", E), _ && a.setAttribute(\"rowspan\", _), u && (a.style[\"vertical-align\"] = u), h && (a.style[\"text-align\"] = h), v && (a.style[\"background-color\"] = v), i && a.setAttribute(\"width\", i), a = a.nextElementSibling;\n }\n for (a = e.firstElementChild; a;) i = a.getAttribute(\"width\"), r && a.removeAttribute(\"width\"), a = a.nextElementSibling;\n e.previousSibling ? A != n && (C = !1) : A = n, e.nextElementSibling || function w(e) {\n var t = e.closest(\"table\"),\n a = 0,\n r = function r() {\n var n = 0;\n Array.from(e.children).forEach(function (e) {\n var t = parseInt(e.getAttribute(\"width\"), 10);\n isNaN(t) || (n += t);\n }), a < n && (a = n), C ? Array.from(e.children).forEach(function (e) {\n var t = parseInt(e.getAttribute(\"width\"), 10);\n if (!isNaN(t) && 0 < n) {\n var a = 100 * t / n;\n e.setAttribute(\"width\", \"\".concat(a, \"%\"));\n }\n }) : Array.from(e.children).forEach(function (e) {\n var t = parseInt(e.getAttribute(\"width\"), 10);\n isNaN(t) || e.setAttribute(\"width\", \"\".concat(t, \"px\"));\n }), e = e.previousElementSibling;\n };\n for (; e;) r();\n if (t && 0 < a) {\n var n = parseInt(t.style.width, 10);\n (isNaN(n) || 0 === n) && (t.style.width = \"\".concat(a, \"px\"));\n }\n }(e);\n }\n function k(e) {\n var t = e.getAttribute(\"align\");\n t && (e.style[\"text-align\"] = t, e.removeAttribute(\"align\"));\n }\n function S(e) {\n return e.replace(/\\n|\\r|\\n\\r|"/g, \"\");\n }\n function R(e, t, a) {\n if (t) {\n var n = e.getAttribute(\"style\");\n n && \";\" !== n.slice(-1) && (n += \";\"), t && \";\" !== t.slice(-1) && (t += \";\"), t = t.replace(/\\n/gi, \"\");\n var r = null;\n r = a ? (n || \"\") + t : t + (n || \"\"), e.setAttribute(\"style\", r);\n }\n }\n var u = null;\n function c(e, t, a) {\n for (var n = e.split(a), r = 1; r < n.length; r++) {\n var i = n[r];\n if (1 < (i = i.split(\"shplid\")).length) {\n i = i[1];\n for (var o = \"\", s = 0; s < i.length && \"\\\\\" !== i[s] && \"{\" !== i[s] && \" \" !== i[s] && \"\\r\" !== i[s] && \"\\n\" !== i[s];) o += i[s], s++;\n var l = i.split(\"bliptag\");\n if (l && l.length < 2) continue;\n var c = null;\n if (-1 !== l[0].indexOf(\"pngblip\") ? c = \"image/png\" : -1 !== l[0].indexOf(\"jpegblip\") && (c = \"image/jpeg\"), !c) continue;\n var d = l[1].split(\"}\");\n if (d && d.length < 2) continue;\n var f = void 0;\n if (2 < d.length && -1 !== d[0].indexOf(\"blipuid\")) f = d[1].split(\" \");else {\n if ((f = d[0].split(\" \")) && f.length < 2) continue;\n f.shift();\n }\n var p = f.join(\"\");\n u[t + o] = {\n image_hex: p,\n image_type: c\n };\n }\n }\n }\n function w(e, t) {\n if (t) {\n var a;\n if (\"IMG\" === e.tagName) {\n var n = e.getAttribute(\"src\");\n if (!n || -1 === n.indexOf(\"file://\")) return;\n if (0 === n.indexOf(\"file://\") && y.helpers.isURL(e.getAttribute(\"alt\"))) return void e.setAttribute(\"src\", e.getAttribute(\"alt\"));\n (a = g[e.getAttribute(\"v:shapes\")]) || (a = e.getAttribute(\"v:shapes\"), e.parentNode && e.parentNode.parentNode && 0 <= e.parentNode.parentNode.innerHTML.indexOf(\"msEquation\") && (a = null));\n } else a = e.parentNode.getAttribute(\"o:spid\");\n if (e.removeAttribute(\"height\"), a) {\n !function s(e) {\n u = {}, c(e, \"i\", \"\\\\shppict\"), c(e, \"s\", \"\\\\shp{\");\n }(t);\n var r = u[a.substring(7)];\n if (r) {\n var i = function l(e) {\n for (var t = e.match(/[0-9a-f]{2}/gi), a = [], n = 0; n < t.length; n++) a.push(String.fromCharCode(parseInt(t[n], 16)));\n var r = a.join(\"\");\n return btoa(r);\n }(r.image_hex),\n o = \"data:\" + r.image_type + \";base64,\" + i;\n \"IMG\" === e.tagName ? (e.src = o, e.setAttribute(\"data-fr-image-pasted\", !0)) : M(e).parent().before('<img data-fr-image-pasted=\"true\" src=\"'.concat(o, '\" style=\"').concat(e.parentNode.getAttribute(\"style\"), '\">')).remove();\n }\n }\n }\n }\n function L(e, t) {\n var a = e.tagName,\n n = a.toLowerCase();\n e.firstElementChild && (\"I\" === e.firstElementChild.tagName ? E(e.firstElementChild, \"em\") : \"B\" === e.firstElementChild.tagName && E(e.firstElementChild, \"strong\"));\n if (-1 !== [\"SCRIPT\", \"APPLET\", \"EMBED\", \"NOFRAMES\", \"NOSCRIPT\"].indexOf(a)) return T(e), !1;\n for (var r = [\"META\", \"LINK\", \"XML\", \"ST1:\", \"O:\", \"W:\", \"FONT\"], i = 0; i < r.length; i++) if (-1 !== a.indexOf(r[i])) return e.innerHTML && (e.outerHTML = e.innerHTML), T(e), !1;\n if (\"TD\" !== a) {\n var o = e.getAttribute(\"class\") || \"MsoNormal\";\n if (t && o) {\n for (var s = (o = S(o)).split(\" \"), l = 0; l < s.length; l++) {\n var c = [],\n d = \".\" + s[l];\n c.push(d), d = n + d, c.push(d);\n for (var f = 0; f < c.length; f++) t[c[f]] && R(e, t[c[f]]);\n }\n e.removeAttribute(\"class\");\n }\n t && t[n] && R(e, t[n]);\n }\n if (-1 !== [\"P\", \"H1\", \"H2\", \"H3\", \"H4\", \"H5\", \"H6\", \"PRE\"].indexOf(a)) {\n var p = e.getAttribute(\"class\");\n if (p && (t && t[a.toLowerCase() + \".\" + p] && R(e, t[a.toLowerCase() + \".\" + p]), -1 !== p.toLowerCase().indexOf(\"mso\"))) {\n var u = S(p);\n (u = u.replace(/[0-9a-z-_]*mso[0-9a-z-_]*/gi, \"\")) ? e.setAttribute(\"class\", u) : e.removeAttribute(\"class\");\n }\n var g = e.getAttribute(\"style\");\n if (g) {\n var h = g.match(/text-align:.+?[; \"]{1,1}/gi);\n h && h[h.length - 1].replace(/(text-align:.+?[; \"]{1,1})/gi, \"$1\");\n }\n k(e);\n }\n if (\"TR\" === a && _(e, t), \"A\" !== a || e.attributes.getNamedItem(\"href\") || e.attributes.getNamedItem(\"name\") || !e.innerHTML || (e.outerHTML = e.innerHTML), \"A\" == a && e.getAttribute(\"href\") && e.querySelector(\"img\")) for (var m = e.querySelectorAll(\"span\"), v = 0; v < m.length; v++) m[v].innerText || (m[v].outerHTML = m[v].innerHTML);\n if (\"TD\" !== a && \"TH\" !== a || e.innerHTML || (e.innerHTML = \"<br>\"), e.getAttribute(\"lang\") && e.removeAttribute(\"lang\"), e.getAttribute(\"style\") && -1 !== e.getAttribute(\"style\").toLowerCase().indexOf(\"mso\")) {\n var b = S(e.getAttribute(\"style\"));\n (b = b.replace(/[0-9a-z-_]*mso[0-9a-z-_]*:.+?(;{1,1}|$)/gi, \"\").replace(\"line-height:107%\", \"\")) ? e.setAttribute(\"style\", b) : e.removeAttribute(\"style\");\n }\n return !0;\n }\n function i(e, t) {\n 0 <= e.indexOf(\"<html\") && (e = e.replace(/[.\\s\\S\\w\\W<>]*(<html[^>]*>[.\\s\\S\\w\\W<>]*<\\/html>)[.\\s\\S\\w\\W<>]*/i, \"$1\"));\n var l = e.match(/(MSFontService|class=\"?Mso|class='?Mso|class=\"?Xl|class='?Xl|class=Xl|style=\"[^\"]*\\bmso-|style='[^']*\\bmso-|w:WordDocument|LibreOffice)/gi);\n !function f(e) {\n for (var t = e.split(\"v:shape\"), a = 1; a < t.length; a++) {\n var n = t[a],\n r = n.split(' id=\"')[1];\n if (r && 1 < r.length) {\n r = r.split('\"')[0];\n var i = n.split(' o:spid=\"')[1];\n i && 1 < i.length && (i = i.split('\"')[0], g[r] = i);\n }\n }\n }(e);\n var a = new DOMParser().parseFromString(e, \"text/html\"),\n n = a.head,\n r = a.body,\n c = function p(e) {\n var t = {},\n a = e.getElementsByTagName(\"style\");\n if (a.length) {\n var n = a[0].innerHTML.match(/[\\S ]+\\s+{[\\s\\S]+?}/gi);\n if (n) for (var r = 0; r < n.length; r++) {\n var i = n[r],\n o = i.replace(/([\\S ]+\\s+){[\\s\\S]+?}/gi, \"$1\"),\n s = i.replace(/[\\S ]+\\s+{([\\s\\S]+?)}/gi, \"$1\");\n o = o.replace(/^[\\s]|[\\s]$/gm, \"\"), s = s.replace(/^[\\s]|[\\s]$/gm, \"\"), o = o.replace(/\\n|\\r|\\n\\r/g, \"\"), s = s.replace(/\\n|\\r|\\n\\r/g, \"\");\n for (var l = o.split(\", \"), c = 0; c < l.length; c++) t[l[c]] = s;\n }\n }\n return t;\n }(n);\n h(r, function (e) {\n if (e.nodeType === Node.ELEMENT_NODE && e.hasAttribute(\"style\")) {\n var t = e.getAttribute(\"style\");\n e.setAttribute(\"style\", t), e.style.fontFamily || e.setAttribute(\"style\", function a(e) {\n return e.replace(/mso-(bidi|fareast|fareast-theme)-font-family/g, \"font-family\");\n }(t));\n }\n return !0;\n }), h(r, function (e) {\n if (e.nodeType === Node.TEXT_NODE && /\\n|\\u00a0|\\r/.test(e.data)) {\n if (!/\\S| /.test(e.data) && !/[\\u00a0]+/.test(e.data)) return e.data === St.UNICODE_NBSP ? (e.data = \"\\u200b\", !0) : 1 === e.data.length && 10 === e.data.charCodeAt(0) ? (e.data = \" \", !0) : (T(e), !1);\n e.data = e.data.replace(/\\n|\\r/gi, \" \");\n }\n return !0;\n }), h(r, function (e) {\n return e.nodeType !== Node.ELEMENT_NODE || \"V:IMAGEDATA\" !== e.tagName && \"IMG\" !== e.tagName || w(e, t), !0;\n });\n for (var i = r.querySelectorAll(\"ul > ul, ul > ol, ol > ul, ol > ol\"), o = i.length - 1; 0 <= o; o--) i[o].previousElementSibling && \"LI\" === i[o].previousElementSibling.tagName && i[o].previousElementSibling.appendChild(i[o]);\n h(r, function (e) {\n if (e.nodeType === Node.TEXT_NODE) return e.data = e.data.replace(/<br>(\\n|\\r)/gi, \"<br>\"), !1;\n if (e.nodeType === Node.ELEMENT_NODE) {\n if (P(e)) {\n var t = e.parentNode,\n a = e.previousSibling,\n n = function F(e, t, a, n) {\n var r,\n i,\n o,\n s,\n l,\n c,\n d,\n f = navigator.userAgent.toLowerCase();\n -1 != f.indexOf(\"safari\") && (f = -1 < f.indexOf(\"chrome\") ? 1 : \"safari\"), e.innerHTML.includes(\"mso-list:\\nIgnore\") && (e.innerHTML = e.innerHTML.replace(/mso-list:\\nIgnore/gi, \"mso-list:Ignore\"));\n var p,\n u,\n g,\n h,\n m = /[0-9a-zA-Z]./gi,\n v = \"\",\n b = N(e),\n E = null === (r = M(e).find(\"ol\")) || void 0 === r || null === (r = r.attr(\"style\")) || void 0 === r || null === (r = r.split(\";\")) || void 0 === r ? void 0 : r.find(function (e) {\n return e.trim().startsWith(\"list-style-type\");\n });\n E == undefined && D(e) && (E = null === (u = M(e).find(\"ul\")) || void 0 === u || null === (u = u.attr(\"style\")) || void 0 === u || null === (u = u.split(\";\")) || void 0 === u ? void 0 : u.find(function (e) {\n return e.trim().startsWith(\"list-style-type\");\n }));\n if (b) c = \"ol\", d = E ? \"list-style-type: \" + E.replace(\"list-style-type:\", \"\").trim() + \";\" : \"\";else if (D(e)) c = \"ul\", d = E ? \"list-style-type: \" + E.replace(\"list-style-type:\", \"\").trim() + \";\" : \"\";else {\n var _ = e.querySelector('span[style=\"mso-list:Ignore\"]');\n null == _ && \"safari\" == f && (_ = e.querySelector('span[lang=\"PT-BR\"]'));\n var w = !1;\n _ && (w = w || m.test(_.textContent)), null !== _ && (p = _.textContent.trim().split(\".\")[0]), c = 1 == w ? (p = (p = _.textContent.trim().split(\".\")[0]).replace(/\\(([^)]+)\\)|[)]$/g, \"$1\"), isNaN(parseInt(p)) ? /^(m{0,4}(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3}))$/.test(p) ? (d = \"lower-roman;\", e.nextElementSibling && 1 === e.nextElementSibling.textContent.trim().split(\".\")[0].length && (d = \"lower-alpha;\")) : /^(M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3}))$/.test(p) ? (d = \"upper-roman;\", e.nextElementSibling && 1 === e.nextElementSibling.textContent.trim().split(\".\")[0].length && (d = \"upper-alpha;\")) : \"o\" == p ? d = \"circle;\" : p.match(/^v$/) || (p.match(/^[a-z]$/) || p.match(/^[a-z]\\)$/) ? d = \"lower-alpha;\" : (p.match(/^[A-Z]$/) || p.match(/^[A-Z]\\)$/)) && (d = \"upper-alpha;\")) : d = \"decimal;\", d = d ? \"list-style-type: \" + d : \"\", \"ol\") : (null != _ && (p = _.textContent.trim().split(\".\")[0]), \"\\xa7\" == p ? d = \"square;\" : \"\\xb7\" == p && (d = \"disc;\"), d = d ? \"list-style-type: \" + d : \"\", \"ul\"), _ == undefined || _.textContent == undefined || isNaN(parseInt(_.textContent.trim().split(\".\")[1], 10)) || (v = ' class=\"decimal_type\" ');\n }\n var y = 1,\n A = \"\",\n C = (B(e), e.style.marginLeft),\n T = \"\";\n C.includes(\"in\") ? (T = \"in\", C = parseFloat(C) - .5) : C.includes(\"pt\") && (T = \"px\", C = parseFloat(C) - 10), C && (h = \" margin-left: \" + C + T + \";\"), y = \"list-style-type: upper-alpha;\" == d ? b ? parseInt(M(e).find(\"ol\").attr(\"start\")) : p.charCodeAt(0) - 64 : \"list-style-type: lower-alpha;\" == d ? b ? parseInt(M(e).find(\"ol\").attr(\"start\")) : p.charCodeAt(0) - 96 : \"list-style-type: upper-roman;\" == d || \"list-style-type: lower-roman;\" == d ? b ? parseInt(M(e).find(\"ol\").attr(\"start\")) : function O(e) {\n for (var t = {\n I: 1,\n V: 5,\n X: 10,\n L: 50,\n C: 100,\n D: 500,\n M: 1e3,\n i: 1,\n v: 5,\n x: 10,\n l: 50,\n c: 100,\n d: 500,\n m: 1e3\n }, a = 0, n = 0, r = e.length - 1; 0 <= r; r--) {\n var i = t[e[r]];\n n <= i ? a += i : a -= i, n = i;\n }\n return a;\n }(p) : b ? parseInt(M(e).find(\"ol\").attr(\"start\")) : parseInt(p), A += d || \"\", A += h || \"\", g = \"<\" + c, \"none\" === e.style.display && (g += ' class=\"fr-mso-hidden\"'), g += v || \"\", g += \"ol\" != c || 1 == y || isNaN(y) ? \"\" : ' start = \"' + y + '\"', g += A ? ' style = \"' + A + '\"' : \"\", g += \">\";\n for (var k = !1; e;) {\n if (!P(e)) {\n if (e.outerHTML && 0 < e.outerHTML.indexOf(\"mso-bookmark\") && 0 == (e.textContent || \"\").length) {\n e = e.nextElementSibling;\n continue;\n }\n break;\n }\n var S = B(e);\n if ((a = a || S) < S) g += (l = F(e, t, S, e.style.marginLeft)).el.outerHTML, e = l.currentNode;else {\n if (S < a) break;\n e.firstElementChild && e.firstElementChild.firstElementChild && e.firstElementChild.firstElementChild.firstChild && (m.lastIndex = 0), o && o.firstElementChild && o.firstElementChild.firstElementChild && o.firstElementChild.firstElementChild.firstChild && (m.lastIndex = 0, i = m.test(o.firstElementChild.firstElementChild.firstChild.data || o.firstElementChild.firstElementChild.firstChild.firstChild && o.firstElementChild.firstElementChild.firstChild.firstChild.data || \"\"));\n var R = !1,\n L = o && B(o);\n (!n && !e.style.marginLeft || n && e.style.marginLeft && n === e.style.marginLeft || L && L === S) && (R = !0), n = e.style.marginLeft, R || i === undefined ? (s = U(e, t), e.nextSibling && e.nextSibling.innerText != undefined && e.nextSibling.innerText != undefined && !g.includes('class=\"decimal_type\"') && (isNaN(parseInt(e.nextSibling.innerText.trim().split(\".\")[1], 10)) || (g = g.substring(3, 0) + ' class=\"decimal_type\"' + g.substring(3, g.length))), g += s) : (1 == S && (g += \"</\" + c + \">\", k = !0, o = null), g += (l = F(e, t, S, e.style.marginLeft)).el.outerHTML, e = l.currentNode);\n var x = e && e.nextElementSibling;\n if (x && (o = x.previousElementSibling), e && !P(e)) {\n if (e.outerHTML && 0 < e.outerHTML.indexOf(\"mso-bookmark\") && 0 == (e.textContent || \"\").length) {\n e = e.nextElementSibling;\n continue;\n }\n break;\n }\n e && e.parentNode && e.parentNode.removeChild(e), e = x;\n }\n }\n k || (g += \"</\" + c + \">\");\n var I = document.createElement(\"div\");\n return I.innerHTML = g, {\n el: I,\n currentNode: e\n };\n }(e, c).el,\n r = null;\n return (r = a ? a.nextSibling : t.firstChild) ? t.insertBefore(n, r) : t.appendChild(n), !1;\n }\n return \"FONT\" === e.tagName && (l && \"LibreOffice\" === l[0] || c[\".\" + e.getAttribute(\"class\")]) ? e = E(e, \"span\") : l && \"\\x3c!--StartFragment--\\x3e\" === l[0] && \"UL\" === e.tagName && (M(e).find(\"li span\").each(function () {\n \" \" === M(this).html() && (0 < M(this).prev().text().trim().length ? M(this).remove() : M(this).html(\"​\"));\n }), M(e).is(\"ul\") && e.setAttribute(\"style\", b(e, [\"margin\", \"margin-left\", \"list-style-type\"])), M(e).find(\"ul\").each(function () {\n this.setAttribute(\"style\", b(this, [\"margin\", \"margin-left\", \"list-style-type\"]));\n })), \"img\" !== e.tagName.toLowerCase() && function s(t) {\n Array.from(t.attributes).map(function (e) {\n return e.name;\n }).filter(function (e) {\n return e.toLowerCase().startsWith(\"data-\") || e.toLowerCase().startsWith(\"xml:\");\n }).forEach(function (e) {\n M(t).removeAttr(e);\n });\n }(e), L(e, c);\n }\n if (e.nodeType !== Node.COMMENT_NODE) return !0;\n if (-1 < e.data.indexOf(\"[if !supportLineBreakNewLine]\")) for (var i = e.nextSibling; i;) (i = e.nextSibling) && T(i), i.data && -1 < i.data.indexOf(\"[endif]\") && (i = null);\n if (-1 < e.data.indexOf(\"[if supportFields]\") && -1 < e.data.indexOf(\"FORMCHECKBOX\")) {\n var o = document.createElement(\"input\");\n o.type = \"checkbox\", e.parentNode.insertBefore(o, e.nextSibling);\n }\n return T(e), !1;\n }), m = null, v = {}, r.innerHTML = function u(e) {\n var t = M(document.createElement(\"div\")).attr(\"id\", \"top-level\");\n t.html(e);\n for (var a = t[0].querySelectorAll(\"ol, ul\"), n = 0; n < a.length; n++) if (M(a[n]).parentsUntil(\"#top-level\", \"ol, ul\").length) {\n a[n].style.removeProperty(\"margin-left\");\n for (var r = a[n].children, i = 0; i < r.length; i++) \"LI\" == r[i].tagName && r[i].style.removeProperty(\"margin-left\");\n }\n return t[0].innerHTML;\n }(r.innerHTML), h(r, function (e) {\n if (e.nodeType === Node.ELEMENT_NODE) {\n var t = e.tagName;\n if (!e.innerHTML && -1 === [\"BR\", \"IMG\", \"INPUT\"].indexOf(t)) {\n for (var a = e.parentNode; a && (T(e), !(e = a).innerHTML) && \"TD\" !== e.parentNode.tagName;) a = e.parentNode;\n return !1;\n }\n !function f(e) {\n var t = e.getAttribute(\"style\");\n if (t) {\n (t = S(t)) && \";\" !== t.slice(-1) && (t += \";\");\n var a = t.match(/(^|\\S+?):.+?;{1,1}/gi);\n if (a) {\n for (var n = {}, r = 0; r < a.length; r++) {\n var i = a[r].split(\":\");\n 2 === i.length && (\"text-align\" === i[0] && \"SPAN\" === e.tagName || (n[i[0]] = i[1]));\n }\n var o = \"\";\n for (var s in n) if (n.hasOwnProperty(s)) {\n if (\"font-size\" === s && \"pt;\" === n[s].slice(-3)) {\n var l = null;\n try {\n l = parseFloat(n[s].slice(0, -3), 10);\n } catch (d) {\n l = null;\n }\n if (l) {\n var c = y.opts.fontSizeUnit;\n \"px\" === c ? (l = Math.round(1.33 * l), n[s] = l + \"px;\") : \"pt\" === c && (l = Math.round(l), n[s] = l + \"pt;\");\n }\n }\n o += s + \":\" + n[s];\n }\n o && e.setAttribute(\"style\", o);\n }\n }\n }(e);\n }\n return !0;\n }), h(r, function (e) {\n if (e && \"A\" === e.nodeName) {\n if (e.hasAttribute(\"name\") && e.getAttribute(\"name\").startsWith(\"_Toc\") && e.parentNode && (e.parentNode.id = e.getAttribute(\"name\")), \"\" === e.href) {\n for (var t = document.createDocumentFragment(); e.firstChild;) t.appendChild(e.firstChild);\n e.parentNode.replaceChild(t, e);\n }\n e.hasAttribute(\"href\") && e.getAttribute(\"href\").startsWith(\"#_Toc\") && (e.removeChild(e.lastChild), e.removeChild(e.lastChild));\n }\n return !0;\n }), h(r, function (e) {\n return e && \"P\" === e.tagName && \"DIV\" === e.parentNode.tagName && 1 == e.parentNode.children.length && M(e).unwrap(), !0;\n }), h(r, function (e) {\n if (e && \"SPAN\" === e.tagName) for (; e.nextSibling && e.nextSibling.nodeType === Node.ELEMENT_NODE && \"SPAN\" === e.nextSibling.tagName && e.getAttribute(\"style\") === e.nextSibling.getAttribute(\"style\");) M(e).append(e.nextSibling.innerHTML), M(e.nextSibling).remove();\n return !0;\n });\n var s = r.outerHTML,\n d = y.opts.htmlAllowedStyleProps;\n return y.opts.htmlAllowedStyleProps = y.opts.wordAllowedStyleProps, s = y.clean.html(s, y.opts.wordDeniedTags, y.opts.wordDeniedAttrs, !1), y.opts.htmlAllowedStyleProps = d, s;\n }\n return {\n _init: function e() {\n y.events.on(\"paste.wordPaste\", function (e) {\n return r = e, y.opts.wordPasteModal ? function i() {\n if (!o) {\n var e = '<h4><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 74.95 73.23\" style=\"height: 25px; vertical-align: text-bottom; margin-right: 5px; display: inline-block\"><defs><style>.a{fill:#2a5699;}.b{fill:#fff;}</style></defs><path class=\"a\" d=\"M615.15,827.22h5.09V834c9.11.05,18.21-.09,27.32.05a2.93,2.93,0,0,1,3.29,3.25c.14,16.77,0,33.56.09,50.33-.09,1.72.17,3.63-.83,5.15-1.24.89-2.85.78-4.3.84-8.52,0-17,0-25.56,0v6.81h-5.32c-13-2.37-26-4.54-38.94-6.81q0-29.8,0-59.59c13.05-2.28,26.11-4.5,39.17-6.83Z\" transform=\"translate(-575.97 -827.22)\"/><path class=\"b\" d=\"M620.24,836.59h28.1v54.49h-28.1v-6.81h22.14v-3.41H620.24v-4.26h22.14V873.2H620.24v-4.26h22.14v-3.41H620.24v-4.26h22.14v-3.41H620.24v-4.26h22.14v-3.41H620.24V846h22.14v-3.41H620.24Zm-26.67,15c1.62-.09,3.24-.16,4.85-.25,1.13,5.75,2.29,11.49,3.52,17.21,1-5.91,2-11.8,3.06-17.7,1.7-.06,3.41-.15,5.1-.26-1.92,8.25-3.61,16.57-5.71,24.77-1.42.74-3.55,0-5.24.09-1.13-5.64-2.45-11.24-3.47-16.9-1,5.5-2.29,10.95-3.43,16.42q-2.45-.13-4.92-.3c-1.41-7.49-3.07-14.93-4.39-22.44l4.38-.18c.88,5.42,1.87,10.82,2.64,16.25,1.2-5.57,2.43-11.14,3.62-16.71Z\" transform=\"translate(-575.97 -827.22)\"/></svg> ' + y.language.translate(\"Word Paste Detected\") + \"</h4>\",\n t = function r() {\n var e = '<div class=\"fr-word-paste-modal\" style=\"padding: 20px 20px 10px 20px;\">';\n return e += '<p style=\"text-align: left;\">' + y.language.translate(\"The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?\") + \"</p>\", e += '<div style=\"text-align: right; margin-top: 50px;\"><button class=\"fr-remove-word fr-command\">' + y.language.translate(\"Clean\") + '</button> <button class=\"fr-keep-word fr-command\">' + y.language.translate(\"Keep\") + \"</button></div>\", e += \"</div>\";\n }(),\n a = y.modals.create(s, e, t),\n n = a.$body;\n o = a.$modal, a.$modal.addClass(\"fr-middle\"), y.events.bindClick(n, \"button.fr-remove-word\", function () {\n var e = o.data(\"instance\") || y;\n e.wordPaste.clean();\n }), y.events.bindClick(n, \"button.fr-keep-word\", function () {\n var e = o.data(\"instance\") || y;\n e.wordPaste.clean(!0);\n }), y.events.$on(M(y.o_win), \"resize\", function () {\n y.modals.resize(s);\n });\n }\n y.modals.show(s), y.modals.resize(s);\n }() : t(y.opts.wordPasteKeepFormatting), !1;\n });\n },\n clean: t,\n _wordClean: i\n };\n };\n var y = {},\n a = {},\n p = {},\n u = n(!0),\n g = \"vanilla\",\n h = {\n github: {\n omitExtraWLInCodeBlocks: !0,\n simplifiedAutoLink: !0,\n excludeTrailingPunctuationFromURLs: !0,\n literalMidWordUnderscores: !0,\n strikethrough: !0,\n tables: !0,\n tablesHeaderId: !0,\n ghCodeBlocks: !0,\n tasklists: !0,\n disableForced4SpacesIndentedSublists: !0,\n simpleLineBreaks: !0,\n requireSpaceBeforeHeadingText: !0,\n ghCompatibleHeaderId: !0,\n ghMentions: !0,\n backslashEscapesHTMLTags: !0,\n emoji: !0,\n splitAdjacentBlockquotes: !0\n },\n original: {\n noHeaderId: !0,\n ghCodeBlocks: !1\n },\n ghost: {\n omitExtraWLInCodeBlocks: !0,\n parseImgDimensions: !0,\n simplifiedAutoLink: !0,\n excludeTrailingPunctuationFromURLs: !0,\n literalMidWordUnderscores: !0,\n strikethrough: !0,\n tables: !0,\n tablesHeaderId: !0,\n ghCodeBlocks: !0,\n tasklists: !0,\n smoothLivePreview: !0,\n simpleLineBreaks: !0,\n requireSpaceBeforeHeadingText: !0,\n ghMentions: !1,\n encodeEmails: !0\n },\n vanilla: n(!0),\n allOn: function _() {\n var e = n(!0),\n t = {};\n for (var a in e) e.hasOwnProperty(a) && (t[a] = !0);\n return t;\n }()\n };\n function m(e, t) {\n var a = t ? \"Error in \" + t + \" extension->\" : \"Error in unnamed extension\",\n n = {\n valid: !0,\n error: \"\"\n };\n y.helper.isArray(e) || (e = [e]);\n for (var r = 0; r < e.length; ++r) {\n var i = a + \" sub-extension \" + r + \": \",\n o = e[r];\n if (\"object\" !== Rt(o)) return n.valid = !1, n.error = i + \"must be an object, but \" + Rt(o) + \" given\", n;\n if (!y.helper.isString(o.type)) return n.valid = !1, n.error = i + 'property \"type\" must be a string, but ' + Rt(o.type) + \" given\", n;\n var s = o.type = o.type.toLowerCase();\n if (\"language\" === s && (s = o.type = \"lang\"), \"html\" === s && (s = o.type = \"output\"), \"lang\" !== s && \"output\" !== s && \"listener\" !== s) return n.valid = !1, n.error = i + \"type \" + s + ' is not recognized. Valid values: \"lang/language\", \"output/html\" or \"listener\"', n;\n if (\"listener\" === s) {\n if (y.helper.isUndefined(o.listeners)) return n.valid = !1, n.error = i + '. Extensions of type \"listener\" must have a property called \"listeners\"', n;\n } else if (y.helper.isUndefined(o.filter) && y.helper.isUndefined(o.regex)) return n.valid = !1, n.error = i + s + ' extensions must define either a \"regex\" property or a \"filter\" method', n;\n if (o.listeners) {\n if (\"object\" !== Rt(o.listeners)) return n.valid = !1, n.error = i + '\"listeners\" property must be an object but ' + Rt(o.listeners) + \" given\", n;\n for (var l in o.listeners) if (o.listeners.hasOwnProperty(l) && \"function\" != typeof o.listeners[l]) return n.valid = !1, n.error = i + '\"listeners\" property must be an hash of [event name]: [callback]. listeners.' + l + \" must be a function but \" + Rt(o.listeners[l]) + \" given\", n;\n }\n if (o.filter) {\n if (\"function\" != typeof o.filter) return n.valid = !1, n.error = i + '\"filter\" must be a function, but ' + Rt(o.filter) + \" given\", n;\n } else if (o.regex) {\n if (y.helper.isString(o.regex) && (o.regex = new RegExp(o.regex, \"g\")), !(o.regex instanceof RegExp)) return n.valid = !1, n.error = i + '\"regex\" property must either be a string or a RegExp object, but ' + Rt(o.regex) + \" given\", n;\n if (y.helper.isUndefined(o.replace)) return n.valid = !1, n.error = i + '\"regex\" extensions must implement a replace string or function', n;\n }\n }\n return n;\n }\n function i(e, t) {\n return \"\\xa8E\" + t.charCodeAt(0) + \"E\";\n }\n y.helper = {}, y.extensions = {}, y.setOption = function (e, t) {\n return u[e] = t, this;\n }, y.getOption = function (e) {\n return u[e];\n }, y.getOptions = function () {\n return u;\n }, y.resetOptions = function () {\n u = n(!0);\n }, y.setFlavor = function (e) {\n if (!h.hasOwnProperty(e)) throw Error(e + \" flavor was not found\");\n y.resetOptions();\n var t = h[e];\n for (var a in g = e, t) t.hasOwnProperty(a) && (u[a] = t[a]);\n }, y.getFlavor = function () {\n return g;\n }, y.getFlavorOptions = function (e) {\n if (h.hasOwnProperty(e)) return h[e];\n }, y.getDefaultOptions = function (e) {\n return n(e);\n }, y.subParser = function (e, t) {\n if (y.helper.isString(e)) {\n if (void 0 === t) {\n if (a.hasOwnProperty(e)) return a[e];\n throw Error(\"SubParser named \" + e + \" not registered!\");\n }\n a[e] = t;\n }\n }, y.extension = function (e, t) {\n if (!y.helper.isString(e)) throw Error(\"Extension 'name' must be a string\");\n if (e = y.helper.stdExtName(e), y.helper.isUndefined(t)) {\n if (!p.hasOwnProperty(e)) throw Error(\"Extension named \" + e + \" is not registered!\");\n return p[e];\n }\n \"function\" == typeof t && (t = t()), y.helper.isArray(t) || (t = [t]);\n var a = m(t, e);\n if (!a.valid) throw Error(a.error);\n p[e] = t;\n }, y.getAllExtensions = function () {\n return p;\n }, y.removeExtension = function (e) {\n delete p[e];\n }, y.resetExtensions = function () {\n p = {};\n }, y.validateExtension = function (e) {\n var t = m(e, null);\n return !!t.valid;\n }, y.hasOwnProperty(\"helper\") || (y.helper = {}), y.helper.isString = function (e) {\n return \"string\" == typeof e || e instanceof String;\n }, y.helper.isFunction = function (e) {\n return e && \"[object Function]\" === {}.toString.call(e);\n }, y.helper.isArray = function (e) {\n return Array.isArray(e);\n }, y.helper.isUndefined = function (e) {\n return void 0 === e;\n }, y.helper.forEach = function (e, t) {\n if (y.helper.isUndefined(e)) throw new Error(\"obj param is required\");\n if (y.helper.isUndefined(t)) throw new Error(\"callback param is required\");\n if (!y.helper.isFunction(t)) throw new Error(\"callback param must be a function/closure\");\n if (\"function\" == typeof e.forEach) e.forEach(t);else if (y.helper.isArray(e)) for (var a = 0; a < e.length; a++) t(e[a], a, e);else {\n if (\"object\" !== Rt(e)) throw new Error(\"obj does not seem to be an array or an iterable object\");\n for (var n in e) e.hasOwnProperty(n) && t(e[n], n, e);\n }\n }, y.helper.stdExtName = function (e) {\n return e.replace(/[_?*+\\/\\\\.^-]/g, \"\").replace(/\\s/g, \"\").toLowerCase();\n }, y.helper.escapeCharactersCallback = i, y.helper.escapeCharacters = function (e, t, a) {\n var n = \"([\" + t.replace(/([\\[\\]\\\\])/g, \"\\\\$1\") + \"])\";\n a && (n = \"\\\\\\\\\" + n);\n var r = new RegExp(n, \"g\");\n return e = e.replace(r, i);\n }, y.helper.unescapeHTMLEntities = function (e) {\n return e.replace(/"/g, '\"').replace(/</g, \"<\").replace(/>/g, \">\").replace(/&/g, \"&\");\n };\n var v = function v(e, t, a, n) {\n var r,\n i,\n o,\n s,\n l,\n c = n || \"\",\n d = -1 < c.indexOf(\"g\"),\n f = new RegExp(t + \"|\" + a, \"g\" + c.replace(/g/g, \"\")),\n p = new RegExp(t, c.replace(/g/g, \"\")),\n u = [];\n do {\n for (r = 0; o = f.exec(e);) if (p.test(o[0])) r++ || (s = (i = f.lastIndex) - o[0].length);else if (r && ! --r) {\n l = o.index + o[0].length;\n var g = {\n left: {\n start: s,\n end: i\n },\n match: {\n start: i,\n end: o.index\n },\n right: {\n start: o.index,\n end: l\n },\n wholeMatch: {\n start: s,\n end: l\n }\n };\n if (u.push(g), !d) return u;\n }\n } while (r && (f.lastIndex = i));\n return u;\n };\n y.helper.matchRecursiveRegExp = function (e, t, a, n) {\n for (var r = v(e, t, a, n), i = [], o = 0; o < r.length; ++o) i.push([e.slice(r[o].wholeMatch.start, r[o].wholeMatch.end), e.slice(r[o].match.start, r[o].match.end), e.slice(r[o].left.start, r[o].left.end), e.slice(r[o].right.start, r[o].right.end)]);\n return i;\n }, y.helper.replaceRecursiveRegExp = function (e, t, a, n, r) {\n if (!y.helper.isFunction(t)) {\n var i = t;\n t = function t() {\n return i;\n };\n }\n var o = v(e, a, n, r),\n s = e,\n l = o.length;\n if (0 < l) {\n var c = [];\n 0 !== o[0].wholeMatch.start && c.push(e.slice(0, o[0].wholeMatch.start));\n for (var d = 0; d < l; ++d) c.push(t(e.slice(o[d].wholeMatch.start, o[d].wholeMatch.end), e.slice(o[d].match.start, o[d].match.end), e.slice(o[d].left.start, o[d].left.end), e.slice(o[d].right.start, o[d].right.end))), d < l - 1 && c.push(e.slice(o[d].wholeMatch.end, o[d + 1].wholeMatch.start));\n o[l - 1].wholeMatch.end < e.length && c.push(e.slice(o[l - 1].wholeMatch.end)), s = c.join(\"\");\n }\n return s;\n }, y.helper.regexIndexOf = function (e, t, a) {\n if (!y.helper.isString(e)) throw \"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string\";\n if (t instanceof RegExp == !1) throw \"InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp\";\n var n = e.substring(a || 0).search(t);\n return 0 <= n ? n + (a || 0) : n;\n }, y.helper.splitAtIndex = function (e, t) {\n if (!y.helper.isString(e)) throw \"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string\";\n return [e.substring(0, t), e.substring(t)];\n }, y.helper.encodeEmailAddress = function (e) {\n var a = [function (e) {\n return \"&#\" + e.charCodeAt(0) + \";\";\n }, function (e) {\n return \"&#x\" + e.charCodeAt(0).toString(16) + \";\";\n }, function (e) {\n return e;\n }];\n return e = e.replace(/./g, function (e) {\n if (\"@\" === e) e = a[Math.floor(2 * Math.random())](e);else {\n var t = Math.random();\n e = .9 < t ? a[2](e) : .45 < t ? a[1](e) : a[0](e);\n }\n return e;\n });\n }, y.helper.padEnd = function (e, t, a) {\n return t >>= 0, a = String(a || \" \"), e.length > t ? String(e) : ((t -= e.length) > a.length && (a += a.repeat(t / a.length)), String(e) + a.slice(0, t));\n }, \"undefined\" == typeof console && (console = {\n warn: function (e) {\n alert(e);\n },\n log: function (e) {\n alert(e);\n },\n error: function (e) {\n throw e;\n }\n }), y.helper.regexes = {\n asteriskDashAndColon: /([*_:~])/g\n }, y.helper.emojis = {\n \"+1\": \"\\ud83d\\udc4d\",\n \"-1\": \"\\ud83d\\udc4e\",\n 100: \"\\ud83d\\udcaf\",\n 1234: \"\\ud83d\\udd22\",\n \"1st_place_medal\": \"\\ud83e\\udd47\",\n \"2nd_place_medal\": \"\\ud83e\\udd48\",\n \"3rd_place_medal\": \"\\ud83e\\udd49\",\n \"8ball\": \"\\ud83c\\udfb1\",\n a: \"\\ud83c\\udd70\\ufe0f\",\n ab: \"\\ud83c\\udd8e\",\n abc: \"\\ud83d\\udd24\",\n abcd: \"\\ud83d\\udd21\",\n accept: \"\\ud83c\\ude51\",\n aerial_tramway: \"\\ud83d\\udea1\",\n airplane: \"\\u2708\\ufe0f\",\n alarm_clock: \"\\u23f0\",\n alembic: \"\\u2697\\ufe0f\",\n alien: \"\\ud83d\\udc7d\",\n ambulance: \"\\ud83d\\ude91\",\n amphora: \"\\ud83c\\udffa\",\n anchor: \"\\u2693\\ufe0f\",\n angel: \"\\ud83d\\udc7c\",\n anger: \"\\ud83d\\udca2\",\n angry: \"\\ud83d\\ude20\",\n anguished: \"\\ud83d\\ude27\",\n ant: \"\\ud83d\\udc1c\",\n apple: \"\\ud83c\\udf4e\",\n aquarius: \"\\u2652\\ufe0f\",\n aries: \"\\u2648\\ufe0f\",\n arrow_backward: \"\\u25c0\\ufe0f\",\n arrow_double_down: \"\\u23ec\",\n arrow_double_up: \"\\u23eb\",\n arrow_down: \"\\u2b07\\ufe0f\",\n arrow_down_small: \"\\ud83d\\udd3d\",\n arrow_forward: \"\\u25b6\\ufe0f\",\n arrow_heading_down: \"\\u2935\\ufe0f\",\n arrow_heading_up: \"\\u2934\\ufe0f\",\n arrow_left: \"\\u2b05\\ufe0f\",\n arrow_lower_left: \"\\u2199\\ufe0f\",\n arrow_lower_right: \"\\u2198\\ufe0f\",\n arrow_right: \"\\u27a1\\ufe0f\",\n arrow_right_hook: \"\\u21aa\\ufe0f\",\n arrow_up: \"\\u2b06\\ufe0f\",\n arrow_up_down: \"\\u2195\\ufe0f\",\n arrow_up_small: \"\\ud83d\\udd3c\",\n arrow_upper_left: \"\\u2196\\ufe0f\",\n arrow_upper_right: \"\\u2197\\ufe0f\",\n arrows_clockwise: \"\\ud83d\\udd03\",\n arrows_counterclockwise: \"\\ud83d\\udd04\",\n art: \"\\ud83c\\udfa8\",\n articulated_lorry: \"\\ud83d\\ude9b\",\n artificial_satellite: \"\\ud83d\\udef0\",\n astonished: \"\\ud83d\\ude32\",\n athletic_shoe: \"\\ud83d\\udc5f\",\n atm: \"\\ud83c\\udfe7\",\n atom_symbol: \"\\u269b\\ufe0f\",\n avocado: \"\\ud83e\\udd51\",\n b: \"\\ud83c\\udd71\\ufe0f\",\n baby: \"\\ud83d\\udc76\",\n baby_bottle: \"\\ud83c\\udf7c\",\n baby_chick: \"\\ud83d\\udc24\",\n baby_symbol: \"\\ud83d\\udebc\",\n back: \"\\ud83d\\udd19\",\n bacon: \"\\ud83e\\udd53\",\n badminton: \"\\ud83c\\udff8\",\n baggage_claim: \"\\ud83d\\udec4\",\n baguette_bread: \"\\ud83e\\udd56\",\n balance_scale: \"\\u2696\\ufe0f\",\n balloon: \"\\ud83c\\udf88\",\n ballot_box: \"\\ud83d\\uddf3\",\n ballot_box_with_check: \"\\u2611\\ufe0f\",\n bamboo: \"\\ud83c\\udf8d\",\n banana: \"\\ud83c\\udf4c\",\n bangbang: \"\\u203c\\ufe0f\",\n bank: \"\\ud83c\\udfe6\",\n bar_chart: \"\\ud83d\\udcca\",\n barber: \"\\ud83d\\udc88\",\n baseball: \"\\u26be\\ufe0f\",\n basketball: \"\\ud83c\\udfc0\",\n basketball_man: \"\\u26f9\\ufe0f\",\n basketball_woman: \"\\u26f9\\ufe0f‍\\u2640\\ufe0f\",\n bat: \"\\ud83e\\udd87\",\n bath: \"\\ud83d\\udec0\",\n bathtub: \"\\ud83d\\udec1\",\n battery: \"\\ud83d\\udd0b\",\n beach_umbrella: \"\\ud83c\\udfd6\",\n bear: \"\\ud83d\\udc3b\",\n bed: \"\\ud83d\\udecf\",\n bee: \"\\ud83d\\udc1d\",\n beer: \"\\ud83c\\udf7a\",\n beers: \"\\ud83c\\udf7b\",\n beetle: \"\\ud83d\\udc1e\",\n beginner: \"\\ud83d\\udd30\",\n bell: \"\\ud83d\\udd14\",\n bellhop_bell: \"\\ud83d\\udece\",\n bento: \"\\ud83c\\udf71\",\n biking_man: \"\\ud83d\\udeb4\",\n bike: \"\\ud83d\\udeb2\",\n biking_woman: \"\\ud83d\\udeb4‍\\u2640\\ufe0f\",\n bikini: \"\\ud83d\\udc59\",\n biohazard: \"\\u2623\\ufe0f\",\n bird: \"\\ud83d\\udc26\",\n birthday: \"\\ud83c\\udf82\",\n black_circle: \"\\u26ab\\ufe0f\",\n black_flag: \"\\ud83c\\udff4\",\n black_heart: \"\\ud83d\\udda4\",\n black_joker: \"\\ud83c\\udccf\",\n black_large_square: \"\\u2b1b\\ufe0f\",\n black_medium_small_square: \"\\u25fe\\ufe0f\",\n black_medium_square: \"\\u25fc\\ufe0f\",\n black_nib: \"\\u2712\\ufe0f\",\n black_small_square: \"\\u25aa\\ufe0f\",\n black_square_button: \"\\ud83d\\udd32\",\n blonde_man: \"\\ud83d\\udc71\",\n blonde_woman: \"\\ud83d\\udc71‍\\u2640\\ufe0f\",\n blossom: \"\\ud83c\\udf3c\",\n blowfish: \"\\ud83d\\udc21\",\n blue_book: \"\\ud83d\\udcd8\",\n blue_car: \"\\ud83d\\ude99\",\n blue_heart: \"\\ud83d\\udc99\",\n blush: \"\\ud83d\\ude0a\",\n boar: \"\\ud83d\\udc17\",\n boat: \"\\u26f5\\ufe0f\",\n bomb: \"\\ud83d\\udca3\",\n book: \"\\ud83d\\udcd6\",\n bookmark: \"\\ud83d\\udd16\",\n bookmark_tabs: \"\\ud83d\\udcd1\",\n books: \"\\ud83d\\udcda\",\n boom: \"\\ud83d\\udca5\",\n boot: \"\\ud83d\\udc62\",\n bouquet: \"\\ud83d\\udc90\",\n bowing_man: \"\\ud83d\\ude47\",\n bow_and_arrow: \"\\ud83c\\udff9\",\n bowing_woman: \"\\ud83d\\ude47‍\\u2640\\ufe0f\",\n bowling: \"\\ud83c\\udfb3\",\n boxing_glove: \"\\ud83e\\udd4a\",\n boy: \"\\ud83d\\udc66\",\n bread: \"\\ud83c\\udf5e\",\n bride_with_veil: \"\\ud83d\\udc70\",\n bridge_at_night: \"\\ud83c\\udf09\",\n briefcase: \"\\ud83d\\udcbc\",\n broken_heart: \"\\ud83d\\udc94\",\n bug: \"\\ud83d\\udc1b\",\n building_construction: \"\\ud83c\\udfd7\",\n bulb: \"\\ud83d\\udca1\",\n bullettrain_front: \"\\ud83d\\ude85\",\n bullettrain_side: \"\\ud83d\\ude84\",\n burrito: \"\\ud83c\\udf2f\",\n bus: \"\\ud83d\\ude8c\",\n business_suit_levitating: \"\\ud83d\\udd74\",\n busstop: \"\\ud83d\\ude8f\",\n bust_in_silhouette: \"\\ud83d\\udc64\",\n busts_in_silhouette: \"\\ud83d\\udc65\",\n butterfly: \"\\ud83e\\udd8b\",\n cactus: \"\\ud83c\\udf35\",\n cake: \"\\ud83c\\udf70\",\n calendar: \"\\ud83d\\udcc6\",\n call_me_hand: \"\\ud83e\\udd19\",\n calling: \"\\ud83d\\udcf2\",\n camel: \"\\ud83d\\udc2b\",\n camera: \"\\ud83d\\udcf7\",\n camera_flash: \"\\ud83d\\udcf8\",\n camping: \"\\ud83c\\udfd5\",\n cancer: \"\\u264b\\ufe0f\",\n candle: \"\\ud83d\\udd6f\",\n candy: \"\\ud83c\\udf6c\",\n canoe: \"\\ud83d\\udef6\",\n capital_abcd: \"\\ud83d\\udd20\",\n capricorn: \"\\u2651\\ufe0f\",\n car: \"\\ud83d\\ude97\",\n card_file_box: \"\\ud83d\\uddc3\",\n card_index: \"\\ud83d\\udcc7\",\n card_index_dividers: \"\\ud83d\\uddc2\",\n carousel_horse: \"\\ud83c\\udfa0\",\n carrot: \"\\ud83e\\udd55\",\n cat: \"\\ud83d\\udc31\",\n cat2: \"\\ud83d\\udc08\",\n cd: \"\\ud83d\\udcbf\",\n chains: \"\\u26d3\",\n champagne: \"\\ud83c\\udf7e\",\n chart: \"\\ud83d\\udcb9\",\n chart_with_downwards_trend: \"\\ud83d\\udcc9\",\n chart_with_upwards_trend: \"\\ud83d\\udcc8\",\n checkered_flag: \"\\ud83c\\udfc1\",\n cheese: \"\\ud83e\\uddc0\",\n cherries: \"\\ud83c\\udf52\",\n cherry_blossom: \"\\ud83c\\udf38\",\n chestnut: \"\\ud83c\\udf30\",\n chicken: \"\\ud83d\\udc14\",\n children_crossing: \"\\ud83d\\udeb8\",\n chipmunk: \"\\ud83d\\udc3f\",\n chocolate_bar: \"\\ud83c\\udf6b\",\n christmas_tree: \"\\ud83c\\udf84\",\n church: \"\\u26ea\\ufe0f\",\n cinema: \"\\ud83c\\udfa6\",\n circus_tent: \"\\ud83c\\udfaa\",\n city_sunrise: \"\\ud83c\\udf07\",\n city_sunset: \"\\ud83c\\udf06\",\n cityscape: \"\\ud83c\\udfd9\",\n cl: \"\\ud83c\\udd91\",\n clamp: \"\\ud83d\\udddc\",\n clap: \"\\ud83d\\udc4f\",\n clapper: \"\\ud83c\\udfac\",\n classical_building: \"\\ud83c\\udfdb\",\n clinking_glasses: \"\\ud83e\\udd42\",\n clipboard: \"\\ud83d\\udccb\",\n clock1: \"\\ud83d\\udd50\",\n clock10: \"\\ud83d\\udd59\",\n clock1030: \"\\ud83d\\udd65\",\n clock11: \"\\ud83d\\udd5a\",\n clock1130: \"\\ud83d\\udd66\",\n clock12: \"\\ud83d\\udd5b\",\n clock1230: \"\\ud83d\\udd67\",\n clock130: \"\\ud83d\\udd5c\",\n clock2: \"\\ud83d\\udd51\",\n clock230: \"\\ud83d\\udd5d\",\n clock3: \"\\ud83d\\udd52\",\n clock330: \"\\ud83d\\udd5e\",\n clock4: \"\\ud83d\\udd53\",\n clock430: \"\\ud83d\\udd5f\",\n clock5: \"\\ud83d\\udd54\",\n clock530: \"\\ud83d\\udd60\",\n clock6: \"\\ud83d\\udd55\",\n clock630: \"\\ud83d\\udd61\",\n clock7: \"\\ud83d\\udd56\",\n clock730: \"\\ud83d\\udd62\",\n clock8: \"\\ud83d\\udd57\",\n clock830: \"\\ud83d\\udd63\",\n clock9: \"\\ud83d\\udd58\",\n clock930: \"\\ud83d\\udd64\",\n closed_book: \"\\ud83d\\udcd5\",\n closed_lock_with_key: \"\\ud83d\\udd10\",\n closed_umbrella: \"\\ud83c\\udf02\",\n cloud: \"\\u2601\\ufe0f\",\n cloud_with_lightning: \"\\ud83c\\udf29\",\n cloud_with_lightning_and_rain: \"\\u26c8\",\n cloud_with_rain: \"\\ud83c\\udf27\",\n cloud_with_snow: \"\\ud83c\\udf28\",\n clown_face: \"\\ud83e\\udd21\",\n clubs: \"\\u2663\\ufe0f\",\n cocktail: \"\\ud83c\\udf78\",\n coffee: \"\\u2615\\ufe0f\",\n coffin: \"\\u26b0\\ufe0f\",\n cold_sweat: \"\\ud83d\\ude30\",\n comet: \"\\u2604\\ufe0f\",\n computer: \"\\ud83d\\udcbb\",\n computer_mouse: \"\\ud83d\\uddb1\",\n confetti_ball: \"\\ud83c\\udf8a\",\n confounded: \"\\ud83d\\ude16\",\n confused: \"\\ud83d\\ude15\",\n congratulations: \"\\u3297\\ufe0f\",\n construction: \"\\ud83d\\udea7\",\n construction_worker_man: \"\\ud83d\\udc77\",\n construction_worker_woman: \"\\ud83d\\udc77‍\\u2640\\ufe0f\",\n control_knobs: \"\\ud83c\\udf9b\",\n convenience_store: \"\\ud83c\\udfea\",\n cookie: \"\\ud83c\\udf6a\",\n cool: \"\\ud83c\\udd92\",\n policeman: \"\\ud83d\\udc6e\",\n copyright: \"\\xa9\\ufe0f\",\n corn: \"\\ud83c\\udf3d\",\n couch_and_lamp: \"\\ud83d\\udecb\",\n couple: \"\\ud83d\\udc6b\",\n couple_with_heart_woman_man: \"\\ud83d\\udc91\",\n couple_with_heart_man_man: \"\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc68\",\n couple_with_heart_woman_woman: \"\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc69\",\n couplekiss_man_man: \"\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc68\",\n couplekiss_man_woman: \"\\ud83d\\udc8f\",\n couplekiss_woman_woman: \"\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc69\",\n cow: \"\\ud83d\\udc2e\",\n cow2: \"\\ud83d\\udc04\",\n cowboy_hat_face: \"\\ud83e\\udd20\",\n crab: \"\\ud83e\\udd80\",\n crayon: \"\\ud83d\\udd8d\",\n credit_card: \"\\ud83d\\udcb3\",\n crescent_moon: \"\\ud83c\\udf19\",\n cricket: \"\\ud83c\\udfcf\",\n crocodile: \"\\ud83d\\udc0a\",\n croissant: \"\\ud83e\\udd50\",\n crossed_fingers: \"\\ud83e\\udd1e\",\n crossed_flags: \"\\ud83c\\udf8c\",\n crossed_swords: \"\\u2694\\ufe0f\",\n crown: \"\\ud83d\\udc51\",\n cry: \"\\ud83d\\ude22\",\n crying_cat_face: \"\\ud83d\\ude3f\",\n crystal_ball: \"\\ud83d\\udd2e\",\n cucumber: \"\\ud83e\\udd52\",\n cupid: \"\\ud83d\\udc98\",\n curly_loop: \"\\u27b0\",\n currency_exchange: \"\\ud83d\\udcb1\",\n curry: \"\\ud83c\\udf5b\",\n custard: \"\\ud83c\\udf6e\",\n customs: \"\\ud83d\\udec3\",\n cyclone: \"\\ud83c\\udf00\",\n dagger: \"\\ud83d\\udde1\",\n dancer: \"\\ud83d\\udc83\",\n dancing_women: \"\\ud83d\\udc6f\",\n dancing_men: \"\\ud83d\\udc6f‍\\u2642\\ufe0f\",\n dango: \"\\ud83c\\udf61\",\n dark_sunglasses: \"\\ud83d\\udd76\",\n dart: \"\\ud83c\\udfaf\",\n dash: \"\\ud83d\\udca8\",\n date: \"\\ud83d\\udcc5\",\n deciduous_tree: \"\\ud83c\\udf33\",\n deer: \"\\ud83e\\udd8c\",\n department_store: \"\\ud83c\\udfec\",\n derelict_house: \"\\ud83c\\udfda\",\n desert: \"\\ud83c\\udfdc\",\n desert_island: \"\\ud83c\\udfdd\",\n desktop_computer: \"\\ud83d\\udda5\",\n male_detective: \"\\ud83d\\udd75\\ufe0f\",\n diamond_shape_with_a_dot_inside: \"\\ud83d\\udca0\",\n diamonds: \"\\u2666\\ufe0f\",\n disappointed: \"\\ud83d\\ude1e\",\n disappointed_relieved: \"\\ud83d\\ude25\",\n dizzy: \"\\ud83d\\udcab\",\n dizzy_face: \"\\ud83d\\ude35\",\n do_not_litter: \"\\ud83d\\udeaf\",\n dog: \"\\ud83d\\udc36\",\n dog2: \"\\ud83d\\udc15\",\n dollar: \"\\ud83d\\udcb5\",\n dolls: \"\\ud83c\\udf8e\",\n dolphin: \"\\ud83d\\udc2c\",\n door: \"\\ud83d\\udeaa\",\n doughnut: \"\\ud83c\\udf69\",\n dove: \"\\ud83d\\udd4a\",\n dragon: \"\\ud83d\\udc09\",\n dragon_face: \"\\ud83d\\udc32\",\n dress: \"\\ud83d\\udc57\",\n dromedary_camel: \"\\ud83d\\udc2a\",\n drooling_face: \"\\ud83e\\udd24\",\n droplet: \"\\ud83d\\udca7\",\n drum: \"\\ud83e\\udd41\",\n duck: \"\\ud83e\\udd86\",\n dvd: \"\\ud83d\\udcc0\",\n \"e-mail\": \"\\ud83d\\udce7\",\n eagle: \"\\ud83e\\udd85\",\n ear: \"\\ud83d\\udc42\",\n ear_of_rice: \"\\ud83c\\udf3e\",\n earth_africa: \"\\ud83c\\udf0d\",\n earth_americas: \"\\ud83c\\udf0e\",\n earth_asia: \"\\ud83c\\udf0f\",\n egg: \"\\ud83e\\udd5a\",\n eggplant: \"\\ud83c\\udf46\",\n eight_pointed_black_star: \"\\u2734\\ufe0f\",\n eight_spoked_asterisk: \"\\u2733\\ufe0f\",\n electric_plug: \"\\ud83d\\udd0c\",\n elephant: \"\\ud83d\\udc18\",\n email: \"\\u2709\\ufe0f\",\n end: \"\\ud83d\\udd1a\",\n envelope_with_arrow: \"\\ud83d\\udce9\",\n euro: \"\\ud83d\\udcb6\",\n european_castle: \"\\ud83c\\udff0\",\n european_post_office: \"\\ud83c\\udfe4\",\n evergreen_tree: \"\\ud83c\\udf32\",\n exclamation: \"\\u2757\\ufe0f\",\n expressionless: \"\\ud83d\\ude11\",\n eye: \"\\ud83d\\udc41\",\n eye_speech_bubble: \"\\ud83d\\udc41‍\\ud83d\\udde8\",\n eyeglasses: \"\\ud83d\\udc53\",\n eyes: \"\\ud83d\\udc40\",\n face_with_head_bandage: \"\\ud83e\\udd15\",\n face_with_thermometer: \"\\ud83e\\udd12\",\n fist_oncoming: \"\\ud83d\\udc4a\",\n factory: \"\\ud83c\\udfed\",\n fallen_leaf: \"\\ud83c\\udf42\",\n family_man_woman_boy: \"\\ud83d\\udc6a\",\n family_man_boy: \"\\ud83d\\udc68‍\\ud83d\\udc66\",\n family_man_boy_boy: \"\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66\",\n family_man_girl: \"\\ud83d\\udc68‍\\ud83d\\udc67\",\n family_man_girl_boy: \"\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66\",\n family_man_girl_girl: \"\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67\",\n family_man_man_boy: \"\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66\",\n family_man_man_boy_boy: \"\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66\",\n family_man_man_girl: \"\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67\",\n family_man_man_girl_boy: \"\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66\",\n family_man_man_girl_girl: \"\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67\",\n family_man_woman_boy_boy: \"\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66\",\n family_man_woman_girl: \"\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67\",\n family_man_woman_girl_boy: \"\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66\",\n family_man_woman_girl_girl: \"\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67\",\n family_woman_boy: \"\\ud83d\\udc69‍\\ud83d\\udc66\",\n family_woman_boy_boy: \"\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66\",\n family_woman_girl: \"\\ud83d\\udc69‍\\ud83d\\udc67\",\n family_woman_girl_boy: \"\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66\",\n family_woman_girl_girl: \"\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67\",\n family_woman_woman_boy: \"\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66\",\n family_woman_woman_boy_boy: \"\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66\",\n family_woman_woman_girl: \"\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67\",\n family_woman_woman_girl_boy: \"\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66\",\n family_woman_woman_girl_girl: \"\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67\",\n fast_forward: \"\\u23e9\",\n fax: \"\\ud83d\\udce0\",\n fearful: \"\\ud83d\\ude28\",\n feet: \"\\ud83d\\udc3e\",\n female_detective: \"\\ud83d\\udd75\\ufe0f‍\\u2640\\ufe0f\",\n ferris_wheel: \"\\ud83c\\udfa1\",\n ferry: \"\\u26f4\",\n field_hockey: \"\\ud83c\\udfd1\",\n file_cabinet: \"\\ud83d\\uddc4\",\n file_folder: \"\\ud83d\\udcc1\",\n film_projector: \"\\ud83d\\udcfd\",\n film_strip: \"\\ud83c\\udf9e\",\n fire: \"\\ud83d\\udd25\",\n fire_engine: \"\\ud83d\\ude92\",\n fireworks: \"\\ud83c\\udf86\",\n first_quarter_moon: \"\\ud83c\\udf13\",\n first_quarter_moon_with_face: \"\\ud83c\\udf1b\",\n fish: \"\\ud83d\\udc1f\",\n fish_cake: \"\\ud83c\\udf65\",\n fishing_pole_and_fish: \"\\ud83c\\udfa3\",\n fist_raised: \"\\u270a\",\n fist_left: \"\\ud83e\\udd1b\",\n fist_right: \"\\ud83e\\udd1c\",\n flags: \"\\ud83c\\udf8f\",\n flashlight: \"\\ud83d\\udd26\",\n fleur_de_lis: \"\\u269c\\ufe0f\",\n flight_arrival: \"\\ud83d\\udeec\",\n flight_departure: \"\\ud83d\\udeeb\",\n floppy_disk: \"\\ud83d\\udcbe\",\n flower_playing_cards: \"\\ud83c\\udfb4\",\n flushed: \"\\ud83d\\ude33\",\n fog: \"\\ud83c\\udf2b\",\n foggy: \"\\ud83c\\udf01\",\n football: \"\\ud83c\\udfc8\",\n footprints: \"\\ud83d\\udc63\",\n fork_and_knife: \"\\ud83c\\udf74\",\n fountain: \"\\u26f2\\ufe0f\",\n fountain_pen: \"\\ud83d\\udd8b\",\n four_leaf_clover: \"\\ud83c\\udf40\",\n fox_face: \"\\ud83e\\udd8a\",\n framed_picture: \"\\ud83d\\uddbc\",\n free: \"\\ud83c\\udd93\",\n fried_egg: \"\\ud83c\\udf73\",\n fried_shrimp: \"\\ud83c\\udf64\",\n fries: \"\\ud83c\\udf5f\",\n frog: \"\\ud83d\\udc38\",\n frowning: \"\\ud83d\\ude26\",\n frowning_face: \"\\u2639\\ufe0f\",\n frowning_man: \"\\ud83d\\ude4d‍\\u2642\\ufe0f\",\n frowning_woman: \"\\ud83d\\ude4d\",\n middle_finger: \"\\ud83d\\udd95\",\n fuelpump: \"\\u26fd\\ufe0f\",\n full_moon: \"\\ud83c\\udf15\",\n full_moon_with_face: \"\\ud83c\\udf1d\",\n funeral_urn: \"\\u26b1\\ufe0f\",\n game_die: \"\\ud83c\\udfb2\",\n gear: \"\\u2699\\ufe0f\",\n gem: \"\\ud83d\\udc8e\",\n gemini: \"\\u264a\\ufe0f\",\n ghost: \"\\ud83d\\udc7b\",\n gift: \"\\ud83c\\udf81\",\n gift_heart: \"\\ud83d\\udc9d\",\n girl: \"\\ud83d\\udc67\",\n globe_with_meridians: \"\\ud83c\\udf10\",\n goal_net: \"\\ud83e\\udd45\",\n goat: \"\\ud83d\\udc10\",\n golf: \"\\u26f3\\ufe0f\",\n golfing_man: \"\\ud83c\\udfcc\\ufe0f\",\n golfing_woman: \"\\ud83c\\udfcc\\ufe0f‍\\u2640\\ufe0f\",\n gorilla: \"\\ud83e\\udd8d\",\n grapes: \"\\ud83c\\udf47\",\n green_apple: \"\\ud83c\\udf4f\",\n green_book: \"\\ud83d\\udcd7\",\n green_heart: \"\\ud83d\\udc9a\",\n green_salad: \"\\ud83e\\udd57\",\n grey_exclamation: \"\\u2755\",\n grey_question: \"\\u2754\",\n grimacing: \"\\ud83d\\ude2c\",\n grin: \"\\ud83d\\ude01\",\n grinning: \"\\ud83d\\ude00\",\n guardsman: \"\\ud83d\\udc82\",\n guardswoman: \"\\ud83d\\udc82‍\\u2640\\ufe0f\",\n guitar: \"\\ud83c\\udfb8\",\n gun: \"\\ud83d\\udd2b\",\n haircut_woman: \"\\ud83d\\udc87\",\n haircut_man: \"\\ud83d\\udc87‍\\u2642\\ufe0f\",\n hamburger: \"\\ud83c\\udf54\",\n hammer: \"\\ud83d\\udd28\",\n hammer_and_pick: \"\\u2692\",\n hammer_and_wrench: \"\\ud83d\\udee0\",\n hamster: \"\\ud83d\\udc39\",\n hand: \"\\u270b\",\n handbag: \"\\ud83d\\udc5c\",\n handshake: \"\\ud83e\\udd1d\",\n hankey: \"\\ud83d\\udca9\",\n hatched_chick: \"\\ud83d\\udc25\",\n hatching_chick: \"\\ud83d\\udc23\",\n headphones: \"\\ud83c\\udfa7\",\n hear_no_evil: \"\\ud83d\\ude49\",\n heart: \"\\u2764\\ufe0f\",\n heart_decoration: \"\\ud83d\\udc9f\",\n heart_eyes: \"\\ud83d\\ude0d\",\n heart_eyes_cat: \"\\ud83d\\ude3b\",\n heartbeat: \"\\ud83d\\udc93\",\n heartpulse: \"\\ud83d\\udc97\",\n hearts: \"\\u2665\\ufe0f\",\n heavy_check_mark: \"\\u2714\\ufe0f\",\n heavy_division_sign: \"\\u2797\",\n heavy_dollar_sign: \"\\ud83d\\udcb2\",\n heavy_heart_exclamation: \"\\u2763\\ufe0f\",\n heavy_minus_sign: \"\\u2796\",\n heavy_multiplication_x: \"\\u2716\\ufe0f\",\n heavy_plus_sign: \"\\u2795\",\n helicopter: \"\\ud83d\\ude81\",\n herb: \"\\ud83c\\udf3f\",\n hibiscus: \"\\ud83c\\udf3a\",\n high_brightness: \"\\ud83d\\udd06\",\n high_heel: \"\\ud83d\\udc60\",\n hocho: \"\\ud83d\\udd2a\",\n hole: \"\\ud83d\\udd73\",\n honey_pot: \"\\ud83c\\udf6f\",\n horse: \"\\ud83d\\udc34\",\n horse_racing: \"\\ud83c\\udfc7\",\n hospital: \"\\ud83c\\udfe5\",\n hot_pepper: \"\\ud83c\\udf36\",\n hotdog: \"\\ud83c\\udf2d\",\n hotel: \"\\ud83c\\udfe8\",\n hotsprings: \"\\u2668\\ufe0f\",\n hourglass: \"\\u231b\\ufe0f\",\n hourglass_flowing_sand: \"\\u23f3\",\n house: \"\\ud83c\\udfe0\",\n house_with_garden: \"\\ud83c\\udfe1\",\n houses: \"\\ud83c\\udfd8\",\n hugs: \"\\ud83e\\udd17\",\n hushed: \"\\ud83d\\ude2f\",\n ice_cream: \"\\ud83c\\udf68\",\n ice_hockey: \"\\ud83c\\udfd2\",\n ice_skate: \"\\u26f8\",\n icecream: \"\\ud83c\\udf66\",\n id: \"\\ud83c\\udd94\",\n ideograph_advantage: \"\\ud83c\\ude50\",\n imp: \"\\ud83d\\udc7f\",\n inbox_tray: \"\\ud83d\\udce5\",\n incoming_envelope: \"\\ud83d\\udce8\",\n tipping_hand_woman: \"\\ud83d\\udc81\",\n information_source: \"\\u2139\\ufe0f\",\n innocent: \"\\ud83d\\ude07\",\n interrobang: \"\\u2049\\ufe0f\",\n iphone: \"\\ud83d\\udcf1\",\n izakaya_lantern: \"\\ud83c\\udfee\",\n jack_o_lantern: \"\\ud83c\\udf83\",\n japan: \"\\ud83d\\uddfe\",\n japanese_castle: \"\\ud83c\\udfef\",\n japanese_goblin: \"\\ud83d\\udc7a\",\n japanese_ogre: \"\\ud83d\\udc79\",\n jeans: \"\\ud83d\\udc56\",\n joy: \"\\ud83d\\ude02\",\n joy_cat: \"\\ud83d\\ude39\",\n joystick: \"\\ud83d\\udd79\",\n kaaba: \"\\ud83d\\udd4b\",\n key: \"\\ud83d\\udd11\",\n keyboard: \"\\u2328\\ufe0f\",\n keycap_ten: \"\\ud83d\\udd1f\",\n kick_scooter: \"\\ud83d\\udef4\",\n kimono: \"\\ud83d\\udc58\",\n kiss: \"\\ud83d\\udc8b\",\n kissing: \"\\ud83d\\ude17\",\n kissing_cat: \"\\ud83d\\ude3d\",\n kissing_closed_eyes: \"\\ud83d\\ude1a\",\n kissing_heart: \"\\ud83d\\ude18\",\n kissing_smiling_eyes: \"\\ud83d\\ude19\",\n kiwi_fruit: \"\\ud83e\\udd5d\",\n koala: \"\\ud83d\\udc28\",\n koko: \"\\ud83c\\ude01\",\n label: \"\\ud83c\\udff7\",\n large_blue_circle: \"\\ud83d\\udd35\",\n large_blue_diamond: \"\\ud83d\\udd37\",\n large_orange_diamond: \"\\ud83d\\udd36\",\n last_quarter_moon: \"\\ud83c\\udf17\",\n last_quarter_moon_with_face: \"\\ud83c\\udf1c\",\n latin_cross: \"\\u271d\\ufe0f\",\n laughing: \"\\ud83d\\ude06\",\n leaves: \"\\ud83c\\udf43\",\n ledger: \"\\ud83d\\udcd2\",\n left_luggage: \"\\ud83d\\udec5\",\n left_right_arrow: \"\\u2194\\ufe0f\",\n leftwards_arrow_with_hook: \"\\u21a9\\ufe0f\",\n lemon: \"\\ud83c\\udf4b\",\n leo: \"\\u264c\\ufe0f\",\n leopard: \"\\ud83d\\udc06\",\n level_slider: \"\\ud83c\\udf9a\",\n libra: \"\\u264e\\ufe0f\",\n light_rail: \"\\ud83d\\ude88\",\n link: \"\\ud83d\\udd17\",\n lion: \"\\ud83e\\udd81\",\n lips: \"\\ud83d\\udc44\",\n lipstick: \"\\ud83d\\udc84\",\n lizard: \"\\ud83e\\udd8e\",\n lock: \"\\ud83d\\udd12\",\n lock_with_ink_pen: \"\\ud83d\\udd0f\",\n lollipop: \"\\ud83c\\udf6d\",\n loop: \"\\u27bf\",\n loud_sound: \"\\ud83d\\udd0a\",\n loudspeaker: \"\\ud83d\\udce2\",\n love_hotel: \"\\ud83c\\udfe9\",\n love_letter: \"\\ud83d\\udc8c\",\n low_brightness: \"\\ud83d\\udd05\",\n lying_face: \"\\ud83e\\udd25\",\n m: \"\\u24c2\\ufe0f\",\n mag: \"\\ud83d\\udd0d\",\n mag_right: \"\\ud83d\\udd0e\",\n mahjong: \"\\ud83c\\udc04\\ufe0f\",\n mailbox: \"\\ud83d\\udceb\",\n mailbox_closed: \"\\ud83d\\udcea\",\n mailbox_with_mail: \"\\ud83d\\udcec\",\n mailbox_with_no_mail: \"\\ud83d\\udced\",\n man: \"\\ud83d\\udc68\",\n man_artist: \"\\ud83d\\udc68‍\\ud83c\\udfa8\",\n man_astronaut: \"\\ud83d\\udc68‍\\ud83d\\ude80\",\n man_cartwheeling: \"\\ud83e\\udd38‍\\u2642\\ufe0f\",\n man_cook: \"\\ud83d\\udc68‍\\ud83c\\udf73\",\n man_dancing: \"\\ud83d\\udd7a\",\n man_facepalming: \"\\ud83e\\udd26‍\\u2642\\ufe0f\",\n man_factory_worker: \"\\ud83d\\udc68‍\\ud83c\\udfed\",\n man_farmer: \"\\ud83d\\udc68‍\\ud83c\\udf3e\",\n man_firefighter: \"\\ud83d\\udc68‍\\ud83d\\ude92\",\n man_health_worker: \"\\ud83d\\udc68‍\\u2695\\ufe0f\",\n man_in_tuxedo: \"\\ud83e\\udd35\",\n man_judge: \"\\ud83d\\udc68‍\\u2696\\ufe0f\",\n man_juggling: \"\\ud83e\\udd39‍\\u2642\\ufe0f\",\n man_mechanic: \"\\ud83d\\udc68‍\\ud83d\\udd27\",\n man_office_worker: \"\\ud83d\\udc68‍\\ud83d\\udcbc\",\n man_pilot: \"\\ud83d\\udc68‍\\u2708\\ufe0f\",\n man_playing_handball: \"\\ud83e\\udd3e‍\\u2642\\ufe0f\",\n man_playing_water_polo: \"\\ud83e\\udd3d‍\\u2642\\ufe0f\",\n man_scientist: \"\\ud83d\\udc68‍\\ud83d\\udd2c\",\n man_shrugging: \"\\ud83e\\udd37‍\\u2642\\ufe0f\",\n man_singer: \"\\ud83d\\udc68‍\\ud83c\\udfa4\",\n man_student: \"\\ud83d\\udc68‍\\ud83c\\udf93\",\n man_teacher: \"\\ud83d\\udc68‍\\ud83c\\udfeb\",\n man_technologist: \"\\ud83d\\udc68‍\\ud83d\\udcbb\",\n man_with_gua_pi_mao: \"\\ud83d\\udc72\",\n man_with_turban: \"\\ud83d\\udc73\",\n tangerine: \"\\ud83c\\udf4a\",\n mans_shoe: \"\\ud83d\\udc5e\",\n mantelpiece_clock: \"\\ud83d\\udd70\",\n maple_leaf: \"\\ud83c\\udf41\",\n martial_arts_uniform: \"\\ud83e\\udd4b\",\n mask: \"\\ud83d\\ude37\",\n massage_woman: \"\\ud83d\\udc86\",\n massage_man: \"\\ud83d\\udc86‍\\u2642\\ufe0f\",\n meat_on_bone: \"\\ud83c\\udf56\",\n medal_military: \"\\ud83c\\udf96\",\n medal_sports: \"\\ud83c\\udfc5\",\n mega: \"\\ud83d\\udce3\",\n melon: \"\\ud83c\\udf48\",\n memo: \"\\ud83d\\udcdd\",\n men_wrestling: \"\\ud83e\\udd3c‍\\u2642\\ufe0f\",\n menorah: \"\\ud83d\\udd4e\",\n mens: \"\\ud83d\\udeb9\",\n metal: \"\\ud83e\\udd18\",\n metro: \"\\ud83d\\ude87\",\n microphone: \"\\ud83c\\udfa4\",\n microscope: \"\\ud83d\\udd2c\",\n milk_glass: \"\\ud83e\\udd5b\",\n milky_way: \"\\ud83c\\udf0c\",\n minibus: \"\\ud83d\\ude90\",\n minidisc: \"\\ud83d\\udcbd\",\n mobile_phone_off: \"\\ud83d\\udcf4\",\n money_mouth_face: \"\\ud83e\\udd11\",\n money_with_wings: \"\\ud83d\\udcb8\",\n moneybag: \"\\ud83d\\udcb0\",\n monkey: \"\\ud83d\\udc12\",\n monkey_face: \"\\ud83d\\udc35\",\n monorail: \"\\ud83d\\ude9d\",\n moon: \"\\ud83c\\udf14\",\n mortar_board: \"\\ud83c\\udf93\",\n mosque: \"\\ud83d\\udd4c\",\n motor_boat: \"\\ud83d\\udee5\",\n motor_scooter: \"\\ud83d\\udef5\",\n motorcycle: \"\\ud83c\\udfcd\",\n motorway: \"\\ud83d\\udee3\",\n mount_fuji: \"\\ud83d\\uddfb\",\n mountain: \"\\u26f0\",\n mountain_biking_man: \"\\ud83d\\udeb5\",\n mountain_biking_woman: \"\\ud83d\\udeb5‍\\u2640\\ufe0f\",\n mountain_cableway: \"\\ud83d\\udea0\",\n mountain_railway: \"\\ud83d\\ude9e\",\n mountain_snow: \"\\ud83c\\udfd4\",\n mouse: \"\\ud83d\\udc2d\",\n mouse2: \"\\ud83d\\udc01\",\n movie_camera: \"\\ud83c\\udfa5\",\n moyai: \"\\ud83d\\uddff\",\n mrs_claus: \"\\ud83e\\udd36\",\n muscle: \"\\ud83d\\udcaa\",\n mushroom: \"\\ud83c\\udf44\",\n musical_keyboard: \"\\ud83c\\udfb9\",\n musical_note: \"\\ud83c\\udfb5\",\n musical_score: \"\\ud83c\\udfbc\",\n mute: \"\\ud83d\\udd07\",\n nail_care: \"\\ud83d\\udc85\",\n name_badge: \"\\ud83d\\udcdb\",\n national_park: \"\\ud83c\\udfde\",\n nauseated_face: \"\\ud83e\\udd22\",\n necktie: \"\\ud83d\\udc54\",\n negative_squared_cross_mark: \"\\u274e\",\n nerd_face: \"\\ud83e\\udd13\",\n neutral_face: \"\\ud83d\\ude10\",\n \"new\": \"\\ud83c\\udd95\",\n new_moon: \"\\ud83c\\udf11\",\n new_moon_with_face: \"\\ud83c\\udf1a\",\n newspaper: \"\\ud83d\\udcf0\",\n newspaper_roll: \"\\ud83d\\uddde\",\n next_track_button: \"\\u23ed\",\n ng: \"\\ud83c\\udd96\",\n no_good_man: \"\\ud83d\\ude45‍\\u2642\\ufe0f\",\n no_good_woman: \"\\ud83d\\ude45\",\n night_with_stars: \"\\ud83c\\udf03\",\n no_bell: \"\\ud83d\\udd15\",\n no_bicycles: \"\\ud83d\\udeb3\",\n no_entry: \"\\u26d4\\ufe0f\",\n no_entry_sign: \"\\ud83d\\udeab\",\n no_mobile_phones: \"\\ud83d\\udcf5\",\n no_mouth: \"\\ud83d\\ude36\",\n no_pedestrians: \"\\ud83d\\udeb7\",\n no_smoking: \"\\ud83d\\udead\",\n \"non-potable_water\": \"\\ud83d\\udeb1\",\n nose: \"\\ud83d\\udc43\",\n notebook: \"\\ud83d\\udcd3\",\n notebook_with_decorative_cover: \"\\ud83d\\udcd4\",\n notes: \"\\ud83c\\udfb6\",\n nut_and_bolt: \"\\ud83d\\udd29\",\n o: \"\\u2b55\\ufe0f\",\n o2: \"\\ud83c\\udd7e\\ufe0f\",\n ocean: \"\\ud83c\\udf0a\",\n octopus: \"\\ud83d\\udc19\",\n oden: \"\\ud83c\\udf62\",\n office: \"\\ud83c\\udfe2\",\n oil_drum: \"\\ud83d\\udee2\",\n ok: \"\\ud83c\\udd97\",\n ok_hand: \"\\ud83d\\udc4c\",\n ok_man: \"\\ud83d\\ude46‍\\u2642\\ufe0f\",\n ok_woman: \"\\ud83d\\ude46\",\n old_key: \"\\ud83d\\udddd\",\n older_man: \"\\ud83d\\udc74\",\n older_woman: \"\\ud83d\\udc75\",\n om: \"\\ud83d\\udd49\",\n on: \"\\ud83d\\udd1b\",\n oncoming_automobile: \"\\ud83d\\ude98\",\n oncoming_bus: \"\\ud83d\\ude8d\",\n oncoming_police_car: \"\\ud83d\\ude94\",\n oncoming_taxi: \"\\ud83d\\ude96\",\n open_file_folder: \"\\ud83d\\udcc2\",\n open_hands: \"\\ud83d\\udc50\",\n open_mouth: \"\\ud83d\\ude2e\",\n open_umbrella: \"\\u2602\\ufe0f\",\n ophiuchus: \"\\u26ce\",\n orange_book: \"\\ud83d\\udcd9\",\n orthodox_cross: \"\\u2626\\ufe0f\",\n outbox_tray: \"\\ud83d\\udce4\",\n owl: \"\\ud83e\\udd89\",\n ox: \"\\ud83d\\udc02\",\n \"package\": \"\\ud83d\\udce6\",\n page_facing_up: \"\\ud83d\\udcc4\",\n page_with_curl: \"\\ud83d\\udcc3\",\n pager: \"\\ud83d\\udcdf\",\n paintbrush: \"\\ud83d\\udd8c\",\n palm_tree: \"\\ud83c\\udf34\",\n pancakes: \"\\ud83e\\udd5e\",\n panda_face: \"\\ud83d\\udc3c\",\n paperclip: \"\\ud83d\\udcce\",\n paperclips: \"\\ud83d\\udd87\",\n parasol_on_ground: \"\\u26f1\",\n parking: \"\\ud83c\\udd7f\\ufe0f\",\n part_alternation_mark: \"\\u303d\\ufe0f\",\n partly_sunny: \"\\u26c5\\ufe0f\",\n passenger_ship: \"\\ud83d\\udef3\",\n passport_control: \"\\ud83d\\udec2\",\n pause_button: \"\\u23f8\",\n peace_symbol: \"\\u262e\\ufe0f\",\n peach: \"\\ud83c\\udf51\",\n peanuts: \"\\ud83e\\udd5c\",\n pear: \"\\ud83c\\udf50\",\n pen: \"\\ud83d\\udd8a\",\n pencil2: \"\\u270f\\ufe0f\",\n penguin: \"\\ud83d\\udc27\",\n pensive: \"\\ud83d\\ude14\",\n performing_arts: \"\\ud83c\\udfad\",\n persevere: \"\\ud83d\\ude23\",\n person_fencing: \"\\ud83e\\udd3a\",\n pouting_woman: \"\\ud83d\\ude4e\",\n phone: \"\\u260e\\ufe0f\",\n pick: \"\\u26cf\",\n pig: \"\\ud83d\\udc37\",\n pig2: \"\\ud83d\\udc16\",\n pig_nose: \"\\ud83d\\udc3d\",\n pill: \"\\ud83d\\udc8a\",\n pineapple: \"\\ud83c\\udf4d\",\n ping_pong: \"\\ud83c\\udfd3\",\n pisces: \"\\u2653\\ufe0f\",\n pizza: \"\\ud83c\\udf55\",\n place_of_worship: \"\\ud83d\\uded0\",\n plate_with_cutlery: \"\\ud83c\\udf7d\",\n play_or_pause_button: \"\\u23ef\",\n point_down: \"\\ud83d\\udc47\",\n point_left: \"\\ud83d\\udc48\",\n point_right: \"\\ud83d\\udc49\",\n point_up: \"\\u261d\\ufe0f\",\n point_up_2: \"\\ud83d\\udc46\",\n police_car: \"\\ud83d\\ude93\",\n policewoman: \"\\ud83d\\udc6e‍\\u2640\\ufe0f\",\n poodle: \"\\ud83d\\udc29\",\n popcorn: \"\\ud83c\\udf7f\",\n post_office: \"\\ud83c\\udfe3\",\n postal_horn: \"\\ud83d\\udcef\",\n postbox: \"\\ud83d\\udcee\",\n potable_water: \"\\ud83d\\udeb0\",\n potato: \"\\ud83e\\udd54\",\n pouch: \"\\ud83d\\udc5d\",\n poultry_leg: \"\\ud83c\\udf57\",\n pound: \"\\ud83d\\udcb7\",\n rage: \"\\ud83d\\ude21\",\n pouting_cat: \"\\ud83d\\ude3e\",\n pouting_man: \"\\ud83d\\ude4e‍\\u2642\\ufe0f\",\n pray: \"\\ud83d\\ude4f\",\n prayer_beads: \"\\ud83d\\udcff\",\n pregnant_woman: \"\\ud83e\\udd30\",\n previous_track_button: \"\\u23ee\",\n prince: \"\\ud83e\\udd34\",\n princess: \"\\ud83d\\udc78\",\n printer: \"\\ud83d\\udda8\",\n purple_heart: \"\\ud83d\\udc9c\",\n purse: \"\\ud83d\\udc5b\",\n pushpin: \"\\ud83d\\udccc\",\n put_litter_in_its_place: \"\\ud83d\\udeae\",\n question: \"\\u2753\",\n rabbit: \"\\ud83d\\udc30\",\n rabbit2: \"\\ud83d\\udc07\",\n racehorse: \"\\ud83d\\udc0e\",\n racing_car: \"\\ud83c\\udfce\",\n radio: \"\\ud83d\\udcfb\",\n radio_button: \"\\ud83d\\udd18\",\n radioactive: \"\\u2622\\ufe0f\",\n railway_car: \"\\ud83d\\ude83\",\n railway_track: \"\\ud83d\\udee4\",\n rainbow: \"\\ud83c\\udf08\",\n rainbow_flag: \"\\ud83c\\udff3\\ufe0f‍\\ud83c\\udf08\",\n raised_back_of_hand: \"\\ud83e\\udd1a\",\n raised_hand_with_fingers_splayed: \"\\ud83d\\udd90\",\n raised_hands: \"\\ud83d\\ude4c\",\n raising_hand_woman: \"\\ud83d\\ude4b\",\n raising_hand_man: \"\\ud83d\\ude4b‍\\u2642\\ufe0f\",\n ram: \"\\ud83d\\udc0f\",\n ramen: \"\\ud83c\\udf5c\",\n rat: \"\\ud83d\\udc00\",\n record_button: \"\\u23fa\",\n recycle: \"\\u267b\\ufe0f\",\n red_circle: \"\\ud83d\\udd34\",\n registered: \"\\xae\\ufe0f\",\n relaxed: \"\\u263a\\ufe0f\",\n relieved: \"\\ud83d\\ude0c\",\n reminder_ribbon: \"\\ud83c\\udf97\",\n repeat: \"\\ud83d\\udd01\",\n repeat_one: \"\\ud83d\\udd02\",\n rescue_worker_helmet: \"\\u26d1\",\n restroom: \"\\ud83d\\udebb\",\n revolving_hearts: \"\\ud83d\\udc9e\",\n rewind: \"\\u23ea\",\n rhinoceros: \"\\ud83e\\udd8f\",\n ribbon: \"\\ud83c\\udf80\",\n rice: \"\\ud83c\\udf5a\",\n rice_ball: \"\\ud83c\\udf59\",\n rice_cracker: \"\\ud83c\\udf58\",\n rice_scene: \"\\ud83c\\udf91\",\n right_anger_bubble: \"\\ud83d\\uddef\",\n ring: \"\\ud83d\\udc8d\",\n robot: \"\\ud83e\\udd16\",\n rocket: \"\\ud83d\\ude80\",\n rofl: \"\\ud83e\\udd23\",\n roll_eyes: \"\\ud83d\\ude44\",\n roller_coaster: \"\\ud83c\\udfa2\",\n rooster: \"\\ud83d\\udc13\",\n rose: \"\\ud83c\\udf39\",\n rosette: \"\\ud83c\\udff5\",\n rotating_light: \"\\ud83d\\udea8\",\n round_pushpin: \"\\ud83d\\udccd\",\n rowing_man: \"\\ud83d\\udea3\",\n rowing_woman: \"\\ud83d\\udea3‍\\u2640\\ufe0f\",\n rugby_football: \"\\ud83c\\udfc9\",\n running_man: \"\\ud83c\\udfc3\",\n running_shirt_with_sash: \"\\ud83c\\udfbd\",\n running_woman: \"\\ud83c\\udfc3‍\\u2640\\ufe0f\",\n sa: \"\\ud83c\\ude02\\ufe0f\",\n sagittarius: \"\\u2650\\ufe0f\",\n sake: \"\\ud83c\\udf76\",\n sandal: \"\\ud83d\\udc61\",\n santa: \"\\ud83c\\udf85\",\n satellite: \"\\ud83d\\udce1\",\n saxophone: \"\\ud83c\\udfb7\",\n school: \"\\ud83c\\udfeb\",\n school_satchel: \"\\ud83c\\udf92\",\n scissors: \"\\u2702\\ufe0f\",\n scorpion: \"\\ud83e\\udd82\",\n scorpius: \"\\u264f\\ufe0f\",\n scream: \"\\ud83d\\ude31\",\n scream_cat: \"\\ud83d\\ude40\",\n scroll: \"\\ud83d\\udcdc\",\n seat: \"\\ud83d\\udcba\",\n secret: \"\\u3299\\ufe0f\",\n see_no_evil: \"\\ud83d\\ude48\",\n seedling: \"\\ud83c\\udf31\",\n selfie: \"\\ud83e\\udd33\",\n shallow_pan_of_food: \"\\ud83e\\udd58\",\n shamrock: \"\\u2618\\ufe0f\",\n shark: \"\\ud83e\\udd88\",\n shaved_ice: \"\\ud83c\\udf67\",\n sheep: \"\\ud83d\\udc11\",\n shell: \"\\ud83d\\udc1a\",\n shield: \"\\ud83d\\udee1\",\n shinto_shrine: \"\\u26e9\",\n ship: \"\\ud83d\\udea2\",\n shirt: \"\\ud83d\\udc55\",\n shopping: \"\\ud83d\\udecd\",\n shopping_cart: \"\\ud83d\\uded2\",\n shower: \"\\ud83d\\udebf\",\n shrimp: \"\\ud83e\\udd90\",\n signal_strength: \"\\ud83d\\udcf6\",\n six_pointed_star: \"\\ud83d\\udd2f\",\n ski: \"\\ud83c\\udfbf\",\n skier: \"\\u26f7\",\n skull: \"\\ud83d\\udc80\",\n skull_and_crossbones: \"\\u2620\\ufe0f\",\n sleeping: \"\\ud83d\\ude34\",\n sleeping_bed: \"\\ud83d\\udecc\",\n sleepy: \"\\ud83d\\ude2a\",\n slightly_frowning_face: \"\\ud83d\\ude41\",\n slightly_smiling_face: \"\\ud83d\\ude42\",\n slot_machine: \"\\ud83c\\udfb0\",\n small_airplane: \"\\ud83d\\udee9\",\n small_blue_diamond: \"\\ud83d\\udd39\",\n small_orange_diamond: \"\\ud83d\\udd38\",\n small_red_triangle: \"\\ud83d\\udd3a\",\n small_red_triangle_down: \"\\ud83d\\udd3b\",\n smile: \"\\ud83d\\ude04\",\n smile_cat: \"\\ud83d\\ude38\",\n smiley: \"\\ud83d\\ude03\",\n smiley_cat: \"\\ud83d\\ude3a\",\n smiling_imp: \"\\ud83d\\ude08\",\n smirk: \"\\ud83d\\ude0f\",\n smirk_cat: \"\\ud83d\\ude3c\",\n smoking: \"\\ud83d\\udeac\",\n snail: \"\\ud83d\\udc0c\",\n snake: \"\\ud83d\\udc0d\",\n sneezing_face: \"\\ud83e\\udd27\",\n snowboarder: \"\\ud83c\\udfc2\",\n snowflake: \"\\u2744\\ufe0f\",\n snowman: \"\\u26c4\\ufe0f\",\n snowman_with_snow: \"\\u2603\\ufe0f\",\n sob: \"\\ud83d\\ude2d\",\n soccer: \"\\u26bd\\ufe0f\",\n soon: \"\\ud83d\\udd1c\",\n sos: \"\\ud83c\\udd98\",\n sound: \"\\ud83d\\udd09\",\n space_invader: \"\\ud83d\\udc7e\",\n spades: \"\\u2660\\ufe0f\",\n spaghetti: \"\\ud83c\\udf5d\",\n sparkle: \"\\u2747\\ufe0f\",\n sparkler: \"\\ud83c\\udf87\",\n sparkles: \"\\u2728\",\n sparkling_heart: \"\\ud83d\\udc96\",\n speak_no_evil: \"\\ud83d\\ude4a\",\n speaker: \"\\ud83d\\udd08\",\n speaking_head: \"\\ud83d\\udde3\",\n speech_balloon: \"\\ud83d\\udcac\",\n speedboat: \"\\ud83d\\udea4\",\n spider: \"\\ud83d\\udd77\",\n spider_web: \"\\ud83d\\udd78\",\n spiral_calendar: \"\\ud83d\\uddd3\",\n spiral_notepad: \"\\ud83d\\uddd2\",\n spoon: \"\\ud83e\\udd44\",\n squid: \"\\ud83e\\udd91\",\n stadium: \"\\ud83c\\udfdf\",\n star: \"\\u2b50\\ufe0f\",\n star2: \"\\ud83c\\udf1f\",\n star_and_crescent: \"\\u262a\\ufe0f\",\n star_of_david: \"\\u2721\\ufe0f\",\n stars: \"\\ud83c\\udf20\",\n station: \"\\ud83d\\ude89\",\n statue_of_liberty: \"\\ud83d\\uddfd\",\n steam_locomotive: \"\\ud83d\\ude82\",\n stew: \"\\ud83c\\udf72\",\n stop_button: \"\\u23f9\",\n stop_sign: \"\\ud83d\\uded1\",\n stopwatch: \"\\u23f1\",\n straight_ruler: \"\\ud83d\\udccf\",\n strawberry: \"\\ud83c\\udf53\",\n stuck_out_tongue: \"\\ud83d\\ude1b\",\n stuck_out_tongue_closed_eyes: \"\\ud83d\\ude1d\",\n stuck_out_tongue_winking_eye: \"\\ud83d\\ude1c\",\n studio_microphone: \"\\ud83c\\udf99\",\n stuffed_flatbread: \"\\ud83e\\udd59\",\n sun_behind_large_cloud: \"\\ud83c\\udf25\",\n sun_behind_rain_cloud: \"\\ud83c\\udf26\",\n sun_behind_small_cloud: \"\\ud83c\\udf24\",\n sun_with_face: \"\\ud83c\\udf1e\",\n sunflower: \"\\ud83c\\udf3b\",\n sunglasses: \"\\ud83d\\ude0e\",\n sunny: \"\\u2600\\ufe0f\",\n sunrise: \"\\ud83c\\udf05\",\n sunrise_over_mountains: \"\\ud83c\\udf04\",\n surfing_man: \"\\ud83c\\udfc4\",\n surfing_woman: \"\\ud83c\\udfc4‍\\u2640\\ufe0f\",\n sushi: \"\\ud83c\\udf63\",\n suspension_railway: \"\\ud83d\\ude9f\",\n sweat: \"\\ud83d\\ude13\",\n sweat_drops: \"\\ud83d\\udca6\",\n sweat_smile: \"\\ud83d\\ude05\",\n sweet_potato: \"\\ud83c\\udf60\",\n swimming_man: \"\\ud83c\\udfca\",\n swimming_woman: \"\\ud83c\\udfca‍\\u2640\\ufe0f\",\n symbols: \"\\ud83d\\udd23\",\n synagogue: \"\\ud83d\\udd4d\",\n syringe: \"\\ud83d\\udc89\",\n taco: \"\\ud83c\\udf2e\",\n tada: \"\\ud83c\\udf89\",\n tanabata_tree: \"\\ud83c\\udf8b\",\n taurus: \"\\u2649\\ufe0f\",\n taxi: \"\\ud83d\\ude95\",\n tea: \"\\ud83c\\udf75\",\n telephone_receiver: \"\\ud83d\\udcde\",\n telescope: \"\\ud83d\\udd2d\",\n tennis: \"\\ud83c\\udfbe\",\n tent: \"\\u26fa\\ufe0f\",\n thermometer: \"\\ud83c\\udf21\",\n thinking: \"\\ud83e\\udd14\",\n thought_balloon: \"\\ud83d\\udcad\",\n ticket: \"\\ud83c\\udfab\",\n tickets: \"\\ud83c\\udf9f\",\n tiger: \"\\ud83d\\udc2f\",\n tiger2: \"\\ud83d\\udc05\",\n timer_clock: \"\\u23f2\",\n tipping_hand_man: \"\\ud83d\\udc81‍\\u2642\\ufe0f\",\n tired_face: \"\\ud83d\\ude2b\",\n tm: \"\\u2122\\ufe0f\",\n toilet: \"\\ud83d\\udebd\",\n tokyo_tower: \"\\ud83d\\uddfc\",\n tomato: \"\\ud83c\\udf45\",\n tongue: \"\\ud83d\\udc45\",\n top: \"\\ud83d\\udd1d\",\n tophat: \"\\ud83c\\udfa9\",\n tornado: \"\\ud83c\\udf2a\",\n trackball: \"\\ud83d\\uddb2\",\n tractor: \"\\ud83d\\ude9c\",\n traffic_light: \"\\ud83d\\udea5\",\n train: \"\\ud83d\\ude8b\",\n train2: \"\\ud83d\\ude86\",\n tram: \"\\ud83d\\ude8a\",\n triangular_flag_on_post: \"\\ud83d\\udea9\",\n triangular_ruler: \"\\ud83d\\udcd0\",\n trident: \"\\ud83d\\udd31\",\n triumph: \"\\ud83d\\ude24\",\n trolleybus: \"\\ud83d\\ude8e\",\n trophy: \"\\ud83c\\udfc6\",\n tropical_drink: \"\\ud83c\\udf79\",\n tropical_fish: \"\\ud83d\\udc20\",\n truck: \"\\ud83d\\ude9a\",\n trumpet: \"\\ud83c\\udfba\",\n tulip: \"\\ud83c\\udf37\",\n tumbler_glass: \"\\ud83e\\udd43\",\n turkey: \"\\ud83e\\udd83\",\n turtle: \"\\ud83d\\udc22\",\n tv: \"\\ud83d\\udcfa\",\n twisted_rightwards_arrows: \"\\ud83d\\udd00\",\n two_hearts: \"\\ud83d\\udc95\",\n two_men_holding_hands: \"\\ud83d\\udc6c\",\n two_women_holding_hands: \"\\ud83d\\udc6d\",\n u5272: \"\\ud83c\\ude39\",\n u5408: \"\\ud83c\\ude34\",\n u55b6: \"\\ud83c\\ude3a\",\n u6307: \"\\ud83c\\ude2f\\ufe0f\",\n u6708: \"\\ud83c\\ude37\\ufe0f\",\n u6709: \"\\ud83c\\ude36\",\n u6e80: \"\\ud83c\\ude35\",\n u7121: \"\\ud83c\\ude1a\\ufe0f\",\n u7533: \"\\ud83c\\ude38\",\n u7981: \"\\ud83c\\ude32\",\n u7a7a: \"\\ud83c\\ude33\",\n umbrella: \"\\u2614\\ufe0f\",\n unamused: \"\\ud83d\\ude12\",\n underage: \"\\ud83d\\udd1e\",\n unicorn: \"\\ud83e\\udd84\",\n unlock: \"\\ud83d\\udd13\",\n up: \"\\ud83c\\udd99\",\n upside_down_face: \"\\ud83d\\ude43\",\n v: \"\\u270c\\ufe0f\",\n vertical_traffic_light: \"\\ud83d\\udea6\",\n vhs: \"\\ud83d\\udcfc\",\n vibration_mode: \"\\ud83d\\udcf3\",\n video_camera: \"\\ud83d\\udcf9\",\n video_game: \"\\ud83c\\udfae\",\n violin: \"\\ud83c\\udfbb\",\n virgo: \"\\u264d\\ufe0f\",\n volcano: \"\\ud83c\\udf0b\",\n volleyball: \"\\ud83c\\udfd0\",\n vs: \"\\ud83c\\udd9a\",\n vulcan_salute: \"\\ud83d\\udd96\",\n walking_man: \"\\ud83d\\udeb6\",\n walking_woman: \"\\ud83d\\udeb6‍\\u2640\\ufe0f\",\n waning_crescent_moon: \"\\ud83c\\udf18\",\n waning_gibbous_moon: \"\\ud83c\\udf16\",\n warning: \"\\u26a0\\ufe0f\",\n wastebasket: \"\\ud83d\\uddd1\",\n watch: \"\\u231a\\ufe0f\",\n water_buffalo: \"\\ud83d\\udc03\",\n watermelon: \"\\ud83c\\udf49\",\n wave: \"\\ud83d\\udc4b\",\n wavy_dash: \"\\u3030\\ufe0f\",\n waxing_crescent_moon: \"\\ud83c\\udf12\",\n wc: \"\\ud83d\\udebe\",\n weary: \"\\ud83d\\ude29\",\n wedding: \"\\ud83d\\udc92\",\n weight_lifting_man: \"\\ud83c\\udfcb\\ufe0f\",\n weight_lifting_woman: \"\\ud83c\\udfcb\\ufe0f‍\\u2640\\ufe0f\",\n whale: \"\\ud83d\\udc33\",\n whale2: \"\\ud83d\\udc0b\",\n wheel_of_dharma: \"\\u2638\\ufe0f\",\n wheelchair: \"\\u267f\\ufe0f\",\n white_check_mark: \"\\u2705\",\n white_circle: \"\\u26aa\\ufe0f\",\n white_flag: \"\\ud83c\\udff3\\ufe0f\",\n white_flower: \"\\ud83d\\udcae\",\n white_large_square: \"\\u2b1c\\ufe0f\",\n white_medium_small_square: \"\\u25fd\\ufe0f\",\n white_medium_square: \"\\u25fb\\ufe0f\",\n white_small_square: \"\\u25ab\\ufe0f\",\n white_square_button: \"\\ud83d\\udd33\",\n wilted_flower: \"\\ud83e\\udd40\",\n wind_chime: \"\\ud83c\\udf90\",\n wind_face: \"\\ud83c\\udf2c\",\n wine_glass: \"\\ud83c\\udf77\",\n wink: \"\\ud83d\\ude09\",\n wolf: \"\\ud83d\\udc3a\",\n woman: \"\\ud83d\\udc69\",\n woman_artist: \"\\ud83d\\udc69‍\\ud83c\\udfa8\",\n woman_astronaut: \"\\ud83d\\udc69‍\\ud83d\\ude80\",\n woman_cartwheeling: \"\\ud83e\\udd38‍\\u2640\\ufe0f\",\n woman_cook: \"\\ud83d\\udc69‍\\ud83c\\udf73\",\n woman_facepalming: \"\\ud83e\\udd26‍\\u2640\\ufe0f\",\n woman_factory_worker: \"\\ud83d\\udc69‍\\ud83c\\udfed\",\n woman_farmer: \"\\ud83d\\udc69‍\\ud83c\\udf3e\",\n woman_firefighter: \"\\ud83d\\udc69‍\\ud83d\\ude92\",\n woman_health_worker: \"\\ud83d\\udc69‍\\u2695\\ufe0f\",\n woman_judge: \"\\ud83d\\udc69‍\\u2696\\ufe0f\",\n woman_juggling: \"\\ud83e\\udd39‍\\u2640\\ufe0f\",\n woman_mechanic: \"\\ud83d\\udc69‍\\ud83d\\udd27\",\n woman_office_worker: \"\\ud83d\\udc69‍\\ud83d\\udcbc\",\n woman_pilot: \"\\ud83d\\udc69‍\\u2708\\ufe0f\",\n woman_playing_handball: \"\\ud83e\\udd3e‍\\u2640\\ufe0f\",\n woman_playing_water_polo: \"\\ud83e\\udd3d‍\\u2640\\ufe0f\",\n woman_scientist: \"\\ud83d\\udc69‍\\ud83d\\udd2c\",\n woman_shrugging: \"\\ud83e\\udd37‍\\u2640\\ufe0f\",\n woman_singer: \"\\ud83d\\udc69‍\\ud83c\\udfa4\",\n woman_student: \"\\ud83d\\udc69‍\\ud83c\\udf93\",\n woman_teacher: \"\\ud83d\\udc69‍\\ud83c\\udfeb\",\n woman_technologist: \"\\ud83d\\udc69‍\\ud83d\\udcbb\",\n woman_with_turban: \"\\ud83d\\udc73‍\\u2640\\ufe0f\",\n womans_clothes: \"\\ud83d\\udc5a\",\n womans_hat: \"\\ud83d\\udc52\",\n women_wrestling: \"\\ud83e\\udd3c‍\\u2640\\ufe0f\",\n womens: \"\\ud83d\\udeba\",\n world_map: \"\\ud83d\\uddfa\",\n worried: \"\\ud83d\\ude1f\",\n wrench: \"\\ud83d\\udd27\",\n writing_hand: \"\\u270d\\ufe0f\",\n x: \"\\u274c\",\n yellow_heart: \"\\ud83d\\udc9b\",\n yen: \"\\ud83d\\udcb4\",\n yin_yang: \"\\u262f\\ufe0f\",\n yum: \"\\ud83d\\ude0b\",\n zap: \"\\u26a1\\ufe0f\",\n zipper_mouth_face: \"\\ud83e\\udd10\",\n zzz: \"\\ud83d\\udca4\",\n octocat: '<img alt=\":octocat:\" height=\"20\" width=\"20\" align=\"absmiddle\" src=\"https://assets-cdn.github.com/images/icons/emoji/octocat.png\">',\n showdown: \"<span style=\\\"font-family: 'Anonymous Pro', monospace; text-decoration: underline; text-decoration-style: dashed; text-decoration-color: #3e8b8a;text-underline-position: under;\\\">S</span>\"\n }, y.Converter = function (a) {\n var r = {},\n o = [],\n s = [],\n l = {},\n n = g,\n i = {\n parsed: {},\n raw: \"\",\n format: \"\"\n };\n function c(e, t) {\n if (t = t || null, y.helper.isString(e)) {\n if (t = e = y.helper.stdExtName(e), y.extensions[e]) return void function i(e, t) {\n \"function\" == typeof e && (e = e(new y.Converter()));\n y.helper.isArray(e) || (e = [e]);\n var a = m(e, t);\n if (!a.valid) throw Error(a.error);\n for (var n = 0; n < e.length; ++n) switch (e[n].type) {\n case \"lang\":\n o.push(e[n]);\n break;\n case \"output\":\n s.push(e[n]);\n break;\n default:\n throw Error(\"Extension loader error: Type unrecognized!!!\");\n }\n }(y.extensions[e], e);\n if (y.helper.isUndefined(p[e])) throw Error('Extension \"' + e + '\" could not be loaded. It was either not found or is not a valid extension.');\n e = p[e];\n }\n \"function\" == typeof e && (e = e()), y.helper.isArray(e) || (e = [e]);\n var a = m(e, t);\n if (!a.valid) throw Error(a.error);\n for (var n = 0; n < e.length; ++n) {\n switch (e[n].type) {\n case \"lang\":\n o.push(e[n]);\n break;\n case \"output\":\n s.push(e[n]);\n }\n if (e[n].hasOwnProperty(\"listeners\")) for (var r in e[n].listeners) e[n].listeners.hasOwnProperty(r) && d(r, e[n].listeners[r]);\n }\n }\n function d(e, t) {\n if (!y.helper.isString(e)) throw Error(\"Invalid argument in converter.listen() method: name must be a string, but \" + Rt(e) + \" given\");\n if (\"function\" != typeof t) throw Error(\"Invalid argument in converter.listen() method: callback must be a function, but \" + Rt(t) + \" given\");\n l.hasOwnProperty(e) || (l[e] = []), l[e].push(t);\n }\n !function f() {\n for (var e in a = a || {}, u) u.hasOwnProperty(e) && (r[e] = u[e]);\n {\n if (\"object\" !== Rt(a)) throw Error(\"Converter expects the passed parameter to be an object, but \" + Rt(a) + \" was passed instead.\");\n for (var t in a) a.hasOwnProperty(t) && (r[t] = a[t]);\n }\n r.extensions && y.helper.forEach(r.extensions, c);\n }(), this._dispatch = function (e, t, a, n) {\n if (l.hasOwnProperty(e)) for (var r = 0; r < l[e].length; ++r) {\n var i = l[e][r](e, t, this, a, n);\n i && void 0 !== i && (t = i);\n }\n return t;\n }, this.listen = function (e, t) {\n return d(e, t), this;\n }, this.makeHtml = function (t) {\n if (!t) return t;\n var a = {\n gHtmlBlocks: [],\n gHtmlMdBlocks: [],\n gHtmlSpans: [],\n gUrls: {},\n gTitles: {},\n gDimensions: {},\n gListLevel: 0,\n hashLinkCounts: {},\n langExtensions: o,\n outputModifiers: s,\n converter: this,\n ghCodeBlocks: [],\n metadata: {\n parsed: {},\n raw: \"\",\n format: \"\"\n }\n };\n return t = (t = (t = (t = (t = t.replace(/\\xa8/g, \"\\xa8T\")).replace(/\\$/g, \"\\xa8D\")).replace(/\\r\\n/g, \"\\n\")).replace(/\\r/g, \"\\n\")).replace(/\\u00A0/g, \" \"), r.smartIndentationFix && (t = function n(e) {\n var t = e.match(/^\\s*/)[0].length,\n a = new RegExp(\"^\\\\s{0,\" + t + \"}\", \"gm\");\n return e.replace(a, \"\");\n }(t)), t = \"\\n\\n\" + t + \"\\n\\n\", t = (t = y.subParser(\"detab\")(t, r, a)).replace(/^[ \\t]+$/gm, \"\"), y.helper.forEach(o, function (e) {\n t = y.subParser(\"runExtension\")(e, t, r, a);\n }), t = y.subParser(\"metadata\")(t, r, a), t = y.subParser(\"hashPreCodeTags\")(t, r, a), t = y.subParser(\"githubCodeBlocks\")(t, r, a), t = y.subParser(\"hashHTMLBlocks\")(t, r, a), t = y.subParser(\"hashCodeTags\")(t, r, a), t = y.subParser(\"stripLinkDefinitions\")(t, r, a), t = y.subParser(\"blockGamut\")(t, r, a), t = y.subParser(\"unhashHTMLSpans\")(t, r, a), t = (t = (t = y.subParser(\"unescapeSpecialChars\")(t, r, a)).replace(/\\xa8D/g, \"$$\")).replace(/\\xa8T/g, \"\\xa8\"), t = y.subParser(\"completeHTMLDocument\")(t, r, a), y.helper.forEach(s, function (e) {\n t = y.subParser(\"runExtension\")(e, t, r, a);\n }), i = a.metadata, t;\n }, this.makeMarkdown = this.makeMd = function (e, t) {\n if (e = (e = (e = e.replace(/\\r\\n/g, \"\\n\")).replace(/\\r/g, \"\\n\")).replace(/>[ \\t]+</, \">\\xa8NBSP;<\"), !t) {\n if (!window || !window.document) throw new Error(\"HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM\");\n t = window.document;\n }\n var a = t.createElement(\"div\");\n a.innerHTML = e;\n var n = {\n preList: function c(e) {\n for (var t = e.querySelectorAll(\"pre\"), a = [], n = 0; n < t.length; ++n) if (1 === t[n].childElementCount && \"code\" === t[n].firstChild.tagName.toLowerCase()) {\n var r = t[n].firstChild.innerHTML.trim(),\n i = t[n].firstChild.getAttribute(\"data-language\") || \"\";\n if (\"\" === i) for (var o = t[n].firstChild.className.split(\" \"), s = 0; s < o.length; ++s) {\n var l = o[s].match(/^language-(.+)$/);\n if (null !== l) {\n i = l[1];\n break;\n }\n }\n r = y.helper.unescapeHTMLEntities(r), a.push(r), t[n].outerHTML = '<precode language=\"' + i + '\" precodenum=\"' + n.toString() + '\"></precode>';\n } else a.push(t[n].innerHTML), t[n].innerHTML = \"\", t[n].setAttribute(\"prenum\", n.toString());\n return a;\n }(a)\n };\n !function s(e) {\n for (var t = 0; t < e.childNodes.length; ++t) {\n var a = e.childNodes[t];\n 3 === a.nodeType ? /\\S/.test(a.nodeValue) ? (a.nodeValue = a.nodeValue.split(\"\\n\").join(\" \"), a.nodeValue = a.nodeValue.replace(/(\\s)+/g, \"$1\")) : (e.removeChild(a), --t) : 1 === a.nodeType && s(a);\n }\n }(a);\n for (var r = a.childNodes, i = \"\", o = 0; o < r.length; o++) i += y.subParser(\"makeMarkdown.node\")(r[o], n);\n return i;\n }, this.setOption = function (e, t) {\n r[e] = t;\n }, this.getOption = function (e) {\n return r[e];\n }, this.getOptions = function () {\n return r;\n }, this.addExtension = function (e, t) {\n c(e, t = t || null);\n }, this.useExtension = function (e) {\n c(e);\n }, this.setFlavor = function (e) {\n if (!h.hasOwnProperty(e)) throw Error(e + \" flavor was not found\");\n var t = h[e];\n for (var a in n = e, t) t.hasOwnProperty(a) && (r[a] = t[a]);\n }, this.getFlavor = function () {\n return n;\n }, this.removeExtension = function (e) {\n y.helper.isArray(e) || (e = [e]);\n for (var t = 0; t < e.length; ++t) {\n for (var a = e[t], n = 0; n < o.length; ++n) o[n] === a && o[n].splice(n, 1);\n for (; 0 < s.length; ++n) s[0] === a && s[0].splice(n, 1);\n }\n }, this.getAllExtensions = function () {\n return {\n language: o,\n output: s\n };\n }, this.getMetadata = function (e) {\n return e ? i.raw : i.parsed;\n }, this.getMetadataFormat = function () {\n return i.format;\n }, this._setMetadataPair = function (e, t) {\n i.parsed[e] = t;\n }, this._setMetadataFormat = function (e) {\n i.format = e;\n }, this._setMetadataRaw = function (e) {\n i.raw = e;\n };\n }, y.subParser(\"anchors\", function (e, l, c) {\n var d = function d(e, t, a, n, r, i, o) {\n if (y.helper.isUndefined(o) && (o = \"\"), a = a.toLowerCase(), -1 < e.search(/\\(<?\\s*>? ?(['\"].*['\"])?\\)$/m)) n = \"\";else if (!n) {\n if (a || (a = t.toLowerCase().replace(/ ?\\n/g, \" \")), n = \"#\" + a, y.helper.isUndefined(c.gUrls[a])) return e;\n n = c.gUrls[a], y.helper.isUndefined(c.gTitles[a]) || (o = c.gTitles[a]);\n }\n var s = '<a href=\"' + (n = n.replace(y.helper.regexes.asteriskDashAndColon, y.helper.escapeCharactersCallback)) + '\"';\n return \"\" !== o && null !== o && (s += ' title=\"' + (o = (o = o.replace(/\"/g, \""\")).replace(y.helper.regexes.asteriskDashAndColon, y.helper.escapeCharactersCallback)) + '\"'), l.openLinksInNewWindow && !/^#/.test(n) && (s += ' rel=\"noopener noreferrer\" target=\"\\xa8E95Eblank\"'), s += \">\" + t + \"</a>\";\n };\n return e = (e = (e = (e = (e = c.converter._dispatch(\"anchors.before\", e, l, c)).replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)] ?(?:\\n *)?\\[(.*?)]()()()()/g, d)).replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<([^>]*)>(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g, d)).replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<?([\\S]+?(?:\\([\\S]*?\\)[\\S]*?)?)>?(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g, d)).replace(/\\[([^\\[\\]]+)]()()()()()/g, d), l.ghMentions && (e = e.replace(/(^|\\s)(\\\\)?(@([a-z\\d]+(?:[a-z\\d.-]+?[a-z\\d]+)*))/gim, function (e, t, a, n, r) {\n if (\"\\\\\" === a) return t + n;\n if (!y.helper.isString(l.ghMentionsLink)) throw new Error(\"ghMentionsLink option must be a string\");\n var i = l.ghMentionsLink.replace(/\\{u}/g, r),\n o = \"\";\n return l.openLinksInNewWindow && (o = ' rel=\"noopener noreferrer\" target=\"\\xa8E95Eblank\"'), t + '<a href=\"' + i + '\"' + o + \">\" + n + \"</a>\";\n })), e = c.converter._dispatch(\"anchors.after\", e, l, c);\n });\n var I,\n O,\n o = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+?\\.[^'\">\\s]+?)()(\\1)?(?=\\s|$)(?![\"<>])/gi,\n s = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+\\.[^'\">\\s]+?)([.!?,()\\[\\]])?(\\1)?(?=\\s|$)(?![\"<>])/gi,\n c = /()<(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+)()>()/gi,\n d = /(^|\\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(?=$|\\s)/gim,\n f = /<()(?:mailto:)?([-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi,\n b = function b(p) {\n return function (e, t, a, n, r, i, o) {\n var s = a = a.replace(y.helper.regexes.asteriskDashAndColon, y.helper.escapeCharactersCallback),\n l = \"\",\n c = \"\",\n d = t || \"\",\n f = o || \"\";\n return /^www\\./i.test(a) && (a = a.replace(/^www\\./i, \"http://www.\")), p.excludeTrailingPunctuationFromURLs && i && (l = i), p.openLinksInNewWindow && (c = ' rel=\"noopener noreferrer\" target=\"\\xa8E95Eblank\"'), d + '<a href=\"' + a + '\"' + c + \">\" + s + \"</a>\" + l + f;\n };\n },\n E = function E(r, i) {\n return function (e, t, a) {\n var n = \"mailto:\";\n return t = t || \"\", a = y.subParser(\"unescapeSpecialChars\")(a, r, i), r.encodeEmails ? (n = y.helper.encodeEmailAddress(n + a), a = y.helper.encodeEmailAddress(a)) : n += a, t + '<a href=\"' + n + '\">' + a + \"</a>\";\n };\n };\n y.subParser(\"autoLinks\", function (e, t, a) {\n return e = (e = (e = a.converter._dispatch(\"autoLinks.before\", e, t, a)).replace(c, b(t))).replace(f, E(t, a)), e = a.converter._dispatch(\"autoLinks.after\", e, t, a);\n }), y.subParser(\"simplifiedAutoLinks\", function (e, t, a) {\n return t.simplifiedAutoLink ? (e = a.converter._dispatch(\"simplifiedAutoLinks.before\", e, t, a), e = (e = t.excludeTrailingPunctuationFromURLs ? e.replace(s, b(t)) : e.replace(o, b(t))).replace(d, E(t, a)), e = a.converter._dispatch(\"simplifiedAutoLinks.after\", e, t, a)) : e;\n }), y.subParser(\"blockGamut\", function (e, t, a) {\n return e = a.converter._dispatch(\"blockGamut.before\", e, t, a), e = y.subParser(\"blockQuotes\")(e, t, a), e = y.subParser(\"headers\")(e, t, a), e = y.subParser(\"horizontalRule\")(e, t, a), e = y.subParser(\"lists\")(e, t, a), e = y.subParser(\"codeBlocks\")(e, t, a), e = y.subParser(\"tables\")(e, t, a), e = y.subParser(\"hashHTMLBlocks\")(e, t, a), e = y.subParser(\"paragraphs\")(e, t, a), e = a.converter._dispatch(\"blockGamut.after\", e, t, a);\n }), y.subParser(\"blockQuotes\", function (e, t, a) {\n e = a.converter._dispatch(\"blockQuotes.before\", e, t, a), e += \"\\n\\n\";\n var n = /(^ {0,3}>[ \\t]?.+\\n(.+\\n)*\\n*)+/gm;\n return t.splitAdjacentBlockquotes && (n = /^ {0,3}>[\\s\\S]*?(?:\\n\\n)/gm), e = e.replace(n, function (e) {\n return e = (e = (e = e.replace(/^[ \\t]*>[ \\t]?/gm, \"\")).replace(/\\xa80/g, \"\")).replace(/^[ \\t]+$/gm, \"\"), e = y.subParser(\"githubCodeBlocks\")(e, t, a), e = (e = (e = y.subParser(\"blockGamut\")(e, t, a)).replace(/(^|\\n)/g, \"$1 \")).replace(/(\\s*<pre>[^\\r]+?<\\/pre>)/gm, function (e, t) {\n var a = t;\n return a = (a = a.replace(/^ {2}/gm, \"\\xa80\")).replace(/\\xa80/g, \"\");\n }), y.subParser(\"hashBlock\")(\"<blockquote>\\n\" + e + \"\\n</blockquote>\", t, a);\n }), e = a.converter._dispatch(\"blockQuotes.after\", e, t, a);\n }), y.subParser(\"codeBlocks\", function (e, o, s) {\n e = s.converter._dispatch(\"codeBlocks.before\", e, o, s);\n return e = (e = (e += \"\\xa80\").replace(/(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=\\xa80))/g, function (e, t, a) {\n var n = t,\n r = a,\n i = \"\\n\";\n return n = y.subParser(\"outdent\")(n, o, s), n = y.subParser(\"encodeCode\")(n, o, s), n = (n = (n = y.subParser(\"detab\")(n, o, s)).replace(/^\\n+/g, \"\")).replace(/\\n+$/g, \"\"), o.omitExtraWLInCodeBlocks && (i = \"\"), n = \"<pre><code>\" + n + i + \"</code></pre>\", y.subParser(\"hashBlock\")(n, o, s) + r;\n })).replace(/\\xa80/, \"\"), e = s.converter._dispatch(\"codeBlocks.after\", e, o, s);\n }), y.subParser(\"codeSpans\", function (e, i, o) {\n return void 0 === (e = o.converter._dispatch(\"codeSpans.before\", e, i, o)) && (e = \"\"), e = e.replace(/(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm, function (e, t, a, n) {\n var r = n;\n return r = (r = r.replace(/^([ \\t]*)/g, \"\")).replace(/[ \\t]*$/g, \"\"), r = t + \"<code>\" + (r = y.subParser(\"encodeCode\")(r, i, o)) + \"</code>\", r = y.subParser(\"hashHTMLSpans\")(r, i, o);\n }), e = o.converter._dispatch(\"codeSpans.after\", e, i, o);\n }), y.subParser(\"completeHTMLDocument\", function (e, t, a) {\n if (!t.completeHTMLDocument) return e;\n e = a.converter._dispatch(\"completeHTMLDocument.before\", e, t, a);\n var n = \"html\",\n r = \"<!DOCTYPE HTML>\\n\",\n i = \"\",\n o = '<meta charset=\"utf-8\">\\n',\n s = \"\",\n l = \"\";\n for (var c in \"undefined\" != typeof a.metadata.parsed.doctype && (r = \"<!DOCTYPE \" + a.metadata.parsed.doctype + \">\\n\", \"html\" !== (n = a.metadata.parsed.doctype.toString().toLowerCase()) && \"html5\" !== n || (o = '<meta charset=\"utf-8\">')), a.metadata.parsed) if (a.metadata.parsed.hasOwnProperty(c)) switch (c.toLowerCase()) {\n case \"doctype\":\n break;\n case \"title\":\n i = \"<title>\" + a.metadata.parsed.title + \"</title>\\n\";\n break;\n case \"charset\":\n o = \"html\" === n || \"html5\" === n ? '<meta charset=\"' + a.metadata.parsed.charset + '\">\\n' : '<meta name=\"charset\" content=\"' + a.metadata.parsed.charset + '\">\\n';\n break;\n case \"language\":\n case \"lang\":\n s = ' lang=\"' + a.metadata.parsed[c] + '\"', l += '<meta name=\"' + c + '\" content=\"' + a.metadata.parsed[c] + '\">\\n';\n break;\n default:\n l += '<meta name=\"' + c + '\" content=\"' + a.metadata.parsed[c] + '\">\\n';\n }\n return e = r + \"<html\" + s + \">\\n<head>\\n\" + i + o + l + \"</head>\\n<body>\\n\" + e.trim() + \"\\n</body>\\n</html>\", e = a.converter._dispatch(\"completeHTMLDocument.after\", e, t, a);\n }), y.subParser(\"detab\", function (e, t, a) {\n return e = (e = (e = (e = (e = (e = a.converter._dispatch(\"detab.before\", e, t, a)).replace(/\\t(?=\\t)/g, \" \")).replace(/\\t/g, \"\\xa8A\\xa8B\")).replace(/\\xa8B(.+?)\\xa8A/g, function (e, t) {\n for (var a = t, n = 4 - a.length % 4, r = 0; r < n; r++) a += \" \";\n return a;\n })).replace(/\\xa8A/g, \" \")).replace(/\\xa8B/g, \"\"), e = a.converter._dispatch(\"detab.after\", e, t, a);\n }), y.subParser(\"ellipsis\", function (e, t, a) {\n return e = (e = a.converter._dispatch(\"ellipsis.before\", e, t, a)).replace(/\\.\\.\\./g, \"\\u2026\"), e = a.converter._dispatch(\"ellipsis.after\", e, t, a);\n }), y.subParser(\"emoji\", function (e, t, a) {\n if (!t.emoji) return e;\n return e = (e = a.converter._dispatch(\"emoji.before\", e, t, a)).replace(/:([\\S]+?):/g, function (e, t) {\n return y.helper.emojis.hasOwnProperty(t) ? y.helper.emojis[t] : e;\n }), e = a.converter._dispatch(\"emoji.after\", e, t, a);\n }), y.subParser(\"encodeAmpsAndAngles\", function (e, t, a) {\n return e = (e = (e = (e = (e = a.converter._dispatch(\"encodeAmpsAndAngles.before\", e, t, a)).replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, \"&\")).replace(/<(?![a-z\\/?$!])/gi, \"<\")).replace(/</g, \"<\")).replace(/>/g, \">\"), e = a.converter._dispatch(\"encodeAmpsAndAngles.after\", e, t, a);\n }), y.subParser(\"encodeBackslashEscapes\", function (e, t, a) {\n return e = (e = (e = a.converter._dispatch(\"encodeBackslashEscapes.before\", e, t, a)).replace(/\\\\(\\\\)/g, y.helper.escapeCharactersCallback)).replace(/\\\\([`*_{}\\[\\]()>#+.!~=|-])/g, y.helper.escapeCharactersCallback), e = a.converter._dispatch(\"encodeBackslashEscapes.after\", e, t, a);\n }), y.subParser(\"encodeCode\", function (e, t, a) {\n return e = (e = a.converter._dispatch(\"encodeCode.before\", e, t, a)).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/([*_{}\\[\\]\\\\=~-])/g, y.helper.escapeCharactersCallback), e = a.converter._dispatch(\"encodeCode.after\", e, t, a);\n }), y.subParser(\"escapeSpecialCharsWithinTagAttributes\", function (e, t, a) {\n return e = (e = (e = a.converter._dispatch(\"escapeSpecialCharsWithinTagAttributes.before\", e, t, a)).replace(/<\\/?[a-z\\d_:-]+(?:[\\s]+[\\s\\S]+?)?>/gi, function (e) {\n return e.replace(/(.)<\\/?code>(?=.)/g, \"$1`\").replace(/([\\\\`*_~=|])/g, y.helper.escapeCharactersCallback);\n })).replace(/<!(--(?:(?:[^>-]|-[^>])(?:[^-]|-[^-])*)--)>/gi, function (e) {\n return e.replace(/([\\\\`*_~=|])/g, y.helper.escapeCharactersCallback);\n }), e = a.converter._dispatch(\"escapeSpecialCharsWithinTagAttributes.after\", e, t, a);\n }), y.subParser(\"githubCodeBlocks\", function (e, i, o) {\n return i.ghCodeBlocks ? (e = o.converter._dispatch(\"githubCodeBlocks.before\", e, i, o), e = (e = (e += \"\\xa80\").replace(/(?:^|\\n)(?: {0,3})(```+|~~~+)(?: *)([^\\s`~]*)\\n([\\s\\S]*?)\\n(?: {0,3})\\1/g, function (e, t, a, n) {\n var r = i.omitExtraWLInCodeBlocks ? \"\" : \"\\n\";\n return n = y.subParser(\"encodeCode\")(n, i, o), n = \"<pre><code\" + (a ? ' class=\"' + a + \" language-\" + a + '\"' : \"\") + \">\" + (n = (n = (n = y.subParser(\"detab\")(n, i, o)).replace(/^\\n+/g, \"\")).replace(/\\n+$/g, \"\")) + r + \"</code></pre>\", n = y.subParser(\"hashBlock\")(n, i, o), \"\\n\\n\\xa8G\" + (o.ghCodeBlocks.push({\n text: e,\n codeblock: n\n }) - 1) + \"G\\n\\n\";\n })).replace(/\\xa80/, \"\"), o.converter._dispatch(\"githubCodeBlocks.after\", e, i, o)) : e;\n }), y.subParser(\"hashBlock\", function (e, t, a) {\n return e = (e = a.converter._dispatch(\"hashBlock.before\", e, t, a)).replace(/(^\\n+|\\n+$)/g, \"\"), e = \"\\n\\n\\xa8K\" + (a.gHtmlBlocks.push(e) - 1) + \"K\\n\\n\", e = a.converter._dispatch(\"hashBlock.after\", e, t, a);\n }), y.subParser(\"hashCodeTags\", function (e, i, o) {\n e = o.converter._dispatch(\"hashCodeTags.before\", e, i, o);\n var s = function s(e, t, a, n) {\n var r = a + y.subParser(\"encodeCode\")(t, i, o) + n;\n return \"\\xa8C\" + (o.gHtmlSpans.push(r) - 1) + \"C\";\n };\n return e = y.helper.replaceRecursiveRegExp(e, s, \"<code\\\\b[^>]*>\", \"</code>\", \"gim\"), e = o.converter._dispatch(\"hashCodeTags.after\", e, i, o);\n }), y.subParser(\"hashElement\", function (e, t, n) {\n return function (e, t) {\n var a = t;\n return a = (a = (a = a.replace(/\\n\\n/g, \"\\n\")).replace(/^\\n/, \"\")).replace(/\\n+$/g, \"\"), a = \"\\n\\n\\xa8K\" + (n.gHtmlBlocks.push(a) - 1) + \"K\\n\\n\";\n };\n }), y.subParser(\"hashHTMLBlocks\", function (e, t, i) {\n e = i.converter._dispatch(\"hashHTMLBlocks.before\", e, t, i);\n var a = [\"pre\", \"div\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"blockquote\", \"table\", \"dl\", \"ol\", \"ul\", \"script\", \"noscript\", \"form\", \"fieldset\", \"iframe\", \"math\", \"style\", \"section\", \"header\", \"footer\", \"nav\", \"article\", \"aside\", \"address\", \"audio\", \"canvas\", \"figure\", \"hgroup\", \"output\", \"video\", \"p\"],\n o = function o(e, t, a, n) {\n var r = e;\n return -1 !== a.search(/\\bmarkdown\\b/) && (r = a + i.converter.makeHtml(t) + n), \"\\n\\n\\xa8K\" + (i.gHtmlBlocks.push(r) - 1) + \"K\\n\\n\";\n };\n t.backslashEscapesHTMLTags && (e = e.replace(/\\\\<(\\/?[^>]+?)>/g, function (e, t) {\n return \"<\" + t + \">\";\n }));\n for (var n = 0; n < a.length; ++n) for (var r, s = new RegExp(\"^ {0,3}(<\" + a[n] + \"\\\\b[^>]*>)\", \"im\"), l = \"<\" + a[n] + \"\\\\b[^>]*>\", c = \"</\" + a[n] + \">\"; -1 !== (r = y.helper.regexIndexOf(e, s));) {\n var d = y.helper.splitAtIndex(e, r),\n f = y.helper.replaceRecursiveRegExp(d[1], o, l, c, \"im\");\n if (f === d[1]) break;\n e = d[0].concat(f);\n }\n return e = e.replace(/(\\n {0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g, y.subParser(\"hashElement\")(e, t, i)), e = (e = y.helper.replaceRecursiveRegExp(e, function (e) {\n return \"\\n\\n\\xa8K\" + (i.gHtmlBlocks.push(e) - 1) + \"K\\n\\n\";\n }, \"^ {0,3}\\x3c!--\", \"--\\x3e\", \"gm\")).replace(/(?:\\n\\n)( {0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g, y.subParser(\"hashElement\")(e, t, i)), e = i.converter._dispatch(\"hashHTMLBlocks.after\", e, t, i);\n }), y.subParser(\"hashHTMLSpans\", function (e, t, a) {\n function n(e) {\n return \"\\xa8C\" + (a.gHtmlSpans.push(e) - 1) + \"C\";\n }\n return e = (e = (e = (e = (e = a.converter._dispatch(\"hashHTMLSpans.before\", e, t, a)).replace(/<[^>]+?\\/>/gi, function (e) {\n return n(e);\n })).replace(/<([^>]+?)>[\\s\\S]*?<\\/\\1>/g, function (e) {\n return n(e);\n })).replace(/<([^>]+?)\\s[^>]+?>[\\s\\S]*?<\\/\\1>/g, function (e) {\n return n(e);\n })).replace(/<[^>]+?>/gi, function (e) {\n return n(e);\n }), e = a.converter._dispatch(\"hashHTMLSpans.after\", e, t, a);\n }), y.subParser(\"unhashHTMLSpans\", function (e, t, a) {\n e = a.converter._dispatch(\"unhashHTMLSpans.before\", e, t, a);\n for (var n = 0; n < a.gHtmlSpans.length; ++n) {\n for (var r = a.gHtmlSpans[n], i = 0; /\\xa8C(\\d+)C/.test(r);) {\n var o = RegExp.$1;\n if (r = r.replace(\"\\xa8C\" + o + \"C\", a.gHtmlSpans[o]), 10 === i) break;\n ++i;\n }\n e = e.replace(\"\\xa8C\" + n + \"C\", r);\n }\n return e = a.converter._dispatch(\"unhashHTMLSpans.after\", e, t, a);\n }), y.subParser(\"hashPreCodeTags\", function (e, i, o) {\n e = o.converter._dispatch(\"hashPreCodeTags.before\", e, i, o);\n var s = function s(e, t, a, n) {\n var r = a + y.subParser(\"encodeCode\")(t, i, o) + n;\n return \"\\n\\n\\xa8G\" + (o.ghCodeBlocks.push({\n text: e,\n codeblock: r\n }) - 1) + \"G\\n\\n\";\n };\n return e = y.helper.replaceRecursiveRegExp(e, s, \"^ {0,3}<pre\\\\b[^>]*>\\\\s*<code\\\\b[^>]*>\", \"^ {0,3}</code>\\\\s*</pre>\", \"gim\"), e = o.converter._dispatch(\"hashPreCodeTags.after\", e, i, o);\n }), y.subParser(\"headers\", function (e, l, c) {\n e = c.converter._dispatch(\"headers.before\", e, l, c);\n var d = isNaN(parseInt(l.headerLevelStart)) ? 1 : parseInt(l.headerLevelStart),\n t = l.smoothLivePreview ? /^(.+)[ \\t]*\\n={2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\n a = l.smoothLivePreview ? /^(.+)[ \\t]*\\n-{2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm;\n e = (e = e.replace(t, function (e, t) {\n var a = y.subParser(\"spanGamut\")(t, l, c),\n n = l.noHeaderId ? \"\" : ' id=\"' + f(t) + '\"',\n r = \"<h\" + d + n + \">\" + a + \"</h\" + d + \">\";\n return y.subParser(\"hashBlock\")(r, l, c);\n })).replace(a, function (e, t) {\n var a = y.subParser(\"spanGamut\")(t, l, c),\n n = l.noHeaderId ? \"\" : ' id=\"' + f(t) + '\"',\n r = d + 1,\n i = \"<h\" + r + n + \">\" + a + \"</h\" + r + \">\";\n return y.subParser(\"hashBlock\")(i, l, c);\n });\n var n = l.requireSpaceBeforeHeadingText ? /^(#{1,6})[ \\t]+(.+?)[ \\t]*#*\\n+/gm : /^(#{1,6})[ \\t]*(.+?)[ \\t]*#*\\n+/gm;\n function f(e) {\n var t, a;\n if (l.customizedHeaderId) {\n var n = e.match(/\\{([^{]+?)}\\s*$/);\n n && n[1] && (e = n[1]);\n }\n return t = e, a = y.helper.isString(l.prefixHeaderId) ? l.prefixHeaderId : !0 === l.prefixHeaderId ? \"section-\" : \"\", l.rawPrefixHeaderId || (t = a + t), t = l.ghCompatibleHeaderId ? t.replace(/ /g, \"-\").replace(/&/g, \"\").replace(/\\xa8T/g, \"\").replace(/\\xa8D/g, \"\").replace(/[&+$,\\/:;=?@\"#{}|^\\xa8~\\[\\]`\\\\*)(%.!'<>]/g, \"\").toLowerCase() : l.rawHeaderId ? t.replace(/ /g, \"-\").replace(/&/g, \"&\").replace(/\\xa8T/g, \"\\xa8\").replace(/\\xa8D/g, \"$\").replace(/[\"']/g, \"-\").toLowerCase() : t.replace(/[^\\w]/g, \"\").toLowerCase(), l.rawPrefixHeaderId && (t = a + t), c.hashLinkCounts[t] ? t = t + \"-\" + c.hashLinkCounts[t]++ : c.hashLinkCounts[t] = 1, t;\n }\n return e = e.replace(n, function (e, t, a) {\n var n = a;\n l.customizedHeaderId && (n = a.replace(/\\s?\\{([^{]+?)}\\s*$/, \"\"));\n var r = y.subParser(\"spanGamut\")(n, l, c),\n i = l.noHeaderId ? \"\" : ' id=\"' + f(a) + '\"',\n o = d - 1 + t.length,\n s = \"<h\" + o + i + \">\" + r + \"</h\" + o + \">\";\n return y.subParser(\"hashBlock\")(s, l, c);\n }), e = c.converter._dispatch(\"headers.after\", e, l, c);\n }), y.subParser(\"horizontalRule\", function (e, t, a) {\n e = a.converter._dispatch(\"horizontalRule.before\", e, t, a);\n var n = y.subParser(\"hashBlock\")(\"<hr />\", t, a);\n return e = (e = (e = e.replace(/^ {0,2}( ?-){3,}[ \\t]*$/gm, n)).replace(/^ {0,2}( ?\\*){3,}[ \\t]*$/gm, n)).replace(/^ {0,2}( ?_){3,}[ \\t]*$/gm, n), e = a.converter._dispatch(\"horizontalRule.after\", e, t, a);\n }), y.subParser(\"images\", function (e, t, p) {\n function l(e, t, a, n, r, i, o, s) {\n var l = p.gUrls,\n c = p.gTitles,\n d = p.gDimensions;\n if (a = a.toLowerCase(), s || (s = \"\"), -1 < e.search(/\\(<?\\s*>? ?(['\"].*['\"])?\\)$/m)) n = \"\";else if (\"\" === n || null === n) {\n if (\"\" !== a && null !== a || (a = t.toLowerCase().replace(/ ?\\n/g, \" \")), n = \"#\" + a, y.helper.isUndefined(l[a])) return e;\n n = l[a], y.helper.isUndefined(c[a]) || (s = c[a]), y.helper.isUndefined(d[a]) || (r = d[a].width, i = d[a].height);\n }\n t = t.replace(/\"/g, \""\").replace(y.helper.regexes.asteriskDashAndColon, y.helper.escapeCharactersCallback);\n var f = '<img src=\"' + (n = n.replace(y.helper.regexes.asteriskDashAndColon, y.helper.escapeCharactersCallback)) + '\" alt=\"' + t + '\"';\n return s && y.helper.isString(s) && (f += ' title=\"' + (s = s.replace(/\"/g, \""\").replace(y.helper.regexes.asteriskDashAndColon, y.helper.escapeCharactersCallback)) + '\"'), r && i && (f += ' width=\"' + (r = \"*\" === r ? \"auto\" : r) + '\"', f += ' height=\"' + (i = \"*\" === i ? \"auto\" : i) + '\"'), f += \" />\";\n }\n return e = (e = (e = (e = (e = (e = p.converter._dispatch(\"images.before\", e, t, p)).replace(/!\\[([^\\]]*?)] ?(?:\\n *)?\\[([\\s\\S]*?)]()()()()()/g, l)).replace(/!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<?(data:.+?\\/.+?;base64,[A-Za-z0-9+/=\\n]+?)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g, function c(e, t, a, n, r, i, o, s) {\n return l(e, t, a, n = n.replace(/\\s/g, \"\"), r, i, 0, s);\n })).replace(/!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<([^>]*)>(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:(?:([\"'])([^\"]*?)\\6))?[ \\t]?\\)/g, l)).replace(/!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<?([\\S]+?(?:\\([\\S]*?\\)[\\S]*?)?)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g, l)).replace(/!\\[([^\\[\\]]+)]()()()()()/g, l), e = p.converter._dispatch(\"images.after\", e, t, p);\n }), y.subParser(\"italicsAndBold\", function (e, t, a) {\n function n(e, t, a) {\n return t + e + a;\n }\n return e = a.converter._dispatch(\"italicsAndBold.before\", e, t, a), e = t.literalMidWordUnderscores ? (e = (e = e.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (e, t) {\n return n(t, \"<strong><em>\", \"</em></strong>\");\n })).replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (e, t) {\n return n(t, \"<strong>\", \"</strong>\");\n })).replace(/\\b_(\\S[\\s\\S]*?)_\\b/g, function (e, t) {\n return n(t, \"<em>\", \"</em>\");\n }) : (e = (e = e.replace(/___(\\S[\\s\\S]*?)___/g, function (e, t) {\n return /\\S$/.test(t) ? n(t, \"<strong><em>\", \"</em></strong>\") : e;\n })).replace(/__(\\S[\\s\\S]*?)__/g, function (e, t) {\n return /\\S$/.test(t) ? n(t, \"<strong>\", \"</strong>\") : e;\n })).replace(/_([^\\s_][\\s\\S]*?)_/g, function (e, t) {\n return /\\S$/.test(t) ? n(t, \"<em>\", \"</em>\") : e;\n }), e = t.literalMidWordAsterisks ? (e = (e = e.replace(/([^*]|^)\\B\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*\\B(?!\\*)/g, function (e, t, a) {\n return n(a, t + \"<strong><em>\", \"</em></strong>\");\n })).replace(/([^*]|^)\\B\\*\\*(\\S[\\s\\S]*?)\\*\\*\\B(?!\\*)/g, function (e, t, a) {\n return n(a, t + \"<strong>\", \"</strong>\");\n })).replace(/([^*]|^)\\B\\*(\\S[\\s\\S]*?)\\*\\B(?!\\*)/g, function (e, t, a) {\n return n(a, t + \"<em>\", \"</em>\");\n }) : (e = (e = e.replace(/\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*/g, function (e, t) {\n return /\\S$/.test(t) ? n(t, \"<strong><em>\", \"</em></strong>\") : e;\n })).replace(/\\*\\*(\\S[\\s\\S]*?)\\*\\*/g, function (e, t) {\n return /\\S$/.test(t) ? n(t, \"<strong>\", \"</strong>\") : e;\n })).replace(/\\*([^\\s*][\\s\\S]*?)\\*/g, function (e, t) {\n return /\\S$/.test(t) ? n(t, \"<em>\", \"</em>\") : e;\n }), e = a.converter._dispatch(\"italicsAndBold.after\", e, t, a);\n }), y.subParser(\"lists\", function (e, p, d) {\n function u(e, t) {\n d.gListLevel++, e = e.replace(/\\n{2,}$/, \"\\n\");\n var a = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(\\xa80| {0,3}([*+-]|\\d+[.])[ \\t]+))/gm,\n c = /\\n[ \\t]*\\n(?!\\xa80)/.test(e += \"\\xa80\");\n return p.disableForced4SpacesIndentedSublists && (a = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(\\xa80|\\2([*+-]|\\d+[.])[ \\t]+))/gm), e = (e = e.replace(a, function (e, t, a, n, r, i, o) {\n o = o && \"\" !== o.trim();\n var s = y.subParser(\"outdent\")(r, p, d),\n l = \"\";\n return i && p.tasklists && (l = ' class=\"task-list-item\" style=\"list-style-type: none;\"', s = s.replace(/^[ \\t]*\\[(x|X| )?]/m, function () {\n var e = '<input type=\"checkbox\" disabled style=\"margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;\"';\n return o && (e += \" checked\"), e += \">\";\n })), s = s.replace(/^([-*+]|\\d\\.)[ \\t]+[\\S\\n ]*/g, function (e) {\n return \"\\xa8A\" + e;\n }), s = \"<li\" + l + \">\" + (s = (s = t || -1 < s.search(/\\n{2,}/) ? (s = y.subParser(\"githubCodeBlocks\")(s, p, d), y.subParser(\"blockGamut\")(s, p, d)) : (s = (s = y.subParser(\"lists\")(s, p, d)).replace(/\\n$/, \"\"), s = (s = y.subParser(\"hashHTMLBlocks\")(s, p, d)).replace(/\\n\\n+/g, \"\\n\\n\"), c ? y.subParser(\"paragraphs\")(s, p, d) : y.subParser(\"spanGamut\")(s, p, d))).replace(\"\\xa8A\", \"\")) + \"</li>\\n\";\n })).replace(/\\xa80/g, \"\"), d.gListLevel--, t && (e = e.replace(/\\s+$/, \"\")), e;\n }\n function g(e, t) {\n if (\"ol\" === t) {\n var a = e.match(/^ *(\\d+)\\./);\n if (a && \"1\" !== a[1]) return ' start=\"' + a[1] + '\"';\n }\n return \"\";\n }\n function h(e) {\n return \"ul\" === e ? ' style=\"list-style: disc !important;padding: 0px 0px 0px 40px !important;\"' : ' style=\"list-style: decimal !important;padding: 0px 0px 0px 40px !important;\"';\n }\n function r(n, r, i) {\n var o = p.disableForced4SpacesIndentedSublists ? /^ ?\\d+\\.[ \\t]/gm : /^ {0,3}\\d+\\.[ \\t]/gm,\n s = p.disableForced4SpacesIndentedSublists ? /^ ?[*+-][ \\t]/gm : /^ {0,3}[*+-][ \\t]/gm,\n l = \"ul\" === r ? o : s,\n c = \"\",\n d = h(r);\n if (-1 !== n.search(l)) !function f(e) {\n var t = e.search(l),\n a = g(n, r);\n d = h(r), -1 !== t ? (c += \"\\n\\n<\" + r + d + a + \">\\n\" + u(e.slice(0, t), !!i) + \"</\" + r + \">\\n\", l = \"ul\" === (r = \"ul\" === r ? \"ol\" : \"ul\") ? o : s, f(e.slice(t))) : c += \"\\n\\n<\" + r + d + a + \">\\n\" + u(e, !!i) + \"</\" + r + \">\\n\";\n }(n);else {\n var e = g(n, r);\n c = \"\\n\\n<\" + r + d + e + \">\\n\" + u(n, !!i) + \"</\" + r + \">\\n\";\n }\n return c;\n }\n return e = d.converter._dispatch(\"lists.before\", e, p, d), e += \"\\xa80\", e = (e = d.gListLevel ? e.replace(/^(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(\\xa80|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm, function (e, t, a) {\n return r(t, -1 < a.search(/[*+-]/g) ? \"ul\" : \"ol\", !0);\n }) : e.replace(/(\\n\\n|^\\n?)(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(\\xa80|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm, function (e, t, a, n) {\n return r(a, -1 < n.search(/[*+-]/g) ? \"ul\" : \"ol\", !1);\n })).replace(/\\xa80/, \"\"), e = d.converter._dispatch(\"lists.after\", e, p, d);\n }), y.subParser(\"metadata\", function (e, t, n) {\n if (!t.metadata) return e;\n function r(e) {\n (e = (e = (n.metadata.raw = e).replace(/&/g, \"&\").replace(/\"/g, \""\")).replace(/\\n {4}/g, \" \")).replace(/^([\\S ]+): +([\\s\\S]+?)$/gm, function (e, t, a) {\n return n.metadata.parsed[t] = a, \"\";\n });\n }\n return e = (e = (e = (e = n.converter._dispatch(\"metadata.before\", e, t, n)).replace(/^\\s*\\xab\\xab\\xab+(\\S*?)\\n([\\s\\S]+?)\\n\\xbb\\xbb\\xbb+\\n/, function (e, t, a) {\n return r(a), \"\\xa8M\";\n })).replace(/^\\s*---+(\\S*?)\\n([\\s\\S]+?)\\n---+\\n/, function (e, t, a) {\n return t && (n.metadata.format = t), r(a), \"\\xa8M\";\n })).replace(/\\xa8M/g, \"\"), e = n.converter._dispatch(\"metadata.after\", e, t, n);\n }), y.subParser(\"outdent\", function (e, t, a) {\n return e = (e = (e = a.converter._dispatch(\"outdent.before\", e, t, a)).replace(/^(\\t|[ ]{1,4})/gm, \"\\xa80\")).replace(/\\xa80/g, \"\"), e = a.converter._dispatch(\"outdent.after\", e, t, a);\n }), y.subParser(\"paragraphs\", function (e, t, a) {\n for (var n = (e = (e = (e = a.converter._dispatch(\"paragraphs.before\", e, t, a)).replace(/^\\n+/g, \"\")).replace(/\\n+$/g, \"\")).split(/\\n{2,}/g), r = [], i = n.length, o = 0; o < i; o++) {\n var s = n[o];\n 0 <= s.search(/\\xa8(K|G)(\\d+)\\1/g) ? r.push(s) : 0 <= s.search(/\\S/) && (s = (s = y.subParser(\"spanGamut\")(s, t, a)).replace(/^([ \\t]*)/g, \"<p>\"), s += \"</p>\", r.push(s));\n }\n for (i = r.length, o = 0; o < i; o++) {\n for (var l = \"\", c = r[o], d = !1; /\\xa8(K|G)(\\d+)\\1/.test(c);) {\n var f = RegExp.$1,\n p = RegExp.$2;\n l = (l = \"K\" === f ? a.gHtmlBlocks[p] : d ? y.subParser(\"encodeCode\")(a.ghCodeBlocks[p].text, t, a) : a.ghCodeBlocks[p].codeblock).replace(/\\$/g, \"$$$$\"), c = c.replace(/(\\n\\n)?\\xa8(K|G)\\d+\\2(\\n\\n)?/, l), /^<pre\\b[^>]*>\\s*<code\\b[^>]*>/.test(c) && (d = !0);\n }\n r[o] = c;\n }\n return e = (e = (e = r.join(\"\\n\")).replace(/^\\n+/g, \"\")).replace(/\\n+$/g, \"\"), a.converter._dispatch(\"paragraphs.after\", e, t, a);\n }), y.subParser(\"runExtension\", function (e, t, a, n) {\n if (e.filter) t = e.filter(t, n.converter, a);else if (e.regex) {\n var r = e.regex;\n r instanceof RegExp || (r = new RegExp(r, \"g\")), t = t.replace(r, e.replace);\n }\n return t;\n }), y.subParser(\"spanGamut\", function (e, t, a) {\n return e = a.converter._dispatch(\"spanGamut.before\", e, t, a), e = y.subParser(\"codeSpans\")(e, t, a), e = y.subParser(\"escapeSpecialCharsWithinTagAttributes\")(e, t, a), e = y.subParser(\"encodeBackslashEscapes\")(e, t, a), e = y.subParser(\"images\")(e, t, a), e = y.subParser(\"anchors\")(e, t, a), e = y.subParser(\"autoLinks\")(e, t, a), e = y.subParser(\"simplifiedAutoLinks\")(e, t, a), e = y.subParser(\"emoji\")(e, t, a), e = y.subParser(\"underline\")(e, t, a), e = y.subParser(\"italicsAndBold\")(e, t, a), e = y.subParser(\"strikethrough\")(e, t, a), e = y.subParser(\"ellipsis\")(e, t, a), e = y.subParser(\"hashHTMLSpans\")(e, t, a), e = y.subParser(\"encodeAmpsAndAngles\")(e, t, a), t.simpleLineBreaks ? /\\n\\n\\xa8K/.test(e) || (e = e.replace(/\\n+/g, \"<br />\\n\")) : e = e.replace(/ +\\n/g, \"<br />\\n\"), e = a.converter._dispatch(\"spanGamut.after\", e, t, a);\n }), y.subParser(\"strikethrough\", function (e, n, r) {\n return n.strikethrough && (e = (e = r.converter._dispatch(\"strikethrough.before\", e, n, r)).replace(/(?:~){2}([\\s\\S]+?)(?:~){2}/g, function (e, t) {\n return function a(e) {\n return n.simplifiedAutoLink && (e = y.subParser(\"simplifiedAutoLinks\")(e, n, r)), \"<del>\" + e + \"</del>\";\n }(t);\n }), e = r.converter._dispatch(\"strikethrough.after\", e, n, r)), e;\n }), y.subParser(\"stripLinkDefinitions\", function (e, s, l) {\n var c = function c(e, t, a, n, r, i, o) {\n return t = t.toLowerCase(), a.match(/^data:.+?\\/.+?;base64,/) ? l.gUrls[t] = a.replace(/\\s/g, \"\") : l.gUrls[t] = y.subParser(\"encodeAmpsAndAngles\")(a, s, l), i ? i + o : (o && (l.gTitles[t] = o.replace(/\"|'/g, \""\")), s.parseImgDimensions && n && r && (l.gDimensions[t] = {\n width: n,\n height: r\n }), \"\");\n };\n return e = (e = (e = (e += \"\\xa80\").replace(/^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*<?(data:.+?\\/.+?;base64,[A-Za-z0-9+/=\\n]+?)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n\\n|(?=\\xa80)|(?=\\n\\[))/gm, c)).replace(/^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*<?([^>\\s]+)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n+|(?=\\xa80))/gm, c)).replace(/\\xa80/, \"\");\n }), y.subParser(\"tables\", function (e, v, b) {\n if (!v.tables) return e;\n function t(e) {\n var t,\n a = e.split(\"\\n\");\n for (t = 0; t < a.length; ++t) /^ {0,3}\\|/.test(a[t]) && (a[t] = a[t].replace(/^ {0,3}\\|/, \"\")), /\\|[ \\t]*$/.test(a[t]) && (a[t] = a[t].replace(/\\|[ \\t]*$/, \"\")), a[t] = y.subParser(\"codeSpans\")(a[t], v, b);\n var n,\n r,\n i,\n o,\n s,\n l = a[0].split(\"|\").map(function (e) {\n return e.trim();\n }),\n c = a[1].split(\"|\").map(function (e) {\n return e.trim();\n }),\n d = [],\n f = [],\n p = [],\n u = [];\n for (a.shift(), a.shift(), t = 0; t < a.length; ++t) \"\" !== a[t].trim() && d.push(a[t].split(\"|\").map(function (e) {\n return e.trim();\n }));\n if (l.length < c.length) return e;\n for (t = 0; t < c.length; ++t) p.push((n = c[t], /^:[ \\t]*--*$/.test(n) ? ' style=\"text-align:left;\"' : /^--*[ \\t]*:[ \\t]*$/.test(n) ? ' style=\"text-align:right;\"' : /^:[ \\t]*--*[ \\t]*:$/.test(n) ? ' style=\"text-align:center;\"' : \"\"));\n for (t = 0; t < l.length; ++t) y.helper.isUndefined(p[t]) && (p[t] = \"\"), f.push((r = l[t], i = p[t], o = void 0, o = \"\", r = r.trim(), (v.tablesHeaderId || v.tableHeaderId) && (o = ' id=\"' + r.replace(/ /g, \"_\").toLowerCase() + '\"'), \"<th\" + o + i + \">\" + (r = y.subParser(\"spanGamut\")(r, v, b)) + \"</th>\\n\"));\n for (t = 0; t < d.length; ++t) {\n for (var g = [], h = 0; h < f.length; ++h) y.helper.isUndefined(d[t][h]), g.push((s = d[t][h], \"<td\" + p[h] + \">\" + y.subParser(\"spanGamut\")(s, v, b) + \"</td>\\n\"));\n u.push(g);\n }\n return function m(e, t) {\n for (var a = \"<table>\\n<thead>\\n<tr>\\n\", n = e.length, r = 0; r < n; ++r) a += e[r];\n for (a += \"</tr>\\n</thead>\\n<tbody>\\n\", r = 0; r < t.length; ++r) {\n a += \"<tr>\\n\";\n for (var i = 0; i < n; ++i) a += t[r][i];\n a += \"</tr>\\n\";\n }\n return a += \"</tbody>\\n</table>\\n\";\n }(f, u);\n }\n return e = (e = (e = (e = b.converter._dispatch(\"tables.before\", e, v, b)).replace(/\\\\(\\|)/g, y.helper.escapeCharactersCallback)).replace(/^ {0,3}\\|?.+\\|.+\\n {0,3}\\|?[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[\\s\\S]+?(?:\\n\\n|\\xa80)/gm, t)).replace(/^ {0,3}\\|.+\\|[ \\t]*\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n( {0,3}\\|.+\\|[ \\t]*\\n)*(?:\\n|\\xa80)/gm, t), e = b.converter._dispatch(\"tables.after\", e, v, b);\n }), y.subParser(\"underline\", function (e, t, a) {\n return t.underline ? (e = a.converter._dispatch(\"underline.before\", e, t, a), e = (e = t.literalMidWordUnderscores ? (e = e.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (e, t) {\n return \"<u>\" + t + \"</u>\";\n })).replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (e, t) {\n return \"<u>\" + t + \"</u>\";\n }) : (e = e.replace(/___(\\S[\\s\\S]*?)___/g, function (e, t) {\n return /\\S$/.test(t) ? \"<u>\" + t + \"</u>\" : e;\n })).replace(/__(\\S[\\s\\S]*?)__/g, function (e, t) {\n return /\\S$/.test(t) ? \"<u>\" + t + \"</u>\" : e;\n })).replace(/(_)/g, y.helper.escapeCharactersCallback), e = a.converter._dispatch(\"underline.after\", e, t, a)) : e;\n }), y.subParser(\"unescapeSpecialChars\", function (e, t, a) {\n return e = (e = a.converter._dispatch(\"unescapeSpecialChars.before\", e, t, a)).replace(/\\xa8E(\\d+)E/g, function (e, t) {\n var a = parseInt(t);\n return String.fromCharCode(a);\n }), e = a.converter._dispatch(\"unescapeSpecialChars.after\", e, t, a);\n }), y.subParser(\"makeMarkdown.blockquote\", function (e, t) {\n var a = \"\";\n if (e.hasChildNodes()) for (var n = e.childNodes, r = n.length, i = 0; i < r; ++i) {\n var o = y.subParser(\"makeMarkdown.node\")(n[i], t);\n \"\" !== o && (a += o);\n }\n return a = \"> \" + (a = a.trim()).split(\"\\n\").join(\"\\n> \");\n }), y.subParser(\"makeMarkdown.codeBlock\", function (e, t) {\n var a = e.getAttribute(\"language\"),\n n = e.getAttribute(\"precodenum\");\n return \"```\" + a + \"\\n\" + t.preList[n] + \"\\n```\";\n }), y.subParser(\"makeMarkdown.codeSpan\", function (e) {\n return \"`\" + e.innerHTML + \"`\";\n }), y.subParser(\"makeMarkdown.emphasis\", function (e, t) {\n var a = \"\";\n if (e.hasChildNodes()) {\n a += \"*\";\n for (var n = e.childNodes, r = n.length, i = 0; i < r; ++i) a += y.subParser(\"makeMarkdown.node\")(n[i], t);\n a += \"*\";\n }\n return a;\n }), y.subParser(\"makeMarkdown.header\", function (e, t, a) {\n var n = new Array(a + 1).join(\"#\"),\n r = \"\";\n if (e.hasChildNodes()) {\n r = n + \" \";\n for (var i = e.childNodes, o = i.length, s = 0; s < o; ++s) r += y.subParser(\"makeMarkdown.node\")(i[s], t);\n }\n return r;\n }), y.subParser(\"makeMarkdown.hr\", function () {\n return \"---\";\n }), y.subParser(\"makeMarkdown.image\", function (e) {\n var t = \"\";\n return e.hasAttribute(\"src\") && (t += \" + \">\", e.hasAttribute(\"width\") && e.hasAttribute(\"height\") && (t += \" =\" + e.getAttribute(\"width\") + \"x\" + e.getAttribute(\"height\")), e.hasAttribute(\"title\") && (t += ' \"' + e.getAttribute(\"title\") + '\"'), t += \")\"), t;\n }), y.subParser(\"makeMarkdown.links\", function (e, t) {\n var a = \"\";\n if (e.hasChildNodes() && e.hasAttribute(\"href\")) {\n var n = e.childNodes,\n r = n.length;\n a = \"[\";\n for (var i = 0; i < r; ++i) a += y.subParser(\"makeMarkdown.node\")(n[i], t);\n a += \"](\", a += \"<\" + e.getAttribute(\"href\") + \">\", e.hasAttribute(\"title\") && (a += ' \"' + e.getAttribute(\"title\") + '\"'), a += \")\";\n }\n return a;\n }), y.subParser(\"makeMarkdown.list\", function (e, t, a) {\n var n = \"\";\n if (!e.hasChildNodes()) return \"\";\n for (var r = e.childNodes, i = r.length, o = e.getAttribute(\"start\") || 1, s = 0; s < i; ++s) if (\"undefined\" != typeof r[s].tagName && \"li\" === r[s].tagName.toLowerCase()) {\n n += (\"ol\" === a ? o.toString() + \". \" : \"- \") + y.subParser(\"makeMarkdown.listItem\")(r[s], t), ++o;\n }\n return (n += \"\\n\\x3c!-- --\\x3e\\n\").trim();\n }), y.subParser(\"makeMarkdown.listItem\", function (e, t) {\n for (var a = \"\", n = e.childNodes, r = n.length, i = 0; i < r; ++i) a += y.subParser(\"makeMarkdown.node\")(n[i], t);\n return /\\n$/.test(a) ? a = a.split(\"\\n\").join(\"\\n \").replace(/^ {4}$/gm, \"\").replace(/\\n\\n+/g, \"\\n\\n\") : a += \"\\n\", a;\n }), y.subParser(\"makeMarkdown.node\", function (e, t, a) {\n a = a || !1;\n var n = \"\";\n if (3 === e.nodeType) return y.subParser(\"makeMarkdown.txt\")(e, t);\n if (8 === e.nodeType) return \"\\x3c!--\" + e.data + \"--\\x3e\\n\\n\";\n if (1 !== e.nodeType) return \"\";\n switch (e.tagName.toLowerCase()) {\n case \"h1\":\n a || (n = y.subParser(\"makeMarkdown.header\")(e, t, 1) + \"\\n\\n\");\n break;\n case \"h2\":\n a || (n = y.subParser(\"makeMarkdown.header\")(e, t, 2) + \"\\n\\n\");\n break;\n case \"h3\":\n a || (n = y.subParser(\"makeMarkdown.header\")(e, t, 3) + \"\\n\\n\");\n break;\n case \"h4\":\n a || (n = y.subParser(\"makeMarkdown.header\")(e, t, 4) + \"\\n\\n\");\n break;\n case \"h5\":\n a || (n = y.subParser(\"makeMarkdown.header\")(e, t, 5) + \"\\n\\n\");\n break;\n case \"h6\":\n a || (n = y.subParser(\"makeMarkdown.header\")(e, t, 6) + \"\\n\\n\");\n break;\n case \"p\":\n a || (n = y.subParser(\"makeMarkdown.paragraph\")(e, t) + \"\\n\\n\");\n break;\n case \"blockquote\":\n a || (n = y.subParser(\"makeMarkdown.blockquote\")(e, t) + \"\\n\\n\");\n break;\n case \"hr\":\n a || (n = y.subParser(\"makeMarkdown.hr\")(e, t) + \"\\n\\n\");\n break;\n case \"ol\":\n a || (n = y.subParser(\"makeMarkdown.list\")(e, t, \"ol\") + \"\\n\\n\");\n break;\n case \"ul\":\n a || (n = y.subParser(\"makeMarkdown.list\")(e, t, \"ul\") + \"\\n\\n\");\n break;\n case \"precode\":\n a || (n = y.subParser(\"makeMarkdown.codeBlock\")(e, t) + \"\\n\\n\");\n break;\n case \"pre\":\n a || (n = y.subParser(\"makeMarkdown.pre\")(e, t) + \"\\n\\n\");\n break;\n case \"table\":\n a || (n = y.subParser(\"makeMarkdown.table\")(e, t) + \"\\n\\n\");\n break;\n case \"code\":\n n = y.subParser(\"makeMarkdown.codeSpan\")(e, t);\n break;\n case \"em\":\n case \"i\":\n n = y.subParser(\"makeMarkdown.emphasis\")(e, t);\n break;\n case \"strong\":\n case \"b\":\n n = y.subParser(\"makeMarkdown.strong\")(e, t);\n break;\n case \"del\":\n n = y.subParser(\"makeMarkdown.strikethrough\")(e, t);\n break;\n case \"a\":\n n = y.subParser(\"makeMarkdown.links\")(e, t);\n break;\n case \"img\":\n n = y.subParser(\"makeMarkdown.image\")(e, t);\n break;\n default:\n n = e.outerHTML + \"\\n\\n\";\n }\n return n;\n }), y.subParser(\"makeMarkdown.paragraph\", function (e, t) {\n var a = \"\";\n if (e.hasChildNodes()) for (var n = e.childNodes, r = n.length, i = 0; i < r; ++i) a += y.subParser(\"makeMarkdown.node\")(n[i], t);\n return a = a.trim();\n }), y.subParser(\"makeMarkdown.pre\", function (e, t) {\n var a = e.getAttribute(\"prenum\");\n return \"<pre>\" + t.preList[a] + \"</pre>\";\n }), y.subParser(\"makeMarkdown.strikethrough\", function (e, t) {\n var a = \"\";\n if (e.hasChildNodes()) {\n a += \"~~\";\n for (var n = e.childNodes, r = n.length, i = 0; i < r; ++i) a += y.subParser(\"makeMarkdown.node\")(n[i], t);\n a += \"~~\";\n }\n return a;\n }), y.subParser(\"makeMarkdown.strong\", function (e, t) {\n var a = \"\";\n if (e.hasChildNodes()) {\n a += \"**\";\n for (var n = e.childNodes, r = n.length, i = 0; i < r; ++i) a += y.subParser(\"makeMarkdown.node\")(n[i], t);\n a += \"**\";\n }\n return a;\n }), y.subParser(\"makeMarkdown.table\", function (e, t) {\n var a,\n n,\n r = \"\",\n i = [[], []],\n o = e.querySelectorAll(\"thead>tr>th\"),\n s = e.querySelectorAll(\"tbody>tr\");\n for (a = 0; a < o.length; ++a) {\n var l = y.subParser(\"makeMarkdown.tableCell\")(o[a], t),\n c = \"---\";\n if (o[a].hasAttribute(\"style\")) switch (o[a].getAttribute(\"style\").toLowerCase().replace(/\\s/g, \"\")) {\n case \"text-align:left;\":\n c = \":---\";\n break;\n case \"text-align:right;\":\n c = \"---:\";\n break;\n case \"text-align:center;\":\n c = \":---:\";\n }\n i[0][a] = l.trim(), i[1][a] = c;\n }\n for (a = 0; a < s.length; ++a) {\n var d = i.push([]) - 1,\n f = s[a].getElementsByTagName(\"td\");\n for (n = 0; n < o.length; ++n) {\n var p = \" \";\n \"undefined\" != typeof f[n] && (p = y.subParser(\"makeMarkdown.tableCell\")(f[n], t)), i[d].push(p);\n }\n }\n var u = 3;\n for (a = 0; a < i.length; ++a) for (n = 0; n < i[a].length; ++n) {\n var g = i[a][n].length;\n u < g && (u = g);\n }\n for (a = 0; a < i.length; ++a) {\n for (n = 0; n < i[a].length; ++n) 1 === a ? \":\" === i[a][n].slice(-1) ? i[a][n] = y.helper.padEnd(i[a][n].slice(-1), u - 1, \"-\") + \":\" : i[a][n] = y.helper.padEnd(i[a][n], u, \"-\") : i[a][n] = y.helper.padEnd(i[a][n], u);\n r += \"| \" + i[a].join(\" | \") + \" |\\n\";\n }\n return r.trim();\n }), y.subParser(\"makeMarkdown.tableCell\", function (e, t) {\n var a = \"\";\n if (!e.hasChildNodes()) return \"\";\n for (var n = e.childNodes, r = n.length, i = 0; i < r; ++i) a += y.subParser(\"makeMarkdown.node\")(n[i], t, !0);\n return a.trim();\n }), y.subParser(\"makeMarkdown.txt\", function (e) {\n var t = e.nodeValue;\n return t = (t = t.replace(/ +/g, \" \")).replace(/\\xa8NBSP;/g, \" \"), t = (t = (t = (t = (t = (t = (t = (t = (t = y.helper.unescapeHTMLEntities(t)).replace(/([*_~|`])/g, \"\\\\$1\")).replace(/^(\\s*)>/g, \"\\\\$1>\")).replace(/^#/gm, \"\\\\#\")).replace(/^(\\s*)([-=]{3,})(\\s*)$/, \"$1\\\\$2$3\")).replace(/^( {0,3}\\d+)\\./gm, \"$1\\\\.\")).replace(/^( {0,3})([+-])/gm, \"$1\\\\$2\")).replace(/]([\\s]*)\\(/g, \"\\\\]$1\\\\(\")).replace(/^ {0,3}\\[([\\S \\t]*?)]:/gm, \"\\\\[$1]:\");\n }), St.PLUGINS.markdown = function (o) {\n var s,\n l,\n a,\n n,\n r,\n c = o.$,\n i = !1,\n d = \"\",\n f = \"\",\n p = \"\",\n u = \"\",\n g = [],\n h = [],\n m = \"\",\n v = null,\n b = null;\n function E(e) {\n e = function u(e) {\n var t = e,\n a = e.match(/(\\[\\^(.+?)\\])[^:]/g),\n n = e.match(/(\\[\\^(.+?)\\]:)/g);\n if (a && n) {\n a.forEach(function (e, t, a) {\n a[t] = a[t].substring(0, a[t].length - 1);\n }), a = a.filter(function (e, t) {\n return a.indexOf(e) === t;\n }), n = n.filter(function (e, t) {\n return n.indexOf(e) === t;\n });\n for (var r = 1, i = 0; i < a.length; i++) {\n var o = \"\";\n if (1 == r && (o = '<hr class=\"footnote-sep\"><ol>'), -1 < n.indexOf(a[i] + \":\")) {\n for (var s = -1 < (t = (t = t.split(n[i]).join(\"{ftnt-plc}\")).replace(n[i].substring(0, n[i].length - 1), '<sup id=\"fnref:'.concat(r, '\"><a href=\"#fn:').concat(r, '\" class=\"footnote-a\">').concat(r, \"</a></sup>\"))).indexOf(a[i]) ? 1 : 0, l = 0; s && (l++, t = t.replace(n[i].substring(0, n[i].length - 1), '<sup id=\"fnref:'.concat(r, \":\").concat(l, '\"><a href=\"#fn:').concat(r, \":\").concat(l, '\" class=\"footnote-a\">').concat(r, \":\").concat(l, \"</a></sup>\")), s = -1 < t.indexOf(a[i]) ? 1 : 0););\n var c = (t = t.split(\"{ftnt-plc}\").join(n[i])).indexOf(n[i]),\n d = t,\n f = d.substring(c, d.length - 1);\n if (f = f.split(\"\\n\")[0], t = t.replace(f, \"\"), -1 < f.indexOf(\": \")) {\n f = f.split(\": \")[1], f += '<a href=\"#fnref:'.concat(r, '\" class=\"footnote-a\">\\u21a9</a>');\n for (var p = l; 0 != l;) f += '<a href=\"#fnref:'.concat(r, \":\").concat(p - l + 1, '\" class=\"footnote-a\">\\u21a9</a>'), l--;\n f += \"</p></li>\", t = t + o + '<li id=\"fn:'.concat(r, '\"><p>') + f, r++;\n }\n }\n }\n 1 != r && (t += \"</ol>\");\n }\n return e = t;\n }(e = function s(e) {\n for (var t = /^[A-Za-z0-9]/g, a = /^:[ ]{1}(.+?)+/g, n = e.split(\"\\n\"), r = n, i = n.length - 1, o = 1; o < i; o++) null !== n[o].match(a) && (null !== n[o - 1].match(t) && o < i - 1 && null !== n[o + 1].match(a) ? (r[o - 1] = \"<dl><dt>\" + n[o - 1] + \"</dt>\", r[o] = \"<dd>\" + n[o].substring(2) + \"</dd>\") : null !== n[o - 1].match(t) && (o < i - 1 && null === n[o + 1].match(a) || o == i - 1) ? (r[o - 1] = \"<dl><dt>\" + n[o - 1] + \"</dt>\", r[o] = \"<dd>\" + n[o].substring(2) + \"</dd></dl>\") : o < i - 1 && null !== n[o + 1].match(a) ? r[o] = \"<dd>\" + n[o].substring(2) + \"</dd>\" : r[o] = \"<dd>\" + n[o].substring(2) + \"</dd></dl>\");\n return e = r.join(\"\\n\");\n }(e = function t(e) {\n var n = e.indexOf(\"```\"),\n r = 0;\n -1 < n && (r = -1 < (r = e.substring(n + 1).indexOf(\"```\")) ? r + 3 : r);\n return e = e.replace(/^ {0,2}( ?-){3,}[ \\t]*$/gm, function (e, t, a) {\n return n < a && a < r ? \"---\" : \"<hr />\\n\";\n });\n }(e = function a(e) {\n return -1 < (e = (e = (e = (e = (e = (e = (e = (e = (e = (e = e.split(\"</p>\").join(\"</p>\\n\")).split(\"</div>\").join(\"\\n\")).replace(/(<([^>]+)>)/gi, \"\")).replace(/>/gi, \">\")).replace(/</gi, \"<\")).split(\""\").join('\"')).split(\"&\").join(\"&\")).split(\"'\").join(\"'\")).split(\" \").join(\" \")).replace(/\\|+\\n[^\\|]/g, function (e) {\n return e.replace(\"\\n\", \"\\n\\n\");\n })).indexOf(\"Powered by Froala Editor\") && (e = e.replace(\"Powered by Froala Editor\", \"\")), e;\n }(e)))), e = n.makeHtml(e), e = o.clean.html(e), o.$wp.find(l)[0].innerHTML = e;\n }\n return {\n _init: function t() {\n if (function e() {\n o.events.on(\"contentChanged\", function () {\n i && E(o.html.get(!1, !1));\n }, !0), o.events.$on(c(o.o_win), \"resize\", function () {\n i && (l[0].style.width = o.$wp[0].clientWidth - o.$el[0].clientWidth + 2 + \"px\");\n }), o.events.on(\"paste.afterCleanup\", function (e) {\n if (i) {\n var t = o.doc.createElement(\"div\");\n t.innerHTML = e;\n for (var a, n = t.querySelectorAll(\"img\"), r = 0; r < n.length; r++) (a = n[r]).outerHTML = a.outerHTML.replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n e = t.innerHTML;\n }\n return e;\n });\n }(), n = new y.Converter({\n strikethrough: !0,\n tables: !0,\n tablesHeaderId: !0,\n simpleLineBreaks: !0,\n ghCodeBlocks: !0,\n tasklists: !0,\n customizedHeaderId: !0,\n requireSpaceBeforeHeadingText: !0,\n underline: !0\n }), o.$tb && (a = o.$tb.find('.fr-command[data-cmd=\"markdown\"]')), !o.$wp) return !1;\n },\n refresh: function _(e) {\n var t = i;\n e.toggleClass(\"fr-active\", t).attr(\"aria-pressed\", t);\n },\n toggle: function w() {\n i ? function e() {\n f = o.html.get(!0, !0), o.opts.pastePlain = !1, o.$el.removeClass(\"fr-markdown-editor\"), o.$wp.append(r[0].firstChild), c(r).remove(), o.$wp.find(s).remove(), o.$wp.find(l).remove(), o.$wp[0].lastChild.after(o.$placeholder[0]), o.$el.removeAttr(\"style\"), o.size.refresh(), o.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command\").not(a).removeClass(\"fr-disabled\").attr(\"aria-disabled\", !1), o.opts.iframe && (o.$el = b, o.$wp = v, Object.keys(h).map(function (e) {\n o.$el[0].setAttribute(e, h[e]), \"class\" != e && m[0].removeAttribute(e);\n }), o.$el[0].style.removeProperty(\"padding\")), o.html.set(d), o.opts.iframe && (o.$el = b, o.$wp = v, o.$placeholder = null, o.placeholder.show(), o.placeholder.refresh());\n }() : function t() {\n var i;\n d = o.html.get(!0, !0), o.html.set(f), o.opts.pastePlain = !0, o.opts.iframe ? (o.$el[0].removeAttribute(\"spellcheck\"), Array.from(o.$el[0].attributes).map(function (e) {\n var t = e.name,\n a = e.value;\n return \"class\" != t && (g[t] = a), h[t] = a, o.$el[0].removeAttribute(t);\n }), o.$el[0].style.padding = 0, o.$el[0].innerHTML = \"\", o.$placeholder.hide()) : o.$el.addClass(\"fr-markdown-editor\"), r = c('<div class=\"fr-wrapper-markdown\" />'), o.opts.heightMin ? r.css(\"min-height\", \"\".concat(o.opts.heightMin, \"px\")) : r.css(\"min-height\", \"200px\"), o.opts.heightMax ? (r.css(\"maxHeight\", \"\".concat(o.opts.heightMax, \"px\")), r.css(\"overflow\", \"auto\")) : (r.css(\"maxHeight\", \"\"), r.css(\"overflow\", \"\")), o.opts.height && (r.css(\"height\", \"\".concat(o.opts.height, \"px\")), r.css(\"overflow\", \"auto\"), r.css(\"minHeight\", o.opts.height - o.helpers.getPX(o.$el.css(\"padding-top\")) - o.helpers.getPX(o.$el.css(\"padding-bottom\")))), o.opts.iframe ? (u = c('<div class=\"fr-box fr-basic fr-top\"></div>'), p = c('<div class=\"fr-markdown-wrapper\"></div>'), m = c('<div class=\"fr-element fr-markdown-editor\"><p><br></p></div>'), Object.keys(g).map(function (e) {\n return m[0].setAttribute(e, g[e]);\n }), f && (m[0].innerHTML = f), r[0].appendChild(m[0]), p[0].appendChild(r[0]), u[0].appendChild(p[0]), 1 == c(o.$html.find(\"body\")[0]).find(\".fr-box\").length ? (o.$el.prevAll().filter(function (e) {\n return ![\"CodeMirror cm-s-default CodeMirror-wrap\", \"fr-code\"].includes(e.className);\n }).remove(), o.$el[0].appendChild(r[0])) : (o.$el[0].appendChild(u[0]), v = o.$wp, o.$wp = p), b = o.$el, o.$el = m) : (o.$wp.append(r), r[0].appendChild(o.$el[0])), s = c('<div class=\"gutter-horizontal\"><div class=\"e-resize-handler\"><i class=\"fa fa-circle-thin\" aria-hidden=\"true\"></i></div></div>'), c(r).append(s[0]), l = c('<div class=\"fr-element fr-markdown-view\"></div>'), c(r).append(l[0]), c(r).after(o.$placeholder[0]), o.$tb.find(\".fr-btn-grp > .fr-command, .fr-more-toolbar > .fr-command, .fr-btn-grp > .fr-btn-wrap > .fr-command, .fr-more-toolbar > .fr-btn-wrap > .fr-command\").not(a).filter(function () {\n return \"fullscreen\" !== c(this).data(\"cmd\") && \"moreMisc\" !== c(this).data(\"cmd\");\n }).addClass(\"fr-disabled\").attr(\"aria-disabled\", !0), c(s).on(\"mousedown touchstart\", function (e) {\n i = {\n e: e,\n offsetLeft: s[0].offsetLeft,\n offsetTop: s[0].offsetTop,\n firstWidth: o.$el[0].offsetWidth,\n secondWidth: l[0].offsetWidth\n };\n var a = function a(e) {\n o.selection.clear();\n var t = {\n x: e.clientX - i.e.clientX,\n y: e.clientY - i.e.clientY\n };\n t.x = Math.min(Math.max(t.x, -i.firstWidth), i.secondWidth), i.firstWidth + t.x < 125 || i.secondWidth - t.x < 125 || (s[0].style.left = i.offsetLeft + t.x + \"px\", o.$el[0].style.width = i.firstWidth + t.x + \"px\", l[0].style.width = i.secondWidth - t.x + \"px\");\n },\n n = function n(e) {\n o.selection.clear();\n var t = {\n x: e.changedTouches[0].clientX - i.e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY - i.e.changedTouches[0].clientY\n };\n t.x = Math.min(Math.max(t.x, -i.firstWidth), i.secondWidth), i.firstWidth + t.x < 100 || i.secondWidth - t.x < 100 || (s[0].style.left = i.offsetLeft + t.x + \"px\", o.$el[0].style.width = i.firstWidth + t.x + \"px\", l[0].style.width = i.secondWidth - t.x + \"px\");\n },\n t = function t() {\n document.onmousemove = document.onmouseup = null, document.ontouchmove = document.ontouchend = null;\n },\n r = function r() {\n o.$doc[0].onmousemove = o.$doc[0].onmouseup = null, o.$doc[0].ontouchmove = o.$doc[0].ontouchend = null;\n };\n o.opts.iframe && o.markdown.isEnabled ? (o.$doc[0].onmousemove = a, o.$doc[0].ontouchmove = n, o.$doc[0].onmouseup = r, o.$doc[0].ontouchend = r) : (document.onmousemove = a, document.ontouchmove = n, document.onmouseup = t, document.ontouchend = t);\n }), E(f);\n }(), i = !i;\n },\n isEnabled: function e() {\n return i;\n }\n };\n }, St.DefineIcon(\"markdown\", {\n NAME: \"markdown\",\n SVG_KEY: \"markdown\"\n }), St.RegisterCommand(\"markdown\", {\n title: \"Markdown\",\n undo: !1,\n focus: !1,\n toggle: !0,\n forcedRefresh: !0,\n accessibilityFocus: !0,\n callback: function () {\n this.markdown.toggle();\n },\n refresh: function (e) {\n this.markdown.refresh(e);\n },\n plugin: \"markdown\"\n }), Object.assign(St.DEFAULTS, {\n wordCounterMax: -1,\n wordCounterCount: !0\n }), St.PLUGINS.wordCounter = function (p) {\n var a,\n t = p.$;\n function u() {\n var e = p.el.innerText.toString();\n e = (e = (e = (e = (e = (e = (e = (e = e.replace(/(^\\s*)|(\\s*$)/gi, \" \")).replace(/\\u00a0/g, \" \")).replace(/[ ]{2,}/gi, \" \")).replace(/\\n /, \"\\n\")).replace(/[\\u200A\\u200C-\\u200D\\uFEFF\\u202F\\u2000-\\u2009\\u205F\\u3000\\u1680\\u00A0\\u0020]/g, \" \")).replace(/[\\u200B]/g, \"\")).replace(/\\t+/g, \" \")).split(\" \").join(\"\\n\");\n var t = p.$el.find(\".fr-pagebreak\"),\n a = e.split(/\\r?\\n/),\n n = 0;\n return a.forEach(function (e) {\n 0 < (e = e.replace(/\\s/g, \"\")).length && n++;\n }), n - 2 * t.length;\n }\n function e(e) {\n var t = !1;\n if (p.opts.wordCounterMax < 0) return !0;\n if (u() < p.opts.wordCounterMax) return !0;\n var a = e.which,\n n = p.selection.get(),\n r = n.focusOffset,\n i = n.focusNode.textContent,\n o = (i = i.replace(/\\u00a0/g, \" \")).toUpperCase().charCodeAt(r - 1),\n s = i.toUpperCase().charCodeAt(r);\n return n.focusNode.data || (o = s = NaN), !function l(e, t) {\n if (p.keys.isCharacter(e) && p.keys.isCharacter(t) && e != St.KEYCODE.SPACE && t != St.KEYCODE.SPACE) return !0;\n return !1;\n }(o, s) || a !== St.KEYCODE.ENTER && a !== St.KEYCODE.SPACE || (t = !0), (function c(e, t) {\n return e === St.KEYCODE.SPACE && t === St.KEYCODE.SPACE;\n }(o, s) || function d(e, t) {\n if (isNaN(e) && t === St.KEYCODE.SPACE || e === St.KEYCODE.SPACE && isNaN(t)) return !0;\n return !1;\n }(o, s) || function f(e, t) {\n if (isNaN(e) && isNaN(t)) return !0;\n return !1;\n }(o, s)) && p.keys.isCharacter(a) && a != St.KEYCODE.SPACE && (t = !0), u() > p.opts.wordCounterMax && (p.keys.isCharacter(a) || a === St.KEYCODE.ENTER) && (t = !0), !(!p.keys.ctrlKey(e) && t || a === St.KEYCODE.IME) || (e.preventDefault(), e.stopPropagation(), p.events.trigger(\"wordCounter.exceeded\"), !1);\n }\n function n() {\n if (p.opts.wordCounterCount) {\n var e = u() + (0 < p.opts.wordCounterMax ? \"/\" + p.opts.wordCounterMax : \"\");\n a.text(\"\".concat(p.language.translate(\"Words\"), \" : \").concat(e)), p.opts.toolbarBottom && a.css(\"margin-bottom\", p.$tb.outerHeight(!0));\n var t = p.$wp.get(0).offsetWidth - p.$wp.get(0).clientWidth;\n 0 <= t && (\"rtl\" == p.opts.direction ? a.css(\"margin-left\", t) : a.css(\"margin-right\", t));\n }\n }\n function r(e) {\n return p.opts.wordCounterMax < 0 ? e : t(\"<div>\").html(e).text().split(\" \").length + u() <= p.opts.wordCounterMax ? e : (p.events.trigger(\"wordCounter.exceeded\"), \"\");\n }\n return {\n _init: function i() {\n return !!p.$wp && !!p.opts.wordCounterCount && ((a = t(document.createElement(\"span\")).attr(\"class\", \"fr-counter fr-wCounter\")).css(\"bottom\", p.$wp.css(\"border-bottom-width\")), p.$second_tb ? p.$second_tb.append(a) : p.$wp.append(a), p.events.on(\"keydown\", e, !0), p.events.on(\"paste.afterCleanup\", r), p.events.on(\"keyup contentChanged input\", function () {\n p.events.trigger(\"wordCounter.update\");\n }), p.events.on(\"wordCounter.update\", n), p.events.trigger(\"wordCounter.update\"), void p.events.on(\"destroy\", function () {\n t(p.o_win).off(\"resize.char\".concat(p.id)), a.removeData().remove(), a = null;\n }));\n },\n wordCount: u\n };\n }, Object.assign(St.POPUP_TEMPLATES, {\n \"filestackPlugin.error\": \"[_UPLOAD_LAYER_]\"\n }), St.FILESTACK_PICKER_OPTIONS_MEDIA_MAX_SUPPORTED = [\".pdf\", \".docx\", \".ppt\", \".pptx\", \".doc\", \".xlsx\", \".xls\", \".csv\", \".txt\", \"image/jpeg\", \"image/png\", \"image/jpg\", \"image/gif\", \"image/webp\", \"video/*\", \"audio/*\", \"mp3\"], St.REQUIRED_PLUGINS = [\"image\", \"video\", \"file\", \"filesManager\"], St.FILESTACK_PICKER_OPTIONS_IMAGE_ONLY_SUPPORTED = [\"image/jpeg\", \"image/png\", \"image/jpg\", \"image/gif\", \"image/webp\"], St.FILESTACK_DEFAULT_ACCEPT_FILE_TYPES = [\".pdf\", \".docx\", \".ppt\", \".pptx\", \".doc\", \".xlsx\", \".xls\", \".csv\", \".txt\"], St.FILESTACK_PICKER_OPTIONS_VIDEO_ONLY_SUPPORTED = [\"video/*\"], St.FILESTACK_PICKER_OPTIONS_FROMSOURCES_MAX_SUPPORTED = [\"local_file_system\", \"imagesearch\", \"url\", \"googledrive\", \"facebook\", \"instagram\", \"dropbox\"], St.FILESTACK_PICKER_DEFAULT_OPTIONS = {\n displayMode: \"overlay\",\n uploadInBackground: !1,\n stage: {\n cname: \"stage.filestackapi.com\"\n }\n }, Object.assign(St.DEFAULTS, {\n filestackOptions: {}\n }), St.FILE_STACK_URL_PART = \"filestack\", St.PLUGINS.filestack = function (f) {\n var r,\n p,\n t = [\"pdf\", \"msword\", \"vnd.openxmlformats-officedocument.wordprocessingml.document\", \"vnd.ms-excel\", \"vnd.openxmlformats-officedocument.spreadsheetml.sheet\", \"vnd.ms-powerpoint\", \"vnd.openxmlformats-officedocument.presentationml.presentation\", \"csv\", \"plain\", \"ogg\"],\n u = 1,\n o = 4,\n g = 5,\n h = 6,\n s = 7,\n l = {};\n function m(e, t, a) {\n v(a ? f.language.translate(l[e]) + \"\\nResponse: \" + JSON.stringify(a) : f.language.translate(l[e]), t);\n }\n function v(e, t, a, n) {\n var r;\n if ((r = f.popups.get(\"filestackPlugin.error\")) || (r = d(e)), a && (r.find(\".fr-image-progress-bar-layer\").addClass(\"fr-active\"), r.find(\".fr-error-message\").addClass(\"fr-layer\"), r.find(\".fr-buttons\").hide()), !!f.$tb) {\n var i;\n \"openFilePicker\" === t ? i = \"openFilePicker\" : \"openFilePickerReplaceImageOnly\" === t || \"openFilePickerImage\" === t ? i = \"insertImage\" : \"openFilePickerReplaceVideoOnly\" === t || \"openFilePickerVideo\" === t ? i = \"insertVideo\" : \"openFilePickerVideoOnly\" === t ? i = \"openFilePickerVideoOnly\" : \"openFilePickerImageOnly\" === t ? i = \"openFilePickerImageOnly\" : \"openFilePickerFile\" === t && (i = \"openFilePickerFile\");\n var o = f.$tb.find(\".fr-command[data-cmd='\".concat(i, \"']\"));\n if (a) f.popups.show(\"filestackPlugin.error\", n.x, n.y);else if (!r.hasClass(\"fr-active\") && (f.popups.refresh(\"filestackPlugin.error\"), f.popups.setContainer(\"filestackPlugin.error\", f.$tb), o.isVisible() || f.opts.toolbarInline)) {\n var s = f.opts.toolbarInline && [\"openFilePickerImage\", \"openFilePickerVideo\"].includes(t) ? f.$(\".fr-popup\")[0].style : f.button.getPosition(o),\n l = s.left,\n c = s.top;\n f.popups.show(\"filestackPlugin.error\", l, c, o.outerHeight());\n }\n }\n }\n function b() {\n var e = \"\",\n t = function a() {\n var t = [];\n return St.REQUIRED_PLUGINS.forEach(function (e) {\n f.opts.pluginsEnabled.indexOf(e) < 0 && t.push(e.charAt(0).toUpperCase() + e.slice(1));\n }), t;\n }();\n return e = t.join(\", \"), 1 < t.length ? e += \" plugin are\" : e += \" plugin is\", e;\n }\n function d(e) {\n var t = e.includes(\"Do you want to enable\"),\n a = t ? \"<div style='text-align:right;' class='fr-buttons'>\\n <button class='fr-trim-button fr-plugins-enable'>\".concat(f.language.translate(\"Enable\"), \"</button> \\n <button class='fr-trim-button fr-plugins-cancel'>\").concat(f.language.translate(\"Cancel\"), \"</button>\\n </div>\") : \"<div style='text-align:right;' class='fr-buttons'>\\n <button class='fr-trim-button fr-plugins-ok'>\".concat(f.language.translate(\"OK\"), \"</button> \\n </div>\"),\n n = {\n upload_layer: \"\".concat('<div class=\"fr-image-progress-bar-layer fr-layer\"><h3 tabIndex=\"-1\" class=\"fr-message\">Uploading</h3><div class=\"fr-loader fr-indeterminate\"><span class=\"fr-progress\"></span></div><div class=\"fr-action-buttons\"><button type=\"button\" class=\"fr-command fr-dismiss\" data-cmd=\"imageDismissError\" tabIndex=\"2\" role=\"button\">OK</button></div></div>', \"\\n <div style= 'padding:10px'>\\n <div class = 'fr-message fr-error-message'><h3 style ='font-size: 16px; margin: 10px 10px;font-weight: normal;'>\").concat(f.language.translate(e), \"</h3></div>\\n \").concat(a, \"\\n \")\n },\n r = f.popups.create(\"filestackPlugin.error\", n);\n if (t) {\n var i = r.find(\".fr-plugins-enable\")[0],\n o = r.find(\".fr-plugins-cancel\")[0];\n i.addEventListener(\"click\", function (e) {\n !function t() {\n St.REQUIRED_PLUGINS.forEach(function (e) {\n f.opts.pluginsEnabled.indexOf(e) < 0 && f.opts.pluginsEnabled.push(e);\n });\n }(), function a(e) {\n for (var t in e) if (!f[t]) {\n if (St.PLUGINS[t] && f.opts.pluginsEnabled.indexOf(t) < 0) continue;\n f[t] = new e[t](f), f[t]._init && f[t]._init();\n }\n }(St.PLUGINS), R(), f.events.trigger(\"filestack.pluginsEnabled\"), f.popups.hide(\"filestackPlugin.error\"), y(), e.preventDefault();\n }), o.addEventListener(\"click\", function (e) {\n f.popups.hide(\"filestackPlugin.error\"), y(), e.preventDefault();\n });\n } else {\n var s = r.find(\".fr-plugins-ok\")[0];\n s && s.addEventListener(\"click\", function (e) {\n f.popups.hide(\"filestackPlugin.error\"), e.preventDefault();\n });\n }\n return r;\n }\n function E() {\n var t = !0;\n return St.REQUIRED_PLUGINS.forEach(function (e) {\n f.opts.pluginsEnabled.indexOf(e) < 0 && (t = !1);\n }), t;\n }\n l[u] = \"Filestack api is missing\", l[2] = \"The Filestack options are missing. Please check filestackOptions\", l[3] = \"The Filestack picker is missing. Please check filestackOption\", l[o] = \"Image upload to filestack failed while processing the request\", l[g] = \"Filestack plugin is currently not supported on this browser\", l[h] = \"The selected media types are not supported\", l[s] = \"The selected source types are not supported by Filestack\", l[8] = \"Error opening Filestack picker due to invalid picker parameters\", l[9] = \"This image is not supported for image transformation\", l[10] = \"The Filestack client is not created yet\";\n var _ = f.opts.filestackOptions.filestackAPI;\n if (_) try {\n p = f.opts.filestackOptions.staging ? filestack.init(_, St.FILESTACK_PICKER_DEFAULT_OPTIONS.stage) : filestack.init(_, St.FILESTACK_PICKER_DEFAULT_OPTIONS);\n } catch (L) {\n 0 === !Object.keys(f.opts.filestackOptions).length && m(10);\n } else ;\n function w() {\n var e = navigator.userAgent,\n t = f || \"\",\n a = t.helpers,\n n = t.browser;\n if (a.isMac() && n.mozilla) return !1;\n var r = -1 != e.indexOf(\"Windows NT 10.\") || -1 != e.indexOf(\"Windows NT 7.\"),\n i = e.match(/(chrome|safari|firefox|trident(?=\\/))\\/?\\s*(\\d+)/i)[2] || [],\n o = null;\n return 0 <= e.indexOf(\"Android\") && (o = parseFloat(e.slice(e.indexOf(\"Android\") + 8))), !!((a.isMac() || a.isIOS()) && 12 < a.getSafariVersion()) || !!(r && n.chrome && 70 < i || -1 != e.indexOf(\"Edg\") && 40 < i) || !!(a.isAndroid() && 6 < o && n.chrome && 70 < i);\n }\n function c(e) {\n return !1 === f.events.trigger(\"filestack.uploadedToFilestack\", [e], !0) ? (f.edit.on(), !1) : e;\n }\n function y(e) {\n var t = f.button.getButtons('button[data-cmd=\"openFilePicker\"]'),\n a = f.button.getButtons('button[data-cmd=\"openFilePickerImageOnly\"]'),\n n = f.button.getButtons('button[data-cmd=\"openFilePickerVideoOnly\"]'),\n r = f.button.getButtons('button[data-cmd=\"openFilePickerFile\"]');\n t.removeClass(\"fr-filestack-active\"), a.removeClass(\"fr-filestack-active\"), n.removeClass(\"fr-filestack-active\"), r.removeClass(\"fr-filestack-active\"), !1 === f.events.trigger(\"filestack.filestackPickerClosed\", [e], !0) && f.edit.on();\n }\n function A() {\n O = I = null, f.selection.restore();\n }\n function C(e) {\n m(o, e), !1 === f.events.trigger(\"filestack.uploadFailedToFilestack\", [e], !0) && f.edit.on();\n }\n function T(e) {\n return t.includes(e.split(\"/\")[1]);\n }\n function k(e) {\n var t = !1;\n f.opts.imageInsertButtons = f.opts.imageInsertButtons.map(function (e) {\n return \"openFilePickerImage\" === e ? (t = !0, \"openFilePickerReplaceImageOnly\") : e;\n }), t && f.events.trigger(\"filestack-init\"), f.popups.hide(\"image.edit\");\n var a = f.doc.querySelector(\".fr-popup\");\n a && a.remove(), f.opts.pluginsEnabled.includes(\"filestack\") && function n(e) {\n f.opts.imageEditButtons.includes(\"filestackIcon\") && (r = f.opts.imageEditButtons.indexOf(\"filestackIcon\"));\n !f.opts.imageEditButtons.includes(\"filestackIcon\") && e && f.opts.pluginsEnabled.includes(\"filestack\") ? (r || 0 === r) && f.opts.imageEditButtons.splice(r, 0, \"filestackIcon\") : e || (f.opts.imageEditButtons = f.opts.imageEditButtons.filter(function (e) {\n return \"filestackIcon\" != e;\n }));\n f.opts.filestackOptions.uploadToFilestackOnly && e ? f.opts.imageEditButtons = f.opts.imageEditButtons.filter(function (e) {\n return \"imageTUI\" != e;\n }) : f.opts.pluginsEnabled.includes(\"imageTUI\") && !f.opts.imageEditButtons.includes(\"imageTUI\") && f.opts.imageEditButtons.push(\"imageTUI\");\n }(e), f.events.trigger(\"filestack-init-edit\");\n }\n function S() {\n var t = !1;\n f.opts.videoInsertButtons = f.opts.videoInsertButtons.map(function (e) {\n return \"openFilePickerVideo\" === e ? (t = !0, \"openFilePickerReplaceVideoOnly\") : e;\n }), t && f.events.trigger(\"filestack-init-video\");\n }\n function R() {\n St.DEFAULTS.imageInsertButtons && !St.DEFAULTS.imageInsertButtons.includes(\"openFilePickerImage\") && St.DEFAULTS.imageInsertButtons.push(\"openFilePickerImage\"), St.DEFAULTS.imageEditButtons && !St.DEFAULTS.imageEditButtons.includes(\"filestackIcon\") && St.DEFAULTS.imageEditButtons.push(\"filestackIcon\"), St.DEFAULTS.videoInsertButtons && !St.DEFAULTS.videoInsertButtons.includes(\"openFilePickerVideo\") && St.DEFAULTS.videoInsertButtons.push(\"openFilePickerVideo\"), St.DEFAULTS.filesInsertButtons && !St.DEFAULTS.filesInsertButtons.includes(\"openFilePicker\") && St.DEFAULTS.filesInsertButtons.push(\"openFilePicker\"), St.DEFAULTS.fileInsertButtons && !St.DEFAULTS.fileInsertButtons.includes(\"openFilePickerFile\") && St.DEFAULTS.fileInsertButtons.push(\"openFilePickerFile\"), f.popups.onHide(\"image.insert\", function () {\n var e = f.button.getButtons('button[data-cmd=\"openFilePickerImage\"]'),\n t = f.button.getButtons('button[data-cmd=\"openFilePickerReplaceImageOnly\"]');\n e.removeClass(\"fr-filestack-active\"), t.removeClass(\"fr-filestack-active\");\n }), f.popups.onHide(\"video.insert\", function () {\n var e = f.button.getButtons('button[data-cmd=\"openFilePickerVideo\"]'),\n t = f.button.getButtons('button[data-cmd=\"openFilePickerReplaceVideoOnly\"]');\n e.removeClass(\"fr-filestack-active\"), t.removeClass(\"fr-filestack-active\");\n }), f.popups.onHide(\"filesManager.insert\", function () {\n f.button.getButtons('button[data-cmd=\"openFilePicker\"]').removeClass(\"fr-filestack-active\");\n });\n var e = f.opts.filestackOptions.pickerOptions ? Object.assign({}, f.opts.filestackOptions.pickerOptions, {\n accept: f.opts.filestackOptions.pickerOptions.accept ? f.opts.filestackOptions.pickerOptions.accept : [],\n fromSources: f.opts.filestackOptions.pickerOptions.fromSources ? f.opts.filestackOptions.pickerOptions.fromSources : []\n }) : {\n accept: [],\n fromSources: []\n };\n e.fromSources = function o(t, e) {\n if (!e || 0 === e.length) return t;\n var a = [];\n return e.forEach(function (e) {\n -1 < t.indexOf(e) && a.push(e);\n }), 0 === a.length && m(s), a;\n }(St.FILESTACK_PICKER_OPTIONS_FROMSOURCES_MAX_SUPPORTED, e.fromSources), e.onOpen = function (e) {\n f.events.on(\"window.mouseup\", function (e) {\n if (document.getElementById(\"__filestack-picker\") && f.helpers.isMobile()) return e.preventDefault(), e.stopPropagation(), !1;\n }, !0), !1 === f.events.trigger(\"filestack.filestackPickerOpened\", [e], !0) && f.edit.on();\n var t = f.selection.get();\n t && (t.anchorNode, t.anchorOffset);\n }, e.onUploadDone = function (e) {\n return function o(e) {\n if (\"undefined\" != typeof e.filesUploaded) {\n var n,\n t = $e(e.filesUploaded);\n try {\n var a,\n r = function r() {\n var t = n.value;\n if (T(t.mimetype) || t.mimetype.includes(\"image/jpeg\") || t.mimetype.includes(\"image/png\") || t.mimetype.includes(\"image/\") || t.mimetype.includes(\"video/\") || t.mimetype.includes(\"audio/mpeg\")) {\n t.mimetype.includes(\"image/\") && k(!0), t.mimetype.includes(\"video/\") && S();\n var a = function a(e) {\n t.mimetype.includes(\"image\") ? e.next().is(\"br\") && e.next().remove() : (e.next() && e.next().is(\"br\") && e.next().remove(), e.prev() && e.prev().is(\"br\") && e.prev().remove()), f.selection.setAfter(e[0]);\n };\n if (!c(e) || I || O || (t.mimetype.includes(\"ogg\") ? f.file.insert(t.url, t.filename, null) : t.mimetype.includes(\"image\") ? (f.image.insert(t.url, !1, null, null), f.events.on(\"image.loaded\", a)) : t.mimetype.includes(\"video\") ? (f.events.on(\"video.inserted\", a), f.video.insertHtmlVideo(t.url, null, null, null, null)) : t.mimetype.includes(\"audio/mpeg\") ? (f.events.on(\"video.inserted\", a), f.video.insertHtmlVideo(t.url, null, null, null, null, \"audio\")) : T(t.mimetype) && f.file.insert(t.url, t.filename, null)), I) return f.image.insert(t.url, !1, null, I), I = null, {\n v: void 0\n };\n if (O) return f.video.insertHtmlVideo(t.url, !1, null, O), O = null, {\n v: void 0\n };\n }\n };\n for (t.s(); !(n = t.n()).done;) if (a = r()) return a.v;\n } catch (i) {\n t.e(i);\n } finally {\n t.f();\n }\n }\n }(e);\n }, e.onFileUploadFailed = C, e.onClose = y, e.onCancel = A, f.opts.filestackOptions.pickerOptions = e;\n var r = function r(e) {\n var t = \"IMG\" === e.target.tagName,\n a = \"VIDEO\" === e.target.tagName,\n n = e.target.src && e.target.src.includes(St.FILE_STACK_URL_PART) && !e.target.src.includes(\"blob:\");\n t ? k(n) : a && S();\n },\n t = f.helpers.isMobile() && !f.helpers.isWindowsPhone();\n if (f.events.on(t ? \"touchend\" : \"click\", r, t), f.events.on(\"drop\", function () {\n k(!1), S();\n }, !0), f.opts.filestackOptions.uploadToFilestackOnly && !f.opts.iframe && !f.opts.fullPage) {\n if (p && w() && E()) {\n var a = filestackDnD.init(p, f.el);\n a && a.on(\"uploadFileFinish\", function (e) {\n if (e.files[0].mimetype.includes(\"image/\") && k(!0), e.files[0].mimetype.includes(\"video/\") && S(), T(e.files[0].mimetype) || e.files[0].mimetype.includes(\"pdf\") || e.files[0].mimetype.includes(\"image/jpeg\") || e.files[0].mimetype.includes(\"image/png\") || e.files[0].mimetype.includes(\"image/\") || e.files[0].mimetype.includes(\"video/\") || e.files[0].name && e.files[0].name.includes(\".ogg\")) {\n var t = function t(e) {\n f.popups.hide(\"filestackPlugin.error\"), f.selection.setAfter(e[0]);\n };\n if (e.files[0].mimetype.includes(\"image\")) c(e) && (f.image.insert(e.data.url, !1), f.events.on(\"image.inserted\", t));else e.files[0].mimetype.includes(\"video\") ? (f.video.insertHtmlVideo(e.data.url), f.events.on(\"video.inserted\", t)) : (e.files[0].mimetype.includes(\"pdf\") || T(e.files[0].mimetype) || e.files[0].name && e.files[0].name.includes(\".ogg\")) && f.file.insert(e.data.url, e.data._file.name, null);\n f.popups.hide(\"filestackPlugin.error\");\n }\n });\n }\n f.events.on(\"drop\", function (e) {\n return p ? w() ? E() ? (f.markers.remove(), f.markers.insertAtPoint(e.originalEvent), f.$el.find(\".fr-marker\").replaceWith(St.MARKERS), 0 === f.$el.find(\".fr-marker\").length && f.selection.setAtEnd(f.el), v(\"Image loading\", \"\", !0, {\n x: e.originalEvent.x,\n y: e.originalEvent.y\n })) : v(b() + \" not enabled. Do you want to enable?\", \"openFilePicker\") : (d(l[g]), f.popups.show(\"filestackPlugin.error\", e.originalEvent.x, e.originalEvent.y)) : (d(l[u]), f.popups.show(\"filestackPlugin.error\", e.originalEvent.x, e.originalEvent.y)), e.preventDefault(), e.stopPropagation(), !1;\n }, !0);\n }\n var n = document.getElementById(\"insertImage-\".concat(f.id));\n n && n.addEventListener(\"mouseup\", function () {\n var t = !1;\n f.opts.imageInsertButtons = f.opts.imageInsertButtons.map(function (e) {\n return \"openFilePickerReplaceImageOnly\" === e ? (t = !0, \"openFilePickerImage\") : e;\n }), t && f.events.trigger(\"filestack-init\");\n });\n var i = document.getElementById(\"insertVideo-\".concat(f.id));\n i && i.addEventListener(\"mouseup\", function () {\n var t = !1;\n f.opts.videoInsertButtons = f.opts.videoInsertButtons.map(function (e) {\n return \"openFilePickerReplaceVideoOnly\" === e ? (t = !0, \"openFilePickerVideo\") : e;\n }), t && f.events.trigger(\"filestack-init-video\");\n }), f.events.on(\"image.loaded\", function (e) {\n (!e[0].src.includes(St.FILE_STACK_URL_PART) || e[0].src.includes(St.FILE_STACK_URL_PART) && e[0].src.includes(\"blob:\")) && setTimeout(function () {\n var e = document.querySelector(\"#filestackIcon-\".concat(f.id));\n e && e.parentNode.removeChild(e);\n }, 10);\n });\n }\n return f.events.on(\"filestack.imageTransformation.click\", function () {\n !function i(e) {\n I = e;\n var a = f.image.get()[0].currentSrc || \"\",\n t = filestack.init(_),\n n = new FilestackTransform(t);\n n.setConfigKey(\"output.blob\", !0), n.open(a).then(function (e) {\n t.upload(e).then(function (e) {\n var t = f.selection.save();\n void 0 !== a && (f.image.insert(e.url, !1, null, I), I = null, f.selection.restore(t));\n }), t.on(\"upload.error\", function () {\n m(o);\n });\n }), f.events.on(\"keydown\", function () {\n var e = document.getElementsByClassName(\"fs-transforms-container\");\n f.helpers.isMobile() && e && e[0].childNodes && e[0].childNodes.length && (I = null);\n });\n var r = f.button.getButtons('button[data-cmd=\"filestackIcon\"]');\n n.on(\"canvas:save\", function () {\n r.removeClass(\"fr-filestack-active\"), v(\"Image loading\", \"\", !0, {\n x: I.offset().left,\n y: I.offset().top + I.height()\n });\n }), n.on(\"canvas:cancel\", function () {\n r.removeClass(\"fr-filestack-active\");\n });\n }(f.image.get());\n }), f.events.on(\"filestack.imageTransformation.error\", function () {\n m(9);\n }), {\n _init: R,\n showFilestackPopup: function x(e, t, a) {\n if (!e) return !1;\n var n;\n if (\"openFilePicker\" === e || \"openFilePickerFile\" === e ? n = St.FILESTACK_PICKER_OPTIONS_MEDIA_MAX_SUPPORTED : \"openFilePickerImageOnly\" === e || \"openFilePickerReplaceImageOnly\" === e || \"openFilePickerImage\" === e ? n = St.FILESTACK_PICKER_OPTIONS_IMAGE_ONLY_SUPPORTED : \"openFilePickerVideoOnly\" !== e && \"openFilePickerReplaceVideoOnly\" !== e && \"openFilePickerVideo\" !== e || (n = St.FILESTACK_PICKER_OPTIONS_VIDEO_ONLY_SUPPORTED), !_) return m(u, e), !1;\n if (!w()) return m(g, e), !1;\n if (!E()) return v(b() + \" not enabled. Do you want to enable?\", e), !1;\n if (!p && 0 === !Object.keys(f.opts.filestackOptions).length) return m(10, e), !1;\n t && (I = t), a && (O = a);\n var r,\n i = f.opts.filestackOptions.pickerOptions ? Object.assign({}, f.opts.filestackOptions.pickerOptions, {\n accept: f.opts.filestackOptions.pickerOptions.accept ? f.opts.filestackOptions.pickerOptions.accept : [],\n fromSources: f.opts.filestackOptions.pickerOptions.fromSources ? f.opts.filestackOptions.pickerOptions.fromSources : []\n }) : {\n accept: [],\n fromSources: []\n };\n r = f.opts.fileAllowedTypes && 1 === f.opts.fileAllowedTypes.length && \"*\" === f.opts.fileAllowedTypes[0] ? St.FILESTACK_PICKER_OPTIONS_MEDIA_MAX_SUPPORTED : f.opts.fileAllowedTypes, 0 === i.accept.length && (i.accept = St.FILESTACK_PICKER_OPTIONS_MEDIA_MAX_SUPPORTED);\n var o = St.FILESTACK_PICKER_OPTIONS_VIDEO_ONLY_SUPPORTED;\n f.opts.videoAllowedTypes && (o = f.opts.videoAllowedTypes.map(function (e) {\n return \"mp3\" === e ? \"audio/\".concat(e) : \"video/\".concat(e);\n })), \"openFilePickerImageOnly\" === e || \"openFilePickerReplaceImageOnly\" === e || \"openFilePickerImage\" === e ? n = f.opts.imageAllowedTypes.map(function (e) {\n return \"image/\".concat(e);\n }) : \"openFilePickerVideoOnly\" === e || \"openFilePickerReplaceVideoOnly\" === e || \"openFilePickerVideo\" === e ? n = o : \"openFilePickerFile\" === e && (n = r);\n var s = i.maxFiles;\n (t || a) && (s = 1);\n var l = \"openFilePicker\" === e ? function d(t, e) {\n if (!e || 0 === e.length) return t;\n var a = [];\n return e.forEach(function (e) {\n -1 < t.indexOf(e) && a.push(e);\n }), 0 === a.length && m(h), a;\n }(n, i.accept) : n,\n c = Object.assign({}, i, {\n accept: l,\n maxFiles: s\n });\n try {\n p.picker(c).open(), f.popups.hideAll(), f.selection.save();\n } catch (L) {\n 0 === Object.keys(f.opts.filestackOptions).length && m(8, e);\n }\n },\n isBrowserSupported: w\n };\n }, St.DefineIcon(\"filestackIcon\", {\n ALT: \"Open Filestack file picker\",\n NAME: \"filestack\",\n SVG_KEY: \"filestackIcon\"\n }), St.DefineIcon(\"filestackIconAdd\", {\n ALT: \"Open Filestack file picker\",\n NAME: \"filestackAdd\",\n SVG_KEY: \"filestackIconAdd\"\n }), St.DefineIcon(\"imageTransformations\", {\n ALT: \"Open Filestack image transformations\",\n NAME: \"imageTransformations\",\n SVG_KEY: \"imageTransformations\"\n }), St.DefineIcon(\"imageFilestackOnly\", {\n template: \"svgMultiplePath\",\n PATHS: '<path d=\"M11.1 15.8h7.7V5.7H5.1v4.2H3.4V5.7c0-.9.8-1.7 1.7-1.7h13.7c.9 0 1.7.8 1.7 1.7v10.1c0 .9-.8 1.7-1.7 1.7h-7.7v-1.7Zm0-2.5 2.6-3.4h.2l3.3 4.2h-6.1v-.8ZM8.9 6.9c.7 0 1.3.6 1.3 1.3s-.6 1.3-1.3 1.3-1.3-.6-1.3-1.3.6-1.3 1.3-1.3Z\"/><path d=\"M11.1 17.5 8.7 20v-2.5h2.4Zm-4.9-1.6v.9h-.9v-.9h.9Zm4.9.9h-.9v-6H3.5V19h4.6v.9H2.5V9.8h8.6v7Zm-3.4-1.6H5.3v-.9h2.4v.9Zm.6-2.5v.9h-3v-.9h3Z\"/>'\n }), St.DefineIcon(\"videoFilestackOnly\", {\n template: \"svgMultiplePath\",\n PATHS: '<path d=\"m11 11.3 1 2.6h3.6V6.8h-9v3.6H4.8V6c0-.2.1-.5.3-.6s.4-.3.6-.3h10.8c.2 0 .5.1.6.3s.3.4.3.6v3.1l2.1-2c.3-.3.6-.3 1-.2.3 0 .6.5.6.8v5.5c0 .4-.2.7-.6.8-.3.1-.7 0-1-.2l-2.1-2v3.1c0 .2 0 .5-.3.6-.2.2-.4.3-.6.3H12V14l-1-2.7Z\" /><path d=\"M11.1 17.5 8.7 20v-2.5h2.4Zm-4.9-1.6v.9h-.9v-.9h.9Zm4.9.9h-.9v-6H3.5V19h4.6v.9H2.5V9.8h8.6v7Zm-3.4-1.6H5.3v-.9h2.4v.9Zm.6-2.5v.9h-3v-.9h3Z\"/>'\n }), St.RegisterCommand(\"openFilePicker\", {\n type: \"button\",\n icon: \"filestackIcon\",\n title: \"Open Filestack File Picker\",\n callback: function () {\n this.button.getButtons('button[data-cmd=\"openFilePicker\"]').addClass(\"fr-filestack-active\"), this.filestack.showFilestackPopup(\"openFilePicker\");\n },\n plugin: \"filestack\"\n }), St.RegisterCommand(\"openFilePickerImageOnly\", {\n type: \"button\",\n icon: \"imageFilestackOnly\",\n title: \"Open Filestack Image Picker\",\n callback: function () {\n this.button.getButtons('button[data-cmd=\"openFilePickerImageOnly\"]').addClass(\"fr-filestack-active\"), this.filestack.showFilestackPopup(\"openFilePickerImageOnly\", this.image && this.image.get());\n },\n plugin: \"filestack\"\n }), St.RegisterCommand(\"openFilePickerImage\", {\n type: \"button\",\n icon: \"filestackIcon\",\n title: \"Open Filestack Image Picker\",\n callback: function () {\n this.button.getButtons('button[data-cmd=\"openFilePickerImage\"]').addClass(\"fr-filestack-active\"), this.filestack.showFilestackPopup(\"openFilePickerImage\", this.image && this.image.get());\n },\n plugin: \"filestack\"\n }), St.RegisterCommand(\"openFilePickerReplaceImageOnly\", {\n type: \"button\",\n icon: \"filestackIconAdd\",\n title: \"Open Filestack File Picker\",\n callback: function () {\n this.button.getButtons('button[data-cmd=\"openFilePickerReplaceImageOnly\"]').addClass(\"fr-filestack-active\"), this.filestack.showFilestackPopup(\"openFilePickerReplaceImageOnly\", this.image && this.image.get());\n },\n plugin: \"filestack\"\n }), St.RegisterCommand(\"openFilePickerVideoOnly\", {\n type: \"button\",\n icon: \"videoFilestackOnly\",\n title: \"Open Filestack Video Picker\",\n callback: function () {\n this.button.getButtons('button[data-cmd=\"openFilePickerVideoOnly\"]').addClass(\"fr-filestack-active\"), this.filestack.showFilestackPopup(\"openFilePickerVideoOnly\", null, this.video && this.video.get());\n },\n plugin: \"filestack\"\n }), St.RegisterCommand(\"openFilePickerVideo\", {\n type: \"button\",\n icon: \"filestackIcon\",\n title: \"Open Filestack Video Picker\",\n callback: function () {\n this.button.getButtons('button[data-cmd=\"openFilePickerVideo\"]').addClass(\"fr-filestack-active\"), this.filestack.showFilestackPopup(\"openFilePickerVideo\", null, this.video && this.video.get());\n },\n plugin: \"filestack\"\n }), St.RegisterCommand(\"openFilePickerReplaceVideoOnly\", {\n type: \"button\",\n icon: \"filestackIconAdd\",\n title: \"Open Filestack File Picker\",\n callback: function () {\n this.button.getButtons('button[data-cmd=\"openFilePickerReplaceVideoOnly\"]').addClass(\"fr-filestack-active\"), this.filestack.showFilestackPopup(\"openFilePickerReplaceVideoOnly\", null, this.video && this.video.get());\n },\n plugin: \"filestack\"\n }), St.RegisterCommand(\"filestackIcon\", {\n type: \"button\",\n icon: \"imageTransformations\",\n title: \"Image Transformations\",\n plugin: \"filestack\",\n callback: function () {\n var e = !1,\n t = this.image.get(0)[0];\n (t && t.currentSrc && (e = t.currentSrc.includes(St.FILE_STACK_URL_PART) && !t.currentSrc.includes(\"blob:\")), e) ? (this.button.getButtons('button[data-cmd=\"filestackIcon\"]').addClass(\"fr-filestack-active\"), this.events.trigger(\"filestack.imageTransformation.click\")) : this.events.trigger(\"filestack.imageTransformation.error\");\n }\n }), St.RegisterCommand(\"openFilePickerFile\", {\n type: \"button\",\n icon: \"filestackIcon\",\n title: \"Open Filestack Upload File\",\n callback: function () {\n this.button.getButtons('button[data-cmd=\"openFilePickerFile\"]').addClass(\"fr-filestack-active\"), this.filestack.showFilestackPopup(\"openFilePickerFile\");\n },\n plugin: \"filestack\"\n });\n});","/**\n * @license Angular v19.1.7\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, AnimationMetadataType, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* RuntimeErrorCode.INVALID_TIMING_VALUE */, ngDevMode && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* RuntimeErrorCode.NEGATIVE_STEP_VALUE */, ngDevMode && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* RuntimeErrorCode.NEGATIVE_DELAY_VALUE */, ngDevMode && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* RuntimeErrorCode.INVALID_STYLE_PARAMS */, ngDevMode && `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* RuntimeErrorCode.INVALID_PARAM_VALUE */, ngDevMode && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* RuntimeErrorCode.INVALID_NODE_TYPE */, ngDevMode && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* RuntimeErrorCode.INVALID_CSS_UNIT_VALUE */, ngDevMode && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* RuntimeErrorCode.INVALID_TRIGGER */, ngDevMode && \"animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))\");\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* RuntimeErrorCode.INVALID_DEFINITION */, ngDevMode && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* RuntimeErrorCode.INVALID_STATE */, ngDevMode && `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* RuntimeErrorCode.INVALID_STYLE_VALUE */, ngDevMode && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* RuntimeErrorCode.INVALID_PROPERTY */, ngDevMode && `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* RuntimeErrorCode.INVALID_PARALLEL_ANIMATION */, ngDevMode && `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* RuntimeErrorCode.INVALID_KEYFRAMES */, ngDevMode && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* RuntimeErrorCode.INVALID_OFFSET */, ngDevMode && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* RuntimeErrorCode.KEYFRAME_OFFSETS_OUT_OF_ORDER */, ngDevMode && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* RuntimeErrorCode.KEYFRAMES_MISSING_OFFSETS */, ngDevMode && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* RuntimeErrorCode.INVALID_STAGGER */, ngDevMode && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* RuntimeErrorCode.INVALID_QUERY */, ngDevMode && `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* RuntimeErrorCode.INVALID_EXPRESSION */, ngDevMode && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* RuntimeErrorCode.INVALID_TRANSITION_ALIAS */, ngDevMode && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* RuntimeErrorCode.VALIDATION_FAILED */, ngDevMode && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* RuntimeErrorCode.BUILDING_FAILED */, ngDevMode && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* RuntimeErrorCode.TRIGGER_BUILD_FAILED */, ngDevMode && `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.map(err => err.message).join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* RuntimeErrorCode.ANIMATION_FAILED */, ngDevMode && `Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* RuntimeErrorCode.REGISTRATION_FAILED */, ngDevMode && `Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* RuntimeErrorCode.MISSING_OR_DESTROYED_ANIMATION */, ngDevMode && \"The requested animation doesn't exist or has already been destroyed\");\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* RuntimeErrorCode.CREATE_ANIMATION_FAILED */, ngDevMode && `Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* RuntimeErrorCode.MISSING_PLAYER */, ngDevMode && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* RuntimeErrorCode.MISSING_TRIGGER */, ngDevMode && `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* RuntimeErrorCode.MISSING_EVENT */, ngDevMode && `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* RuntimeErrorCode.UNSUPPORTED_TRIGGER_EVENT */, ngDevMode && `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* RuntimeErrorCode.UNREGISTERED_TRIGGER */, ngDevMode && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* RuntimeErrorCode.TRIGGER_TRANSITIONS_FAILED */, ngDevMode && `Unable to process animations due to the following failed trigger transitions\\n ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* RuntimeErrorCode.TRIGGER_PARSING_FAILED */, ngDevMode && `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* RuntimeErrorCode.TRANSITION_FAILED */, ngDevMode && `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n\n/**\n * Set of all animatable CSS properties\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties\n */\nconst ANIMATABLE_PROP_SET = new Set(['-moz-outline-radius', '-moz-outline-radius-bottomleft', '-moz-outline-radius-bottomright', '-moz-outline-radius-topleft', '-moz-outline-radius-topright', '-ms-grid-columns', '-ms-grid-rows', '-webkit-line-clamp', '-webkit-text-fill-color', '-webkit-text-stroke', '-webkit-text-stroke-color', 'accent-color', 'all', 'backdrop-filter', 'background', 'background-color', 'background-position', 'background-size', 'block-size', 'border', 'border-block-end', 'border-block-end-color', 'border-block-end-width', 'border-block-start', 'border-block-start-color', 'border-block-start-width', 'border-bottom', 'border-bottom-color', 'border-bottom-left-radius', 'border-bottom-right-radius', 'border-bottom-width', 'border-color', 'border-end-end-radius', 'border-end-start-radius', 'border-image-outset', 'border-image-slice', 'border-image-width', 'border-inline-end', 'border-inline-end-color', 'border-inline-end-width', 'border-inline-start', 'border-inline-start-color', 'border-inline-start-width', 'border-left', 'border-left-color', 'border-left-width', 'border-radius', 'border-right', 'border-right-color', 'border-right-width', 'border-start-end-radius', 'border-start-start-radius', 'border-top', 'border-top-color', 'border-top-left-radius', 'border-top-right-radius', 'border-top-width', 'border-width', 'bottom', 'box-shadow', 'caret-color', 'clip', 'clip-path', 'color', 'column-count', 'column-gap', 'column-rule', 'column-rule-color', 'column-rule-width', 'column-width', 'columns', 'filter', 'flex', 'flex-basis', 'flex-grow', 'flex-shrink', 'font', 'font-size', 'font-size-adjust', 'font-stretch', 'font-variation-settings', 'font-weight', 'gap', 'grid-column-gap', 'grid-gap', 'grid-row-gap', 'grid-template-columns', 'grid-template-rows', 'height', 'inline-size', 'input-security', 'inset', 'inset-block', 'inset-block-end', 'inset-block-start', 'inset-inline', 'inset-inline-end', 'inset-inline-start', 'left', 'letter-spacing', 'line-clamp', 'line-height', 'margin', 'margin-block-end', 'margin-block-start', 'margin-bottom', 'margin-inline-end', 'margin-inline-start', 'margin-left', 'margin-right', 'margin-top', 'mask', 'mask-border', 'mask-position', 'mask-size', 'max-block-size', 'max-height', 'max-inline-size', 'max-lines', 'max-width', 'min-block-size', 'min-height', 'min-inline-size', 'min-width', 'object-position', 'offset', 'offset-anchor', 'offset-distance', 'offset-path', 'offset-position', 'offset-rotate', 'opacity', 'order', 'outline', 'outline-color', 'outline-offset', 'outline-width', 'padding', 'padding-block-end', 'padding-block-start', 'padding-bottom', 'padding-inline-end', 'padding-inline-start', 'padding-left', 'padding-right', 'padding-top', 'perspective', 'perspective-origin', 'right', 'rotate', 'row-gap', 'scale', 'scroll-margin', 'scroll-margin-block', 'scroll-margin-block-end', 'scroll-margin-block-start', 'scroll-margin-bottom', 'scroll-margin-inline', 'scroll-margin-inline-end', 'scroll-margin-inline-start', 'scroll-margin-left', 'scroll-margin-right', 'scroll-margin-top', 'scroll-padding', 'scroll-padding-block', 'scroll-padding-block-end', 'scroll-padding-block-start', 'scroll-padding-bottom', 'scroll-padding-inline', 'scroll-padding-inline-end', 'scroll-padding-inline-start', 'scroll-padding-left', 'scroll-padding-right', 'scroll-padding-top', 'scroll-snap-coordinate', 'scroll-snap-destination', 'scrollbar-color', 'shape-image-threshold', 'shape-margin', 'shape-outside', 'tab-size', 'text-decoration', 'text-decoration-color', 'text-decoration-thickness', 'text-emphasis', 'text-emphasis-color', 'text-indent', 'text-shadow', 'text-underline-offset', 'top', 'transform', 'transform-origin', 'translate', 'vertical-align', 'visibility', 'width', 'word-spacing', 'z-index', 'zoom']);\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes$1(normalizer, keyframes, preStyles = new Map(), postStyles = new Map()) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf.get('offset');\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = isSameOffset && previousKeyframe || new Map();\n kf.forEach((val, prop) => {\n let normalizedProp = prop;\n let normalizedValue = val;\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles.get(prop);\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles.get(prop);\n break;\n default:\n normalizedValue = normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe.set(normalizedProp, normalizedValue);\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return {\n element,\n triggerName,\n fromState,\n toState,\n phaseName,\n totalTime,\n disabled: !!disabled\n };\n}\nfunction getOrSetDefaultValue(map, key, defaultValue) {\n let value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.slice(separatorPos + 1);\n return [id, action];\n}\nconst documentElement = /* @__PURE__ */(() => typeof document === 'undefined' ? null : document.documentElement)();\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host || null; // consider host to support shadow DOM\n if (parent === documentElement) {\n return null;\n }\n return parent;\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? 'WebkitAppearance' in _CACHED_BODY.style : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.slice(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction validateWebAnimatableStyleProperty(prop) {\n return ANIMATABLE_PROP_SET.has(prop);\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nfunction containsElement(elm1, elm2) {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n}\nfunction invokeQuery(element, selector, multi) {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n}\nfunction hypenatePropsKeys(original) {\n const newMap = new Map();\n original.forEach((val, prop) => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newMap.set(newProp, val);\n });\n return newMap;\n}\n\n/**\n * @publicApi\n *\n * `AnimationDriver` implentation for Noop animations\n */\nclass NoopAnimationDriver {\n /**\n * @returns Whether `prop` is a valid CSS property\n */\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n /**\n *\n * @returns Whether elm1 contains elm2.\n */\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n /**\n * @returns Rhe parent of the given element or `null` if the element is the `document`\n */\n getParentElement(element) {\n return getParentElement(element);\n }\n /**\n * @returns The result of the query selector on the element. The array will contain up to 1 item\n * if `multi` is `false`.\n */\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n /**\n * @returns The `defaultValue` or empty string\n */\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n /**\n * @returns An `NoopAnimationPlayer`\n */\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n static ɵfac = function NoopAnimationDriver_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NoopAnimationDriver)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: NoopAnimationDriver,\n factory: NoopAnimationDriver.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NoopAnimationDriver, [{\n type: Injectable\n }], null, null);\n})();\n/**\n * @publicApi\n */\nclass AnimationDriver {\n /**\n * @deprecated Use the NoopAnimationDriver class.\n */\n static NOOP = new NoopAnimationDriver();\n}\nclass AnimationStyleNormalizer {}\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number') return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2) return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default:\n // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ? timings : parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return {\n duration: 0,\n delay: 0,\n easing: ''\n };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n } else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return {\n duration,\n delay,\n easing\n };\n}\nfunction normalizeKeyframes(keyframes) {\n if (!keyframes.length) {\n return [];\n }\n if (keyframes[0] instanceof Map) {\n return keyframes;\n }\n return keyframes.map(kf => new Map(Object.entries(kf)));\n}\nfunction normalizeStyles(styles) {\n return Array.isArray(styles) ? new Map(...styles) : new Map(styles);\n}\nfunction setStyles(element, styles, formerStyles) {\n styles.forEach((val, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.has(prop)) {\n formerStyles.set(prop, element.style[camelProp]);\n }\n element.style[camelProp] = val;\n });\n}\nfunction eraseStyles(element, styles) {\n styles.forEach((_, prop) => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1) return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = `${value}`;\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (localVal == null) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n if (previousStyles.size && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyles.forEach((val, prop) => {\n if (!startingKeyframe.has(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe.set(prop, val);\n });\n if (missingStyleProps.length) {\n for (let i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(prop => kf.set(prop, computeStyle(element, prop)));\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case AnimationMetadataType.Trigger:\n return visitor.visitTrigger(node, context);\n case AnimationMetadataType.State:\n return visitor.visitState(node, context);\n case AnimationMetadataType.Transition:\n return visitor.visitTransition(node, context);\n case AnimationMetadataType.Sequence:\n return visitor.visitSequence(node, context);\n case AnimationMetadataType.Group:\n return visitor.visitGroup(node, context);\n case AnimationMetadataType.Animate:\n return visitor.visitAnimate(node, context);\n case AnimationMetadataType.Keyframes:\n return visitor.visitKeyframes(node, context);\n case AnimationMetadataType.Style:\n return visitor.visitStyle(node, context);\n case AnimationMetadataType.Reference:\n return visitor.visitReference(node, context);\n case AnimationMetadataType.AnimateChild:\n return visitor.visitAnimateChild(node, context);\n case AnimationMetadataType.AnimateRef:\n return visitor.visitAnimateRef(node, context);\n case AnimationMetadataType.Query:\n return visitor.visitQuery(node, context);\n case AnimationMetadataType.Stagger:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\nconst DIMENSIONAL_PROP_SET = new Set(['width', 'height', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'left', 'top', 'bottom', 'right', 'fontSize', 'outlineWidth', 'outlineOffset', 'paddingTop', 'paddingLeft', 'paddingBottom', 'paddingRight', 'marginTop', 'marginLeft', 'marginBottom', 'marginRight', 'borderRadius', 'borderWidth', 'borderTopWidth', 'borderLeftWidth', 'borderRightWidth', 'borderBottomWidth', 'textIndent', 'perspective']);\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_SET.has(normalizedProperty) && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n } else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\n }\n}\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings.filter(Boolean).map(warning => warning).join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (props.length) {\n warnings.push(`The following provided properties are not recognized: ${props.join(', ')}`);\n }\n}\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n } else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*(<?[=-]>)\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n return;\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`s*${SELF_TOKEN}s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n _driver;\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = visitDslNode(this, normalizeAnimationEntry(metadata), context);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [...context.unsupportedCSSPropertiesFound.keys()]);\n }\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = new Map();\n context.collectedStyles.set(ROOT_SELECTOR, new Map());\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == AnimationMetadataType.State) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n } else if (def.type == AnimationMetadataType.Transition) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n } else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: AnimationMetadataType.Trigger,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = metadata.options && metadata.options.params || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(style => {\n if (style instanceof Map) {\n style.forEach(value => {\n extractStyleParams(value).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n context.errors.push(invalidState(metadata.name, [...missingSubs.values()]));\n }\n }\n return {\n type: AnimationMetadataType.State,\n name: metadata.name,\n style: styleAst,\n options: astParams ? {\n params: astParams\n } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: AnimationMetadataType.Transition,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: AnimationMetadataType.Sequence,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: AnimationMetadataType.Group,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == AnimationMetadataType.Keyframes) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n } else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: AnimationMetadataType.Animate,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n const metadataStyles = Array.isArray(metadata.styles) ? metadata.styles : [metadata.styles];\n for (let styleTuple of metadataStyles) {\n if (typeof styleTuple === 'string') {\n if (styleTuple === AUTO_STYLE) {\n styles.push(styleTuple);\n } else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n } else {\n styles.push(new Map(Object.entries(styleTuple)));\n }\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (styleData instanceof Map) {\n if (styleData.has('easing')) {\n collectedEasing = styleData.get('easing');\n styleData.delete('easing');\n }\n if (!containsDynamicStyles) {\n for (let value of styleData.values()) {\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: AnimationMetadataType.Style,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple === 'string') return;\n tuple.forEach((value, prop) => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._driver.validateStyleProperty(prop)) {\n tuple.delete(prop);\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n }\n // This is guaranteed to have a defined Map at this querySelector location making it\n // safe to add the assertion here. It is set as a default empty map in prior methods.\n const collectedStyles = context.collectedStyles.get(context.currentQuerySelector);\n const collectedEntry = collectedStyles.get(prop);\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime && endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles.set(prop, {\n startTime,\n endTime\n });\n }\n if (context.options) {\n validateStyleParams(value, context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = {\n type: AnimationMetadataType.Keyframes,\n styles: [],\n options: null\n };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n } else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? i == limit ? 1 : generatedOffset * i : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: AnimationMetadataType.Reference,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: AnimationMetadataType.AnimateChild,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: AnimationMetadataType.AnimateRef,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = metadata.options || {};\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector = parentSelector.length ? parentSelector + ' ' + selector : selector;\n getOrSetDefaultValue(context.collectedStyles, context.currentQuerySelector, new Map());\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: AnimationMetadataType.Query,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full' ? {\n duration: 0,\n delay: 0,\n easing: 'full'\n } : resolveTiming(metadata.timings, context.errors, true);\n return {\n type: AnimationMetadataType.Stagger,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR).replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.slice(1)).replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? {\n ...obj\n } : null;\n}\nclass AnimationAstBuilderContext {\n errors;\n queryCount = 0;\n depCount = 0;\n currentTransition = null;\n currentQuery = null;\n currentQuerySelector = null;\n currentAnimateTimings = null;\n currentTime = 0;\n collectedStyles = new Map();\n options = null;\n unsupportedCSSPropertiesFound = new Set();\n constructor(errors) {\n this.errors = errors;\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string') return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (styleTuple instanceof Map && styleTuple.has('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n });\n } else if (styles instanceof Map && styles.has('offset')) {\n const obj = styles;\n offset = parseFloat(obj.get('offset'));\n obj.delete('offset');\n }\n return offset;\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = {\n ...options\n };\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n } else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return {\n duration,\n delay,\n easing\n };\n}\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* AnimationTransitionInstructionType.TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\nclass ElementInstructionMap {\n _map = new Map();\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```ts\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```ts\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```ts\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill map.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = new Map(), finalStyles = new Map(), options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n context.currentTimeline.delayNextStep(delay);\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n if (timelines.length && finalStyles.size) {\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) : [createTimelineInstruction(rootElement, [], [], [], 0, delay, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this._applyAnimationRefDelays([ast.options, ast.animation.options], context, innerContext);\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _applyAnimationRefDelays(animationsRefsOptions, context, innerContext) {\n for (const animationRefOptions of animationsRefsOptions) {\n const animationDelay = animationRefOptions?.delay;\n if (animationDelay) {\n const animationDelayValue = typeof animationDelay === 'number' ? animationDelay : resolveTimingValue(interpolateParams(animationDelay, animationRefOptions?.params ?? {}, context.errors));\n innerContext.delayNextStep(animationDelayValue);\n }\n }\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime = Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == AnimationMetadataType.Style) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n } else {\n return {\n duration: ast.duration,\n delay: ast.delay,\n easing: ast.easing\n };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == AnimationMetadataType.Keyframes) {\n this.visitKeyframes(style, context);\n } else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.hasCurrentStyleProperties()) {\n timeline.forwardFrame();\n }\n const easing = timings && timings.easing || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n } else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = context.currentTimeline.duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = ast.options || {};\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay && (context.previousNode.type === AnimationMetadataType.Style || startTime == 0 && context.currentTimeline.hasCurrentStyleProperties())) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime = tl.currentTime - startingTime + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n _driver;\n element;\n subInstructions;\n _enterClassName;\n _leaveClassName;\n errors;\n timelines;\n parentContext = null;\n currentTimeline;\n currentAnimateTimings = null;\n previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n subContextCount = 0;\n options = {};\n currentQueryIndex = 0;\n currentQueryTotal = 0;\n currentStaggerTime = 0;\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options) return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) {\n // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) : elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n _driver;\n element;\n startTime;\n _elementTimelineStylesLookup;\n duration = 0;\n easing = null;\n _previousKeyframe = new Map();\n _currentKeyframe = new Map();\n _keyframes = new Map();\n _styleSummary = new Map();\n _localTimelineStyles = new Map();\n _globalTimelineStyles;\n _pendingStyles = new Map();\n _backFill = new Map();\n _currentEmptyStepKeyframe = null;\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.hasCurrentStyleProperties();\n default:\n return true;\n }\n }\n hasCurrentStyleProperties() {\n return this._currentKeyframe.size > 0;\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size === 1 && this._pendingStyles.size;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n } else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = new Map();\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles.set(prop, value);\n this._globalTimelineStyles.set(prop, value);\n this._styleSummary.set(prop, {\n time: this.currentTime,\n value\n });\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n for (let [prop, value] of this._globalTimelineStyles) {\n this._backFill.set(prop, value || AUTO_STYLE);\n this._currentKeyframe.set(prop, AUTO_STYLE);\n }\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe.set('easing', easing);\n }\n const params = options && options.params || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n for (let [prop, value] of styles) {\n const val = interpolateParams(value, params, errors);\n this._pendingStyles.set(prop, val);\n if (!this._localTimelineStyles.has(prop)) {\n this._backFill.set(prop, this._globalTimelineStyles.get(prop) ?? AUTO_STYLE);\n }\n this._updateStyle(prop, val);\n }\n }\n applyStylesToKeyframe() {\n if (this._pendingStyles.size == 0) return;\n this._pendingStyles.forEach((val, prop) => {\n this._currentKeyframe.set(prop, val);\n });\n this._pendingStyles.clear();\n this._localTimelineStyles.forEach((val, prop) => {\n if (!this._currentKeyframe.has(prop)) {\n this._currentKeyframe.set(prop, val);\n }\n });\n }\n snapshotCurrentStyles() {\n for (let [prop, val] of this._localTimelineStyles) {\n this._pendingStyles.set(prop, val);\n this._updateStyle(prop, val);\n }\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n timeline._styleSummary.forEach((details1, prop) => {\n const details0 = this._styleSummary.get(prop);\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = new Map([...this._backFill, ...keyframe]);\n finalKeyframe.forEach((value, prop) => {\n if (value === ɵPRE_STYLE) {\n preStyleProps.add(prop);\n } else if (value === AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe.set('offset', time / this.duration);\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = [...preStyleProps.values()];\n const postProps = [...postStyleProps.values()];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = new Map(kf0);\n kf0.set('offset', 0);\n kf1.set('offset', 1);\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n keyframes;\n preStyleProps;\n postStyleProps;\n _stretchStartingKeyframe;\n timings;\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = {\n duration: timings.duration,\n delay: timings.delay,\n easing: timings.easing\n };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let {\n delay,\n duration,\n easing\n } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = new Map(keyframes[0]);\n newFirstKeyframe.set('offset', 0);\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = new Map(keyframes[0]);\n oldFirstKeyframe.set('offset', roundOffset(startingGap));\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n delay=1000, duration=1000, keyframes = 0 .5 1\n turns into\n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = new Map(keyframes[i]);\n const oldOffset = kf.get('offset');\n const timeAtKeyframe = delay + oldOffset * duration;\n kf.set('offset', roundOffset(timeAtKeyframe / totalTime));\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = new Map();\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties ??= allStyles.keys();\n for (let prop of allProperties) {\n styles.set(prop, AUTO_STYLE);\n }\n } else {\n for (let [prop, val] of token) {\n styles.set(prop, val);\n }\n }\n });\n return styles;\n}\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* AnimationTransitionInstructionType.TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n _triggerName;\n ast;\n _stateStyles;\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n let styler = this._stateStyles.get('*');\n if (stateName !== undefined) {\n styler = this._stateStyles.get(stateName?.toString()) || styler;\n }\n return styler ? styler.buildStyles(params, errors) : new Map();\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = {\n params: applyParamDefaults(nextAnimationParams, transitionAnimationParams),\n delay: this.ast.options?.delay\n };\n const timelines = skipAstBuild ? [] : buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetDefaultValue(preStyleMap, elm, new Set());\n tl.preStyleProps.forEach(prop => preProps.add(prop));\n const postProps = getOrSetDefaultValue(postStyleMap, elm, new Set());\n tl.postStyleProps.forEach(prop => postProps.add(prop));\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n checkNonAnimatableInTimelines(timelines, this._triggerName, driver);\n }\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, [...queriedElements.values()], preStyleMap, postStyleMap, totalTime);\n }\n}\n/**\n * Checks inside a set of timelines if they try to animate a css property which is not considered\n * animatable, in that case it prints a warning on the console.\n * Besides that the function doesn't have any other effect.\n *\n * Note: this check is done here after the timelines are built instead of doing on a lower level so\n * that we can make sure that the warning appears only once per instruction (we can aggregate here\n * all the issues instead of finding them separately).\n *\n * @param timelines The built timelines for the current instruction.\n * @param triggerName The name of the trigger for the current instruction.\n * @param driver Animation driver used to perform the check.\n *\n */\nfunction checkNonAnimatableInTimelines(timelines, triggerName, driver) {\n if (!driver.validateAnimatableStyleProperty) {\n return;\n }\n const allowedNonAnimatableProps = new Set([\n // 'easing' is a utility/synthetic prop we use to represent\n // easing functions, it represents a property of the animation\n // which is not animatable but different values can be used\n // in different steps\n 'easing']);\n const invalidNonAnimatableProps = new Set();\n timelines.forEach(({\n keyframes\n }) => {\n const nonAnimatablePropsInitialValues = new Map();\n keyframes.forEach(keyframe => {\n const entriesToCheck = Array.from(keyframe.entries()).filter(([prop]) => !allowedNonAnimatableProps.has(prop));\n for (const [prop, value] of entriesToCheck) {\n if (!driver.validateAnimatableStyleProperty(prop)) {\n if (nonAnimatablePropsInitialValues.has(prop) && !invalidNonAnimatableProps.has(prop)) {\n const propInitialValue = nonAnimatablePropsInitialValues.get(prop);\n if (propInitialValue !== value) {\n invalidNonAnimatableProps.add(prop);\n }\n } else {\n nonAnimatablePropsInitialValues.set(prop, value);\n }\n }\n }\n });\n });\n if (invalidNonAnimatableProps.size > 0) {\n console.warn(`Warning: The animation trigger \"${triggerName}\" is attempting to animate the following` + ' not animatable properties: ' + Array.from(invalidNonAnimatableProps).join(', ') + '\\n' + '(to check the list of all animatable properties visit https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties)');\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nfunction applyParamDefaults(userParams, defaults) {\n const result = {\n ...defaults\n };\n Object.entries(userParams).forEach(([key, value]) => {\n if (value != null) {\n result[key] = value;\n }\n });\n return result;\n}\nclass AnimationStateStyles {\n styles;\n defaultParams;\n normalizer;\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = new Map();\n const combinedParams = applyParamDefaults(params, this.defaultParams);\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n value.forEach((val, prop) => {\n if (val) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles.set(prop, val);\n });\n }\n });\n return finalStyles;\n }\n}\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n name;\n ast;\n _normalizer;\n transitionFactories = [];\n fallbackTransition;\n states = new Map();\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n ast.states.forEach(ast => {\n const defaultParams = ast.options && ast.options.params || {};\n this.states.set(ast.name, new AnimationStateStyles(ast.style, defaultParams, _normalizer));\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = {\n type: AnimationMetadataType.Sequence,\n steps: [],\n options: null\n };\n const transition = {\n type: AnimationMetadataType.Transition,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(stateMap, key1, key2) {\n if (stateMap.has(key1)) {\n if (!stateMap.has(key2)) {\n stateMap.set(key2, stateMap.get(key1));\n }\n } else if (stateMap.has(key2)) {\n stateMap.set(key1, stateMap.get(key2));\n }\n}\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n bodyNode;\n _driver;\n _normalizer;\n _animations = new Map();\n _playersById = new Map();\n players = [];\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n } else {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (warnings.length) {\n warnRegister(warnings);\n }\n }\n this._animations.set(id, ast);\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes$1(this._normalizer, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations.get(id);\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, new Map(), new Map(), options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetDefaultValue(autoStylesMap, inst.element, new Map());\n inst.postStyleProps.forEach(prop => styles.set(prop, null));\n });\n } else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n styles.forEach((_, prop) => {\n styles.set(prop, this._driver.computeStyle(element, prop, AUTO_STYLE));\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, new Map(), styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById.set(id, player);\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n this._playersById.delete(id);\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById.get(id);\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => {};\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = args[0] || {};\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n namespaceId;\n value;\n options;\n get params() {\n return this.options.params;\n }\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n // we drop the value property from options.\n const {\n value,\n ...options\n } = input;\n this.options = options;\n } else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n id;\n hostElement;\n _engine;\n players = [];\n _triggers = new Map();\n _queue = [];\n _elementListeners = new Map();\n _hostClassName;\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.has(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetDefaultValue(this._elementListeners, element, []);\n const data = {\n name,\n phase,\n callback\n };\n listeners.push(data);\n const triggersWithStates = getOrSetDefaultValue(this._engine.statesByElement, element, new Map());\n if (!triggersWithStates.has(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates.set(name, DEFAULT_STATE_VALUE);\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers.has(name)) {\n triggersWithStates.delete(name);\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers.has(name)) {\n // throw\n return false;\n } else {\n this._triggers.set(name, ast);\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers.get(name);\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = new Map());\n }\n let fromState = triggersWithStates.get(triggerName);\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates.set(triggerName, toState);\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n } else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetDefaultValue(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback) return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition\n });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n this._triggers.delete(name);\n this._engine.statesByElement.forEach(stateMap => stateMap.delete(name));\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG]) return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n } else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n triggerStates.forEach((state, triggerName) => {\n previousTriggersValues.set(triggerName, state.value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers.has(triggerName)) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName)) return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers.get(triggerName);\n const transition = trigger.fallbackTransition;\n const fromState = elementStates.get(triggerName) || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true)) return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n } else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n } else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed) return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach(listener => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n } else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n}\nclass TransitionAnimationEngine {\n bodyNode;\n driver;\n _normalizer;\n players = [];\n newHostElements = new Map();\n playersByElement = new Map();\n playersByQueriedElement = new Map();\n statesByElement = new Map();\n disabledNodes = new Set();\n totalAnimations = 0;\n totalQueuedPlayers = 0;\n _namespaceLookup = {};\n _namespaceList = [];\n _flushFns = [];\n _whenQuietFns = [];\n namespacesByHostElement = new Map();\n collectedEnterElements = [];\n collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n onRemovalComplete = (element, context) => {};\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n } else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n // Find the closest ancestor with an existing namespace so we can then insert `ns` after it,\n // establishing a top-down ordering of namespaces in `this._namespaceList`.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n } else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId) return;\n this.afterFlush(() => {});\n this.afterFlushAnimationsDone(() => {\n const ns = this._fetchNamespace(namespaceId);\n this.namespacesByHostElement.delete(ns.hostElement);\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n ns.destroy(context);\n delete this._namespaceLookup[namespaceId];\n });\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n for (let stateValue of elementStates.values()) {\n if (stateValue.namespaceId) {\n const ns = this._fetchNamespace(stateValue.namespaceId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element)) return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n } else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n } else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n } else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => {};\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0) return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n } else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n } else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (element.classList?.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length && (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n } finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n } else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n } else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n } else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues && details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates.has(entry.triggerName)) {\n const state = triggersWithStates.get(entry.triggerName);\n state.value = previousValue;\n triggersWithStates.set(entry.triggerName, state);\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach(tl => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = {\n instruction,\n player,\n element\n };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetDefaultValue(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n if (stringMap.size) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n stringMap.forEach((_, prop) => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetDefaultValue(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, new Map([...(post?.entries() ?? []), ...(pre?.entries() ?? [])]));\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const {\n element,\n player,\n instruction\n } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n } else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n } else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach(player => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n } else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation) continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n } else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n } else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued) return;\n if (!isRemovalAnimation && player.triggerName != triggerName) return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId) return false;\n if (triggerName && triggerName != player.triggerName) return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetDefaultValue(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried) return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY).map(p => p.getRealPlayer())).filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes$1(this._normalizer, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetDefaultValue(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetDefaultValue(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n namespaceId;\n triggerName;\n element;\n _player = new NoopAnimationPlayer();\n _containsRealPlayer = false;\n _queuedCallbacks = new Map();\n destroyed = false;\n parentPlayer = null;\n markedForDestroy = false;\n disabled = false;\n queued = true;\n totalTime = 0;\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer) return;\n this._player = player;\n this._queuedCallbacks.forEach((callbacks, phase) => {\n callbacks.forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks.clear();\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetDefaultValue(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = new Map();\n props.forEach(prop => {\n const value = driver.computeStyle(element, prop, defaultStyle);\n styles.set(prop, value);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0) return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node) return NULL_NODE;\n let root = localRootMap.get(node);\n if (root) return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) {\n // ngIf inside @trigger\n root = parent;\n } else if (nodeSet.has(parent)) {\n // ngIf inside ngIf\n root = NULL_NODE;\n } else {\n // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n element.classList?.add(className);\n}\nfunction removeClass(element, className) {\n element.classList?.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n } else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length) return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop]) return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry) return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n } else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\nclass AnimationEngine {\n _driver;\n _normalizer;\n _transitionEngine;\n _timelineEngine;\n _triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n onRemovalComplete = (element, context) => {};\n constructor(doc, _driver, _normalizer) {\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._transitionEngine = new TransitionAnimationEngine(doc.body, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(doc.body, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context) {\n this._transitionEngine.removeNode(namespaceId, element, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n } else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return [...this._transitionEngine.players, ...this._timelineEngine.players];\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n afterFlushAnimationsDone(cb) {\n this._transitionEngine.afterFlushAnimationsDone(cb);\n }\n}\n\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n } else if (styles instanceof Map) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return startStyles || endStyles ? new SpecialCasedStyles(element, startStyles, endStyles) : null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n _element;\n _startStyles;\n _endStyles;\n static initialStylesByElement = /* @__PURE__ */new WeakMap();\n _state = 0 /* SpecialCasedStylesState.Pending */;\n _initialStyles;\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = new Map());\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* SpecialCasedStylesState.Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* SpecialCasedStylesState.Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* SpecialCasedStylesState.Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* SpecialCasedStylesState.Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* SpecialCasedStylesState.Destroyed */;\n }\n }\n}\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n styles.forEach((val, prop) => {\n if (isNonAnimatableStyle(prop)) {\n result = result || new Map();\n result.set(prop, val);\n }\n });\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\nclass WebAnimationsPlayer {\n element;\n keyframes;\n options;\n _specialStyles;\n _onDoneFns = [];\n _onStartFns = [];\n _onDestroyFns = [];\n _duration;\n _delay;\n _initialized = false;\n _finished = false;\n _started = false;\n _destroyed = false;\n _finalKeyframe;\n // the following original fns are persistent copies of the _onStartFns and _onDoneFns\n // and are used to reset the fns to their original values upon reset()\n // (since the _onStartFns and _onDoneFns get deleted after they are called)\n _originalOnDoneFns = [];\n _originalOnStartFns = [];\n // using non-null assertion because it's re(set) by init();\n domPlayer;\n time = 0;\n parentPlayer = null;\n currentSnapshot = new Map();\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized) return;\n this._initialized = true;\n const keyframes = this.keyframes;\n // @ts-expect-error overwriting a readonly property\n this.domPlayer = this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : new Map();\n const onFinish = () => this._onFinish();\n this.domPlayer.addEventListener('finish', onFinish);\n this.onDestroy(() => {\n // We must remove the `finish` event listener once an animation has completed all its\n // iterations. This action is necessary to prevent a memory leak since the listener captures\n // `this`, creating a closure that prevents `this` from being garbage collected.\n this.domPlayer.removeEventListener('finish', onFinish);\n });\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n } else {\n this.domPlayer.pause();\n }\n }\n _convertKeyframesToObject(keyframes) {\n const kfs = [];\n keyframes.forEach(frame => {\n kfs.push(Object.fromEntries(frame));\n });\n return kfs;\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n return element.animate(this._convertKeyframesToObject(keyframes), options);\n }\n onStart(fn) {\n this._originalOnStartFns.push(fn);\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._originalOnDoneFns.push(fn);\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n this._onStartFns = this._originalOnStartFns;\n this._onDoneFns = this._originalOnDoneFns;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n // tsc is complaining with TS2362 without the conversion to number\n return +(this.domPlayer.currentTime ?? 0) / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = new Map();\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n finalKeyframe.forEach((val, prop) => {\n if (prop !== 'offset') {\n styles.set(prop, this._finished ? val : computeStyle(this.element, prop));\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName === 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n return validateStyleProperty(prop);\n }\n return true;\n }\n validateAnimatableStyleProperty(prop) {\n // Perform actual validation in dev mode only, in prod mode this check is a noop.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const cssProp = camelCaseToDashCase(prop);\n return validateWebAnimatableStyleProperty(cssProp);\n }\n return true;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return computeStyle(element, prop);\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = {\n duration,\n delay,\n fill\n };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = new Map();\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n player.currentSnapshot.forEach((val, prop) => previousStyles.set(prop, val));\n });\n }\n let _keyframes = normalizeKeyframes(keyframes).map(styles => new Map(styles));\n _keyframes = balancePreviousStylesIntoKeyframes(element, _keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, _keyframes);\n return new WebAnimationsPlayer(element, _keyframes, playerOptions, specialStyles);\n }\n}\nfunction createEngine(type, doc) {\n // TODO: find a way to make this tree shakable.\n if (type === 'noop') {\n return new AnimationEngine(doc, new NoopAnimationDriver(), new NoopAnimationStyleNormalizer());\n }\n return new AnimationEngine(doc, new WebAnimationsDriver(), new WebAnimationsStyleNormalizer());\n}\nclass Animation {\n _driver;\n _animationAst;\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (warnings.length) {\n warnValidation(warnings);\n }\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) : startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) : destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\nclass BaseAnimationRenderer {\n namespaceId;\n delegate;\n engine;\n _onDestroy;\n // We need to explicitly type this property because of an api-extractor bug\n // See https://github.com/microsoft/rushstack/issues/4390\n ɵtype = 0 /* AnimationRendererType.Regular */;\n constructor(namespaceId, delegate, engine, _onDestroy) {\n this.namespaceId = namespaceId;\n this.delegate = delegate;\n this.engine = engine;\n this._onDestroy = _onDestroy;\n }\n get data() {\n return this.delegate.data;\n }\n destroyNode(node) {\n this.delegate.destroyNode?.(node);\n }\n destroy() {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.engine.afterFlushAnimationsDone(() => {\n // Call the renderer destroy method after the animations has finished as otherwise\n // styles will be removed too early which will cause an unstyled animation.\n queueMicrotask(() => {\n this.delegate.destroy();\n });\n });\n this._onDestroy?.();\n }\n createElement(name, namespace) {\n return this.delegate.createElement(name, namespace);\n }\n createComment(value) {\n return this.delegate.createComment(value);\n }\n createText(value) {\n return this.delegate.createText(value);\n }\n appendChild(parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n insertBefore(parent, newChild, refChild, isMove = true) {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\n }\n removeChild(parent, oldChild, isHostElement) {\n // Prior to the changes in #57203, this method wasn't being called at all by `core` if the child\n // doesn't have a parent. There appears to be some animation-specific downstream logic that\n // depends on the null check happening before the animation engine. This check keeps the old\n // behavior while allowing `core` to not have to check for the parent element anymore.\n if (this.parentNode(oldChild)) {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n }\n }\n selectRootElement(selectorOrNode, preserveContent) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n parentNode(node) {\n return this.delegate.parentNode(node);\n }\n nextSibling(node) {\n return this.delegate.nextSibling(node);\n }\n setAttribute(el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n removeAttribute(el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n }\n addClass(el, name) {\n this.delegate.addClass(el, name);\n }\n removeClass(el, name) {\n this.delegate.removeClass(el, name);\n }\n setStyle(el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n }\n removeStyle(el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n setValue(node, value) {\n this.delegate.setValue(node, value);\n }\n listen(target, eventName, callback, options) {\n return this.delegate.listen(target, eventName, callback, options);\n }\n disableAnimations(element, value) {\n this.engine.disableAnimations(element, value);\n }\n}\nclass AnimationRenderer extends BaseAnimationRenderer {\n factory;\n constructor(factory, namespaceId, delegate, engine, onDestroy) {\n super(namespaceId, delegate, engine, onDestroy);\n this.factory = factory;\n this.namespaceId = namespaceId;\n }\n setProperty(el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value);\n } else {\n this.engine.process(this.namespaceId, el, name.slice(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n listen(target, eventName, callback, options) {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.slice(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, event => {\n const countId = event['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback, options);\n }\n}\nfunction resolveElementFromTarget(target) {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\nfunction parseTriggerCallbackName(triggerName) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.slice(dotIndex + 1);\n return [trigger, phase];\n}\nclass AnimationRendererFactory {\n delegate;\n engine;\n _zone;\n _currentId = 0;\n _microtaskId = 1;\n _animationCallbacksBuffer = [];\n _rendererCache = new Map();\n _cdRecurDepth = 0;\n constructor(delegate, engine, _zone) {\n this.delegate = delegate;\n this.engine = engine;\n this._zone = _zone;\n engine.onRemovalComplete = (element, delegate) => {\n delegate?.removeChild(null, element);\n };\n }\n createRenderer(hostElement, type) {\n const EMPTY_NAMESPACE_ID = '';\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type?.data?.['animation']) {\n const cache = this._rendererCache;\n let renderer = cache.get(delegate);\n if (!renderer) {\n // Ensure that the renderer is removed from the cache on destroy\n // since it may contain references to detached DOM nodes.\n const onRendererDestroy = () => cache.delete(delegate);\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine, onRendererDestroy);\n // only cache this result when the base renderer is used\n cache.set(delegate, renderer);\n }\n return renderer;\n }\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n this.engine.register(namespaceId, hostElement);\n const registerTrigger = trigger => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n } else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'];\n animationTriggers.forEach(registerTrigger);\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n _scheduleCountTask() {\n queueMicrotask(() => {\n this._microtaskId++;\n });\n }\n /** @internal */\n scheduleListenerCallback(count, fn, data) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n const animationCallbacksBuffer = this._animationCallbacksBuffer;\n if (animationCallbacksBuffer.length == 0) {\n queueMicrotask(() => {\n this._zone.run(() => {\n animationCallbacksBuffer.forEach(tuple => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n animationCallbacksBuffer.push([fn, data]);\n }\n end() {\n this._cdRecurDepth--;\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n whenRenderingDone() {\n return this.engine.whenRenderingDone();\n }\n /**\n * Used during HMR to clear any cached data about a component.\n * @param componentId ID of the component that is being replaced.\n */\n componentReplaced(componentId) {\n // Flush the engine since the renderer destruction waits for animations to be done.\n this.engine.flush();\n this.delegate.componentReplaced?.(componentId);\n }\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, NoopAnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, BaseAnimationRenderer as ɵBaseAnimationRenderer, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, camelCaseToDashCase as ɵcamelCaseToDashCase, containsElement as ɵcontainsElement, createEngine as ɵcreateEngine, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, normalizeKeyframes as ɵnormalizeKeyframes, validateStyleProperty as ɵvalidateStyleProperty, validateWebAnimatableStyleProperty as ɵvalidateWebAnimatableStyleProperty };\n","/**\n * @license Angular v19.1.7\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, RendererFactory2, NgZone, ANIMATION_MODULE_TYPE, NgModule, ɵperformanceMarkFeature } from '@angular/core';\nexport { ANIMATION_MODULE_TYPE } from '@angular/core';\nimport { ɵDomRendererFactory2, BrowserModule } from '@angular/platform-browser';\nimport * as i1 from '@angular/animations/browser';\nimport { ɵAnimationEngine, ɵWebAnimationsStyleNormalizer, ɵAnimationRendererFactory, ɵAnimationStyleNormalizer, AnimationDriver, ɵWebAnimationsDriver, NoopAnimationDriver } from '@angular/animations/browser';\nimport { DOCUMENT } from '@angular/common';\nclass InjectableAnimationEngine extends ɵAnimationEngine {\n // The `ApplicationRef` is injected here explicitly to force the dependency ordering.\n // Since the `ApplicationRef` should be created earlier before the `AnimationEngine`, they\n // both have `ngOnDestroy` hooks and `flush()` must be called after all views are destroyed.\n constructor(doc, driver, normalizer) {\n super(doc, driver, normalizer);\n }\n ngOnDestroy() {\n this.flush();\n }\n static ɵfac = function InjectableAnimationEngine_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || InjectableAnimationEngine)(i0.ɵɵinject(DOCUMENT), i0.ɵɵinject(i1.AnimationDriver), i0.ɵɵinject(i1.ɵAnimationStyleNormalizer));\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InjectableAnimationEngine,\n factory: InjectableAnimationEngine.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(InjectableAnimationEngine, [{\n type: Injectable\n }], () => [{\n type: Document,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: i1.AnimationDriver\n }, {\n type: i1.ɵAnimationStyleNormalizer\n }], null);\n})();\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new ɵAnimationRendererFactory(renderer, engine, zone);\n}\nconst SHARED_ANIMATION_PROVIDERS = [{\n provide: ɵAnimationStyleNormalizer,\n useFactory: instantiateDefaultStyleNormalizer\n}, {\n provide: ɵAnimationEngine,\n useClass: InjectableAnimationEngine\n}, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n}];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nconst BROWSER_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useFactory: () => new ɵWebAnimationsDriver()\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'BrowserAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nconst BROWSER_NOOP_ANIMATIONS_PROVIDERS = [{\n provide: AnimationDriver,\n useClass: NoopAnimationDriver\n}, {\n provide: ANIMATION_MODULE_TYPE,\n useValue: 'NoopAnimations'\n}, ...SHARED_ANIMATION_PROVIDERS];\n\n/**\n * Exports `BrowserModule` with additional dependency-injection providers\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\nclass BrowserAnimationsModule {\n /**\n * Configures the module based on the specified object.\n *\n * @param config Object used to configure the behavior of the `BrowserAnimationsModule`.\n * @see {@link BrowserAnimationsModuleConfig}\n *\n * @usageNotes\n * When registering the `BrowserAnimationsModule`, you can use the `withConfig`\n * function as follows:\n * ```ts\n * @NgModule({\n * imports: [BrowserAnimationsModule.withConfig(config)]\n * })\n * class MyNgModule {}\n * ```\n */\n static withConfig(config) {\n return {\n ngModule: BrowserAnimationsModule,\n providers: config.disableAnimations ? BROWSER_NOOP_ANIMATIONS_PROVIDERS : BROWSER_ANIMATIONS_PROVIDERS\n };\n }\n static ɵfac = function BrowserAnimationsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || BrowserAnimationsModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: BrowserAnimationsModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(BrowserAnimationsModule, [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS\n }]\n }], null, null);\n})();\n/**\n * Returns the set of dependency-injection providers\n * to enable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to enable animations in an application\n * bootstrapped using the `bootstrapApplication` function. In this scenario there\n * is no need to import the `BrowserAnimationsModule` NgModule at all, just add\n * providers returned by this function to the `providers` list as show below.\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideAnimations() {\n ɵperformanceMarkFeature('NgEagerAnimations');\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideAnimations` call results in app code.\n return [...BROWSER_ANIMATIONS_PROVIDERS];\n}\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\nclass NoopAnimationsModule {\n static ɵfac = function NoopAnimationsModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || NoopAnimationsModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: NoopAnimationsModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n imports: [BrowserModule]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(NoopAnimationsModule, [{\n type: NgModule,\n args: [{\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS\n }]\n }], null, null);\n})();\n/**\n * Returns the set of dependency-injection providers\n * to disable animations in an application. See [animations guide](guide/animations)\n * to learn more about animations in Angular.\n *\n * @usageNotes\n *\n * The function is useful when you want to bootstrap an application using\n * the `bootstrapApplication` function, but you need to disable animations\n * (for example, when running tests).\n *\n * ```ts\n * bootstrapApplication(RootComponent, {\n * providers: [\n * provideNoopAnimations()\n * ]\n * });\n * ```\n *\n * @publicApi\n */\nfunction provideNoopAnimations() {\n // Return a copy to prevent changes to the original array in case any in-place\n // alterations are performed to the `provideNoopAnimations` call results in app code.\n return [...BROWSER_NOOP_ANIMATIONS_PROVIDERS];\n}\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BrowserAnimationsModule, NoopAnimationsModule, provideAnimations, provideNoopAnimations, InjectableAnimationEngine as ɵInjectableAnimationEngine };\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-maintenance',\r\n templateUrl: './maintenance.component.html',\r\n styleUrls: ['./maintenance.component.scss'],\r\n standalone: false\r\n})\r\n\r\n/**\r\n * Maintenance page component\r\n */\r\nexport class MaintenanceComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"home-btn d-none d-sm-block\">\r\n <a routerLink=\"/\" class=\"text-dark\"><i class=\"fas fa-home h2\"></i></a>\r\n</div>\r\n\r\n<section class=\"my-5 pt-sm-5\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-12 text-center\">\r\n <div class=\"home-wrapper\">\r\n <div class=\"mb-5\">\r\n <a routerLink=\"/\" class=\"d-block auth-logo\">\r\n <img src=\"assets/images/logo-dark.png\" alt=\"\" height=\"20\" class=\"auth-logo-dark mx-auto\">\r\n <img src=\"assets/images/logo-light.png\" alt=\"\" height=\"20\" class=\"auth-logo-light mx-auto\">\r\n </a>\r\n </div>\r\n\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"maintenance-img\">\r\n <img src=\"assets/images/maintenance.svg\" alt=\"\" class=\"img-fluid mx-auto d-block\">\r\n </div>\r\n </div>\r\n </div>\r\n <h3 class=\"mt-5\">Site is Under Maintenance</h3>\r\n <p>Please check back in sometime.</p>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <div class=\"card mt-4 maintenance-box\">\r\n <div class=\"card-body\">\r\n <i class=\"bx bx-broadcast mb-4 h1 text-primary\"></i>\r\n <h5 class=\"font-size-15 text-uppercase\">Why is the Site Down?</h5>\r\n <p class=\"text-muted mb-0\">There are many variations of passages of\r\n Lorem Ipsum available, but the majority have suffered alteration.</p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card mt-4 maintenance-box\">\r\n <div class=\"card-body\">\r\n <i class=\"bx bx-time-five mb-4 h1 text-primary\"></i>\r\n <h5 class=\"font-size-15 text-uppercase\">\r\n What is the Downtime?</h5>\r\n <p class=\"text-muted mb-0\">Contrary to popular belief, Lorem Ipsum is not\r\n simply random text. It has roots in a piece of classical.</p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <div class=\"card mt-4 maintenance-box\">\r\n <div class=\"card-body\">\r\n <i class=\"bx bx-envelope mb-4 h1 text-primary\"></i>\r\n <h5 class=\"font-size-15 text-uppercase\">\r\n Do you need Support?</h5>\r\n <p class=\"text-muted mb-0\">If you are going to use a passage of Lorem\r\n Ipsum, you need to be sure there isn't anything embar.. <a href=\"mailto:no-reply@domain.com\"\r\n class=\"text-decoration-underline\">no-reply@domain.com</a></p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end row -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</section>","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AccountInfoService } from 'degarmo-lib';\r\n\r\n@Component({\r\n selector: 'app-page404',\r\n templateUrl: './page404.component.html',\r\n styleUrls: ['./page404.component.scss'],\r\n standalone: false\r\n})\r\n\r\n/**\r\n * Pages-404 component\r\n */\r\nexport class Page404Component implements OnInit {\r\n\r\n constructor(\r\n private router: Router,\r\n private accountInfoService: AccountInfoService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.router.navigate([this.accountInfoService.data.account.isAuthenticated ? this.accountInfoService.data.account.landingRoute : 'account/login']);\r\n }\r\n\r\n // getLandingRoute = (): string => {\r\n // return this.accountInfoService.data.account.isAuthenticated ? this.accountInfoService.data.account.landingRoute : 'account/login';\r\n // }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-page500',\r\n templateUrl: './page500.component.html',\r\n styleUrls: ['./page500.component.scss'],\r\n standalone: false\r\n})\r\n\r\n/**\r\n * Pages-500 component\r\n */\r\nexport class Page500Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"account-pages my-5 pt-5\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12\">\r\n <div class=\"text-center mb-5\">\r\n <h1 class=\"display-2 fw-medium\">5<i class=\"bx bx-buoy bx-spin text-primary display-3\"></i>0</h1>\r\n <h4 class=\"text-uppercase\">Internal Server Error</h4>\r\n <div class=\"mt-5 text-center\">\r\n <a class=\"btn btn-primary\" routerLink=\"/\">Back to Dashboard</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-md-8 col-xl-6\">\r\n <div>\r\n <img src=\"assets/images/error-img.png\" alt=\"\" class=\"img-fluid\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-lockscreen',\r\n templateUrl: './lockscreen.component.html',\r\n styleUrls: ['./lockscreen.component.scss'],\r\n standalone: false\r\n})\r\n\r\n/**\r\n * Lock-screen component\r\n */\r\nexport class LockscreenComponent implements OnInit {\r\n\r\n // set the currenr year\r\n year: number = new Date().getFullYear();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"account-pages my-5 pt-sm-5\">\r\n <div class=\"container\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-md-8 col-lg-6 col-xl-5\">\r\n <div class=\"card overflow-hidden\">\r\n <div class=\"bg-primary bg-soft\">\r\n <div class=\"row\">\r\n <div class=\"col-7\">\r\n <div class=\"text-primary p-4\">\r\n <h5 class=\"text-primary\">Lock screen</h5>\r\n <p>Enter your password to unlock the screen!</p>\r\n </div>\r\n </div>\r\n <div class=\"col-5 align-self-end\">\r\n <img src=\"assets/images/profile-img.png\" alt=\"\" class=\"img-fluid\">\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body pt-0\">\r\n <div>\r\n <a routerLink=\"/dashboard\">\r\n <div class=\"avatar-md profile-user-wid mb-4\">\r\n <span class=\"avatar-title rounded-circle bg-light\">\r\n <img src=\"assets/images/logo.svg\" alt=\"\" class=\"rounded-circle\" height=\"34\">\r\n </span>\r\n </div>\r\n </a>\r\n </div>\r\n <div class=\"p-2\">\r\n <form>\r\n\r\n <div class=\"user-thumb text-center mb-4\">\r\n <img src=\"assets/images/users/avatar-1.jpg\" class=\"rounded-circle img-thumbnail avatar-md\"\r\n alt=\"thumbnail\">\r\n <h5 class=\"font-size-15 mt-3\">Maria Laird</h5>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label for=\"userpassword\">Password</label>\r\n <input type=\"password\" class=\"form-control\" id=\"userpassword\" placeholder=\"Enter password\">\r\n </div>\r\n\r\n <div class=\"text-end\">\r\n <button class=\"btn btn-primary w-md\" type=\"submit\">Unlock</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"mt-5 text-center\">\r\n <p>Not you ? return <a routerLink=\"/account/login-1\" class=\"fw-medium text-primary\"> Sign In </a> </p>\r\n <p>© {{year}} Skote. Crafted with <i class=\"mdi mdi-heart text-danger\"></i> by Themesbrand</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { OwlOptions } from 'ngx-owl-carousel-o';\r\n\r\n@Component({\r\n selector: 'app-lockscreen2',\r\n templateUrl: './lockscreen2.component.html',\r\n styleUrls: ['./lockscreen2.component.scss'],\r\n standalone: false\r\n})\r\nexport class Lockscreen2Component implements OnInit {\r\n\r\n constructor() { }\r\n // set the currenr year\r\n year: number = new Date().getFullYear();\r\n\r\n ngOnInit(): void {\r\n document.body.classList.add('auth-body-bg')\r\n }\r\n\r\n carouselOption: OwlOptions = {\r\n items: 1,\r\n loop: false,\r\n margin: 0,\r\n nav: false,\r\n dots: true,\r\n responsive: {\r\n 680: {\r\n items: 1\r\n },\r\n }\r\n }\r\n}\r\n","<div>\r\n <div class=\"container-fluid p-0\">\r\n <div class=\"row g-0\">\r\n\r\n <div class=\"col-xl-9\">\r\n <div class=\"auth-full-bg pt-lg-5 p-4\">\r\n <div class=\"w-100\">\r\n <div class=\"bg-overlay\"></div>\r\n <div class=\"d-flex h-100 flex-column\">\r\n\r\n <div class=\"p-4 mt-auto\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-lg-7\">\r\n <div class=\"text-center\">\r\n\r\n <h4 class=\"mb-3\"><i\r\n class=\"bx bxs-quote-alt-left text-primary h1 align-middle me-3\"></i><span\r\n class=\"text-primary\">5k</span>+ Satisfied clients</h4>\r\n\r\n <div dir=\"ltr\">\r\n <owl-carousel-o class=\"owl-theme auth-review-carousel\"\r\n [options]=\"carouselOption\">\r\n <ng-template carouselSlide>\r\n <div class=\"item\">\r\n <div class=\"py-3\">\r\n <p class=\"font-size-16 mb-4\">\" Fantastic theme with a\r\n ton of\r\n options. If you just want the HTML to integrate with\r\n your project, then this is the package. You can find\r\n the\r\n files in the 'dist' folder...no need to install git\r\n and\r\n all the other stuff the documentation talks about. \"\r\n </p>\r\n\r\n <div>\r\n <h4 class=\"font-size-16 text-primary\">Abs1981</h4>\r\n <p class=\"font-size-14 mb-0\">- Skote User</p>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n <ng-template carouselSlide>\r\n <div class=\"item\">\r\n <div class=\"py-3\">\r\n <p class=\"font-size-16 mb-4\">\" If Every Vendor on Envato\r\n are\r\n as supportive as Themesbrand, Development with be a\r\n nice\r\n experience. You guys are Wonderful. Keep us the good\r\n work. \"</p>\r\n\r\n <div>\r\n <h4 class=\"font-size-16 text-primary\">nezerious</h4>\r\n <p class=\"font-size-14 mb-0\">- Skote User</p>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n </owl-carousel-o>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end col -->\r\n\r\n <div class=\"col-xl-3\">\r\n <div class=\"auth-full-page-content p-md-5 p-4\">\r\n <div class=\"w-100\">\r\n\r\n <div class=\"d-flex flex-column h-100\">\r\n <div class=\"mb-4 mb-md-5\">\r\n <a routerLink=\"/\" class=\"d-block auth-logo\">\r\n <img src=\"assets/images/logo-dark.png\" alt=\"\" height=\"18\" class=\"auth-logo-dark\">\r\n <img src=\"assets/images/logo-light.png\" alt=\"\" height=\"18\" class=\"auth-logo-light\">\r\n </a>\r\n </div>\r\n <div class=\"my-auto\">\r\n\r\n <div>\r\n <h5 class=\"text-primary\">Lock screen</h5>\r\n <p class=\"text-muted\">Enter your password to unlock the screen!</p>\r\n </div>\r\n\r\n <div class=\"mt-4\">\r\n <form class=\"form-horizontal\">\r\n\r\n <div class=\"user-thumb text-center mb-4\">\r\n <img src=\"assets/images/users/avatar-1.jpg\"\r\n class=\"rounded-circle img-thumbnail avatar-md\" alt=\"thumbnail\">\r\n <h5 class=\"font-size-15 mt-3\">Maria Laird</h5>\r\n </div>\r\n\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"userpassword\">Password</label>\r\n <input type=\"password\" class=\"form-control\" id=\"userpassword\"\r\n placeholder=\"Enter password\">\r\n </div>\r\n\r\n <div class=\"text-end\">\r\n <button class=\"btn btn-primary w-md waves-effect waves-light\"\r\n type=\"submit\">Unlock</button>\r\n </div>\r\n </form>\r\n <div class=\"mt-5 text-center\">\r\n <p>Not you ? return <a routerLink=\"/account/login-2\"\r\n class=\"fw-medium text-primary\"> Sign In </a> </p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-4 mt-md-5 text-center\">\r\n <p class=\"mb-0\">©{{year}}Skote. Crafted with <i class=\"mdi mdi-heart text-danger\"></i>\r\n by Themesbrand</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end col -->\r\n </div>\r\n <!-- end row -->\r\n </div>\r\n <!-- end container-fluid -->\r\n</div>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-confirmmail',\r\n templateUrl: './confirmmail.component.html',\r\n styleUrls: ['./confirmmail.component.scss'],\r\n standalone: false\r\n})\r\nexport class ConfirmmailComponent implements OnInit {\r\n // set the currenr year\r\n year: number = new Date().getFullYear();\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n document.body.classList.remove('auth-body-bg')\r\n }\r\n\r\n}\r\n","<div class=\"account-pages my-5 pt-sm-5\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12\">\r\n <div class=\"text-center mb-5 text-muted\">\r\n <a routerLink=\"/\" class=\"d-block auth-logo\">\r\n <img src=\"assets/images/logo-dark.png\" alt=\"\" height=\"20\" class=\"auth-logo-dark mx-auto\">\r\n <img src=\"assets/images/logo-light.png\" alt=\"\" height=\"20\" class=\"auth-logo-light mx-auto\">\r\n </a>\r\n <p class=\"mt-3\">Responsive Bootstrap 5 Admin Dashboard</p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end row -->\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-md-8 col-lg-6 col-xl-5\">\r\n <div class=\"card\">\r\n \r\n <div class=\"card-body\"> \r\n \r\n <div class=\"p-2\">\r\n <div class=\"text-center\">\r\n\r\n <div class=\"avatar-md mx-auto\">\r\n <div class=\"avatar-title rounded-circle bg-light\">\r\n <i class=\"bx bx-mail-send h1 mb-0 text-primary\"></i>\r\n </div>\r\n </div>\r\n <div class=\"p-2 mt-4\">\r\n <h4>Success !</h4>\r\n <p class=\"text-muted\">At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et</p>\r\n <div class=\"mt-4\">\r\n <a routerLink=\"/\" class=\"btn btn-success\">Back to Home</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n <div class=\"mt-5 text-center\">\r\n \r\n <p>© {{year}} Skote. Crafted with <i class=\"mdi mdi-heart text-danger\"></i> by Themesbrand</p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { OwlOptions } from 'ngx-owl-carousel-o';\r\n\r\n@Component({\r\n selector: 'app-confirmmail2',\r\n templateUrl: './confirmmail2.component.html',\r\n styleUrls: ['./confirmmail2.component.scss'],\r\n standalone: false\r\n})\r\nexport class Confirmmail2Component implements OnInit {\r\n\r\n constructor() { }\r\n // set the currenr year\r\n year: number = new Date().getFullYear();\r\n ngOnInit(): void {\r\n }\r\n\r\n carouselOption: OwlOptions = {\r\n items: 1,\r\n loop: false,\r\n margin: 0,\r\n nav: false,\r\n dots: true,\r\n responsive: {\r\n 680: {\r\n items: 1\r\n },\r\n }\r\n }\r\n}\r\n","<div>\r\n <div class=\"container-fluid p-0\">\r\n <div class=\"row g-0\">\r\n\r\n <div class=\"col-xl-9\">\r\n <div class=\"auth-full-bg pt-lg-5 p-4\">\r\n <div class=\"w-100\">\r\n <div class=\"bg-overlay\"></div>\r\n <div class=\"d-flex h-100 flex-column\">\r\n\r\n <div class=\"p-4 mt-auto\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-lg-7\">\r\n <div class=\"text-center\">\r\n\r\n <h4 class=\"mb-3\"><i\r\n class=\"bx bxs-quote-alt-left text-primary h1 align-middle me-3\"></i><span\r\n class=\"text-primary\">5k</span>+ Satisfied clients</h4>\r\n\r\n <div dir=\"ltr\">\r\n <owl-carousel-o class=\"owl-theme auth-review-carousel\"\r\n [options]=\"carouselOption\">\r\n <ng-template carouselSlide>\r\n <div class=\"item\">\r\n <div class=\"py-3\">\r\n <p class=\"font-size-16 mb-4\">\" Fantastic theme with a\r\n ton of\r\n options. If you just want the HTML to integrate with\r\n your project, then this is the package. You can find\r\n the\r\n files in the 'dist' folder...no need to install git\r\n and\r\n all the other stuff the documentation talks about. \"\r\n </p>\r\n\r\n <div>\r\n <h4 class=\"font-size-16 text-primary\">Abs1981</h4>\r\n <p class=\"font-size-14 mb-0\">- Skote User</p>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n <ng-template carouselSlide>\r\n <div class=\"item\">\r\n <div class=\"py-3\">\r\n <p class=\"font-size-16 mb-4\">\" If Every Vendor on Envato\r\n are\r\n as supportive as Themesbrand, Development with be a\r\n nice\r\n experience. You guys are Wonderful. Keep us the good\r\n work. \"</p>\r\n\r\n <div>\r\n <h4 class=\"font-size-16 text-primary\">nezerious</h4>\r\n <p class=\"font-size-14 mb-0\">- Skote User</p>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n </owl-carousel-o>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end col -->\r\n\r\n <div class=\"col-xl-3\">\r\n <div class=\"auth-full-page-content p-md-5 p-4\">\r\n <div class=\"w-100\">\r\n\r\n <div class=\"d-flex flex-column h-100\">\r\n <div class=\"mb-4 mb-md-5\">\r\n <a routerLink=\"/\" class=\"d-block auth-logo\">\r\n <img src=\"assets/images/logo-dark.png\" alt=\"\" height=\"18\" class=\"auth-logo-dark\">\r\n <img src=\"assets/images/logo-light.png\" alt=\"\" height=\"18\" class=\"auth-logo-light\">\r\n </a>\r\n </div>\r\n <div class=\"my-auto\">\r\n\r\n <div class=\"text-center\">\r\n\r\n <div class=\"avatar-md mx-auto\">\r\n <div class=\"avatar-title rounded-circle bg-light\">\r\n <i class=\"bx bx-mail-send h1 mb-0 text-primary\"></i>\r\n </div>\r\n </div>\r\n <div class=\"p-2 mt-4\">\r\n <h4>Success !</h4>\r\n <p class=\"text-muted\">At vero eos et accusamus et iusto odio dignissimos ducimus\r\n qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores\r\n et</p>\r\n <div class=\"mt-4\">\r\n <a routerLink=\"/\" class=\"btn btn-success\">Back to Home</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-4 mt-md-5 text-center\">\r\n <p class=\"mb-0\">© {{year}} Skote. Crafted with <i class=\"mdi mdi-heart text-danger\"></i>\r\n by Themesbrand</p>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end col -->\r\n </div>\r\n <!-- end row -->\r\n </div>\r\n <!-- end container-fluid -->\r\n</div>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-verification',\r\n templateUrl: './verification.component.html',\r\n styleUrls: ['./verification.component.scss'],\r\n standalone: false\r\n})\r\nexport class VerificationComponent implements OnInit {\r\n\r\n constructor() { }\r\n // set the currenr year\r\n year: number = new Date().getFullYear();\r\n ngOnInit(): void {\r\n document.body.classList.remove('auth-body-bg')\r\n\r\n }\r\n\r\n}\r\n","<div class=\"account-pages my-5 pt-sm-5\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12\">\r\n <div class=\"text-center mb-5 text-muted\">\r\n <a routerLink=\"/\" class=\"d-block auth-logo\">\r\n <img src=\"assets/images/logo-dark.png\" alt=\"\" height=\"20\" class=\"auth-logo-dark mx-auto\">\r\n <img src=\"assets/images/logo-light.png\" alt=\"\" height=\"20\" class=\"auth-logo-light mx-auto\">\r\n </a>\r\n <p class=\"mt-3\">Responsive Bootstrap 4 Admin Dashboard</p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end row -->\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-md-8 col-lg-6 col-xl-5\">\r\n <div class=\"card\">\r\n <div class=\"card-body\"> \r\n <div class=\"p-2\">\r\n <div class=\"text-center\">\r\n <div class=\"avatar-md mx-auto\">\r\n <div class=\"avatar-title rounded-circle bg-light\">\r\n <i class=\"bx bxs-envelope h1 mb-0 text-primary\"></i>\r\n </div>\r\n </div>\r\n <div class=\"p-2 mt-4\">\r\n <h4>Verify your email</h4>\r\n <p>We have sent you verification email <span class=\"fw-semibold\">example@abc.com</span>, Please check it</p>\r\n <div class=\"mt-4\">\r\n <a routerLink=\"/\" class=\"btn btn-success w-md\">Verify email</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n <div class=\"mt-5 text-center\">\r\n <p>Did't receive an email ? <a href=\"javascript: void(0);\" class=\"fw-medium text-primary\"> Resend </a> </p>\r\n <p>© {{year}} Skote. Crafted with <i class=\"mdi mdi-heart text-danger\"></i> by Themesbrand</p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { OwlOptions } from 'ngx-owl-carousel-o';\r\n\r\n@Component({\r\n selector: 'app-verification2',\r\n templateUrl: './verification2.component.html',\r\n styleUrls: ['./verification2.component.scss'],\r\n standalone: false\r\n})\r\nexport class Verification2Component implements OnInit {\r\n\r\n constructor() { }\r\n // set the currenr year\r\n year: number = new Date().getFullYear();\r\n ngOnInit(): void {\r\n }\r\n\r\n carouselOption: OwlOptions = {\r\n items: 1,\r\n loop: false,\r\n margin: 0,\r\n nav: false,\r\n dots: true,\r\n responsive: {\r\n 680: {\r\n items: 1\r\n },\r\n }\r\n }\r\n}\r\n","<div>\r\n <div class=\"container-fluid p-0\">\r\n <div class=\"row g-0\">\r\n\r\n <div class=\"col-xl-9\">\r\n <div class=\"auth-full-bg pt-lg-5 p-4\">\r\n <div class=\"w-100\">\r\n <div class=\"bg-overlay\"></div>\r\n <div class=\"d-flex h-100 flex-column\">\r\n\r\n <div class=\"p-4 mt-auto\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-lg-7\">\r\n <div class=\"text-center\">\r\n\r\n <h4 class=\"mb-3\"><i\r\n class=\"bx bxs-quote-alt-left text-primary h1 align-middle me-3\"></i><span\r\n class=\"text-primary\">5k</span>+ Satisfied clients</h4>\r\n\r\n <div dir=\"ltr\">\r\n <owl-carousel-o class=\"owl-theme auth-review-carousel\"\r\n [options]=\"carouselOption\">\r\n <ng-template carouselSlide>\r\n <div class=\"item\">\r\n <div class=\"py-3\">\r\n <p class=\"font-size-16 mb-4\">\" Fantastic theme with a\r\n ton of\r\n options. If you just want the HTML to integrate with\r\n your project, then this is the package. You can find\r\n the\r\n files in the 'dist' folder...no need to install git\r\n and\r\n all the other stuff the documentation talks about. \"\r\n </p>\r\n\r\n <div>\r\n <h4 class=\"font-size-16 text-primary\">Abs1981</h4>\r\n <p class=\"font-size-14 mb-0\">- Skote User</p>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n <ng-template carouselSlide>\r\n <div class=\"item\">\r\n <div class=\"py-3\">\r\n <p class=\"font-size-16 mb-4\">\" If Every Vendor on Envato\r\n are\r\n as supportive as Themesbrand, Development with be a\r\n nice\r\n experience. You guys are Wonderful. Keep us the good\r\n work. \"</p>\r\n\r\n <div>\r\n <h4 class=\"font-size-16 text-primary\">nezerious</h4>\r\n <p class=\"font-size-14 mb-0\">- Skote User</p>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n </owl-carousel-o>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end col -->\r\n\r\n <div class=\"col-xl-3\">\r\n <div class=\"auth-full-page-content p-md-5 p-4\">\r\n <div class=\"w-100\">\r\n\r\n <div class=\"d-flex flex-column h-100\">\r\n <div class=\"mb-4 mb-md-5\">\r\n <a routerLink=\"/\" class=\"d-block auth-logo\">\r\n <img src=\"assets/images/logo-dark.png\" alt=\"\" height=\"18\" class=\"auth-logo-dark\">\r\n <img src=\"assets/images/logo-light.png\" alt=\"\" height=\"18\" class=\"auth-logo-light\">\r\n </a>\r\n </div>\r\n <div class=\"my-auto\">\r\n\r\n <div class=\"text-center\">\r\n\r\n <div class=\"avatar-md mx-auto\">\r\n <div class=\"avatar-title rounded-circle bg-light\">\r\n <i class=\"bx bxs-envelope h1 mb-0 text-primary\"></i>\r\n </div>\r\n </div>\r\n <div class=\"p-2 mt-4\">\r\n <h4>Verify your email</h4>\r\n <p>We have sent you verification email <span\r\n class=\"fw-semibold\">example@abc.com</span>, Please check it</p>\r\n <div class=\"mt-4\">\r\n <a routerLink=\"/\" class=\"btn btn-success w-md\">Verify email</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-4 mt-md-5 text-center\">\r\n <p class=\"mb-0\">© {{year}} Skote. Crafted with <i class=\"mdi mdi-heart text-danger\"></i>\r\n by Themesbrand</p>\r\n </div>\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end col -->\r\n </div>\r\n <!-- end row -->\r\n </div>\r\n <!-- end container-fluid -->\r\n</div>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-steptwoverification',\r\n templateUrl: './steptwoverification.component.html',\r\n styleUrls: ['./steptwoverification.component.scss'],\r\n standalone: false\r\n})\r\nexport class SteptwoverificationComponent implements OnInit {\r\n\r\n constructor() { }\r\n config = {\r\n allowNumbersOnly: true,\r\n length: 4,\r\n isPasswordInput: false,\r\n disableAutoFocus: false,\r\n placeholder: '',\r\n inputStyles: {\r\n 'width': '80px',\r\n 'height': '50px'\r\n }\r\n };\r\n ngOnInit(): void {\r\n document.body.classList.remove('auth-body-bg')\r\n }\r\n // set the currenr year\r\n year: number = new Date().getFullYear();\r\n}\r\n","<div class=\"account-pages my-5 pt-sm-5\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12\">\r\n <div class=\"text-center mb-5 text-muted\">\r\n <a routerLink=\"/\" class=\"d-block auth-logo\">\r\n <img src=\"assets/images/logo-dark.png\" alt=\"\" height=\"20\" class=\"auth-logo-dark mx-auto\">\r\n <img src=\"assets/images/logo-light.png\" alt=\"\" height=\"20\" class=\"auth-logo-light mx-auto\">\r\n </a>\r\n <p class=\"mt-3\">Responsive Bootstrap 4 Admin Dashboard</p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end row -->\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-md-8 col-lg-6 col-xl-5\">\r\n <div class=\"card\">\r\n\r\n <div class=\"card-body\">\r\n\r\n <div class=\"p-2\">\r\n <div class=\"text-center\">\r\n\r\n <div class=\"avatar-md mx-auto\">\r\n <div class=\"avatar-title rounded-circle bg-light\">\r\n <i class=\"bx bxs-envelope h1 mb-0 text-primary\"></i>\r\n </div>\r\n </div>\r\n <div class=\"p-2 mt-4\">\r\n\r\n <h4>Verify your email</h4>\r\n <p class=\"mb-5\">Please enter the 4 digit code sent to <span\r\n class=\"fw-semibold\">example@abc.com</span></p>\r\n\r\n <form>\r\n <ng-otp-input [config]=\"config\"></ng-otp-input>\r\n \r\n </form>\r\n\r\n <div class=\"mt-4\">\r\n <a routerLink=\"/\" class=\"btn btn-success w-md\">Confirm</a>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n <div class=\"mt-5 text-center\">\r\n <p>Did't receive a code ? <a href=\"javascript: void(0);\" class=\"fw-medium text-primary\"> Resend </a> </p>\r\n <p>© {{year}} Skote. Crafted with <i\r\n class=\"mdi mdi-heart text-danger\"></i> by Themesbrand</p>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit } from '@angular/core';\r\nimport { OwlOptions } from 'ngx-owl-carousel-o';\r\n\r\n@Component({\r\n selector: 'app-steptwoverification2',\r\n templateUrl: './steptwoverification2.component.html',\r\n styleUrls: ['./steptwoverification2.component.scss'],\r\n standalone: false\r\n})\r\nexport class Steptwoverification2Component implements OnInit {\r\n\r\n constructor() { }\r\n // set the currenr year\r\n year: number = new Date().getFullYear();\r\n ngOnInit(): void {\r\n }\r\n config = {\r\n allowNumbersOnly: true,\r\n length: 4,\r\n isPasswordInput: false,\r\n disableAutoFocus: false,\r\n placeholder: '',\r\n inputStyles: {\r\n 'width': '80px',\r\n 'height': '50px'\r\n }\r\n };\r\n carouselOption: OwlOptions = {\r\n items: 1,\r\n loop: false,\r\n margin: 0,\r\n nav: false,\r\n dots: true,\r\n responsive: {\r\n 680: {\r\n items: 1\r\n },\r\n }\r\n }\r\n}\r\n","<div class=\"container-fluid p-0\">\r\n <div class=\"row g-0\">\r\n\r\n <div class=\"col-xl-9\">\r\n <div class=\"auth-full-bg pt-lg-5 p-4\">\r\n <div class=\"w-100\">\r\n <div class=\"bg-overlay\"></div>\r\n <div class=\"d-flex h-100 flex-column\">\r\n\r\n <div class=\"p-4 mt-auto\">\r\n <div class=\"row justify-content-center\">\r\n <div class=\"col-lg-7\">\r\n <div class=\"text-center\">\r\n\r\n <h4 class=\"mb-3\"><i\r\n class=\"bx bxs-quote-alt-left text-primary h1 align-middle me-3\"></i><span\r\n class=\"text-primary\">5k</span>+ Satisfied clients</h4>\r\n\r\n <div dir=\"ltr\">\r\n <owl-carousel-o class=\"owl-theme auth-review-carousel\"\r\n [options]=\"carouselOption\">\r\n <ng-template carouselSlide>\r\n <div class=\"item\">\r\n <div class=\"py-3\">\r\n <p class=\"font-size-16 mb-4\">\" Fantastic theme with a\r\n ton of\r\n options. If you just want the HTML to integrate with\r\n your project, then this is the package. You can find\r\n the\r\n files in the 'dist' folder...no need to install git\r\n and\r\n all the other stuff the documentation talks about. \"\r\n </p>\r\n\r\n <div>\r\n <h4 class=\"font-size-16 text-primary\">Abs1981</h4>\r\n <p class=\"font-size-14 mb-0\">- Skote User</p>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n <ng-template carouselSlide>\r\n <div class=\"item\">\r\n <div class=\"py-3\">\r\n <p class=\"font-size-16 mb-4\">\" If Every Vendor on Envato\r\n are\r\n as supportive as Themesbrand, Development with be a\r\n nice\r\n experience. You guys are Wonderful. Keep us the good\r\n work. \"</p>\r\n\r\n <div>\r\n <h4 class=\"font-size-16 text-primary\">nezerious</h4>\r\n <p class=\"font-size-14 mb-0\">- Skote User</p>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-template>\r\n </owl-carousel-o>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end col -->\r\n\r\n <div class=\"col-xl-3\">\r\n <div class=\"auth-full-page-content p-md-5 p-4\">\r\n <div class=\"w-100\">\r\n\r\n <div class=\"d-flex flex-column h-100\">\r\n <div class=\"mb-4 mb-md-5\">\r\n <a routerLink=\"/\" class=\"d-block auth-logo\">\r\n <img src=\"assets/images/logo-dark.png\" alt=\"\" height=\"18\" class=\"auth-logo-dark\">\r\n <img src=\"assets/images/logo-light.png\" alt=\"\" height=\"18\" class=\"auth-logo-light\">\r\n </a>\r\n </div>\r\n <div class=\"my-auto\">\r\n <div class=\"text-center\">\r\n\r\n <div class=\"avatar-md mx-auto\">\r\n <div class=\"avatar-title rounded-circle bg-light\">\r\n <i class=\"bx bxs-envelope h1 mb-0 text-primary\"></i>\r\n </div>\r\n </div>\r\n <div class=\"p-2 mt-4\">\r\n\r\n <h4>Verify your email</h4>\r\n <p class=\"mb-5\">Please enter the 4 digit code sent to <span\r\n class=\"fw-semibold\">example@abc.com</span></p>\r\n\r\n <form>\r\n <ng-otp-input [config]=\"config\"></ng-otp-input>\r\n </form>\r\n <div class=\"mt-4\">\r\n <a routerLink=\"/\" class=\"btn btn-success w-md\">Confirm</a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mt-4 mt-md-5 text-center\">\r\n <p class=\"mb-0\">© {{year}} Skote. Crafted with <i class=\"mdi mdi-heart text-danger\"></i>\r\n by Themesbrand</p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- end col -->\r\n </div>\r\n <!-- end row -->\r\n</div>\r\n<!-- end container-fluid -->","import { Component, OnInit } from '@angular/core';\r\nimport { interval } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-comingsoon',\r\n templateUrl: './comingsoon.component.html',\r\n styleUrls: ['./comingsoon.component.scss'],\r\n standalone: false\r\n})\r\n\r\n/**\r\n * Coming-soon component\r\n */\r\nexport class ComingsoonComponent implements OnInit {\r\n\r\n constructor() { }\r\n private _diff: number;\r\n _days: number;\r\n _hours: number;\r\n _minutes: number;\r\n _seconds: number;\r\n private _trialEndsAt;\r\n\r\n ngOnInit(): void {\r\n this._trialEndsAt = \"2021-12-31\";\r\n\r\n interval(1000).pipe(\r\n map((x) => {\r\n this._diff = Date.parse(this._trialEndsAt) - Date.parse(new Date().toString());\r\n })).subscribe((x) => {\r\n this._days = this.getDays(this._diff);\r\n this._hours = this.getHours(this._diff);\r\n this._minutes = this.getMinutes(this._diff);\r\n this._seconds = this.getSeconds(this._diff);\r\n });\r\n }\r\n \r\n getDays(t) {\r\n return Math.floor(t / (1000 * 60 * 60 * 24));\r\n }\r\n\r\n getHours(t) {\r\n return Math.floor((t / (1000 * 60 * 60)) % 24);\r\n }\r\n\r\n getMinutes(t) {\r\n return Math.floor((t / 1000 / 60) % 60);\r\n }\r\n\r\n getSeconds(t) {\r\n return Math.floor((t / 1000) % 60);\r\n }\r\n}\r\n","<div class=\"home-btn d-none d-sm-block\">\r\n <a routerLink=\"/\" class=\"text-white\"><i class=\"fas fa-home h2\"></i></a>\r\n</div>\r\n\r\n<div class=\"my-5 pt-sm-5\">\r\n <div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12\">\r\n <div class=\"text-center\">\r\n <a routerLink=\"/\" class=\"d-block auth-logo\">\r\n <img src=\"assets/images/logo-dark.png\" alt=\"\" height=\"20\" class=\"auth-logo-dark mx-auto\">\r\n <img src=\"assets/images/logo-light.png\" alt=\"\" height=\"20\" class=\"auth-logo-light mx-auto\">\r\n </a>\r\n <div class=\"row justify-content-center mt-5\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"maintenance-img\">\r\n <img src=\"assets/images/coming-soon.svg\" alt=\"\" class=\"img-fluid mx-auto d-block\">\r\n </div>\r\n </div>\r\n </div>\r\n <h4 class=\"mt-5\">Let's get started with Skote</h4>\r\n <p class=\"text-muted\">It will be as simple as Occidental in fact it will be Occidental.</p>\r\n\r\n <div class=\"row justify-content-center mt-5\">\r\n <div class=\"col-md-8\">\r\n <div inputDate=\"December 31, 2021\" class=\"counter-number ico-countdown\">\r\n <div class=\"coming-box\">{{_days}}<span>Days</span>\r\n </div>\r\n <div class=\"coming-box\">{{_hours}}<span>Hours</span>\r\n </div>\r\n <div class=\"coming-box\">{{_minutes}}<span>Minutes</span>\r\n </div>\r\n <div class=\"coming-box\">{{_seconds}}<span>Seconds</span>\r\n </div>\r\n </div>\r\n </div> <!-- end col-->\r\n </div> <!-- end row-->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { MaintenanceComponent } from './maintenance/maintenance.component';\r\nimport { Page404Component } from './page404/page404.component';\r\nimport { Page500Component } from './page500/page500.component';\r\nimport { LockscreenComponent } from './lockscreen/lockscreen.component';\r\nimport { LoginComponent } from '../account/auth/login/login.component';\r\nimport { Lockscreen2Component } from './lockscreen2/lockscreen2.component';\r\nimport { ConfirmmailComponent } from './confirmmail/confirmmail.component';\r\nimport { Confirmmail2Component } from './confirmmail2/confirmmail2.component';\r\nimport { VerificationComponent } from './verification/verification.component';\r\nimport { Verification2Component } from './verification2/verification2.component';\r\nimport { SteptwoverificationComponent } from './steptwoverification/steptwoverification.component';\r\nimport { Steptwoverification2Component } from './steptwoverification2/steptwoverification2.component';\r\nimport { ComingsoonComponent } from './comingsoon/comingsoon.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'maintenance',\r\n component: MaintenanceComponent\r\n },\r\n {\r\n path: 'coming-soon',\r\n component: ComingsoonComponent\r\n },\r\n {\r\n path: '404',\r\n component: Page404Component\r\n },\r\n {\r\n path: '500',\r\n component: Page500Component\r\n },\r\n {\r\n path: 'lock-screen-1',\r\n component: LockscreenComponent\r\n },\r\n {\r\n path: 'lock-screen-2',\r\n component: Lockscreen2Component\r\n },\r\n {\r\n path: 'confirm-mail',\r\n component: ConfirmmailComponent\r\n },\r\n {\r\n path: 'confirm-mail-2',\r\n component: Confirmmail2Component\r\n },\r\n {\r\n path: 'email-verification',\r\n component: VerificationComponent\r\n },\r\n {\r\n path: 'email-verification-2',\r\n component: Verification2Component\r\n },\r\n {\r\n path: 'two-step-verification',\r\n component: SteptwoverificationComponent\r\n },\r\n {\r\n path: 'two-step-verification-2',\r\n component: Steptwoverification2Component\r\n },\r\n];\r\n\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\n\r\nexport class ExtrapagesRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { NgOtpInputModule } from 'ng-otp-input';\r\n\r\nimport { ExtrapagesRoutingModule } from './extrapages-routing.module';\r\n\r\nimport { MaintenanceComponent } from './maintenance/maintenance.component';\r\nimport { Page404Component } from './page404/page404.component';\r\nimport { Page500Component } from './page500/page500.component';\r\nimport { LockscreenComponent } from './lockscreen/lockscreen.component';\r\nimport { Lockscreen2Component } from './lockscreen2/lockscreen2.component';\r\nimport { ConfirmmailComponent } from './confirmmail/confirmmail.component';\r\nimport { Confirmmail2Component } from './confirmmail2/confirmmail2.component';\r\nimport { VerificationComponent } from './verification/verification.component';\r\nimport { Verification2Component } from './verification2/verification2.component';\r\nimport { SteptwoverificationComponent } from './steptwoverification/steptwoverification.component';\r\nimport { Steptwoverification2Component } from './steptwoverification2/steptwoverification2.component';\r\nimport { ComingsoonComponent } from './comingsoon/comingsoon.component';\r\n\r\n@NgModule({\r\n // tslint:disable-next-line: max-line-length\r\n declarations: [\r\n MaintenanceComponent, \r\n Page404Component, \r\n Page500Component, \r\n LockscreenComponent, \r\n Lockscreen2Component, \r\n ConfirmmailComponent, \r\n Confirmmail2Component, \r\n VerificationComponent, \r\n Verification2Component, \r\n SteptwoverificationComponent, \r\n Steptwoverification2Component, \r\n ComingsoonComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CarouselModule,\r\n ExtrapagesRoutingModule,\r\n NgOtpInputModule\r\n ]\r\n})\r\nexport class ExtrapagesModule { }\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-minimum-layout',\r\n templateUrl: './minimum-layout.component.html',\r\n styleUrls: ['./minimum-layout.component.scss'],\r\n standalone: false\r\n})\r\nexport class MinimumLayoutComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div id=\"layout-wrapper\">\r\n <div class=\"main-content minimum\">\r\n <div class=\"page-content minimum\">\r\n <!-- content -->\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n <!-- footer -->\r\n <app-footer footerClassName=\"footer minimum\"></app-footer>\r\n</div>\r\n<app-rightsidebar></app-rightsidebar>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { SimplebarAngularModule } from 'simplebar-angular';\r\nimport { NgbDropdownModule, NgbModalModule, NgbTooltipModule, NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport { LayoutComponent } from './layout.component';\r\nimport { SidebarComponent } from './sidebar/sidebar.component';\r\nimport { TopbarComponent } from './topbar/topbar.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { RightsidebarComponent } from './rightsidebar/rightsidebar.component';\r\nimport { HorizontalComponent } from './horizontal/horizontal.component';\r\nimport { VerticalComponent } from './vertical/vertical.component';\r\nimport { HorizontaltopbarComponent } from './horizontaltopbar/horizontaltopbar.component';\r\nimport { LanguageService } from '../core/services/language.service';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MinimumLayoutComponent } from './minimum-layout/minimum-layout.component';\r\nimport { SharedModule } from 'degarmo-lib';\r\n\r\n@NgModule({\r\n // tslint:disable-next-line: max-line-length\r\n declarations: [\r\n LayoutComponent,\r\n SidebarComponent,\r\n TopbarComponent,\r\n FooterComponent,\r\n RightsidebarComponent,\r\n HorizontalComponent,\r\n VerticalComponent,\r\n HorizontaltopbarComponent,\r\n MinimumLayoutComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n TranslateModule,\r\n RouterModule,\r\n NgbDropdownModule,\r\n NgbTypeaheadModule,\r\n NgbModalModule,\r\n NgbTooltipModule,\r\n SimplebarAngularModule,\r\n FormsModule,\r\n SharedModule,\r\n ],\r\n providers: [LanguageService],\r\n})\r\nexport class LayoutsModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthenticationGuard } from './modules/core/authentication/guards/authentication.guard';\r\nimport { LayoutComponent } from './modules/layouts/layout.component';\r\nimport { Page404Component } from './modules/extrapages/page404/page404.component';\r\nimport { MinimumLayoutComponent } from './modules/layouts/minimum-layout/minimum-layout.component';\r\nimport { UserSecurityGuard } from './modules/core/authentication/guards/user-security.guard';\r\n\r\nlet routes: Routes;\r\n\r\nroutes = [\r\n { path: 'account', loadChildren: () => import('./modules/account/account.module').then((m) => m.AccountModule) },\r\n {\r\n path: '',\r\n component: LayoutComponent,\r\n loadChildren: () => import('./modules/features/features.modules').then((m) => m.FeaturesModule),\r\n canActivate: [UserSecurityGuard],\r\n },\r\n {\r\n path: 'digital-interview-guide',\r\n component: MinimumLayoutComponent,\r\n loadChildren: () =>\r\n import('./modules/features/interviews/interview-guide/interview-mode/interview-mode.module').then((m) => m.InterviewModeModule),\r\n canActivate: [AuthenticationGuard, UserSecurityGuard],\r\n },\r\n // path is used for non login users and does not show the side bar\r\n {\r\n path: 'interview-guide-with-params',\r\n component: MinimumLayoutComponent,\r\n loadChildren: () =>\r\n import('./modules/features/interviews/interview-guide/interview-mode/interview-mode-with-url-params.module').then(\r\n (m) => m.InterviewModeWithUrlParamsModule\r\n ),\r\n },\r\n {\r\n path: 'interview-data-entry-lookup',\r\n component: MinimumLayoutComponent,\r\n loadChildren: () =>\r\n import('./modules/features/interviews/interview-guide/interview-guide-data-entry/interview-guide-data-entry.module').then(\r\n (m) => m.InterviewGuideDataEntryModule\r\n ),\r\n },\r\n {\r\n path: 'interview-guide-download',\r\n component: MinimumLayoutComponent,\r\n loadChildren: () =>\r\n import('./modules/features/interviews/interview-guide/interview-guide-document-download/interview-guide-document-download.module').then(\r\n (m) => m.InterviewModeWithUrlParamsModule\r\n ),\r\n },\r\n {\r\n path: 'pg-interview-guide-demo',\r\n component: MinimumLayoutComponent,\r\n loadChildren: () =>\r\n import(\r\n './modules/features/interviews/interview-guide/custom-components/proctor-and-gamble/proctor-and-gamble-interview-guide-demo/proctor-and-gamble-interview-guide-demo.module'\r\n ).then((m) => m.ProctorAndGambleInterviewGuideDemoModule),\r\n data: {\r\n authenticate: false,\r\n },\r\n },\r\n { path: '**', component: Page404Component },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { scrollPositionRestoration: 'top', onSameUrlNavigation: 'reload' })],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component, HostListener, OnInit, ViewChild } from '@angular/core';\r\nimport { NavigationEnd, NavigationStart, Router } from '@angular/router';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { filter, interval, lastValueFrom, Observable, Subject, Subscription } from 'rxjs';\r\nimport { IdleLogoutModalComponent } from './modules/account/auth/idle-logout-modal/idle-logout-modal.component';\r\nimport {\r\n DeviceSize,\r\n AccountInfoService,\r\n AlertsService,\r\n CompanyService,\r\n DeviceService,\r\n SessionInfoService,\r\n UrlService,\r\n UserAccountService,\r\n UtilitiesService,\r\n AuthDataModel,\r\n AccountInfo,\r\n SessionKey,\r\n} from 'degarmo-lib';\r\nimport Swal from 'sweetalert2';\r\nimport packageJson from '../../package.json';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n standalone: false,\r\n})\r\nexport class AppComponent implements OnInit {\r\n @ViewChild('screen', { static: true }) screen: any;\r\n previousUrl: string = null;\r\n currentUrl: string = null;\r\n nextUrl: string = null;\r\n\r\n userActivity: any;\r\n userInactive: Subject<any> = new Subject();\r\n\r\n // decides how long it takes to show the inactivity modal\r\n inactiveTimerInMinutes: number = 5;\r\n // the amount of time (in minute) to determine how long the modal can be open before logging out automatically\r\n minutesToLogoutInModal: number = 1;\r\n tokenRefreshIntervalInMilliSeconds: number = 600000; // milliseconds\r\n tokenRefreshInterval: Observable<number>;\r\n tokenRefreshIntervalSubscription: Subscription;\r\n modalRef: any;\r\n\r\n constructor(\r\n private accountInfoService: AccountInfoService,\r\n public alertsService: AlertsService,\r\n private urlService: UrlService,\r\n private deviceService: DeviceService,\r\n private router: Router,\r\n private modalService: NgbModal,\r\n private userAccountService: UserAccountService,\r\n private sessionInfoService: SessionInfoService,\r\n private utilitiesService: UtilitiesService,\r\n private companyService: CompanyService\r\n ) {}\r\n\r\n ngOnInit() {\r\n // set browser name\r\n this.deviceService.getBrowserName();\r\n this.checkUserInfo();\r\n this.manageSignedOutInOtherTabs();\r\n this.addLoginStatusSubscription();\r\n this.addUserInactiveSubscription();\r\n this.addRouterEventSubscriptions();\r\n this.handleWindowResize();\r\n window.onresize = this.handleWindowResize;\r\n (async () => {\r\n try {\r\n await this.checkVersion();\r\n await lastValueFrom(this.loadCompanyImages());\r\n if (location.hash.indexOf('#') !== -1) {\r\n this.handleLegacyURL(location.hash);\r\n }\r\n } catch (err) {\r\n this.userAccountService.logOutUser();\r\n }\r\n })();\r\n }\r\n\r\n checkVersion = async () => {\r\n const currentVersionNumber: string = await lastValueFrom(this.utilitiesService.getCurrentProjectVersion(1));\r\n\r\n if (packageJson.version.trim() !== currentVersionNumber.trim()) {\r\n // force the browser to refresh\r\n window.location.reload();\r\n }\r\n };\r\n\r\n addRouterEventSubscriptions = () => {\r\n this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event: NavigationEnd) => {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n this.urlService._previousUrl = this.previousUrl;\r\n this.urlService._currentUrl = this.currentUrl;\r\n this.urlService.setPreviousUrl(this.previousUrl);\r\n });\r\n\r\n this.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe((event: NavigationStart) => {\r\n this.nextUrl = event.url;\r\n\r\n this.urlService._nextUrl = this.nextUrl;\r\n this.urlService.setNextUrl(this.nextUrl);\r\n });\r\n };\r\n\r\n addLoginStatusSubscription = () => {\r\n this.userAccountService.subscribeToLoginChanged((loggedIn: boolean) => {\r\n if (loggedIn) {\r\n this.setIdleTimer();\r\n const authInfo: AuthDataModel = this.sessionInfoService.getConstant(SessionKey.AuthInformation, 'object', false);\r\n\r\n if (!this.tokenRefreshInterval && authInfo.isLoggedIn) {\r\n this.tokenRefreshInterval = interval(this.tokenRefreshIntervalInMilliSeconds);\r\n this.tokenRefreshIntervalSubscription = this.tokenRefreshInterval.subscribe({\r\n next: (_) => {\r\n this.updateToken();\r\n },\r\n });\r\n }\r\n } else {\r\n this.tokenRefreshIntervalSubscription?.unsubscribe();\r\n delete this.tokenRefreshInterval;\r\n delete this.tokenRefreshIntervalSubscription;\r\n }\r\n });\r\n };\r\n\r\n addUserInactiveSubscription() {\r\n this.userInactive.subscribe(() => {\r\n if (this.accountInfoService.data.account && this.accountInfoService.data.account.isAuthenticated) {\r\n // open modal\r\n if (!this.modalRef) {\r\n this.modalRef = this.modalService.open(IdleLogoutModalComponent, {\r\n size: 'lg',\r\n centered: true,\r\n });\r\n this.modalRef.componentInstance.minutesToLogout = this.minutesToLogoutInModal;\r\n this.modalRef.dismissed.subscribe({\r\n next: (res) => {\r\n this.modalRef = null;\r\n clearTimeout(this.userActivity);\r\n\r\n this.setIdleTimer();\r\n if (res && res.logout) {\r\n this.userAccountService.logOutUser();\r\n }\r\n\r\n if (res && res.continue) {\r\n this.updateToken();\r\n }\r\n\r\n if (res && res.showCloseModal) {\r\n // close swal\r\n Swal.close();\r\n\r\n this.modalRef = this.modalService.open(IdleLogoutModalComponent, {\r\n size: 'lg',\r\n centered: true,\r\n animation: false,\r\n });\r\n\r\n this.modalRef.componentInstance.minutesToLogout = 0;\r\n this.modalRef.componentInstance.description = 'You were signed out due to inactivity.';\r\n this.modalRef.componentInstance.loggedOut = true;\r\n\r\n this.modalRef.dismissed.subscribe({\r\n next: () => {\r\n delete this.modalRef;\r\n },\r\n });\r\n } else {\r\n delete this.modalRef;\r\n }\r\n },\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n checkUserInfo = () => {\r\n // check if the session contains privateKey. If not, set it\r\n if (!localStorage.getItem(SessionKey.PrivateKey)) localStorage.setItem(SessionKey.PrivateKey, this.utilitiesService.createID(500));\r\n\r\n let authInfo: AuthDataModel = this.sessionInfoService.getConstant(SessionKey.AuthInformation, 'object', false);\r\n const account: AccountInfo = this.sessionInfoService.getConstant(SessionKey.AccountData, 'object', true);\r\n\r\n if (authInfo && authInfo.info && account) {\r\n this.accountInfoService.data = account;\r\n this.accountInfoService.loadUserLoginInfo();\r\n this.userAccountService.broadcastLoginChanged(this.accountInfoService.data.account.isAuthenticated);\r\n }\r\n };\r\n\r\n /**\r\n * Updates the token\r\n */\r\n updateToken = () => {\r\n const authData: AuthDataModel = this.sessionInfoService.getConstant(SessionKey.AuthInformation, 'object', false);\r\n if (authData?.refreshToken && authData?.isLoggedIn) {\r\n const token = `refresh_token=${authData.refreshToken}&grant_type=refresh_token`;\r\n\r\n this.userAccountService.getToken(token).subscribe({\r\n next: (authInfo: AuthDataModel) => {\r\n if (authInfo.accessToken && authInfo.refreshToken) {\r\n authData.accessToken = authInfo.accessToken;\r\n authData.expiresIn = authInfo.expiresIn;\r\n authData.refreshToken = authInfo.refreshToken;\r\n authData.tokenType = authInfo.tokenType;\r\n this.sessionInfoService.setConstant(SessionKey.AuthInformation, authData, true);\r\n }\r\n },\r\n });\r\n }\r\n };\r\n\r\n loadCompanyImages = () => {\r\n return new Observable((subscriber) => {\r\n (async () => {\r\n // let imagePath: string = '/assets/images/';\r\n let imagePath: string = 'assets/images/';\r\n const host = window.location.host;\r\n\r\n if (\r\n this.sessionInfoService.getConstant(SessionKey.CompanyLogo, 'object', false) &&\r\n host === this.sessionInfoService.getConstant(SessionKey.CompanyLogo, 'object', false).host\r\n ) {\r\n this.accountInfoService.logo = this.sessionInfoService.getConstant(SessionKey.CompanyLogo, 'object', false);\r\n subscriber.next();\r\n subscriber.complete();\r\n }\r\n\r\n if (host.includes('localhost')) {\r\n this.accountInfoService.logo = {\r\n headerLogoURL: `${imagePath}degarmoHeaderLogo.png`,\r\n mainLogoURL: `${imagePath}degarmoLogo.png`,\r\n smLogo: `${imagePath}degarmo_logo_sm.png`,\r\n loginText: `Log in here to access DeGarmo's Talent Platform.`,\r\n host: host,\r\n };\r\n this.sessionInfoService.setConstant(SessionKey.CompanyLogo, this.accountInfoService.logo, false);\r\n subscriber.next();\r\n subscriber.complete();\r\n }\r\n\r\n try {\r\n const degarmoHostNames: string[] = ['dashboard.degarmo.com', 'dashboard.dgstaging.com', 'dashboard.degarmotest.com'];\r\n\r\n if (degarmoHostNames.indexOf(host) !== -1 || host.includes('localhost')) {\r\n this.accountInfoService.logo = {\r\n headerLogoURL: `${imagePath}degarmoHeaderLogo.png`,\r\n mainLogoURL: `${imagePath}degarmoLogo.png`,\r\n smLogo: `${imagePath}degarmo_logo_sm.png`,\r\n loginText: `Log in here to access DeGarmo's Talent Platform.`,\r\n host: host,\r\n };\r\n this.sessionInfoService.setConstant(SessionKey.CompanyLogo, this.accountInfoService.logo, false);\r\n subscriber.next();\r\n subscriber.complete();\r\n } else {\r\n this.accountInfoService.logo = await lastValueFrom(this.companyService.getCompanyCustomThemeByDomain(host));\r\n this.sessionInfoService.setConstant(SessionKey.CompanyLogo, this.accountInfoService.logo, false);\r\n subscriber.next();\r\n subscriber.complete();\r\n }\r\n } catch {\r\n this.accountInfoService.logo = {\r\n headerLogoURL: `${imagePath}degarmoHeaderLogo.png`,\r\n mainLogoURL: `${imagePath}degarmoLogo.png`,\r\n smLogo: `${imagePath}degarmo_logo_sm.png`,\r\n loginText: `Log in here to access DeGarmo's Talent Platform.`,\r\n host: host,\r\n };\r\n this.sessionInfoService.setConstant(SessionKey.CompanyLogo, this.accountInfoService.logo, false);\r\n subscriber.next();\r\n subscriber.complete();\r\n }\r\n })();\r\n });\r\n };\r\n\r\n manageSignedOutInOtherTabs = () => {\r\n // detect if the user is logged out in another tab, if so it logs out in all other tabs\r\n window.addEventListener(\r\n 'storage',\r\n (e) => {\r\n const privateKey = localStorage.getItem('privateKey');\r\n\r\n if (privateKey === undefined || privateKey === null) {\r\n this.router.navigate(['/account/login']);\r\n this.alertsService.doneLoading(true);\r\n }\r\n },\r\n false\r\n );\r\n };\r\n\r\n handleWindowResize = () => {\r\n const deviceSize: DeviceSize = {\r\n height: window.innerHeight,\r\n width: window.innerWidth,\r\n };\r\n\r\n this.deviceService.setDeviceSize(deviceSize);\r\n };\r\n\r\n handleLegacyURL = (hash: string) => {\r\n let newPath: string = '';\r\n const url = hash.toLowerCase();\r\n\r\n if (url.indexOf('#/interview/interview-guide/digital/start') !== -1) {\r\n newPath = 'interview-guide-with-params';\r\n } else if (url.indexOf('#/interview/interview-guide/document/start') !== -1) {\r\n newPath = 'interview-data-entry-lookup';\r\n } else if (url.indexOf('#/interview/interview-guide/preview') !== -1) {\r\n newPath = 'interview-guide-with-params/preview';\r\n } else if (url.indexOf('#/interview/interview-guide-download') !== -1) {\r\n newPath = 'interview-guide-download';\r\n } else if (url.indexOf('#/talent/candidate-lookup') !== -1) {\r\n newPath = 'talent/participant/lookup';\r\n } else if (url.indexOf('#/index/password-reset') !== -1) {\r\n newPath = 'account/password-reset';\r\n }\r\n\r\n if (newPath) this.router.navigate([newPath], { queryParams: this.urlService.getUrlParams(hash) });\r\n };\r\n\r\n setIdleTimer = () => {\r\n this.userActivity && clearTimeout(this.userActivity);\r\n this.userActivity = setTimeout(() => {\r\n this.userInactive.next(undefined);\r\n }, this.inactiveTimerInMinutes * 60 * 1000);\r\n };\r\n\r\n @HostListener('click', ['$event'])\r\n @HostListener('keydown', ['$event'])\r\n @HostListener('input', ['$event'])\r\n @HostListener('window:mousemove', ['$event'])\r\n refreshUserStat() {\r\n clearTimeout(this.userActivity);\r\n this.setIdleTimer();\r\n }\r\n}\r\n","<div #screen>\r\n <lib-loading-spinner type=\"ball-atom\"></lib-loading-spinner>\r\n <lib-toastr-notifications></lib-toastr-notifications>\r\n <router-outlet></router-outlet>\r\n</div>\r\n","class TranslateHttpLoader {\n http;\n prefix;\n suffix;\n constructor(http, prefix = \"/assets/i18n/\", suffix = \".json\") {\n this.http = http;\n this.prefix = prefix;\n this.suffix = suffix;\n }\n /**\n * Gets the translations from the server\n */\n getTranslation(lang) {\n return this.http.get(`${this.prefix}${lang}${this.suffix}`);\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { TranslateHttpLoader };\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthDataModel, SessionInfoService } from 'degarmo-lib';\r\nimport { AccountInfoService } from 'degarmo-lib';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n constructor(\r\n private sessionInfoService: SessionInfoService,\r\n private accountInfoService: AccountInfoService\r\n ) {}\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n let url = request.url;\r\n const auth: AuthDataModel = this.sessionInfoService.getAuthenticationInformation();\r\n const impersonating = this.accountInfoService.data.impersonating;\r\n\r\n // Check for impersonation id and includes it if necessary\r\n if (url.indexOf('http') !== -1 && impersonating.isImpersonating) {\r\n if (url.indexOf('{proctor:') !== -1 && impersonating.impersonationType === 'proctor')\r\n url = this.templateReplace(url, '{proctor:', '}', impersonating.impersonatingID);\r\n }\r\n\r\n if (url.indexOf('http') !== -1 && !impersonating.isImpersonating) {\r\n if (url.indexOf('{all:') !== -1) {\r\n url = this.templateReplace(url, '{all:', '}', 0);\r\n }\r\n }\r\n \r\n url = this.templateRemove(url, '{', '}');\r\n\r\n while (url.indexOf('{') > -1) {\r\n url = url.substring(0, url.indexOf('{')) + url.substring(url.indexOf('}')+1);\r\n }\r\n\r\n if (url[url.length - 1] === '/')\r\n url = url.substring(0, url.length - 1);\r\n \r\n if (auth && auth.accessToken && auth.isLoggedIn === true) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${auth.accessToken}`\r\n }\r\n });\r\n }\r\n \r\n if (url !== request.url) {\r\n request = request.clone({\r\n url: url\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n\r\n templateReplace = (target: string, startStr: string, endStr: string, replaceValue: any) => {\r\n let output = target;\r\n let toReplace = '';\r\n let toFullyReplace = '';\r\n let replacedValue = '';\r\n\r\n while (output.indexOf(startStr) > -1) {\r\n const startIndex = output.indexOf(startStr);\r\n toReplace = output.substring(startIndex, output.indexOf(endStr, startIndex) + endStr.length);\r\n replacedValue = toReplace.replace(startStr, '').replace(endStr, '');\r\n if (replacedValue.indexOf('[') > -1) {\r\n toFullyReplace = replacedValue.substring(replacedValue.indexOf('['), replacedValue.indexOf(']') + 1);\r\n replacedValue = replacedValue.replace(toFullyReplace, replaceValue);\r\n }\r\n output = output.replace(toReplace, replacedValue);\r\n }\r\n\r\n return output;\r\n }\r\n\r\n templateRemove = (target: string, startStr: string, endStr: string) => {\r\n let output = target;\r\n\r\n while (output.indexOf(startStr) > -1) {\r\n output = output.replace(output.substring(output.indexOf(startStr), output.indexOf(endStr) + endStr.length), '');\r\n }\r\n\r\n return output;\r\n }\r\n}","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\r\nimport { catchError, filter, switchMap, take } from 'rxjs/operators';\r\nimport { AuthDataModel, UserAccountService, SessionInfoService, AlertsService, SessionKey } from 'degarmo-lib';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private alertsService: AlertsService, private sessionInfoService: SessionInfoService, private userAccountService: UserAccountService) {}\r\n\r\n isRefreshing: boolean = false;\r\n refreshTokenSubject: BehaviorSubject<any> = new BehaviorSubject<any>(null);\r\n TOKEN_HEADER_KEY: string = 'Authorization';\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return next.handle(request).pipe(\r\n catchError((err) => {\r\n if (err.status === 401) {\r\n return this.handle401Error(request, next);\r\n }\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n\r\n handle401Error(request: HttpRequest<any>, next: HttpHandler) {\r\n const authData: AuthDataModel = this.sessionInfoService.getConstant(SessionKey.AuthInformation, 'object', false);\r\n\r\n if (!this.isRefreshing && authData && authData.isLoggedIn) {\r\n this.isRefreshing = true;\r\n this.refreshTokenSubject.next(null);\r\n const token = `refresh_token=${authData.refreshToken}&grant_type=refresh_token`;\r\n\r\n if (token) {\r\n return this.userAccountService.getToken(token).pipe(\r\n switchMap((authInfo: AuthDataModel) => {\r\n this.isRefreshing = false;\r\n authData.accessToken = authInfo.accessToken;\r\n authData.expiresIn = authInfo.expiresIn;\r\n authData.refreshToken = authInfo.refreshToken;\r\n authData.tokenType = authInfo.tokenType;\r\n this.sessionInfoService.setConstant(SessionKey.AuthInformation, authData, false);\r\n this.refreshTokenSubject.next(authData.accessToken);\r\n this.alertsService.doneLoading(true);\r\n return next.handle(this.addTokenHeader(request, authData.accessToken));\r\n }),\r\n catchError((err) => {\r\n if (err.status === 400) {\r\n this.alertsService.error('Please log in again.');\r\n this.userAccountService.logOutUser();\r\n this.alertsService.doneLoading(true);\r\n }\r\n this.isRefreshing = false;\r\n return throwError(err);\r\n })\r\n );\r\n }\r\n } else {\r\n return this.refreshTokenSubject.pipe(\r\n filter((token) => token != null),\r\n take(1),\r\n switchMap((accessToken) => {\r\n return next.handle(this.addTokenHeader(request, accessToken));\r\n })\r\n );\r\n }\r\n }\r\n\r\n addTokenHeader(request: HttpRequest<any>, token: string) {\r\n return request.clone({ headers: request.headers.set(this.TOKEN_HEADER_KEY, `Bearer ${token}`) });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { LibraryConfig } from 'degarmo-lib';\r\nimport { TokenInterceptor } from './interceptors/token.interceptor';\r\nimport { ErrorInterceptor } from './interceptors/error.interceptor';\r\n\r\n@NgModule({ imports: [CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule], providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n provideHttpClient(withInterceptorsFromDi())\r\n ] })\r\nexport class AuthenticationModule {\r\n static forRoot(config: LibraryConfig) {\r\n return {\r\n ngModule: AuthenticationModule,\r\n providers: [{provide: 'config', useValue: config}]\r\n }\r\n }\r\n }\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class NoCacheHeadersInterceptor implements HttpInterceptor {\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const authReq = req.clone({\r\n setHeaders: {\r\n 'Cache-Control': 'no-cache',\r\n Pragma: 'no-chance'\r\n }\r\n });\r\n\r\n return next.handle(authReq);\r\n } \r\n}","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { HTTP_INTERCEPTORS, HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\r\n\r\nimport { NgbNavModule, NgbAccordionModule, NgbTooltipModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { NgxCaptureModule } from 'ngx-capture';\r\n\r\nimport { SharedModule, ComponentCanDeactivateGuard } from 'degarmo-lib';\r\nimport { ExtrapagesModule } from './modules/extrapages/extrapages.module';\r\n\r\nimport { LayoutsModule } from './modules/layouts/layouts.module';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { AuthenticationModule } from './modules/core/authentication/authentication.module';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { NoCacheHeadersInterceptor } from './modules/core/authentication/interceptors/no-cache-headers.interceptor';\r\nimport { InterviewBuilderRulesResolver } from './modules/features/interviews/interview-builder/interview-builder-rules.resolver';\r\nimport { PackageBuilderResolver } from './modules/features/editors/packages/package-builder/package-builder.resolver';\r\n\r\nimport 'froala-editor/js/plugins.pkgd.min.js';\r\nimport { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';\r\n\r\nexport function createTranslateLoader(http: HttpClient): any {\r\n return new TranslateHttpLoader(http, 'assets/i18n/', '.json');\r\n}\r\n\r\n@NgModule({\r\n declarations: [AppComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n bootstrap: [AppComponent],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: createTranslateLoader,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n AuthenticationModule,\r\n LayoutsModule,\r\n AppRoutingModule,\r\n ExtrapagesModule,\r\n CarouselModule,\r\n ToastrModule.forRoot({\r\n preventDuplicates: true,\r\n timeOut: 7000,\r\n positionClass: 'toast-top-full-width',\r\n }),\r\n NgxEchartsModule.forRoot({\r\n echarts: () => import('echarts'),\r\n }),\r\n NgxSpinnerModule,\r\n NgbAccordionModule,\r\n NgbNavModule,\r\n NgbTooltipModule,\r\n SharedModule,\r\n NgbModule,\r\n FroalaEditorModule.forRoot(),\r\n FroalaViewModule.forRoot(),\r\n NgxCaptureModule,\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: NoCacheHeadersInterceptor, multi: true },\r\n InterviewBuilderRulesResolver,\r\n PackageBuilderResolver,\r\n ComponentCanDeactivateGuard,\r\n provideHttpClient(withInterceptorsFromDi()),\r\n ],\r\n})\r\nexport class AppModule {}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic()\r\n .bootstrapModule(AppModule)\r\n .catch((_) => {});\r\n"],"mappings":"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ACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,OAAO;AAAA,YACP,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,CAAC;AAAA,QACH,GAAG;AAAA,UACD,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,WAAW,CAAC;AAAA,YACV,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,CAAC;AAAA,QACH,GAAG;AAAA,UACD,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,WAAW,CAAC;AAAA,YACV,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,CAAC;AAAA,QACH,GAAG;AAAA,UACD,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,WAAW,CAAC;AAAA,YACV,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,CAAC;AAAA,QACH,GAAG;AAAA,UACD,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,WAAW,CAAC;AAAA,YACV,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,CAAC;AAAA,QACH,GAAG;AAAA,UACD,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,WAAW,CAAC;AAAA,YACV,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,CAAC;AAAA,QACH,GAAG;AAAA,UACD,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,WAAW,CAAC;AAAA,YACV,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,CAAC;AAAA,QACH,GAAG;AAAA,UACD,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,MAAM;AAAA,UACN,WAAW,CAAC;AAAA,YACV,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,UACR,GAAG;AAAA,YACD,MAAM;AAAA,YACN,MAAM;A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AAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,CAAC;AAAA,QACH,GAAG;AAAA,UACD,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,MAAM,CAAC;AAAA,YACL,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,CAAC;AAAA,QACH,GAAG;AAAA,UACD,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,MAAM,CAAC;AAAA,YACL,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,Y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ACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,UACR,GAAG;AAAA,YACD,QAAQ;AAAA,YACR,MAAM;AAAA,U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","names":["a","n","r","e","i","o","s","l","t","c","d","f","p","u","g","h","v","m","b","E","y","L","x","I","O","J","$e","Se","T","k","_","w","A","S","C","R","F","M","N","D","P","B","U","$","H","z","K","W","G","V","Y","j","q","X","Z","Q","ee","te","ae","ne","re","ie","oe","se","le","ce","de","fe","pe","ue","ge","he","me","ve","event","map","LINE_START","style","styleMetadata","ast","element","value","player","index","i","map","style","event","delegate","fn","data","routes","event","Swal"],"x_google_ignoreList":[0,1,2,34]}